diff --git a/.gitignore b/.gitignore
index 911da19..85decd5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,6 +4,8 @@
 *.bak
 *.swp
 *.tar.*
+.tx
+docs/sphinxdocs/_build
 .project
 .pydevproject
 asthelper.completions
diff --git a/Makefile b/Makefile
index 740b616..9389aa8 100644
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,4 @@
-SUBDIRS = rpmUtils yum etc docs po
+SUBDIRS = rpmUtils yum yum-cron etc docs po
 PYFILES = $(wildcard *.py)
 PYLINT_MODULES =  *.py yum rpmUtils
 PYLINT_IGNORE = oldUtils.py
@@ -26,8 +26,9 @@ install:
 	for p in $(PYFILES) ; do \
 		install -m 644 $$p $(DESTDIR)/usr/share/yum-cli/$$p; \
 	done
+	chmod 755 $(DESTDIR)/usr/share/yum-cli/completion-helper.py
 	mv $(DESTDIR)/usr/share/yum-cli/yum-updatesd.py $(DESTDIR)/usr/share/yum-cli/yumupd.py
-	$(PYTHON) -c "import compileall; compileall.compile_dir('$(DESTDIR)/usr/share/yum-cli', 1, '$(PYDIR)', 1)"
+	$(PYTHON) -c "import compileall; compileall.compile_dir('$(DESTDIR)/usr/share/yum-cli', 1, '/usr/share/yum-cli', 1)"
 
 	mkdir -p $(DESTDIR)/usr/bin $(DESTDIR)/usr/sbin
 	install -m 755 bin/yum.py $(DESTDIR)/usr/bin/yum
@@ -36,7 +37,26 @@ install:
 	mkdir -p $(DESTDIR)/var/cache/yum
 	mkdir -p $(DESTDIR)/var/lib/yum
 
-	for d in $(SUBDIRS); do make PYTHON=$(PYTHON) DESTDIR=`cd $(DESTDIR); pwd` -C $$d install; [ $$? = 0 ] || exit 1; done
+	for d in $(SUBDIRS); do make PYTHON=$(PYTHON) DESTDIR=`cd $(DESTDIR); pwd` UNITDIR=$(UNITDIR) INIT=$(INIT) -C $$d install; [ $$? = 0 ] || exit 1; done
+
+apidocs:
+	make -C docs/sphinxdocs html
+	echo "Docs are in: docs/sphinxdocs/_build/html/*"
+
+transifex-pull:
+	tx pull -a -f
+	@echo "You can now git commit -a -m 'Transifex pull, *.po update'"
+
+transifex-push:
+	make -C po yum.pot
+	tx push -s -t
+	@echo "You can now git commit -a -m 'Transifex push, yum.pot update'"
+
+transifex:
+	make transifex-pull
+	git commit -a -m 'Transefex pull, *.po update'
+	make transifex-push
+	git commit -a -m 'Transifex push, yum.pot update'
 
 .PHONY: docs test
 
@@ -63,7 +83,6 @@ doccheck:
 
 test:
 	@nosetests -i ".*test" test
-	-@test/check-po-yes-no.py
 	cd po; make test
 
 test-skipbroken:
diff --git a/callback.py b/callback.py
index 2f6154e..2e5a052 100644
--- a/callback.py
+++ b/callback.py
@@ -27,10 +27,7 @@ from yum.constants import *
 
 
 class RPMInstallCallback:
-
-    """
-    Yum command line callback class for callbacks from the RPM library.
-    """
+    """Yum command line callback class for callbacks from the RPM library."""
 
     def __init__(self, output=1):
         self.output = output
@@ -105,6 +102,21 @@ class RPMInstallCallback:
         return pkg
 
     def callback(self, what, bytes, total, h, user):
+        """Handle callbacks from the RPM library.
+
+        :param what: number identifying the type of callback
+        :param bytes: the number of bytes associated with the
+           callback; the exact meaning depends on the type of 
+           the callback.  For example, for a RPMCALLBACK_INST_PROGRESS
+           callback, bytes will represent the current amount of work done
+        :param total: the total amount of work associated with the
+           callback; the exact meaning depends on the type of the
+           callback. For example, *total* may represent the total
+           number of transactions in a transaction set
+        :param h: a package object or string identifying the package
+           involved in the callback
+        :param user: unused
+        """
         if what == rpm.RPMCALLBACK_TRANS_START:
             if bytes == 6:
                 self.total_actions = total
diff --git a/cli.py b/cli.py
old mode 100644
new mode 100755
index 6056d38..aa73278
--- a/cli.py
+++ b/cli.py
@@ -25,7 +25,7 @@ import sys
 import time
 import random
 import logging
-from optparse import OptionParser,OptionGroup
+from optparse import OptionParser,OptionGroup,SUPPRESS_HELP
 import rpm
 
 from weakref import proxy as weakref
@@ -43,31 +43,34 @@ from yum.rpmtrans import RPMTransaction
 import signal
 import yumcommands
 
-from yum.i18n import to_unicode, to_utf8
+from yum.i18n import to_unicode, to_utf8, exception2msg
 
 #  This is for yum-utils/yumdownloader in RHEL-5, where it isn't importing this
 # directly but did do "from cli import *", and we did have this in 3.2.22. I
 # just _love_ how python re-exports these by default.
+# pylint: disable-msg=W0611
 from yum.packages import parsePackages
+# pylint: enable-msg=W0611
 
 def sigquit(signum, frame):
-    """ SIGQUIT handler for the yum cli. """
+    """SIGQUIT handler for the yum cli.  This function will print an
+    error message and exit the program.
+    
+    :param signum: unused
+    :param frame: unused
+    """
     print >> sys.stderr, "Quit signal sent - exiting immediately"
     sys.exit(1)
 
 class CliError(yum.Errors.YumBaseError):
-
-    """
-    Command line interface related Exception.
-    """
+    """Command line interface related Exception."""
 
     def __init__(self, args=''):
         yum.Errors.YumBaseError.__init__(self)
         self.args = args
 
 class YumBaseCli(yum.YumBase, output.YumOutput):
-    """This is the base class for yum cli.
-       Inherits from yum.YumBase and output.YumOutput """
+    """This is the base class for yum cli."""
        
     def __init__(self):
         # handle sigquit early on
@@ -84,6 +87,7 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
         self.registerCommand(yumcommands.InfoCommand())
         self.registerCommand(yumcommands.ListCommand())
         self.registerCommand(yumcommands.EraseCommand())
+        self.registerCommand(yumcommands.AutoremoveCommand())
         self.registerCommand(yumcommands.GroupsCommand())
         self.registerCommand(yumcommands.MakeCacheCommand())
         self.registerCommand(yumcommands.CleanCommand())
@@ -104,17 +108,32 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
         self.registerCommand(yumcommands.CheckRpmdbCommand())
         self.registerCommand(yumcommands.DistroSyncCommand())
         self.registerCommand(yumcommands.LoadTransactionCommand())
+        self.registerCommand(yumcommands.SwapCommand())
+        self.registerCommand(yumcommands.RepoPkgsCommand())
+        self.registerCommand(yumcommands.UpdateinfoCommand())
+        self.registerCommand(yumcommands.UpdateMinimalCommand())
+        self.registerCommand(yumcommands.FSSnapshotCommand())
+        self.registerCommand(yumcommands.FSCommand())
 
     def registerCommand(self, command):
+        """Register a :class:`yumcommands.YumCommand` so that it can be called by
+        any of the names returned by its
+        :func:`yumcommands.YumCommand.getNames` method.
+        
+        :param command: the :class:`yumcommands.YumCommand` to register
+        """
         for name in command.getNames():
             if name in self.yum_cli_commands:
                 raise yum.Errors.ConfigError(_('Command "%s" already defined') % name)
             self.yum_cli_commands[name] = command
             
     def doRepoSetup(self, thisrepo=None, dosack=1):
-        """grabs the repomd.xml for each enabled repository 
-           and sets up the basics of the repository"""
-        
+        """Grab the repomd.xml for each enabled and set up the basics
+        of the repository.
+
+        :param thisrepo: the repository to set up
+        :param dosack: whether to get the repo sack
+        """
         if self._repos and thisrepo is None:
             return self._repos
             
@@ -163,9 +182,19 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
         mainopts = yum.misc.GenericHolder()
         mainopts.items = []
 
+        bad_setopt_tm = []
+        bad_setopt_ne = []
+
         for item in setopts:
-            k,v = item.split('=')
-            period = k.find('.') 
+            vals = item.split('=')
+            if len(vals) > 2:
+                bad_setopt_tm.append(item)
+                continue
+            if len(vals) < 2:
+                bad_setopt_ne.append(item)
+                continue
+            k, v = [i.strip() for i in vals]
+            period = k.rfind('.')
             if period != -1:
                 repo = k[:period]
                 k = k[period+1:]
@@ -180,13 +209,15 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
         
         self.main_setopts = mainopts
         self.repo_setopts = repoopts
-        
+
+        return bad_setopt_tm, bad_setopt_ne
         
     def getOptionsConfig(self, args):
-        """parses command line arguments, takes cli args:
-        sets up self.conf and self.cmds as well as logger objects 
-        in base instance"""
-       
+        """Parse command line arguments, and set up :attr:`self.conf` and
+        :attr:`self.cmds`, as well as logger objects in base instance.
+
+        :param args: a list of command line arguments
+        """
         self.optparser = YumOptionParser(base=self, usage=self._makeUsage())
         
         # Parse only command line options that affect basic yum setup
@@ -199,7 +230,7 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
             opts.verbose = False
 
         # go through all the setopts and set the global ones
-        self._parseSetOpts(opts.setopts)
+        bad_setopt_tm, bad_setopt_ne = self._parseSetOpts(opts.setopts)
         
         if self.main_setopts:
             for opt in self.main_setopts.items:
@@ -229,6 +260,12 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
             pc.releasever = opts.releasever
             self.conf
             
+            for item in  bad_setopt_tm:
+                msg = "Setopt argument has multiple values: %s"
+                self.logger.warning(msg % item)
+            for item in  bad_setopt_ne:
+                msg = "Setopt argument has no value: %s"
+                self.logger.warning(msg % item)
             # now set  all the non-first-start opts from main from our setopts
             if self.main_setopts:
                 for opt in self.main_setopts.items:
@@ -238,10 +275,14 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
                     setattr(self.conf, opt, getattr(self.main_setopts, opt))
 
         except yum.Errors.ConfigError, e:
-            self.logger.critical(_('Config Error: %s'), e)
+            self.logger.critical(_('Config error: %s'), e)
+            sys.exit(1)
+        except IOError, e:
+            e = '%s: %s' % (to_unicode(e.args[1]), repr(e.filename))
+            self.logger.critical(_('Config error: %s'), e)
             sys.exit(1)
         except ValueError, e:
-            self.logger.critical(_('Options Error: %s'), e)
+            self.logger.critical(_('Options error: %s'), e)
             sys.exit(1)
 
         # update usage in case plugins have added commands
@@ -263,11 +304,11 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
         if opts.verbose:
             opts.debuglevel = opts.errorlevel = 6
         if opts.debuglevel != pc.debuglevel or opts.errorlevel != pc.errorlevel:
-            self.logger.warning("Ignored option -q, -v, -d or -e (probably due to merging: -yq != -y -q)")
+            self.logger.warning(_("Ignored option -q, -v, -d or -e (probably due to merging: -yq != -y -q)"))
         #  getRoot() changes it, but then setupYumConfig() changes it back. So
         # don't test for this, if we are using --installroot.
         if root == '/' and opts.conffile != pc.fn:
-            self.logger.warning("Ignored option -c (probably due to merging -yc != -y -c)")
+            self.logger.warning(_("Ignored option -c (probably due to merging -yc != -y -c)"))
 
         if opts.version:
             self.conf.cache = 1
@@ -290,9 +331,9 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
                                    self.term.MODE['normal'])
                 print _("  Installed: %s-%s at %s") %(name, ver,
                                                    sm_ui_time(pkg.installtime))
-                print _("  Built    : %s at %s") % (pkg.packager,
+                print _("  Built    : %s at %s") % (to_unicode(pkg.packager),
                                                     sm_ui_time(pkg.buildtime))
-                print _("  Committed: %s at %s") % (pkg.committer,
+                print _("  Committed: %s at %s") % (to_unicode(pkg.committer),
                                                     sm_ui_date(pkg.committime))
             sys.exit(0)
 
@@ -318,10 +359,12 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
         time.sleep(sleeptime)
         
     def parseCommands(self):
-        """reads self.cmds and parses them out to make sure that the requested 
-        base command + argument makes any sense at all""" 
-
-        self.verbose_logger.debug('Yum Version: %s', yum.__version__)
+        """Read :attr:`self.cmds` and parse them out to make sure that
+        the requested base command and argument makes any sense at
+        all.  This function will also set :attr:`self.basecmd` and
+        :attr:`self.extcmds`.
+        """
+        self.verbose_logger.debug('Yum version: %s', yum.__version__)
         self.verbose_logger.log(yum.logginglevels.DEBUG_4,
                                 'COMMAND: %s', self.cmdstring)
         self.verbose_logger.log(yum.logginglevels.DEBUG_4,
@@ -349,8 +392,57 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
                                   self.basecmd, sys.argv[0])
             raise CliError
     
+        self._set_repos_cache_req()
+
         self.yum_cli_commands[self.basecmd].doCheck(self, self.basecmd, self.extcmds)
 
+    def _set_repos_cache_req(self, warning=True):
+        """ Set the cacheReq attribute from the commands to the repos. """
+
+        cmd = self.yum_cli_commands[self.basecmd]
+        cacheReq = 'write'
+        if hasattr(cmd, 'cacheRequirement'):
+            cacheReq = cmd.cacheRequirement(self, self.basecmd, self.extcmds)
+
+        #  The main thing we want to do here is that if the user has done a
+        # "yum makecache fast" or has yum-cron running or something, then try
+        # not to update the repo. caches ... thus. not turning 0.5s ops. into
+        # 100x longer ops.
+        #  However if the repos. are not in sync. that's probably not going to
+        # work well (Eg. user enables updates-testing). Also give a warning if
+        # they are _really_ old.
+        ts_min = None
+        ts_max = None
+        for repo in self.repos.listEnabled():
+            try: rts = os.stat(repo.metadata_cookie).st_mtime
+            except (yum.Errors.RepoError, OSError):
+                ts_min = None
+                break
+
+            if not ts_min:
+                ts_min = rts
+                ts_max = rts
+            elif rts > ts_max:
+                ts_max = rts
+            elif rts < ts_min:
+                ts_min = rts
+
+        if ts_min:
+            #  If caches are within 5 days of each other, they are ok to work
+            # together (lol, random numbers)...
+            if (ts_max - ts_min) > (60 * 60 * 24 * 5):
+                ts_min = None
+            elif ts_max > time.time():
+                ts_min = None
+
+        if not ts_min:
+            cacheReq = 'write'
+        elif warning and (time.time() - ts_max) > (60 * 60 * 24 * 14):
+            self.logger.warning(_("Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast"))
+
+        for repo in self.repos.sort():
+            repo._metadata_cache_req = cacheReq
+
     def _shell_history_write(self):
         if not hasattr(self, '_shell_history_cmds'):
             return
@@ -365,7 +457,11 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
         self.history.write_addon_data('shell-cmds', data)
 
     def doShell(self):
-        """do a shell-like interface for yum commands"""
+        """Run a shell-like interface for yum commands.
+
+        :return: a tuple containing the shell result number, and the
+           shell result messages
+        """
 
         yumshell = shell.YumShell(base=self)
 
@@ -382,8 +478,12 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
         return yumshell.result, yumshell.resultmsgs
 
     def errorSummary(self, errstring):
-        """ parse the error string for 'interesting' errors which can
-            be grouped, such as disk space issues """
+        """Parse the error string for 'interesting' errors which can
+        be grouped, such as disk space issues.
+
+        :param errstring: the error string
+        :return: a string containing a summary of the errors
+        """
         summary = ''
         # do disk space report first
         p = re.compile('needs (\d+)MB on the (\S+) filesystem')
@@ -407,17 +507,45 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
         return summary
 
 
-    def doCommands(self):
-        """
-        Calls the base command passes the extended commands/args out to be
-        parsed (most notably package globs).
-        
-        Returns a numeric result code and an optional string
-           - 0 = we're done, exit
-           - 1 = we've errored, exit with error string
-           - 2 = we've got work yet to do, onto the next stage
+    def waitForLock(self):
+        """Establish the yum lock.  If another process is already
+        holding the yum lock, by default this method will keep trying
+        to establish the lock until it is successful.  However, if
+        :attr:`self.conf.exit_on_lock` is set to True, it will
+        raise a :class:`Errors.YumBaseError`.
         """
-        
+        lockerr = ""
+        while True:
+            try:
+                self.doLock()
+            except yum.Errors.LockError, e:
+                if exception2msg(e) != lockerr:
+                    lockerr = exception2msg(e)
+                    self.logger.critical(lockerr)
+                if e.errno:
+                    raise yum.Errors.YumBaseError, _("Can't create lock file; exiting")
+                if not self.conf.exit_on_lock:
+                    self.logger.critical("Another app is currently holding the yum lock; waiting for it to exit...")
+                    import utils
+                    utils.show_lock_owner(e.pid, self.logger)
+                    time.sleep(2)
+                else:
+                    raise yum.Errors.YumBaseError, _("Another app is currently holding the yum lock; exiting as configured by exit_on_lock")
+            else:
+                break
+
+    def doCommands(self):
+        """Call the base command, and pass it the extended commands or
+           arguments.
+
+        :return: (exit_code, [ errors ])
+
+        exit_code is::
+
+            0 = we're done, exit
+            1 = we've errored, exit with error string
+            2 = we've got work yet to do, onto the next stage
+        """       
         # at this point we know the args are valid - we don't know their meaning
         # but we know we're not being sent garbage
         
@@ -435,14 +563,37 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
             try:
                 self._getTs(needTsRemove)
             except yum.Errors.YumBaseError, e:
-                return 1, [str(e)]
+                return 1, [exception2msg(e)]
+
+        #  This should already have been done at doCheck() time, but just in
+        # case repos. got added or something do it again.
+        self._set_repos_cache_req(warning=False)
 
         return self.yum_cli_commands[self.basecmd].doCommand(self, self.basecmd, self.extcmds)
 
     def doTransaction(self):
-        """takes care of package downloading, checking, user confirmation and actually
-           RUNNING the transaction"""
-    
+        """Take care of package downloading, checking, user
+        confirmation and actually running the transaction.
+
+        :return: a numeric return code, and optionally a list of
+           errors.  A negative return code indicates that errors
+           occurred in the pre-transaction checks
+        """
+        def _downloadonly_userconfirm(self):
+            #  Note that we shouldn't just remove the 'd' option, or the options
+            # yum accepts will be different which is bad. So always accept it,
+            # but change the prompt.
+            dl_only = {'downloadonly' :
+                             (u'd', _('d'), _('download'),
+                              _('downloadonly'))}
+            if not stuff_to_download:
+                ret = self.userconfirm(extra=dl_only)
+                if ret == 'downloadonly':
+                    ret = None
+                return ret
+            return self.userconfirm(prompt=_('Is this ok [y/d/N]: '),
+                                    extra=dl_only)
+
         # just make sure there's not, well, nothing to do
         if len(self.tsInfo) == 0:
             self.verbose_logger.info(_('Trying to run the transaction but nothing to do. Exiting.'))
@@ -453,7 +604,7 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
         lsts = self.listTransaction()
         if self.verbose_logger.isEnabledFor(yum.logginglevels.INFO_1):
             self.verbose_logger.log(yum.logginglevels.INFO_1, lsts)
-        elif not self.conf.assumeyes:
+        elif self.conf.assumeno or not self.conf.assumeyes:
             #  If we are in quiet, and assumeyes isn't on we want to output
             # at least the transaction list anyway.
             self.logger.warn(lsts)
@@ -463,7 +614,6 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
         rmpkgs = []
         stuff_to_download = False
         install_only = True
-        remove_only  = True
         for txmbr in self.tsInfo.getMembers():
             if txmbr.ts_state not in ('i', 'u'):
                 install_only = False
@@ -471,7 +621,6 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
                 if po:
                     rmpkgs.append(po)
             else:
-                remove_only = False
                 stuff_to_download = True
                 po = txmbr.po
                 if po:
@@ -489,19 +638,40 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
         else:
             self.reportDownloadSize(downloadpkgs, install_only)
         
+        cfr = self.tsInfo._check_future_rpmdbv
+        if (cfr is not None and
+            self.tsInfo.futureRpmDBVersion() != cfr[1]):
+            msg = _("future rpmdb ver mismatched saved transaction version,")
+            if cfr[2]:
+                msg += _(" ignoring, as requested.")
+                self.logger.critical(_(msg))
+            else:
+                msg += _(" aborting.")
+                raise yum.Errors.YumBaseError(msg)
+
         # confirm with user
         if self._promptWanted():
-            if not self.userconfirm():
-                self.verbose_logger.info(_('Exiting on user Command'))
+            uc = None
+            if not self.conf.assumeno:
+                uc = _downloadonly_userconfirm(self)
+
+            if not uc:
+                self.verbose_logger.info(_('Exiting on user command'))
                 return -1
+            elif uc == 'downloadonly':
+                self.conf.downloadonly = True
 
-        self.verbose_logger.log(yum.logginglevels.INFO_2,
-            _('Downloading Packages:'))
+        if self.conf.downloadonly:
+            self.verbose_logger.log(yum.logginglevels.INFO_2,
+                                    _('Background downloading packages, then exiting:'))
+        else:
+            self.verbose_logger.log(yum.logginglevels.INFO_2,
+                                    _('Downloading packages:'))
         problems = self.downloadPkgs(downloadpkgs, callback_total=self.download_callback_total_cb) 
 
         if len(problems) > 0:
             errstring = ''
-            errstring += _('Error Downloading Packages:\n')
+            errstring += _('Error downloading packages:\n')
             for key in problems:
                 errors = yum.misc.unique(problems[key])
                 for error in errors:
@@ -520,8 +690,9 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
 
         rcd_st = time.time()
         self.verbose_logger.log(yum.logginglevels.INFO_2, 
-             _('Running Transaction Check'))
+             _('Running transaction check'))
         msgs = self._run_rpm_check()
+        depsolve = False
         if msgs:
             rpmlib_only = True
             for msg in msgs:
@@ -532,21 +703,23 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
                 print _("ERROR You need to update rpm to handle:")
             else:
                 print _('ERROR with transaction check vs depsolve:')
+                depsolve = True
 
             for msg in msgs:
                 print to_utf8(msg)
 
             if rpmlib_only:
                 return 1, [_('RPM needs to be updated')]
-            return 1, [_('Please report this error in %s') % self.conf.bugtracker_url]
+            if depsolve:
+                return 1, []
+            else:
+                return 1, [_('Please report this error in %s') % self.conf.bugtracker_url]
 
-        self.verbose_logger.debug('Transaction Check time: %0.3f' % (time.time() - rcd_st))
+        self.verbose_logger.debug('Transaction check time: %0.3f' % (time.time() - rcd_st))
 
         tt_st = time.time()            
         self.verbose_logger.log(yum.logginglevels.INFO_2,
-            _('Running Transaction Test'))
-        if not self.conf.diskspacecheck:
-            self.tsInfo.probFilterFlags.append(rpm.RPMPROB_FILTER_DISKSPACE)
+            _('Running transaction test'))
             
         self.ts.order() # order the transaction
         self.ts.clean() # release memory not needed beyond this point
@@ -556,16 +729,16 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
         del testcb
 
         if len(tserrors) > 0:
-            errstring = _('Transaction Check Error:\n')
+            errstring = _('Transaction check error:\n')
             for descr in tserrors:
                 errstring += '  %s\n' % to_unicode(descr)
             
             raise yum.Errors.YumBaseError, errstring + '\n' + \
                  self.errorSummary(errstring)
         self.verbose_logger.log(yum.logginglevels.INFO_2,
-             _('Transaction Test Succeeded'))
+             _('Transaction test succeeded'))
         
-        self.verbose_logger.debug('Transaction Test time: %0.3f' % (time.time() - tt_st))
+        self.verbose_logger.debug('Transaction test time: %0.3f' % (time.time() - tt_st))
         
         # unset the sigquit handler
         signal.signal(signal.SIGQUIT, signal.SIG_DFL)
@@ -595,7 +768,7 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
         if self.conf.debuglevel < 2:
             cb.display.output = False
 
-        self.verbose_logger.log(yum.logginglevels.INFO_2, _('Running Transaction'))
+        self.verbose_logger.log(yum.logginglevels.INFO_2, _('Running transaction'))
         resultobject = self.runTransaction(cb=cb)
 
         self.verbose_logger.debug('Transaction time: %0.3f' % (time.time() - ts_st))
@@ -609,12 +782,14 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
         return resultobject.return_code
         
     def gpgsigcheck(self, pkgs):
-        '''Perform GPG signature verification on the given packages, installing
-        keys if possible
+        """Perform GPG signature verification on the given packages,
+        installing keys if possible.
 
-        Returns non-zero if execution should stop (user abort).
-        Will raise YumBaseError if there's a problem
-        '''
+        :param pkgs: a list of package objects to verify the GPG
+           signatures of
+        :return: non-zero if execution should stop due to an error
+        :raises: Will raise :class:`YumBaseError` if there's a problem
+        """
         for po in pkgs:
             result, errmsg = self.sigCheckPkg(po)
 
@@ -623,7 +798,8 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
                 continue            
 
             elif result == 1:
-                if not sys.stdin.isatty() and not self.conf.assumeyes:
+                ay = self.conf.assumeyes and not self.conf.assumeno
+                if not sys.stdin.isatty() and not ay:
                     raise yum.Errors.YumBaseError, \
                             _('Refusing to automatically import keys when running ' \
                             'unattended.\nUse "-y" to override.')
@@ -691,12 +867,62 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
                                      ", ".join(matches))
             self.verbose_logger.log(yum.logginglevels.INFO_2, msg)
 
-    def installPkgs(self, userlist):
-        """Attempts to take the user specified list of packages/wildcards
-           and install them, or if they are installed, update them to a newer
-           version. If a complete version number if specified, attempt to 
-           upgrade (or downgrade if they have been removed) them to the
-           specified version"""
+    def _install_upgraded_requires(self, txmbrs):
+        """Go through the given txmbrs, and for any to be installed packages
+        look for their installed deps. and try to upgrade them, if the
+        configuration is set. Returning any new transaction members to be
+        isntalled.
+
+        :param txmbrs: a list of :class:`yum.transactioninfo.TransactionMember` objects
+        :return: a list of :class:`yum.transactioninfo.TransactionMember` objects
+        """
+
+        if not self.conf.upgrade_requirements_on_install:
+            return []
+
+        ret = []
+        done = set()
+        def _pkg2ups(pkg, reqpo=None):
+            if pkg.name in done:
+                return []
+            if reqpo is None:
+                reqpo = pkg
+
+            done.add(pkg.name)
+
+            uret = []
+            for req in pkg.requires:
+                for npkg in self.returnInstalledPackagesByDep(req):
+                    if npkg.name in done:
+                        continue
+                    uret += self.update(name=npkg.name, requiringPo=reqpo)
+                    uret += _pkg2ups(npkg, reqpo=reqpo)
+            return uret
+
+        for txmbr in txmbrs:
+            for rtxmbr, T in txmbr.relatedto:
+                ret += _pkg2ups(rtxmbr)
+            ret += _pkg2ups(txmbr.po)
+
+        return ret
+
+    def installPkgs(self, userlist, basecmd='install', repoid=None):
+        """Attempt to take the user specified list of packages or
+        wildcards and install them, or if they are installed, update
+        them to a newer version. If a complete version number is
+        specified, attempt to upgrade (or downgrade if they have been
+        removed) them to the specified version.
+
+        :param userlist: a list of names or wildcards specifying
+           packages to install
+        :return: (exit_code, [ errors ])
+
+        exit_code is::
+
+            0 = we're done, exit
+            1 = we've errored, exit with error string
+            2 = we've got work yet to do, onto the next stage
+        """
         # get the list of available packages
         # iterate over the user's list
         # add packages to Transaction holding class if they match.
@@ -710,11 +936,38 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
         for arg in userlist:
             if (arg.endswith('.rpm') and (yum.misc.re_remote_url(arg) or
                                           os.path.exists(arg))):
-                self.localInstall(filelist=[arg])
+                txmbrs = self.installLocal(arg)
+                self._install_upgraded_requires(txmbrs)
                 continue # it was something on disk and it ended in rpm 
                          # no matter what we don't go looking at repos
             try:
-                self.install(pattern=arg)
+                if False: pass
+                elif basecmd == 'install-n':
+                    txmbrs = self.install(name=arg)
+                elif basecmd == 'install-na':
+                    try:
+                        n,a = arg.rsplit('.', 1)
+                    except:
+                        self.verbose_logger.warning(_('Bad %s argument %s.'),
+                                                    basecmd, arg)
+                        continue
+                    txmbrs = self.install(name=n, arch=a)
+                elif basecmd == 'install-nevra':
+                    try:
+                        nevr,a = arg.rsplit('.', 1)
+                        n,ev,r = nevr.rsplit('-', 2)
+                        e,v    = ev.split(':', 1)
+                    except:
+                        self.verbose_logger.warning(_('Bad %s argument %s.'),
+                                                    basecmd, arg)
+                        continue
+                    txmbrs = self.install(name=n,
+                                          epoch=e, version=v, release=r, arch=a)
+                else:
+                    assert basecmd == 'install', basecmd
+                    txmbrs = self.install(pattern=arg)
+            except yum.Errors.GroupInstallError, e:
+                self.verbose_logger.log(yum.logginglevels.INFO_2, e)
             except yum.Errors.InstallError:
                 self.verbose_logger.log(yum.logginglevels.INFO_2,
                                         _('No package %s%s%s available.'),
@@ -723,6 +976,7 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
                 self._maybeYouMeant(arg)
             else:
                 done = True
+                self._install_upgraded_requires(txmbrs)
         if len(self.tsInfo) > oldcount:
             change = len(self.tsInfo) - oldcount
             return 2, [P_('%d package to install', '%d packages to install', change) % change]
@@ -732,9 +986,27 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
         return 0, [_('Nothing to do')]
         
     def updatePkgs(self, userlist, quiet=0, update_to=False):
-        """take user commands and populate transaction wrapper with 
-           packages to be updated"""
-        
+        """Take user commands and populate transaction wrapper with
+        packages to be updated.
+
+        :param userlist: a list of names or wildcards specifying
+           packages to update.  If *userlist* is an empty list, yum
+           will perform a global update
+        :param quiet: unused
+        :param update_to: if *update_to* is True, the update will only
+           be run if it will update the given package to the given
+           version.  For example, if the package foo-1-2 is installed,
+           updatePkgs(["foo-1-2], update_to=False) will work
+           identically to updatePkgs(["foo"]), but
+           updatePkgs(["foo-1-2"], update_to=True) will do nothing
+        :return: (exit_code, [ errors ])
+
+        exit_code is::
+
+            0 = we're done, exit
+            1 = we've errored, exit with error string
+            2 = we've got work yet to do, onto the next stage
+        """
         # if there is no userlist, then do global update below
         # this is probably 90% of the calls
         # if there is a userlist then it's for updating pkgs, not obsoleting
@@ -745,34 +1017,46 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
 
         else:
             # go through the userlist - look for items that are local rpms. If we find them
-            # pass them off to localInstall() and then move on
-            localupdates = []
+            # pass them off to installLocal() and then move on
             for item in userlist:
                 if (item.endswith('.rpm') and (yum.misc.re_remote_url(item) or
                                                os.path.exists(item))):
-                    localupdates.append(item)
-            
-            if len(localupdates) > 0:
-                self.localInstall(filelist=localupdates, updateonly=1)
-                for item in localupdates:
-                    userlist.remove(item)
-                
-            for arg in userlist:
-                if not self.update(pattern=arg, update_to=update_to):
-                    self._checkMaybeYouMeant(arg)
+                    txmbrs = self.installLocal(item, updateonly=1)
+                    self._install_upgraded_requires(txmbrs)
+                    continue
+
+                txmbrs = self.update(pattern=item, update_to=update_to)
+                self._install_upgraded_requires(txmbrs)
+                if not txmbrs:
+                    self._checkMaybeYouMeant(item)
 
         if len(self.tsInfo) > oldcount:
             change = len(self.tsInfo) - oldcount
-            return 2, [P_('%d package marked for Update', '%d packages marked for Update', change) % change]
+            return 2, [P_('%d package marked for update', '%d packages marked for update', change) % change]
         else:
-            return 0, [_('No Packages marked for Update')]
+            return 0, [_('No packages marked for update')]
 
     #  Note that we aren't in __init__ yet for a couple of reasons, but we 
     # probably will get there for 3.2.28.
     def distroSyncPkgs(self, userlist):
-        """ This does either upgrade/downgrade, depending on if the latest
-            installed version is older or newer. We allow "selection" but not
-            local packages (use tmprepo, or something). """
+        """Upgrade or downgrade packages to match the latest versions
+        available in the enabled repositories.
+
+        :param userlist: list of names or wildcards specifying
+           packages to synchronize with the repositories.  If the
+           first string in *userlist* is "full", packages will also be
+           reinstalled if their checksums do not match the checksums
+           in the repositories.  If *userlist* is an empty list or
+           only contains "full", every installed package will be
+           synchronized
+        :return: (exit_code, [ errors ])
+
+        exit_code is::
+
+            0 = we're done, exit
+            1 = we've errored, exit with error string
+            2 = we've got work yet to do, onto the next stage
+        """
 
         level = 'diff'
         if userlist and userlist[0] in ('full', 'diff', 'different'):
@@ -831,6 +1115,7 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
                         continue
 
                     nayi = napkg.yumdb_info
+                    found = False
                     for apkg in self.pkgSack.searchPkgTuple(napkg.pkgtup):
                         if ('checksum_type' in nayi and
                             'checksum_data' in nayi and
@@ -861,19 +1146,58 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
                 dupdates.extend(self.downgrade(name=n, epoch=e, ver=v, rel=r))
 
         if dupdates:
-            return 2, [P_('%d package marked for Distribution Synchronization', '%d packages marked for Distribution Synchronization', len(dupdates)) % len(dupdates)]
+            return 2, [P_('%d package marked for distribution synchronization', '%d packages marked for distribution synchronization', len(dupdates)) % len(dupdates)]
         else:
-            return 0, [_('No Packages marked for Distribution Synchronization')]
+            return 0, [_('No packages marked for distribution synchronization')]
 
-    def erasePkgs(self, userlist):
-        """take user commands and populate a transaction wrapper with packages
-           to be erased/removed"""
-        
-        oldcount = len(self.tsInfo)
+    def erasePkgs(self, userlist, pos=False, basecmd='remove'):
+        """Take user commands and populate a transaction wrapper with
+        packages to be erased.
+
+        :param userlist: a list of names or wildcards specifying
+           packages to erase
+        :return: (exit_code, [ errors ])
+
+        exit_code is::
+
+            0 = we're done, exit
+            1 = we've errored, exit with error string
+            2 = we've got work yet to do, onto the next stage
+        """
 
         all_rms = []
         for arg in userlist:
-            rms = self.remove(pattern=arg)
+            if pos:
+                rms = self.remove(po=arg)
+                if rms:
+                    all_rms.extend(rms)
+                continue
+
+            if False: pass
+            elif basecmd in ('erase-n', 'remove-n'):
+                rms = self.remove(name=arg)
+            elif basecmd in ('erase-na', 'remove-na'):
+                try:
+                    n,a = arg.rsplit('.', 1)
+                except:
+                    self.verbose_logger.warning(_('Bad %s argument %s.'),
+                                                basecmd, arg)
+                    continue
+                rms = self.remove(name=n, arch=a)
+            elif basecmd in ('erase-nevra', 'remove-nevra'):
+                try:
+                    nevr,a = arg.rsplit('.', 1)
+                    n,ev,r = nevr.rsplit('-', 2)
+                    e,v    = ev.split(':', 1)
+                except:
+                    self.verbose_logger.warning(_('Bad %s argument %s.'),
+                                                basecmd, arg)
+                    continue
+                rms = self.remove(name=n, epoch=e, version=v, release=r, arch=a)
+            else:
+                assert basecmd in ('erase', 'remove'), basecmd
+                rms = self.remove(pattern=arg)
+
             if not rms:
                 self._checkMaybeYouMeant(arg, always_output=False, rpmdb_only=True)
             all_rms.extend(rms)
@@ -884,12 +1208,24 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
             return 0, [_('No Packages marked for removal')]
     
     def downgradePkgs(self, userlist):
-        """Attempts to take the user specified list of packages/wildcards
-           and downgrade them. If a complete version number if specified,
-           attempt to downgrade them to the specified version"""
+        """Attempt to take the user specified list of packages or
+        wildcards and downgrade them. If a complete version number if
+        specified, attempt to downgrade them to the specified version
+
+        :param userlist: a list of names or wildcards specifying
+           packages to downgrade
+        :return: (exit_code, [ errors ])
+
+        exit_code is::
+
+            0 = we're done, exit
+            1 = we've errored, exit with error string
+            2 = we've got work yet to do, onto the next stage
+        """
 
         oldcount = len(self.tsInfo)
         
+        done = False
         for arg in userlist:
             if (arg.endswith('.rpm') and (yum.misc.re_remote_url(arg) or
                                           os.path.exists(arg))):
@@ -905,26 +1241,44 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
                                         self.term.MODE['bold'], arg,
                                         self.term.MODE['normal'])
                 self._maybeYouMeant(arg)
+            else:
+                done = True
         if len(self.tsInfo) > oldcount:
             change = len(self.tsInfo) - oldcount
             return 2, [P_('%d package to downgrade', '%d packages to downgrade', change) % change]
+
+        if not done:
+            return 1, [_('Nothing to do')]
         return 0, [_('Nothing to do')]
         
     def reinstallPkgs(self, userlist):
-        """Attempts to take the user specified list of packages/wildcards
-           and reinstall them. """
+        """Attempt to take the user specified list of packages or
+        wildcards and reinstall them.
+
+        :param userlist: a list of names or wildcards specifying
+           packages to reinstall
+        :return: (exit_code, [ errors ])
+
+        exit_code is::
+
+            0 = we're done, exit
+            1 = we've errored, exit with error string
+            2 = we've got work yet to do, onto the next stage
+        """
 
         oldcount = len(self.tsInfo)
 
+        done = False
         for arg in userlist:
             if (arg.endswith('.rpm') and (yum.misc.re_remote_url(arg) or
                                           os.path.exists(arg))):
-                self.reinstallLocal(arg)
+                txmbrs = self.reinstallLocal(arg)
+                self._install_upgraded_requires(txmbrs)
                 continue # it was something on disk and it ended in rpm
                          # no matter what we don't go looking at repos
 
             try:
-                self.reinstall(pattern=arg)
+                txmbrs = self.reinstall(pattern=arg)
             except yum.Errors.ReinstallRemoveError:
                 self._checkMaybeYouMeant(arg, always_output=False)
             except yum.Errors.ReinstallInstallError, e:
@@ -940,22 +1294,38 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
             except yum.Errors.ReinstallError, e:
                 assert False, "Shouldn't happen, but just in case"
                 self.verbose_logger.log(yum.logginglevels.INFO_2, e)
+            else:
+                done = True
+                self._install_upgraded_requires(txmbrs)
+
         if len(self.tsInfo) > oldcount:
             change = len(self.tsInfo) - oldcount
             return 2, [P_('%d package to reinstall', '%d packages to reinstall', change) % change]
+
+        if not done:
+            return 1, [_('Nothing to do')]
         return 0, [_('Nothing to do')]
 
     def localInstall(self, filelist, updateonly=0):
-        """handles installs/updates of rpms provided on the filesystem in a 
-           local dir (ie: not from a repo)"""
-           
+        """Install or update rpms provided on the file system in a
+        local directory (i.e. not from a repository).
+
+        :param filelist: a list of names specifying local rpms
+        :return: (exit_code, [ errors ])
+
+        exit_code is::
+
+            0 = we're done, exit
+            1 = we've errored, exit with error string
+            2 = we've got work yet to do, onto the next stage
+        """           
         # read in each package into a YumLocalPackage Object
         # append it to self.localPackages
         # check if it can be installed or updated based on nevra versus rpmdb
         # don't import the repos until we absolutely need them for depsolving
 
         if len(filelist) == 0:
-            return 0, [_('No Packages Provided')]
+            return 0, [_('No packages provided')]
 
         installing = False
         for pkg in filelist:
@@ -971,23 +1341,29 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
             return 2, [_('Package(s) to install')]
         return 0, [_('Nothing to do')]
 
-    def returnPkgLists(self, extcmds, installed_available=False):
-        """Returns packages lists based on arguments on the cli.returns a 
-           GenericHolder instance with the following lists defined:
-           available = list of packageObjects
-           installed = list of packageObjects
-           updates = tuples of packageObjects (updating, installed)
-           extras = list of packageObjects
-           obsoletes = tuples of packageObjects (obsoleting, installed)
-           recent = list of packageObjects
-
-           installed_available = that the available package list is present
-                                 as .hidden_available when doing any of:
-                                 all/available/installed
-           """
-        
+    def returnPkgLists(self, extcmds, installed_available=False, repoid=None):
+        """Return a :class:`yum.misc.GenericHolder` object containing
+        lists of package objects that match the given names or wildcards.
+
+        :param extcmds: a list of names or wildcards specifying
+           packages to list
+        :param installed_available: whether the available package list
+           is present as .hidden_available when doing all, available,
+           or installed
+        :param repoid: a repoid that all packages should belong to
+
+        :return: a :class:`yum.misc.GenericHolder` instance with the
+           following lists defined::
+
+             available = list of packageObjects
+             installed = list of packageObjects
+             updates = tuples of packageObjects (updating, installed)
+             extras = list of packageObjects
+             obsoletes = tuples of packageObjects (obsoleting, installed)
+             recent = list of packageObjects
+        """
         special = ['available', 'installed', 'all', 'extras', 'updates', 'recent',
-                   'obsoletes']
+                   'obsoletes', 'distro-extras']
         
         pkgnarrow = 'all'
         done_hidden_available = False
@@ -1003,7 +1379,7 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
                 pkgnarrow = extcmds.pop(0)
             
         ypl = self.doPackageLists(pkgnarrow=pkgnarrow, patterns=extcmds,
-                                  ignore_case=True)
+                                  ignore_case=True, repoid=repoid)
         if self.conf.showdupesfromrepos:
             ypl.available += ypl.reinstall_available
 
@@ -1017,8 +1393,25 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
         return ypl
 
     def search(self, args):
-        """cli wrapper method for module search function, searches simple
-           text tags in a package object"""
+        """Search for simple text tags in a package object. This is a
+        cli wrapper method for the module search function.
+
+        :param args: list of names or wildcards to search for.
+           Normally this method will begin by searching the package
+           names and summaries, and will only search urls and
+           descriptions if that fails.  However, if the first string
+           in *args* is "all", this method will always search
+           everything
+        :return: a tuple where the first item is an exit code, and
+           the second item is a generator if the search is a
+           successful, and a list of error messages otherwise
+
+        exit_code is::
+
+            0 = we're done, exit
+            1 = we've errored, exit with error string
+            2 = we've got work yet to do, onto the next stage
+        """
         
         # call the yum module search function with lists of tags to search
         # and what to search for
@@ -1053,7 +1446,7 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
                         print ""
                     else:
                         mkeys = set(keys)
-                    _print_match_section(_('N/S Matched: %s'))
+                    _print_match_section(_('N/S matched: %s'))
                     okeys = keys
                 pos.add(po)
                 akeys.update(keys)
@@ -1104,13 +1497,24 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
                 self.logger.warning(_('Warning: No matches found for: %s'), arg)
 
         if not akeys:
-            return 0, [_('No Matches found')]
+            return 0, [_('No matches found')]
         return 0, matching
 
     def deplist(self, args):
-        """cli wrapper method for findDeps method takes a list of packages and 
-            returns a formatted deplist for that package"""
+        """Print out a formatted list of dependencies for a list of
+        packages.  This is a cli wrapper method for
+        :class:`yum.YumBase.findDeps`.
 
+        :param args: a list of names or wildcards specifying packages
+           that should have their dependenices printed
+        :return: (exit_code, [ errors ])
+
+        exit_code is::
+
+            0 = we're done, exit
+            1 = we've errored, exit with error string
+            2 = we've got work yet to do, onto the next stage
+        """
         pkgs = []
         for arg in args:
             if (arg.endswith('.rpm') and (yum.misc.re_remote_url(arg) or
@@ -1118,10 +1522,12 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
                 thispkg = yum.packages.YumUrlPackage(self, self.ts, arg)
                 pkgs.append(thispkg)
             elif self.conf.showdupesfromrepos:
-                pkgs.extend(self.pkgSack.returnPackages(patterns=[arg]))
+                pkgs.extend(self.pkgSack.returnPackages(patterns=[arg],
+                                                        ignore_case=True))
             else:                
                 try:
-                    pkgs.extend(self.pkgSack.returnNewestByName(patterns=[arg]))
+                    pkgs.extend(self.pkgSack.returnNewestByName(patterns=[arg],
+                                                              ignore_case=True))
                 except yum.Errors.PackageSackError:
                     pass
                 
@@ -1131,10 +1537,19 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
         return 0, []
 
     def provides(self, args):
-        """use the provides methods in the rpmdb and pkgsack to produce a list 
-           of items matching the provides strings. This is a cli wrapper to the 
-           module"""
-        
+        """Print out a list of packages that provide the given file or
+        feature.  This a cli wrapper to the provides methods in the
+        rpmdb and pkgsack.
+
+        :param args: the name of a file or feature to search for
+        :return: (exit_code, [ errors ])
+
+        exit_code is::
+
+            0 = we're done, exit
+            1 = we've errored, exit with error string
+            2 = we've got work yet to do, onto the next stage
+        """
         old_sdup = self.conf.showdupesfromrepos
         # For output, as searchPackageProvides() is always in showdups mode
         self.conf.showdupesfromrepos = True
@@ -1147,6 +1562,8 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
             paths = set(sys.path + os.environ['PATH'].split(':'))
             nargs = []
             for arg in args:
+                if not arg:
+                    continue
                 if yum.misc.re_filename(arg) or yum.misc.re_glob(arg):
                     continue
                 for path in paths:
@@ -1158,25 +1575,82 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
         self.conf.showdupesfromrepos = old_sdup
 
         if len(matching) == 0:
-            return 0, ['No Matches found']
+            return 0, ['No matches found']
         
         return 0, []
     
     def resolveDepCli(self, args):
-        """returns a package (one per user arg) that provide the supplied arg"""
-        
+        """Print information about a package that provides the given
+        dependency.  Only one package will be printed per dependency.
+
+        :param args: a list of strings specifying dependencies to
+           search for
+        :return: (exit_code, [ errors ])
+
+        exit_code is::
+
+            0 = we're done, exit
+            1 = we've errored, exit with error string
+            2 = we've got work yet to do, onto the next stage
+        """
+
+        not_found = set()
         for arg in args:
             try:
+                ipkg = self.returnInstalledPackageByDep(arg)
+            except yum.Errors.YumBaseError:
+                ipkg = None
+            else:
+                self.verbose_logger.info("  %s:", arg)
+                self.verbose_logger.info("%s %s" % (ipkg.envra,
+                                                    ipkg.ui_from_repo))
+            try:
                 pkg = self.returnPackageByDep(arg)
             except yum.Errors.YumBaseError:
-                self.logger.critical(_('No Package Found for %s'), arg)
+                if not ipkg:
+                    not_found.add(arg)
             else:
-                msg = '%s:%s-%s-%s.%s' % (pkg.epoch, pkg.name, pkg.version, pkg.release, pkg.arch)
-                self.verbose_logger.info(msg)
+                if not ipkg:
+                    self.verbose_logger.info("  %s:", arg)
+                if not pkg.verEQ(ipkg):
+                    self.verbose_logger.info("%s %s" % (pkg.envra,
+                                                        pkg.ui_from_repo))
+
+        if not_found:
+            self.logger.critical(_('Error: No packages found for:\n  %s'),
+                                 "\n  ".join(sorted(not_found)))
 
         return 0, []
     
     def cleanCli(self, userlist):
+        """Remove data from the yum cache directory.  What data is
+        removed depends on the options supplied by the user.
+
+        :param userlist: a list of options.  The following are valid
+           options::
+
+             expire-cache = Eliminate the local data saying when the
+               metadata and mirror lists were downloaded for each
+               repository.
+             packages = Eliminate any cached packages
+             headers = Eliminate the header files, which old versions
+               of yum used for dependency resolution
+             metadata = Eliminate all of the files which yum uses to
+               determine the remote availability of packages
+             dbcache = Eliminate the sqlite cache used for faster
+               access to metadata
+             rpmdb = Eliminate any cached datat from the local rpmdb
+             plugins = Tell any enabled plugins to eliminate their
+               cached data
+             all = do all of the above
+        :return: (exit_code, [ errors ])
+
+        exit_code is::
+
+            0 = we're done, exit
+            1 = we've errored, exit with error string
+            2 = we've got work yet to do, onto the next stage
+        """
         hdrcode = pkgcode = xmlcode = dbcode = expccode = 0
         pkgresults = hdrresults = xmlresults = dbresults = expcresults = []
         msg = self.fmtKeyValFill(_('Cleaning repos: '), 
@@ -1184,7 +1658,7 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
         self.verbose_logger.log(yum.logginglevels.INFO_2, msg)
         if 'all' in userlist:
             self.verbose_logger.log(yum.logginglevels.INFO_2,
-                _('Cleaning up Everything'))
+                _('Cleaning up everything'))
             pkgcode, pkgresults = self.cleanPackages()
             hdrcode, hdrresults = self.cleanHeaders()
             xmlcode, xmlresults = self.cleanMetadata()
@@ -1200,10 +1674,10 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
             return code, []
             
         if 'headers' in userlist:
-            self.logger.debug(_('Cleaning up Headers'))
+            self.logger.debug(_('Cleaning up headers'))
             hdrcode, hdrresults = self.cleanHeaders()
         if 'packages' in userlist:
-            self.logger.debug(_('Cleaning up Packages'))
+            self.logger.debug(_('Cleaning up packages'))
             pkgcode, pkgresults = self.cleanPackages()
         if 'metadata' in userlist:
             self.logger.debug(_('Cleaning up xml metadata'))
@@ -1228,159 +1702,345 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
         return code, []
 
     def returnGroupLists(self, userlist):
+        """Print out a list of groups that match the given names or
+        wildcards.
 
-        uservisible=1
+        :param extcmds: a list of names or wildcards specifying
+           groups to list
+        :return: (exit_code, [ errors ])
+
+        exit_code is::
+
+            0 = we're done, exit
+            1 = we've errored, exit with error string
+            2 = we've got work yet to do, onto the next stage        
+        """
+        return self._returnGroupLists(userlist)
+
+    def _returnGroupLists(self, userlist, summary=False):
+        # What data are we showing...
+        wts_map = {'hidden' : 'hidden',
+                   'language' : 'lang',
+                   'languages' : 'lang',
+                   'lang' : 'lang',
+                   'langs' : 'lang',
+                   'environment' : 'env',
+                   'environments' : 'env',
+                   'env' : 'env',
+                   'envs' : 'env',
+                   'package' : 'pkg',
+                   'packages' : 'pkg',
+                   'pkg' : 'pkg',
+                   'pkgs' : 'pkg',
+                   'available' : 'avail',
+                   'avail' : 'avail',
+                   'installed' : 'inst',
+                   'inst' : 'inst',
+                   'id' : 'id',
+                   'ids' : 'id',
+                   }
+        verb = self.verbose_logger.isEnabledFor(yum.logginglevels.DEBUG_3)
+        wts = {'hidden' : False,
+               'lang'   : None,
+               'env'    : None,
+               'pkg'    : None,
+               'inst'   : None,
+               'avail'  : None,
+               'id'     : verb}
             
-        if len(userlist) > 0:
-            if userlist[0] == 'hidden':
-                uservisible=0
-                userlist.pop(0)
+        ouserlist = userlist[:]
+        while userlist:
+            arg = userlist[0]
+            val = True
+            if arg.startswith('no'):
+                arg = arg[2:]
+                val = False
+            if arg not in wts_map:
+                break
+            wts[wts_map[arg]] = val
+            userlist.pop(0)
         if not userlist:
             userlist = None # Match everything...
 
-        installed, available = self.doGroupLists(uservisible=uservisible,
-                                                 patterns=userlist)
-        
-        if not installed and not available:
-            self.logger.error(_('Warning: No groups match: %s'),
-                              ", ".join(userlist))
-            return 0, []
+        if wts['inst'] is None and wts['avail'] is None:
+            wts['inst']  = True
+            wts['avail'] = True
 
-        def _out_grp(sect, group):
-            if not done:
-                self.verbose_logger.log(yum.logginglevels.INFO_2, sect)
-            msg = '   %s' % group.ui_name
-            if self.verbose_logger.isEnabledFor(yum.logginglevels.DEBUG_3):
-                msg += ' (%s)' % group.groupid
-            if group.langonly:
-                msg += ' [%s]' % group.langonly
-            self.verbose_logger.log(yum.logginglevels.INFO_2, '%s', msg)
+        if wts['lang'] is None and wts['pkg'] is None and wts['env'] is None:
+            wts['env'] = True
+            wts['pkg'] = True
 
-        done = False
-        for group in installed:
-            if group.langonly: continue
-            _out_grp(_('Installed Groups:'), group)
-            done = True
+        uv  = not wts['hidden']
+        dGL = self.doGroupLists(patterns=userlist,
+                                uservisible=uv, return_evgrps=True)
 
-        done = False
-        for group in installed:
-            if not group.langonly: continue
-            _out_grp(_('Installed Language Groups:'), group)
-            done = True
+        installed, available, ievgrps, evgrps = dGL
 
-        done = False
-        for group in available:
-            if group.langonly: continue
-            _out_grp(_('Available Groups:'), group)
-            done = True
+        if not wts['env']:
+            ievgrps = []
+            evgrps  = []
 
-        done = False
-        for group in available:
-            if not group.langonly: continue
-            _out_grp(_('Available Language Groups:'), group)
-            done = True
+        if not wts['inst']:
+            installed = []
+            ievgrps   = []
+        if not wts['avail']:
+            available = []
+            evgrps    = []
+        
+        done = []
+        def _out_grp(sect, groups):
+            if not groups:
+                return
 
-        return 0, [_('Done')]
+            done.append(sect)
+            if summary:
+                self.verbose_logger.log(yum.logginglevels.INFO_2,
+                                        "%s %u", sect, len(groups))
+                return
 
-    def returnGroupSummary(self, userlist):
+            self.verbose_logger.log(yum.logginglevels.INFO_2, sect)
 
-        uservisible=1
-            
-        if len(userlist) > 0:
-            if userlist[0] == 'hidden':
-                uservisible=0
-                userlist.pop(0)
-        if not userlist:
-            userlist = None # Match everything...
+            for group in groups:
+                msg = '   %s' % group.ui_name
+                if wts['id']:
+                    msg += ' (%s)' % group.compsid
+                if group.langonly:
+                    msg += ' [%s]' % group.langonly
+                self.verbose_logger.info('%s', msg)
 
-        installed, available = self.doGroupLists(uservisible=uservisible,
-                                                 patterns=userlist)
-        
-        def _out_grp(sect, num):
-            if not num:
-                return
-            self.verbose_logger.log(yum.logginglevels.INFO_2, '%s %u', sect,num)
-        done = 0
+        _out_grp(_('Installed environment groups:'), ievgrps)
+        _out_grp(_('Available environment groups:'), evgrps)
+
+        groups = []
         for group in installed:
             if group.langonly: continue
-            done += 1
-        _out_grp(_('Installed Groups:'), done)
+            if not wts['pkg']: continue
+            groups.append(group)
+        _out_grp(_('Installed groups:'), groups)
 
-        done = 0
+        groups = []
         for group in installed:
             if not group.langonly: continue
-            done += 1
-        _out_grp(_('Installed Language Groups:'), done)
+            if not wts['lang']: continue
+            groups.append(group)
+        _out_grp(_('Installed language groups:'), groups)
 
-        done = False
+        groups = []
         for group in available:
             if group.langonly: continue
-            done += 1
-        _out_grp(_('Available Groups:'), done)
+            if not wts['pkg']: continue
+            groups.append(group)
+        _out_grp(_('Available Groups:'), groups)
 
-        done = False
+        groups = []
         for group in available:
             if not group.langonly: continue
-            done += 1
-        _out_grp(_('Available Language Groups:'), done)
+            if not wts['lang']: continue
+            groups.append(group)
+        _out_grp(_('Available language groups:'), groups)
+
+        if not done:
+            self.logger.error(_('Warning: no environments/groups match: %s'),
+                              ", ".join(ouserlist))
+            return 0, []
 
         return 0, [_('Done')]
+
+    def returnGroupSummary(self, userlist):
+        """Print a summary of the groups that match the given names or
+        wildcards.
+
+        :param userlist: a list of names or wildcards specifying the
+           groups to summarise. If *userlist* is an empty list, all
+           installed and available packages will be summarised
+        :return: (exit_code, [ errors ])
+
+        exit_code is::
+
+            0 = we're done, exit
+            1 = we've errored, exit with error string
+            2 = we've got work yet to do, onto the next stage
+        """
+        return self._returnGroupLists(userlist, summary=True)
     
     def returnGroupInfo(self, userlist):
-        """returns complete information on a list of groups"""
+        """Print complete information about the groups that match the
+        given names or wildcards.
+
+        :param userlist: a list of names or wildcards specifying the
+           groups to print information about
+        :return: (exit_code, [ errors ])
+
+        exit_code is::
+
+            0 = we're done, exit
+            1 = we've errored, exit with error string
+            2 = we've got work yet to do, onto the next stage
+        """
         for strng in userlist:
             group_matched = False
-            for group in self.comps.return_groups(strng):
-                self.displayPkgsInGroups(group)
-                group_matched = True
+
+            pkg_grp = True
+            grp_grp = True
+            if strng.startswith('@^'):
+                strng = strng[2:]
+                pkg_grp = False
+            elif strng.startswith('@'):
+                strng = strng[1:]
+                grp_grp = False
+
+            if grp_grp:
+                for evgroup in self.comps.return_environments(strng):
+                    self.displayGrpsInEnvironments(evgroup)
+                    group_matched = True
+            if pkg_grp:
+                for group in self.comps.return_groups(strng):
+                    self.displayPkgsInGroups(group)
+                    group_matched = True
 
             if not group_matched:
-                self.logger.error(_('Warning: Group %s does not exist.'), strng)
+                self.logger.error(_('Warning: group/environment %s does not exist.'), strng)
         
         return 0, []
         
-    def installGroups(self, grouplist):
-        """for each group requested do 'selectGroup' on them."""
-        
+    def installGroups(self, grouplist, upgrade=False):
+        """Mark the packages in the given groups for installation.
+
+        :param grouplist: a list of names or wildcards specifying
+           groups to be installed
+        :return: (exit_code, [ errors ])
+
+        exit_code is::
+
+            0 = we're done, exit
+            1 = we've errored, exit with error string
+            2 = we've got work yet to do, onto the next stage
+        """
         pkgs_used = []
+
+        if not grouplist and self.conf.group_command == 'objects':
+            #  Do what "yum upgrade" does when upgrade_group_objects_upgrade is
+            # set.
+            for ievgrp in self.igroups.environments:
+                pkgs_used.extend(self._at_groupupgrade('@^' + ievgrp))
+            for igrp in self.igroups.groups:
+                pkgs_used.extend(self._at_groupupgrade('@'  + igrp))
         
+        done = False
         for group_string in grouplist:
+
+            grp_grp = True
+            pkg_grp = True
+            if group_string.startswith('@^'):
+                pkg_grp = False
+                group_string = group_string[2:]
+            elif group_string.startswith('@'):
+                grp_grp = False
+                group_string = group_string[1:]
+
             group_matched = False
-            for group in self.comps.return_groups(group_string):
+            groups = []
+            if grp_grp:
+                groups = self.comps.return_environments(group_string)
+            for group in groups:
                 group_matched = True
 
+                try:
+                    txmbrs = self.selectEnvironment(group.environmentid,
+                                                    upgrade=upgrade)
+                except yum.Errors.GroupsError:
+                    self.logger.critical(_('Warning: Environment group %s does not exist.'), group_string)
+                    continue
+                else:
+                    pkgs_used.extend(txmbrs)
+
+            groups = []
+            if pkg_grp:
+                groups = self.comps.return_groups(group_string)
+            for group in groups:
+                group_matched = True
             
                 try:
-                    txmbrs = self.selectGroup(group.groupid)
+                    txmbrs = self.selectGroup(group.groupid, upgrade=upgrade)
                 except yum.Errors.GroupsError:
-                    self.logger.critical(_('Warning: Group %s does not exist.'), group_string)
+                    self.logger.critical(_('Warning: Package group %s does not exist.'), group_string)
                     continue
                 else:
                     pkgs_used.extend(txmbrs)
 
             if not group_matched:
-                self.logger.error(_('Warning: Group %s does not exist.'), group_string)
+                self.logger.error(_('Warning: group %s does not exist.'), group_string)
                 continue
+            done = True
             
         if not pkgs_used:
-            return 0, [_('No packages in any requested group available to install or update')]
+            if self.conf.group_command == 'objects':
+                self.logger.critical(_("Maybe run: yum groups mark install (see man yum)"))
+            exit_status = 1
+            if upgrade:
+                # upgrades don't fail
+                exit_status = 0
+            if done:
+                # at least one group_string was a valid group
+                exit_status = 0
+            return exit_status, [_('No packages in any requested group available to install or update')]
         else:
             return 2, [P_('%d package to Install', '%d packages to Install', len(pkgs_used)) % len(pkgs_used)]
 
     def removeGroups(self, grouplist):
-        """Remove only packages of the named group(s). Do not recurse."""
+        """Mark the packages in the given groups for removal.
+
+        :param grouplist: a list of names or wildcards specifying
+           groups to be removed
+        :return: (exit_code, [ errors ])
+
+        exit_code is::
 
+            0 = we're done, exit
+            1 = we've errored, exit with error string
+            2 = we've got work yet to do, onto the next stage
+        """
         pkgs_used = []
         for group_string in grouplist:
-            try:
-                txmbrs = self.groupRemove(group_string)
-            except yum.Errors.GroupsError:
-                self.logger.critical(_('No group named %s exists'), group_string)
-                continue
-            else:
-                pkgs_used.extend(txmbrs)
+
+            grp_grp = True
+            pkg_grp = True
+            if group_string.startswith('@^'):
+                pkg_grp = False
+                group_string = group_string[2:]
+            elif group_string.startswith('@'):
+                grp_grp = False
+                group_string = group_string[1:]
+
+            groups = []
+            if grp_grp:
+                groups = self.comps.return_environments(group_string)
+                if not groups:
+                    self.logger.critical(_('No environment named %s exists'), group_string)
+            for group in groups:
+                try:
+                    txmbrs = self.environmentRemove(group.environmentid)
+                except yum.Errors.GroupsError:
+                    continue
+                else:
+                    pkgs_used.extend(txmbrs)
+
+            groups = []
+            if pkg_grp:
+                groups = self.comps.return_groups(group_string)
+                if not groups:
+                    self.logger.critical(_('No group named %s exists'), group_string)
+            for group in groups:
+                try:
+                    txmbrs = self.groupRemove(group.groupid)
+                except yum.Errors.GroupsError:
+                    continue
+                else:
+                    pkgs_used.extend(txmbrs)
                 
         if not pkgs_used:
+            if self.conf.group_command == 'objects':
+                self.logger.critical(_("Maybe run: yum groups mark remove (see man yum)"))
             return 0, [_('No packages to remove from groups')]
         else:
             return 2, [P_('%d package to remove', '%d packages to remove', len(pkgs_used)) % len(pkgs_used)]
@@ -1389,7 +2049,7 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
 
     def _promptWanted(self):
         # shortcut for the always-off/always-on options
-        if self.conf.assumeyes:
+        if (self.conf.assumeyes or self.conf.downloadonly) and not self.conf.assumeno:
             return False
         if self.conf.alwaysprompt:
             return True
@@ -1397,10 +2057,9 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
         # prompt if:
         #  package was added to fill a dependency
         #  package is being removed
-        #  package wasn't explictly given on the command line
+        #  package wasn't explicitly given on the command line
         for txmbr in self.tsInfo.getMembers():
             if txmbr.isDep or \
-                   txmbr.ts_state == 'e' or \
                    txmbr.name not in self.extcmds:
                 return True
         
@@ -1408,11 +2067,11 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
         return False
 
     def usage(self):
-        ''' Print out command line usage '''
+        """Print out an explanation of command line usage."""
         sys.stdout.write(self.optparser.format_help())
 
     def shellUsage(self):
-        ''' Print out the shell usage '''
+        """Print out an explanation of the shell usage."""
         sys.stdout.write(self.optparser.get_usage())
     
     def _installable(self, pkg, ematch=False):
@@ -1468,9 +2127,9 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
         return False
 
 class YumOptionParser(OptionParser):
-    '''Subclass that makes some minor tweaks to make OptionParser do things the
+    """Subclass that makes some minor tweaks to make OptionParser do things the
     "yum way".
-    '''
+    """
 
     def __init__(self,base, **kwargs):
         # check if this is called with a utils=True/False parameter
@@ -1488,13 +2147,23 @@ class YumOptionParser(OptionParser):
         self._addYumBasicOptions()
 
     def error(self, msg):
-        '''This method is overridden so that error output goes to logger. '''
+        """Output an error message, and exit the program.  This method
+        is overridden so that error output goes to the logger.
+
+        :param msg: the error message to output
+        """
         self.print_usage()
         self.logger.critical(_("Command line error: %s"), msg)
         sys.exit(1)
 
     def firstParse(self,args):
-        # Parse only command line options that affect basic yum setup
+        """Parse only command line options that affect basic yum
+        setup.
+
+        :param args: a list of command line options to parse
+        :return: a dictionary containing the values of command line
+           options
+        """
         try:
             args = _filtercmdline(
                         ('--noplugins','--version','-q', '-v', "--quiet", "--verbose"), 
@@ -1521,7 +2190,15 @@ class YumOptionParser(OptionParser):
         return ret
         
     def setupYumConfig(self, args=None):
-        # Now parse the command line for real
+        """Parse command line options.
+
+        :param args: the command line arguments entered by the user
+        :return: (opts, cmds)  opts is a dictionary containing
+           the values of command line options.  cmds is a list of the
+           command line arguments that were not parsed as options.
+           For example, if args is ["install", "foo", "--verbose"],
+           cmds will be ["install", "foo"].
+        """
         if not args:
             (opts, cmds) = self.parse_args()
         else:
@@ -1533,16 +2210,30 @@ class YumOptionParser(OptionParser):
         try:
             # config file is parsed and moving us forward
             # set some things in it.
+
+            if opts.tolerant or self.base.conf.tolerant: # Make it slower capt.
+                self.base.conf.recheck_installed_requires = True
                 
             # Handle remaining options
             if opts.assumeyes:
-                self.base.conf.assumeyes =1
-
-            #  Instead of going cache-only for a non-root user, try to use a
-            # user writable cachedir. If that fails fall back to cache-only.
-            if opts.cacheonly:
+                self.base.conf.assumeyes = 1
+            if opts.assumeno:
+                self.base.conf.assumeno  = 1
+            self.base.conf.downloadonly = opts.dlonly
+            self.base.conf.downloaddir = opts.dldir
+
+            # Store all the updateinfo filters somewhere...
+            self.base.updateinfo_filters['security'] = opts.security
+            self.base.updateinfo_filters['bugfix'] = opts.bugfix
+            self.base.updateinfo_filters['advs'] = self._splitArg(opts.advs)
+            self.base.updateinfo_filters['bzs']  = self._splitArg(opts.bzs)
+            self.base.updateinfo_filters['cves'] = self._splitArg(opts.cves)
+            self.base.updateinfo_filters['sevs'] = self._splitArg(opts.sevs)
+
+            #  Treat users like root as much as possible:
+            if not self.base.setCacheDir():
                 self.base.conf.cache = 1
-            elif not self.base.setCacheDir():
+            if opts.cacheonly:
                 self.base.conf.cache = 1
 
             if opts.obsoletes:
@@ -1574,11 +2265,8 @@ class YumOptionParser(OptionParser):
                 if opts.color != 'auto':
                     self.base.term.reinit(color=opts.color)
 
-            if opts.disableexcludes:
-                disable_excludes = self._splitArg(opts.disableexcludes)
-            else:
-                disable_excludes = []
-            self.base.conf.disable_excludes = disable_excludes
+            self.base.conf.disable_excludes = self._splitArg(opts.disableexcludes)
+            self.base.conf.disable_includes = self._splitArg(opts.disableincludes)
 
             for exclude in self._splitArg(opts.exclude):
                 try:
@@ -1610,10 +2298,6 @@ class YumOptionParser(OptionParser):
                     self.base.usage()
                     sys.exit(1)
 
-            # make sure the added repos are setup.        
-            if len(opts.repos) > 0:
-                self.base._getRepos(doSetup=True)
-
             # Disable all gpg key checking, if requested.
             if opts.nogpgcheck:
                 #  Altering the normal configs. doesn't work too well, esp. with
@@ -1623,7 +2307,7 @@ class YumOptionParser(OptionParser):
                     repo._override_sigchecks = True
                             
         except ValueError, e:
-            self.logger.critical(_('Options Error: %s'), e)
+            self.logger.critical(_('Options error: %s'), e)
             self.base.usage()
             sys.exit(1)
          
@@ -1640,10 +2324,18 @@ class YumOptionParser(OptionParser):
         sys.exit(1)
 
     def getRoot(self,opts):
+        """Return the root location to use for the yum operation.
+        This location can be changed by using the --installroot
+        option.
+
+        :param opts: a dictionary containing the values of the command
+           line options
+        :return: a string representing the root location
+        """
         self._checkAbsInstallRoot(opts)
         # If the conf file is inside the  installroot - use that.
         # otherwise look for it in the normal root
-        if opts.installroot:
+        if opts.installroot and opts.installroot.lstrip('/'):
             if os.access(opts.installroot+'/'+opts.conffile, os.R_OK):
                 opts.conffile = opts.installroot+'/'+opts.conffile
             elif opts.conffile == '/etc/yum/yum.conf':
@@ -1701,6 +2393,9 @@ class YumOptionParser(OptionParser):
         group.add_option("--showduplicates", dest="showdupesfromrepos",
                         action="store_true",
                 help=_("show duplicates, in repos, in list/search commands"))
+        group.add_option("--show-duplicates", dest="showdupesfromrepos",
+                         action="store_true",
+                         help=SUPPRESS_HELP)
         group.add_option("-e", "--errorlevel", dest="errorlevel", default=None,
                 help=_("error output level"), type='int',
                 metavar='[error level]')
@@ -1713,6 +2408,10 @@ class YumOptionParser(OptionParser):
                         help=_("verbose operation"))
         group.add_option("-y", "--assumeyes", dest="assumeyes",
                 action="store_true", help=_("answer yes for all questions"))
+        group.add_option("--assumeno", dest="assumeno",
+                action="store_true", help=_("answer no for all questions"))
+        group.add_option("--nodeps", dest="assumeno", # easter egg :)
+                action="store_true", help=SUPPRESS_HELP)
         group.add_option("--version", action="store_true", 
                 help=_("show Yum version and exit"))
         group.add_option("--installroot", help=_("set install root"), 
@@ -1730,6 +2429,9 @@ class YumOptionParser(OptionParser):
         group.add_option("", "--disableexcludes", default=[], action="append",
                 help=_("disable exclude from main, for a repo or for everything"),
                         metavar='[repo]')
+        group.add_option("", "--disableincludes", default=[], action="append",
+                help=_("disable includepkgs for a repo or for everything"),
+                        metavar='[repo]')
         group.add_option("--obsoletes", action="store_true", 
                 help=_("enable obsoletes processing during updates"))
         group.add_option("--noplugins", action="store_true", 
@@ -1748,9 +2450,29 @@ class YumOptionParser(OptionParser):
                 help=_("control whether color is used"))
         group.add_option("", "--releasever", dest="releasever", default=None, 
                 help=_("set value of $releasever in yum config and repo files"))
+        group.add_option("--downloadonly", dest="dlonly", action="store_true",
+                help=_("don't update, just download"))
+        group.add_option("--downloaddir", dest="dldir", default=None,
+                help=_("specifies an alternate directory to store packages"))
         group.add_option("", "--setopt", dest="setopts", default=[],
                 action="append", help=_("set arbitrary config and repo options"))
 
+        # Updateinfo options...
+        group.add_option("--bugfix", action="store_true", 
+                help=_("Include bugfix relevant packages, in updates"))
+        group.add_option("--security", action="store_true", 
+                help=_("Include security relevant packages, in updates"))
+
+        group.add_option("--advisory", "--advisories", dest="advs", default=[],
+                action="append", help=_("Include packages needed to fix the given advisory, in updates"))
+        group.add_option("--bzs", default=[],
+                action="append", help=_("Include packages needed to fix the given BZ, in updates"))
+        group.add_option("--cves", default=[],
+                action="append", help=_("Include packages needed to fix the given CVE, in updates"))
+        group.add_option("--sec-severity", "--secseverity", default=[],
+                         dest="sevs", action="append",
+                help=_("Include security relevant packages matching the severity, in updates"))
+
         
 def _filtercmdline(novalopts, valopts, args):
     '''Keep only specific options from the command line argument list
diff --git a/completion-helper.py b/completion-helper.py
new file mode 100755
index 0000000..c0e5a28
--- /dev/null
+++ b/completion-helper.py
@@ -0,0 +1,96 @@
+#!/usr/bin/python -t
+# -*- coding: utf-8 -*-
+#
+# Copyright (C) 2011 Ville Skyttä
+#
+# This program 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; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program 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 this program; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+
+import shlex
+import sys
+
+import cli
+import yumcommands
+from yum.Errors import GroupsError, ConfigError, RepoError
+
+
+class GroupsCompletionCommand(yumcommands.GroupsCommand):
+    def doCommand(self, base, basecmd, extcmds):
+        cmd, extcmds = self._grp_cmd(basecmd, extcmds)
+        # case insensitivity is fine here because groupinstall etc are that too
+        installed, available = base.doGroupLists(
+            patterns=[get_pattern(extcmds)])
+        if extcmds[0] in ("installed", "all"):
+            for group in installed:
+                print group.ui_name
+        if extcmds[0] in ("available", "all"):
+            for group in available:
+                print group.ui_name
+
+class ListCompletionCommand(yumcommands.ListCommand):
+    def doCommand(self, base, basecmd, extcmds):
+        def printPkgs(pkgs):
+            for pkg in pkgs:
+                if base.allowedMultipleInstalls(pkg):
+                    print pkg.nvra
+                else:
+                    print pkg.na
+
+        ypl = base.doPackageLists(pkgnarrow=extcmds[0],
+                                  patterns=[get_pattern(extcmds)])
+        if extcmds[0] in ("installed", "all"):
+            printPkgs(ypl.installed)
+        if extcmds[0] in ("available", "all"):
+            printPkgs(ypl.available)
+
+class RepoListCompletionCommand(yumcommands.RepoListCommand):
+    def doCommand(self, base, basecmd, extcmds):
+        import fnmatch
+        pattern = get_pattern(extcmds)
+        for repo in base.repos.repos.values():
+            if fnmatch.fnmatch(repo.id, pattern) \
+                    and (extcmds[0] == "all" or
+                         (extcmds[0] == "enabled" and repo.isEnabled()) or
+                         (extcmds[0] == "disabled" and not repo.isEnabled())):
+                print repo.id
+
+
+def get_pattern(extcmds):
+    if len(extcmds) > 1:
+        try: return shlex.split(extcmds[-1])[0] + "*"
+        except (ValueError, IndexError): pass
+    return "*"
+
+def main(args):
+    base = cli.YumBaseCli()
+    base.yum_cli_commands.clear()
+    base.registerCommand(GroupsCompletionCommand())
+    base.registerCommand(ListCompletionCommand())
+    base.registerCommand(RepoListCompletionCommand())
+    base.getOptionsConfig(args)
+    base.parseCommands()
+    try:
+        for repo in base.repos.listEnabled():
+            repo.skip_if_unavailable = True
+        base.doCommands()
+    except (GroupsError, ConfigError, RepoError), e:
+    # Any reason to not just catch YumBaseError ?
+        base.logger.error(e)
+
+if __name__ == "__main__":
+    try:
+        main(sys.argv[1:])
+    except KeyboardInterrupt, e:
+        sys.exit(1)
diff --git a/docs/Makefile b/docs/Makefile
index dc31d0e..8cc7f9f 100644
--- a/docs/Makefile
+++ b/docs/Makefile
@@ -13,3 +13,4 @@ install:
 	install -m 644 yum.conf.5 $(DESTDIR)/usr/share/man/man5/yum.conf.5
 	install -m 644 yum-updatesd.8 $(DESTDIR)/usr/share/man/man8/yum-updatesd.8
 	install -m 644 yum-updatesd.conf.5 $(DESTDIR)/usr/share/man/man5/yum-updatesd.conf.5
+	install -m 644 yum-cron.8 $(DESTDIR)/usr/share/man/man8
diff --git a/docs/sphinxdocs/Makefile b/docs/sphinxdocs/Makefile
new file mode 100644
index 0000000..623c22b
--- /dev/null
+++ b/docs/sphinxdocs/Makefile
@@ -0,0 +1,130 @@
+# Makefile for Sphinx documentation
+#
+
+# You can set these variables from the command line.
+SPHINXOPTS    =
+SPHINXBUILD   = sphinx-build
+PAPER         =
+BUILDDIR      = _build
+
+# Internal variables.
+PAPEROPT_a4     = -D latex_paper_size=a4
+PAPEROPT_letter = -D latex_paper_size=letter
+ALLSPHINXOPTS   = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
+
+.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest
+
+help:
+	@echo "Please use \`make <target>' where <target> is one of"
+	@echo "  html       to make standalone HTML files"
+	@echo "  dirhtml    to make HTML files named index.html in directories"
+	@echo "  singlehtml to make a single large HTML file"
+	@echo "  pickle     to make pickle files"
+	@echo "  json       to make JSON files"
+	@echo "  htmlhelp   to make HTML files and a HTML help project"
+	@echo "  qthelp     to make HTML files and a qthelp project"
+	@echo "  devhelp    to make HTML files and a Devhelp project"
+	@echo "  epub       to make an epub"
+	@echo "  latex      to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
+	@echo "  latexpdf   to make LaTeX files and run them through pdflatex"
+	@echo "  text       to make text files"
+	@echo "  man        to make manual pages"
+	@echo "  changes    to make an overview of all changed/added/deprecated items"
+	@echo "  linkcheck  to check all external links for integrity"
+	@echo "  doctest    to run all doctests embedded in the documentation (if enabled)"
+
+clean:
+	-rm -rf $(BUILDDIR)/*
+
+html:
+	$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
+	@echo
+	@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
+
+dirhtml:
+	$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
+	@echo
+	@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
+
+singlehtml:
+	$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
+	@echo
+	@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
+
+pickle:
+	$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
+	@echo
+	@echo "Build finished; now you can process the pickle files."
+
+json:
+	$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
+	@echo
+	@echo "Build finished; now you can process the JSON files."
+
+htmlhelp:
+	$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
+	@echo
+	@echo "Build finished; now you can run HTML Help Workshop with the" \
+	      ".hhp project file in $(BUILDDIR)/htmlhelp."
+
+qthelp:
+	$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
+	@echo
+	@echo "Build finished; now you can run "qcollectiongenerator" with the" \
+	      ".qhcp project file in $(BUILDDIR)/qthelp, like this:"
+	@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/Yum.qhcp"
+	@echo "To view the help file:"
+	@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/Yum.qhc"
+
+devhelp:
+	$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
+	@echo
+	@echo "Build finished."
+	@echo "To view the help file:"
+	@echo "# mkdir -p $$HOME/.local/share/devhelp/Yum"
+	@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/Yum"
+	@echo "# devhelp"
+
+epub:
+	$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
+	@echo
+	@echo "Build finished. The epub file is in $(BUILDDIR)/epub."
+
+latex:
+	$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
+	@echo
+	@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
+	@echo "Run \`make' in that directory to run these through (pdf)latex" \
+	      "(use \`make latexpdf' here to do that automatically)."
+
+latexpdf:
+	$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
+	@echo "Running LaTeX files through pdflatex..."
+	make -C $(BUILDDIR)/latex all-pdf
+	@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
+
+text:
+	$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
+	@echo
+	@echo "Build finished. The text files are in $(BUILDDIR)/text."
+
+man:
+	$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
+	@echo
+	@echo "Build finished. The manual pages are in $(BUILDDIR)/man."
+
+changes:
+	$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
+	@echo
+	@echo "The overview file is in $(BUILDDIR)/changes."
+
+linkcheck:
+	$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
+	@echo
+	@echo "Link check complete; look for any errors in the above output " \
+	      "or in $(BUILDDIR)/linkcheck/output.txt."
+
+doctest:
+	$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
+	@echo "Testing of doctests in the sources finished, look at the " \
+	      "results in $(BUILDDIR)/doctest/output.txt."
diff --git a/docs/sphinxdocs/conf.py b/docs/sphinxdocs/conf.py
new file mode 100644
index 0000000..867d323
--- /dev/null
+++ b/docs/sphinxdocs/conf.py
@@ -0,0 +1,228 @@
+# -*- coding: utf-8 -*-
+#
+# Yum documentation build configuration file, created by
+# sphinx-quickstart on Mon Jun 27 14:01:20 2011.
+#
+# This file is execfile()d with the current directory set to its containing dir.
+#
+# Note that not all possible configuration values are present in this
+# autogenerated file.
+#
+# All configuration values have a default; values that are commented out
+# serve to show the default.
+
+import sys, os
+
+# If extensions (or modules to document with autodoc) are in another directory,
+# add these directories to sys.path here. If the directory is relative to the
+# documentation root, use os.path.abspath to make it absolute, like shown here.
+# sys.path.insert(0, os.path.abspath('.'))
+
+# -- General configuration -----------------------------------------------------
+
+#Tell sphinx where to look for all the files
+sys.path.insert(0, os.path.normpath(os.path.join(os.getcwd(), "../../test")))
+sys.path.insert(0, os.path.normpath(os.path.join(os.getcwd(), "../../po")))
+sys.path.insert(0, os.path.normpath(os.path.join(os.getcwd(), "../../bin")))
+sys.path.insert(0, os.path.normpath(os.path.join(os.getcwd(), "../..")))
+
+#Generate all the rst files
+sys.path.insert(1, os.getcwd())
+import rstgenerator
+rstgenerator.generateAll(sys.path[0], os.getcwd())
+import yum
+
+# If your documentation needs a minimal Sphinx version, state it here.
+#needs_sphinx = '1.0'
+
+# Add any Sphinx extension module names here, as strings. They can be extensions
+# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
+extensions = ['sphinx.ext.autodoc']
+
+# Add any paths that contain templates here, relative to this directory.
+templates_path = ['_templates']
+
+# The suffix of source filenames.
+source_suffix = '.rst'
+
+# The encoding of source files.
+#source_encoding = 'utf-8-sig'
+
+# The master toctree document.
+master_doc = 'index'
+
+# General information about the project.
+project = u'Yum'
+copyright = None
+
+# The version info for the project you're documenting, acts as replacement for
+# |version| and |release|, also used in various other places throughout the
+# built documents.
+#
+# The short X.Y version.
+# version = 
+# The full version, including alpha/beta/rc tags.
+release = yum.__version__
+
+# The language for content autogenerated by Sphinx. Refer to documentation
+# for a list of supported languages.
+#language = None
+
+# There are two options for replacing |today|: either, you set today to some
+# non-false value, then it is used:
+#today = ''
+# Else, today_fmt is used as the format for a strftime call.
+#today_fmt = '%B %d, %Y'
+
+# List of patterns, relative to source directory, that match files and
+# directories to ignore when looking for source files.
+exclude_patterns = ['_build']
+
+# The reST default role (used for this markup: `text`) to use for all documents.
+#default_role = None
+
+# If true, '()' will be appended to :func: etc. cross-reference text.
+#add_function_parentheses = True
+
+# If true, the current module name will be prepended to all description
+# unit titles (such as .. function::).
+#add_module_names = True
+
+# If true, sectionauthor and moduleauthor directives will be shown in the
+# output. They are ignored by default.
+#show_authors = False
+
+# The name of the Pygments (syntax highlighting) style to use.
+pygments_style = 'sphinx'
+
+# A list of ignored prefixes for module index sorting.
+#modindex_common_prefix = []
+
+
+# -- Options for HTML output ---------------------------------------------------
+
+# The theme to use for HTML and HTML Help pages.  See the documentation for
+# a list of builtin themes.
+html_theme = 'default'
+
+# Theme options are theme-specific and customize the look and feel of a theme
+# further.  For a list of options available for each theme, see the
+# documentation.
+#html_theme_options = {}
+
+# Add any paths that contain custom themes here, relative to this directory.
+#html_theme_path = []
+
+# The name for this set of Sphinx documents.  If None, it defaults to
+# "<project> v<release> documentation".
+#html_title = None
+
+# A shorter title for the navigation bar.  Default is the same as html_title.
+#html_short_title = None
+
+# The name of an image file (relative to this directory) to place at the top
+# of the sidebar.
+#html_logo = None
+
+# The name of an image file (within the static path) to use as favicon of the
+# docs.  This file should be a Windows icon file (.ico) being 16x16 or 32x32
+# pixels large.
+#html_favicon = None
+
+# Add any paths that contain custom static files (such as style sheets) here,
+# relative to this directory. They are copied after the builtin static files,
+# so a file named "default.css" will overwrite the builtin "default.css".
+html_static_path = ['_static']
+
+# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
+# using the given strftime format.
+#html_last_updated_fmt = '%b %d, %Y'
+
+# If true, SmartyPants will be used to convert quotes and dashes to
+# typographically correct entities.
+#html_use_smartypants = True
+
+# Custom sidebar templates, maps document names to template names.
+#html_sidebars = {}
+
+# Additional templates that should be rendered to pages, maps page names to
+# template names.
+#html_additional_pages = {}
+
+# If false, no module index is generated.
+#html_domain_indices = True
+
+# If false, no index is generated.
+#html_use_index = True
+
+# If true, the index is split into individual pages for each letter.
+#html_split_index = False
+
+# If true, links to the reST sources are added to the pages.
+#html_show_sourcelink = True
+
+# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
+#html_show_sphinx = True
+
+# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
+html_show_copyright = False
+
+# If true, an OpenSearch description file will be output, and all pages will
+# contain a <link> tag referring to it.  The value of this option must be the
+# base URL from which the finished HTML is served.
+#html_use_opensearch = ''
+
+# This is the file name suffix for HTML files (e.g. ".xhtml").
+#html_file_suffix = None
+
+# Output file base name for HTML help builder.
+htmlhelp_basename = 'Yumdoc'
+
+
+# -- Options for LaTeX output --------------------------------------------------
+
+# The paper size ('letter' or 'a4').
+#latex_paper_size = 'letter'
+
+# The font size ('10pt', '11pt' or '12pt').
+#latex_font_size = '10pt'
+
+# Grouping the document tree into LaTeX files. List of tuples
+# (source start file, target name, title, author, documentclass [howto/manual]).
+latex_documents = [
+  ('index', 'Yum.tex', u'Yum Documentation',
+   u'', 'manual'),
+]
+
+# The name of an image file (relative to this directory) to place at the top of
+# the title page.
+#latex_logo = None
+
+# For "manual" documents, if this is true, then toplevel headings are parts,
+# not chapters.
+#latex_use_parts = False
+
+# If true, show page references after internal links.
+#latex_show_pagerefs = False
+
+# If true, show URL addresses after external links.
+#latex_show_urls = False
+
+# Additional stuff for the LaTeX preamble.
+#latex_preamble = ''
+
+# Documents to append as an appendix to all manuals.
+#latex_appendices = []
+
+# If false, no module index is generated.
+#latex_domain_indices = True
+
+
+# -- Options for manual page output --------------------------------------------
+
+# One entry per manual page. List of tuples
+# (source start file, name, description, authors, manual section).
+man_pages = [
+    ('index', 'yum', u'Yum Documentation',
+     [u''], 1)
+]
diff --git a/docs/sphinxdocs/rstgenerator.py b/docs/sphinxdocs/rstgenerator.py
new file mode 100755
index 0000000..4a0bca0
--- /dev/null
+++ b/docs/sphinxdocs/rstgenerator.py
@@ -0,0 +1,222 @@
+#! /usr/bin/python
+
+import sys, re, os
+
+def generateFile(input_directory, file_name, output_directory,
+                 package_heirarchy=None, module_name=None):
+    """Generate a rst file telling sphinx to just generate documentation
+    for the public interface automatically.  Output will be written to
+    *file_name*.rst in the current directory.
+    
+    :param input_directory: a string specifying the directory containing the 
+       source code file
+    :param file_name: the name of the python source code file to generate
+       a sphinx rst file describing
+    :param output_directory: a string specifying the directory where
+       the generated rst file should be placed.  If *output_directory* does
+       not already exist, it will be created
+    :param package_heirarchy: a list of strings, where each name is
+       the name of a package, in the order of the hierarchy
+    :param module_name: the name of the module. If not given, the .py is 
+       removed from *file_name* to produce the module_name
+    """
+    #Stick all output into a list of strings, then just join it and output
+    #it all in on go.
+    output = []
+    
+    # Create the output directory if it doesn't already exist. Note that
+    # if the directory is created between the check and the creation, it 
+    # might cause issues, but I don't think this likely at all to happen
+    if not os.path.exists(output_directory):
+        try:
+            os.makedirs(output_directory)
+        except OSError as e:
+            print "Error creating the output directory"
+            print e.args
+
+    try:
+        #Open the file
+        f = open(os.path.join(input_directory, file_name), 'r')
+    
+        #Do the module output
+        if not module_name:
+            module_name = re.search('(\w+).py$', file_name).group(1)
+
+        #Append the package names, if there are any
+        full_module_name = module_name
+        if package_heirarchy:
+            full_module_name = '.'.join(package_heirarchy) + '.' + module_name
+    
+        output.append(full_module_name)
+        output.append('=' * len(full_module_name))
+        output.append('.. automodule:: %s\n' % full_module_name)
+        
+        #Read the file, and do output for classes
+        class_reg = re.compile('^class (\w+)')
+        func_reg = re.compile('^def ((?:[a-zA-Z0-9]+_)*[a-zA-Z0-9]+)')
+        
+        #We don't need a blank line between autofunction directives, but we do
+        #need one between autofunctions and headings etc. for classes.  This
+        #keeps track if we're switching from autofunctions to classes, so we
+        #can add that blank line.
+        finding_functions = False
+        
+        for line in iter(f):
+            #Search for classes
+            match = class_reg.match(line)
+            if match is not None: 
+                if finding_functions:
+                    output.append('')
+                    finding_functions = False
+                class_name = match.group(1)
+                output.append(class_name)
+                output.append('-' * len(class_name))
+                output.append('''.. autoclass:: %s
+           :members:
+           :show-inheritance:
+        
+           ''' % class_name)
+        
+        
+            #Search for top level functions
+            else:
+                match = func_reg.match(line)
+                if match is not None:
+                    func_name = match.group(1)
+                    output.append('.. autofunction:: ' + func_name)
+                    finding_functions = True
+        f.close()
+
+    except IOError as e:
+        print "Error opening the input file : ", os.path.join(input_directory, file_name)
+        print e.args[1]
+
+    else:
+        #Write the output
+        try:
+            output_file_name = os.path.join(output_directory, module_name) + '.rst'
+            f = open(output_file_name, 'w')
+            f.write('\n'.join(output))
+            
+            
+        except IOError as e:
+            print "Error opening the output file : ", output_file_name
+            print e.args[1]
+
+                
+def generateIndex(module_list, output_directory):
+    """Create an index.rst file for sphinx in the given directory.
+
+    :param module_list: a list of the names of the modules to list in
+       the index file
+    :param output_directory: the directory to create the index file in
+    """
+
+    #Sort the module_list
+    module_list.sort()
+
+    try:
+        #open the file
+        f = open(os.path.join(output_directory, 'index.rst'), 'w')
+    
+        #Do the output
+        f.write(""".. Yum documentation master file, created by
+   sphinx-quickstart on Mon Jun 27 14:01:20 2011.
+   You can adapt this file completely to your liking, but it should at least
+   contain the root `toctree` directive.
+
+Welcome to Yum's documentation!
+===============================
+
+Contents:
+
+.. toctree::
+   :maxdepth: 2
+
+   """)
+        f.write('\n   '.join(module_list))
+        f.write("""
+
+Indices and tables
+==================
+
+* :ref:`genindex`
+* :ref:`modindex`
+* :ref:`search`
+""")
+
+    except IOError as e:
+        print "Error opening the output file."
+        print e.args[1]
+
+
+def generateAll(source_directory, output_directory):
+    #Verify that both the source and output directories exist
+
+
+    # Keep a set of file names that are packages.  This is 
+    # useful so that later we will be able to figure out full
+    # module names.
+    packages = set()
+
+    # Keep a list of tuples containing python module names and
+    # relative paths, so that we can build the index file later
+    modules = []
+
+    # Walk the directory tree
+    for dirpath, dirnames, filenames in os.walk(source_directory, topdown=True):
+        
+        # print dirpath
+        # print dirnames
+        # print filenames
+        # print
+
+        # Add the curent directory to packages if __init__.py exists
+        if '__init__.py' in filenames:
+            packages.add(dirpath)
+
+        # Find the hierarchy of packages that we are currently in
+        package_heirarchy = []
+        #Recurse up to the root
+        dirpath_i = dirpath
+        while dirpath_i != '/':
+            if dirpath_i in packages:
+                dirpath_i, tail = os.path.split(dirpath_i)
+                package_heirarchy.insert(0, tail)
+            else:
+                break
+
+        # Find the relative output directory, mirroring the input
+        # directory structure
+        relative_output_directory = ''
+        if not os.path.samefile(dirpath, source_directory):
+            relative_output_directory = os.path.relpath(dirpath, source_directory)
+        
+        # Don't recurse into directories that are hidden, or for docs
+        for directory in dirnames:
+            if directory == "docs" or directory.startswith("."):
+                dirnames.remove(directory)
+
+        # Generate the rst for a file if it is a python source code file
+        for file_name in filenames:
+            # Skip file names that contain dashes, since they're not
+            # valid module names, so we won't be able to import them
+            # to generate the documentation anyway
+            if '-' in file_name:
+                continue
+
+            if file_name.endswith('.py'):
+                module_name = file_name.partition('.')[0]
+                modules.append(os.path.join(relative_output_directory, 
+                                            module_name))
+                generateFile(dirpath, file_name, 
+                             os.path.join(output_directory, relative_output_directory),
+                             package_heirarchy, module_name)
+
+        
+    
+    # Create the index.rst file
+    generateIndex(modules, output_directory)
+
+if __name__ == "__main__":
+    generateAll(os.getcwd(), os.getcwd())
diff --git a/docs/yum-cron.8 b/docs/yum-cron.8
new file mode 100644
index 0000000..7ce1aef
--- /dev/null
+++ b/docs/yum-cron.8
@@ -0,0 +1,51 @@
+.\" yum-cron - cron interface for yum
+.TH "yum-cron" "8" ""  "Nick Jacek" ""
+.SH "NAME"
+yum-cron \- an interface to conveniently call yum from cron
+
+.SH "SYNOPSIS"
+\fByum-cron\fP [config-file]
+
+.SH "DESCRIPTION"
+.PP 
+\fByum-cron\fP is an alternate interface to yum that is optimised to
+be convenient to call from cron.  It provides methods to keep
+repository metadata up to date, and to check for, download, and apply
+updates.  Rather than accepting many different command line arguments,
+the different functions of yum-cron can be accessed through config
+files.
+.PP 
+\fIconfig-file\fP is used to optionally specify the path to the
+configuration file to use.  If it is not given, the default
+configuration file will be used.  It is useful to be able to specify
+different configuration files for different use cases.  For example,
+one configuration file might be set to update the repository metadata,
+and a line could be added to the crontab to run yum-cron frequently
+using this file.  Then, another configuration file might be set to
+install updates, and yum-cron could be run from cron using this file
+just once each day.
+
+.SH "FILES"
+.nf
+/etc/yum/yum-cron.conf
+/etc/yum/yum-cron-hourly.conf
+/etc/yum/yum-cron-security.conf
+.fi 
+
+.PP
+.SH "SEE ALSO"
+.nf
+.I yum (8)
+.fi
+
+.PP
+.SH "AUTHORS"
+.nf
+See the Authors file included with this program.
+.fi
+
+.PP
+.SH "BUGS"
+There of course aren't any bugs, but if you find any, you should email
+ the mailing list, yum@lists.baseurl.org, or consult bugzilla.
+.fi
diff --git a/docs/yum.8 b/docs/yum.8
index 1a8202a..86df6b0 100644
--- a/docs/yum.8
+++ b/docs/yum.8
@@ -25,6 +25,8 @@ gnome\-packagekit application\&.
 .br 
 .I \fR * update-to [package1] [package2] [\&.\&.\&.]
 .br 
+.I \fR * update-minimal [package1] [package2] [\&.\&.\&.]
+.br 
 .I \fR * check\-update
 .br 
 .I \fR * upgrade [package1] [package2] [\&.\&.\&.] 
@@ -35,6 +37,8 @@ gnome\-packagekit application\&.
 .br
 .I \fR * remove | erase package1 [package2] [\&.\&.\&.]
 .br 
+.I \fR * autoremove [package1] [\&.\&.\&.]
+.br 
 .I \fR * list [\&.\&.\&.]
 .br 
 .I \fR * info [\&.\&.\&.]
@@ -43,7 +47,7 @@ gnome\-packagekit application\&.
 .br  
 .I \fR * clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]
 .br
-.I \fR * makecache
+.I \fR * makecache [fast]
 .br
 .I \fR * groups  [\&.\&.\&.]
 .br
@@ -52,6 +56,7 @@ gnome\-packagekit application\&.
 .I \fR * shell [filename]
 .br
 .I \fR * resolvedep dep1 [dep2] [\&.\&.\&.] 
+    (maintained for legacy reasons only - use repoquery or yum provides)
 .br
 .I \fR * localinstall rpmfile1 [rpmfile2] [\&.\&.\&.] 
     (maintained for legacy reasons only - use install)
@@ -67,9 +72,21 @@ gnome\-packagekit application\&.
 .br
 .I \fR * repolist [all|enabled|disabled] 
 .br
+.I \fR * repoinfo [all|enabled|disabled] 
+.br
+.I \fR * repository-packages <enabled-repoid> <install|remove|remove-or-reinstall|remove-or-distribution-synchronization> [package2] [\&.\&.\&.]
+.br
 .I \fR * version [ all | installed | available | group-* | nogroups* | grouplist | groupinfo ]
 .br
-.I \fR * history [info|list|packages-list|summary|addon-info|redo|undo|rollback|new] 
+.I \fR * history [info|list|packages-list|packages-info|summary|addon-info|redo|undo|rollback|new|sync|stats] 
+.br
+.I \fR * load-transaction [txfile]
+.br
+.I \fR * updateinfo [summary | list | info | remove-pkgs-ts | exclude-updates | exclude-all | check-running-kernel]
+.br
+.I \fR * fssnapshot [summary | list | have-space | create | delete]
+.br
+.I \fR * fs [filters | refilter | refilter-cleanup | du]
 .br
 .I \fR * check
 .br 
@@ -86,14 +103,24 @@ Is used to install the latest version of a package or
 group of packages while ensuring that all dependencies are
 satisfied\&.  (See \fBSpecifying package names\fP for more information) 
 If no package matches the given package name(s), they are assumed to be a shell 
-glob and any matches are then installed\&. If the name starts with an 
-@ character the rest of the name is used as though passed to the groupinstall
-command\&. If the name starts with a - character, then a search is done within
-the transaction and any matches are removed. If the name is a file, then install works
+glob and any matches are then installed\&. If the name starts with @^ then it
+is treated as an environment group (group install @^foo), an @ character and
+it's treated as a group (plain group install)\&.
+
+If the name starts with a "-" character, then a search is done within the
+transaction and any matches are removed. Note that Yum options use the same
+syntax and it may be necessary to use "--" to resolve any possible conflicts.
+
+If the name is a file, then install works
 like localinstall\&. If the name doesn't match a package, then package
-"provides" are searched (Eg. "_sqlitecache.so()(64bit)") as are
+"provides" are searched (e.g. "_sqlitecache.so()(64bit)") as are
 filelists (Eg. "/usr/bin/yum"). Also note that for filelists, wildcards will
 match multiple packages\&.
+
+Because install does a lot of work to make it as easy as possible to use, there
+are also a few specific install commands "\fBinstall-n\fP", "\fBinstall-na\fP"
+and "\fBinstall-nevra\fP". These only work on package names, and do not process
+wildcards etc.
 .IP 
 .IP "\fBupdate\fP"
 If run without any packages, update will update every currently
@@ -111,7 +138,7 @@ changes, for example: upgrading from somelinux 8.0 to somelinux 9.
 
 Note that "\fBupdate\fP" works on installed packages first, and only if there
 are no matches does it look for available packages. The difference is most
-noticable when you do "\fBupdate\fP foo-1-2" which will act exactly as
+noticeable when you do "\fBupdate\fP foo-1-2" which will act exactly as
 "\fBupdate\fP foo" if foo-1-2 is installed. You can use the "\fBupdate-to\fP"
 if you'd prefer that nothing happen in the above case.
 .IP 
@@ -119,6 +146,11 @@ if you'd prefer that nothing happen in the above case.
 This command works like "\fBupdate\fP" but always specifies the version of the
 package we want to update to.
 .IP 
+.IP "\fBupdate-minimal\fP"
+This works like the update command, but if you have the package foo-1
+installed and have foo-2 (bugfix) and foo-3 (enhancement) available with
+updateinfo.xml then update-minimal --bugfix will update you to foo-2.
+.IP 
 .IP "\fBcheck\-update\fP"
 Implemented so you could know if your machine had any updates that needed to
 be applied without running it interactively. Returns exit value of 100 if
@@ -158,7 +190,30 @@ the "install" command\&.(See \fBSpecifying package names\fP for more information
 
 Note that "yum" is included in the protected_packages configuration, by default.
 So you can't accidentally remove yum itself.
+
+The remove_leaf_only configuration changes the behaviour of this command
+to only remove packages which aren't required by something else.
+
+The clean_requirements_on_remove configuration changes the behaviour of this
+command to also remove packages that are only dependencies of this package.
+
+Because remove does a lot of work to make it as easy as possible to use, there
+are also a few specific remove commands "\fBremove-n\fP", "\fBremove-na\fP"
+and "\fBremove-nevra\fP". These only work on package names, and do not process
+wildcards etc.
 .IP 
+.IP "\fBautoremove\fP"
+.IP 
+With one or more arguments this command works like running the "\fBremove\fP"
+command with the clean_requirements_on_remove turned on. However you can also
+specify no arguments, at which point it tries to remove any packages that
+weren't installed explicitly by the user and which aren't required by
+anything (so called leaf packages).
+
+Because autoremove does a lot of work to make it as easy as possible to use,
+there are also a few specific autoremove commands "\fBautoremove-n\fP", 
+"\fBautoremove-na\fP" and "\fBautoremove-nevra\fP". These only work on package
+names, and do not process wildcards etc.
 .IP "\fBlist\fP"
 Is used to list various information about available
 packages; more complete details are available in the \fIList Options\fP
@@ -191,28 +246,45 @@ the \fIClean Options\fP section below\&.
 .IP 
 .IP "\fBmakecache\fP"
 Is used to download and make usable all the metadata for the currently enabled
-\fByum\fP repos.
+\fByum\fP repos. If the argument "fast" is passed, then we just try to make
+sure the repos. are current (much like "yum clean expire-cache").
 .IP 
 .IP "\fBgroups\fP"
-A command, new in 3.4.2, that collects all the subcommands that act on groups together.
+A command, new in 3.4.2, that collects all the subcommands that act on groups
+together. Note that recent yum using distributions (Fedora-19+, RHEL-7+) have
+configured group_command=objects which changes how group commands act in some
+important ways.
 
-"\fBgroup install\fP" is used to install all of the individual packages in a group, of the specified
-types (this works as if you'd taken each of those package names and put them on
-the command line for a "yum install" command).
+"\fBgroup install\fP" is used to install all of the individual packages in a
+group, of the specified types (this works as if you'd taken each of those
+package names and put them on the command line for a "yum install" command).
  The group_package_types configuration option specifies which types will
 be installed.
+ If you wish to "reinstall" a group so that you get a package that is currently
+blacklisted the easiest way to do that currently is to install the package
+manually and then run "groups mark packages-sync mygroup mypackagename" (or
+use yumdb to set the group_member of the package(s)).
 
-"\fBgroup update\fP" is just an alias for groupinstall, which will do the right thing because
-"yum install X" and "yum update X" do the same thing, when X is already
-installed.
+"\fBgroup update\fP" is just an alias for group install, when using
+group_command=compat. This will install packages in the group not already
+installed and upgrade existing packages. With group_command=simple it will just
+upgrade already installed packages. With group_command=objects it will try to
+upgrade the group object, installing any available packages not blacklisted
+(marked '-' in group info) and will upgrade the installed packages.
 
-"\fBgroup list\fP" is used to list the available groups from all \fByum\fP repos. Groups are marked
-as "installed" if all mandatory packages are installed, or if a group doesn't
+"\fBgroup list\fP" is used to list the available groups from all \fByum\fP
+repos. When group_command=objects the group is installed if the user
+explicitly installed it (or used the group mark* commands to mark it installed).
+It does not need to have any packages installed.
+When not using group_command=objects groups are shown as "installed" if all
+mandatory packages are installed, or if a group doesn't
 have any mandatory packages then it is installed if any of the optional or
-default package are installed.
-The optional "hidden" argument will also list groups marked as not being
-"user visible". If you pass the \-v option, to enable verbose mode, then the
-groupids are displayed.
+default package are installed (when not in group_command=objects mode).
+You can pass optional arguments to the list/summary commands: installed,
+available, environment, language, packages, hidden and ids (or any of those
+prefixed by "no" to turn them off again).
+If you pass the \-v option, to enable verbose mode, then the groupids are
+displayed by default (but "yum group list ids" is often easier to read).
 
 "\fBgroup remove\fP" is used to remove all of the packages in a group, unlike "groupinstall" this
 will remove everything regardless of group_package_types. It is worth pointing
@@ -224,23 +296,82 @@ to only remove packages which aren't required by something else.
 
 "\fBgroup info\fP" is used to give the description and package list of a group (and which type
 those packages are marked as). Note that you can use the yum-filter-data and
-yum-list-data plugins to get/use the data the other way around (Ie. what
+yum-list-data plugins to get/use the data the other way around (i.e. what
 groups own packages need updating). If you pass the \-v option, to enable verbose
 mode, then the package names are matched against installed/available packages
 similar to the list command.
+
+When using group_command=objects, the info command will display markers next
+to each package saying how that package relates to the group object. The
+meaning of these markers is:
+
+.br
+"-" = Package isn't installed, and won't be installed as part of the group (Eg.  "yum group install foo -pkgA" or "yum group install foo; yum remove pkgA" … this will have pkgA marked as '-')
+.br
+"+" = Package isn't installed, but will be the next time you run "yum upgrade" or "yum group upgrade foo"
+.br
+" " = Package is installed, but wasn't installed via the group (so "group remove foo" won't remove it).
+.br
+"=" = Package is installed, and was installed via the group.
+
+you can move an installed package into an installed group using either
+"group mark package-sync/package-sync-forced" or "yumdb set group_member".
+
+"\fBgroup summary\fP" is used to give a quick summary of how many groups
+are installed and available.
+
+"\fBgroup mark\fP" and "\fBgroup unmark\fP" are used when groups are configured
+in group_command=objects mode. These commands then allow you to alter yum's idea
+of which groups are installed, and the packages that belong to them.
+
+"\fBgroup mark install\fP" mark the group as installed. When
+installed "\fByum upgrade\fP" and "\fByum group upgrade\fP" will install new
+packages for the group (only those packages already installed will be marked as
+members of the installed group to start with).
+
+"\fBgroup mark remove\fP" the opposite of mark install.
+
+"\fBgroup mark packages\fP" takes a group id (which must be installed) and marks
+any given installed packages (which aren't members of a group) as members of
+the group. Note that the data from the repositories does not need to specify
+the packages as a member of the group.
+
+"\fBgroup mark packages-force\fP" works like mark packages, but doesn't care if
+the packages are already members of another group.
+
+"\fBgroup mark blacklist\fP" will blacklist all packages marked to be installed
+for a group. After this command a "yum group upgrade" will not install any new
+packages as part of the group.
+
+"\fBgroup mark convert-blacklist\fP"
+
+"\fBgroup mark convert-whitelist\fP"
+
+"\fBgroup mark convert\fP" converts the automatic data you get
+without using groups as objects into groups as objects data, in other words
+this will make "yum --setopt=group_command=objects groups list" look as similar
+as possible to the current output of
+"yum --setopt=group_command=simple groups list". This makes it much
+easier to convert to groups as objects without having to reinstall. For groups
+that are installed the whitelist variant will mark all uninstalled packages for
+the group as to be installed on the next "yum group upgrade", the blacklist
+variant (current default) will mark them all as blacklisted.
+
+"\fBgroup unmark packages\fP" remove a package as a member from any groups.
 .IP
 .IP "\fBshell\fP"
 Is used to enter the 'yum shell', when a filename is specified the contents of
-that file is executed in yum shell mode. See \fIyum-shell(8)\fP for more info
+that file is executed in yum shell mode. See \fIyum-shell(8)\fP for more info.
 .IP
 .IP "\fBresolvedep\fP"
 Is used to list packages providing the specified dependencies, at most one
-package is listed per dependency. 
+package is listed per dependency. This command is maintained for legacy
+reasons only, use repoquery instead.
 .IP
 .IP "\fBlocalinstall\fP"
 Is used to install a set of local rpm files. If required the enabled 
 repositories will be used to resolve dependencies. Note that the install command
-will do a local install, if given a filename. This option is maintained for legacy
+will do a local install, if given a filename. This command is maintained for legacy
 reasons only.
 .IP
 .IP "\fBlocalupdate\fP"
@@ -248,7 +379,7 @@ Is used to update the system by specifying local rpm files. Only the specified
 rpm files of which an older version is already installed will be installed,
 the remaining specified packages will be ignored.
 If required the enabled repositories will be used to resolve dependencies. Note
-that the update command will do a local update, if given a filename. This option is maintained for
+that the update command will do a local update, if given a filename. This command is maintained for
 legacy reasons only.
 .IP
 .IP "\fBreinstall\fP"
@@ -260,10 +391,28 @@ on groups, files, provides and filelists just like the "install" command\&.
 Will try and downgrade a package from the version currently installed to the
 previously highest version (or the specified version).
 The depsolver will not necessarily work, but if you specify all the packages it
-should work (and thus. all the simple cases will work). Also this does not
+should work (thus, all the simple cases will work). Also this does not
 work for "installonly" packages, like Kernels. downgrade operates
 on groups, files, provides, filelists and rpm files just like the "install" command\&.
 .IP
+.IP "\fBswap\fP"
+At it's simplest this is just a simpler way to remove one set of package(s) and
+install another set of package(s) without having to use the "shell" command.
+However you can specify different commands to call than just remove or install,
+and you can list multiple packages (it splits using the "--" marker).
+Note that option parsing will remove the first "--" in an argument list on the
+command line.
+
+
+Examples:
+
+.nf
+swap foo bar
+swap -- remove foo -- install bar
+swap foo group install bar-grp
+swap -- group remove foo-grp -- group install bar-grp
+.fi
+.IP
 .IP "\fBdeplist\fP"
 Produces a list of all dependencies and what packages provide those
 dependencies for the given packages. As of 3.2.30 it now just shows the latest
@@ -273,16 +422,18 @@ changed by using --verbose).
 .IP
 .IP "\fBrepolist\fP"
 Produces a list of configured repositories. The default is to list all
-enabled repositories. If you pass \-v, for verbose mode, more information is
-listed. If the first argument is 'enabled', 'disabled' or 'all' then the command
-will list those types of repos.
+enabled repositories. If you pass \-v, for verbose mode, or use repoinfo then
+more information is listed. If the first argument is \'enabled\', \'disabled\'
+or \'all\' then the command will list those types of repos.
 
 You can pass repo id or name arguments, or wildcards which to match against
 both of those. However if the id or name matches exactly then the repo will
 be listed even if you are listing enabled repos. and it is disabled.
 
-In non-verbose mode the first column will start with a '*' if the repo. has
-metalink data and the latest metadata is not local. For non-verbose mode the
+In non-verbose mode the first column will start with a \'*\' if the repo. has
+metalink data and the latest metadata is not local and will start with a
+\'!\' if the repo. has metadata that is expired (this can happen due to
+metadata_expire_filter). For non-verbose mode the
 last column will also display the number of packages in the repo. and (if there
 are any user specified excludes) the number of packages excluded.
 
@@ -291,11 +442,66 @@ then yum will ignore any repo errors and output the information it can get
 (Eg. "yum clean all; yum -C repolist" will output something, although the
 package counts/etc. will be zeroed out).
 .IP
+.IP "\fBrepoinfo\fP"
+.IP
+This command works exactly like repolist -v.
+.IP
+.IP "\fBrepository\-packages\fP"
+Treat a repo. as a collection of packages (like "yum groups") allowing the user
+to install or remove them as a single entity.
+
+"repository\-packages <repo> list" - Works like the "yum list" command, but
+only shows packages from the given repository.
+
+"repository\-packages <repo> info" - Works like the "yum info" command, but
+only shows packages from the given repository.
+
+"repository\-packages <repo> check-update" - Works like the
+"yum check-update" command, but only shows packages from the given repository.
+
+"repository\-packages <repo> install" - Install all of the packages in the
+repository, basically the same as: yum install $(repoquery --repoid=<repo> -a).
+Specific packages/wildcards can be specified.
+
+"repository\-packages <repo> upgrade" - Update all of the packages in the
+repository, basically the same as: yum upgrade $(repoquery --repoid=<repo> -a).
+Specific packages/wildcards can be specified.
+
+"repository\-packages <repo> upgrade-to" - Update all of the packages in the
+repository, basically the same as: yum upgrade $(repoquery --repoid=<repo> -a).
+Without arguments it works the same as upgrade, with arguments it just
+interprets them as the versions you want to move to.
+
+"repository\-packages <repo> reinstall-old" - ReInstall all of the packages 
+that are installed from the repository and available in the
+repository, similar to: yum reinstall $(yumdb search-quiet from_repo <repo>).
+
+"repository\-packages <repo> move-to" - ReInstall all of the packages 
+that are available in the repository, basically the same as:
+yum reinstall $(repoquery --repoid=<repo> -a).
+
+"repository\-packages <repo> reinstall" - Tries to do reinstall-old, but if that
+produces no packages then tries move-to.
+
+"repo\-pkgs <repo> remove" - Remove all of the packages in the repository, very
+similar to: yum remove $(repoquery --repoid=<repo> -a). However the
+repopkgsremove_leaf_only option is obeyed.
+
+"repo\-pkgs <repo> remove-or-reinstall" - Works like remove for any package
+that doesn't have the exact same version in another repository. For any package
+that does have the exact NEVRA in another repository then that version will be
+reinstalled.
+
+"repo\-pkgs <repo> remove-or-distro-sync" - Works like remove for any package
+that doesn't exist in another repository. For any package that does exist
+it tries to work as if distro-sync was called (with the repo. disabled).
+
+.IP
 .IP "\fBversion\fP"
 Produces a "version" of the rpmdb, and of the enabled repositories if "all" is
 given as the first argument. You can also specify version groups in the
-version-groups config. file. If you pass \-v, for verbose mode, more
-information is listed. The version is calculated by taking a sha1 hash of the
+version-groups configuration file. If you pass \-v, for verbose mode, more
+information is listed. The version is calculated by taking an SHA1 hash of the
 packages (in sorted order), and the checksum_type/checksum_data entries from
 the yumdb. Note that this rpmdb version is now also used significantly within
 yum (esp. in yum history).
@@ -321,26 +527,33 @@ and so takes sub-commands:
 .IP "\fBhistory\fP"
 The history command allows the user to view what has happened in past
 transactions (assuming the history_record config. option is set). You can use
-info/list/packages-list/summary to view what happened, undo/redo/rollback to act
-on that information and new to start a new history file.
+info/list/packages-list/packages-info/summary to view what happened,
+undo/redo/rollback to act on that information and new to start a new history
+file.
 
 The info/list/summary commands take either a transaction id or a package (with
 wildcards, as in \fBSpecifying package names\fP), all three can also be passed
 no arguments. list can be passed the keyword "all" to list all the transactions.
 
-The packages-list command takes a package  (with wildcards, as in
-\fBSpecifying package names\fP).
+The packages-list/packages-info commands takes a package  (with wildcards, as in
+\fBSpecifying package names\fP). And show data from the point of view of that
+package.
 
 The undo/redo/rollback commands take either a single transaction id or the
 keyword last and an offset from the last transaction (Eg. if you've done 250
 transactions, "last" refers to transaction 250, and "last-4" refers to
 transaction 246).
+The redo command can also take some optional arguments before you specify the
+transaction. "force-reinstall" tells it reinstall any packages that were
+installed in that transaction (via install, upgrade or downgrade).
+"force-remove" tells it to forcibly remove any packages that were updated or
+downgraded.
 
 The undo/redo commands act on the specified transaction, undo'ing or repeating
 the work of that transaction. While the rollback command will undo all
-transactions upto the point of the specified transaction. For example, if you
+transactions up to the point of the specified transaction. For example, if you
 have 3 transactions, where package A; B and C where installed respectively.
-Then "undo 1" will try to remove pacakge A, "redo 1" will try to install package
+Then "undo 1" will try to remove package A, "redo 1" will try to install package
 A (if it is not still installed), and "rollback 1" will try to remove packages
 B and C. Note that after a "rollback 1" you will have a fourth transaction,
 although the ending rpmdb version (see: yum version) should be the same in
@@ -349,13 +562,20 @@ transactions 1 and 4.
 The addon-info command takes a transaction ID, and the packages-list command
 takes a package (with wildcards).
 
-In "history list" you can change the behaviour of the 2nd column via. the
+The stats command shows some statistics about the current history DB.
+
+The sync commands allows you to change the rpmdb/yumdb data stored for any
+installed packages, to whatever is in the current rpmdb/yumdb (this is mostly
+useful when this data was not stored when the package went into the history DB).
+
+In "history list" you can change the behaviour of the 2nd column via the
 configuration option history_list_view.
 
 In "history list" output the Altered column also gives some extra information
 if there was something not good with the transaction (this is also shown at the
 end of the package column in the packages-list command).
 
+.br
 .I \fB>\fR - The rpmdb was changed, outside yum, after the transaction.
 .br
 .I \fB<\fR - The rpmdb was changed, outside yum, before the transaction.
@@ -371,11 +591,193 @@ end of the package column in the packages-list command).
 .I \fBs\fR - The transaction completed fine, but --skip-broken was enabled and had to skip some packages.
 .br
 
+
+.IP
+.IP "\fBload-transaction\fP"
+This command will re-load a saved yum transaction file, this allows you to
+run a transaction on one machine and then use it on another.
+The two common ways to get a saved yum transaction file are from
+"yum -q history addon-info last saved_tx" or via the automatic saves in
+$TMPDIR/yum_save_tx.* when a transaction is solved but not run.
+
+Running the command without an argument, or a directory as an argument will
+try and list the possible files available to load. Showing if the packages are
+still available, if the rpmdb matches the current rpmdb, how many transaction
+install/removes members are in the saved transaction and what the filename is.
+
+.IP
+.IP "\fBupdateinfo\fP"
+This command has a bunch of sub-commands to act on the updateinfo in the
+repositories. The simplest commands are:
+
+.br
+.I \fR yum updateinfo info [all | available | installed | updates]
+.br 
+.I \fR yum updateinfo list [all | available | installed | updates]
+.br 
+.I \fR yum updateinfo [summary] [all | available | installed | updates]
+.br 
+
+which all display information about the available update information relevant
+to your machine (including anything installed, if you supply "all").
+.br
+
+.br
+.I \fR "\fB* all\fP"
+Is used to display information about both install and available advisories.
+.br
+.I \fR "\fB* available\fP"
+Is used to display information about just available advisories. This is the
+default.
+.br
+.I \fR "\fB* installed\fP"
+Is used to display information about just install advisories.
+.br
+.I \fR "\fB* updates\fP"
+This is mostly the same as "available" but it only shows advisory information
+for packages that can be updated to.
+
+
+.br
+They all take as arguments:
+
+.br
+.br
+.I \fR "\fB* <advisory> [advisory...]\fP"
+Is used to display information about one or more advisories.
+
+.br
+.I \fR "\fB* <package> [package...]\fP"
+Is used to display information about one or more packages.
+
+.br
+.I \fR "\fB* bugzillas / bzs\fP"
+Is the subset of the updateinfo information, pertaining to the bugzillas.
+
+.br
+.I \fR "\fB* cves\fP"
+Is the subset of the updateinfo information, pertaining to the CVEs.
+
+.br
+.I \fR "\fB* enhancement\fP"
+Is the subset of the updateinfo information, pertaining to enhancements.
+
+.br
+.I \fR "\fB* bugfix\fP"
+Is the subset of the updateinfo information, pertaining to bugfixes.
+
+.br
+.I \fR "\fB* security / sec\fP"
+Is the subset of the updateinfo information, pertaining to security.
+
+.br
+.I \fR "\fB* severity / sev\fP"
+Include security relevant packages of this severity.
+
+.br
+.I \fR "\fB* recommended\fP"
+Is the subset of the updateinfo information, pertaining to recommended updates.
+
+.br
+.I \fR "\fB* new-packages\fP"
+Is the subset of the updateinfo information, pertaining to new packages. These
+are packages which weren't available at the initial release of your
+distribution.
+.br
+
+There are also three sub-commands to remove packages when using "yum shell", 
+they are:
+
+.br
+.I \fR yum updateinfo remove-pkgs-ts
+
+.br 
+.I \fR yum updateinfo exclude-updates
+
+.br 
+.I \fR yum updateinfo exclude-all
+.br 
+
+they all take the following arguments:
+
+.br
+.I \fR* [bzs=foo] [advisories=foo] [cves=foo] [security-severity=foo] [security] [bugfix]
+.br 
+
+and finally there is a command to manually check the running kernel against
+updateinfo data:
+
+.br
+.I \fR yum updateinfo check-running-kernel
+.br 
+
+.IP
+.IP "\fBfssnapshot\fP"
+This command has a few sub-commands to act on the LVM data of the host, to list
+snapshots and the create and remove them. The simplest commands, to display
+information about the configured LVM snapshotable devices, are:
+
+.br 
+.I \fR yum fssnapshot [summary]
+.br 
+.I \fR yum fssnapshot list
+.br
+.I \fR yum fssnapshot have-space
+.br
+
+then you can create and delete snapshots using:
+
+.br
+.I \fR yum fssnap create
+.br 
+.I \fR yum fssnap delete <device(s)>
+.br 
+
+.br
+Configuration Options: \fBfssnap_automatic_pre\fP, \fBfssnap_automatic_post\fP, \fBfssnap_automatic_keep\fP, \fBfssnap_percentage\fP, \fBfssnap_devices\fP
+
+.IP
+.IP "\fBfs\fP"
+This command has a few sub-commands to act on the filesystem data of the host,
+mainly for removing languages/documentation for minimal installs:
+
+.br 
+.I \fR yum fs filters
+
+.br 
+.I \fR yum fs filter languages en:es
+
+.br 
+.I \fR yum fs filter documentation
+
+.br 
+.I \fR yum fs refilter [package(s)]
+
+.br 
+.I \fR yum fs refilter-cleanup [package(s)]
+
+.br 
+.I \fR yum fs du [path]
+
+.br 
+.I \fR yum fs status [path]
+
+.br 
+.I \fR yum fs diff [path]
+
+
+the first 3 being a simple interface to change yum.conf altering the tsflags
+and override_install_langs configurations. The refilter command is an optimized
+way of calling "yum reinstall" to reinstall the packages with the new filters
+applied. The refilter-cleanup command is needed because rpm doesn't actually
+remove the files on reinstall, as it should. And the du/status/diff commands are
+included so you can easily see the space used/saved and any other changes.
+
 .IP
 .IP "\fBcheck\fP"
 Checks the local rpmdb and produces information on any problems it finds. You
-can pass the check command the arguments "dependencies" or "duplicates", to
-limit the checking that is performed (the default is "all" which does both).
+can pass the check command the arguments "dependencies", "duplicates", "obsoletes" or "provides",
+to limit the checking that is performed (the default is "all" which does all).
 
 The info command can also take ranges of transaction ids, of the form
 start..end, which will then display a merged history as if all the
@@ -401,6 +803,11 @@ Assume yes; assume that the answer to any question which would be asked
 is yes\&.
 .br
 Configuration Option: \fBassumeyes\fP
+.IP "\fB\-\-assumeno\fP"
+Assume no; assume that the answer to any question which would be asked 
+is no\&. This option overrides assumeyes, but is still subject to alwaysprompt.
+.br
+Configuration Option: \fBassumeno\fP
 .IP "\fB\-c, \-\-config=[config file]\fP" 
 Specifies the config file location - can take HTTP and FTP URLs and local file
 paths\&.
@@ -420,7 +827,7 @@ Sets the error level to [number] Practical range 0 \- 10. 0 means print only cri
 .br
 Configuration Option: \fBerrorlevel\fP
 .IP "\fB\-\-rpmverbosity=[name]\fP" 
-Sets the debug level to [name] for rpm scriplets. 'info' is the default, other
+Sets the debug level to [name] for rpm scriptlets. 'info' is the default, other
 options are: 'critical', 'emergency', 'error', 'warn' and 'debug'.
 .br
 Configuration Option: \fBrpmverbosity\fP
@@ -428,9 +835,7 @@ Configuration Option: \fBrpmverbosity\fP
 Sets the maximum amount of time yum will wait before performing a command \- it randomizes over the time.
 .IP "\fB\-C, \-\-cacheonly\fP" 
 Tells yum to run entirely from system cache - does not download or
-update any headers unless it has to to perform the requested action. If you're
-using this as a user yum will not use the tempcache for the user but will only
-use the system cache in the system cachedir.
+update any headers unless it has to to perform the requested action.
 .IP "\fB\-\-version\fP" 
 Reports the \fByum\fP version number and installed package versions for
 everything in history_record_packages (can be added to by plugins).
@@ -461,8 +866,13 @@ processing logic. For more information see the \fBupdate\fP command above.
 .br
 Configuration Option: \fBobsoletes\fP
 .IP "\fB\-x, \-\-exclude=package\fP"
-Exclude a specific package by name or glob from updates on all repositories.
-Configuration Option: \fBexclude\fP
+Exclude a specific package by name or glob from all repositories, so yum works
+as if that package was never in the repositories.
+This is commonly used so a package isn't upgraded or installed accidentally, but
+can be used to remove packages in any way that "yum list" will show packages.
+
+Can be disabled using --disableexcludes.
+Configuration Option: \fBexclude\fP, \fBincludepkgs\fP
 .br
 .IP "\fB\-\-color=[always|auto|never]\fP"
 Display colorized output automatically, depending on the output terminal,
@@ -479,6 +889,13 @@ main == disable excludes defined in [main] in yum.conf
 .br
 repoid == disable excludes defined for that repo
 .br
+.IP "\fB\-\-disableincludes=[all|repoid]\fP"
+Disable the includes defined in your config files. Takes one of two options:
+.br
+all == disable all includes
+.br
+repoid == disable includes defined for that repo
+.br
 .IP "\fB\-\-disableplugin=plugin\fP"
 Run with one or more plugins disabled, the argument is a comma separated list
 of wildcards to match against plugin names.
@@ -506,7 +923,15 @@ option will corrupt your cache (and you can use $releasever in your cachedir
 configuration to stop this).
 .PP 
 .IP "\fB\-t, \-\-tolerant\fP"
-This option currently does nothing.
+This option makes yum go slower, checking for things that shouldn't be possible
+making it more tolerant of external errors.
+.br
+.IP "\fB\-\-downloadonly\fP"
+Don't update, just download. This is done in the background, so the yum lock is released for other operations. This can also be chosen by typing 'd'ownloadonly
+at the transaction confirmation prompt.
+.br
+.IP "\fB\-\-downloaddir=directory\fP"
+Specifies an alternate directory to store packages.
 .br
 .IP "\fB\-\-setopt=option=value\fP"
 Set any config option in yum config or repo files. For options in the global 
@@ -523,7 +948,7 @@ version of the package\&.
 
 The format of the output of yum list is:
 
-name.arch [epoch:]version-release  repo or \@installed-from-repo
+name.arch [epoch:]version-release  repo or @installed-from-repo
 
 .IP "\fByum list [all | glob_exp1] [glob_exp2] [\&.\&.\&.]\fP"
 List all available and installed packages\&.
@@ -542,14 +967,18 @@ shell\-style glob and any matches are printed\&.
 List the packages installed on the system that are not available in any yum
 repository listed in the config file.
 .IP
+.IP "\fByum list distro-extras [glob_exp1] [\&.\&.\&.]\fP"
+List the packages installed on the system that are not available, by name,
+in any yum repository listed in the config file.
+.IP
 .IP "\fByum list obsoletes [glob_exp1] [\&.\&.\&.]\fP"
 List the packages installed on the system that are obsoleted by packages
 in any yum repository listed in the config file.
 .IP
 .IP "\fByum list recent\fP"
 List packages recently added into the repositories. This is often not helpful,
-but what you may really want to use is "yum list-updateinfo new" from the
-security yum plugin.
+but what you may really want to use is "yum updateinfo list new" although that
+relies on updateinfo data from the repos.
 .IP
 
 .PP
@@ -658,7 +1087,7 @@ configuration options.
 .I yum-complete-transaction (1)
 .I yumdownloader (1)
 .I yum-utils (1)
-.I yum-security (8)
+.I yum-langpacks (1)
 http://yum.baseurl.org/
 http://yum.baseurl.org/wiki/Faq
 yum search yum
diff --git a/docs/yum.conf.5 b/docs/yum.conf.5
index 515aa73..c39544d 100644
--- a/docs/yum.conf.5
+++ b/docs/yum.conf.5
@@ -64,7 +64,7 @@ options are: 'critical', 'emergency', 'error', 'warn' and 'debug'.
 .IP
 \fBprotected_packages\fR
 This is a list of packages that yum should never completely remove. They are
-protected via. Obsoletes as well as user/plugin removals.
+protected via Obsoletes as well as user/plugin removals.
 
 The default is: yum glob:/etc/yum/protected.d/*.conf
 So any packages which should be protected can do so by including a file in 
@@ -114,37 +114,48 @@ are causing problems from the transaction.
 Either `1' or `0'. Determines whether or not yum prompts for confirmation of
 critical actions. Default is `0' (do prompt).
 .br
-Command-line option: \fB\-y\fP
+Command-line option: \fB\-y\fP \fB\--assumeyes\fP
+
+.IP
+\fBassumeno\fR
+Either `1' or `0'. If yum would prompt for confirmation of critical actions, 
+assume the user chose no. This is basically the same as doing "echo | yum ..."
+but is a bit more usable. This option overrides \fBassumeyes\fP, but is still
+subject to \fBalwaysprompt\fP.
+Default is `0' (do prompt).
+.br
+Command-line option: \fB\--assumeno\fP
 
 .IP
 \fBalwaysprompt\fR
 Either `1' or `0'. Without this option, yum will not prompt for confirmation
 when the list of packages to be installed exactly matches those given on the
-command line. Unless \fBassumeyes\fR is enabled, it will still prompt for
-package removal, or when additional packages need to be installed to fulfill
-dependencies. Default is `1'.
+command line. Unless \fBassumeyes\fR is enabled, it will still prompt when
+additional packages need to be installed to fulfill dependencies. Note that
+older versions of yum would also always prompt for package removal, and that is
+no longer true.
+Default is `1'.
 .br
 
 .IP
 \fBtolerant\fR
-Either `1' or `0'. If enabled, then yum will be tolerant of errors on the
-command line with regard to packages. For example: if you request to install
-foo, bar and baz and baz is installed; yum won't error out complaining that baz
-is already installed. Default to `0' (not tolerant).
+Either `1' or `0'. If enabled, yum will go slower, checking for things that
+shouldn't be possible making it more tolerant of external errors.
+Default to `0' (not tolerant).
 .br
 Command-line option: \fB\-t\fP
 
 .IP
 \fBexclude\fR
-List of packages to exclude from updates or installs. This should be a space
+List of packages to exclude from all repositories, so yum works
+as if that package was never in the repositories. This should be a space
 separated list.
+This is commonly used so a package isn't upgraded or installed accidentally, but
+can be used to remove packages in any way that "yum list" will show packages.
 Shell globs using wildcards (eg. * and ?) are allowed.
 
-.IP
-\fBexactarch\fR
-Either `1' or `0'. Set to `1' to make yum update only update the architectures
-of packages that you have installed. ie: with this enabled yum will not install
-an i686 package to update an i386 package. Default is `1'.
+Can be disabled using --disableexcludes.
+Command-line option: \fB\-x\fP
 
 .IP
 \fBinstallonlypkgs \fR
@@ -161,7 +172,7 @@ will also apply to kernel-debug-devel, etc.
 Number of packages listed in installonlypkgs to keep installed at the same
 time. Setting to 0 disables this feature. Default is '0'. Note that this
 functionality used to be in the "installonlyn" plugin, where this option was
-altered via. tokeep.
+altered via tokeep.
 Note that as of version 3.2.24, yum will now look in the yumdb for a installonly
 attribute on installed packages. If that attribute is "keep", then they will
 never be removed.
@@ -188,12 +199,32 @@ Default is `true'.
 Command-line option: \fB\-\-obsoletes\fP
 
 .IP
+\fBremove_leaf_only \fR
+Either `0' or `1'. Used to determine yum's behaviour when a package is removed.
+If \fBremove_leaf_only\fR is `0' (default) then
+packages, and their deps, will be removed.  If \fBremove_leaf_only\fR is
+`1' then only those packages that aren't required by another
+package will be removed.
+
+.IP
+\fBrepopkgsremove_leaf_only \fR
+Either `0' or `1'. Used to determine yum's behaviour when the repo-pkg remove
+command is run.  If \fBrepopkgremove_leaf_only\fR is `0' (default) then
+all packages in the repo. will be removed.  If \fBrepopkgremove_leaf_only\fR is
+`1' then only those packages in the repo. that aren't required by another
+package will be removed.
+Note that this option does not override remove_leaf_only, so enabling that
+option means this has almost no affect.
+
+.IP
 \fBoverwrite_groups \fR
 Either `0' or `1'. Used to determine yum's behaviour if two or more
 repositories offer the package groups with the same name. If
 \fBoverwrite_groups\fR is `1' then the group packages of the last matching
 repository will be used. If \fBoverwrite_groups\fR is `0' then the groups
 from all matching repositories will be merged together as one large group.
+Note that this option does not override remove_leaf_only, so enabling that
+option means this has almost no affect.
 
 .IP
 \fBgroupremove_leaf_only \fR
@@ -215,6 +246,43 @@ of packages in groups will be installed when 'groupinstall' is called.
 Default is: default, mandatory
 
 .IP
+\fBgroup_command\fR
+List of the following: simple, compat, objects. Tells yum what to do for
+group install/upgrade/remove commands.
+
+Simple acts like you did yum group cmd $(repoquery --group --list group), so
+it is vrery easy to reason about what will happen. Alas. this is often not what
+people want to happen.
+
+Compat. works much like simple, except that when you run "group upgrade" it
+actually runs "group install" (this means that you get any new packages added
+to the group, but you also get packages added that were there before and you
+didn't want).
+
+Objects makes groups act like a real object, separate from the packages they
+contain. Yum keeps track of the groups you have installed, so "group upgrade"
+will install new packages for the group but not install old ones. It also knows
+about group members that are installed but weren't installed as part of the
+group, and won't remove those on "group remove".
+Running "yum upgrade" will also run "yum group upgrade" (thus. adding new
+packages for all groups).
+
+Default is: compat
+
+.IP
+\fBupgrade_group_objects_upgrade\fR
+Either `0' or `1'. Set this to `0' to disable the automatic running of
+"group upgrade" when running the "upgrade" command, and group_command is set to
+"objects". Default is `1' (perform the operation).
+
+.IP
+\fBautocheck_running_kernel\fR
+Either `0' or `1'. Set this to `0' to disable the automatic checking of the
+running kernel against updateinfo ("yum updateinfo check-running-kernel"), in
+the "check-update" and "updateinfo summary" commands.
+Default is `1' (perform the check).
+
+.IP
 \fBinstallroot \fR
 Specifies an alternative installroot, relative to which all packages will be
 installed. 
@@ -222,15 +290,34 @@ installed.
 Command-line option: \fB\-\-installroot\fP
 
 .IP
+\fBconfig_file_path \fR
+Specifies the path to main the configuration file.
+Default is /etc/yum/yum.conf.
+
+.IP
+\fBcheck_config_file_age \fR
+Either `0' or `1'. Specifies whether yum should auto metadata expire repos. 
+that are older than any of the configuration files that led to them (usually 
+the yum.conf file and the foo.repo file).
+Default is `1' (perform the check).
+
+.IP
 \fBdistroverpkg\fR
-The package used by yum to determine the "version" of the distribution. This
-can be any installed package. Default is `redhat-release'. You can see what
-provides this manually by using: "yum whatprovides redhat-release".
+The package used by yum to determine the "version" of the distribution, this
+sets $releasever for use in config. files. This
+can be any installed package. Default is `system-release(releasever)',
+`redhat-release'. Yum will now look at the version provided by the provide,
+and if that is non-empty then will use the full V(-R), otherwise it uses the
+version of the package.
+ You can see what provides this manually by using: 
+"yum whatprovides 'system-release(releasever)' redhat-release" and you can see
+what $releasever is most easily by using: "yum version".
 
 .IP
 \fBdiskspacecheck\fR
 Either `0' or `1'. Set this to `0' to disable the checking for sufficient
-diskspace before a RPM transaction is run. Default is `1' (perform the check).
+diskspace and inodes before a RPM transaction is run. Default is `1'
+(perform the check).
 
 .IP
 \fBtsflags\fR
@@ -240,6 +327,14 @@ with newer rpm versions.
 You can set all/any of them. However, if you don't know what these do in the
 context of an rpm transaction set you're best leaving it alone. Default is
 an empty list.
+Also see the "yum fs" command, for excluding docs.
+
+.IP
+\fBoverride_install_langs\fR
+This is a way to override rpm's _install_langs macro. without having to change
+it within rpm's macro file.
+Default is nothing (so does nothing).
+Also see the "yum fs" command.
 
 .IP
 \fBrecent\fR
@@ -291,6 +386,16 @@ the maximum available bandwidth.
 
 Set to `0' to disable bandwidth throttling. This is the default.
 
+Note that when multiple downloads run simultaneously the total bandwidth might
+exceed the throttle limit. You may want to also set max_connections=1 or scale
+your throttle option down accordingly.
+
+.IP
+\fBminrate \fR
+This sets the low speed threshold in bytes per second. If the server
+is sending data slower than this for at least `timeout' seconds, Yum
+aborts the connection. The default is `1000'.
+
 .IP
 \fBbandwidth \fR
 Use to specify the maximum available network bandwidth in bytes/second.  Used
@@ -300,6 +405,50 @@ with the \fBthrottle\fR option (above). If \fBthrottle\fR is a percentage and
 ignored. Default is `0' (no bandwidth throttling). 
 
 .IP
+\fBip_resolve \fR
+Determines how yum resolves host names.
+
+`4' or `IPv4': resolve to IPv4 addresses only.
+
+`6' or `IPv6': resolve to IPv6 addresses only.
+
+.IP
+\fBmax_connections \fR
+
+The maximum number of simultaneous connections.  This overrides the urlgrabber
+default of 5 connections.  Note that there are also implicit per-mirror limits
+and the downloader honors these too.
+
+.IP
+\fBdeltarpm\fR
+
+When non-zero, delta-RPM files are used if available.  The value specifies
+the maximum number of "applydeltarpm" processes Yum will spawn, if the value
+is negative then yum works out how many cores you have and multiplies that
+by the value (cores=2, deltarpm=-2; 4 processes). (2 by default).
+
+Note that the "applydeltarpm" process uses a significant amount of disk IO,
+so running too many instances can significantly slow down all disk IO including
+the downloads that yum is doing (thus. a too high value can make everything
+slower).
+
+.IP
+\fBdeltarpm_percentage\fR
+When the relative size of delta vs pkg is larger than this, delta is not used.
+Default value is 75 (Deltas must be at least 25% smaller than the pkg).
+Use `0' to turn off delta rpm processing. Local repositories (with file://
+baseurl) have delta rpms turned off by default.
+
+.IP
+\fBdeltarpm_metadata_percentage\fR
+When the relative size of deltarpm metadata vs pkgs is larger than this,
+deltarpm metadata is not downloaded from the repo.
+Default value is 100 (Deltarpm metadata must be smaller than the packages from
+the repo). Note that you can give values over 100, so 200 means that the
+metadata is required to be half the size of the packages.
+Use `0' to turn off this check, and always download metadata.
+
+.IP
 \fBsslcacert \fR
 Path to the directory containing the databases of the certificate authorities
 yum should use to verify SSL certificates. Defaults to none - uses system
@@ -331,6 +480,15 @@ Path to the SSL client key yum should use to connect to repos/remote sites
 Defaults to none.
 
 .IP
+\fBssl_check_cert_permissions \fR
+Boolean - Whether yum should check the permissions on the paths for the
+certificates on the repository (both remote and local). If we can't read any of
+the files then yum will force skip_if_unavailable to be true.
+This is most useful for non-root processes which use yum on repos. that have
+client cert files which are readable only by root.
+Defaults to True.
+
+.IP
 \fBhistory_record \fR
 Boolean - should yum record history entries for transactions. This takes some
 disk space, and some extra time in the transactions. But it allows how to know a
@@ -391,7 +549,9 @@ syslog logging is disabled.  Default is `/dev/log'.
 
 .IP
 \fBproxy \fR
-URL to the proxy server that yum should use.
+URL to the proxy server that yum should use.  Set this to `libproxy'
+to enable proxy auto configuration via libproxy.  Defaults to direct
+connection.
 
 .IP
 \fBproxy_username \fR
@@ -438,6 +598,31 @@ It's also possible to use the word "never", meaning that the metadata will
 never expire. Note that when using a metalink file the metalink must always
 be newer than the metadata for the repository, due to the validation, so this
 timeout also applies to the metalink file.
+Also note that "never" does not override "yum clean expire-cache"
+
+.IP
+\fBmetadata_expire_filter \fR
+Filter the metadata_expire time, allowing a trade of speed for accuracy if
+a command doesn't require it. Each yum command can specify that it requires a
+certain level of timeliness quality from the remote repos. from "I'm about to
+install/upgrade, so this better be current" to "Anything that's available
+is good enough".
+
+`never' - Nothing is filtered, always obey metadata_expire.
+
+`read-only:past' - Commands that only care about past information
+are filtered from metadata expiring.
+Eg. yum history info (if history needs to lookup anything about a previous
+transaction, then by definition the remote package was available in the past).
+
+`read-only:present' - Commands that are balanced between past and future.
+This is the default.
+Eg. yum list yum
+
+`read-only:future' - Commands that are likely to result in running other
+commands which will require the latest metadata. Eg. yum check-update
+
+Note that this option does not override "yum clean expire-cache".
 
 .IP
 \fBmirrorlist_expire \fR
@@ -462,12 +647,12 @@ always did, however it now does some checking on the index and reverts if
 it classifies it as bad.
 
 `group:primary' - Download the primary metadata with the index. This contains
-most of the package information and so is almost always required anyway. This
-is the default.
+most of the package information and so is almost always required anyway.
 
-`group:small' - With the primary also download the updateinfo metadata, this is
-required for yum-security operations and it also used in the graphical clients.
-This file also tends to be significantly smaller than most others.
+`group:small' - With the primary also download the updateinfo metadata, groups,
+and pkgtags. This is required for yum-security operations and it also used in
+the graphical clients. This file also tends to be significantly smaller than
+most others. This is the default.
 
 `group:main' - With the primary and updateinfo download the filelists metadata
 and the group metadata. The filelists data is required for operations like
@@ -480,6 +665,19 @@ not listed above is the other metadata, which contains the changelog information
 which is used by yum-changelog. This is what "yum makecache" uses.
 
 .IP
+\fBmddownloadpolicy \fR
+You can select which kinds of repodata you would prefer yum to download:
+
+`sqlite' - Download the .sqlite files, if available. This is currently slightly
+faster, once they are downloaded. However these files tend to be bigger, and
+thus. take longer to download.
+
+`xml' - Download the .XML files, which yum will do anyway as a fallback on
+the other options. These files tend to be smaller, but they require
+parsing/converting locally after download and some aditional checks are
+performed on them each time they are used.
+
+.IP
 \fBmultilib_policy \fR
 Can be set to 'all' or 'best'. All means install all possible arches for any package you 
 want to install. Therefore yum install foo will install foo.i386 and foo.x86_64 on x86_64, 
@@ -523,6 +721,13 @@ Default is `normal'.
 See color_list_installed_older for possible values.
 
 .IP
+\fBcolor_list_installed_running_kernel \fR
+The colorization/highlighting for kernel packages in list/info installed which
+is the same version as the running kernel.
+Default is `bold,underline.
+See color_list_installed_older for possible values.
+
+.IP
 \fBcolor_list_installed_extra \fR
 The colorization/highlighting for packages in list/info installed which has
 no available package with the same name and arch.
@@ -558,6 +763,13 @@ Default is `bold,underline,green.
 See color_list_installed_older for possible values.
 
 .IP
+\fBcolor_list_available_running_kernel \fR
+The colorization/highlighting for kernel packages in list/info available which
+is the same version as the running kernel.
+Default is `bold,underline.
+See color_list_installed_older for possible values.
+
+.IP
 \fBcolor_search_match \fR
 The colorization/highlighting for text matches in search.
 Default is `bold'.
@@ -587,15 +799,104 @@ be downloaded. The updates list is what is printed when you run "yum update",
 Default is `normal'.
 See color_list_installed_older for possible values.
 
+.IP
+\fBui_repoid_vars \fR
+When a repository id is displayed, append these yum variables to the string
+if they are used in the baseurl/etc. Variables are appended in the order
+listed (and found).
+Default is 'releasever basearch'.
 
 .IP
 \fBclean_requirements_on_remove \fR
 When removing packages (by removal, update or obsoletion) go through each
 package's dependencies. If any of them are no longer required by any other 
 package then also mark them to be removed.
+Boolean (1, 0, True, False, yes, no) Defaults to False
+
+.IP
+\fBupgrade_requirements_on_install \fR
+When installing/reinstalling/upgrading packages go through each package's
+installed dependencies and check for an update.
+Boolean (1, 0, True, False, yes,no) Defaults to False
+
+.IP
+\fBrecheck_installed_requires \fR
+When upgrading a package do we recheck any requirements that existed in the old
+package. Turning this on shouldn't do anything but slow yum depsolving down,
+however using rpm --nodeps etc. can break the rpmdb and then this will help.
 Boolean (1, 0, True, False, yes,no) Defaults to False
 
+.IP
+\fBreset_nice \fR
+If set to true then yum will try to reset the nice value to zero, before
+running an rpm transaction. Defaults to True.
+
+\fBexit_on_lock\fR
+Should the yum client exit immediately when something else has the lock.
+Boolean (1, 0, True, False, yes, no) Defaults to False
+
+.IP
+\fBloadts_ignoremissing\fR
+Should the load-ts command ignore packages that are missing. This includes
+packages in the TS to be removed, which aren't installed, and packages in the
+TS to be added, which aren't available.
+If this is set to true, and an rpm is missing then loadts_ignorenewrpm is
+automatically set to true.
+Boolean (1, 0, True, False, yes, no) Defaults to False
+
+.IP
+\fBloadts_ignorerpm\fR
+Should the load-ts command ignore the rpmdb version (yum version nogroups) or
+abort if there is a mismatch between the TS file and the current machine.
+If this is set to true, then loadts_ignorenewrpm is automatically set to true.
+Boolean (1, 0, True, False, yes, no) Defaults to False
+
+.IP
+\fBloadts_ignorenewrpm\fR
+Should the load-ts command ignore the future rpmdb version or
+abort if there is a mismatch between the TS file and what will happen on the
+current machine.
+Note that if loadts_ignorerpm is True, this option does nothing.
+Boolean (1, 0, True, False, yes, no) Defaults to False
+
+.IP
+\fBfssnap_automatic_pre\fR
+Should yum try to automatically create a snapshot before it runs a transaction.
+Boolean (1, 0, True, False, yes, no) Defaults to False
 
+.IP
+\fBfssnap_automatic_post\fR
+Should yum try to automatically create a snapshot after it runs a transaction.
+Boolean (1, 0, True, False, yes, no) Defaults to False
+
+.IP
+\fBfssnap_automatic_keep\fR
+How many old snapshots should yum keep when trying to automatically create a 
+new snapshot. Setting to 0 disables this feature. Default is '0'.
+
+.IP
+\fBfssnap_automatic_percentage\fR
+The size of new snaphosts, expressed as a percentage of the old origin device. 
+Any number between 1 and 100. Default is '100'.
+
+.IP
+\fBfssnap_automatic_devices\fR
+The origin LVM devices to use for snapshots. Wildcards and negation are allowed,
+first match (positive or negative) wins.
+Default is: !*/swap !*/lv_swap glob:/etc/yum/fssnap.d/*.conf
+
+.IP
+\fBdepsolve_loop_limit\fR
+Set the number of times any attempt to depsolve before we just give up. This
+shouldn't be needed as yum should always solve or fail, however it has been
+observed that it can loop forever with very large system upgrades. Setting
+this to `0' (or "<forever>") makes yum try forever. Default is `100'.
+
+.IP
+\fBusr_w_check\fR
+Either `0' or `1'. Set this to `0' to disable the checking for writability on
+/usr in the installroot (when going into the depsolving stage). Default is `1'
+(perform the check).
 
 .SH "[repository] OPTIONS"
 .LP 
@@ -668,6 +969,10 @@ value of mirrorlist is copied to metalink (if metalink is not set).
 Either `1' or `0'. This tells yum whether or not use this repository.
 
 .IP
+\fBkeepcache\fR
+Overrides the \fBkeepcache\fR option from the [main] section for this repository.
+
+.IP
 \fBgpgcheck\fR
 Either `1' or `0'. This tells yum whether or not it should perform a GPG
 signature check on the packages gotten from this repository.
@@ -702,12 +1007,18 @@ key will be automatically imported without user confirmation.
 Same as the [main] \fBexclude\fR option but only for this repository.
 Substitution variables, described below, are honored here.
 
+Can be disabled using --disableexcludes.
+
 .IP
 \fBincludepkgs\fR
-Inverse of exclude. This is a list of packages you want to use from a
-repository. If this option lists only one package then that is all yum will
-ever see from the repository. Defaults to an empty list.  Substitution
-variables, described below, are honored here.
+Inverse of exclude, yum will exclude any package in the repo. that doesn't
+match this list. This works in conjunction with exclude and doesn't override it,
+so if you exclude=*.i386 and includepkgs=python* then only packages starting
+with python that do not have an i386 arch. will be seen by yum in this repo.
+
+Substitution variables, described below, are honored here.
+
+Can be disabled using --disableexcludes.
 
 .IP
 \fBenablegroups\fR
@@ -755,6 +1066,20 @@ repository.
 Overrides the \fBbandwidth\fR option from the [main] section for this
 repository.
 
+.IP
+\fBip_resolve \fR
+Overrides the \fBip_resolve\fR option from the [main] section for this
+repository.
+
+.IP
+\fBdeltarpm_percentage\fR
+Overrides the \fBdeltarpm_percentage\fR option from the [main] section
+for this repository.
+
+.IP
+\fBdeltarpm_metadata_percentage\fR
+Overrides the \fBdeltarpm_metadata_percentage\fR option from the [main] section
+for this repository.
 
 .IP
 \fBsslcacert \fR
@@ -776,6 +1101,10 @@ repository.
 Overrides the \fBsslclientkey\fR option from the [main] section for this
 repository.
 
+.IP
+\fBssl_check_cert_permissions \fR
+Overrides the \fBssl_check_cert_permissions\fR option from the [main] section
+for this repository.
 
 .IP
 \fBmetadata_expire \fR
@@ -783,6 +1112,11 @@ Overrides the \fBmetadata_expire\fR option from the [main] section for this
 repository.
 
 .IP
+\fBmetadata_expire_filter \fR
+Overrides the \fBmetadata_expire_filter\fR option from the [main] section for
+this repository.
+
+.IP
 \fBmirrorlist_expire \fR
 Overrides the \fBmirrorlist_expire\fR option from the [main] section for this
 repository.
@@ -824,7 +1158,16 @@ as greater/less than any other. defaults to 1000
 If set to True yum will continue running if this repository cannot be 
 contacted for any reason. This should be set carefully as all repos are consulted
 for any given command. Defaults to False.
+
 .IP
+\fBasync \fR
+If set to True Yum will download packages and metadata from this repo in
+parallel, if possible.  Defaults to True.
+
+.IP
+\fBui_repoid_vars \fR
+Overrides the \fBui_repoid_vars\fR option from the [main] section for this
+repository.
 
 .SH "URL INCLUDE SYNTAX"
 .LP
@@ -861,8 +1204,8 @@ package.
 
 .IP
 \fB$arch\fR
-This will be replaced with your architecture as listed by os.uname()[4] in
-Python.
+This will be replaced with the architecture or your system
+as detected by yum.
 
 .IP
 \fB$basearch\fR
diff --git a/etc/0yum.cron b/etc/0yum.cron
deleted file mode 100755
index 0cfaa4b..0000000
--- a/etc/0yum.cron
+++ /dev/null
@@ -1,141 +0,0 @@
-#!/bin/bash
-
-# Only run if this flag file is set (by /etc/rc.d/init.d/yum-cron)
-if [ ! -f /var/lock/subsys/yum-cron ]; then
-  exit 0
-fi
-
-DAILYSCRIPT=/etc/yum/yum-daily.yum
-WEEKLYSCRIPT=/etc/yum/yum-weekly.yum
-LOCKDIR=/var/lock/yum-cron.lock
-LOCKFILE=$LOCKDIR/pidfile
-TSLOCK=$LOCKDIR/ts.lock
-
-# Grab config settings
-if [ -f /etc/sysconfig/yum-cron ]; then
-  source /etc/sysconfig/yum-cron
-fi
-# set default for SYSTEMNAME
-[ -z "$SYSTEMNAME" ]  && SYSTEMNAME=$(hostname) 
-
-# Only run on certain days of the week 
-dow=`date +%w` 
-DAYS_OF_WEEK=${DAYS_OF_WEEK:-0123456} 
-if [ "${DAYS_OF_WEEK/$dow/}" == "${DAYS_OF_WEEK}" ]; then 
-  exit 0 
-fi 
-
-# if DOWNLOAD_ONLY is set then we force CHECK_ONLY too.
-# Gotta check before one can download!
-if [ "$DOWNLOAD_ONLY" == "yes" ]; then
-  CHECK_ONLY=yes
-fi
-
-YUMTMP=$(mktemp /var/run/yum-cron.XXXXXX)
-touch $YUMTMP 
-[ -x /sbin/restorecon ] && /sbin/restorecon $YUMTMP
-
-# Random wait function
-random_wait() {
-  sleep $(( $RANDOM % ($RANDOMWAIT * 60) + 1 ))
-}
-
-# Note - the lockfile code doesn't try and use YUMTMP to email messages nicely.
-# Too many ways to die, this gets handled by normal cron error mailing.
-# Try mkdir for the lockfile, will test for and make it in one atomic action
-if mkdir $LOCKDIR 2>/dev/null; then
-  # store the current process ID in there so we can check for staleness later
-  echo "$$" >"${LOCKFILE}"
-  # and clean up locks and tempfile if the script exits or is killed  
-  trap "{ rm -f $LOCKFILE $TSLOCK; rmdir $LOCKDIR 2>/dev/null; rm -f $YUMTMP; exit 255; }" INT TERM EXIT
-else
-  # lock failed, check if process exists.  First, if there's no PID file
-  # in the lock directory, something bad has happened, we can't know the
-  # process name, so clean up the old lockdir and restart
-  if [ ! -f $LOCKFILE ]; then
-    rmdir $LOCKDIR 2>/dev/null
-    echo "yum-cron: no lock PID, clearing and restarting myself" >&2
-    exec $0 "$@"
-  fi
-  OTHERPID="$(cat "${LOCKFILE}")"
-  # if cat wasn't able to read the file anymore, another instance probably is
-  # about to remove the lock -- exit, we're *still* locked
-    if [ $? != 0 ]; then
-      echo "yum-cron: lock failed, PID ${OTHERPID} is active" >&2
-      exit 0
-    fi
-    if ! kill -0 $OTHERPID &>/dev/null; then
-      # lock is stale, remove it and restart
-      echo "yum-cron: removing stale lock of nonexistant PID ${OTHERPID}" >&2
-      rm -rf "${LOCKDIR}"
-      echo "yum-cron: restarting myself" >&2
-      exec $0 "$@"
-    else
-      # Remove stale (more than a day old) lockfiles
-      find $LOCKDIR -type f -name 'pidfile' -amin +1440 -exec rm -rf $LOCKDIR \;
-      # if it's still there, it wasn't too old, bail
-      if [ -f $LOCKFILE ]; then
-        # lock is valid and OTHERPID is active - exit, we're locked!
-        echo "yum-cron: lock failed, PID ${OTHERPID} is active" >&2
-        exit 0
-      else
-        # lock was invalid, restart
-	echo "yum-cron: removing stale lock belonging to stale PID ${OTHERPID}" >&2
-        echo "yum-cron: restarting myself" >&2
-        exec $0 "$@"
-      fi
-    fi
-fi
-
-# Then check for updates and/or do them, as configured
-{
-  # First, if this is CLEANDAY, do so
-  CLEANDAY=${CLEANDAY:-0}
-  if [ ! "${CLEANDAY/$dow/}" == "${CLEANDAY}" ]; then
-      /usr/bin/yum $YUM_PARAMETER -e ${ERROR_LEVEL:-0} -d ${DEBUG_LEVEL:-0} -y shell $WEEKLYSCRIPT
-  fi
-
-  # Now continue to do the real work
-  if [ "$CHECK_ONLY" == "yes" ]; then
-    random_wait
-    touch $TSLOCK
-    /usr/bin/yum $YUM_PARAMETER -e 0 -d 0 -y check-update 1> /dev/null 2>&1
-    case $? in
-      1)   exit 1;;
-      100) echo "New updates available for host `/bin/hostname`";
-           /usr/bin/yum $YUM_PARAMETER -e ${ERROR_LEVEL:-0} -d ${DEBUG_LEVEL:-0} -y -C check-update
-           if [ "$DOWNLOAD_ONLY" == "yes" ]; then
-	       /usr/bin/yum $YUM_PARAMETER -e ${ERROR_LEVEL:-0} -d ${DEBUG_LEVEL:-0} -y --downloadonly update
-	       echo "Updates downloaded, use \"yum -C update\" manually to install them."
-	   fi
-	   ;;
-    esac
-  elif [ "$CHECK_FIRST" == "yes" ]; then
-    # Don't run if we can't access the repos
-    random_wait
-    touch $TSLOCK
-    /usr/bin/yum $YUM_PARAMETER -e 0 -d 0 check-update 2>&-
-    case $? in
-      1)   exit 1;;
-      100) /usr/bin/yum $YUM_PARAMETER -e ${ERROR_LEVEL:-0} -d ${DEBUG_LEVEL:-0} -y update yum
-           /usr/bin/yum $YUM_PARAMETER -e ${ERROR_LEVEL:-0} -d ${DEBUG_LEVEL:-0} -y shell $DAILYSCRIPT
-           ;;
-    esac
-  else
-    random_wait
-    touch $TSLOCK
-    /usr/bin/yum $YUM_PARAMETER -e ${ERROR_LEVEL:-0} -d ${DEBUG_LEVEL:-0} -y update yum
-    /usr/bin/yum $YUM_PARAMETER -e ${ERROR_LEVEL:-0} -d ${DEBUG_LEVEL:-0} -y shell $DAILYSCRIPT
-  fi
-} >> $YUMTMP 2>&1
-
-if [ ! -z "$MAILTO" ] && [ -x /bin/mail ]; then 
-# if MAILTO is set, use mail command (ie better than standard mail with cron output) 
-  [ -s "$YUMTMP" ] && mail -s "System update: $SYSTEMNAME" $MAILTO < $YUMTMP 
-else 
-# default behavior is to use cron's internal mailing of output from cron-script
-  cat $YUMTMP
-fi 
-rm -f $YUMTMP 
-
-exit 0
diff --git a/etc/Makefile b/etc/Makefile
index 29a7f95..7c023af 100644
--- a/etc/Makefile
+++ b/etc/Makefile
@@ -1,4 +1,6 @@
 YUMETC=$(DESTDIR)/etc/yum
+compdir = $(shell pkg-config --variable=completionsdir bash-completion)
+compdir := $(or $(compdir), "/etc/bash_completion.d")
 
 all:
 	echo "Nothing to do"
@@ -8,6 +10,7 @@ clean:
 
 install:
 	mkdir -p $(DESTDIR)/etc/yum/
+	mkdir -p $(DESTDIR)/etc/yum/fssnap.d
 	mkdir -p $(DESTDIR)/etc/yum/protected.d
 	mkdir -p $(DESTDIR)/etc/yum/repos.d
 	mkdir -p $(DESTDIR)/etc/yum/vars
@@ -24,15 +27,10 @@ install:
 
 	mkdir -p $(DESTDIR)/etc/dbus-1/system.d/
 	install -m 755 yum-updatesd-dbus.conf $(DESTDIR)/etc/dbus-1/system.d/yum-updatesd.conf
-
-	install -m 755 yum-updatesd.conf $(DESTDIR)/etc/yum/yum-updatesd.conf
-
-	mkdir -p $(DESTDIR)/etc/bash_completion.d
-	install -m 644 yum.bash $(DESTDIR)/etc/bash_completion.d
-	mkdir -p $(DESTDIR)/etc/cron.daily
-	mkdir -p $(DESTDIR)/etc/sysconfig/
-	install -D -m 755 0yum.cron $(DESTDIR)/etc/cron.daily/0yum.cron
-	install -D -m 755 yum-cron $(DESTDIR)/etc/rc.d/init.d/yum-cron
-	install -D -m 644 yum-daily.yum $(YUMETC)/yum-daily.yum
-	install -D -m 644 yum-weekly.yum $(YUMETC)/yum-weekly.yum
-	install -D -m 644 yum-cron.sysconf $(DESTDIR)/etc/sysconfig/yum-cron
+	install -m 644 yum-updatesd.conf $(YUMETC)
+	mkdir -p $(DESTDIR)/$(compdir)
+	install -m 644 yum.bash $(DESTDIR)/$(compdir)/yum
+	ln -s yum $(DESTDIR)/$(compdir)/yummain.py
+	install -m 644 yum-cron.conf $(YUMETC)
+	install -m 644 yum-cron-security.conf $(YUMETC)
+	install -m 644 yum-cron-hourly.conf $(YUMETC)
diff --git a/etc/yum-cron b/etc/yum-cron
deleted file mode 100755
index 63c5ec0..0000000
--- a/etc/yum-cron
+++ /dev/null
@@ -1,102 +0,0 @@
-#!/bin/bash
-#
-# yum-cron           This shell script enables the automatic use of YUM
-#
-# Author:       Seth Vidal <skvidal@phy.duke.edu>
-#
-# chkconfig:	- 50 01
-#
-# description:  Enable daily run of yum, a program updater.
-# processname:  yum-cron
-# config: /etc/yum/yum-daily.yum
-#
-
-# source function library
-. /etc/rc.d/init.d/functions
-
-test -f /etc/sysconfig/yum-cron && . /etc/sysconfig/yum-cron
-
-lockfile=/var/lock/subsys/yum-cron
-tslock=/var/lock/yum-cron.lock/ts.lock
-yumcronpid=/var/lock/yum-cron.lock/pidfile
-
-RETVAL=0
-
-start() {
-	echo -n $"Enabling nightly yum update: "
-	touch "$lockfile" && success || failure
-	RETVAL=$?
-	echo
-}
-
-stop() {
-	echo -n $"Disabling nightly yum update: "
-	if [ -f "$yumcronpid" -a "$SERVICE_WAITS" = "yes" ]; then
-	  yum_done=0
-	  if [ ! -f $tslock ]; then
-	    # No transaction yet in progress, just kill it
-	    kill `cat $yumcronpid > /dev/null 2>&1` > /dev/null 2>&1
-	    yum_done=1
-	  fi
-	  if [ $yum_done -eq 0 ]; then
-	    echo -n $"Waiting for yum "
-	    if [ -z "$SERVICE_WAIT_TIME" ]; then
-	      SERVICE_WAIT_TIME=300
-	    fi
-	    start=`date +%s`
-	    end=`expr $start + $SERVICE_WAIT_TIME`
-	    while [ `date +%s` -le $end ]
-	    do
-	      sleep 5
-	      if [ ! -f "$tslock" ]; then
-		yum_done=1
-	        break
-	      fi
-	    done
-	    if [ $yum_done -eq 1 ]; then
-	      echo -n " ok "
-	    else
-	      echo -n " failed "
-	    fi
-	  fi
-	fi
-	rm -f "$lockfile" && success || failure
-	RETVAL=$?
-	echo
-}
-
-restart() {
-	stop
-	start
-}
-
-case "$1" in
-  start)
-	start
-	;;
-  stop) 
-	stop
-	;;
-  restart|force-reload)
-	restart
-	;;
-  reload)
-	;;
-  condrestart)
-	[ -f "$lockfile" ] && restart
-	;;
-  status)
-	if [ -f $lockfile ]; then
-		echo $"Nightly yum update is enabled."
-		RETVAL=0
-	else
-		echo $"Nightly yum update is disabled."
-		RETVAL=3
-	fi
-	;;
-  *)
-	echo $"Usage: $0 {start|stop|status|restart|reload|force-reload|condrestart}"
-	exit 1
-esac
-
-exit $RETVAL
diff --git a/etc/yum-cron-hourly.conf b/etc/yum-cron-hourly.conf
new file mode 100644
index 0000000..2a588cd
--- /dev/null
+++ b/etc/yum-cron-hourly.conf
@@ -0,0 +1,79 @@
+[commands]
+#  What kind of update to use:
+# default                            = yum upgrade
+# security                           = yum --security upgrade
+# security-severity:Critical         = yum --sec-severity=Critical upgrade
+# minimal                            = yum --bugfix upgrade-minimal
+# minimal-security                   = yum --security upgrade-minimal
+# minimal-security-severity:Critical =  --sec-severity=Critical upgrade-minimal
+update_cmd = default
+
+# Whether a message should emitted when updates are available.
+update_messages = no
+
+# Whether updates should be downloaded when they are available. Note
+# that updates_messages must also be yes for updates to be downloaded.
+download_updates = no
+
+# Whether updates should be applied when they are available.  Note
+# that both update_messages and download_updates must also be yes for
+# the update to be applied
+apply_updates = no
+
+# Maximum amout of time to randomly sleep, in minutes.  The program
+# will sleep for a random amount of time between 0 and random_sleep
+# minutes before running.  This is useful for e.g. staggering the
+# times that multiple systems will access update servers.  If
+# random_sleep is 0 or negative, the program will run immediately.
+random_sleep = 15
+
+
+[emitters]
+# Name to use for this system in messages that are emitted.  If
+# system_name is None, the hostname will be used.
+system_name = None
+
+# How to send messages.  Valid options are stdio and email.  If
+# emit_via includes stdio, messages will be sent to stdout; this is useful
+# to have cron send the messages.  If emit_via includes email, this
+# program will send email itself according to the configured options.
+# If emit_via is None or left blank, no messages will be sent.
+emit_via = stdio
+
+# The width, in characters, that messages that are emitted should be
+# formatted to.
+output_width = 80
+
+
+[email]
+# The address to send email messages from.
+email_from = root
+
+# List of addresses to send messages to.
+email_to = root
+
+# Name of the host to connect to to send email messages.
+email_host = localhost
+
+
+[groups]
+# List of groups to update
+group_list = None
+
+# The types of group packages to install
+group_package_types = mandatory, default
+
+[base]
+# This section overrides yum.conf
+
+# Use this to filter Yum core messages
+# -4: critical
+# -3: critical+errors
+# -2: critical+errors+warnings (default)
+debuglevel = -2
+
+# skip_broken = True
+mdpolicy = group:main
+
+# Uncomment to auto-import new gpg keys (dangerous)
+# assumeyes = True
diff --git a/etc/yum-cron-security.conf b/etc/yum-cron-security.conf
new file mode 100644
index 0000000..2ddbc6d
--- /dev/null
+++ b/etc/yum-cron-security.conf
@@ -0,0 +1,82 @@
+[commands]
+#  What kind of update to use:
+# default                            = yum upgrade
+# security                           = yum --security upgrade
+# security-severity:Critical         = yum --sec-severity=Critical upgrade
+# minimal                            = yum --bugfix upgrade-minimal
+# minimal-security                   = yum --security upgrade-minimal
+# minimal-security-severity:Critical =  --sec-severity=Critical upgrade-minimal
+update_cmd = security
+
+# Whether a message should emitted when updates are available.
+update_messages = yes
+
+# Whether updates should be downloaded when they are available. Note
+# that updates_messages must also be yes for updates to be downloaded.
+download_updates = yes
+
+# Whether updates should be applied when they are available.  Note
+# that both update_messages and download_updates must also be yes for
+# the update to be applied
+apply_updates = yes
+
+# Maximum amout of time to randomly sleep, in minutes.  The program
+# will sleep for a random amount of time between 0 and random_sleep
+# minutes before running.  This is useful for e.g. staggering the
+# times that multiple systems will access update servers.  If
+# random_sleep is 0 or negative, the program will run immediately.
+#  NOTE this runs after yum-cron-daily, if that is installed,
+# so we will have already waited for that (default 2 hours, 120 mins).
+# Also security updates should be smaller than all updates, anyway.
+random_sleep = 60
+
+
+[emitters]
+# Name to use for this system in messages that are emitted.  If
+# system_name is None, the hostname will be used.
+system_name = None
+
+# How to send messages.  Valid options are stdio and email.  If
+# emit_via includes stdio, messages will be sent to stdout; this is useful
+# to have cron send the messages.  If emit_via includes email, this
+# program will send email itself according to the configured options.
+# If emit_via is None or left blank, no messages will be sent.
+emit_via = stdio
+
+# The width, in characters, that messages that are emitted should be
+# formatted to.
+output_width = 80
+
+
+[email]
+# The address to send email messages from.
+email_from = root
+
+# List of addresses to send messages to.
+email_to = root
+
+# Name of the host to connect to to send email messages.
+email_host = localhost
+
+
+[groups]
+# List of groups to update
+group_list = None
+
+# The types of group packages to install
+group_package_types = mandatory, default
+
+[base]
+# This section overrides yum.conf
+
+# Use this to filter Yum core messages
+# -4: critical
+# -3: critical+errors
+# -2: critical+errors+warnings (default)
+debuglevel = -2
+
+# skip_broken = True
+mdpolicy = group:main
+
+# Uncomment to auto-import new gpg keys (dangerous)
+# assumeyes = True
diff --git a/etc/yum-cron.conf b/etc/yum-cron.conf
new file mode 100644
index 0000000..960fcc9
--- /dev/null
+++ b/etc/yum-cron.conf
@@ -0,0 +1,82 @@
+[commands]
+#  What kind of update to use:
+# default                            = yum upgrade
+# security                           = yum --security upgrade
+# security-severity:Critical         = yum --sec-severity=Critical upgrade
+# minimal                            = yum --bugfix upgrade-minimal
+# minimal-security                   = yum --security upgrade-minimal
+# minimal-security-severity:Critical =  --sec-severity=Critical upgrade-minimal
+update_cmd = default
+
+# Whether a message should be emitted when updates are available,
+# were downloaded, or applied.
+update_messages = yes
+
+# Whether updates should be downloaded when they are available.
+download_updates = yes
+
+# Whether updates should be applied when they are available.  Note
+# that download_updates must also be yes for the update to be applied.
+apply_updates = no
+
+# Maximum amout of time to randomly sleep, in minutes.  The program
+# will sleep for a random amount of time between 0 and random_sleep
+# minutes before running.  This is useful for e.g. staggering the
+# times that multiple systems will access update servers.  If
+# random_sleep is 0 or negative, the program will run immediately.
+#  NOTE that we hold up all the other things in cron.daily as we wait,
+# so while waiting for 6+ hours is fine for us it might not be nice
+# for logrotate (so wait for 2 hours by default).
+random_sleep = 120
+
+
+[emitters]
+# Name to use for this system in messages that are emitted.  If
+# system_name is None, the hostname will be used.
+system_name = None
+
+# How to send messages.  Valid options are stdio and email.  If
+# emit_via includes stdio, messages will be sent to stdout; this is useful
+# to have cron send the messages.  If emit_via includes email, this
+# program will send email itself according to the configured options.
+# If emit_via is None or left blank, no messages will be sent.
+emit_via = stdio
+
+# The width, in characters, that messages that are emitted should be
+# formatted to.
+output_width = 80
+
+
+[email]
+# The address to send email messages from.
+email_from = root@localhost
+
+# List of addresses to send messages to.
+email_to = root
+
+# Name of the host to connect to to send email messages.
+email_host = localhost
+
+
+[groups]
+# NOTE: This only works when group_command != objects, which is now the default
+# List of groups to update
+group_list = None
+
+# The types of group packages to install
+group_package_types = mandatory, default
+
+[base]
+# This section overrides yum.conf
+
+# Use this to filter Yum core messages
+# -4: critical
+# -3: critical+errors
+# -2: critical+errors+warnings (default)
+debuglevel = -2
+
+# skip_broken = True
+mdpolicy = group:main
+
+# Uncomment to auto-import new gpg keys (dangerous)
+# assumeyes = True
diff --git a/etc/yum-cron.sysconf b/etc/yum-cron.sysconf
deleted file mode 100644
index 930341c..0000000
--- a/etc/yum-cron.sysconf
+++ /dev/null
@@ -1,58 +0,0 @@
-# Pass any given paramter to yum, as run in all the scripts invoked
-# by this package.  Be aware that this is global, and yum is invoked in 
-# several modes by these scripts for which your own parameter might not
-# be appropriate
-YUM_PARAMETER=
-
-# Don't install, just check (valid: yes|no)
-CHECK_ONLY=no
-
-# Check to see if you can reach the repos before updating (valid: yes|no)
-CHECK_FIRST=no
-
-# Don't install, just check and download (valid: yes|no)
-# Implies CHECK_ONLY=yes (gotta check first to see what to download)
-DOWNLOAD_ONLY=no
-
-# Error level, practical range 0-10, 0 means print only critical errors which
-# you must be told, 1 means print all errors, even ones that are not important
-# Level 0 is the default
-# ERROR_LEVEL=0
-
-# Debug level, practical range 0-10, higher number means more output
-# Level 1 is a useful level if you want to see what's been done and
-# don't want to read /var/log/yum.log
-# Level 0 is the default
-# DEBUG_LEVEL=1
-
-# randomwait is used by yum to wait random time
-# default is 60 so yum waits random time from 1 to 60 minutes
-# the value must not be zero
-RANDOMWAIT="60"
-
-# if MAILTO is set and the mail command is available, the mail command 
-# is used to deliver yum output
-
-# by default MAILTO is unset, so crond mails the output by itself
-# example:  MAILTO=root
-MAILTO= 
-
-# you may set SYSTEMNAME if you want your yum emails tagged differently
-# default is output of hostname command 
-# this variable is used only if MAILTO is set too
-#SYSTEMNAME="" 
-
-# you may set DAYS_OF_WEEK to the days of the week you want to run 
-# default is every day 
-#DAYS_OF_WEEK="0123456" 
-
-# which day should it do cleanup on?  defaults to 0 (Sunday).  If this day isn't in the 
-# DAYS_OF_WEEK above, it'll never happen
-CLEANDAY="0"
-
-# set to yes to make the yum-cron service to wait for transactions to complete
-SERVICE_WAITS=yes
-
-# set maximum time period (in seconds) for the yum-cron service to wait for
-# transactions to complete.  The default is 300 seconds (5 minutes)
-SERVICE_WAIT_TIME=300
diff --git a/etc/yum-daily.yum b/etc/yum-daily.yum
deleted file mode 100644
index 5d4e874..0000000
--- a/etc/yum-daily.yum
+++ /dev/null
@@ -1,3 +0,0 @@
-update
-ts run
-exit
diff --git a/etc/yum-makecache.service b/etc/yum-makecache.service
new file mode 100644
index 0000000..b4434ea
--- /dev/null
+++ b/etc/yum-makecache.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=yum makecache
+
+[Service]
+Type=oneshot
+Nice=19
+IOSchedulingClass=2
+IOSchedulingPriority=7
+ExecStart=/usr/bin/yum makecache fast
diff --git a/etc/yum-makecache.timer b/etc/yum-makecache.timer
new file mode 100644
index 0000000..02fb5a2
--- /dev/null
+++ b/etc/yum-makecache.timer
@@ -0,0 +1,11 @@
+[Unit]
+Description=yum makecache timer
+ConditionKernelCommandLine=!rd.live.image
+
+[Timer]
+OnBootSec=10min
+OnUnitInactiveSec=1h
+Unit=yum-makecache.service
+
+[Install]
+WantedBy=basic.target
diff --git a/etc/yum-weekly.yum b/etc/yum-weekly.yum
deleted file mode 100644
index c60fa08..0000000
--- a/etc/yum-weekly.yum
+++ /dev/null
@@ -1,4 +0,0 @@
-clean packages
-clean expire-cache
-ts run
-exit
diff --git a/etc/yum.bash b/etc/yum.bash
index f1e06e8..713a72f 100644
--- a/etc/yum.bash
+++ b/etc/yum.bash
@@ -1,53 +1,27 @@
 # bash completion for yum
 
-# arguments:
-#   1 = argument to "yum list" (all, available, updates etc)
-#   2 = current word to be completed
-_yum_list()
+_yum_helper()
 {
-    # Fail fast for things that look like paths.
-    [[ $2 == */* || $2 == [.~]* ]] && return
-
-    if [ "$1" = all ] ; then
-        # Try to strip in between headings like "Available Packages" - would
-        # be nice if e.g. -d 0 did that for us.  This will obviously only work
-        # for English :P
-        COMPREPLY+=( $( ${yum:-yum} -d 0 -C list $1 "$2*" 2>/dev/null | \
-            sed -ne '/^Available /d' -e '/^Installed /d' -e '/^Updated /d' \
-            -e 's/[[:space:]].*//p' ) )
-    else
-        # Drop first line (e.g. "Updated Packages") - would be nice if e.g.
-        # -d 0 did that for us.
-        COMPREPLY+=( $( ${yum:-yum} -d 0 -C list $1 "$2*" 2>/dev/null | \
-            sed -ne 1d -e 's/[[:space:]].*//p' ) )
+    local IFS=$'\n'
+    if [[ -n "$YUM_CACHEDIR" && "$1 $2" == "list available" ]]; then
+        for db in $(find "$YUM_CACHEDIR" -name primary_db.sqlite); do
+            COMPREPLY+=( $( sqlite3 "$db" \
+                "SELECT name||'.'||arch FROM packages WHERE name LIKE '$3%'"
+            ) )
+        done
+        return
     fi
+    COMPREPLY+=( $(
+        /usr/share/yum-cli/completion-helper.py -d 0 -C "$@" 2>/dev/null ) )
 }
 
-# arguments:
-#   1 = argument to "yum repolist" (enabled, disabled etc)
-#   2 = current word to be completed
-_yum_repolist()
-{
-    # TODO: add -d 0 when http://yum.baseurl.org/ticket/29 is fixed
-    #       (for now --noplugins is used to get rid of "Loaded plugins: ...")
-    # Drop first ("repo id      repo name") and last ("repolist: ...") rows -
-    # would be nice if e.g. -d 0 did that for us.
-    COMPREPLY+=(
-        $( compgen -W "$( ${yum:-yum} --noplugins -C repolist $1 2>/dev/null | \
-            sed -ne '/^repo\s\{1,\}id/d' -e '/^repolist:/d' \
-            -e 's/[[:space:]].*//p' )" -- "$2" ) )
-}
-
-# arguments:
-#   1 = argument to "yum grouplist" (usually empty (""), or hidden)
-#   2 = current word to be completed
-_yum_grouplist()
+_yum_list()
 {
-    local IFS=$'\n'
-    # TODO: add -d 0 when http://yum.baseurl.org/ticket/29 is fixed
-    COMPREPLY=( $( compgen -W "$( ${yum:-yum} -C grouplist $1 "$2*" \
-        2>/dev/null | sed -ne 's/^[[:space:]]\{1,\}\(.\{1,\}\)/\1/p' )" \
-        -- "$2" ) )
+    # Fail fast for things that look like paths or options.
+    [[ $2 == */* || $2 == [.~-]* ]] && return
+    # Listing all available packages takes way too long
+    [[ $1 != "installed" && ${#2} -lt 1 ]] && return
+    _yum_helper list "$@"
 }
 
 # arguments:
@@ -56,7 +30,7 @@ _yum_grouplist()
 _yum_plugins()
 {
     local val
-    [ $1 = 1 ] && val='\(1\|yes\|true\|on\)' || val='\(0\|no\|false\|off\)'
+    [[ $1 -eq 1 ]] && val='\(1\|yes\|true\|on\)' || val='\(0\|no\|false\|off\)'
     COMPREPLY+=( $( compgen -W '$( command grep -il "^\s*enabled\s*=\s*$val" \
         /etc/yum/pluginconf.d/*.conf 2>/dev/null \
         | sed -ne "s|^.*/\([^/]\{1,\}\)\.conf$|\1|p" )' -- "$2" ) )
@@ -66,6 +40,7 @@ _yum_plugins()
 #   1 = current word to be completed
 _yum_binrpmfiles()
 {
+    local IFS=$'\n'
     COMPREPLY+=( $( compgen -f -o plusdirs -X '!*.rpm' -- "$1" ) )
     COMPREPLY=( $( compgen -W '"${COMPREPLY[@]}"' -X '*.src.rpm' ) )
     COMPREPLY=( $( compgen -W '"${COMPREPLY[@]}"' -X '*.nosrc.rpm' ) )
@@ -75,9 +50,10 @@ _yum_baseopts()
 {
     local opts='--help --tolerant --cacheonly --config --randomwait
         --debuglevel --showduplicates --errorlevel --rpmverbosity --quiet
-        --verbose --assumeyes --version --installroot --enablerepo
+        --verbose --assumeyes --assumeno --version --installroot --enablerepo
         --disablerepo --exclude --disableexcludes --obsoletes --noplugins
-        --nogpgcheck --skip-broken --color --releasever --setopt'
+        --nogpgcheck --skip-broken --color --releasever --setopt --downloadonly
+        --downloaddir --disableincludes'
     [[ $COMP_LINE == *--noplugins* ]] || \
         opts+=" --disableplugin --enableplugin"
     printf %s "$opts"
@@ -89,6 +65,16 @@ _yum_transactions()
         sed -ne 's/^[[:space:]]*\([0-9]\{1,\}\).*/\1/p' )" -- "$cur" ) )
 }
 
+_yum_atgroups()
+{
+    if [[ $1 == \@* ]]; then
+        _yum_helper groups list all "${1:1}"
+        COMPREPLY=( "${COMPREPLY[@]/#/@}" )
+        return 0
+    fi
+    return 1
+}
+
 # arguments:
 #   1 = current word to be completed
 #   2 = previous word
@@ -109,28 +95,32 @@ _yum_complete_baseopts()
             ;;
 
         -c|--config)
+            local IFS=$'\n'
             COMPREPLY=( $( compgen -f -o plusdirs -X "!*.conf" -- "$1" ) )
             return 0
             ;;
 
         --installroot|--downloaddir)
+            local IFS=$'\n'
             COMPREPLY=( $( compgen -d -- "$1" ) )
             return 0
             ;;
 
         --enablerepo)
-            _yum_repolist disabled "$1"
+            _yum_helper repolist disabled "$1"
             return 0
             ;;
 
         --disablerepo)
-            _yum_repolist enabled "$1"
+            _yum_helper repolist enabled "$1"
             return 0
             ;;
 
-        --disableexcludes)
-            _yum_repolist all "$1"
-            COMPREPLY=( $( compgen -W '${COMPREPLY[@]} all main' -- "$1" ) )
+        --disableexcludes|--disableincludes)
+            _yum_helper repolist all "$1"
+            local main=
+            [[ $2 == *excludes ]] && main=main
+            COMPREPLY=( $( compgen -W '${COMPREPLY[@]} all $main' -- "$1" ) )
             return 0
             ;;
 
@@ -182,9 +172,9 @@ _yum()
         _get_comp_words_by_ref -n = cur prev words
 
     # Commands offered as completions
-    local cmds=( check check-update clean deplist distro-sync downgrade
-        groupinfo groupinstall grouplist groupremove help history info install
-        list makecache provides reinstall remove repolist resolvedep search
+    local cmds=( autoremove check check-update clean deplist distro-sync
+        downgrade erase fs groups help history info install list
+        load-transaction makecache provides reinstall remove repolist search
         shell update upgrade version )
 
     local i c cmd subcmd
@@ -192,91 +182,141 @@ _yum()
         [[ -n $cmd ]] && subcmd=${words[i]} && break
         # Recognize additional commands and aliases
         for c in ${cmds[@]} check-rpmdb distribution-synchronization erase \
-            groupupdate grouperase localinstall localupdate whatprovides ; do
+            group groupinfo groupinstall grouplist groupremove groupupdate \
+            grouperase install-na load-ts localinstall localupdate whatprovides ; do
             [[ ${words[i]} == $c ]] && cmd=$c && break
         done
     done
 
     case $cmd in
 
+        autoremove|erase|remove)
+            _yum_atgroups "$cur" || _yum_list installed "$cur"
+            return 0
+            ;;
+
         check|check-rpmdb)
             COMPREPLY=( $( compgen -W 'dependencies duplicates all' \
                 -- "$cur" ) )
             return 0
             ;;
 
-        check-update|grouplist|makecache|provides|whatprovides|resolvedep|\
-        search)
+        check-update|makecache|resolvedep)
             return 0
             ;;
 
         clean)
-            [ "$prev" = "$cmd" ] && \
+            [[ $prev == $cmd ]] && \
                 COMPREPLY=( $( compgen -W 'expire-cache packages headers
                     metadata cache dbcache all' -- "$cur" ) )
             return 0
             ;;
 
         deplist)
+            local IFS=$'\n'
             COMPREPLY=( $( compgen -f -o plusdirs -X '!*.[rs]pm' -- "$cur" ) )
             _yum_list all "$cur"
             return 0
             ;;
 
         distro-sync|distribution-synchronization)
-            [ "$prev" = "$cmd" ] && \
+            [[ $prev == $cmd ]] && \
                 COMPREPLY=( $( compgen -W 'full different' -- "$cur" ) )
             _yum_list installed "$cur"
             return 0
             ;;
 
         downgrade|reinstall)
-            _yum_binrpmfiles "$cur"
-            _yum_list installed "$cur"
+            if ! _yum_atgroups "$cur" ; then
+                _yum_binrpmfiles "$cur"
+                _yum_list installed "$cur"
+            fi
             return 0
             ;;
 
-        erase|remove)
-            _yum_list installed "$cur"
+        fs)
+            if [[ $prev == $cmd ]] ; then
+                COMPREPLY=( $( compgen -W 'filters filter refilter
+                    refilter-cleanup du status diff' -- "$cur" ) )
+                return 0
+            fi
+            case $subcmd in
+                filter)
+                    COMPREPLY=( $( compgen -W 'languages documentation' \
+                        -- "$cur" ) )
+                    return 0
+                    ;;
+                refilter|refilter-cleanup)
+                    _yum_list installed "$cur"
+                    return 0
+                    ;;
+                du|status|diff)
+                    local IFS=$'\n'
+                    COMPREPLY=( $( compgen -f -o plusdirs -- "$cur" ) )
+                    return 0
+                    ;;
+            esac
             return 0
             ;;
 
         group*)
-            _yum_grouplist "" "$cur"
+            if [[ ($cmd == groups || $cmd == group) && $prev == $cmd ]] ; then
+                COMPREPLY=( $( compgen -W 'info install list remove summary' \
+                    -- "$cur" ) )
+            else
+                _yum_helper groups list all "$cur"
+            fi
             return 0
             ;;
 
         help)
-            [ "$prev" = "$cmd" ] && \
+            [[ $prev == $cmd ]] && \
                 COMPREPLY=( $( compgen -W '${cmds[@]}' -- "$cur" ) )
             return 0
             ;;
 
         history)
             if [[ $prev == $cmd ]] ; then
-                COMPREPLY=( $( compgen -W 'info list summary undo redo new
-                    addon-info package-list rollback' -- "$cur" ) )
+                COMPREPLY=( $( compgen -W 'info list packages-list
+                    packages-info summary addon-info redo undo rollback new
+                    sync stats' -- "$cur" ) )
                 return 0
             fi
             case $subcmd in
-                undo|redo|repeat|addon|addon-info|rollback)
-                    _yum_transactions
-                    COMPREPLY=( $( compgen -W "${COMPREPLY[@]} last" \
-                        -- "$cur" ) )
+                undo|repeat|addon|addon-info|rollback)
+                    if [[ $prev == $subcmd ]]; then
+                        COMPREPLY=( $( compgen -W "last" -- "$cur" ) )
+                        _yum_transactions
+                    fi
+                    ;;
+                redo)
+                    case $prev in
+                        redo)
+                            COMPREPLY=( $( compgen -W "force-reinstall
+                                force-remove last" -- "$cur" ) )
+                            _yum_transactions
+                            ;;
+                        reinstall|force-reinstall|remove|force-remove)
+                            COMPREPLY=( $( compgen -W "last" -- "$cur" ) )
+                            _yum_transactions
+                            ;;
+                    esac
                     ;;
                 package-list|pkg|pkgs|pkg-list|pkgs-list|package|packages|\
-                packages-list)
+                packages-list|pkg-info|pkgs-info|package-info|packages-info)
                     _yum_list available "$cur"
                     ;;
                 info|list|summary)
-                    _yum_transactions
                     if [[ $subcmd != info ]] ; then
-                        COMPREPLY=( $( compgen -W "${COMPREPLY[@]} all" \
-                            -- "$cur" ) )
+                        COMPREPLY=( $( compgen -W "all" -- "$cur" ) )
                         [[ $cur != all ]] && _yum_list available "$cur"
                     else
                         _yum_list available "$cur"
                     fi
+                    _yum_transactions
+                    ;;
+                sync|synchronize)
+                    _yum_list installed "$cur"
                     ;;
             esac
             return 0
@@ -288,42 +328,70 @@ _yum()
             ;;
 
         install)
-            _yum_binrpmfiles "$cur"
+            if ! _yum_atgroups "$cur" ; then
+                _yum_binrpmfiles "$cur"
+                _yum_list available "$cur"
+            fi
+            return 0
+            ;;
+
+        install-na)
             _yum_list available "$cur"
             return 0
             ;;
 
         list)
-            [ "$prev" = "$cmd" ] && \
+            [[ $prev == $cmd ]] && \
                 COMPREPLY=( $( compgen -W 'all available updates installed
                     extras obsoletes recent' -- "$cur" ) )
             return 0
             ;;
 
+        load-transaction|load-ts)
+            local IFS=$'\n'
+            COMPREPLY=( $( compgen -f -o plusdirs -X '!*.yumtx' -- "$cur" ) )
+            return 0
+            ;;
+
         localinstall|localupdate)
             _yum_binrpmfiles "$cur"
             return 0
             ;;
 
+        provides|whatprovides)
+            local IFS=$'\n'
+            COMPREPLY=( $( compgen -f -o plusdirs -- "$cur" ) )
+            return 0
+            ;;
+
         repolist)
-            [ "$prev" = "$cmd" ] && \
+            [[ $prev == $cmd ]] && \
                 COMPREPLY=( $( compgen -W 'all enabled disabled' -- "$cur" ) )
             return 0
             ;;
 
+        search)
+            [[ $prev == $cmd ]] && COMPREPLY=( $( compgen -W 'all' -- "$cur" ) )
+            return 0
+            ;;
+
         shell)
-            [ "$prev" = "$cmd" ] && \
+            if [[ $prev == $cmd ]]; then
+                local IFS=$'\n'
                 COMPREPLY=( $( compgen -f -o plusdirs -- "$cur" ) )
+            fi
             return 0
             ;;
 
         update|upgrade)
-            _yum_binrpmfiles "$cur"
-            _yum_list updates "$cur"
+            if ! _yum_atgroups "$cur" ; then
+                _yum_binrpmfiles "$cur"
+                _yum_list updates "$cur"
+            fi
             return 0
             ;;
         version)
-            [ "$prev" = "$cmd" ] && \
+            [[ $prev == $cmd ]] && \
                 COMPREPLY=( $( compgen -W 'all installed available nogroups
                     grouplist groupinfo' -- "$cur" ) )
             return 0
@@ -337,7 +405,11 @@ _yum()
 
     $split && return 0
 
-    COMPREPLY=( $( compgen -W '$( _yum_baseopts ) ${cmds[@]}' -- "$cur" ) )
+    if [[ $cur == -* ]] ; then
+        COMPREPLY=( $( compgen -W '$( _yum_baseopts )' -- "$cur" ) )
+        return 0
+    fi
+    COMPREPLY=( $( compgen -W '${cmds[@]}' -- "$cur" ) )
 } &&
 complete -F _yum -o filenames yum yummain.py
 
diff --git a/etc/yum.logrotate b/etc/yum.logrotate
index e587f96..e716c01 100644
--- a/etc/yum.logrotate
+++ b/etc/yum.logrotate
@@ -1,7 +1,7 @@
 /var/log/yum.log {
     missingok
     notifempty
-    size 30k
+    maxsize 30k
     yearly
     create 0600 root root
 }
diff --git a/output.py b/output.py
index b6aa277..2787d86 100755
--- a/output.py
+++ b/output.py
@@ -1,6 +1,6 @@
 #!/usr/bin/python -t
 
-"""This handles actual output from the cli"""
+"""Handle actual output from the cli."""
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -29,7 +29,7 @@ import re # For YumTerm
 
 from weakref import proxy as weakref
 
-from urlgrabber.progress import TextMeter
+from urlgrabber.progress import TextMeter, TextMultiFileMeter
 import urlgrabber.progress
 from urlgrabber.grabber import URLGrabError
 from yum.misc import prco_tuple_to_string
@@ -47,6 +47,21 @@ import yum.history
 
 from yum.i18n import utf8_width, utf8_width_fill, utf8_text_fill
 
+import locale
+
+try:
+    assert max(2, 4) == 4
+except:
+    # Python-2.4.x doesn't have min/max ... *sigh*
+    def min(x, *args):
+        for y in args:
+            if x > y: x = y
+        return x
+    def max(x, *args):
+        for y in args:
+            if x < y: x = y
+        return x
+
 def _term_width():
     """ Simple terminal width, limit to 20 chars. and make 0 == 80. """
     if not hasattr(urlgrabber.progress, 'terminal_width_cached'):
@@ -60,17 +75,26 @@ def _term_width():
 
 
 class YumTextMeter(TextMeter):
-
-    """
-    Text progress bar output.
-    """
+    """A class to display text progress bar output."""
 
     def update(self, amount_read, now=None):
+        """Update the status of the text progress bar
+
+        :param amount_read: the amount of data, in bytes, that has been read
+        :param now: the current time in seconds since the epoch.  If
+           *now* is not given, the output of :func:`time.time()` will
+           be used.
+        """
         checkSignals()
         TextMeter.update(self, amount_read, now)
 
+class YumTextMultiFileMeter(TextMultiFileMeter):
+    def update_meter(self, meter, now):
+        checkSignals()
+        TextMultiFileMeter.update_meter(self, meter, now)
+
 class YumTerm:
-    """some terminal "UI" helpers based on curses"""
+    """A class to provide some terminal "UI" helpers based on curses."""
 
     # From initial search for "terminfo and python" got:
     # http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/475116
@@ -145,6 +169,17 @@ class YumTerm:
         self.BG_COLOR = self.__ansi_forced_BG_COLOR
 
     def reinit(self, term_stream=None, color='auto'):
+        """Reinitializes the :class:`YumTerm`.
+
+        :param term_stream:  the terminal stream that the
+           :class:`YumTerm` should be initialized to use.  If
+           *term_stream* is not given, :attr:`sys.stdout` is used.
+        :param color: when to colorize output.  Valid values are
+           'always', 'auto', and 'never'.  'always' will use ANSI codes
+           to always colorize output, 'auto' will decide whether do
+           colorize depending on the terminal, and 'never' will never
+           colorize.
+        """
         self.__enabled = True
         if not hasattr(urlgrabber.progress, 'terminal_width_cached'):
             self.columns = 80
@@ -255,6 +290,37 @@ class YumTerm:
         return re.sub(r'\$<\d+>[/*]?', '', cap)
 
     def sub(self, haystack, beg, end, needles, escape=None, ignore_case=False):
+        """Search the string *haystack* for all occurrences of any
+        string in the list *needles*.  Prefix each occurrence with
+        *beg*, and postfix each occurrence with *end*, then return the
+        modified string.  For example::
+           
+           >>> yt = YumTerm()
+           >>> yt.sub('spam and eggs', 'x', 'z', ['and'])
+           'spam xandz eggs'
+
+        This is particularly useful for emphasizing certain words
+        in output: for example, calling :func:`sub` with *beg* =
+        MODE['bold'] and *end* = MODE['normal'] will return a string
+        that when printed to the terminal will appear to be *haystack*
+        with each occurrence of the strings in *needles* in bold
+        face.  Note, however, that the :func:`sub_mode`,
+        :func:`sub_bold`, :func:`sub_fg`, and :func:`sub_bg` methods
+        provide convenient ways to access this same emphasizing functionality. 
+
+        :param haystack: the string to be modified
+        :param beg: the string to be prefixed onto matches
+        :param end: the string to be postfixed onto matches
+        :param needles: a list of strings to add the prefixes and
+           postfixes to
+        :param escape: a function that accepts a string and returns
+           the same string with problematic characters escaped.  By
+           default, :func:`re.escape` is used.
+        :param ignore_case: whether case should be ignored when
+           searching for matches
+        :return: *haystack* with *beg* prefixing, and *end*
+          postfixing, occurrences of the strings in *needles*
+        """
         if not self.__enabled:
             return haystack
 
@@ -269,27 +335,106 @@ class YumTerm:
             haystack = re.sub(pat, render, haystack)
         return haystack
     def sub_norm(self, haystack, beg, needles, **kwds):
+        """Search the string *haystack* for all occurrences of any
+        string in the list *needles*.  Prefix each occurrence with
+        *beg*, and postfix each occurrence with self.MODE['normal'],
+        then return the modified string.  If *beg* is an ANSI escape
+        code, such as given by self.MODE['bold'], this method will
+        return *haystack* with the formatting given by the code only
+        applied to the strings in *needles*.
+
+        :param haystack: the string to be modified
+        :param beg: the string to be prefixed onto matches
+        :param end: the string to be postfixed onto matches
+        :param needles: a list of strings to add the prefixes and
+           postfixes to
+        :return: *haystack* with *beg* prefixing, and self.MODE['normal']
+          postfixing, occurrences of the strings in *needles*
+        """
         return self.sub(haystack, beg, self.MODE['normal'], needles, **kwds)
 
     def sub_mode(self, haystack, mode, needles, **kwds):
+        """Search the string *haystack* for all occurrences of any
+        string in the list *needles*.  Prefix each occurrence with
+        self.MODE[*mode*], and postfix each occurrence with
+        self.MODE['normal'], then return the modified string.  This
+        will return a string that when printed to the terminal will
+        appear to be *haystack* with each occurrence of the strings in
+        *needles* in the given *mode*.
+
+        :param haystack: the string to be modified
+        :param mode: the mode to set the matches to be in.  Valid
+           values are given by self.MODE.keys().
+        :param needles: a list of strings to add the prefixes and
+           postfixes to
+        :return: *haystack* with self.MODE[*mode*] prefixing, and
+          self.MODE['normal'] postfixing, occurrences of the strings
+          in *needles*
+        """
         return self.sub_norm(haystack, self.MODE[mode], needles, **kwds)
 
     def sub_bold(self, haystack, needles, **kwds):
+        """Search the string *haystack* for all occurrences of any
+        string in the list *needles*.  Prefix each occurrence with
+        self.MODE['bold'], and postfix each occurrence with
+        self.MODE['normal'], then return the modified string.  This
+        will return a string that when printed to the terminal will
+        appear to be *haystack* with each occurrence of the strings in
+        *needles* in bold face.
+
+        :param haystack: the string to be modified
+        :param needles: a list of strings to add the prefixes and
+           postfixes to
+        :return: *haystack* with self.MODE['bold'] prefixing, and
+          self.MODE['normal'] postfixing, occurrences of the strings
+          in *needles*
+        """
         return self.sub_mode(haystack, 'bold', needles, **kwds)
     
     def sub_fg(self, haystack, color, needles, **kwds):
+        """Search the string *haystack* for all occurrences of any
+        string in the list *needles*.  Prefix each occurrence with
+        self.FG_COLOR[*color*], and postfix each occurrence with
+        self.MODE['normal'], then return the modified string.  This
+        will return a string that when printed to the terminal will
+        appear to be *haystack* with each occurrence of the strings in
+        *needles* in the given color.
+
+        :param haystack: the string to be modified
+        :param color: the color to set the matches to be in.  Valid
+           values are given by self.FG_COLOR.keys().
+        :param needles: a list of strings to add the prefixes and
+           postfixes to
+        :return: *haystack* with self.FG_COLOR[*color*] prefixing, and
+          self.MODE['normal'] postfixing, occurrences of the strings
+          in *needles*
+        """
         return self.sub_norm(haystack, self.FG_COLOR[color], needles, **kwds)
 
     def sub_bg(self, haystack, color, needles, **kwds):
+        """Search the string *haystack* for all occurrences of any
+        string in the list *needles*.  Prefix each occurrence with
+        self.BG_COLOR[*color*], and postfix each occurrence with
+        self.MODE['normal'], then return the modified string.  This
+        will return a string that when printed to the terminal will
+        appear to be *haystack* with each occurrence of the strings in
+        *needles* highlighted in the given background color.
+
+        :param haystack: the string to be modified
+        :param color: the background color to set the matches to be in.  Valid
+           values are given by self.BG_COLOR.keys().
+        :param needles: a list of strings to add the prefixes and
+           postfixes to
+        :return: *haystack* with self.BG_COLOR[*color*] prefixing, and
+          self.MODE['normal'] postfixing, occurrences of the strings
+          in *needles*
+        """
         return self.sub_norm(haystack, self.BG_COLOR[color], needles, **kwds)
 
 
 
 class YumOutput:
-
-    """
-    Main output class for the yum command line.
-    """
+    """Main output class for the yum command line."""
 
     def __init__(self):
         self.logger = logging.getLogger("yum.cli")
@@ -304,6 +449,12 @@ class YumOutput:
 
     
     def printtime(self):
+        """Return a string representing the current time in the form::
+
+           Mon dd hh:mm:ss
+
+        :return: a string representing the current time
+        """
         months = [_('Jan'), _('Feb'), _('Mar'), _('Apr'), _('May'), _('Jun'),
                   _('Jul'), _('Aug'), _('Sep'), _('Oct'), _('Nov'), _('Dec')]
         now = time.localtime(time.time())
@@ -312,14 +463,27 @@ class YumOutput:
         return ret
          
     def failureReport(self, errobj):
-        """failure output for failovers from urlgrabber"""
-        
+        """Perform failure output for failovers from urlgrabber
+
+        :param errobj: :class:`urlgrabber.grabber.CallbackObject`
+           containing information about the error
+        :raises: *errobj*.exception
+        """
         self.logger.error('%s: %s', errobj.url, errobj.exception)
         self.logger.error(_('Trying other mirror.'))
         raise errobj.exception
     
         
     def simpleProgressBar(self, current, total, name=None):
+        """Output the current status to the terminal using a simple
+        status bar.
+
+        :param current: a number representing the amount of work
+           already done
+        :param total: a number representing the total amount of work
+           to be done
+        :param name: a name to label the progress bar with
+        """
         progressbar(current, total, name)
 
     def _highlight(self, highlight):
@@ -368,9 +532,29 @@ class YumOutput:
 
     def calcColumns(self, data, columns=None, remainder_column=0,
                     total_width=None, indent=''):
-        """ Dynamically calculate the width of the fields in the data, data is
-            of the format [column-number][field_length] = rows. """
-
+        """Dynamically calculate the widths of the columns that the
+        fields in data should be placed into for output.
+        
+        :param data: a list of dictionaries that represent the data to
+           be output.  Each dictionary in the list corresponds to a
+           column of output. The keys of the dictionary are the
+           lengths of the items to be output, and the value associated
+           with a key is the number of items of that length.
+        :param columns: a list containing the minimum amount of space
+           that must be allocated for each row. This can be used to
+           ensure that there is space available in a column if, for
+           example, the actual lengths of the items being output
+           cannot be given in *data*
+        :param remainder_column: number of the column to receive a few
+           extra spaces that may remain after other allocation has
+           taken place
+        :param total_width: the total width of the output.
+           self.term.columns is used by default
+        :param indent: string that will be prefixed to a line of
+           output to create e.g. an indent
+        :return: a list of the widths of the columns that the fields
+           in data should be placed into for output
+        """
         if total_width is None:
             total_width = self.term.columns
 
@@ -473,10 +657,20 @@ class YumOutput:
         return (val, width, hibeg, hiend)
 
     def fmtColumns(self, columns, msg=u'', end=u'', text_width=utf8_width):
-        """ Return a string for columns of data, which can overflow.
-            text_width parameter finds the width of columns, this defaults to
-            utf8 but can be changed to len() if you know it'll be fine. """
-
+        """Return a row of data formatted into a string for output.
+        Items can overflow their columns. 
+
+        :param columns: a list of tuples containing the data to
+           output.  Each tuple contains first the item to be output,
+           then the amount of space allocated for the column, and then
+           optionally a type of highlighting for the item
+        :param msg: a string to begin the line of output with
+        :param end: a string to end the line of output with
+        :param text_width: a function to find the width of the items
+           in the columns.  This defaults to utf8 but can be changed
+           to len() if you know it'll be fine
+        :return: a row of data formatted into a string for output
+        """
         total_width = len(msg)
         data = []
         for col_data in columns[:-1]:
@@ -495,9 +689,9 @@ class YumOutput:
                 # we can.
                 msg += u"%s%s%s%s "
                 if (align == u'-'):
-                    data.extend([hibeg, val, " " * (width - val_width), hiend])
+                    data.extend([hibeg, val, hiend, " " * (width - val_width)])
                 else:
-                    data.extend([hibeg, " " * (width - val_width), val, hiend])
+                    data.extend([" " * (width - val_width), hibeg, val, hiend])
             else:
                 msg += u"%s%s%s\n" + " " * (total_width + width + 1)
                 data.extend([hibeg, val, hiend])
@@ -513,8 +707,18 @@ class YumOutput:
 
     def simpleList(self, pkg, ui_overflow=False, indent='', highlight=False,
                    columns=None):
-        """ Simple to use function to print a pkg as a line. """
-
+        """Print a package as a line.
+
+        :param pkg: the package to be printed
+        :param ui_overflow: unused
+        :param indent: string to be prefixed onto the line to provide
+           e.g. an indent
+        :param highlight: highlighting options for the name of the
+           package
+        :param colums: tuple containing the space allocated for each
+           column of output.  The columns are the package name, version,
+           and repository
+        """
         if columns is None:
             columns = (-40, -22, -16) # Old default
         ver = pkg.printVer()
@@ -526,9 +730,19 @@ class YumOutput:
 
     def simpleEnvraList(self, pkg, ui_overflow=False,
                         indent='', highlight=False, columns=None):
-        """ Simple to use function to print a pkg as a line, with the pkg
-            itself in envra format so it can be pased to list/install/etc. """
-
+        """Print a package as a line, with the package itself in envra
+        format so it can be passed to list/install/etc. 
+
+        :param pkg: the package to be printed
+        :param ui_overflow: unused
+        :param indent: string to be prefixed onto the line to provide
+           e.g. an indent
+        :param highlight: highlighting options for the name of the
+           package
+        :param colums: tuple containing the space allocated for each
+           column of output.  The columns the are the package envra and
+           repository
+        """
         if columns is None:
             columns = (-63, -16) # Old default
         envra = '%s%s' % (indent, str(pkg))
@@ -538,7 +752,13 @@ class YumOutput:
         print self.fmtColumns(columns, text_width=len)
 
     def fmtKeyValFill(self, key, val):
-        """ Return a key value pair in the common two column output format. """
+        """Return a key value pair in the common two column output
+        format.
+
+        :param key: the key to be formatted
+        :param val: the value associated with *key*
+        :return: the key value pair formatted in two columns for output
+        """
         val = to_str(val)
         keylen = utf8_width(key)
         cols = self.term.columns
@@ -553,6 +773,15 @@ class YumOutput:
         return ret
     
     def fmtSection(self, name, fill='='):
+        """Format and return a section header.  The format of the
+        header is a line with *name* centred, and *fill* repeated on
+        either side to fill an entire line on the terminal.
+
+        :param name: the name of the section
+        :param fill: the character to repeat on either side of *name*
+          to fill an entire line.  *fill* must be a single character.
+        :return: a string formatted to be a section header
+        """
         name = to_str(name)
         cols = self.term.columns - 2
         name_len = utf8_width(name)
@@ -577,6 +806,12 @@ class YumOutput:
         return to_unicode(s)
 
     def infoOutput(self, pkg, highlight=False):
+        """Print information about the given package.
+
+        :param pkg: the package to print information about 
+        :param hightlight: highlighting options for the name of the
+           package
+        """
         (hibeg, hiend) = self._highlight(highlight)
         print _("Name        : %s%s%s") % (hibeg, to_unicode(pkg.name), hiend)
         print _("Arch        : %s") % to_unicode(pkg.arch)
@@ -585,7 +820,7 @@ class YumOutput:
         print _("Version     : %s") % to_unicode(pkg.version)
         print _("Release     : %s") % to_unicode(pkg.release)
         print _("Size        : %s") % self.format_number(float(pkg.size))
-        print _("Repo        : %s") % to_unicode(pkg.repoid)
+        print _("Repo        : %s") % to_unicode(pkg.repo.ui_id)
         if pkg.repoid == 'installed' and 'from_repo' in pkg.yumdb_info:
             print _("From repo   : %s") % to_unicode(pkg.yumdb_info.from_repo)
         if self.verbose_logger.isEnabledFor(logginglevels.DEBUG_3):
@@ -616,11 +851,27 @@ class YumOutput:
         print self.fmtKeyValFill(_("Description : "),self._enc(pkg.description))
         print ""
     
-    def updatesObsoletesList(self, uotup, changetype, columns=None):
-        """takes an updates or obsoletes tuple of pkgobjects and
-           returns a simple printed string of the output and a string
-           explaining the relationship between the tuple members"""
+    def updatesObsoletesList(self, uotup, changetype, columns=None, repoid=None):
+        """Print a simple string that explains the relationship
+        between the members of an update or obsoletes tuple.
+
+        :param uotup: an update or obsoletes tuple.  The first member
+           is the new package, and the second member is the old
+           package
+        :param changetype: a string indicating what the change between
+           the packages is, e.g. 'updates' or 'obsoletes'
+        :param columns: a tuple containing information about how to
+           format the columns of output.  The absolute value of each
+           number in the tuple indicates how much space has been
+           allocated for the corresponding column.  If the number is
+           negative, the text in the column will be left justified,
+           and if it is positive, the text will be right justified.
+           The columns of output are the package name, version, and repository
+        :param repoid: a repoid that the new package should belong to
+        """
         (changePkg, instPkg) = uotup
+        if repoid and changePkg.repoid != repoid:
+            return
 
         if columns is not None:
             # New style, output all info. for both old/new with old indented
@@ -640,12 +891,45 @@ class YumOutput:
 
     def listPkgs(self, lst, description, outputType, highlight_na={},
                  columns=None, highlight_modes={}):
-        """outputs based on whatever outputType is. Current options:
-           'list' - simple pkg list
-           'info' - similar to rpm -qi output
-           ...also highlight_na can be passed, and we'll highlight
-           pkgs with (names, arch) in that set."""
-
+        """Prints information about the given list of packages.
+
+        :param lst: a list of packages to print information about
+        :param description: string describing what the list of
+           packages contains, e.g. 'Available Packages'
+        :param outputType: The type of information to be printed.
+           Current options::
+           
+              'list' - simple pkg list
+              'info' - similar to rpm -qi output
+        :param highlight_na: a dictionary containing information about
+              packages that should be highlighted in the output.  The
+              dictionary keys are (name, arch) tuples for the package,
+              and the associated values are the package objects
+              themselves.
+        :param columns: a tuple containing information about how to
+           format the columns of output.  The absolute value of each
+           number in the tuple indicates how much space has been
+           allocated for the corresponding column.  If the number is
+           negative, the text in the column will be left justified,
+           and if it is positive, the text will be right justified.
+           The columns of output are the package name, version, and
+           repository
+        :param highlight_modes: dictionary containing information
+              about to highlight the packages in *highlight_na*.
+              *highlight_modes* should contain the following keys::
+                 
+                 'not_in' - highlighting used for packages not in *highlight_na*
+                 '=' - highlighting used when the package versions are equal
+                 '<' - highlighting used when the package has a lower version number
+                 '>' - highlighting used when the package has a higher version number
+        :return: (exit_code, [errors])
+
+        exit_code is::
+
+            0 = we're done, exit
+            1 = we've errored, exit with error string
+        """
+        kern_pkgtup = yum.misc.get_running_kernel_pkgtup(self.ts)
         if outputType in ['list', 'info']:
             thingslisted = 0
             if len(lst) > 0:
@@ -654,7 +938,8 @@ class YumOutput:
                 for pkg in sorted(lst):
                     key = (pkg.name, pkg.arch)
                     highlight = False
-                    if False: pass
+                    if pkg.pkgtup == kern_pkgtup:
+                        highlight = highlight_modes.get('kern','bold,underline')
                     elif key not in highlight_na:
                         highlight = highlight_modes.get('not in', 'normal')
                     elif pkg.verEQ(highlight_na[key]):
@@ -676,17 +961,23 @@ class YumOutput:
                 return 1, ['No Packages to list']
             return 0, []
         
-    
-        
-    def userconfirm(self):
-        """gets a yes or no from the user, defaults to No"""
+    def userconfirm(self, prompt=_('Is this ok [y/N]: '), extra={}):
+        """Get a yes or no from the user, and default to No, and maybe more.
+
+        :param extra: a dict of ui responses to a list of their inputs.
+        :return: the UI response or None for no. At it's simplest this is 'yes' or None
+        """
+
+        # Allow the one letter english versions in all langs.
+        yui = (u'y', to_unicode(_('y')), to_unicode(_('yes')))
+        nui = (u'n', to_unicode(_('n')), to_unicode(_('no')))
+        aui = set(yui + nui)
+        for xui in extra:
+            aui.update(extra[xui])
 
-        yui = (to_unicode(_('y')), to_unicode(_('yes')))
-        nui = (to_unicode(_('n')), to_unicode(_('no')))
-        aui = (yui[0], yui[1], nui[0], nui[1])
         while True:
             try:
-                choice = raw_input(_('Is this ok [y/N]: '))
+                choice = raw_input(prompt)
             except UnicodeEncodeError:
                 raise
             except UnicodeDecodeError:
@@ -697,17 +988,19 @@ class YumOutput:
             choice = choice.lower()
             if len(choice) == 0 or choice in aui:
                 break
-            # If the enlish one letter names don't mix, allow them too
-            if u'y' not in aui and u'y' == choice:
-                choice = yui[0]
-                break
-            if u'n' not in aui and u'n' == choice:
-                break
 
-        if len(choice) == 0 or choice not in yui:
-            return False
-        else:            
-            return True
+        if not choice:
+            # Default, maybe configure this?
+            #  Would need to never allow default=yes as that's really bad.
+            return None
+
+        if choice in yui:
+            return 'yes'
+        for xui in extra:
+            if choice in extra[xui]:
+                return xui
+
+        return None
     
     def _cli_confirm_gpg_key_import(self, keydict):
         # FIXME what should we be printing here?
@@ -739,27 +1032,58 @@ class YumOutput:
         return ret
 
     def _calcDataPkgColumns(self, data, pkg_names, pkg_names2pkgs,
-                            indent='   '):
+                            indent='   ', igroup_data=None):
         for item in pkg_names:
             if item not in pkg_names2pkgs:
                 continue
             for (apkg, ipkg) in pkg_names2pkgs[item]:
                 pkg = ipkg or apkg
                 envra = utf8_width(str(pkg)) + utf8_width(indent)
+                if igroup_data:
+                    envra += 1
                 rid = len(pkg.ui_from_repo)
                 for (d, v) in (('envra', envra), ('rid', rid)):
                     data[d].setdefault(v, 0)
                     data[d][v] += 1
 
     def _displayPkgsFromNames(self, pkg_names, verbose, pkg_names2pkgs,
-                              indent='   ', columns=None):
+                              indent='   ', columns=None, igroup_data=None):
+
+        def _get_igrp_data(item, indent):
+            if not igroup_data:
+                return indent
+
+            assert item in igroup_data
+            if item not in igroup_data or igroup_data[item] == 'available':
+                indent += '+' # Group up/in will install i
+            elif igroup_data[item] == 'installed':
+                indent += '=' # Installed via. group
+            elif igroup_data[item] == 'blacklisted-installed':
+                if False: # Not sure it's worth listing these...
+                    return None # On the other hand, there's mark-packages
+                indent += ' ' # Installed, not via. group
+            else:
+                assert igroup_data[item] == 'blacklisted-available'
+                if False: # Not sure it's worth listing these...
+                    return None
+                indent += '-' # Not installed, and won't be
+            return indent
+
         if not verbose:
             for item in sorted(pkg_names):
-                print '%s%s' % (indent, item)
+                pindent = _get_igrp_data(item, indent)
+                if pindent is None:
+                    continue
+
+                print '%s%s' % (pindent, item)
         else:
             for item in sorted(pkg_names):
+                pindent = _get_igrp_data(item, indent)
+                if pindent is None:
+                    continue
+
                 if item not in pkg_names2pkgs:
-                    print '%s%s' % (indent, item)
+                    print '%s%s' % (pindent, item)
                     continue
                 for (apkg, ipkg) in sorted(pkg_names2pkgs[item],
                                            key=lambda x: x[1] or x[0]):
@@ -770,45 +1094,145 @@ class YumOutput:
                     else:
                         highlight = False
                     self.simpleEnvraList(ipkg or apkg, ui_overflow=True,
-                                         indent=indent, highlight=highlight,
+                                         indent=pindent, highlight=highlight,
                                          columns=columns)
     
     def displayPkgsInGroups(self, group):
+        """Output information about the packages in a given group
+        
+        :param group: a Group object to output information about
+        """
         print _('\nGroup: %s') % group.ui_name
 
         verb = self.verbose_logger.isEnabledFor(logginglevels.DEBUG_3)
-        if verb:
-            print _(' Group-Id: %s') % to_unicode(group.groupid)
+        if True:
+            print _(' Group-Id: %s') % to_unicode(group.compsid)
+
+        igroup_data = self._groupInstalledData(group)
+        igrp_only   = set()
+        for pkg_name in igroup_data:
+            if igroup_data[pkg_name] == 'installed':
+                igrp_only.add(pkg_name)
+        igrp_only.difference_update(group.packages)
+        all_pkgs = group.packages + list(igrp_only)
+
         pkg_names2pkgs = None
         if verb:
-            pkg_names2pkgs = self._group_names2aipkgs(group.packages)
+            pkg_names2pkgs = self._group_names2aipkgs(all_pkgs)
+        else:
+            pkg_names2pkgs = {}
+            for ipkg in self.rpmdb.searchNames(all_pkgs):
+                if ipkg.name not in pkg_names2pkgs:
+                    pkg_names2pkgs[ipkg.name] = []
+                pkg_names2pkgs[ipkg.name].append(ipkg)
+
         if group.ui_description:
             print _(' Description: %s') % to_unicode(group.ui_description)
         if group.langonly:
             print _(' Language: %s') % group.langonly
 
-        sections = ((_(' Mandatory Packages:'),   group.mandatory_packages),
-                    (_(' Default Packages:'),     group.default_packages),
-                    (_(' Optional Packages:'),    group.optional_packages),
-                    (_(' Conditional Packages:'), group.conditional_packages))
+        sections = (('mandatory', _(' Mandatory Packages:'),
+                     group.mandatory_packages),
+                    ('default',  _(' Default Packages:'),
+                     group.default_packages),
+                    ('optional', _(' Optional Packages:'),
+                     group.optional_packages),
+                    (None, _(' Conditional Packages:'),
+                     group.conditional_packages))
         columns = None
         if verb:
             data = {'envra' : {}, 'rid' : {}}
-            for (section_name, pkg_names) in sections:
-                self._calcDataPkgColumns(data, pkg_names, pkg_names2pkgs)
+            for (section_type, section_name, pkg_names) in sections:
+                self._calcDataPkgColumns(data, pkg_names, pkg_names2pkgs,
+                                         igroup_data=igroup_data)
             data = [data['envra'], data['rid']]
             columns = self.calcColumns(data)
             columns = (-columns[0], -columns[1])
 
-        for (section_name, pkg_names) in sections:
+        for (section_type, section_name, pkg_names) in sections:
+            #  Only display igroup data for things that we'll actually try to
+            # install.
+            if section_type is None:
+                tigroup_data = igroup_data
+            elif section_type in self.conf.group_package_types:
+                tigroup_data = igroup_data
+            else:
+                tigroup_data = None
+
             if len(pkg_names) > 0:
                 print section_name
                 self._displayPkgsFromNames(pkg_names, verb, pkg_names2pkgs,
-                                           columns=columns)
+                                           columns=columns,
+                                           igroup_data=tigroup_data)
+        if igrp_only:
+            print _(' Installed Packages:')
+            self._displayPkgsFromNames(igrp_only, verb, pkg_names2pkgs,
+                                       columns=columns,
+                                       igroup_data=igroup_data)
+
+    def displayGrpsInEnvironments(self, evgroup):
+        """Output information about the groups in a given evgroup
+
+        :param group: an Environment object to output information about
+        """
+        print _('\nEnvironment Group: %s') % evgroup.ui_name
+        print _(' Environment-Id: %s') % to_unicode(evgroup.compsid)
+
+        igroup_data = self._groupInstalledEnvData(evgroup)
+        igrp_only   = set()
+        for grp_name in igroup_data:
+            if igroup_data[grp_name] == 'installed':
+                igrp_only.add(grp_name)
+        igrp_only.difference_update(evgroup.allgroups)
+        all_grps = evgroup.allgroups + list(igrp_only)
+
+        if evgroup.ui_description:
+            print _(' Description: %s') % to_unicode(evgroup.ui_description)
+
+        def _get_igrp_data(item, indent):
+            if not igroup_data:
+                return indent
+
+            assert item in igroup_data
+            if item not in igroup_data or igroup_data[item] == 'available':
+                indent += '+' # Group up/in will install i
+            elif igroup_data[item] == 'installed':
+                indent += '=' # Installed via. group
+            elif igroup_data[item] == 'blacklisted-installed':
+                if False: # Not sure it's worth listing these...
+                    return None # On the other hand, there's mark-packages
+                indent += ' ' # Installed, not via. group
+            else:
+                assert igroup_data[item] == 'blacklisted-available'
+                if False: # Not sure it's worth listing these...
+                    return None
+                indent += '-' # Not installed, and won't be
+            return indent
+
+        sections = ((_(' Mandatory Groups:'), evgroup.groups),
+                    (_(' Optional Groups:'),  evgroup.options))
+
+        for (section_name, grp_names) in sections:
+            if len(grp_names) > 0:
+                print section_name
+                for grp_name in sorted(grp_names):
+                    pindent = _get_igrp_data(grp_name, "   ")
+                    if pindent is None:
+                        continue
+
+                    print "%s%s" % (pindent, grp_name)
+
+        if igrp_only:
+            print _(' Installed Groups:')
+            for grp_name in sorted(igrp_only):
+                print "%s%s", "  ", grp_name
 
     def depListOutput(self, results):
-        """take a list of findDeps results and 'pretty print' the output"""
-        
+        """Format and output a list of findDeps results
+
+        :param results: a list of package dependency information as
+           returned by findDeps
+        """
         verb = self.verbose_logger.isEnabledFor(logginglevels.DEBUG_3)
         for pkg in sorted(results):
             print _("package: %s") % pkg.compactPrint()
@@ -832,7 +1256,18 @@ class YumOutput:
                     print "   provider: %s" % po.compactPrint()
 
     def format_number(self, number, SI=0, space=' '):
-        """Turn numbers into human-readable metric-like numbers"""
+        """Return a human-readable metric-like string representation
+        of a number.
+
+        :param number: the number to be converted to a human-readable form
+        :param SI: If is 0, this function will use the convention
+           that 1 kilobyte = 1024 bytes, otherwise, the convention
+           that 1 kilobyte = 1000 bytes will be used
+        :param space: string that will be placed between the number
+           and the SI prefix
+        :return: a human-readable metric-like string representation of
+           *number*
+        """
         symbols = [ ' ', # (none)
                     'k', # kilo
                     'M', # mega
@@ -870,16 +1305,31 @@ class YumOutput:
 
     @staticmethod
     def format_time(seconds, use_hours=0):
+        """Return a human-readable string representation of a number
+        of seconds.  The string will show seconds, minutes, and
+        optionally hours.
+
+        :param seconds: the number of seconds to convert to a
+           human-readable form
+        :param use_hours: If use_hours is 0, the representation will
+           be in minutes and seconds. Otherwise, it will be in hours,
+           minutes, and seconds
+        :return: a human-readable string representation of *seconds*
+        """
         return urlgrabber.progress.format_time(seconds, use_hours)
 
     def matchcallback(self, po, values, matchfor=None, verbose=None,
                       highlight=None):
-        """ Output search/provides type callback matches. po is the pkg object,
-            values are the things in the po that we've matched.
-            If matchfor is passed, all the strings in that list will be
-            highlighted within the output.
-            verbose overrides logginglevel, if passed. """
-
+        """Output search/provides type callback matches.
+
+        :param po: the package object that matched the search
+        :param values: the information associated with *po* that
+           matched the search
+        :param matchfor: a list of strings to be highlighted in the
+           output
+        :param verbose: whether to output extra verbose information
+        :param highlight: highlighting options for the highlighted matches
+        """
         if self.conf.showdupesfromrepos:
             msg = '%s : ' % po
         else:
@@ -923,7 +1373,15 @@ class YumOutput:
                 item = self._enc(item)
                 can_overflow = False
             else:
-                key = _("Other       : ")
+                provs = []
+                for prov in po.provides:
+                    if prov[0] == item:
+                        provs.append(prov)
+                if provs:
+                    key = _("Provides    : ")
+                    item = yum.misc.prco_tuple_to_string(sorted(provs)[0])
+                else:
+                    key = _("Other       : ")
 
             if matchfor:
                 item = self._sub_highlight(item, highlight, matchfor,
@@ -935,14 +1393,34 @@ class YumOutput:
         print '\n\n'
 
     def matchcallback_verbose(self, po, values, matchfor=None):
+        """Output search/provides type callback matches.  This will
+        output more information than :func:`matchcallback`.
+
+        :param po: the package object that matched the search
+        :param values: the information associated with *po* that
+           matched the search
+        :param matchfor: a list of strings to be highlighted in the
+           output
+        """
         return self.matchcallback(po, values, matchfor, verbose=True)
         
     def reportDownloadSize(self, packages, installonly=False):
-        """Report the total download size for a set of packages"""
+        """Report the total download size for a set of packages
+        
+        :param packages: a list of package objects
+        :param installonly: whether the transaction consists only of installations
+        """
         totsize = 0
         locsize = 0
         insize  = 0
         error = False
+
+        def _call_log(*args):
+            if self.verbose_logger.isEnabledFor(yum.logginglevels.INFO_1):
+                self.verbose_logger.log(logginglevels.INFO_1, *args)
+            elif self.conf.assumeno or not self.conf.assumeyes:
+                self.logger.warn(logginglevels.INFO_1, *args)
+
         for pkg in packages:
             # Just to be on the safe side, if for some reason getting
             # the package size fails, log the error and don't report download
@@ -971,18 +1449,18 @@ class YumOutput:
 
         if (not error):
             if locsize:
-                self.verbose_logger.log(logginglevels.INFO_1, _("Total size: %s"), 
-                                        self.format_number(totsize))
+                _call_log(_("Total size: %s"), self.format_number(totsize))
             if locsize != totsize:
-                self.verbose_logger.log(logginglevels.INFO_1, _("Total download size: %s"), 
-                                        self.format_number(totsize - locsize))
+                _call_log(_("Total download size: %s"),
+                          self.format_number(totsize - locsize))
             if installonly:
-                self.verbose_logger.log(logginglevels.INFO_1,
-                                        _("Installed size: %s"),
-                                        self.format_number(insize))
+                _call_log(_("Installed size: %s"), self.format_number(insize))
 
     def reportRemoveSize(self, packages):
-        """Report the total size of packages being removed. """
+        """Report the total size of packages being removed.
+
+        :param packages: a list of package objects
+        """
         totsize = 0
         error = False
         for pkg in packages:
@@ -997,13 +1475,19 @@ class YumOutput:
                 self.logger.error(_('There was an error calculating installed size'))
                 break
         if (not error):
-            self.verbose_logger.log(logginglevels.INFO_1,
-                                    _("Installed size: %s"),
-                                    self.format_number(totsize))
+            if self.verbose_logger.isEnabledFor(yum.logginglevels.INFO_1):
+                self.verbose_logger.log(logginglevels.INFO_1,
+                                        _("Installed size: %s"),
+                                        self.format_number(totsize))
+            elif self.conf.assumeno or not self.conf.assumeyes:
+                self.logger.warn(logginglevels.INFO_1,
+                                 _("Installed size: %s"),
+                                 self.format_number(totsize))
             
     def listTransaction(self):
-        """returns a string rep of the  transaction in an easy-to-read way."""
-        
+        """Return a string representation of the transaction in an
+        easy-to-read format.
+        """
         self.tsInfo.makelists(True, True)
         pkglist_lines = []
         data  = {'n' : {}, 'v' : {}, 'r' : {}}
@@ -1032,11 +1516,43 @@ class YumOutput:
             for (d, v) in (("n",len(n)), ("v",len(evr)), ("r",len(repoid))):
                 data[d].setdefault(v, 0)
                 data[d][v] += 1
-            if a_wid < len(a): # max() is only in 2.5.z
-                a_wid = len(a)
+            a_wid = max(a_wid, len(a))
             return a_wid
 
-        for (action, pkglist) in [(_('Installing'), self.tsInfo.installed),
+        ninstalled = self.tsInfo.installed
+        ginstalled = {}
+        if self.conf.group_command == 'objects' and ninstalled:
+            # Show new pkgs. that are installed via. a group.
+            ninstalled = []
+            for txmbr in self.tsInfo.installed:
+                if hasattr(txmbr, '_igroup_member'):
+                    key = ('i', txmbr._igroup_member)
+                    if key not in ginstalled:
+                        ginstalled[key] = []
+                    ginstalled[key].append(txmbr)
+                elif hasattr(txmbr, '_ugroup_member'):
+                    key = ('u', txmbr._ugroup_member)
+                    if key not in ginstalled:
+                        ginstalled[key] = []
+                    ginstalled[key].append(txmbr)
+                else:
+                    ninstalled.append(txmbr)
+
+        for (T, grp) in sorted(ginstalled, key=lambda x: x[1].ui_name):
+            if T == 'u':
+                msg = _('Installing for group upgrade "%s"')
+            else:
+                msg = _('Installing for group install "%s"')
+            action = msg % grp.ui_name
+            pkglist = ginstalled[(T, grp)]
+
+            lines = []
+            for txmbr in pkglist:
+                a_wid = _add_line(lines, data, a_wid, txmbr.po, txmbr.obsoletes)
+
+            pkglist_lines.append((action, lines))
+
+        for (action, pkglist) in [(_('Installing'), ninstalled),
                             (_('Updating'), self.tsInfo.updated),
                             (_('Removing'), self.tsInfo.removed),
                             (_('Reinstalling'), self.tsInfo.reinstalled),
@@ -1102,19 +1618,72 @@ class YumOutput:
 Transaction Summary
 %s
 """) % ('=' * self.term.columns))
-        for action, count in (
-            (_('Install'), len(self.tsInfo.installed) + len(self.tsInfo.depinstalled)),
-            (_('Upgrade'), len(self.tsInfo.updated) + len(self.tsInfo.depupdated)),
-            (_('Remove'), len(self.tsInfo.removed) + len(self.tsInfo.depremoved)),
-            (_('Reinstall'), len(self.tsInfo.reinstalled)),
-            (_('Downgrade'), len(self.tsInfo.downgraded)),
-        ):
-            if count: out.append('%-9s %5d %s\n' % (
-                action, count, P_('Package', 'Packages', count),
-            ))
+        summary_data =  (
+            (_('Install'), len(self.tsInfo.installed),
+             len(self.tsInfo.depinstalled)),
+            (_('Upgrade'), len(self.tsInfo.updated),
+             len(self.tsInfo.depupdated)),
+            (_('Remove'), len(self.tsInfo.removed),
+             len(self.tsInfo.depremoved)),
+            (_('Reinstall'), len(self.tsInfo.reinstalled), 0),
+            (_('Downgrade'), len(self.tsInfo.downgraded), 0),
+            (_('Skipped (dependency problems)'), len(self.skipped_packages), 0),
+            (_('Not installed'), len(self._not_found_i.values()), 0),
+            (_('Not available'), len(self._not_found_a.values()), 0),
+        )
+        max_msg_action   = 0
+        max_msg_count    = 0
+        max_msg_pkgs     = 0
+        max_msg_depcount = 0
+        for action, count, depcount in summary_data:
+            if not count and not depcount:
+                continue
+
+            msg_pkgs = P_('Package', 'Packages', count)
+            len_msg_action   = utf8_width(action)
+            len_msg_count    = utf8_width(str(count))
+            len_msg_pkgs     = utf8_width(msg_pkgs)
+
+            if depcount:
+                len_msg_depcount = utf8_width(str(depcount))
+            else:
+                len_msg_depcount = 0
+
+            max_msg_action   = max(len_msg_action,   max_msg_action)
+            max_msg_count    = max(len_msg_count,    max_msg_count)
+            max_msg_pkgs     = max(len_msg_pkgs,     max_msg_pkgs)
+            max_msg_depcount = max(len_msg_depcount, max_msg_depcount)
+
+        for action, count, depcount in summary_data:
+            msg_pkgs = P_('Package', 'Packages', count)
+            if depcount:
+                msg_deppkgs = P_('Dependent package', 'Dependent packages',
+                                 depcount)
+                if count:
+                    msg = '%s  %*d %s (+%*d %s)\n'
+                    out.append(msg % (utf8_width_fill(action, max_msg_action),
+                                      max_msg_count, count,
+                                      utf8_width_fill(msg_pkgs, max_msg_pkgs),
+                                      max_msg_depcount, depcount, msg_deppkgs))
+                else:
+                    msg = '%s  %*s %s ( %*d %s)\n'
+                    out.append(msg % (utf8_width_fill(action, max_msg_action),
+                                      max_msg_count, '',
+                                      utf8_width_fill('', max_msg_pkgs),
+                                      max_msg_depcount, depcount, msg_deppkgs))
+            elif count:
+                msg = '%s  %*d %s\n'
+                out.append(msg % (utf8_width_fill(action, max_msg_action),
+                                  max_msg_count, count, msg_pkgs))
         return ''.join(out)
         
     def postTransactionOutput(self):
+        """Returns a human-readable summary of the results of the
+        transaction.
+        
+        :return: a string containing a human-readable summary of the
+           results of the transaction
+        """
         out = ''
         
         self.tsInfo.makelists()
@@ -1179,17 +1748,19 @@ Transaction Summary
         return out
 
     def setupProgressCallbacks(self):
-        """sets up the progress callbacks and various 
-           output bars based on debug level"""
-
+        """Set up the progress callbacks and various 
+           output bars based on debug level.
+        """
         # if we're below 2 on the debug level we don't need to be outputting
         # progress bars - this is hacky - I'm open to other options
         # One of these is a download
         if self.conf.debuglevel < 2 or not sys.stdout.isatty():
             progressbar = None
+            multi_progressbar = None
             callback = None
         else:
             progressbar = YumTextMeter(fo=sys.stdout)
+            multi_progressbar = YumTextMultiFileMeter(fo=sys.stdout)
             callback = CacheProgressCallback()
 
         # setup our failure report for failover
@@ -1200,13 +1771,14 @@ Transaction Summary
         interrupt_callback = self.interrupt_callback
         if hasattr(self, 'prerepoconf'):
             self.prerepoconf.progressbar = progressbar
+            self.prerepoconf.multi_progressbar = multi_progressbar
             self.prerepoconf.callback = callback
             self.prerepoconf.failure_callback = failure_callback
             self.prerepoconf.interrupt_callback = interrupt_callback
         else:
             #  Just in case some API user decides to do self.repos before
             # calling us.
-            self.repos.setProgressBar(progressbar)
+            self.repos.setProgressBar(progressbar, multi_progressbar)
             self.repos.callback = callback
             self.repos.setFailureCallback(failure_callback)
             self.repos.setInterruptCallback(interrupt_callback)
@@ -1216,10 +1788,12 @@ Transaction Summary
         self.dsCallback = dscb
     
     def setupProgessCallbacks(self):
-        # api purposes only to protect the typo
+        """This function is for API purposes only to protect the typo."""
         self.setupProgressCallbacks()
     
     def setupKeyImportCallbacks(self):
+        """Set up callbacks to import and confirm gpg public keys."""
+
         confirm_func = self._cli_confirm_gpg_key_import
         gpg_import_func = self.getKeyForRepo
         gpgca_import_func = self.getCAKeyForRepo
@@ -1233,14 +1807,12 @@ Transaction Summary
             self.repos.gpgca_import_func = gpgca_import_func
 
     def interrupt_callback(self, cbobj):
-        '''Handle CTRL-C's during downloads
-
-        If a CTRL-C occurs a URLGrabError will be raised to push the download
-        onto the next mirror.  
-        
-        If two CTRL-C's occur in quick succession then yum will exit.
+        '''Handle CTRL-C's during downloads.  If a CTRL-C occurs a
+        URLGrabError will be raised to push the download onto the next
+        mirror.  If two CTRL-C's occur in quick succession then yum
+        will exit.
 
-        @param cbobj: urlgrabber callback obj
+        :param cbobj: :class:`urlgrabber.grabber.CallbackObject`
         '''
         delta_exit_chk = 2.0      # Delta between C-c's so we treat as exit
         delta_exit_str = _("two") # Human readable version of above
@@ -1253,7 +1825,7 @@ Transaction Summary
             # For translators: This is output like:
 #  Current download cancelled, interrupt (ctrl-c) again within two seconds
 # to exit.
-            # Where "interupt (ctrl-c) again" and "two" are highlighted.
+            # Where "interrupt (ctrl-c) again" and "two" are highlighted.
             msg = _("""
  Current download cancelled, %sinterrupt (ctrl-c) again%s within %s%s%s seconds
 to exit.
@@ -1269,6 +1841,14 @@ to exit.
 
     def download_callback_total_cb(self, remote_pkgs, remote_size,
                                    download_start_timestamp):
+        """Outputs summary information about the download process.
+
+        :param remote_pkgs: a list of package objects that were downloaded
+        :param remote_size: the total amount of information that was
+           downloaded, in bytes
+        :param download_start_timestamp: the time when the download
+           process started, in seconds since the epoch
+        """
         if len(remote_pkgs) <= 1:
             return
         if not hasattr(urlgrabber.progress, 'TerminalLine'):
@@ -1280,7 +1860,7 @@ to exit.
         if dl_time <= 0: # This stops divide by zero, among other problems
             dl_time = 0.01
         ui_size = tl.add(' | %5sB' % self.format_number(remote_size))
-        ui_time = tl.add(' %9s' % self.format_time(dl_time))
+        ui_time = tl.add('  %s' % self.format_time(dl_time, tl._llen > 80))
         ui_end  = tl.add(' ' * 5)
         ui_bs   = tl.add(' %5sB/s' % self.format_number(remote_size / dl_time))
         msg = "%s%s%s%s%s" % (utf8_width_fill(_("Total"), tl.rest(), tl.rest()),
@@ -1434,10 +2014,21 @@ to exit.
         return tids, printall
 
     def historyListCmd(self, extcmds):
-        """ Shows the user a list of data about the history. """
+        """Output a list of information about the history of yum
+        transactions.
 
+        :param extcmds: list of extra command line arguments
+        :return: (exit_code, [errors])
+
+        exit_code is::
+
+            0 = we're done, exit
+            1 = we've errored, exit with error string
+        """
         tids, printall = self._history_list_transactions(extcmds)
         if tids is None:
+            if not extcmds: # This is not a real error...
+                return 0, ['No accessible history to list']
             return 1, ['Failed history list']
 
         limit = 20
@@ -1564,6 +2155,16 @@ to exit.
         return old[0]
 
     def historyInfoCmd(self, extcmds):
+        """Output information about a transaction in history
+
+        :param extcmds: list of extra command line arguments
+        :return: (exit_code, [errors])
+
+        exit_code is::
+
+            0 = we're done, exit
+            1 = we've errored, exit with error string
+        """
         def str2int(x):
             try:
                 return int(x)
@@ -1656,6 +2257,9 @@ to exit.
     def _hpkg2from_repo(self, hpkg):
         """ Given a pkg, find the ipkg.ui_from_repo ... if none, then
             get an apkg. ... and put a ? in there. """
+        if 'from_repo' in hpkg.yumdb_info:
+            return hpkg.ui_from_repo
+
         ipkgs = self.rpmdb.searchPkgTuple(hpkg.pkgtup)
         if not ipkgs:
             apkgs = self.pkgSack.searchPkgTuple(hpkg.pkgtup)
@@ -1672,13 +2276,12 @@ to exit.
                                  'o' : _('Updated'), 'n' : _('Downgraded')}
         _pkg_states_available = {'i' : _('Installed'), 'e' : _('Not installed'),
                                  'o' : _('Older'), 'n' : _('Newer')}
-        # max() only in 2.5.z
-        maxlen = sorted([len(x) for x in (_pkg_states_installed.values() +
-                                          _pkg_states_available.values())])[-1]
+        maxlen = max([len(x) for x in (_pkg_states_installed.values() +
+                                       _pkg_states_available.values())])
         _pkg_states_installed['maxlen'] = maxlen
         _pkg_states_available['maxlen'] = maxlen
         def _simple_pkg(pkg, prefix_len, was_installed=False, highlight=False,
-                        pkg_max_len=0):
+                        pkg_max_len=0, show_repo=True):
             prefix = " " * prefix_len
             if was_installed:
                 _pkg_states = _pkg_states_installed
@@ -1702,9 +2305,11 @@ to exit.
             else:
                 (hibeg, hiend) = self._highlight('normal')
             state = utf8_width_fill(state, _pkg_states['maxlen'])
+            ui_repo = ''
+            if show_repo:
+                ui_repo = self._hpkg2from_repo(hpkg)
             print "%s%s%s%s %-*s %s" % (prefix, hibeg, state, hiend,
-                                        pkg_max_len, hpkg,
-                                        self._hpkg2from_repo(hpkg))
+                                        pkg_max_len, hpkg, ui_repo)
 
         if type(old.tid) == type([]):
             print _("Transaction ID :"), "%u..%u" % (old.tid[0], old.tid[-1])
@@ -1778,8 +2383,8 @@ to exit.
             default_addons = set(['config-main', 'config-repos', 'saved_tx'])
             non_default = set(addon_info).difference(default_addons)
             if len(non_default) > 0:
-                    print _("Additional non-default information stored: %d" 
-                                % len(non_default))
+                print _("Additional non-default information stored: %d" 
+                            % len(non_default))
 
         if old.trans_with:
             # This is _possible_, but not common
@@ -1794,7 +2399,9 @@ to exit.
             print _("Packages Skipped:")
             pkg_max_len = max((len(str(hpkg)) for hpkg in old.trans_skip))
         for hpkg in old.trans_skip:
-            _simple_pkg(hpkg, 4, pkg_max_len=pkg_max_len)
+            #  Don't show the repo. here because we can't store it as they were,
+            # by definition, not installed.
+            _simple_pkg(hpkg, 4, pkg_max_len=pkg_max_len, show_repo=False)
 
         if old.rpmdb_problems:
             print _("Rpmdb Problems:")
@@ -1833,6 +2440,13 @@ to exit.
                               'Updated'      : _('Updated'),
                               }
     def historyInfoCmdPkgsAltered(self, old, pats=[]):
+        """Print information about how packages are altered in a transaction.
+
+        :param old: the :class:`history.YumHistoryTransaction` to
+           print information about
+        :param pats: a list of patterns.  Packages that match a patten
+           in *pats* will be highlighted in the output
+        """
         last = None
         #  Note that these don't use _simple_pkg() because we are showing what
         # happened to them in the transaction ... not the difference between the
@@ -1886,6 +2500,10 @@ to exit.
                                         self._hpkg2from_repo(hpkg))
 
     def historySummaryCmd(self, extcmds):
+        """Print a summary of transactions in history.
+
+        :param extcmds: list of extra command line arguments
+        """
         tids, printall = self._history_list_transactions(extcmds)
         if tids is None:
             return 1, ['Failed history info']
@@ -1946,6 +2564,10 @@ to exit.
                              utf8_width_fill(uiacts, 16, 16), count)
 
     def historyAddonInfoCmd(self, extcmds):
+        """Print addon information about transaction in history.
+
+        :param extcmds: list of extra command line arguments
+        """
         tid = None
         if len(extcmds) > 1:
             tid = extcmds[1]
@@ -1983,16 +2605,19 @@ to exit.
         
         for item in extcmds[2:]:
             if item in addon_info:
-                print '%s:' % item
-                print self.history.return_addon_data(hist_data.tid, item)
+                self.verbose_logger.log(logginglevels.INFO_2, '%s:', item)
+                print self.history.return_addon_data(hist_data.tid, item),
+                self.verbose_logger.log(logginglevels.INFO_2, '')
             else:
                 print _('%s: No additional data found by this name') % item
-
-            print ''
+            self.verbose_logger.log(logginglevels.INFO_2, '')
 
     def historyPackageListCmd(self, extcmds):
-        """ Shows the user a list of data about the history, from the point
-            of a package(s) instead of via. transactions. """
+        """Print a list of information about transactions from history
+        that involve the given package or packages.
+
+        :param extcmds: list of extra command line arguments
+        """
         tids = self.history.search(extcmds)
         limit = None
         if extcmds and not tids:
@@ -2078,9 +2703,94 @@ to exit.
             if lastdbv.end_rpmdbversion != rpmdbv:
                 self._rpmdb_warn_checks()
 
+    def historyPackageInfoCmd(self, extcmds):
+        """Print information about packages in history transactions.
+
+        :param extcmds: list of extra command line arguments
+        """
+        tids = self.history.search(extcmds)
+        limit = None
+        if extcmds and not tids:
+            self.logger.critical(_('Bad transaction IDs, or package(s), given'))
+            return 1, ['Failed history packages-info']
+        if not tids:
+            limit = 20
+
+        all_uistates = self._history_state2uistate
+
+        num = 0
+        for old in self.history.old(tids, limit=limit):
+            if limit is not None and num and (num +len(old.trans_data)) > limit:
+                break
+
+            for hpkg in old.trans_data: # Find a pkg to go with each cmd...
+                if limit is None:
+                    x,m,u = yum.packages.parsePackages([hpkg], extcmds)
+                    if not x and not m:
+                        continue
+
+                uistate = all_uistates.get(hpkg.state, hpkg.state)
+                if num:
+                    print ""
+                print _("Transaction ID :"), old.tid
+                tm = time.ctime(old.beg_timestamp)
+                print _("Begin time     :"), tm
+                print _("Package        :"), hpkg.ui_nevra
+                print _("State          :"), uistate
+                if hpkg.size is not None:
+                    num = int(hpkg.size)
+                    print _("Size           :"), locale.format("%d", num, True)
+                if hpkg.buildhost is not None:
+                    print _("Build host     :"), hpkg.buildhost
+                if hpkg.buildtime is not None:
+                    tm = time.ctime(int(hpkg.buildtime))
+                    print _("Build time     :"), tm
+                if hpkg.packager is not None:
+                    print _("Packager       :"), hpkg.packager
+                if hpkg.vendor is not None:
+                    print _("Vendor         :"), hpkg.vendor
+                if hpkg.license is not None:
+                    print _("License        :"), hpkg.license
+                if hpkg.url is not None:
+                    print _("URL            :"), hpkg.url
+                if hpkg.sourcerpm is not None:
+                    print _("Source RPM     :"), hpkg.sourcerpm
+                if hpkg.committime is not None:
+                    tm = time.ctime(int(hpkg.committime))
+                    print _("Commit Time    :"), tm
+                if hpkg.committer is not None:
+                    print _("Committer      :"), hpkg.committer
+                if hpkg.yumdb_info.reason is not None:
+                    print _("Reason         :"), hpkg.yumdb_info.reason
+                if hpkg.yumdb_info.command_line is not None:
+                    print _("Command Line   :"), hpkg.yumdb_info.command_line
+                if hpkg.yumdb_info.from_repo is not None:
+                    print _("From repo      :"), hpkg.yumdb_info.from_repo
+                if hpkg.yumdb_info.installed_by is not None:
+                    uid = int(hpkg.yumdb_info.installed_by)
+                    name = self._pwd_ui_username(uid)
+                    print _("Installed by   :"), name
+                if hpkg.yumdb_info.changed_by is not None:
+                    uid = int(hpkg.yumdb_info.changed_by)
+                    name = self._pwd_ui_username(uid)
+                    print _("Changed by     :"), name
+
+                num += 1
+
+        # And, again, copy and paste...
+        lastdbv = self.history.last()
+        if lastdbv is None:
+            self._rpmdb_warn_checks(warn=False)
+        else:
+            #  If this is the last transaction, is good and it doesn't
+            # match the current rpmdb ... then mark it as bad.
+            rpmdbv  = self.rpmdb.simpleVersion(main_only=True)[0]
+            if lastdbv.end_rpmdbversion != rpmdbv:
+                self._rpmdb_warn_checks()
+
 
 class DepSolveProgressCallBack:
-    """provides text output callback functions for Dependency Solver callback"""
+    """A class to provide text output callback functions for Dependency Solver callback."""
     
     def __init__(self, ayum=None):
         """requires yum-cli log and errorlog functions as arguments"""
@@ -2089,6 +2799,25 @@ class DepSolveProgressCallBack:
         self.ayum = ayum
 
     def pkgAdded(self, pkgtup, mode):
+        """Print information about a package being added to the
+        transaction set.
+
+        :param pkgtup: tuple containing the package name, arch,
+           version, and repository
+        :param mode: a short string indicating why the package is
+           being added to the transaction set.
+
+        Valid current values for *mode* are::
+        
+           i = the package will be installed
+           u = the package will be an update
+           e = the package will be erased
+           r = the package will be reinstalled
+           d = the package will be a downgrade
+           o = the package will be obsoleting another package
+           ud = the package will be updated
+           od = the package will be obsoleted
+        """
         modedict = { 'i': _('installed'),
                      'u': _('an update'),
                      'e': _('erased'),
@@ -2104,43 +2833,86 @@ class DepSolveProgressCallBack:
             modeterm)
         
     def start(self):
+        """Perform setup at the beginning of the dependency solving
+        process.
+        """
         self.loops += 1
         
     def tscheck(self):
+        """Output a message stating that a transaction check is beginning."""
         self.verbose_logger.log(logginglevels.INFO_2, _('--> Running transaction check'))
         
     def restartLoop(self):
+        """Output a message stating that dependency resolution is restarting."""
         self.loops += 1
         self.verbose_logger.log(logginglevels.INFO_2,
             _('--> Restarting Dependency Resolution with new changes.'))
         self.verbose_logger.debug('---> Loop Number: %d', self.loops)
     
     def end(self):
+        """Output a message stating that dependency resolution has finished."""
         self.verbose_logger.log(logginglevels.INFO_2,
             _('--> Finished Dependency Resolution'))
 
     
     def procReq(self, name, formatted_req):
+        """Output a message stating that the package *formatted_req*
+        is being processed as a dependency for the package *name*.
+
+        :param name: the name of the package that *formatted_req* is a
+           dependency of
+        :param formatted_req: a string representing the package that
+           is being processed as a dependency of *name*
+        """
         self.verbose_logger.log(logginglevels.INFO_2,
             _('--> Processing Dependency: %s for package: %s'), formatted_req,
             name)
 
     def procReqPo(self, po, formatted_req):
+        """Output a message stating that the package *formatted_req*
+        is being processed as a dependency for the package *po*.
+
+        :param po: the package object that *formatted_req* is a
+           dependency of
+        :param formatted_req: a string representing the package that
+           is being processed as a dependency of *po*
+        """
         self.verbose_logger.log(logginglevels.INFO_2,
             _('--> Processing Dependency: %s for package: %s'), formatted_req,
             po)
     
-    def groupRemoveReq(self, po, hits):
+    def removeReq(self, po, deppo, hits):
+        """Output a message stating that the given package will not be
+        removed. This method is used during leaf-only group remove, leaf-only
+        repo-pkg remove and normal remove commands to indicate that the
+        package will be kept.
+
+        :param po: the :class:`yum.packages.PackageObject` that will
+           not be removed
+        :param hits: unused
+        """
         self.verbose_logger.log(logginglevels.INFO_2,
-            _('---> Keeping package: %s'), po)
+            _('---> Keeping package: %s due to %s'), po, deppo)
 
     def unresolved(self, msg):
+        """Output a message stating that there is an unresolved
+        dependency.
+
+        :param msg: string giving information about the unresolved
+        dependency
+        """
         self.verbose_logger.log(logginglevels.INFO_2, _('--> Unresolved Dependency: %s'),
             msg)
 
     def format_missing_requires(self, reqPo, reqTup):
-        """ Create a message for errorlist, non-cli users could also store this
-            data somewhere and not print errorlist. """
+        """Return an error message stating that a package required to
+        fulfill a dependency is missing.
+
+        :param reqPo: the package object that has a dependency that
+           cannot be fulfilled
+        :param reqTup: the name, flags, and version of the package
+           needed to fulfil the dependency
+        """
         needname, needflags, needversion = reqTup
 
         yb = self.ayum
@@ -2164,6 +2936,18 @@ class DepSolveProgressCallBack:
                 done = True
                 msg += _('\n        %s') % yum.misc.prco_tuple_to_string(pkgtup)
             if not done:
+                nneedname = needname.translate(None, "0123456789")
+                if nneedname != needname:
+                    #  Sometimes things change numbers, so compare without.
+                    # Eg. libXYZ.so.0() libXYZ.so.1()
+                    for pkgtup in pkg.provides:
+                        name = pkgtup[0]
+                        name = name.translate(None, "0123456789")
+                        if name == nneedname:
+                            done = True
+                            pkgtup = yum.misc.prco_tuple_to_string(pkgtup)
+                            msg += _('\n       ~%s') % pkgtup
+            if not done:
                 msg += _('\n        Not found')
             return msg
 
@@ -2225,46 +3009,106 @@ class DepSolveProgressCallBack:
         return msg
     
     def procConflict(self, name, confname):
+        """Print a message stating that two packages in the
+        transaction conflict.
+
+        :param name: the name of the first package involved in the
+           conflict 
+        :param confname: the name of the second package involved in
+           the conflict
+        """
         self.verbose_logger.log(logginglevels.INFO_2,
             _('--> Processing Conflict: %s conflicts %s'),
                                 name, confname)
 
     def procConflictPo(self, po, confname):
+        """Print a message stating that two packages in the
+        transaction conflict.
+
+        :param name: the first package object involved in the
+           conflict 
+        :param confname: the second package object involved in
+           the conflict
+        """
         self.verbose_logger.log(logginglevels.INFO_2,
             _('--> Processing Conflict: %s conflicts %s'),
                                 po, confname)
 
     def transactionPopulation(self):
+        """Output a message stating that the transaction set is being populated."""
+
         self.verbose_logger.log(logginglevels.INFO_2, _('--> Populating transaction set '
             'with selected packages. Please wait.'))
     
     def downloadHeader(self, name):
+        """Output a message stating that the header for the given
+        package is being downloaded.
+
+        :param name: the name of the package
+        """
         self.verbose_logger.log(logginglevels.INFO_2, _('---> Downloading header for %s '
             'to pack into transaction set.'), name)
        
 
 class CacheProgressCallback:
+    """A class to handle text output callbacks during metadata cache updates."""
 
-    '''
-    The class handles text output callbacks during metadata cache updates.
-    '''
-    
     def __init__(self):
         self.logger = logging.getLogger("yum.cli")
         self.verbose_logger = logging.getLogger("yum.verbose.cli")
         self.file_logger = logging.getLogger("yum.filelogging.cli")
 
     def log(self, level, message):
+        """Output a log message.
+
+        :param level: the logging level for the message
+        :param message: the message
+        """
         self.verbose_logger.log(level, message)
 
     def errorlog(self, level, message):
+        """Output an errorlog message.
+
+        :param level: the logging level for the message
+        :param message: the message
+        """
         self.logger.log(level, message)
 
     def filelog(self, level, message):
+        """Output a file log message.
+
+        :param level: the logging level for the message
+        :param message: the message
+        """
         self.file_logger.log(level, message)
 
     def progressbar(self, current, total, name=None):
-        progressbar(current, total, name)
+        """Output the current status to the terminal using a progress
+        status bar.
+
+        :param current: a number representing the amount of work
+           already done
+        :param total: a number representing the total amount of work
+           to be done
+        :param name: a name to label the progress bar with
+        """
+        #  We can easily have 10k+ packages in a repo. and we don't want to
+        # output 80 * 10k lines to the screen, esp. when the user probably
+        # doesn't care about 10k updates ... some serial consoles also get
+        # really unhappy, as they can't deal with the IO fast enough.
+        num_outputs = 200
+        output = False
+        opc = total / num_outputs
+        if opc <= 1:
+            output = True
+        elif current <= 1:
+            output = True # output the beginning
+        elif current == total:
+            output = True # output the end
+        elif not (current % opc):
+            output = True
+        if output:
+            progressbar(current, total, name)
 
 def _pkgname_ui(ayum, pkgname, ts_states=None):
     """ Get more information on a simple pkgname, if we can. We need to search
@@ -2316,10 +3160,7 @@ def _pkgname_ui(ayum, pkgname, ts_states=None):
     return pkgname
 
 class YumCliRPMCallBack(RPMBaseCallback):
-
-    """
-    Yum specific callback class for RPM operations.
-    """
+    """A Yum specific callback class for RPM operations."""
 
     width = property(lambda x: _term_width())
 
@@ -2337,21 +3178,34 @@ class YumCliRPMCallBack(RPMBaseCallback):
     #  Installing things have pkg objects passed to the events, so only need to
     # lookup for erased/obsoleted.
     def pkgname_ui(self, pkgname, ts_states=('e', 'od', 'ud', None)):
-        """ Get more information on a simple pkgname, if we can. """
+        """Return more information on a simple pkgname, if possible.
+
+        :param pkgname: the name of the package to find information about
+        :param ts_states: a tuple containing the states where the
+           package might be found
+        """
         return _pkgname_ui(self.ayum, pkgname, ts_states)
 
     def event(self, package, action, te_current, te_total, ts_current, ts_total):
-        # this is where a progress bar would be called
+        """Output information about an rpm operation.  This may
+        include a text progress bar.
+
+        :param package: the package involved in the event
+        :param action: the type of action that is taking place.  Valid
+           values are given by
+           :func:`rpmtrans.RPMBaseCallback.action.keys()`
+        :param te_current: a number representing the amount of work
+           already done in the current transaction
+        :param te_total: a number representing the total amount of work
+           to be done in the current transaction
+        :param ts_current: the number of the current transaction in
+           transaction set
+        :param ts_total: the total number of transactions in the
+           transaction set
+        """
         process = self.action[action]
 
-        if not hasattr(self, '_max_action_wid'):
-            wid1 = 0
-            for val in self.action.values():
-                wid_val = utf8_width(val)
-                if wid1 < wid_val:
-                    wid1 = wid_val
-            self._max_action_wid = wid1
-        wid1 = self._max_action_wid
+        wid1 = self._max_action_width()
         
         if type(package) not in types.StringTypes:
             pkgname = str(package)
@@ -2363,9 +3217,25 @@ class YumCliRPMCallBack(RPMBaseCallback):
             percent = 0
         else:
             percent = (te_current*100L)/te_total
-        
+        self._out_event(te_current, te_total, ts_current, ts_total,
+                        percent, process, pkgname, wid1)
+
+    def _max_action_width(self):
+        if not hasattr(self, '_max_action_wid_cache'):
+            wid1 = 0
+            for val in self.action.values():
+                wid_val = utf8_width(val)
+                if wid1 < wid_val:
+                    wid1 = wid_val
+            self._max_action_wid_cache = wid1
+        wid1 = self._max_action_wid_cache
+        return wid1
+
+    def _out_event(self, te_current, te_total, ts_current, ts_total,
+                   percent, process, pkgname, wid1):
         if self.output and (sys.stdout.isatty() or te_current == te_total):
             (fmt, wid1, wid2) = self._makefmt(percent, ts_current, ts_total,
+                                              progress=sys.stdout.isatty(),
                                               pkgname=pkgname, wid1=wid1)
             msg = fmt % (utf8_width_fill(process, wid1, wid1),
                          utf8_width_fill(pkgname, wid2, wid2))
@@ -2377,6 +3247,11 @@ class YumCliRPMCallBack(RPMBaseCallback):
                 print " "
 
     def scriptout(self, package, msgs):
+        """Print messages originating from a package script.
+
+        :param package: unused
+        :param msgs: the messages coming from the script
+        """
         if msgs:
             sys.stdout.write(to_unicode(msgs))
             sys.stdout.flush()
@@ -2396,7 +3271,7 @@ class YumCliRPMCallBack(RPMBaseCallback):
             pnl = utf8_width(pkgname)
 
         overhead  = (2 * l) + 2 # Length of done, above
-        overhead +=  2+ wid1 +2 # Length of begining ("  " action " :")
+        overhead +=  2+ wid1 +2 # Length of beginning ("  " action " :")
         overhead +=  1          # Space between pn and done
         overhead +=  2          # Ends for progress
         overhead +=  1          # Space for end
@@ -2429,8 +3304,30 @@ class YumCliRPMCallBack(RPMBaseCallback):
             wid2 = pnl
         return fmt, wid1, wid2
 
+    def verify_txmbr(self, base, txmbr, count):
+        " Callback for post transaction when we are in verifyTransaction(). "
+        te_current = count
+        te_total   = len(base.tsInfo)
+        # self.event(txmbr.name, count, len(base.tsInfo), count, )
+
+        percent = 100 # (te_current*100L)/te_total
+        process = _('Verifying')
+        pkgname = str(txmbr.po)
+        wid1    = max(utf8_width(process), self._max_action_width())
+        self._out_event(100, 100, te_current, te_total, 
+                        percent, process, pkgname, wid1)
+
 
 def progressbar(current, total, name=None):
+    """Output the current status to the terminal using a simple
+    text progress bar consisting of 50 # marks.
+
+    :param current: a number representing the amount of work
+       already done
+    :param total: a number representing the total amount of work
+       to be done
+    :param name: a name to label the progress bar with
+    """
     """simple progress bar 50 # marks"""
     
     mark = '#'
diff --git a/po/bg.po b/po/bg.po
new file mode 100644
index 0000000..7889293
--- /dev/null
+++ b/po/bg.po
@@ -0,0 +1,3506 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# 
+# Translators:
+# Valentin Laskov <laskov@festa.bg>, 2012.
+msgid ""
+msgstr ""
+"Project-Id-Version: Yum\n"
+"Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
+"POT-Creation-Date: 2013-01-30 09:08-0500\n"
+"PO-Revision-Date: 2013-01-30 14:08+0000\n"
+"Last-Translator: james <james@fedoraproject.org>\n"
+"Language-Team: Bulgarian (http://www.transifex.com/projects/p/yum/language/bg/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: bg\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../callback.py:45 ../output.py:1502 ../yum/rpmtrans.py:73
+msgid "Updating"
+msgstr "Обновяване"
+
+#: ../callback.py:46 ../yum/rpmtrans.py:74
+msgid "Erasing"
+msgstr "Изтриване"
+
+#: ../callback.py:47 ../callback.py:48 ../callback.py:50 ../output.py:1501
+#: ../output.py:2922 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
+#: ../yum/rpmtrans.py:78
+msgid "Installing"
+msgstr "Инсталиране"
+
+#: ../callback.py:49 ../callback.py:55 ../output.py:2379 ../yum/rpmtrans.py:77
+msgid "Obsoleted"
+msgstr "Излязъл от употреба"
+
+#: ../callback.py:51 ../output.py:1670 ../output.py:2222 ../output.py:2386
+msgid "Updated"
+msgstr "Обновен"
+
+#: ../callback.py:52 ../output.py:2221
+msgid "Erased"
+msgstr "Изтрит"
+
+#: ../callback.py:53 ../callback.py:54 ../callback.py:56 ../output.py:1668
+#: ../output.py:2221 ../output.py:2223 ../output.py:2894
+msgid "Installed"
+msgstr "Инсталиран"
+
+#: ../callback.py:142
+msgid "No header - huh?"
+msgstr "Няма заглавна част, уф?"
+
+#: ../callback.py:180
+msgid "Repackage"
+msgstr "Препакетиране"
+
+#: ../callback.py:201
+#, python-format
+msgid "Error: invalid output state: %s for %s"
+msgstr "Грешка: невалидно изходно състояние: %s за %s"
+
+#: ../callback.py:224
+#, python-format
+msgid "Erased: %s"
+msgstr "Изтрит: %s"
+
+#: ../callback.py:229 ../output.py:1503 ../output.py:2897
+msgid "Removing"
+msgstr "Премахване"
+
+#: ../callback.py:231 ../yum/rpmtrans.py:79
+msgid "Cleanup"
+msgstr "Почистване"
+
+#: ../cli.py:122
+#, python-format
+msgid "Command \"%s\" already defined"
+msgstr "Командата \"%s\" е вече дефинирана"
+
+#: ../cli.py:137
+msgid "Setting up repositories"
+msgstr "Задаване на хранилища"
+
+#: ../cli.py:148
+msgid "Reading repository metadata in from local files"
+msgstr "Четене метаданни на хранилища от локални файлове"
+
+#: ../cli.py:273 ../cli.py:277 ../utils.py:320
+#, python-format
+msgid "Config Error: %s"
+msgstr "Грешка в конфига: %s"
+
+#: ../cli.py:280 ../cli.py:2206 ../utils.py:323
+#, python-format
+msgid "Options Error: %s"
+msgstr "Грешка в опции: %s"
+
+#: ../cli.py:327
+#, python-format
+msgid "  Installed: %s-%s at %s"
+msgstr "  Инсталирани: %s-%s на %s"
+
+#: ../cli.py:329
+#, python-format
+msgid "  Built    : %s at %s"
+msgstr "  Построен    : %s на %s"
+
+#: ../cli.py:331
+#, python-format
+msgid "  Committed: %s at %s"
+msgstr "  Подаден: %s на %s"
+
+#: ../cli.py:372
+msgid "You need to give some command"
+msgstr "Трябва да зададете някаква команда"
+
+#: ../cli.py:386
+#, python-format
+msgid "No such command: %s. Please use %s --help"
+msgstr "Няма такава команда: %s. Моля, ползвайте %s --help"
+
+#: ../cli.py:444
+msgid "Disk Requirements:\n"
+msgstr "Изисквания за пространство:\n"
+
+#: ../cli.py:446
+#, python-format
+msgid "  At least %dMB more space needed on the %s filesystem.\n"
+msgid_plural "  At least %dMB more space needed on the %s filesystem.\n"
+msgstr[0] "  Поне още %dMB пространство е нужен във файловата система %s\n"
+msgstr[1] "  Поне още %dMB пространство са нужни във файловата система %s\n"
+
+#. TODO: simplify the dependency errors?
+#. Fixup the summary
+#: ../cli.py:451
+msgid ""
+"Error Summary\n"
+"-------------\n"
+msgstr "Обобщение на грешките\n---------------------\n"
+
+#: ../cli.py:472
+msgid "Can't create lock file; exiting"
+msgstr "Не мога да създам заключващ файл; излизам"
+
+#: ../cli.py:479
+msgid ""
+"Another app is currently holding the yum lock; exiting as configured by "
+"exit_on_lock"
+msgstr "Друго приложение ползва и е заключило yum; излизам - конфигурирано е exit_on_lock"
+
+#: ../cli.py:532
+msgid "Trying to run the transaction but nothing to do. Exiting."
+msgstr "Опитвам да стартирам транзакцията, но няма нищо за правене. Излизам."
+
+#: ../cli.py:577
+msgid "future rpmdb ver mismatched saved transaction version,"
+msgstr ""
+
+#: ../cli.py:579 ../yum/__init__.py:6523
+msgid " ignoring, as requested."
+msgstr " игнорирам, както е зададено."
+
+#: ../cli.py:582 ../yum/__init__.py:6526 ../yum/__init__.py:6673
+msgid " aborting."
+msgstr " прекратявам."
+
+#: ../cli.py:588
+msgid "Exiting on user Command"
+msgstr "Излизане по команда от потребителя"
+
+#: ../cli.py:592
+msgid "Downloading Packages:"
+msgstr "Сваляне на пакети:"
+
+#: ../cli.py:597
+msgid "Error Downloading Packages:\n"
+msgstr "Грешка при сваляне на пакети:\n"
+
+#: ../cli.py:616 ../yum/__init__.py:6215
+msgid "Running Transaction Check"
+msgstr "Извършва се проверка на транзакцията"
+
+#: ../cli.py:625 ../yum/__init__.py:6224
+msgid "ERROR You need to update rpm to handle:"
+msgstr "ГРЕШКА трябва да обновите rpm за да обработя:"
+
+#: ../cli.py:627 ../yum/__init__.py:6227
+msgid "ERROR with transaction check vs depsolve:"
+msgstr "ГРЕШКА в проверката на транзакцията спрямо разрешаването на зависимостите:"
+
+#: ../cli.py:633
+msgid "RPM needs to be updated"
+msgstr "RPM трябва да се обнови"
+
+#: ../cli.py:634
+#, python-format
+msgid "Please report this error in %s"
+msgstr "Моля, докладвайте тази грешка в %s"
+
+#: ../cli.py:640
+msgid "Running Transaction Test"
+msgstr "Провежда се тестова транзакция"
+
+#: ../cli.py:652
+msgid "Transaction Check Error:\n"
+msgstr "Грешка в проверката на транзакция:\n"
+
+#: ../cli.py:659
+msgid "Transaction Test Succeeded"
+msgstr "Тестовата транзакция е успешна"
+
+#: ../cli.py:691
+msgid "Running Transaction"
+msgstr "Транзакцията е в ход"
+
+#: ../cli.py:724
+msgid ""
+"Refusing to automatically import keys when running unattended.\n"
+"Use \"-y\" to override."
+msgstr "Отказ от автоматичен импорт на ключове при работа без надзор.\nЗа пренебрегване, ползвайте \"-y\"."
+
+#: ../cli.py:743 ../cli.py:786
+msgid "  * Maybe you meant: "
+msgstr "  * Може би имате предвид: "
+
+#: ../cli.py:769 ../cli.py:777
+#, python-format
+msgid "Package(s) %s%s%s available, but not installed."
+msgstr "Пакет(и) %s%s%s са налични, но не са инсталирани."
+
+#: ../cli.py:783 ../cli.py:891 ../cli.py:1158
+#, python-format
+msgid "No package %s%s%s available."
+msgstr "Няма наличен пакет %s%s%s."
+
+#: ../cli.py:871 ../cli.py:881 ../cli.py:1101 ../cli.py:1111
+#, python-format
+msgid "Bad %s argument %s."
+msgstr ""
+
+#: ../cli.py:900 ../yumcommands.py:3331
+#, python-format
+msgid "%d package to install"
+msgid_plural "%d packages to install"
+msgstr[0] "%d пакет за инсталиране"
+msgstr[1] "%d пакета за инсталиране"
+
+#: ../cli.py:903 ../cli.py:904 ../cli.py:1169 ../cli.py:1170 ../cli.py:1224
+#: ../cli.py:1225 ../cli.py:1260 ../yumcommands.py:323 ../yumcommands.py:3419
+msgid "Nothing to do"
+msgstr "Нищо за правене"
+
+#: ../cli.py:953
+#, python-format
+msgid "%d package marked for Update"
+msgid_plural "%d packages marked for Update"
+msgstr[0] "%d пакет, маркиран за обновяване"
+msgstr[1] "%d пакета, маркирани за обновяване"
+
+#: ../cli.py:955
+msgid "No Packages marked for Update"
+msgstr "Няма пакети, маркирани за обновяване"
+
+#: ../cli.py:1067
+#, python-format
+msgid "%d package marked for Distribution Synchronization"
+msgid_plural "%d packages marked for Distribution Synchronization"
+msgstr[0] "%d пакет, маркиран за синхронизиране на дистрибуцията"
+msgstr[1] "%d пакета, маркирани за синхронизиране на дистрибуцията"
+
+#: ../cli.py:1069
+msgid "No Packages marked for Distribution Synchronization"
+msgstr "Няма пакети, маркирани за синхронизация на дистрибуцията"
+
+#: ../cli.py:1124
+#, python-format
+msgid "%d package marked for removal"
+msgid_plural "%d packages marked for removal"
+msgstr[0] "%d пакет, маркиран за премахване"
+msgstr[1] "%d пакета, маркирани за премахване"
+
+#: ../cli.py:1126
+msgid "No Packages marked for removal"
+msgstr "Няма пакети, маркирани за премахване"
+
+#: ../cli.py:1166
+#, python-format
+msgid "%d package to downgrade"
+msgid_plural "%d packages to downgrade"
+msgstr[0] "%d пакет за връщане към предишна версия"
+msgstr[1] "%d пакета за връщане към предишна версия"
+
+#: ../cli.py:1207
+#, python-format
+msgid " (from %s)"
+msgstr " (от %s)"
+
+#: ../cli.py:1208
+#, python-format
+msgid "Installed package %s%s%s%s not available."
+msgstr "Инсталираният пакет %s%s%s%s не е наличен."
+
+#: ../cli.py:1221
+#, python-format
+msgid "%d package to reinstall"
+msgid_plural "%d packages to reinstall"
+msgstr[0] "%d пакет за преинсталиране"
+msgstr[1] "%d пакета за преинсталиране"
+
+#: ../cli.py:1246
+msgid "No Packages Provided"
+msgstr "Няма осигурени пакети"
+
+#: ../cli.py:1259
+msgid "Package(s) to install"
+msgstr "Пакет(и) за инсталиране"
+
+#: ../cli.py:1367
+#, python-format
+msgid "N/S Matched: %s"
+msgstr "N/S Съвпадение: %s"
+
+#: ../cli.py:1384
+#, python-format
+msgid "  Name and summary matches %sonly%s, use \"search all\" for everything."
+msgstr "  Името и описанието съвпадат %sсамо%s, ползвайте \"search all\" за всичко."
+
+#: ../cli.py:1386
+#, python-format
+msgid ""
+"  Full name and summary matches %sonly%s, use \"search all\" for everything."
+msgstr "  Пълното име и описанието съвпадат %sсамо%s, ползвайте \"search all\" за всичко."
+
+#: ../cli.py:1404
+#, python-format
+msgid "Matched: %s"
+msgstr "Съвпадащ: %s"
+
+#: ../cli.py:1411
+#, python-format
+msgid "  Name and summary matches %smostly%s, use \"search all\" for everything."
+msgstr "  Името и описанието съвпадат %sпочти%s, ползвайте \"search all\" за всичко."
+
+#: ../cli.py:1415
+#, python-format
+msgid "Warning: No matches found for: %s"
+msgstr "Внимание: Не са намерени съвпадения за: %s"
+
+#: ../cli.py:1418
+msgid "No Matches found"
+msgstr "Не са намерени съвпадения"
+
+#: ../cli.py:1536
+#, python-format
+msgid ""
+"Error: No Packages found for:\n"
+"  %s"
+msgstr "Грешка: Няма пакети, намерени за:\n  %s"
+
+#: ../cli.py:1572
+msgid "Cleaning repos: "
+msgstr "Почиствам хранилища: "
+
+#: ../cli.py:1577
+msgid "Cleaning up Everything"
+msgstr "Почиствам всичко"
+
+#: ../cli.py:1593
+msgid "Cleaning up Headers"
+msgstr "Почиствам заглавните части"
+
+#: ../cli.py:1596
+msgid "Cleaning up Packages"
+msgstr "Почиствам пакети"
+
+#: ../cli.py:1599
+msgid "Cleaning up xml metadata"
+msgstr "Почиствам xml метаданни"
+
+#: ../cli.py:1602
+msgid "Cleaning up database cache"
+msgstr "Почиствам кеша на базата данни"
+
+#: ../cli.py:1605
+msgid "Cleaning up expire-cache metadata"
+msgstr "Почиствам от кеша остарели метаданни"
+
+#: ../cli.py:1608
+msgid "Cleaning up cached rpmdb data"
+msgstr "Почиствам от кеша rpmdb данни"
+
+#: ../cli.py:1611
+msgid "Cleaning up plugins"
+msgstr "Почиствам плъгини"
+
+#: ../cli.py:1727
+msgid "Installed Environment Groups:"
+msgstr ""
+
+#: ../cli.py:1728
+msgid "Available Environment Groups:"
+msgstr ""
+
+#: ../cli.py:1735
+msgid "Installed Groups:"
+msgstr "Инсталирани групи:"
+
+#: ../cli.py:1742
+msgid "Installed Language Groups:"
+msgstr "Инсталирани езикови групи:"
+
+#: ../cli.py:1749
+msgid "Available Groups:"
+msgstr "Налични групи:"
+
+#: ../cli.py:1756
+msgid "Available Language Groups:"
+msgstr "Достъпни езикови групи:"
+
+#: ../cli.py:1759
+#, python-format
+msgid "Warning: No Environments/Groups match: %s"
+msgstr ""
+
+#: ../cli.py:1763
+msgid "Done"
+msgstr "Готово"
+
+#: ../cli.py:1818
+#, python-format
+msgid "Warning: Group/Environment %s does not exist."
+msgstr ""
+
+#: ../cli.py:1859
+#, python-format
+msgid "Warning: Environment %s does not exist."
+msgstr ""
+
+#: ../cli.py:1873 ../cli.py:1879 ../yum/__init__.py:4254
+#, python-format
+msgid "Warning: Group %s does not exist."
+msgstr "Внимание: Група %s не съществува."
+
+#: ../cli.py:1883
+msgid "No packages in any requested group available to install or update"
+msgstr "В никоя от исканите групи няма налични за инсталиране или обновяване пакети "
+
+#: ../cli.py:1885
+#, python-format
+msgid "%d package to Install"
+msgid_plural "%d packages to Install"
+msgstr[0] "%d пакет за инсталиране"
+msgstr[1] "%d пакета за инсталиране"
+
+#: ../cli.py:1919 ../yum/__init__.py:3536 ../yum/__init__.py:3766
+#: ../yum/__init__.py:3824
+#, python-format
+msgid "No Environment named %s exists"
+msgstr ""
+
+#: ../cli.py:1935 ../yum/__init__.py:4282
+#, python-format
+msgid "No group named %s exists"
+msgstr "Група с име %s не съществува"
+
+#: ../cli.py:1945
+msgid "No packages to remove from groups"
+msgstr "Няма пакети за премахване от групите"
+
+#: ../cli.py:1947 ../yumcommands.py:3351
+#, python-format
+msgid "%d package to remove"
+msgid_plural "%d packages to remove"
+msgstr[0] "%d пакет за премахване"
+msgstr[1] "%d пакета за премахване"
+
+#: ../cli.py:1988
+#, python-format
+msgid "Package %s is already installed, skipping"
+msgstr "Пакетът %s е вече инсталиран, пропускам го"
+
+#: ../cli.py:1999
+#, python-format
+msgid "Discarding non-comparable pkg %s.%s"
+msgstr "Изоставям несравним pkg %s.%s"
+
+#. we've not got any installed that match n or n+a
+#: ../cli.py:2025
+#, python-format
+msgid "No other %s installed, adding to list for potential install"
+msgstr "Няма друг инсталиран %s, добавям към списъка за евентуално инсталиране"
+
+#: ../cli.py:2045
+msgid "Plugin Options"
+msgstr "Опции на плъгин"
+
+#: ../cli.py:2057
+#, python-format
+msgid "Command line error: %s"
+msgstr "Грешка в командния ред: %s"
+
+#: ../cli.py:2079
+#, python-format
+msgid ""
+"\n"
+"\n"
+"%s: %s option requires an argument"
+msgstr "\n\n%s: %s опцията изисква аргумент"
+
+#: ../cli.py:2147
+msgid "--color takes one of: auto, always, never"
+msgstr "--color приема едно от: auto, always, never"
+
+#. We have a relative installroot ... haha
+#: ../cli.py:2218
+#, python-format
+msgid "--installroot must be an absolute path: %s"
+msgstr "--installroot трябва да е абсолютен път: %s"
+
+#: ../cli.py:2272
+msgid "show this help message and exit"
+msgstr "показва този помощен текст и излиза"
+
+#: ../cli.py:2276
+msgid "be tolerant of errors"
+msgstr "бъди толерантен към грешки"
+
+#: ../cli.py:2279
+msgid "run entirely from system cache, don't update cache"
+msgstr "работи изцяло от системния кеш, не обновявай кеша"
+
+#: ../cli.py:2282
+msgid "config file location"
+msgstr "място на конфиг файла"
+
+#: ../cli.py:2285
+msgid "maximum command wait time"
+msgstr "максимално време на изчакване на команда"
+
+#: ../cli.py:2287
+msgid "debugging output level"
+msgstr "ниво извеждана инфо за отстраняване на грешки"
+
+#: ../cli.py:2291
+msgid "show duplicates, in repos, in list/search commands"
+msgstr "показвай дублиращи се, в repo-та, в list/search команди"
+
+#: ../cli.py:2296
+msgid "error output level"
+msgstr "ниво извеждана инфо при грешка"
+
+#: ../cli.py:2299
+msgid "debugging output level for rpm"
+msgstr "ниво извеждана инфо за rpm"
+
+#: ../cli.py:2302
+msgid "quiet operation"
+msgstr "работи без обяснения"
+
+#: ../cli.py:2304
+msgid "verbose operation"
+msgstr "работи с подробни обяснения"
+
+#: ../cli.py:2306
+msgid "answer yes for all questions"
+msgstr "отговаря с да на всички въпроси"
+
+#: ../cli.py:2308
+msgid "answer no for all questions"
+msgstr "отговор не на всички въпроси"
+
+#: ../cli.py:2312
+msgid "show Yum version and exit"
+msgstr "показва версията на Yum и излиза"
+
+#: ../cli.py:2313
+msgid "set install root"
+msgstr "задаване коренова директория"
+
+#: ../cli.py:2317
+msgid "enable one or more repositories (wildcards allowed)"
+msgstr "разрешава едно или повече хранилища (допуска wildcards)"
+
+#: ../cli.py:2321
+msgid "disable one or more repositories (wildcards allowed)"
+msgstr "забранява едно или повече хранилища (допуска wildcards)"
+
+#: ../cli.py:2324
+msgid "exclude package(s) by name or glob"
+msgstr "изключва пакет(и) по име или glob"
+
+#: ../cli.py:2326
+msgid "disable exclude from main, for a repo or for everything"
+msgstr "забранява изключването от главното, от друго или всички хранилища"
+
+#: ../cli.py:2329
+msgid "enable obsoletes processing during updates"
+msgstr "разрешава заместване на излезли от употреба при обновявания"
+
+#: ../cli.py:2331
+msgid "disable Yum plugins"
+msgstr "забранява Yum плъгини"
+
+#: ../cli.py:2333
+msgid "disable gpg signature checking"
+msgstr "забранява проверката на gpg сигнатура"
+
+#: ../cli.py:2335
+msgid "disable plugins by name"
+msgstr "забранява плъгини по име"
+
+#: ../cli.py:2338
+msgid "enable plugins by name"
+msgstr "разрешава плъгини по име"
+
+#: ../cli.py:2341
+msgid "skip packages with depsolving problems"
+msgstr "пропуска пакети с проблеми в разрешаването на зависимости"
+
+#: ../cli.py:2343
+msgid "control whether color is used"
+msgstr "контролира дали се използва цвят"
+
+#: ../cli.py:2345
+msgid "set value of $releasever in yum config and repo files"
+msgstr "задава стойност на $releasever в конфиг и repo файловете на yum"
+
+#: ../cli.py:2347
+msgid "don't update, just download"
+msgstr ""
+
+#: ../cli.py:2349
+msgid "specifies an alternate directory to store packages"
+msgstr ""
+
+#: ../cli.py:2351
+msgid "set arbitrary config and repo options"
+msgstr "задава други настройки и свойства на хранилище"
+
+#: ../output.py:458
+msgid "Jan"
+msgstr "Яну"
+
+#: ../output.py:458
+msgid "Feb"
+msgstr "Фев"
+
+#: ../output.py:458
+msgid "Mar"
+msgstr "Мар"
+
+#: ../output.py:458
+msgid "Apr"
+msgstr "Апр"
+
+#: ../output.py:458
+msgid "May"
+msgstr "Май"
+
+#: ../output.py:458
+msgid "Jun"
+msgstr "Юни"
+
+#: ../output.py:459
+msgid "Jul"
+msgstr "Юли"
+
+#: ../output.py:459
+msgid "Aug"
+msgstr "Авг"
+
+#: ../output.py:459
+msgid "Sep"
+msgstr "Сеп"
+
+#: ../output.py:459
+msgid "Oct"
+msgstr "Окт"
+
+#: ../output.py:459
+msgid "Nov"
+msgstr "Ное"
+
+#: ../output.py:459
+msgid "Dec"
+msgstr "Дек"
+
+#: ../output.py:473
+msgid "Trying other mirror."
+msgstr "Пробвам друг огледален сървър."
+
+#: ../output.py:816
+#, python-format
+msgid "Name        : %s%s%s"
+msgstr "Име         : %s%s%s"
+
+#: ../output.py:817
+#, python-format
+msgid "Arch        : %s"
+msgstr "Архитект.   : %s"
+
+#: ../output.py:819
+#, python-format
+msgid "Epoch       : %s"
+msgstr "Период      : %s"
+
+#: ../output.py:820
+#, python-format
+msgid "Version     : %s"
+msgstr "Версия      : %s"
+
+#: ../output.py:821
+#, python-format
+msgid "Release     : %s"
+msgstr "Издание     : %s"
+
+#: ../output.py:822
+#, python-format
+msgid "Size        : %s"
+msgstr "Обем        : %s"
+
+#: ../output.py:823 ../output.py:1329
+#, python-format
+msgid "Repo        : %s"
+msgstr "Хранилище   : %s"
+
+#: ../output.py:825
+#, python-format
+msgid "From repo   : %s"
+msgstr "От хранилище: %s"
+
+#: ../output.py:827
+#, python-format
+msgid "Committer   : %s"
+msgstr "Подател     : %s"
+
+#: ../output.py:828
+#, python-format
+msgid "Committime  : %s"
+msgstr "Час на подаване: %s"
+
+#: ../output.py:829
+#, python-format
+msgid "Buildtime   : %s"
+msgstr "Час на създаване: %s"
+
+#: ../output.py:831
+#, python-format
+msgid "Install time: %s"
+msgstr "Час на инсталиране: %s"
+
+#: ../output.py:839
+#, python-format
+msgid "Installed by: %s"
+msgstr "Инсталиран от: %s"
+
+#: ../output.py:846
+#, python-format
+msgid "Changed by  : %s"
+msgstr "Променен от  : %s"
+
+#: ../output.py:847
+msgid "Summary     : "
+msgstr "Обобщение   : "
+
+#: ../output.py:849 ../output.py:1345
+#, python-format
+msgid "URL         : %s"
+msgstr "URL         : %s"
+
+#: ../output.py:850
+msgid "License     : "
+msgstr "Лиценз      : "
+
+#: ../output.py:851 ../output.py:1342
+msgid "Description : "
+msgstr "Описание    : "
+
+#: ../output.py:969
+msgid "y"
+msgstr "y"
+
+#: ../output.py:969
+msgid "yes"
+msgstr "да"
+
+#: ../output.py:970
+msgid "n"
+msgstr "n"
+
+#: ../output.py:970
+msgid "no"
+msgstr "не"
+
+#: ../output.py:974
+msgid "Is this ok [y/N]: "
+msgstr "Така добре ли е [y/N]: "
+
+#: ../output.py:1097
+#, python-format
+msgid ""
+"\n"
+"Group: %s"
+msgstr "\nГрупа: %s"
+
+#: ../output.py:1101
+#, python-format
+msgid " Group-Id: %s"
+msgstr " Група-Id: %s"
+
+#: ../output.py:1122 ../output.py:1169
+#, python-format
+msgid " Description: %s"
+msgstr " Описание: %s"
+
+#: ../output.py:1124
+#, python-format
+msgid " Language: %s"
+msgstr " Език: %s"
+
+#: ../output.py:1126
+msgid " Mandatory Packages:"
+msgstr " Задължителни пакети:"
+
+#: ../output.py:1127
+msgid " Default Packages:"
+msgstr " Подразбиращи се пакети:"
+
+#: ../output.py:1128
+msgid " Optional Packages:"
+msgstr " Опционални пакети:"
+
+#: ../output.py:1129
+msgid " Conditional Packages:"
+msgstr " Условни пакети:"
+
+#: ../output.py:1147
+msgid " Installed Packages:"
+msgstr " Инсталирани пакети:"
+
+#: ../output.py:1157
+#, python-format
+msgid ""
+"\n"
+"Environment Group: %s"
+msgstr ""
+
+#: ../output.py:1158
+#, python-format
+msgid " Environment-Id: %s"
+msgstr ""
+
+#: ../output.py:1191
+msgid " Mandatory Groups:"
+msgstr ""
+
+#: ../output.py:1192
+msgid " Optional Groups:"
+msgstr ""
+
+#: ../output.py:1205
+msgid " Installed Groups:"
+msgstr ""
+
+#: ../output.py:1217
+#, python-format
+msgid "package: %s"
+msgstr "пакет: %s"
+
+#: ../output.py:1219
+msgid "  No dependencies for this package"
+msgstr "  Няма зависимости за този пакет"
+
+#: ../output.py:1224
+#, python-format
+msgid "  dependency: %s"
+msgstr "  зависимост: %s"
+
+#: ../output.py:1226
+msgid "   Unsatisfied dependency"
+msgstr "   Неудовлетворена зависимост"
+
+#: ../output.py:1337
+msgid "Matched from:"
+msgstr "Съвпадащ от:"
+
+#: ../output.py:1348
+#, python-format
+msgid "License     : %s"
+msgstr "Лиценз     : %s"
+
+#: ../output.py:1351
+#, python-format
+msgid "Filename    : %s"
+msgstr "Име на файл : %s"
+
+#: ../output.py:1360
+msgid "Provides    : "
+msgstr "Осигурява    : "
+
+#: ../output.py:1363
+msgid "Other       : "
+msgstr "Друго       : "
+
+#: ../output.py:1426
+msgid "There was an error calculating total download size"
+msgstr "Имаше грешка при пресмятането на общия обем за сваляне"
+
+#: ../output.py:1431
+#, python-format
+msgid "Total size: %s"
+msgstr "Общ обем: %s"
+
+#: ../output.py:1433
+#, python-format
+msgid "Total download size: %s"
+msgstr "Общ обем за сваляне: %s"
+
+#: ../output.py:1436 ../output.py:1459 ../output.py:1463
+#, python-format
+msgid "Installed size: %s"
+msgstr "Инсталиран обем: %s"
+
+#: ../output.py:1454
+msgid "There was an error calculating installed size"
+msgstr "Имаше грешка при пресмятането на инсталирания обем"
+
+#: ../output.py:1504
+msgid "Reinstalling"
+msgstr "Преинсталиране"
+
+#: ../output.py:1505
+msgid "Downgrading"
+msgstr "Връщане на предишна версия"
+
+#: ../output.py:1506
+msgid "Installing for dependencies"
+msgstr "Инсталиране на зависимости"
+
+#: ../output.py:1507
+msgid "Updating for dependencies"
+msgstr "Обновяване на зависимости"
+
+#: ../output.py:1508
+msgid "Removing for dependencies"
+msgstr "Премахване на зависимости"
+
+#: ../output.py:1515 ../output.py:1576 ../output.py:1672
+msgid "Skipped (dependency problems)"
+msgstr "Пропуснат (проблеми в зависимости)"
+
+#: ../output.py:1517 ../output.py:1577 ../output.py:2223
+msgid "Not installed"
+msgstr "Не е инсталиран"
+
+#: ../output.py:1518 ../output.py:1578
+msgid "Not available"
+msgstr "Не е наличен"
+
+#: ../output.py:1540 ../output.py:1588 ../output.py:1604 ../output.py:2581
+msgid "Package"
+msgid_plural "Packages"
+msgstr[0] "Пакет"
+msgstr[1] "Пакети"
+
+#: ../output.py:1540
+msgid "Arch"
+msgstr "Архитектура"
+
+#: ../output.py:1541
+msgid "Version"
+msgstr "Версия"
+
+#: ../output.py:1541
+msgid "Repository"
+msgstr "Хранилище"
+
+#: ../output.py:1542
+msgid "Size"
+msgstr "Обем"
+
+#: ../output.py:1554
+#, python-format
+msgid "     replacing  %s%s%s.%s %s\n"
+msgstr "     заместване  %s%s%s.%s %s\n"
+
+#: ../output.py:1563
+#, python-format
+msgid ""
+"\n"
+"Transaction Summary\n"
+"%s\n"
+msgstr "\nОбобщение на транзакцията\n%s\n"
+
+#: ../output.py:1568 ../output.py:2376 ../output.py:2377
+msgid "Install"
+msgstr "Инсталирай"
+
+#: ../output.py:1570
+msgid "Upgrade"
+msgstr "Надгради"
+
+#: ../output.py:1572
+msgid "Remove"
+msgstr "Премахни"
+
+#: ../output.py:1574 ../output.py:2382
+msgid "Reinstall"
+msgstr "Преинсталирай"
+
+#: ../output.py:1575 ../output.py:2383
+msgid "Downgrade"
+msgstr "Връщане към предишна версия"
+
+#: ../output.py:1606
+msgid "Dependent package"
+msgid_plural "Dependent packages"
+msgstr[0] "Зависим пакет"
+msgstr[1] "Зависими пакета"
+
+#: ../output.py:1666
+msgid "Removed"
+msgstr "Премахнат"
+
+#: ../output.py:1667
+msgid "Dependency Removed"
+msgstr "Премахнати зависимости"
+
+#: ../output.py:1669
+msgid "Dependency Installed"
+msgstr "Инсталирани зависимости"
+
+#: ../output.py:1671
+msgid "Dependency Updated"
+msgstr "Обновени зависимости"
+
+#: ../output.py:1673
+msgid "Replaced"
+msgstr "Заместен"
+
+#: ../output.py:1674
+msgid "Failed"
+msgstr "Неуспял"
+
+#. Delta between C-c's so we treat as exit
+#: ../output.py:1764
+msgid "two"
+msgstr "две"
+
+#. For translators: This is output like:
+#. Current download cancelled, interrupt (ctrl-c) again within two seconds
+#. to exit.
+#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
+#: ../output.py:1775
+#, python-format
+msgid ""
+"\n"
+" Current download cancelled, %sinterrupt (ctrl-c) again%s within %s%s%s seconds\n"
+"to exit.\n"
+msgstr "\n Свалянето е спряно, %sпрекъснете (ctrl-c) отново%s в рамките на %s%s%s секунди\nза изход.\n"
+
+#: ../output.py:1786
+msgid "user interrupt"
+msgstr "прекъсване от потребителя"
+
+#: ../output.py:1812
+msgid "Total"
+msgstr "Всичко"
+
+#: ../output.py:1834
+msgid "I"
+msgstr "I"
+
+#: ../output.py:1835
+msgid "O"
+msgstr "O"
+
+#: ../output.py:1836
+msgid "E"
+msgstr "E"
+
+#: ../output.py:1837
+msgid "R"
+msgstr "R"
+
+#: ../output.py:1838
+msgid "D"
+msgstr "D"
+
+#: ../output.py:1839
+msgid "U"
+msgstr "U"
+
+#: ../output.py:1853
+msgid "<unset>"
+msgstr "<незададено>"
+
+#: ../output.py:1854
+msgid "System"
+msgstr "Система"
+
+#: ../output.py:1923
+#, python-format
+msgid "Skipping merged transaction %d to %d, as it overlaps"
+msgstr "Пропускам добавената транзакция %d към %d, понеже я припокрива"
+
+#: ../output.py:1933 ../output.py:2125
+msgid "No transactions"
+msgstr "Няма транзакции"
+
+#: ../output.py:1958 ../output.py:2570 ../output.py:2660
+msgid "Bad transaction IDs, or package(s), given"
+msgstr "Даден е грешен пакет(и) или ID на транзакция"
+
+#: ../output.py:2007
+msgid "Command line"
+msgstr "Команден ред"
+
+#: ../output.py:2009 ../output.py:2458
+msgid "Login user"
+msgstr "Вход на потребител"
+
+#. REALLY Needs to use columns!
+#: ../output.py:2010 ../output.py:2579
+msgid "ID"
+msgstr "ID"
+
+#: ../output.py:2012
+msgid "Date and time"
+msgstr "Дата и час"
+
+#: ../output.py:2013 ../output.py:2460 ../output.py:2580
+msgid "Action(s)"
+msgstr "Действие(я)"
+
+#: ../output.py:2014 ../output.py:2461
+msgid "Altered"
+msgstr "Променен"
+
+#: ../output.py:2061
+msgid "No transaction ID given"
+msgstr "Не е даден ID на транзакция"
+
+#: ../output.py:2087 ../output.py:2526
+msgid "Bad transaction ID given"
+msgstr "Даден е грешен ID на транзакция"
+
+#: ../output.py:2092
+msgid "Not found given transaction ID"
+msgstr "Не е намерен дадения ID на транзакция"
+
+#: ../output.py:2100
+msgid "Found more than one transaction ID!"
+msgstr "Намерени са повече от един ID на транзакция!"
+
+#: ../output.py:2151 ../output.py:2534
+msgid "No transaction ID, or package, given"
+msgstr "Не е даден пакет или ID на транзакция"
+
+#: ../output.py:2222 ../output.py:2384
+msgid "Downgraded"
+msgstr "Върнат към предишна версия"
+
+#: ../output.py:2224
+msgid "Older"
+msgstr "По-стар"
+
+#: ../output.py:2224
+msgid "Newer"
+msgstr "Никога"
+
+#: ../output.py:2261 ../output.py:2263 ../output.py:2681
+msgid "Transaction ID :"
+msgstr "ID на транзакция:"
+
+#: ../output.py:2265 ../output.py:2683
+msgid "Begin time     :"
+msgstr "Начален час     :"
+
+#: ../output.py:2268 ../output.py:2270
+msgid "Begin rpmdb    :"
+msgstr "Начало на rpmdb:"
+
+#: ../output.py:2286
+#, python-format
+msgid "(%u seconds)"
+msgstr "(%u секунди)"
+
+#: ../output.py:2288
+#, python-format
+msgid "(%u minutes)"
+msgstr "(%u минути)"
+
+#: ../output.py:2290
+#, python-format
+msgid "(%u hours)"
+msgstr "(%u часа)"
+
+#: ../output.py:2292
+#, python-format
+msgid "(%u days)"
+msgstr "(%u дни)"
+
+#: ../output.py:2293
+msgid "End time       :"
+msgstr "Краен час       :"
+
+#: ../output.py:2296 ../output.py:2298
+msgid "End rpmdb      :"
+msgstr "Край на rpmdb  :"
+
+#: ../output.py:2301 ../output.py:2303
+msgid "User           :"
+msgstr "Потребител     :"
+
+#: ../output.py:2307 ../output.py:2310 ../output.py:2312 ../output.py:2314
+#: ../output.py:2316
+msgid "Return-Code    :"
+msgstr "Върнат код     :"
+
+#: ../output.py:2307 ../output.py:2312
+msgid "Aborted"
+msgstr "Прекратен"
+
+#: ../output.py:2310
+msgid "Failures:"
+msgstr "Проблеми:"
+
+#: ../output.py:2314
+msgid "Failure:"
+msgstr "Неуспех:"
+
+#: ../output.py:2316
+msgid "Success"
+msgstr "Успех"
+
+#: ../output.py:2321 ../output.py:2323 ../output.py:2712
+msgid "Command Line   :"
+msgstr "Команден ред   :"
+
+#: ../output.py:2332
+#, python-format
+msgid "Additional non-default information stored: %d"
+msgstr "Записана допълнителна неподразбираща се информация: %d"
+
+#. This is _possible_, but not common
+#: ../output.py:2337
+msgid "Transaction performed with:"
+msgstr "Транзакцията осъществена с:"
+
+#: ../output.py:2341
+msgid "Packages Altered:"
+msgstr "Променени пакети:"
+
+#: ../output.py:2345
+msgid "Packages Skipped:"
+msgstr "Пропуснати пакети:"
+
+#: ../output.py:2353
+msgid "Rpmdb Problems:"
+msgstr "Rpmdb проблеми:"
+
+#: ../output.py:2364
+msgid "Scriptlet output:"
+msgstr "Резултат от скрипта:"
+
+#: ../output.py:2370
+msgid "Errors:"
+msgstr "Грешки:"
+
+#: ../output.py:2378
+msgid "Dep-Install"
+msgstr "Инсталиране зависимости"
+
+#: ../output.py:2380
+msgid "Obsoleting"
+msgstr "Замествам излязъл от употреба"
+
+#: ../output.py:2381
+msgid "Erase"
+msgstr "Изтрий"
+
+#: ../output.py:2385
+msgid "Update"
+msgstr "Обнови"
+
+#: ../output.py:2459
+msgid "Time"
+msgstr "Време"
+
+#: ../output.py:2485
+msgid "Last day"
+msgstr "Последния ден"
+
+#: ../output.py:2486
+msgid "Last week"
+msgstr "Последната седмица"
+
+#: ../output.py:2487
+msgid "Last 2 weeks"
+msgstr "Последните 2 седмици"
+
+#. US default :p
+#: ../output.py:2488
+msgid "Last 3 months"
+msgstr "Последните 3 месеца"
+
+#: ../output.py:2489
+msgid "Last 6 months"
+msgstr "Последните 6 месеца"
+
+#: ../output.py:2490
+msgid "Last year"
+msgstr "Последната година"
+
+#: ../output.py:2491
+msgid "Over a year ago"
+msgstr "Преди повече от година"
+
+#: ../output.py:2538
+#, python-format
+msgid "No Transaction %s found"
+msgstr "Транзакция %s не е намерена"
+
+#: ../output.py:2544
+msgid "Transaction ID:"
+msgstr "Транзакция с ID:"
+
+#: ../output.py:2545
+msgid "Available additional history information:"
+msgstr "Налична допълнителна историческа информация:"
+
+#: ../output.py:2558
+#, python-format
+msgid "%s: No additional data found by this name"
+msgstr "%s: Няма намерени допълнителни данни с това име"
+
+#: ../output.py:2684
+msgid "Package        :"
+msgstr "Пакет          :"
+
+#: ../output.py:2685
+msgid "State          :"
+msgstr "Състояние      :"
+
+#: ../output.py:2688
+msgid "Size           :"
+msgstr "Големина       :"
+
+#: ../output.py:2690
+msgid "Build host     :"
+msgstr "Създаден на хост:"
+
+#: ../output.py:2693
+msgid "Build time     :"
+msgstr "Създаден на    :"
+
+#: ../output.py:2695
+msgid "Packager       :"
+msgstr "Опаковал       :"
+
+#: ../output.py:2697
+msgid "Vendor         :"
+msgstr "Доставчик     :"
+
+#: ../output.py:2699
+msgid "License        :"
+msgstr "Лиценз         :"
+
+#: ../output.py:2701
+msgid "URL            :"
+msgstr "URL            :"
+
+#: ../output.py:2703
+msgid "Source RPM     :"
+msgstr "RPM източник  :"
+
+#: ../output.py:2706
+msgid "Commit Time    :"
+msgstr "Час на подаване:"
+
+#: ../output.py:2708
+msgid "Committer      :"
+msgstr "Подал          :"
+
+#: ../output.py:2710
+msgid "Reason         :"
+msgstr "Причина        :"
+
+#: ../output.py:2714
+msgid "From repo      :"
+msgstr "От хранилище   :"
+
+#: ../output.py:2718
+msgid "Installed by   :"
+msgstr "Инсталиран от   :"
+
+#: ../output.py:2722
+msgid "Changed by     :"
+msgstr "Променен от    :"
+
+#: ../output.py:2767
+msgid "installed"
+msgstr "инсталиран"
+
+#: ../output.py:2768
+msgid "an update"
+msgstr "обновление"
+
+#: ../output.py:2769
+msgid "erased"
+msgstr "изтрит"
+
+#: ../output.py:2770
+msgid "reinstalled"
+msgstr "преинсталиран"
+
+#: ../output.py:2771
+msgid "a downgrade"
+msgstr "връщане към предишна версия"
+
+#: ../output.py:2772
+msgid "obsoleting"
+msgstr "заместващ"
+
+#: ../output.py:2773
+msgid "updated"
+msgstr "обновен"
+
+#: ../output.py:2774
+msgid "obsoleted"
+msgstr "излязъл от употреба"
+
+#: ../output.py:2778
+#, python-format
+msgid "---> Package %s.%s %s:%s-%s will be %s"
+msgstr "---> Пакет %s.%s %s:%s-%s ще е %s"
+
+#: ../output.py:2789
+msgid "--> Running transaction check"
+msgstr "--> Извършвам проверка на транзакцията"
+
+#: ../output.py:2795
+msgid "--> Restarting Dependency Resolution with new changes."
+msgstr "--> Рестартирам определянето на зависимости с новите промени."
+
+#: ../output.py:2801
+msgid "--> Finished Dependency Resolution"
+msgstr "--> Завърших определянето на зависимости"
+
+#: ../output.py:2814 ../output.py:2827
+#, python-format
+msgid "--> Processing Dependency: %s for package: %s"
+msgstr "--> Обработвам зависимости: %s за пакет: %s"
+
+#: ../output.py:2841
+#, python-format
+msgid "---> Keeping package: %s due to %s"
+msgstr ""
+
+#: ../output.py:2850
+#, python-format
+msgid "--> Unresolved Dependency: %s"
+msgstr "--> Неудовлетворена зависимост: %s"
+
+#: ../output.py:2867
+#, python-format
+msgid "Package: %s"
+msgstr "Пакет: %s"
+
+#: ../output.py:2869
+#, python-format
+msgid ""
+"\n"
+"    Requires: %s"
+msgstr "\n    Изисква: %s"
+
+#: ../output.py:2878
+#, python-format
+msgid ""
+"\n"
+"    %s: %s (%s)"
+msgstr "\n    %s: %s (%s)"
+
+#: ../output.py:2883
+#, python-format
+msgid ""
+"\n"
+"        %s"
+msgstr "\n        %s"
+
+#: ../output.py:2885
+msgid ""
+"\n"
+"        Not found"
+msgstr "\n        Не е намерено"
+
+#. These should be the only three things we care about:
+#: ../output.py:2900
+msgid "Updated By"
+msgstr "Обновен от"
+
+#: ../output.py:2901
+msgid "Downgraded By"
+msgstr "Върнат към предишна версия от"
+
+#: ../output.py:2902
+msgid "Obsoleted By"
+msgstr "Заместен от"
+
+#: ../output.py:2920
+msgid "Available"
+msgstr "Наличен"
+
+#: ../output.py:2955 ../output.py:2968
+#, python-format
+msgid "--> Processing Conflict: %s conflicts %s"
+msgstr "--> Обработка на конфликт: %s е в конфликт с %s"
+
+#: ../output.py:2974
+msgid "--> Populating transaction set with selected packages. Please wait."
+msgstr "--> Окомплектовам транзакцията с избраните пакети. Моля изчакайте."
+
+#: ../output.py:2983
+#, python-format
+msgid "---> Downloading header for %s to pack into transaction set."
+msgstr "---> Свалям заглавната част на %s за включване в комплекта на транзакцията."
+
+#. self.event(txmbr.name, count, len(base.tsInfo), count, )
+#. (te_current*100L)/te_total
+#: ../output.py:3248
+msgid "Verifying"
+msgstr "Проверка"
+
+#: ../utils.py:123
+msgid "Running"
+msgstr "Работещ"
+
+#: ../utils.py:124
+msgid "Sleeping"
+msgstr "Спящ"
+
+#: ../utils.py:125
+msgid "Uninterruptible"
+msgstr "Непрекъсваем"
+
+#: ../utils.py:126
+msgid "Zombie"
+msgstr "Зомби"
+
+#: ../utils.py:127
+msgid "Traced/Stopped"
+msgstr "Трасиран/Спрян"
+
+#: ../utils.py:128 ../yumcommands.py:2193
+msgid "Unknown"
+msgstr "Неизвестно"
+
+#: ../utils.py:153
+msgid "  The other application is: PackageKit"
+msgstr "  Другото приложение е: PackageKit"
+
+#: ../utils.py:155
+#, python-format
+msgid "  The other application is: %s"
+msgstr "  Другото приложение е: %s"
+
+#: ../utils.py:158
+#, python-format
+msgid "    Memory : %5s RSS (%5sB VSZ)"
+msgstr "    Памет : %5s RSS (%5sB VSZ)"
+
+#: ../utils.py:163
+#, python-format
+msgid "    Started: %s - %s ago"
+msgstr "    Стартиран: %s - преди %s"
+
+#: ../utils.py:165
+#, python-format
+msgid "    State  : %s, pid: %d"
+msgstr "    Състояние  : %s, pid: %d"
+
+#: ../utils.py:194 ../yummain.py:43
+msgid ""
+"\n"
+"\n"
+"Exiting on user cancel"
+msgstr "\n\nИзход поради прекъсване от потребителя"
+
+#: ../utils.py:206 ../yummain.py:49
+msgid ""
+"\n"
+"\n"
+"Exiting on Broken Pipe"
+msgstr "\n\nИзход поради прекъсната последователност"
+
+#: ../utils.py:208 ../yummain.py:51
+#, python-format
+msgid ""
+"\n"
+"\n"
+"%s"
+msgstr "\n\n%s"
+
+#: ../utils.py:326
+#, python-format
+msgid "PluginExit Error: %s"
+msgstr "PluginExit грешка: %s"
+
+#: ../utils.py:329
+#, python-format
+msgid "Yum Error: %s"
+msgstr "Yum грешка: %s"
+
+#: ../utils.py:387 ../yummain.py:147 ../yummain.py:186
+#, python-format
+msgid "Error: %s"
+msgstr "Грешка: %s"
+
+#: ../utils.py:391 ../yummain.py:191
+msgid " You could try using --skip-broken to work around the problem"
+msgstr " Може да пробвате с --skip-broken за да заобиколите проблема"
+
+#: ../utils.py:393 ../yummain.py:87
+msgid " You could try running: rpm -Va --nofiles --nodigest"
+msgstr " Може да пробвате като стартирате: rpm -Va --nofiles --nodigest"
+
+#: ../utils.py:400 ../yummain.py:157 ../yummain.py:199
+#, python-format
+msgid "Unknown Error(s): Exit Code: %d:"
+msgstr "Непозната грешка: Код на изхода: %d:"
+
+#: ../utils.py:406 ../yummain.py:205
+msgid ""
+"\n"
+"Dependencies Resolved"
+msgstr "\nЗависимостите са удовлетворени"
+
+#: ../utils.py:422 ../yummain.py:237
+msgid "Complete!"
+msgstr "Завърших!"
+
+#: ../yumcommands.py:42
+msgid " Mini usage:\n"
+msgstr " Мини употреба:\n"
+
+#: ../yumcommands.py:52
+msgid "You need to be root to perform this command."
+msgstr "Трябва да сте root за да изпълните тази команда."
+
+#: ../yumcommands.py:67
+msgid ""
+"\n"
+"You have enabled checking of packages via GPG keys. This is a good thing. \n"
+"However, you do not have any GPG public keys installed. You need to download\n"
+"the keys for packages you wish to install and install them.\n"
+"You can do that by running the command:\n"
+"    rpm --import public.gpg.key\n"
+"\n"
+"\n"
+"Alternatively you can specify the url to the key you would like to use\n"
+"for a repository in the 'gpgkey' option in a repository section and yum \n"
+"will install it for you.\n"
+"\n"
+"For more information contact your distribution or package provider.\n"
+msgstr "\nРазрешили сте проверката на пакети чрез GPG ключове. Това е добре. \nНямате, обаче, никакви инсталирани публични GPG ключове. Вие трябва да свалите\nключовете за пакетите, които желаете да инсталирате и да ги инсталирате.\nМожете да го направите като стартирате командата:\n    rpm --import public.gpg.key\n\n\nИли пък може да посочите url към ключа, който искате да ползвате\nза хранилище в опцията 'gpgkey' в секцията за хранилища и yum \nще го инсталира вместо Вас.\n\nЗа повече информация вижте сайта на дистрибуцията или доставчика на пакета.\n"
+
+#: ../yumcommands.py:82
+#, python-format
+msgid "Problem repository: %s"
+msgstr "Проблем в хранилище: %s"
+
+#: ../yumcommands.py:96
+#, python-format
+msgid "Error: Need to pass a list of pkgs to %s"
+msgstr "Грешка: Нужно е да се подаде списък пакети на %s"
+
+#: ../yumcommands.py:114
+#, python-format
+msgid "Error: Need at least two packages to %s"
+msgstr ""
+
+#: ../yumcommands.py:129
+#, python-format
+msgid "Error: Need to pass a repoid. and command to %s"
+msgstr ""
+
+#: ../yumcommands.py:136 ../yumcommands.py:142
+#, python-format
+msgid "Error: Need to pass a single valid repoid. to %s"
+msgstr ""
+
+#: ../yumcommands.py:147
+#, python-format
+msgid "Error: Repo %s is not enabled"
+msgstr ""
+
+#: ../yumcommands.py:164
+msgid "Error: Need an item to match"
+msgstr "Грешка: Нужен е съвпадащ елемент"
+
+#: ../yumcommands.py:178
+msgid "Error: Need a group or list of groups"
+msgstr "Грешка: Нужна е група или списък групи"
+
+#: ../yumcommands.py:195
+#, python-format
+msgid "Error: clean requires an option: %s"
+msgstr "Грешка: почистването изисква опция: %s"
+
+#: ../yumcommands.py:201
+#, python-format
+msgid "Error: invalid clean argument: %r"
+msgstr "Грешка: невалиден аргумент за почистването: %r"
+
+#: ../yumcommands.py:216
+msgid "No argument to shell"
+msgstr "Няма аргумент към обвивката"
+
+#: ../yumcommands.py:218
+#, python-format
+msgid "Filename passed to shell: %s"
+msgstr "Име на файл, подаден към обвивката: %s"
+
+#: ../yumcommands.py:222
+#, python-format
+msgid "File %s given as argument to shell does not exist."
+msgstr "Файлът %s, даден като аргумент към командата не съществува."
+
+#: ../yumcommands.py:228
+msgid "Error: more than one file given as argument to shell."
+msgstr "Грешка: даден е повече от един файл като аргумент към командата."
+
+#: ../yumcommands.py:247
+msgid ""
+"There are no enabled repos.\n"
+" Run \"yum repolist all\" to see the repos you have.\n"
+" You can enable repos with yum-config-manager --enable <repo>"
+msgstr "Няма разрешени хранилища.\n Изпълнете \"yum repolist all\" за да видите хранилищата, които имате.\n Може да разрешите хранилища чрез yum-config-manager --enable <хран>"
+
+#: ../yumcommands.py:383
+msgid "PACKAGE..."
+msgstr "ПАКЕТ..."
+
+#: ../yumcommands.py:390
+msgid "Install a package or packages on your system"
+msgstr "Инсталира пакет или пакети на Вашата система"
+
+#: ../yumcommands.py:421
+msgid "Setting up Install Process"
+msgstr "Подготовка на инсталиращия процес"
+
+#: ../yumcommands.py:447 ../yumcommands.py:507
+msgid "[PACKAGE...]"
+msgstr "[ПАКЕТ...]"
+
+#: ../yumcommands.py:454
+msgid "Update a package or packages on your system"
+msgstr "Обновява пакет или пакети на Вашата система"
+
+#: ../yumcommands.py:483
+msgid "Setting up Update Process"
+msgstr "Подготовка на обновяващия процес"
+
+#: ../yumcommands.py:514
+msgid "Synchronize installed packages to the latest available versions"
+msgstr "Синхронизира инсталираните пакети с последните налични версии"
+
+#: ../yumcommands.py:543
+msgid "Setting up Distribution Synchronization Process"
+msgstr "Подготовка на процеса за синхронизиране на дистрибуцията "
+
+#: ../yumcommands.py:603
+msgid "Display details about a package or group of packages"
+msgstr "Показва детайли за пакет или група от пакети"
+
+#: ../yumcommands.py:672
+msgid "Installed Packages"
+msgstr "Инсталирани пакети"
+
+#: ../yumcommands.py:682
+msgid "Available Packages"
+msgstr "Налични пакети"
+
+#: ../yumcommands.py:687
+msgid "Extra Packages"
+msgstr "Допълнителни пакети"
+
+#: ../yumcommands.py:691
+msgid "Updated Packages"
+msgstr "Обновени пакети"
+
+#. This only happens in verbose mode
+#: ../yumcommands.py:699 ../yumcommands.py:706 ../yumcommands.py:1539
+msgid "Obsoleting Packages"
+msgstr "Излезли от употреба пакети"
+
+#: ../yumcommands.py:708
+msgid "Recently Added Packages"
+msgstr "Скоро добавени пакети"
+
+#: ../yumcommands.py:715
+msgid "No matching Packages to list"
+msgstr "Няма регистрирани съвпадащи пакети"
+
+#: ../yumcommands.py:766
+msgid "List a package or groups of packages"
+msgstr "Списък на пакети или групи от пакети"
+
+#: ../yumcommands.py:797
+msgid "Remove a package or packages from your system"
+msgstr "Премахва пакет или пакети от Вашата система"
+
+#: ../yumcommands.py:845
+msgid "Setting up Remove Process"
+msgstr "Подготовка процеса на премахване"
+
+#: ../yumcommands.py:906
+msgid "Display, or use, the groups information"
+msgstr "Показва или използва информацията за групите"
+
+#: ../yumcommands.py:909
+msgid "Setting up Group Process"
+msgstr "Подготовка за обработка на групата"
+
+#: ../yumcommands.py:915
+msgid "No Groups on which to run command"
+msgstr "Няма група, върху която да стартирам командата"
+
+#: ../yumcommands.py:985
+#, python-format
+msgid "Invalid groups sub-command, use: %s."
+msgstr "Невалидна групова подкоманда, ползвайте: %s."
+
+#: ../yumcommands.py:992
+msgid "There is no installed groups file."
+msgstr "Не е инсталиран файл с групи."
+
+#: ../yumcommands.py:994
+msgid "You don't have access to the groups DB."
+msgstr "Нямате достъп до базата данни на групите."
+
+#: ../yumcommands.py:1256
+msgid "Generate the metadata cache"
+msgstr "Генериране на кеш с метаданни"
+
+#: ../yumcommands.py:1282
+msgid "Making cache files for all metadata files."
+msgstr "Създаване на файлове в кеша за всички файлове с метаданни."
+
+#: ../yumcommands.py:1283
+msgid "This may take a while depending on the speed of this computer"
+msgstr "Може да отнеме време, зависещо от бързодействието на този компютър"
+
+#: ../yumcommands.py:1312
+msgid "Metadata Cache Created"
+msgstr "Кешът с метаданни е създаден"
+
+#: ../yumcommands.py:1350
+msgid "Remove cached data"
+msgstr "Премахни кешираните данни"
+
+#: ../yumcommands.py:1417
+msgid "Find what package provides the given value"
+msgstr "Търси кой от пакетите предоставя дадената стойност"
+
+#: ../yumcommands.py:1485
+msgid "Check for available package updates"
+msgstr "Проверка за налични обновявания на пакети"
+
+#: ../yumcommands.py:1587
+msgid "Search package details for the given string"
+msgstr "Търси детайли за пакета за дадения низ"
+
+#: ../yumcommands.py:1613
+msgid "Searching Packages: "
+msgstr "Търсене в пакети: "
+
+#: ../yumcommands.py:1666
+msgid "Update packages taking obsoletes into account"
+msgstr "Обновява пакети, имайки предвид излезлите от употреба"
+
+#: ../yumcommands.py:1696
+msgid "Setting up Upgrade Process"
+msgstr "Подготовка процеса на надграждане"
+
+#: ../yumcommands.py:1731
+msgid "Install a local RPM"
+msgstr "Инсталира локален пакет"
+
+#: ../yumcommands.py:1761
+msgid "Setting up Local Package Process"
+msgstr "Подготовка обработката на локалния пакет"
+
+#: ../yumcommands.py:1825
+msgid "Searching Packages for Dependency:"
+msgstr "Търсене на зависимости в пакетите:"
+
+#: ../yumcommands.py:1867
+msgid "Run an interactive yum shell"
+msgstr "Стартира интерактивен режим на yum"
+
+#: ../yumcommands.py:1893
+msgid "Setting up Yum Shell"
+msgstr "Настройка на Yum Shell"
+
+#: ../yumcommands.py:1936
+msgid "List a package's dependencies"
+msgstr "Показва списък на зависимостите на пакетите"
+
+#: ../yumcommands.py:1963
+msgid "Finding dependencies: "
+msgstr "Търсене на зависимости: "
+
+#: ../yumcommands.py:2005
+msgid "Display the configured software repositories"
+msgstr "Показва конфигурираните хранилища на софтуер"
+
+#: ../yumcommands.py:2094 ../yumcommands.py:2095
+msgid "enabled"
+msgstr "разрешен"
+
+#: ../yumcommands.py:2121 ../yumcommands.py:2122
+msgid "disabled"
+msgstr "забранен"
+
+#: ../yumcommands.py:2137
+msgid "Repo-id      : "
+msgstr "Хранилище-id      : "
+
+#: ../yumcommands.py:2138
+msgid "Repo-name    : "
+msgstr "Хранилище-име     : "
+
+#: ../yumcommands.py:2141
+msgid "Repo-status  : "
+msgstr "Хранилище-статус  : "
+
+#: ../yumcommands.py:2144
+msgid "Repo-revision: "
+msgstr "Хранилище-revision: "
+
+#: ../yumcommands.py:2148
+msgid "Repo-tags    : "
+msgstr "Хранилище-етикети : "
+
+#: ../yumcommands.py:2154
+msgid "Repo-distro-tags: "
+msgstr "Хранилище-етикети на дистр.: "
+
+#: ../yumcommands.py:2159
+msgid "Repo-updated : "
+msgstr "Хранилище-обновено: "
+
+#: ../yumcommands.py:2161
+msgid "Repo-pkgs    : "
+msgstr "Хранилище-пакети   : "
+
+#: ../yumcommands.py:2162
+msgid "Repo-size    : "
+msgstr "Хранилище-обем    : "
+
+#: ../yumcommands.py:2169 ../yumcommands.py:2190
+msgid "Repo-baseurl : "
+msgstr "Хранилище-основен url : "
+
+#: ../yumcommands.py:2177
+msgid "Repo-metalink: "
+msgstr "Хранилище-мета връзка: "
+
+#: ../yumcommands.py:2181
+msgid "  Updated    : "
+msgstr "  Обновено   : "
+
+#: ../yumcommands.py:2184
+msgid "Repo-mirrors : "
+msgstr "Хранилище-огледала: "
+
+#: ../yumcommands.py:2199
+#, python-format
+msgid "Never (last: %s)"
+msgstr "Никога (последен: %s)"
+
+#: ../yumcommands.py:2201
+#, python-format
+msgid "Instant (last: %s)"
+msgstr "Моментен (последен: %s)"
+
+#: ../yumcommands.py:2204
+#, python-format
+msgid "%s second(s) (last: %s)"
+msgstr "%s секунда(и) (последен: %s)"
+
+#: ../yumcommands.py:2206
+msgid "Repo-expire  : "
+msgstr "Хранилище-изтича  : "
+
+#: ../yumcommands.py:2209
+msgid "Repo-exclude : "
+msgstr "Хранилище-изключва: "
+
+#: ../yumcommands.py:2213
+msgid "Repo-include : "
+msgstr "Хранилище-включва : "
+
+#: ../yumcommands.py:2217
+msgid "Repo-excluded: "
+msgstr "Хранилище-изключен: "
+
+#: ../yumcommands.py:2221
+msgid "Repo-filename: "
+msgstr "Файл на хранилище: "
+
+#. Work out the first (id) and last (enabled/disalbed/count),
+#. then chop the middle (name)...
+#: ../yumcommands.py:2230 ../yumcommands.py:2259
+msgid "repo id"
+msgstr "хранилище id"
+
+#: ../yumcommands.py:2247 ../yumcommands.py:2248 ../yumcommands.py:2266
+msgid "status"
+msgstr "статус"
+
+#: ../yumcommands.py:2260
+msgid "repo name"
+msgstr "име на хранилище"
+
+#: ../yumcommands.py:2332
+msgid "Display a helpful usage message"
+msgstr "Показва помощно за употребата съобщение"
+
+#: ../yumcommands.py:2374
+#, python-format
+msgid "No help available for %s"
+msgstr "Няма налична за %s помощ"
+
+#: ../yumcommands.py:2379
+msgid ""
+"\n"
+"\n"
+"aliases: "
+msgstr "\n\nсиноними: "
+
+#: ../yumcommands.py:2381
+msgid ""
+"\n"
+"\n"
+"alias: "
+msgstr "\n\nсиноним: "
+
+#: ../yumcommands.py:2466
+msgid "Setting up Reinstall Process"
+msgstr "Подготовка на преинсталиращия процес"
+
+#: ../yumcommands.py:2478
+msgid "reinstall a package"
+msgstr "преинсталира пакет"
+
+#: ../yumcommands.py:2541
+msgid "Setting up Downgrade Process"
+msgstr "Подготовка процеса на връщане към предишна версия"
+
+#: ../yumcommands.py:2552
+msgid "downgrade a package"
+msgstr "връща предишна версия на пакет"
+
+#: ../yumcommands.py:2591
+msgid "Display a version for the machine and/or available repos."
+msgstr "Показва версия за машината и/или наличните хранилища."
+
+#: ../yumcommands.py:2643
+msgid " Yum version groups:"
+msgstr " Yum версия групи:"
+
+#: ../yumcommands.py:2653
+msgid " Group   :"
+msgstr " Група   :"
+
+#: ../yumcommands.py:2654
+msgid " Packages:"
+msgstr " Пакети:"
+
+#: ../yumcommands.py:2683
+msgid "Installed:"
+msgstr "Инсталиран:"
+
+#: ../yumcommands.py:2691
+msgid "Group-Installed:"
+msgstr "Група-Инсталирана:"
+
+#: ../yumcommands.py:2700
+msgid "Available:"
+msgstr "Наличен:"
+
+#: ../yumcommands.py:2709
+msgid "Group-Available:"
+msgstr "Група-Налична:"
+
+#: ../yumcommands.py:2783
+msgid "Display, or use, the transaction history"
+msgstr "Покажи или използвай историята на транзакциите"
+
+#: ../yumcommands.py:2876 ../yumcommands.py:2880
+msgid "Transactions:"
+msgstr "Транзакции:"
+
+#: ../yumcommands.py:2881
+msgid "Begin time  :"
+msgstr "Начален час  :"
+
+#: ../yumcommands.py:2882
+msgid "End time    :"
+msgstr "Час на завършване:"
+
+#: ../yumcommands.py:2883
+msgid "Counts      :"
+msgstr "Количество      :"
+
+#: ../yumcommands.py:2884
+msgid "  NEVRAC :"
+msgstr "  NEVRAC :"
+
+#: ../yumcommands.py:2885
+msgid "  NEVRA  :"
+msgstr "  NEVRA  :"
+
+#: ../yumcommands.py:2886
+msgid "  NA     :"
+msgstr "  NA     :"
+
+#: ../yumcommands.py:2887
+msgid "  NEVR   :"
+msgstr "  NEVR   :"
+
+#: ../yumcommands.py:2888
+msgid "  rpm DB :"
+msgstr "  rpm база данни :"
+
+#: ../yumcommands.py:2889
+msgid "  yum DB :"
+msgstr "  yum база данни :"
+
+#: ../yumcommands.py:2922
+#, python-format
+msgid "Invalid history sub-command, use: %s."
+msgstr "Невалидна подкоманда за история, ползвайте: %s."
+
+#: ../yumcommands.py:2929
+msgid "You don't have access to the history DB."
+msgstr "Вие нямате достъп до базата данни с историята."
+
+#: ../yumcommands.py:3036
+msgid "Check for problems in the rpmdb"
+msgstr "Проверява за проблеми в rpmdb"
+
+#: ../yumcommands.py:3102
+msgid "load a saved transaction from filename"
+msgstr "зарежда записана транзакция от файл с име"
+
+#: ../yumcommands.py:3119
+msgid "No saved transaction file specified."
+msgstr "Не е зададен файла със записана транзакция."
+
+#: ../yumcommands.py:3123
+#, python-format
+msgid "loading transaction from %s"
+msgstr "зареждам транзакция от %s"
+
+#: ../yumcommands.py:3129
+#, python-format
+msgid "Transaction loaded from %s with %s members"
+msgstr "Транзакцията е заредена от %s с %s члена"
+
+#: ../yumcommands.py:3169
+msgid "Simple way to swap packages, isntead of using shell"
+msgstr ""
+
+#: ../yumcommands.py:3264
+msgid ""
+"Treat a repo. as a group of packages, so we can install/remove all of them"
+msgstr ""
+
+#: ../yumcommands.py:3341
+#, python-format
+msgid "%d package to update"
+msgid_plural "%d packages to update"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../yumcommands.py:3370
+#, python-format
+msgid "%d package to remove/reinstall"
+msgid_plural "%d packages to remove/reinstall"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../yumcommands.py:3413
+#, python-format
+msgid "%d package to remove/sync"
+msgid_plural "%d packages to remove/sync"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../yumcommands.py:3417
+#, python-format
+msgid "Not a valid sub-command of %s"
+msgstr ""
+
+#. This is mainly for PackageSackError from rpmdb.
+#: ../yummain.py:84
+#, python-format
+msgid " Yum checks failed: %s"
+msgstr " Yum проверките не успяха: %s"
+
+#: ../yummain.py:98
+msgid "No read/execute access in current directory, moving to /"
+msgstr "Нямам права за четене/изпълнение в текущата директория, местя се в /"
+
+#: ../yummain.py:106
+msgid "No getcwd() access in current directory, moving to /"
+msgstr "Нямам getcwd() достъп в текущата директория, местя се в /"
+
+#. Depsolve stage
+#: ../yummain.py:164
+msgid "Resolving Dependencies"
+msgstr "Определяне на зависимостите"
+
+#: ../yummain.py:227 ../yummain.py:235
+#, python-format
+msgid ""
+"Your transaction was saved, rerun it with:\n"
+" yum load-transaction %s"
+msgstr "Транзакцията Ви беше записана, стартирайте я с:\n yum load-transaction %s"
+
+#: ../yummain.py:312
+msgid ""
+"\n"
+"\n"
+"Exiting on user cancel."
+msgstr "\n\nИзход поради прекъсване от потребителя."
+
+#: ../yum/depsolve.py:127
+msgid "doTsSetup() will go away in a future version of Yum.\n"
+msgstr "doTsSetup() ще бъде премахнат в бъдеща версия на Yum.\n"
+
+#: ../yum/depsolve.py:143
+msgid "Setting up TransactionSets before config class is up"
+msgstr "Задаване на комплектите в транзакцията преди включването на конфиг класа"
+
+#: ../yum/depsolve.py:200
+#, python-format
+msgid "Invalid tsflag in config file: %s"
+msgstr "Невалиден tsflag в конфигурационния файл: %s"
+
+#: ../yum/depsolve.py:218
+#, python-format
+msgid "Searching pkgSack for dep: %s"
+msgstr "Претърсване на pkgSack за зависимости: %s"
+
+#: ../yum/depsolve.py:269
+#, python-format
+msgid "Member: %s"
+msgstr "Част: %s"
+
+#: ../yum/depsolve.py:283 ../yum/depsolve.py:937
+#, python-format
+msgid "%s converted to install"
+msgstr "%s конвертиран за инсталиране"
+
+#: ../yum/depsolve.py:295
+#, python-format
+msgid "Adding Package %s in mode %s"
+msgstr "Добавям пакет %s в режим %s"
+
+#: ../yum/depsolve.py:311
+#, python-format
+msgid "Removing Package %s"
+msgstr "Премахвам пакет %s"
+
+#: ../yum/depsolve.py:333
+#, python-format
+msgid "%s requires: %s"
+msgstr "%s изисква: %s"
+
+#: ../yum/depsolve.py:374
+#, python-format
+msgid "%s requires %s"
+msgstr "%s изисква %s"
+
+#: ../yum/depsolve.py:401
+msgid "Needed Require has already been looked up, cheating"
+msgstr "Нужното изискване вече е намерено, измама"
+
+#: ../yum/depsolve.py:411
+#, python-format
+msgid "Needed Require is not a package name. Looking up: %s"
+msgstr "Нужното изискване не е име на пакет. Търсене: %s"
+
+#: ../yum/depsolve.py:419
+#, python-format
+msgid "Potential Provider: %s"
+msgstr "Потенциален доставчик: %s"
+
+#: ../yum/depsolve.py:442
+#, python-format
+msgid "Mode is %s for provider of %s: %s"
+msgstr "Режимът е %s за доставчик от %s: %s"
+
+#: ../yum/depsolve.py:446
+#, python-format
+msgid "Mode for pkg providing %s: %s"
+msgstr "Режим за пакет, предоставящ %s: %s"
+
+#. the thing it needs is being updated or obsoleted away
+#. try to update the requiring package in hopes that all this problem goes
+#. away :(
+#: ../yum/depsolve.py:451 ../yum/depsolve.py:486
+#, python-format
+msgid "Trying to update %s to resolve dep"
+msgstr "Опитвам да обновя %s за да удовлетворя зависимост"
+
+#: ../yum/depsolve.py:480
+#, python-format
+msgid "No update paths found for %s. Failure!"
+msgstr "Не е намерен обновяващ път за %s. Неуспех!"
+
+#: ../yum/depsolve.py:491
+#, python-format
+msgid "No update paths found for %s. Failure due to requirement: %s!"
+msgstr ""
+
+#: ../yum/depsolve.py:507
+#, python-format
+msgid "Update for %s. Doesn't fix requirement: %s!"
+msgstr ""
+
+#: ../yum/depsolve.py:514
+#, python-format
+msgid "TSINFO: %s package requiring %s marked as erase"
+msgstr "TSINFO: %s пакет, изискващ %s, е маркиран за изтриване"
+
+#: ../yum/depsolve.py:527
+#, python-format
+msgid "TSINFO: Obsoleting %s with %s to resolve dep."
+msgstr "TSINFO: Замествам %s с %s за да задоволя зависимост."
+
+#: ../yum/depsolve.py:530
+#, python-format
+msgid "TSINFO: Updating %s to resolve dep."
+msgstr "TSINFO: Обновявам %s за да задоволя зависимост."
+
+#: ../yum/depsolve.py:538
+#, python-format
+msgid "Cannot find an update path for dep for: %s"
+msgstr "Не мога да намеря път за обновяване за зависимост за: %s"
+
+#: ../yum/depsolve.py:569
+#, python-format
+msgid "Quick matched %s to require for %s"
+msgstr "Бързо подбран %s, задоволяващ %s"
+
+#. is it already installed?
+#: ../yum/depsolve.py:611
+#, python-format
+msgid "%s is in providing packages but it is already installed, removing."
+msgstr "%s е сред осигуряващите пакети и вече е инсталиран, премахвам го."
+
+#: ../yum/depsolve.py:627
+#, python-format
+msgid "Potential resolving package %s has newer instance in ts."
+msgstr "Потенциално удовлетворяващият пакет %s има по-нова инстанция в ts."
+
+#: ../yum/depsolve.py:638
+#, python-format
+msgid "Potential resolving package %s has newer instance installed."
+msgstr "Потенциално удовлетворяващият пакет %s има по-нова инсталирана инстанция."
+
+#: ../yum/depsolve.py:656
+#, python-format
+msgid "%s already in ts, skipping this one"
+msgstr "%s е вече в ts, пропускам го"
+
+#: ../yum/depsolve.py:705
+#, python-format
+msgid "TSINFO: Marking %s as update for %s"
+msgstr "TSINFO: Маркирам %s като обновление за %s"
+
+#: ../yum/depsolve.py:714
+#, python-format
+msgid "TSINFO: Marking %s as install for %s"
+msgstr "TSINFO: Маркирам %s като инсталиращ за %s"
+
+#: ../yum/depsolve.py:849 ../yum/depsolve.py:967
+msgid "Success - empty transaction"
+msgstr "Успех - празна транзакция"
+
+#: ../yum/depsolve.py:889 ../yum/depsolve.py:927
+msgid "Restarting Loop"
+msgstr "Рестартиране на цикъла"
+
+#: ../yum/depsolve.py:947
+msgid "Dependency Process ending"
+msgstr "Завършване процеса за определяне на зависимости"
+
+#: ../yum/depsolve.py:969
+msgid "Success - deps resolved"
+msgstr "Успех - зависимостите са удовлетворени"
+
+#: ../yum/depsolve.py:993
+#, python-format
+msgid "Checking deps for %s"
+msgstr "Проверка зависимостите за %s"
+
+#: ../yum/depsolve.py:1082
+#, python-format
+msgid "looking for %s as a requirement of %s"
+msgstr "търсене на %s като изискван от %s"
+
+#: ../yum/depsolve.py:1349
+#, python-format
+msgid "Running compare_providers() for %s"
+msgstr "Стартиране compare_providers() за %s"
+
+#: ../yum/depsolve.py:1376 ../yum/depsolve.py:1382
+#, python-format
+msgid "better arch in po %s"
+msgstr "по-добър arch в po %s"
+
+#: ../yum/depsolve.py:1496
+#, python-format
+msgid "%s obsoletes %s"
+msgstr "%s замества %s"
+
+#: ../yum/depsolve.py:1508
+#, python-format
+msgid ""
+"archdist compared %s to %s on %s\n"
+"  Winner: %s"
+msgstr "archdist сравни %s с %s на %s\n  Победител: %s"
+
+#: ../yum/depsolve.py:1516
+#, python-format
+msgid "common sourcerpm %s and %s"
+msgstr "общ rpm източник %s и %s"
+
+#: ../yum/depsolve.py:1520
+#, python-format
+msgid "base package %s is installed for %s"
+msgstr "основният пакет %s е инсталиран за %s"
+
+#: ../yum/depsolve.py:1526
+#, python-format
+msgid "common prefix of %s between %s and %s"
+msgstr "общ префикс на %s между %s и %s"
+
+#: ../yum/depsolve.py:1543
+#, python-format
+msgid "provides vercmp: %s"
+msgstr "предоставя vercmp: %s"
+
+#: ../yum/depsolve.py:1547 ../yum/depsolve.py:1581
+#, python-format
+msgid " Winner: %s"
+msgstr " Победител: %s"
+
+#: ../yum/depsolve.py:1577
+#, python-format
+msgid "requires minimal: %d"
+msgstr "изисква минимум: %d"
+
+#: ../yum/depsolve.py:1586
+#, python-format
+msgid " Loser(with %d): %s"
+msgstr " Губещ(с %d): %s"
+
+#: ../yum/depsolve.py:1602
+#, python-format
+msgid "Best Order: %s"
+msgstr "Най-добър ред: %s"
+
+#: ../yum/__init__.py:274
+msgid "doConfigSetup() will go away in a future version of Yum.\n"
+msgstr "doConfigSetup() ще бъде премахнат в бъдеща версия на Yum.\n"
+
+#: ../yum/__init__.py:553
+#, python-format
+msgid "Skipping unreadable repository %s"
+msgstr ""
+
+#: ../yum/__init__.py:572
+#, python-format
+msgid "Repository %r: Error parsing config: %s"
+msgstr "Хранилище %r: Грешка при разбор на конфигурацията: %s"
+
+#: ../yum/__init__.py:578
+#, python-format
+msgid "Repository %r is missing name in configuration, using id"
+msgstr "В конфигурацията липсва име на хранилище %r, ползвам id"
+
+#: ../yum/__init__.py:618
+msgid "plugins already initialised"
+msgstr "плъгините вече са инициализирани"
+
+#: ../yum/__init__.py:627
+msgid "doRpmDBSetup() will go away in a future version of Yum.\n"
+msgstr "doRpmDBSetup() ще бъде премахнат в бъдеща версия на Yum.\n"
+
+#: ../yum/__init__.py:638
+msgid "Reading Local RPMDB"
+msgstr "Чета локалната RPMDB"
+
+#: ../yum/__init__.py:668
+msgid "doRepoSetup() will go away in a future version of Yum.\n"
+msgstr "doRepoSetup() ще бъде премахнат в бъдеща версия на Yum.\n"
+
+#: ../yum/__init__.py:722
+msgid "doSackSetup() will go away in a future version of Yum.\n"
+msgstr "doSackSetup() ще бъде премахнат в бъдеща версия на Yum.\n"
+
+#: ../yum/__init__.py:752
+msgid "Setting up Package Sacks"
+msgstr "Задаване на сакове пакети"
+
+#: ../yum/__init__.py:797
+#, python-format
+msgid "repo object for repo %s lacks a _resetSack method\n"
+msgstr "в repo обекта за хранилище %s липсва метод _resetSack\n"
+
+#: ../yum/__init__.py:798
+msgid "therefore this repo cannot be reset.\n"
+msgstr "ето защо, това хранилище не може да бъде ресетнато.\n"
+
+#: ../yum/__init__.py:806
+msgid "doUpdateSetup() will go away in a future version of Yum.\n"
+msgstr "doUpdateSetup() ще бъде премахнат в бъдеща версия на Yum.\n"
+
+#: ../yum/__init__.py:818
+msgid "Building updates object"
+msgstr "Изграждам обекта с обновявания"
+
+#: ../yum/__init__.py:862
+msgid "doGroupSetup() will go away in a future version of Yum.\n"
+msgstr "doGroupSetup() ще бъде премахнат в бъдеща версия на Yum.\n"
+
+#: ../yum/__init__.py:887
+msgid "Getting group metadata"
+msgstr "Вземам метаданните на групата"
+
+#: ../yum/__init__.py:915
+#, python-format
+msgid "Adding group file from repository: %s"
+msgstr "Добавям файла на групата от хранилище: %s"
+
+#: ../yum/__init__.py:918
+#, python-format
+msgid "Failed to retrieve group file for repository: %s"
+msgstr ""
+
+#: ../yum/__init__.py:924
+#, python-format
+msgid "Failed to add groups file for repository: %s - %s"
+msgstr "Не успя добавянето на файла на групата за хранилище: %s - %s"
+
+#: ../yum/__init__.py:930
+msgid "No Groups Available in any repository"
+msgstr "Няма налични групи в което и да е хранилище"
+
+#: ../yum/__init__.py:945
+msgid "Getting pkgtags metadata"
+msgstr "Вземам pkgtags метаданните"
+
+#: ../yum/__init__.py:955
+#, python-format
+msgid "Adding tags from repository: %s"
+msgstr "Добавям тагове от хранилище: %s"
+
+#: ../yum/__init__.py:966
+#, python-format
+msgid "Failed to add Pkg Tags for repository: %s - %s"
+msgstr "Не успя добавянето тагове на пакети за хранилище: %s - %s"
+
+#: ../yum/__init__.py:1059
+msgid "Importing additional filelist information"
+msgstr "Импортирам допълнителна информация за списъка файлове"
+
+#: ../yum/__init__.py:1077
+#, python-format
+msgid "The program %s%s%s is found in the yum-utils package."
+msgstr "Програмата %s%s%s е намерена в пакета yum-utils."
+
+#: ../yum/__init__.py:1094
+msgid ""
+"There are unfinished transactions remaining. You might consider running yum-"
+"complete-transaction first to finish them."
+msgstr "Останаха недовършени транзакции. Помислете дали да не стартирате първо yum-complete-transaction за да ги довършите."
+
+#: ../yum/__init__.py:1111
+msgid "--> Finding unneeded leftover dependencies"
+msgstr "--> Търся ненужни останали зависимости"
+
+#: ../yum/__init__.py:1169
+#, python-format
+msgid "Protected multilib versions: %s != %s"
+msgstr "Защитени multilib версии: %s != %s"
+
+#. People are confused about protected mutilib ... so give
+#. them a nicer message.
+#: ../yum/__init__.py:1173
+#, python-format
+msgid ""
+" Multilib version problems found. This often means that the root\n"
+"cause is something else and multilib version checking is just\n"
+"pointing out that there is a problem. Eg.:\n"
+"\n"
+"  1. You have an upgrade for %(name)s which is missing some\n"
+"     dependency that another package requires. Yum is trying to\n"
+"     solve this by installing an older version of %(name)s of the\n"
+"     different architecture. If you exclude the bad architecture\n"
+"     yum will tell you what the root cause is (which package\n"
+"     requires what). You can try redoing the upgrade with\n"
+"     --exclude %(name)s.otherarch ... this should give you an error\n"
+"     message showing the root cause of the problem.\n"
+"\n"
+"  2. You have multiple architectures of %(name)s installed, but\n"
+"     yum can only see an upgrade for one of those arcitectures.\n"
+"     If you don't want/need both architectures anymore then you\n"
+"     can remove the one with the missing update and everything\n"
+"     will work.\n"
+"\n"
+"  3. You have duplicate versions of %(name)s installed already.\n"
+"     You can use \"yum check\" to get yum show these errors.\n"
+"\n"
+"...you can also use --setopt=protected_multilib=false to remove\n"
+"this checking, however this is almost never the correct thing to\n"
+"do as something else is very likely to go wrong (often causing\n"
+"much more problems).\n"
+"\n"
+msgstr ""
+
+#: ../yum/__init__.py:1257
+#, python-format
+msgid "Trying to remove \"%s\", which is protected"
+msgstr "Опитвам да премахна \"%s\", който е защитен"
+
+#: ../yum/__init__.py:1378
+msgid ""
+"\n"
+"Packages skipped because of dependency problems:"
+msgstr "\nПропуснати са пакети поради проблеми в зависимости:"
+
+#: ../yum/__init__.py:1382
+#, python-format
+msgid "    %s from %s"
+msgstr "    %s от %s"
+
+#. FIXME: _N()
+#: ../yum/__init__.py:1556
+#, python-format
+msgid "** Found %d pre-existing rpmdb problem(s), 'yum check' output follows:"
+msgstr "** Намерени %d предварително съществуващи rpmdb проблема, 'yum check' показа следното:"
+
+#: ../yum/__init__.py:1560
+msgid "Warning: RPMDB altered outside of yum."
+msgstr "Внимание: RPMDB е променена извън yum."
+
+#: ../yum/__init__.py:1572
+msgid "missing requires"
+msgstr "липсват изисквани"
+
+#: ../yum/__init__.py:1573
+msgid "installed conflict"
+msgstr "инсталиран конфликт"
+
+#: ../yum/__init__.py:1709
+msgid ""
+"Warning: scriptlet or other non-fatal errors occurred during transaction."
+msgstr "Внимание: scriptlet или други нефатални грешки възникнаха по време на транзакцията."
+
+#: ../yum/__init__.py:1719
+msgid "Transaction couldn't start:"
+msgstr "Транзакцията не можа да се стартира:"
+
+#. should this be 'to_unicoded'?
+#: ../yum/__init__.py:1722
+msgid "Could not run transaction."
+msgstr "Не можа да се стартира транзакцията"
+
+#: ../yum/__init__.py:1736
+#, python-format
+msgid "Failed to remove transaction file %s"
+msgstr "Не успя премахването файла на транзакцията %s"
+
+#. maybe a file log here, too
+#. but raising an exception is not going to do any good
+#: ../yum/__init__.py:1792
+#, python-format
+msgid "%s was supposed to be installed but is not!"
+msgstr "%s се предполагаше да е инсталиран, но не е!"
+
+#. maybe a file log here, too
+#. but raising an exception is not going to do any good
+#. Note: This actually triggers atm. because we can't
+#. always find the erased txmbr to set it when
+#. we should.
+#: ../yum/__init__.py:1869
+#, python-format
+msgid "%s was supposed to be removed but is not!"
+msgstr "%s се предполагаше да е премахнат, но не е!"
+
+#. Another copy seems to be running.
+#: ../yum/__init__.py:2004
+#, python-format
+msgid "Existing lock %s: another copy is running as pid %s."
+msgstr "Съществува lock %s: работи друго копие с pid %s."
+
+#. Whoa. What the heck happened?
+#: ../yum/__init__.py:2053
+#, python-format
+msgid "Could not create lock at %s: %s "
+msgstr "Не мога да създам lock на %s: %s "
+
+#: ../yum/__init__.py:2065
+#, python-format
+msgid "Could not open lock %s: %s"
+msgstr "Не мога да отворя lock %s: %s"
+
+#. The pid doesn't exist
+#. Whoa. What the heck happened?
+#: ../yum/__init__.py:2082
+#, python-format
+msgid "Unable to check if PID %s is active"
+msgstr "Не може да се провери дали PID %s е активен"
+
+#: ../yum/__init__.py:2132
+#, python-format
+msgid ""
+"Package does not match intended download. Suggestion: run yum "
+"--enablerepo=%s clean metadata"
+msgstr "Пакетът не съвпада с желаното за сваляне. Съвет: изпълнете yum --enablerepo=%s clean metadata"
+
+#: ../yum/__init__.py:2155
+msgid "Could not perform checksum"
+msgstr "Не мога да изчисля контролна сума"
+
+#: ../yum/__init__.py:2158
+msgid "Package does not match checksum"
+msgstr "Контролната сума не съвпада с тази на пакета"
+
+#: ../yum/__init__.py:2222
+#, python-format
+msgid "package fails checksum but caching is enabled for %s"
+msgstr "провали се контролната сума на пакета, но кеширането е разрешено за %s"
+
+#: ../yum/__init__.py:2225 ../yum/__init__.py:2268
+#, python-format
+msgid "using local copy of %s"
+msgstr "използвам локално копие на %s"
+
+#. caller handles errors
+#: ../yum/__init__.py:2342
+msgid "exiting because --downloadonly specified"
+msgstr ""
+
+#: ../yum/__init__.py:2371
+msgid "Header is not complete."
+msgstr "Заглавната част не е пълна."
+
+#: ../yum/__init__.py:2411
+#, python-format
+msgid ""
+"Header not in local cache and caching-only mode enabled. Cannot download %s"
+msgstr "Заглавната част не е в локалния кеш, а сме в режим caching-only. Не мога да сваля %s"
+
+#: ../yum/__init__.py:2471
+#, python-format
+msgid "Public key for %s is not installed"
+msgstr "Публичният ключ за %s не е инсталиран"
+
+#: ../yum/__init__.py:2475
+#, python-format
+msgid "Problem opening package %s"
+msgstr "Проблем при отварянето на пакет %s"
+
+#: ../yum/__init__.py:2483
+#, python-format
+msgid "Public key for %s is not trusted"
+msgstr "Публичният ключ за %s не е доверен"
+
+#: ../yum/__init__.py:2487
+#, python-format
+msgid "Package %s is not signed"
+msgstr "Пакетът %s не е подписан"
+
+#: ../yum/__init__.py:2529
+#, python-format
+msgid "Cannot remove %s"
+msgstr "Не мога да премахна %s"
+
+#: ../yum/__init__.py:2533
+#, python-format
+msgid "%s removed"
+msgstr "%s е премахнат"
+
+#: ../yum/__init__.py:2594
+#, python-format
+msgid "Cannot remove %s file %s"
+msgstr "Не мога да премахна %s файл %s"
+
+#: ../yum/__init__.py:2598
+#, python-format
+msgid "%s file %s removed"
+msgstr "%s файл %s е премахнат"
+
+#: ../yum/__init__.py:2600
+#, python-format
+msgid "%d %s file removed"
+msgid_plural "%d %s files removed"
+msgstr[0] "%d %s премахнат файл"
+msgstr[1] "%d %s премахнати файла"
+
+#: ../yum/__init__.py:2712
+#, python-format
+msgid "More than one identical match in sack for %s"
+msgstr "Повече от един идентично съвпадащ в сака за %s"
+
+#: ../yum/__init__.py:2718
+#, python-format
+msgid "Nothing matches %s.%s %s:%s-%s from update"
+msgstr "Нищо не съвпада с %s.%s %s:%s-%s от обновяването"
+
+#: ../yum/__init__.py:3096
+msgid ""
+"searchPackages() will go away in a future version of Yum."
+"                      Use searchGenerator() instead. \n"
+msgstr "searchPackages() ще бъде премахнат в бъдеща версия на Yum.                      Вместо това, ползвайте searchGenerator(). \n"
+
+#: ../yum/__init__.py:3149
+#, python-format
+msgid "Searching %d package"
+msgid_plural "Searching %d packages"
+msgstr[0] "Търся %d пакет"
+msgstr[1] "Търся %d пакета"
+
+#: ../yum/__init__.py:3153
+#, python-format
+msgid "searching package %s"
+msgstr "търся пакет %s"
+
+#: ../yum/__init__.py:3165
+msgid "searching in file entries"
+msgstr "търсене в списъка файлове"
+
+#: ../yum/__init__.py:3172
+msgid "searching in provides entries"
+msgstr "търсене в предоставяно съдържание"
+
+#: ../yum/__init__.py:3369
+msgid "No group data available for configured repositories"
+msgstr "Няма налични данни за групата за конфигурираните хранилища"
+
+#: ../yum/__init__.py:3466 ../yum/__init__.py:3500 ../yum/__init__.py:3576
+#: ../yum/__init__.py:3582 ../yum/__init__.py:3719 ../yum/__init__.py:3723
+#: ../yum/__init__.py:4298
+#, python-format
+msgid "No Group named %s exists"
+msgstr "Не съществува група с име %s"
+
+#: ../yum/__init__.py:3512 ../yum/__init__.py:3740
+#, python-format
+msgid "package %s was not marked in group %s"
+msgstr "пакет %s не беше маркиран в група %s"
+
+#. (upgrade and igroup_data[pkg] == 'available')):
+#: ../yum/__init__.py:3622
+#, python-format
+msgid "Skipping package %s from group %s"
+msgstr "Пропускам пакет %s от група %s"
+
+#: ../yum/__init__.py:3628
+#, python-format
+msgid "Adding package %s from group %s"
+msgstr "Добавяне на пакет %s от група %s"
+
+#: ../yum/__init__.py:3649
+#, python-format
+msgid "No package named %s available to be installed"
+msgstr "Няма наличен пакет за инсталиране с име %s"
+
+#: ../yum/__init__.py:3702
+#, python-format
+msgid "Warning: Group %s does not have any packages to install."
+msgstr ""
+
+#: ../yum/__init__.py:3704
+#, python-format
+msgid "Group %s does have %u conditional packages, which may get installed."
+msgstr "Групата %s съдържа %u условни пакета, които могат да бъдат инсталирани."
+
+#: ../yum/__init__.py:3794
+#, python-format
+msgid "Skipping group %s from environment %s"
+msgstr ""
+
+#. This can happen due to excludes after .up has
+#. happened.
+#: ../yum/__init__.py:3858
+#, python-format
+msgid "Package tuple %s could not be found in packagesack"
+msgstr "Кортежът на пакета %s не може да бъде намерен в сака на пакета"
+
+#: ../yum/__init__.py:3886
+#, python-format
+msgid "Package tuple %s could not be found in rpmdb"
+msgstr "Кортежът на пакета %s не може да бъде намерен в rpmdb"
+
+#: ../yum/__init__.py:3949 ../yum/__init__.py:4012
+#, python-format
+msgid "Invalid version flag from: %s"
+msgstr "Невалиден флаг за версия от: %s"
+
+#: ../yum/__init__.py:3973 ../yum/__init__.py:3979 ../yum/__init__.py:4036
+#: ../yum/__init__.py:4042
+#, python-format
+msgid "No Package found for %s"
+msgstr "Не беше намерен пакет за %s"
+
+#: ../yum/__init__.py:4245 ../yum/__init__.py:4274
+#, python-format
+msgid "Warning: Environment Group %s does not exist."
+msgstr ""
+
+#: ../yum/__init__.py:4397
+#, python-format
+msgid "Package: %s - can't co-install with %s"
+msgstr ""
+
+#: ../yum/__init__.py:4437
+msgid "Package Object was not a package object instance"
+msgstr "Package Object не беше package object instance"
+
+#: ../yum/__init__.py:4441
+msgid "Nothing specified to install"
+msgstr "Нищо не е определено за инсталиране"
+
+#: ../yum/__init__.py:4465 ../yum/__init__.py:5410
+#, python-format
+msgid "Checking for virtual provide or file-provide for %s"
+msgstr "Проверявам за virtual provide или file-provide за %s"
+
+#: ../yum/__init__.py:4542
+#, python-format
+msgid "Package %s installed and not available"
+msgstr "Пакет %s е инсталиран и недостъпен"
+
+#: ../yum/__init__.py:4545
+msgid "No package(s) available to install"
+msgstr "Няма пакет(и) достъпни за инсталиране"
+
+#: ../yum/__init__.py:4557
+#, python-format
+msgid "Package: %s  - already in transaction set"
+msgstr "Пакет: %s  - вече е в комплекта на транзакцията"
+
+#: ../yum/__init__.py:4589
+#, python-format
+msgid "Package %s is obsoleted by %s which is already installed"
+msgstr "Пакетът %s е излязъл от употреба и заместен от %s, който вече е инсталиран"
+
+#: ../yum/__init__.py:4594
+#, python-format
+msgid ""
+"Package %s is obsoleted by %s, but obsoleting package does not provide for "
+"requirements"
+msgstr "Пакетът %s е заместен от %s, но заместващият пакет не предоставя изискваното"
+
+#: ../yum/__init__.py:4597
+#, python-format
+msgid "Package %s is obsoleted by %s, trying to install %s instead"
+msgstr "Излезлият от употреба пакет %s е заместен от %s, вместо него пробвам да инсталирам %s"
+
+#: ../yum/__init__.py:4605
+#, python-format
+msgid "Package %s already installed and latest version"
+msgstr "Пакетът %s е вече инсталиран и е последна версия"
+
+#: ../yum/__init__.py:4619
+#, python-format
+msgid "Package matching %s already installed. Checking for update."
+msgstr "Съвпадащият пакет %s е вече инсталиран. Проверявам за обновления."
+
+#. update everything (the easy case)
+#: ../yum/__init__.py:4751
+msgid "Updating Everything"
+msgstr "Обновявам всичко"
+
+#: ../yum/__init__.py:4775 ../yum/__init__.py:4930 ../yum/__init__.py:4975
+#: ../yum/__init__.py:5011
+#, python-format
+msgid "Not Updating Package that is already obsoleted: %s.%s %s:%s-%s"
+msgstr "Не обновявам пакет, излязъл вече от употреба: %s.%s %s:%s-%s"
+
+#: ../yum/__init__.py:4830 ../yum/__init__.py:5072
+#, python-format
+msgid "%s"
+msgstr "%s"
+
+#: ../yum/__init__.py:4854 ../yum/__init__.py:5080 ../yum/__init__.py:5416
+#, python-format
+msgid "No Match for argument: %s"
+msgstr "Няма съвпадение за аргумент: %s"
+
+#: ../yum/__init__.py:4872
+#, python-format
+msgid "No package matched to upgrade: %s"
+msgstr "Няма съвпадащ пакет за надграждане: %s"
+
+#: ../yum/__init__.py:4919
+#, python-format
+msgid "Package is already obsoleted: %s.%s %s:%s-%s"
+msgstr "Пакетът вече е излязъл от употреба: %s.%s %s:%s-%s"
+
+#: ../yum/__init__.py:4970
+#, python-format
+msgid "Not Updating Package that is obsoleted: %s"
+msgstr "Не обновявам пакет, излязъл от употреба: %s"
+
+#: ../yum/__init__.py:4979 ../yum/__init__.py:5015
+#, python-format
+msgid "Not Updating Package that is already updated: %s.%s %s:%s-%s"
+msgstr "Не обновявам вече обновен пакет: %s.%s %s:%s-%s"
+
+#: ../yum/__init__.py:5093
+#, python-format
+msgid "No package matched to remove: %s"
+msgstr "Няма съвпадащ пакет за премахване: %s"
+
+#: ../yum/__init__.py:5099
+#, python-format
+msgid "Skipping the running kernel: %s"
+msgstr "Пропускам работещото ядро: %s"
+
+#: ../yum/__init__.py:5105
+#, python-format
+msgid "Removing %s from the transaction"
+msgstr "Премахвам %s от транзакцията"
+
+#: ../yum/__init__.py:5142
+#, python-format
+msgid "Cannot open: %s. Skipping."
+msgstr "Не мога да отворя: %s. Пропускам го."
+
+#: ../yum/__init__.py:5145 ../yum/__init__.py:5262 ../yum/__init__.py:5347
+#, python-format
+msgid "Examining %s: %s"
+msgstr "Проверявам %s: %s"
+
+#: ../yum/__init__.py:5149
+#, python-format
+msgid "Cannot localinstall deltarpm: %s. Skipping."
+msgstr "Не мога да инсталирам локално deltarpm: %s. Пропускам го."
+
+#: ../yum/__init__.py:5158 ../yum/__init__.py:5265 ../yum/__init__.py:5350
+#, python-format
+msgid ""
+"Cannot add package %s to transaction. Not a compatible architecture: %s"
+msgstr "Не мога да добавя пакета %s към транзакцията. Несъвместима архитектура: %s"
+
+#: ../yum/__init__.py:5164
+#, python-format
+msgid "Cannot install package %s. It is obsoleted by installed package %s"
+msgstr "Не мога да инсталирам пакета %s. Излязъл е от употреба и е заместен от пакета %s"
+
+#: ../yum/__init__.py:5172
+#, python-format
+msgid ""
+"Package %s not installed, cannot update it. Run yum install to install it "
+"instead."
+msgstr "Пакетът %s не е инсталиран, не мога да го обновя. Стартирайте yum install за да го инсталирате."
+
+#: ../yum/__init__.py:5191 ../yum/__init__.py:5198
+#, python-format
+msgid ""
+"Package %s.%s not installed, cannot update it. Run yum install to install it"
+" instead."
+msgstr "Пакетът %s.%s не е инсталиран и не мога да го обновя. Вместо това, стартирайте yum install за да го инсталирате."
+
+#: ../yum/__init__.py:5207 ../yum/__init__.py:5270 ../yum/__init__.py:5355
+#, python-format
+msgid "Excluding %s"
+msgstr "Изключвам %s"
+
+#: ../yum/__init__.py:5212
+#, python-format
+msgid "Marking %s to be installed"
+msgstr "Маркирам %s за инсталиране"
+
+#: ../yum/__init__.py:5218
+#, python-format
+msgid "Marking %s as an update to %s"
+msgstr "Маркирам %s като обновление към %s"
+
+#: ../yum/__init__.py:5225
+#, python-format
+msgid "%s: does not update installed package."
+msgstr "%s: не обнови инсталиран пакет."
+
+#: ../yum/__init__.py:5259 ../yum/__init__.py:5344
+#, python-format
+msgid "Cannot open file: %s. Skipping."
+msgstr "Не мога да отворя файл: %s. Пропускам го."
+
+#: ../yum/__init__.py:5299
+msgid "Problem in reinstall: no package matched to remove"
+msgstr "Проблем при преинсталиране: няма съвпадащ пакет за премахване"
+
+#: ../yum/__init__.py:5325
+#, python-format
+msgid "Problem in reinstall: no package %s matched to install"
+msgstr "Проблем при преинсталиране: няма съвпадащ пакет %s за инсталиране"
+
+#: ../yum/__init__.py:5438
+msgid "No package(s) available to downgrade"
+msgstr "Няма наличен пакет(и) за връщане към предишна версия"
+
+#: ../yum/__init__.py:5446
+#, python-format
+msgid "Package %s is allowed multiple installs, skipping"
+msgstr "На пакета %s е позволено многократно инсталиране, пропускам го"
+
+#: ../yum/__init__.py:5496
+#, python-format
+msgid "No Match for available package: %s"
+msgstr "Няма съвпадение за наличен пакет: %s"
+
+#: ../yum/__init__.py:5506
+#, python-format
+msgid "Only Upgrade available on package: %s"
+msgstr "Налично е само надграждане на пакет: %s"
+
+#: ../yum/__init__.py:5619 ../yum/__init__.py:5686
+#, python-format
+msgid "Failed to downgrade: %s"
+msgstr "Неуспех при връщане към предишна версия на: %s"
+
+#: ../yum/__init__.py:5636 ../yum/__init__.py:5692
+#, python-format
+msgid "Failed to upgrade: %s"
+msgstr "Неуспешно надграждане: %s"
+
+#: ../yum/__init__.py:5725
+#, python-format
+msgid "Retrieving key from %s"
+msgstr "Извличане на ключ от %s"
+
+#: ../yum/__init__.py:5743
+msgid "GPG key retrieval failed: "
+msgstr "Извличането на GPG ключ не успя: "
+
+#. if we decide we want to check, even though the sig failed
+#. here is where we would do that
+#: ../yum/__init__.py:5766
+#, python-format
+msgid "GPG key signature on key %s does not match CA Key for repo: %s"
+msgstr "GPG ключовата сигнатура на ключ %s не съвпада с CA ключа за хранилище: %s"
+
+#: ../yum/__init__.py:5768
+msgid "GPG key signature verified against CA Key(s)"
+msgstr "GPG ключовата сигнатура е проверена чрез CA ключ(ове)"
+
+#: ../yum/__init__.py:5776
+#, python-format
+msgid "Invalid GPG Key from %s: %s"
+msgstr "Невалиден GPG ключ от %s: %s"
+
+#: ../yum/__init__.py:5785
+#, python-format
+msgid "GPG key parsing failed: key does not have value %s"
+msgstr "Разборът на GPG ключ не успя: ключът няма стойност %s"
+
+#: ../yum/__init__.py:5801
+#, python-format
+msgid ""
+"Importing %s key 0x%s:\n"
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" Package    : %s (%s)\n"
+" From       : %s"
+msgstr "Импортирам %s ключ 0x%s:\n Потреб.id   : \"%s\"\n Пръстов отп.: %s\n Пакет       : %s (%s)\n От          : %s"
+
+#: ../yum/__init__.py:5811
+#, python-format
+msgid ""
+"Importing %s key 0x%s:\n"
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" From       : %s"
+msgstr "Импортирам %s ключ 0x%s:\n Потреб.id   : \"%s\"\n Пръстов отп.: %s\n От        : %s"
+
+#: ../yum/__init__.py:5839
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" Failing package is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr "\n\n\n Проблемният пакет е: %s\n GPG ключовете са конфигурирани така: %s\n"
+
+#: ../yum/__init__.py:5853
+#, python-format
+msgid "GPG key at %s (0x%s) is already installed"
+msgstr "GPG ключът на %s (0x%s) е вече инсталиран"
+
+#: ../yum/__init__.py:5891
+#, python-format
+msgid "Key import failed (code %d)"
+msgstr "Импортирането на ключ не успя (код %d)"
+
+#: ../yum/__init__.py:5893 ../yum/__init__.py:5994
+msgid "Key imported successfully"
+msgstr "Ключът е успешно импортиран"
+
+#: ../yum/__init__.py:5897
+msgid "Didn't install any keys"
+msgstr "Не инсталирай никакви ключове"
+
+#: ../yum/__init__.py:5900
+#, python-format
+msgid ""
+"The GPG keys listed for the \"%s\" repository are already installed but they are not correct for this package.\n"
+"Check that the correct key URLs are configured for this repository."
+msgstr "GPG ключовете, описани за хранилището \"%s\" са вече инсталирани, но не са коректни за този пакет.\nПроверете дали за това хранилище са конфигурирани коректните URL-и на ключове."
+
+#: ../yum/__init__.py:5910
+msgid "Import of key(s) didn't help, wrong key(s)?"
+msgstr "Импортирането на ключ(ове) не помогна, грешен ключ(ове)?"
+
+#: ../yum/__init__.py:5932
+msgid "No"
+msgstr "Не"
+
+#: ../yum/__init__.py:5934
+msgid "Yes"
+msgstr "Да"
+
+#: ../yum/__init__.py:5935
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" CA Key: %s\n"
+" Failing repo is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr "\n\n\n CA ключ: %s\n Проблемното хранилище е: %s\n GPG ключовете са конфигурирани така: %s\n"
+
+#: ../yum/__init__.py:5948
+#, python-format
+msgid "GPG key at %s (0x%s) is already imported"
+msgstr "GPG ключ на %s (0x%s) е вече импортиран"
+
+#: ../yum/__init__.py:5992
+#, python-format
+msgid "Key %s import failed"
+msgstr "Импортирането на ключ %s не успя"
+
+#: ../yum/__init__.py:6009
+#, python-format
+msgid "Didn't install any keys for repo %s"
+msgstr "Не инсталирай никакви ключове за хранилище %s"
+
+#: ../yum/__init__.py:6014
+#, python-format
+msgid ""
+"The GPG keys listed for the \"%s\" repository are already installed but they are not correct.\n"
+"Check that the correct key URLs are configured for this repository."
+msgstr "GPG ключовете, описани за хранилището \"%s\" са вече инсталирани, но не са коректни.\nПроверете дали за това хранилище са конфигурирани коректните URL-и на ключове."
+
+#: ../yum/__init__.py:6172
+msgid "Unable to find a suitable mirror."
+msgstr "Не мога да намеря подходящ огледален сървър."
+
+#: ../yum/__init__.py:6174
+msgid "Errors were encountered while downloading packages."
+msgstr "Възникнаха грешки при свалянето на пакети."
+
+#: ../yum/__init__.py:6229
+#, python-format
+msgid "Please report this error at %s"
+msgstr "Моля, докладвайте тази грешка на %s"
+
+#: ../yum/__init__.py:6246
+msgid "Test Transaction Errors: "
+msgstr "Грешки от теста на транзакцията: "
+
+#: ../yum/__init__.py:6358
+#, python-format
+msgid "Could not set cachedir: %s"
+msgstr "Не мога да задам cachedir: %s"
+
+#: ../yum/__init__.py:6420 ../yum/__init__.py:6422
+msgid "Dependencies not solved. Will not save unresolved transaction."
+msgstr "Зависимостите не са решени. Няма да запиша нерешена транзакция."
+
+#: ../yum/__init__.py:6455 ../yum/__init__.py:6457
+#, python-format
+msgid "Could not save transaction file %s: %s"
+msgstr "Не мога да запиша транзакционния файл %s: %s"
+
+#: ../yum/__init__.py:6483
+#, python-format
+msgid "Could not access/read saved transaction %s : %s"
+msgstr "Не мога да достъпя/прочета записана транзакция %s : %s"
+
+#: ../yum/__init__.py:6521
+msgid "rpmdb ver mismatched saved transaction version,"
+msgstr ""
+
+#: ../yum/__init__.py:6535
+msgid "cannot find tsflags or tsflags not integer."
+msgstr "не мога да намеря tsflags или те не са целочислени."
+
+#: ../yum/__init__.py:6584
+#, python-format
+msgid "Found txmbr in unknown current state: %s"
+msgstr "Намерен е txmbr в непознато текущо състояние: %s"
+
+#: ../yum/__init__.py:6588
+#, python-format
+msgid "Could not find txmbr: %s in state %s"
+msgstr "Не мога да намеря txmbr: %s в състояние %s"
+
+#: ../yum/__init__.py:6625 ../yum/__init__.py:6642
+#, python-format
+msgid "Could not find txmbr: %s from origin: %s"
+msgstr "Не мога да намеря txmbr: %s от произход: %s"
+
+#: ../yum/__init__.py:6667
+msgid "Transaction members, relations are missing or ts has been modified,"
+msgstr "Липсват връзки или членове на транзакцията, или тя е била променена,"
+
+#: ../yum/__init__.py:6670
+msgid " ignoring, as requested. You must redepsolve!"
+msgstr " игнорирам, както е зададено. Трябва отново определяне на зависимости!"
+
+#. Debugging output
+#: ../yum/__init__.py:6738 ../yum/__init__.py:6757
+#, python-format
+msgid "%s has been visited already and cannot be removed."
+msgstr "%s вече беше посетен и не може да бъде премахнат."
+
+#. Debugging output
+#: ../yum/__init__.py:6741
+#, python-format
+msgid "Examining revdeps of %s"
+msgstr "Изследване версиите на зависимости на %s"
+
+#. Debugging output
+#: ../yum/__init__.py:6762
+#, python-format
+msgid "%s has revdep %s which was user-installed."
+msgstr "%s има зависимост на версия %s, която е инсталирана от потребителя."
+
+#: ../yum/__init__.py:6773 ../yum/__init__.py:6779
+#, python-format
+msgid "%s is needed by a package to be installed."
+msgstr ""
+
+#. Debugging output
+#: ../yum/__init__.py:6793
+#, python-format
+msgid "%s has no user-installed revdeps."
+msgstr "%s няма инсталирани от потребителя зависимости на версии."
+
+#. Mostly copied from YumOutput._outKeyValFill()
+#: ../yum/plugins.py:212
+msgid "Loaded plugins: "
+msgstr "Заредени плъгини: "
+
+#: ../yum/plugins.py:226 ../yum/plugins.py:232
+#, python-format
+msgid "No plugin match for: %s"
+msgstr "Няма съвпадащ плъгин за: %s"
+
+#: ../yum/plugins.py:262
+#, python-format
+msgid "Not loading \"%s\" plugin, as it is disabled"
+msgstr "Не зареждам плъгина \"%s\", тъй като е забранен"
+
+#. Give full backtrace:
+#: ../yum/plugins.py:274
+#, python-format
+msgid "Plugin \"%s\" can't be imported"
+msgstr "Плъгинът \"%s\" не може да бъде импортиран"
+
+#: ../yum/plugins.py:281
+#, python-format
+msgid "Plugin \"%s\" doesn't specify required API version"
+msgstr "Плъгинът \"%s\" не указва изисквана API версия"
+
+#: ../yum/plugins.py:286
+#, python-format
+msgid "Plugin \"%s\" requires API %s. Supported API is %s."
+msgstr "Плъгинът \"%s\" изисква API %s. Поддържаният API е %s."
+
+#: ../yum/plugins.py:319
+#, python-format
+msgid "Loading \"%s\" plugin"
+msgstr "Зареждам плъгин \"%s\""
+
+#: ../yum/plugins.py:326
+#, python-format
+msgid "Two or more plugins with the name \"%s\" exist in the plugin search path"
+msgstr "В пътя за търсене съществуват два или повече плъгина с име \"%s\""
+
+#: ../yum/plugins.py:346
+#, python-format
+msgid "Configuration file %s not found"
+msgstr "Не е намерен конфигурационният файл %s"
+
+#. for
+#. Configuration files for the plugin not found
+#: ../yum/plugins.py:349
+#, python-format
+msgid "Unable to find configuration file for plugin %s"
+msgstr "Не мога да намеря конфигуриращ файл за плъгина %s"
+
+#: ../yum/plugins.py:553
+msgid "registration of commands not supported"
+msgstr "регистрация на команди не се поддържа"
+
+#: ../yum/rpmsack.py:159
+msgid "has missing requires of"
+msgstr "има липсващи изисквания на"
+
+#: ../yum/rpmsack.py:162
+msgid "has installed conflicts"
+msgstr "има инсталирани конфликти"
+
+#: ../yum/rpmsack.py:171
+#, python-format
+msgid "%s is a duplicate with %s"
+msgstr "%s се дублира с %s"
+
+#: ../yum/rpmsack.py:179
+#, python-format
+msgid "%s is obsoleted by %s"
+msgstr "%s е заместен от %s"
+
+#: ../yum/rpmsack.py:187
+#, python-format
+msgid "%s provides %s but it cannot be found"
+msgstr "%s осигурява %s, но не може да бъде намерен"
+
+#: ../yum/rpmtrans.py:80
+msgid "Repackaging"
+msgstr "Препакетиране"
+
+#: ../yum/rpmtrans.py:149
+#, python-format
+msgid "Verify: %u/%u: %s"
+msgstr "Провери: %u/%u: %s"
+
+#: ../yum/yumRepo.py:919
+#, python-format
+msgid ""
+"Insufficient space in download directory %s\n"
+"    * free   %s\n"
+"    * needed %s"
+msgstr "Недостатъчно пространство в директорията за сваляне %s\n    * свободно   %s\n    * необходимо %s"
+
+#: ../yum/yumRepo.py:986
+msgid "Package does not match intended download."
+msgstr ""
+
+#: ../rpmUtils/oldUtils.py:33
+#, python-format
+msgid "Header cannot be opened or does not match %s, %s."
+msgstr "Заглавната част не може да бъде отворена или не съвпада %s, %s."
+
+#: ../rpmUtils/oldUtils.py:53
+#, python-format
+msgid "RPM %s fails md5 check"
+msgstr "Не успя md5 проверката на RPM %s"
+
+#: ../rpmUtils/oldUtils.py:151
+msgid "Could not open RPM database for reading. Perhaps it is already in use?"
+msgstr "Не мога да отворя RPM базата данни за четене. Може би е вече в употреба?"
+
+#: ../rpmUtils/oldUtils.py:183
+msgid "Got an empty Header, something has gone wrong"
+msgstr "Намерена празна заглавна част, нещо се е объркало"
+
+#: ../rpmUtils/oldUtils.py:253 ../rpmUtils/oldUtils.py:260
+#: ../rpmUtils/oldUtils.py:263 ../rpmUtils/oldUtils.py:266
+#, python-format
+msgid "Damaged Header %s"
+msgstr "Повредена заглавна част %s"
+
+#: ../rpmUtils/oldUtils.py:281
+#, python-format
+msgid "Error opening rpm %s - error %s"
+msgstr "Грешка при отваряне на rpm %s - грешка %s"
diff --git a/po/bn_IN.po b/po/bn_IN.po
index f1f232a..fbec035 100644
--- a/po/bn_IN.po
+++ b/po/bn_IN.po
@@ -2,427 +2,506 @@
 # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
 # This file is distributed under the same license as the PACKAGE package.
 # 
+# Translators:
 msgid ""
 msgstr ""
 "Project-Id-Version: Yum\n"
-"Report-Msgid-Bugs-To: http://yum.baseurl.org/\n"
-"POT-Creation-Date: 2011-06-06 10:21-0400\n"
-"PO-Revision-Date: 2011-06-06 14:21+0000\n"
-"Last-Translator: skvidal <skvidal@fedoraproject.org>\n"
-"Language-Team: Bengali (India) (http://www.transifex.net/projects/p/yum/team/bn_IN/)\n"
+"Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
+"POT-Creation-Date: 2013-01-30 09:08-0500\n"
+"PO-Revision-Date: 2013-01-30 14:08+0000\n"
+"Last-Translator: james <james@fedoraproject.org>\n"
+"Language-Team: Bengali (India) (http://www.transifex.com/projects/p/yum/language/bn_IN/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Language: bn_IN\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: ../callback.py:48 ../output.py:1037 ../yum/rpmtrans.py:73
+#: ../callback.py:45 ../output.py:1502 ../yum/rpmtrans.py:73
 msgid "Updating"
 msgstr ""
 
-#: ../callback.py:49 ../yum/rpmtrans.py:74
+#: ../callback.py:46 ../yum/rpmtrans.py:74
 msgid "Erasing"
 msgstr ""
 
-#: ../callback.py:50 ../callback.py:51 ../callback.py:53 ../output.py:1036
-#: ../output.py:2218 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
+#: ../callback.py:47 ../callback.py:48 ../callback.py:50 ../output.py:1501
+#: ../output.py:2922 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
 #: ../yum/rpmtrans.py:78
 msgid "Installing"
 msgstr ""
 
-#: ../callback.py:52 ../callback.py:58 ../output.py:1840 ../yum/rpmtrans.py:77
+#: ../callback.py:49 ../callback.py:55 ../output.py:2379 ../yum/rpmtrans.py:77
 msgid "Obsoleted"
 msgstr ""
 
-#: ../callback.py:54 ../output.py:1169 ../output.py:1686 ../output.py:1847
+#: ../callback.py:51 ../output.py:1670 ../output.py:2222 ../output.py:2386
 msgid "Updated"
 msgstr ""
 
-#: ../callback.py:55 ../output.py:1685
+#: ../callback.py:52 ../output.py:2221
 msgid "Erased"
 msgstr ""
 
-#: ../callback.py:56 ../callback.py:57 ../callback.py:59 ../output.py:1167
-#: ../output.py:1685 ../output.py:1687 ../output.py:2190
+#: ../callback.py:53 ../callback.py:54 ../callback.py:56 ../output.py:1668
+#: ../output.py:2221 ../output.py:2223 ../output.py:2894
 msgid "Installed"
 msgstr ""
 
-#: ../callback.py:130
+#: ../callback.py:142
 msgid "No header - huh?"
 msgstr ""
 
-#: ../callback.py:168
+#: ../callback.py:180
 msgid "Repackage"
 msgstr ""
 
-#: ../callback.py:189
+#: ../callback.py:201
 #, python-format
 msgid "Error: invalid output state: %s for %s"
 msgstr ""
 
-#: ../callback.py:212
+#: ../callback.py:224
 #, python-format
 msgid "Erased: %s"
 msgstr ""
 
-#: ../callback.py:217 ../output.py:1038 ../output.py:2193
+#: ../callback.py:229 ../output.py:1503 ../output.py:2897
 msgid "Removing"
 msgstr ""
 
-#: ../callback.py:219 ../yum/rpmtrans.py:79
+#: ../callback.py:231 ../yum/rpmtrans.py:79
 msgid "Cleanup"
 msgstr ""
 
-#: ../cli.py:115
+#: ../cli.py:122
 #, python-format
 msgid "Command \"%s\" already defined"
 msgstr ""
 
-#: ../cli.py:127
+#: ../cli.py:137
 msgid "Setting up repositories"
 msgstr ""
 
-#: ../cli.py:138
+#: ../cli.py:148
 msgid "Reading repository metadata in from local files"
 msgstr ""
 
-#: ../cli.py:245 ../utils.py:281
+#: ../cli.py:273 ../cli.py:277 ../utils.py:320
 #, python-format
 msgid "Config Error: %s"
 msgstr ""
 
-#: ../cli.py:248 ../cli.py:1584 ../utils.py:284
+#: ../cli.py:280 ../cli.py:2206 ../utils.py:323
 #, python-format
 msgid "Options Error: %s"
 msgstr ""
 
-#: ../cli.py:293
+#: ../cli.py:327
 #, python-format
 msgid "  Installed: %s-%s at %s"
 msgstr ""
 
-#: ../cli.py:295
+#: ../cli.py:329
 #, python-format
 msgid "  Built    : %s at %s"
 msgstr ""
 
-#: ../cli.py:297
+#: ../cli.py:331
 #, python-format
 msgid "  Committed: %s at %s"
 msgstr ""
 
-#: ../cli.py:336
+#: ../cli.py:372
 msgid "You need to give some command"
 msgstr ""
 
-#: ../cli.py:350
+#: ../cli.py:386
 #, python-format
 msgid "No such command: %s. Please use %s --help"
 msgstr ""
 
-#: ../cli.py:400
+#: ../cli.py:444
 msgid "Disk Requirements:\n"
 msgstr ""
 
-#: ../cli.py:402
+#: ../cli.py:446
 #, python-format
 msgid "  At least %dMB more space needed on the %s filesystem.\n"
-msgstr ""
+msgid_plural "  At least %dMB more space needed on the %s filesystem.\n"
+msgstr[0] ""
+msgstr[1] ""
 
 #. TODO: simplify the dependency errors?
 #. Fixup the summary
-#: ../cli.py:407
+#: ../cli.py:451
 msgid ""
 "Error Summary\n"
 "-------------\n"
 msgstr ""
 
-#: ../cli.py:450
+#: ../cli.py:472
+msgid "Can't create lock file; exiting"
+msgstr ""
+
+#: ../cli.py:479
+msgid ""
+"Another app is currently holding the yum lock; exiting as configured by "
+"exit_on_lock"
+msgstr ""
+
+#: ../cli.py:532
 msgid "Trying to run the transaction but nothing to do. Exiting."
 msgstr ""
 
-#: ../cli.py:497
+#: ../cli.py:577
+msgid "future rpmdb ver mismatched saved transaction version,"
+msgstr ""
+
+#: ../cli.py:579 ../yum/__init__.py:6523
+msgid " ignoring, as requested."
+msgstr ""
+
+#: ../cli.py:582 ../yum/__init__.py:6526 ../yum/__init__.py:6673
+msgid " aborting."
+msgstr ""
+
+#: ../cli.py:588
 msgid "Exiting on user Command"
 msgstr ""
 
-#: ../cli.py:501
+#: ../cli.py:592
 msgid "Downloading Packages:"
 msgstr ""
 
-#: ../cli.py:506
+#: ../cli.py:597
 msgid "Error Downloading Packages:\n"
 msgstr ""
 
-#: ../cli.py:525 ../yum/__init__.py:4967
+#: ../cli.py:616 ../yum/__init__.py:6215
 msgid "Running Transaction Check"
 msgstr ""
 
-#: ../cli.py:534 ../yum/__init__.py:4976
+#: ../cli.py:625 ../yum/__init__.py:6224
 msgid "ERROR You need to update rpm to handle:"
 msgstr ""
 
-#: ../cli.py:536 ../yum/__init__.py:4979
+#: ../cli.py:627 ../yum/__init__.py:6227
 msgid "ERROR with transaction check vs depsolve:"
 msgstr ""
 
-#: ../cli.py:542
+#: ../cli.py:633
 msgid "RPM needs to be updated"
 msgstr ""
 
-#: ../cli.py:543
+#: ../cli.py:634
 #, python-format
 msgid "Please report this error in %s"
 msgstr ""
 
-#: ../cli.py:549
+#: ../cli.py:640
 msgid "Running Transaction Test"
 msgstr ""
 
-#: ../cli.py:561
+#: ../cli.py:652
 msgid "Transaction Check Error:\n"
 msgstr ""
 
-#: ../cli.py:568
+#: ../cli.py:659
 msgid "Transaction Test Succeeded"
 msgstr ""
 
-#: ../cli.py:600
+#: ../cli.py:691
 msgid "Running Transaction"
 msgstr ""
 
-#: ../cli.py:630
+#: ../cli.py:724
 msgid ""
 "Refusing to automatically import keys when running unattended.\n"
 "Use \"-y\" to override."
 msgstr ""
 
-#: ../cli.py:649 ../cli.py:692
+#: ../cli.py:743 ../cli.py:786
 msgid "  * Maybe you meant: "
 msgstr ""
 
-#: ../cli.py:675 ../cli.py:683
+#: ../cli.py:769 ../cli.py:777
 #, python-format
 msgid "Package(s) %s%s%s available, but not installed."
 msgstr ""
 
-#: ../cli.py:689 ../cli.py:722 ../cli.py:908
+#: ../cli.py:783 ../cli.py:891 ../cli.py:1158
 #, python-format
 msgid "No package %s%s%s available."
 msgstr ""
 
-#: ../cli.py:729 ../cli.py:973
-msgid "Package(s) to install"
+#: ../cli.py:871 ../cli.py:881 ../cli.py:1101 ../cli.py:1111
+#, python-format
+msgid "Bad %s argument %s."
 msgstr ""
 
-#: ../cli.py:732 ../cli.py:733 ../cli.py:914 ../cli.py:948 ../cli.py:974
-#: ../yumcommands.py:190
+#: ../cli.py:900 ../yumcommands.py:3331
+#, python-format
+msgid "%d package to install"
+msgid_plural "%d packages to install"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../cli.py:903 ../cli.py:904 ../cli.py:1169 ../cli.py:1170 ../cli.py:1224
+#: ../cli.py:1225 ../cli.py:1260 ../yumcommands.py:323 ../yumcommands.py:3419
 msgid "Nothing to do"
 msgstr ""
 
-#: ../cli.py:767
+#: ../cli.py:953
 #, python-format
-msgid "%d packages marked for Update"
-msgstr ""
+msgid "%d package marked for Update"
+msgid_plural "%d packages marked for Update"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:770
+#: ../cli.py:955
 msgid "No Packages marked for Update"
 msgstr ""
 
-#: ../cli.py:866
+#: ../cli.py:1067
 #, python-format
-msgid "%d packages marked for Distribution Synchronization"
-msgstr ""
+msgid "%d package marked for Distribution Synchronization"
+msgid_plural "%d packages marked for Distribution Synchronization"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:869
+#: ../cli.py:1069
 msgid "No Packages marked for Distribution Synchronization"
 msgstr ""
 
-#: ../cli.py:885
+#: ../cli.py:1124
 #, python-format
-msgid "%d packages marked for removal"
-msgstr ""
+msgid "%d package marked for removal"
+msgid_plural "%d packages marked for removal"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:888
+#: ../cli.py:1126
 msgid "No Packages marked for removal"
 msgstr ""
 
-#: ../cli.py:913
-msgid "Package(s) to downgrade"
-msgstr ""
+#: ../cli.py:1166
+#, python-format
+msgid "%d package to downgrade"
+msgid_plural "%d packages to downgrade"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:938
+#: ../cli.py:1207
 #, python-format
 msgid " (from %s)"
 msgstr ""
 
-#: ../cli.py:939
+#: ../cli.py:1208
 #, python-format
 msgid "Installed package %s%s%s%s not available."
 msgstr ""
 
-#: ../cli.py:947
-msgid "Package(s) to reinstall"
-msgstr ""
+#: ../cli.py:1221
+#, python-format
+msgid "%d package to reinstall"
+msgid_plural "%d packages to reinstall"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:960
+#: ../cli.py:1246
 msgid "No Packages Provided"
 msgstr ""
 
-#: ../cli.py:1058
+#: ../cli.py:1259
+msgid "Package(s) to install"
+msgstr ""
+
+#: ../cli.py:1367
 #, python-format
 msgid "N/S Matched: %s"
 msgstr ""
 
-#: ../cli.py:1075
+#: ../cli.py:1384
 #, python-format
 msgid "  Name and summary matches %sonly%s, use \"search all\" for everything."
 msgstr ""
 
-#: ../cli.py:1077
+#: ../cli.py:1386
 #, python-format
 msgid ""
 "  Full name and summary matches %sonly%s, use \"search all\" for everything."
 msgstr ""
 
-#: ../cli.py:1095
+#: ../cli.py:1404
 #, python-format
 msgid "Matched: %s"
 msgstr ""
 
-#: ../cli.py:1102
+#: ../cli.py:1411
 #, python-format
 msgid "  Name and summary matches %smostly%s, use \"search all\" for everything."
 msgstr ""
 
-#: ../cli.py:1106
+#: ../cli.py:1415
 #, python-format
 msgid "Warning: No matches found for: %s"
 msgstr ""
 
-#: ../cli.py:1109
+#: ../cli.py:1418
 msgid "No Matches found"
 msgstr ""
 
-#: ../cli.py:1174
+#: ../cli.py:1536
 #, python-format
-msgid "No Package Found for %s"
+msgid ""
+"Error: No Packages found for:\n"
+"  %s"
 msgstr ""
 
-#: ../cli.py:1184
+#: ../cli.py:1572
 msgid "Cleaning repos: "
 msgstr ""
 
-#: ../cli.py:1189
+#: ../cli.py:1577
 msgid "Cleaning up Everything"
 msgstr ""
 
-#: ../cli.py:1205
+#: ../cli.py:1593
 msgid "Cleaning up Headers"
 msgstr ""
 
-#: ../cli.py:1208
+#: ../cli.py:1596
 msgid "Cleaning up Packages"
 msgstr ""
 
-#: ../cli.py:1211
+#: ../cli.py:1599
 msgid "Cleaning up xml metadata"
 msgstr ""
 
-#: ../cli.py:1214
+#: ../cli.py:1602
 msgid "Cleaning up database cache"
 msgstr ""
 
-#: ../cli.py:1217
+#: ../cli.py:1605
 msgid "Cleaning up expire-cache metadata"
 msgstr ""
 
-#: ../cli.py:1220
+#: ../cli.py:1608
 msgid "Cleaning up cached rpmdb data"
 msgstr ""
 
-#: ../cli.py:1223
+#: ../cli.py:1611
 msgid "Cleaning up plugins"
 msgstr ""
 
-#: ../cli.py:1247
-#, python-format
-msgid "Warning: No groups match: %s"
+#: ../cli.py:1727
+msgid "Installed Environment Groups:"
+msgstr ""
+
+#: ../cli.py:1728
+msgid "Available Environment Groups:"
 msgstr ""
 
-#: ../cli.py:1264
+#: ../cli.py:1735
 msgid "Installed Groups:"
 msgstr ""
 
-#: ../cli.py:1270
+#: ../cli.py:1742
 msgid "Installed Language Groups:"
 msgstr ""
 
-#: ../cli.py:1276
+#: ../cli.py:1749
 msgid "Available Groups:"
 msgstr ""
 
-#: ../cli.py:1282
+#: ../cli.py:1756
 msgid "Available Language Groups:"
 msgstr ""
 
-#: ../cli.py:1285
+#: ../cli.py:1759
+#, python-format
+msgid "Warning: No Environments/Groups match: %s"
+msgstr ""
+
+#: ../cli.py:1763
 msgid "Done"
 msgstr ""
 
-#: ../cli.py:1296 ../cli.py:1314 ../cli.py:1320 ../yum/__init__.py:3313
+#: ../cli.py:1818
+#, python-format
+msgid "Warning: Group/Environment %s does not exist."
+msgstr ""
+
+#: ../cli.py:1859
+#, python-format
+msgid "Warning: Environment %s does not exist."
+msgstr ""
+
+#: ../cli.py:1873 ../cli.py:1879 ../yum/__init__.py:4254
 #, python-format
 msgid "Warning: Group %s does not exist."
 msgstr ""
 
-#: ../cli.py:1324
+#: ../cli.py:1883
 msgid "No packages in any requested group available to install or update"
 msgstr ""
 
-#: ../cli.py:1326
+#: ../cli.py:1885
 #, python-format
-msgid "%d Package(s) to Install"
+msgid "%d package to Install"
+msgid_plural "%d packages to Install"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../cli.py:1919 ../yum/__init__.py:3536 ../yum/__init__.py:3766
+#: ../yum/__init__.py:3824
+#, python-format
+msgid "No Environment named %s exists"
 msgstr ""
 
-#: ../cli.py:1336 ../yum/__init__.py:3325
+#: ../cli.py:1935 ../yum/__init__.py:4282
 #, python-format
 msgid "No group named %s exists"
 msgstr ""
 
-#: ../cli.py:1342
+#: ../cli.py:1945
 msgid "No packages to remove from groups"
 msgstr ""
 
-#: ../cli.py:1344
+#: ../cli.py:1947 ../yumcommands.py:3351
 #, python-format
-msgid "%d Package(s) to remove"
-msgstr ""
+msgid "%d package to remove"
+msgid_plural "%d packages to remove"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:1386
+#: ../cli.py:1988
 #, python-format
 msgid "Package %s is already installed, skipping"
 msgstr ""
 
-#: ../cli.py:1397
+#: ../cli.py:1999
 #, python-format
 msgid "Discarding non-comparable pkg %s.%s"
 msgstr ""
 
 #. we've not got any installed that match n or n+a
-#: ../cli.py:1423
+#: ../cli.py:2025
 #, python-format
 msgid "No other %s installed, adding to list for potential install"
 msgstr ""
 
-#: ../cli.py:1443
+#: ../cli.py:2045
 msgid "Plugin Options"
 msgstr ""
 
-#: ../cli.py:1451
+#: ../cli.py:2057
 #, python-format
 msgid "Command line error: %s"
 msgstr ""
 
-#: ../cli.py:1467
+#: ../cli.py:2079
 #, python-format
 msgid ""
 "\n"
@@ -430,438 +509,484 @@ msgid ""
 "%s: %s option requires an argument"
 msgstr ""
 
-#: ../cli.py:1521
+#: ../cli.py:2147
 msgid "--color takes one of: auto, always, never"
 msgstr ""
 
 #. We have a relative installroot ... haha
-#: ../cli.py:1596
+#: ../cli.py:2218
 #, python-format
 msgid "--installroot must be an absolute path: %s"
 msgstr ""
 
-#: ../cli.py:1642
+#: ../cli.py:2272
 msgid "show this help message and exit"
 msgstr ""
 
-#: ../cli.py:1646
+#: ../cli.py:2276
 msgid "be tolerant of errors"
 msgstr ""
 
-#: ../cli.py:1649
+#: ../cli.py:2279
 msgid "run entirely from system cache, don't update cache"
 msgstr ""
 
-#: ../cli.py:1652
+#: ../cli.py:2282
 msgid "config file location"
 msgstr ""
 
-#: ../cli.py:1655
+#: ../cli.py:2285
 msgid "maximum command wait time"
 msgstr ""
 
-#: ../cli.py:1657
+#: ../cli.py:2287
 msgid "debugging output level"
 msgstr ""
 
-#: ../cli.py:1661
+#: ../cli.py:2291
 msgid "show duplicates, in repos, in list/search commands"
 msgstr ""
 
-#: ../cli.py:1663
+#: ../cli.py:2296
 msgid "error output level"
 msgstr ""
 
-#: ../cli.py:1666
+#: ../cli.py:2299
 msgid "debugging output level for rpm"
 msgstr ""
 
-#: ../cli.py:1669
+#: ../cli.py:2302
 msgid "quiet operation"
 msgstr ""
 
-#: ../cli.py:1671
+#: ../cli.py:2304
 msgid "verbose operation"
 msgstr ""
 
-#: ../cli.py:1673
+#: ../cli.py:2306
 msgid "answer yes for all questions"
 msgstr ""
 
-#: ../cli.py:1675
+#: ../cli.py:2308
+msgid "answer no for all questions"
+msgstr ""
+
+#: ../cli.py:2312
 msgid "show Yum version and exit"
 msgstr ""
 
-#: ../cli.py:1676
+#: ../cli.py:2313
 msgid "set install root"
 msgstr ""
 
-#: ../cli.py:1680
+#: ../cli.py:2317
 msgid "enable one or more repositories (wildcards allowed)"
 msgstr ""
 
-#: ../cli.py:1684
+#: ../cli.py:2321
 msgid "disable one or more repositories (wildcards allowed)"
 msgstr ""
 
-#: ../cli.py:1687
+#: ../cli.py:2324
 msgid "exclude package(s) by name or glob"
 msgstr ""
 
-#: ../cli.py:1689
+#: ../cli.py:2326
 msgid "disable exclude from main, for a repo or for everything"
 msgstr ""
 
-#: ../cli.py:1692
+#: ../cli.py:2329
 msgid "enable obsoletes processing during updates"
 msgstr ""
 
-#: ../cli.py:1694
+#: ../cli.py:2331
 msgid "disable Yum plugins"
 msgstr ""
 
-#: ../cli.py:1696
+#: ../cli.py:2333
 msgid "disable gpg signature checking"
 msgstr ""
 
-#: ../cli.py:1698
+#: ../cli.py:2335
 msgid "disable plugins by name"
 msgstr ""
 
-#: ../cli.py:1701
+#: ../cli.py:2338
 msgid "enable plugins by name"
 msgstr ""
 
-#: ../cli.py:1704
+#: ../cli.py:2341
 msgid "skip packages with depsolving problems"
 msgstr ""
 
-#: ../cli.py:1706
+#: ../cli.py:2343
 msgid "control whether color is used"
 msgstr ""
 
-#: ../cli.py:1708
+#: ../cli.py:2345
 msgid "set value of $releasever in yum config and repo files"
 msgstr ""
 
-#: ../cli.py:1710
+#: ../cli.py:2347
+msgid "don't update, just download"
+msgstr ""
+
+#: ../cli.py:2349
+msgid "specifies an alternate directory to store packages"
+msgstr ""
+
+#: ../cli.py:2351
 msgid "set arbitrary config and repo options"
 msgstr ""
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Jan"
 msgstr ""
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Feb"
 msgstr ""
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Mar"
 msgstr ""
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Apr"
 msgstr ""
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "May"
 msgstr ""
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Jun"
 msgstr ""
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Jul"
 msgstr ""
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Aug"
 msgstr ""
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Sep"
 msgstr ""
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Oct"
 msgstr ""
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Nov"
 msgstr ""
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Dec"
 msgstr ""
 
-#: ../output.py:318
+#: ../output.py:473
 msgid "Trying other mirror."
 msgstr ""
 
-#: ../output.py:581
+#: ../output.py:816
 #, python-format
 msgid "Name        : %s%s%s"
 msgstr ""
 
-#: ../output.py:582
+#: ../output.py:817
 #, python-format
 msgid "Arch        : %s"
 msgstr ""
 
-#: ../output.py:584
+#: ../output.py:819
 #, python-format
 msgid "Epoch       : %s"
 msgstr ""
 
-#: ../output.py:585
+#: ../output.py:820
 #, python-format
 msgid "Version     : %s"
 msgstr ""
 
-#: ../output.py:586
+#: ../output.py:821
 #, python-format
 msgid "Release     : %s"
 msgstr ""
 
-#: ../output.py:587
+#: ../output.py:822
 #, python-format
 msgid "Size        : %s"
 msgstr ""
 
-#: ../output.py:588 ../output.py:900
+#: ../output.py:823 ../output.py:1329
 #, python-format
 msgid "Repo        : %s"
 msgstr ""
 
-#: ../output.py:590
+#: ../output.py:825
 #, python-format
 msgid "From repo   : %s"
 msgstr ""
 
-#: ../output.py:592
+#: ../output.py:827
 #, python-format
 msgid "Committer   : %s"
 msgstr ""
 
-#: ../output.py:593
+#: ../output.py:828
 #, python-format
 msgid "Committime  : %s"
 msgstr ""
 
-#: ../output.py:594
+#: ../output.py:829
 #, python-format
 msgid "Buildtime   : %s"
 msgstr ""
 
-#: ../output.py:596
+#: ../output.py:831
 #, python-format
 msgid "Install time: %s"
 msgstr ""
 
-#: ../output.py:604
+#: ../output.py:839
 #, python-format
 msgid "Installed by: %s"
 msgstr ""
 
-#: ../output.py:611
+#: ../output.py:846
 #, python-format
 msgid "Changed by  : %s"
 msgstr ""
 
-#: ../output.py:612
+#: ../output.py:847
 msgid "Summary     : "
 msgstr ""
 
-#: ../output.py:614 ../output.py:913
+#: ../output.py:849 ../output.py:1345
 #, python-format
 msgid "URL         : %s"
 msgstr ""
 
-#: ../output.py:615
+#: ../output.py:850
 msgid "License     : "
 msgstr ""
 
-#: ../output.py:616 ../output.py:910
+#: ../output.py:851 ../output.py:1342
 msgid "Description : "
 msgstr ""
 
-#: ../output.py:684
+#: ../output.py:969
 msgid "y"
 msgstr ""
 
-#: ../output.py:684
+#: ../output.py:969
 msgid "yes"
 msgstr ""
 
-#: ../output.py:685
+#: ../output.py:970
 msgid "n"
 msgstr ""
 
-#: ../output.py:685
+#: ../output.py:970
 msgid "no"
 msgstr ""
 
-#: ../output.py:689
+#: ../output.py:974
 msgid "Is this ok [y/N]: "
 msgstr ""
 
-#: ../output.py:777
+#: ../output.py:1097
 #, python-format
 msgid ""
 "\n"
 "Group: %s"
 msgstr ""
 
-#: ../output.py:781
+#: ../output.py:1101
 #, python-format
 msgid " Group-Id: %s"
 msgstr ""
 
-#: ../output.py:786
+#: ../output.py:1122 ../output.py:1169
 #, python-format
 msgid " Description: %s"
 msgstr ""
 
-#: ../output.py:788
+#: ../output.py:1124
 #, python-format
 msgid " Language: %s"
 msgstr ""
 
-#: ../output.py:790
+#: ../output.py:1126
 msgid " Mandatory Packages:"
 msgstr ""
 
-#: ../output.py:791
+#: ../output.py:1127
 msgid " Default Packages:"
 msgstr ""
 
-#: ../output.py:792
+#: ../output.py:1128
 msgid " Optional Packages:"
 msgstr ""
 
-#: ../output.py:793
+#: ../output.py:1129
 msgid " Conditional Packages:"
 msgstr ""
 
-#: ../output.py:814
+#: ../output.py:1147
+msgid " Installed Packages:"
+msgstr ""
+
+#: ../output.py:1157
+#, python-format
+msgid ""
+"\n"
+"Environment Group: %s"
+msgstr ""
+
+#: ../output.py:1158
+#, python-format
+msgid " Environment-Id: %s"
+msgstr ""
+
+#: ../output.py:1191
+msgid " Mandatory Groups:"
+msgstr ""
+
+#: ../output.py:1192
+msgid " Optional Groups:"
+msgstr ""
+
+#: ../output.py:1205
+msgid " Installed Groups:"
+msgstr ""
+
+#: ../output.py:1217
 #, python-format
 msgid "package: %s"
 msgstr ""
 
-#: ../output.py:816
+#: ../output.py:1219
 msgid "  No dependencies for this package"
 msgstr ""
 
-#: ../output.py:821
+#: ../output.py:1224
 #, python-format
 msgid "  dependency: %s"
 msgstr ""
 
-#: ../output.py:823
+#: ../output.py:1226
 msgid "   Unsatisfied dependency"
 msgstr ""
 
-#: ../output.py:901
+#: ../output.py:1337
 msgid "Matched from:"
 msgstr ""
 
-#: ../output.py:916
+#: ../output.py:1348
 #, python-format
 msgid "License     : %s"
 msgstr ""
 
-#: ../output.py:919
+#: ../output.py:1351
 #, python-format
 msgid "Filename    : %s"
 msgstr ""
 
-#: ../output.py:923
+#: ../output.py:1360
+msgid "Provides    : "
+msgstr ""
+
+#: ../output.py:1363
 msgid "Other       : "
 msgstr ""
 
-#: ../output.py:966
+#: ../output.py:1426
 msgid "There was an error calculating total download size"
 msgstr ""
 
-#: ../output.py:971
+#: ../output.py:1431
 #, python-format
 msgid "Total size: %s"
 msgstr ""
 
-#: ../output.py:974
+#: ../output.py:1433
 #, python-format
 msgid "Total download size: %s"
 msgstr ""
 
-#: ../output.py:978 ../output.py:998
+#: ../output.py:1436 ../output.py:1459 ../output.py:1463
 #, python-format
 msgid "Installed size: %s"
 msgstr ""
 
-#: ../output.py:994
+#: ../output.py:1454
 msgid "There was an error calculating installed size"
 msgstr ""
 
-#: ../output.py:1039
+#: ../output.py:1504
 msgid "Reinstalling"
 msgstr ""
 
-#: ../output.py:1040
+#: ../output.py:1505
 msgid "Downgrading"
 msgstr ""
 
-#: ../output.py:1041
+#: ../output.py:1506
 msgid "Installing for dependencies"
 msgstr ""
 
-#: ../output.py:1042
+#: ../output.py:1507
 msgid "Updating for dependencies"
 msgstr ""
 
-#: ../output.py:1043
+#: ../output.py:1508
 msgid "Removing for dependencies"
 msgstr ""
 
-#: ../output.py:1050 ../output.py:1171
+#: ../output.py:1515 ../output.py:1576 ../output.py:1672
 msgid "Skipped (dependency problems)"
 msgstr ""
 
-#: ../output.py:1052 ../output.py:1687
+#: ../output.py:1517 ../output.py:1577 ../output.py:2223
 msgid "Not installed"
 msgstr ""
 
-#: ../output.py:1053
+#: ../output.py:1518 ../output.py:1578
 msgid "Not available"
 msgstr ""
 
-#: ../output.py:1075 ../output.py:2024
+#: ../output.py:1540 ../output.py:1588 ../output.py:1604 ../output.py:2581
 msgid "Package"
-msgstr ""
+msgid_plural "Packages"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../output.py:1075
+#: ../output.py:1540
 msgid "Arch"
 msgstr ""
 
-#: ../output.py:1076
+#: ../output.py:1541
 msgid "Version"
 msgstr ""
 
-#: ../output.py:1076
+#: ../output.py:1541
 msgid "Repository"
 msgstr ""
 
-#: ../output.py:1077
+#: ../output.py:1542
 msgid "Size"
 msgstr ""
 
-#: ../output.py:1089
+#: ../output.py:1554
 #, python-format
 msgid "     replacing  %s%s%s.%s %s\n"
 msgstr ""
 
-#: ../output.py:1098
+#: ../output.py:1563
 #, python-format
 msgid ""
 "\n"
@@ -869,65 +994,66 @@ msgid ""
 "%s\n"
 msgstr ""
 
-#: ../output.py:1109
-#, python-format
-msgid "Install   %5.5s Package(s)\n"
+#: ../output.py:1568 ../output.py:2376 ../output.py:2377
+msgid "Install"
 msgstr ""
 
-#: ../output.py:1113
-#, python-format
-msgid "Upgrade   %5.5s Package(s)\n"
+#: ../output.py:1570
+msgid "Upgrade"
 msgstr ""
 
-#: ../output.py:1117
-#, python-format
-msgid "Remove    %5.5s Package(s)\n"
+#: ../output.py:1572
+msgid "Remove"
 msgstr ""
 
-#: ../output.py:1121
-#, python-format
-msgid "Reinstall %5.5s Package(s)\n"
+#: ../output.py:1574 ../output.py:2382
+msgid "Reinstall"
 msgstr ""
 
-#: ../output.py:1125
-#, python-format
-msgid "Downgrade %5.5s Package(s)\n"
+#: ../output.py:1575 ../output.py:2383
+msgid "Downgrade"
 msgstr ""
 
-#: ../output.py:1165
+#: ../output.py:1606
+msgid "Dependent package"
+msgid_plural "Dependent packages"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../output.py:1666
 msgid "Removed"
 msgstr ""
 
-#: ../output.py:1166
+#: ../output.py:1667
 msgid "Dependency Removed"
 msgstr ""
 
-#: ../output.py:1168
+#: ../output.py:1669
 msgid "Dependency Installed"
 msgstr ""
 
-#: ../output.py:1170
+#: ../output.py:1671
 msgid "Dependency Updated"
 msgstr ""
 
-#: ../output.py:1172
+#: ../output.py:1673
 msgid "Replaced"
 msgstr ""
 
-#: ../output.py:1173
+#: ../output.py:1674
 msgid "Failed"
 msgstr ""
 
 #. Delta between C-c's so we treat as exit
-#: ../output.py:1260
+#: ../output.py:1764
 msgid "two"
 msgstr ""
 
 #. For translators: This is output like:
 #. Current download cancelled, interrupt (ctrl-c) again within two seconds
 #. to exit.
-#. Where "interupt (ctrl-c) again" and "two" are highlighted.
-#: ../output.py:1271
+#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
+#: ../output.py:1775
 #, python-format
 msgid ""
 "\n"
@@ -935,484 +1061,542 @@ msgid ""
 "to exit.\n"
 msgstr ""
 
-#: ../output.py:1282
+#: ../output.py:1786
 msgid "user interrupt"
 msgstr ""
 
-#: ../output.py:1300
+#: ../output.py:1812
 msgid "Total"
 msgstr ""
 
-#: ../output.py:1322
+#: ../output.py:1834
 msgid "I"
 msgstr ""
 
-#: ../output.py:1323
+#: ../output.py:1835
 msgid "O"
 msgstr ""
 
-#: ../output.py:1324
+#: ../output.py:1836
 msgid "E"
 msgstr ""
 
-#: ../output.py:1325
+#: ../output.py:1837
 msgid "R"
 msgstr ""
 
-#: ../output.py:1326
+#: ../output.py:1838
 msgid "D"
 msgstr ""
 
-#: ../output.py:1327
+#: ../output.py:1839
 msgid "U"
 msgstr ""
 
-#: ../output.py:1341
+#: ../output.py:1853
 msgid "<unset>"
 msgstr ""
 
-#: ../output.py:1342
+#: ../output.py:1854
 msgid "System"
 msgstr ""
 
-#: ../output.py:1411
+#: ../output.py:1923
 #, python-format
 msgid "Skipping merged transaction %d to %d, as it overlaps"
 msgstr ""
 
-#: ../output.py:1421 ../output.py:1592
+#: ../output.py:1933 ../output.py:2125
 msgid "No transactions"
 msgstr ""
 
-#: ../output.py:1446 ../output.py:2013
+#: ../output.py:1958 ../output.py:2570 ../output.py:2660
 msgid "Bad transaction IDs, or package(s), given"
 msgstr ""
 
-#: ../output.py:1484
+#: ../output.py:2007
 msgid "Command line"
 msgstr ""
 
-#: ../output.py:1486 ../output.py:1908
+#: ../output.py:2009 ../output.py:2458
 msgid "Login user"
 msgstr ""
 
 #. REALLY Needs to use columns!
-#: ../output.py:1487 ../output.py:2022
+#: ../output.py:2010 ../output.py:2579
 msgid "ID"
 msgstr ""
 
-#: ../output.py:1489
+#: ../output.py:2012
 msgid "Date and time"
 msgstr ""
 
-#: ../output.py:1490 ../output.py:1910 ../output.py:2023
+#: ../output.py:2013 ../output.py:2460 ../output.py:2580
 msgid "Action(s)"
 msgstr ""
 
-#: ../output.py:1491 ../output.py:1911
+#: ../output.py:2014 ../output.py:2461
 msgid "Altered"
 msgstr ""
 
-#: ../output.py:1538
+#: ../output.py:2061
 msgid "No transaction ID given"
 msgstr ""
 
-#: ../output.py:1564 ../output.py:1972
+#: ../output.py:2087 ../output.py:2526
 msgid "Bad transaction ID given"
 msgstr ""
 
-#: ../output.py:1569
+#: ../output.py:2092
 msgid "Not found given transaction ID"
 msgstr ""
 
-#: ../output.py:1577
+#: ../output.py:2100
 msgid "Found more than one transaction ID!"
 msgstr ""
 
-#: ../output.py:1618 ../output.py:1980
+#: ../output.py:2151 ../output.py:2534
 msgid "No transaction ID, or package, given"
 msgstr ""
 
-#: ../output.py:1686 ../output.py:1845
+#: ../output.py:2222 ../output.py:2384
 msgid "Downgraded"
 msgstr ""
 
-#: ../output.py:1688
+#: ../output.py:2224
 msgid "Older"
 msgstr ""
 
-#: ../output.py:1688
+#: ../output.py:2224
 msgid "Newer"
 msgstr ""
 
-#: ../output.py:1724 ../output.py:1726
+#: ../output.py:2261 ../output.py:2263 ../output.py:2681
 msgid "Transaction ID :"
 msgstr ""
 
-#: ../output.py:1728
+#: ../output.py:2265 ../output.py:2683
 msgid "Begin time     :"
 msgstr ""
 
-#: ../output.py:1731 ../output.py:1733
+#: ../output.py:2268 ../output.py:2270
 msgid "Begin rpmdb    :"
 msgstr ""
 
-#: ../output.py:1749
+#: ../output.py:2286
 #, python-format
 msgid "(%u seconds)"
 msgstr ""
 
-#: ../output.py:1751
+#: ../output.py:2288
 #, python-format
 msgid "(%u minutes)"
 msgstr ""
 
-#: ../output.py:1753
+#: ../output.py:2290
 #, python-format
 msgid "(%u hours)"
 msgstr ""
 
-#: ../output.py:1755
+#: ../output.py:2292
 #, python-format
 msgid "(%u days)"
 msgstr ""
 
-#: ../output.py:1756
+#: ../output.py:2293
 msgid "End time       :"
 msgstr ""
 
-#: ../output.py:1759 ../output.py:1761
+#: ../output.py:2296 ../output.py:2298
 msgid "End rpmdb      :"
 msgstr ""
 
-#: ../output.py:1764 ../output.py:1766
+#: ../output.py:2301 ../output.py:2303
 msgid "User           :"
 msgstr ""
 
-#: ../output.py:1770 ../output.py:1773 ../output.py:1775 ../output.py:1777
-#: ../output.py:1779
+#: ../output.py:2307 ../output.py:2310 ../output.py:2312 ../output.py:2314
+#: ../output.py:2316
 msgid "Return-Code    :"
 msgstr ""
 
-#: ../output.py:1770 ../output.py:1775
+#: ../output.py:2307 ../output.py:2312
 msgid "Aborted"
 msgstr ""
 
-#: ../output.py:1773
+#: ../output.py:2310
 msgid "Failures:"
 msgstr ""
 
-#: ../output.py:1777
+#: ../output.py:2314
 msgid "Failure:"
 msgstr ""
 
-#: ../output.py:1779
+#: ../output.py:2316
 msgid "Success"
 msgstr ""
 
-#: ../output.py:1784 ../output.py:1786
+#: ../output.py:2321 ../output.py:2323 ../output.py:2712
 msgid "Command Line   :"
 msgstr ""
 
-#: ../output.py:1795
+#: ../output.py:2332
 #, python-format
 msgid "Additional non-default information stored: %d"
 msgstr ""
 
 #. This is _possible_, but not common
-#: ../output.py:1800
+#: ../output.py:2337
 msgid "Transaction performed with:"
 msgstr ""
 
-#: ../output.py:1804
+#: ../output.py:2341
 msgid "Packages Altered:"
 msgstr ""
 
-#: ../output.py:1808
+#: ../output.py:2345
 msgid "Packages Skipped:"
 msgstr ""
 
-#: ../output.py:1814
+#: ../output.py:2353
 msgid "Rpmdb Problems:"
 msgstr ""
 
-#: ../output.py:1825
+#: ../output.py:2364
 msgid "Scriptlet output:"
 msgstr ""
 
-#: ../output.py:1831
+#: ../output.py:2370
 msgid "Errors:"
 msgstr ""
 
-#: ../output.py:1837 ../output.py:1838
-msgid "Install"
-msgstr ""
-
-#: ../output.py:1839
+#: ../output.py:2378
 msgid "Dep-Install"
 msgstr ""
 
-#: ../output.py:1841
+#: ../output.py:2380
 msgid "Obsoleting"
 msgstr ""
 
-#: ../output.py:1842
+#: ../output.py:2381
 msgid "Erase"
 msgstr ""
 
-#: ../output.py:1843
-msgid "Reinstall"
-msgstr ""
-
-#: ../output.py:1844
-msgid "Downgrade"
-msgstr ""
-
-#: ../output.py:1846
+#: ../output.py:2385
 msgid "Update"
 msgstr ""
 
-#: ../output.py:1909
+#: ../output.py:2459
 msgid "Time"
 msgstr ""
 
-#: ../output.py:1935
+#: ../output.py:2485
 msgid "Last day"
 msgstr ""
 
-#: ../output.py:1936
+#: ../output.py:2486
 msgid "Last week"
 msgstr ""
 
-#: ../output.py:1937
+#: ../output.py:2487
 msgid "Last 2 weeks"
 msgstr ""
 
 #. US default :p
-#: ../output.py:1938
+#: ../output.py:2488
 msgid "Last 3 months"
 msgstr ""
 
-#: ../output.py:1939
+#: ../output.py:2489
 msgid "Last 6 months"
 msgstr ""
 
-#: ../output.py:1940
+#: ../output.py:2490
 msgid "Last year"
 msgstr ""
 
-#: ../output.py:1941
+#: ../output.py:2491
 msgid "Over a year ago"
 msgstr ""
 
-#: ../output.py:1984
+#: ../output.py:2538
 #, python-format
 msgid "No Transaction %s found"
 msgstr ""
 
-#: ../output.py:1990
+#: ../output.py:2544
 msgid "Transaction ID:"
 msgstr ""
 
-#: ../output.py:1991
+#: ../output.py:2545
 msgid "Available additional history information:"
 msgstr ""
 
-#: ../output.py:2003
+#: ../output.py:2558
 #, python-format
 msgid "%s: No additional data found by this name"
 msgstr ""
 
-#: ../output.py:2106
+#: ../output.py:2684
+msgid "Package        :"
+msgstr ""
+
+#: ../output.py:2685
+msgid "State          :"
+msgstr ""
+
+#: ../output.py:2688
+msgid "Size           :"
+msgstr ""
+
+#: ../output.py:2690
+msgid "Build host     :"
+msgstr ""
+
+#: ../output.py:2693
+msgid "Build time     :"
+msgstr ""
+
+#: ../output.py:2695
+msgid "Packager       :"
+msgstr ""
+
+#: ../output.py:2697
+msgid "Vendor         :"
+msgstr ""
+
+#: ../output.py:2699
+msgid "License        :"
+msgstr ""
+
+#: ../output.py:2701
+msgid "URL            :"
+msgstr ""
+
+#: ../output.py:2703
+msgid "Source RPM     :"
+msgstr ""
+
+#: ../output.py:2706
+msgid "Commit Time    :"
+msgstr ""
+
+#: ../output.py:2708
+msgid "Committer      :"
+msgstr ""
+
+#: ../output.py:2710
+msgid "Reason         :"
+msgstr ""
+
+#: ../output.py:2714
+msgid "From repo      :"
+msgstr ""
+
+#: ../output.py:2718
+msgid "Installed by   :"
+msgstr ""
+
+#: ../output.py:2722
+msgid "Changed by     :"
+msgstr ""
+
+#: ../output.py:2767
 msgid "installed"
 msgstr ""
 
-#: ../output.py:2107
+#: ../output.py:2768
 msgid "an update"
 msgstr ""
 
-#: ../output.py:2108
+#: ../output.py:2769
 msgid "erased"
 msgstr ""
 
-#: ../output.py:2109
+#: ../output.py:2770
 msgid "reinstalled"
 msgstr ""
 
-#: ../output.py:2110
+#: ../output.py:2771
 msgid "a downgrade"
 msgstr ""
 
-#: ../output.py:2111
+#: ../output.py:2772
 msgid "obsoleting"
 msgstr ""
 
-#: ../output.py:2112
+#: ../output.py:2773
 msgid "updated"
 msgstr ""
 
-#: ../output.py:2113
+#: ../output.py:2774
 msgid "obsoleted"
 msgstr ""
 
-#: ../output.py:2117
+#: ../output.py:2778
 #, python-format
 msgid "---> Package %s.%s %s:%s-%s will be %s"
 msgstr ""
 
-#: ../output.py:2124
+#: ../output.py:2789
 msgid "--> Running transaction check"
 msgstr ""
 
-#: ../output.py:2129
+#: ../output.py:2795
 msgid "--> Restarting Dependency Resolution with new changes."
 msgstr ""
 
-#: ../output.py:2134
+#: ../output.py:2801
 msgid "--> Finished Dependency Resolution"
 msgstr ""
 
-#: ../output.py:2139 ../output.py:2144
+#: ../output.py:2814 ../output.py:2827
 #, python-format
 msgid "--> Processing Dependency: %s for package: %s"
 msgstr ""
 
-#: ../output.py:2149
+#: ../output.py:2841
 #, python-format
-msgid "---> Keeping package: %s"
+msgid "---> Keeping package: %s due to %s"
 msgstr ""
 
-#: ../output.py:2152
+#: ../output.py:2850
 #, python-format
 msgid "--> Unresolved Dependency: %s"
 msgstr ""
 
-#: ../output.py:2163
+#: ../output.py:2867
 #, python-format
 msgid "Package: %s"
 msgstr ""
 
-#: ../output.py:2165
+#: ../output.py:2869
 #, python-format
 msgid ""
 "\n"
 "    Requires: %s"
 msgstr ""
 
-#: ../output.py:2174
+#: ../output.py:2878
 #, python-format
 msgid ""
 "\n"
 "    %s: %s (%s)"
 msgstr ""
 
-#: ../output.py:2179
+#: ../output.py:2883
 #, python-format
 msgid ""
 "\n"
 "        %s"
 msgstr ""
 
-#: ../output.py:2181
+#: ../output.py:2885
 msgid ""
 "\n"
 "        Not found"
 msgstr ""
 
 #. These should be the only three things we care about:
-#: ../output.py:2196
+#: ../output.py:2900
 msgid "Updated By"
 msgstr ""
 
-#: ../output.py:2197
+#: ../output.py:2901
 msgid "Downgraded By"
 msgstr ""
 
-#: ../output.py:2198
+#: ../output.py:2902
 msgid "Obsoleted By"
 msgstr ""
 
-#: ../output.py:2216
+#: ../output.py:2920
 msgid "Available"
 msgstr ""
 
-#: ../output.py:2243 ../output.py:2248
+#: ../output.py:2955 ../output.py:2968
 #, python-format
 msgid "--> Processing Conflict: %s conflicts %s"
 msgstr ""
 
-#: ../output.py:2252
+#: ../output.py:2974
 msgid "--> Populating transaction set with selected packages. Please wait."
 msgstr ""
 
-#: ../output.py:2256
+#: ../output.py:2983
 #, python-format
 msgid "---> Downloading header for %s to pack into transaction set."
 msgstr ""
 
-#: ../utils.py:99
+#. self.event(txmbr.name, count, len(base.tsInfo), count, )
+#. (te_current*100L)/te_total
+#: ../output.py:3248
+msgid "Verifying"
+msgstr ""
+
+#: ../utils.py:123
 msgid "Running"
 msgstr ""
 
-#: ../utils.py:100
+#: ../utils.py:124
 msgid "Sleeping"
 msgstr ""
 
-#: ../utils.py:101
+#: ../utils.py:125
 msgid "Uninterruptible"
 msgstr ""
 
-#: ../utils.py:102
+#: ../utils.py:126
 msgid "Zombie"
 msgstr ""
 
-#: ../utils.py:103
+#: ../utils.py:127
 msgid "Traced/Stopped"
 msgstr ""
 
-#: ../utils.py:104 ../yumcommands.py:994
+#: ../utils.py:128 ../yumcommands.py:2193
 msgid "Unknown"
 msgstr ""
 
-#: ../utils.py:115
+#: ../utils.py:153
 msgid "  The other application is: PackageKit"
 msgstr ""
 
-#: ../utils.py:117
+#: ../utils.py:155
 #, python-format
 msgid "  The other application is: %s"
 msgstr ""
 
-#: ../utils.py:120
+#: ../utils.py:158
 #, python-format
 msgid "    Memory : %5s RSS (%5sB VSZ)"
 msgstr ""
 
-#: ../utils.py:125
+#: ../utils.py:163
 #, python-format
 msgid "    Started: %s - %s ago"
 msgstr ""
 
-#: ../utils.py:127
+#: ../utils.py:165
 #, python-format
 msgid "    State  : %s, pid: %d"
 msgstr ""
 
-#: ../utils.py:170 ../yummain.py:43
+#: ../utils.py:194 ../yummain.py:43
 msgid ""
 "\n"
 "\n"
 "Exiting on user cancel"
 msgstr ""
 
-#: ../utils.py:176 ../yummain.py:49
+#: ../utils.py:206 ../yummain.py:49
 msgid ""
 "\n"
 "\n"
 "Exiting on Broken Pipe"
 msgstr ""
 
-#: ../utils.py:178 ../yummain.py:51
+#: ../utils.py:208 ../yummain.py:51
 #, python-format
 msgid ""
 "\n"
@@ -1420,47 +1604,41 @@ msgid ""
 "%s"
 msgstr ""
 
-#: ../utils.py:228 ../yummain.py:123
-msgid ""
-"Another app is currently holding the yum lock; exiting as configured by "
-"exit_on_lock"
-msgstr ""
-
-#: ../utils.py:287
+#: ../utils.py:326
 #, python-format
 msgid "PluginExit Error: %s"
 msgstr ""
 
-#: ../utils.py:290
+#: ../utils.py:329
 #, python-format
 msgid "Yum Error: %s"
 msgstr ""
 
-#: ../utils.py:342 ../yummain.py:150 ../yummain.py:189
+#: ../utils.py:387 ../yummain.py:147 ../yummain.py:186
 #, python-format
 msgid "Error: %s"
 msgstr ""
 
-#: ../utils.py:346 ../yummain.py:194
+#: ../utils.py:391 ../yummain.py:191
 msgid " You could try using --skip-broken to work around the problem"
 msgstr ""
 
-#: ../utils.py:348 ../yummain.py:87
+#: ../utils.py:393 ../yummain.py:87
 msgid " You could try running: rpm -Va --nofiles --nodigest"
 msgstr ""
 
-#: ../utils.py:355 ../yummain.py:160 ../yummain.py:202
+#: ../utils.py:400 ../yummain.py:157 ../yummain.py:199
 #, python-format
 msgid "Unknown Error(s): Exit Code: %d:"
 msgstr ""
 
-#: ../utils.py:361 ../yummain.py:208
+#: ../utils.py:406 ../yummain.py:205
 msgid ""
 "\n"
 "Dependencies Resolved"
 msgstr ""
 
-#: ../utils.py:376 ../yummain.py:234
+#: ../utils.py:422 ../yummain.py:237
 msgid "Complete!"
 msgstr ""
 
@@ -1472,7 +1650,7 @@ msgstr ""
 msgid "You need to be root to perform this command."
 msgstr ""
 
-#: ../yumcommands.py:59
+#: ../yumcommands.py:67
 msgid ""
 "\n"
 "You have enabled checking of packages via GPG keys. This is a good thing. \n"
@@ -1489,555 +1667,648 @@ msgid ""
 "For more information contact your distribution or package provider.\n"
 msgstr ""
 
-#: ../yumcommands.py:74
+#: ../yumcommands.py:82
 #, python-format
 msgid "Problem repository: %s"
 msgstr ""
 
-#: ../yumcommands.py:80
+#: ../yumcommands.py:96
 #, python-format
 msgid "Error: Need to pass a list of pkgs to %s"
 msgstr ""
 
-#: ../yumcommands.py:86
+#: ../yumcommands.py:114
+#, python-format
+msgid "Error: Need at least two packages to %s"
+msgstr ""
+
+#: ../yumcommands.py:129
+#, python-format
+msgid "Error: Need to pass a repoid. and command to %s"
+msgstr ""
+
+#: ../yumcommands.py:136 ../yumcommands.py:142
+#, python-format
+msgid "Error: Need to pass a single valid repoid. to %s"
+msgstr ""
+
+#: ../yumcommands.py:147
+#, python-format
+msgid "Error: Repo %s is not enabled"
+msgstr ""
+
+#: ../yumcommands.py:164
 msgid "Error: Need an item to match"
 msgstr ""
 
-#: ../yumcommands.py:92
+#: ../yumcommands.py:178
 msgid "Error: Need a group or list of groups"
 msgstr ""
 
-#: ../yumcommands.py:101
+#: ../yumcommands.py:195
 #, python-format
 msgid "Error: clean requires an option: %s"
 msgstr ""
 
-#: ../yumcommands.py:106
+#: ../yumcommands.py:201
 #, python-format
 msgid "Error: invalid clean argument: %r"
 msgstr ""
 
-#: ../yumcommands.py:119
+#: ../yumcommands.py:216
 msgid "No argument to shell"
 msgstr ""
 
-#: ../yumcommands.py:121
+#: ../yumcommands.py:218
 #, python-format
 msgid "Filename passed to shell: %s"
 msgstr ""
 
-#: ../yumcommands.py:125
+#: ../yumcommands.py:222
 #, python-format
 msgid "File %s given as argument to shell does not exist."
 msgstr ""
 
-#: ../yumcommands.py:131
+#: ../yumcommands.py:228
 msgid "Error: more than one file given as argument to shell."
 msgstr ""
 
-#: ../yumcommands.py:148
+#: ../yumcommands.py:247
 msgid ""
 "There are no enabled repos.\n"
 " Run \"yum repolist all\" to see the repos you have.\n"
 " You can enable repos with yum-config-manager --enable <repo>"
 msgstr ""
 
-#: ../yumcommands.py:200
+#: ../yumcommands.py:383
 msgid "PACKAGE..."
 msgstr ""
 
-#: ../yumcommands.py:203
+#: ../yumcommands.py:390
 msgid "Install a package or packages on your system"
 msgstr ""
 
-#: ../yumcommands.py:212
+#: ../yumcommands.py:421
 msgid "Setting up Install Process"
 msgstr ""
 
-#: ../yumcommands.py:223 ../yumcommands.py:245
+#: ../yumcommands.py:447 ../yumcommands.py:507
 msgid "[PACKAGE...]"
 msgstr ""
 
-#: ../yumcommands.py:226
+#: ../yumcommands.py:454
 msgid "Update a package or packages on your system"
 msgstr ""
 
-#: ../yumcommands.py:234
+#: ../yumcommands.py:483
 msgid "Setting up Update Process"
 msgstr ""
 
-#: ../yumcommands.py:248
+#: ../yumcommands.py:514
 msgid "Synchronize installed packages to the latest available versions"
 msgstr ""
 
-#: ../yumcommands.py:256
+#: ../yumcommands.py:543
 msgid "Setting up Distribution Synchronization Process"
 msgstr ""
 
-#: ../yumcommands.py:299
+#: ../yumcommands.py:603
 msgid "Display details about a package or group of packages"
 msgstr ""
 
-#: ../yumcommands.py:348
+#: ../yumcommands.py:672
 msgid "Installed Packages"
 msgstr ""
 
-#: ../yumcommands.py:356
+#: ../yumcommands.py:682
 msgid "Available Packages"
 msgstr ""
 
-#: ../yumcommands.py:360
+#: ../yumcommands.py:687
 msgid "Extra Packages"
 msgstr ""
 
-#: ../yumcommands.py:364
+#: ../yumcommands.py:691
 msgid "Updated Packages"
 msgstr ""
 
 #. This only happens in verbose mode
-#: ../yumcommands.py:372 ../yumcommands.py:379 ../yumcommands.py:667
+#: ../yumcommands.py:699 ../yumcommands.py:706 ../yumcommands.py:1539
 msgid "Obsoleting Packages"
 msgstr ""
 
-#: ../yumcommands.py:381
+#: ../yumcommands.py:708
 msgid "Recently Added Packages"
 msgstr ""
 
-#: ../yumcommands.py:388
+#: ../yumcommands.py:715
 msgid "No matching Packages to list"
 msgstr ""
 
-#: ../yumcommands.py:402
+#: ../yumcommands.py:766
 msgid "List a package or groups of packages"
 msgstr ""
 
-#: ../yumcommands.py:414
+#: ../yumcommands.py:797
 msgid "Remove a package or packages from your system"
 msgstr ""
 
-#: ../yumcommands.py:421
+#: ../yumcommands.py:845
 msgid "Setting up Remove Process"
 msgstr ""
 
-#: ../yumcommands.py:435
-msgid "Setting up Group Process"
+#: ../yumcommands.py:906
+msgid "Display, or use, the groups information"
 msgstr ""
 
-#: ../yumcommands.py:441
-msgid "No Groups on which to run command"
+#: ../yumcommands.py:909
+msgid "Setting up Group Process"
 msgstr ""
 
-#: ../yumcommands.py:454
-msgid "List available package groups"
+#: ../yumcommands.py:915
+msgid "No Groups on which to run command"
 msgstr ""
 
-#: ../yumcommands.py:474
-msgid "Install the packages in a group on your system"
+#: ../yumcommands.py:985
+#, python-format
+msgid "Invalid groups sub-command, use: %s."
 msgstr ""
 
-#: ../yumcommands.py:497
-msgid "Remove the packages in a group from your system"
+#: ../yumcommands.py:992
+msgid "There is no installed groups file."
 msgstr ""
 
-#: ../yumcommands.py:525
-msgid "Display details about a package group"
+#: ../yumcommands.py:994
+msgid "You don't have access to the groups DB."
 msgstr ""
 
-#: ../yumcommands.py:550
+#: ../yumcommands.py:1256
 msgid "Generate the metadata cache"
 msgstr ""
 
-#: ../yumcommands.py:556
+#: ../yumcommands.py:1282
 msgid "Making cache files for all metadata files."
 msgstr ""
 
-#: ../yumcommands.py:557
+#: ../yumcommands.py:1283
 msgid "This may take a while depending on the speed of this computer"
 msgstr ""
 
-#: ../yumcommands.py:578
+#: ../yumcommands.py:1312
 msgid "Metadata Cache Created"
 msgstr ""
 
-#: ../yumcommands.py:592
+#: ../yumcommands.py:1350
 msgid "Remove cached data"
 msgstr ""
 
-#: ../yumcommands.py:613
+#: ../yumcommands.py:1417
 msgid "Find what package provides the given value"
 msgstr ""
 
-#: ../yumcommands.py:633
+#: ../yumcommands.py:1485
 msgid "Check for available package updates"
 msgstr ""
 
-#: ../yumcommands.py:687
+#: ../yumcommands.py:1587
 msgid "Search package details for the given string"
 msgstr ""
 
-#: ../yumcommands.py:693
+#: ../yumcommands.py:1613
 msgid "Searching Packages: "
 msgstr ""
 
-#: ../yumcommands.py:710
+#: ../yumcommands.py:1666
 msgid "Update packages taking obsoletes into account"
 msgstr ""
 
-#: ../yumcommands.py:719
+#: ../yumcommands.py:1696
 msgid "Setting up Upgrade Process"
 msgstr ""
 
-#: ../yumcommands.py:737
+#: ../yumcommands.py:1731
 msgid "Install a local RPM"
 msgstr ""
 
-#: ../yumcommands.py:745
+#: ../yumcommands.py:1761
 msgid "Setting up Local Package Process"
 msgstr ""
 
-#: ../yumcommands.py:764
-msgid "Determine which package provides the given dependency"
-msgstr ""
-
-#: ../yumcommands.py:767
+#: ../yumcommands.py:1825
 msgid "Searching Packages for Dependency:"
 msgstr ""
 
-#: ../yumcommands.py:781
+#: ../yumcommands.py:1867
 msgid "Run an interactive yum shell"
 msgstr ""
 
-#: ../yumcommands.py:787
+#: ../yumcommands.py:1893
 msgid "Setting up Yum Shell"
 msgstr ""
 
-#: ../yumcommands.py:805
+#: ../yumcommands.py:1936
 msgid "List a package's dependencies"
 msgstr ""
 
-#: ../yumcommands.py:811
+#: ../yumcommands.py:1963
 msgid "Finding dependencies: "
 msgstr ""
 
-#: ../yumcommands.py:827
+#: ../yumcommands.py:2005
 msgid "Display the configured software repositories"
 msgstr ""
 
-#: ../yumcommands.py:893 ../yumcommands.py:894
+#: ../yumcommands.py:2094 ../yumcommands.py:2095
 msgid "enabled"
 msgstr ""
 
-#: ../yumcommands.py:920 ../yumcommands.py:921
+#: ../yumcommands.py:2121 ../yumcommands.py:2122
 msgid "disabled"
 msgstr ""
 
-#: ../yumcommands.py:937
+#: ../yumcommands.py:2137
 msgid "Repo-id      : "
 msgstr ""
 
-#: ../yumcommands.py:938
+#: ../yumcommands.py:2138
 msgid "Repo-name    : "
 msgstr ""
 
-#: ../yumcommands.py:941
+#: ../yumcommands.py:2141
 msgid "Repo-status  : "
 msgstr ""
 
-#: ../yumcommands.py:944
+#: ../yumcommands.py:2144
 msgid "Repo-revision: "
 msgstr ""
 
-#: ../yumcommands.py:948
+#: ../yumcommands.py:2148
 msgid "Repo-tags    : "
 msgstr ""
 
-#: ../yumcommands.py:954
+#: ../yumcommands.py:2154
 msgid "Repo-distro-tags: "
 msgstr ""
 
-#: ../yumcommands.py:959
+#: ../yumcommands.py:2159
 msgid "Repo-updated : "
 msgstr ""
 
-#: ../yumcommands.py:961
+#: ../yumcommands.py:2161
 msgid "Repo-pkgs    : "
 msgstr ""
 
-#: ../yumcommands.py:962
+#: ../yumcommands.py:2162
 msgid "Repo-size    : "
 msgstr ""
 
-#: ../yumcommands.py:969 ../yumcommands.py:990
+#: ../yumcommands.py:2169 ../yumcommands.py:2190
 msgid "Repo-baseurl : "
 msgstr ""
 
-#: ../yumcommands.py:977
+#: ../yumcommands.py:2177
 msgid "Repo-metalink: "
 msgstr ""
 
-#: ../yumcommands.py:981
+#: ../yumcommands.py:2181
 msgid "  Updated    : "
 msgstr ""
 
-#: ../yumcommands.py:984
+#: ../yumcommands.py:2184
 msgid "Repo-mirrors : "
 msgstr ""
 
-#: ../yumcommands.py:1000
+#: ../yumcommands.py:2199
 #, python-format
 msgid "Never (last: %s)"
 msgstr ""
 
-#: ../yumcommands.py:1002
+#: ../yumcommands.py:2201
 #, python-format
 msgid "Instant (last: %s)"
 msgstr ""
 
-#: ../yumcommands.py:1005
+#: ../yumcommands.py:2204
 #, python-format
 msgid "%s second(s) (last: %s)"
 msgstr ""
 
-#: ../yumcommands.py:1007
+#: ../yumcommands.py:2206
 msgid "Repo-expire  : "
 msgstr ""
 
-#: ../yumcommands.py:1010
+#: ../yumcommands.py:2209
 msgid "Repo-exclude : "
 msgstr ""
 
-#: ../yumcommands.py:1014
+#: ../yumcommands.py:2213
 msgid "Repo-include : "
 msgstr ""
 
-#: ../yumcommands.py:1018
+#: ../yumcommands.py:2217
 msgid "Repo-excluded: "
 msgstr ""
 
-#: ../yumcommands.py:1022
+#: ../yumcommands.py:2221
 msgid "Repo-filename: "
 msgstr ""
 
 #. Work out the first (id) and last (enabled/disalbed/count),
 #. then chop the middle (name)...
-#: ../yumcommands.py:1032 ../yumcommands.py:1061
+#: ../yumcommands.py:2230 ../yumcommands.py:2259
 msgid "repo id"
 msgstr ""
 
-#: ../yumcommands.py:1049 ../yumcommands.py:1050 ../yumcommands.py:1068
+#: ../yumcommands.py:2247 ../yumcommands.py:2248 ../yumcommands.py:2266
 msgid "status"
 msgstr ""
 
-#: ../yumcommands.py:1062
+#: ../yumcommands.py:2260
 msgid "repo name"
 msgstr ""
 
-#: ../yumcommands.py:1099
+#: ../yumcommands.py:2332
 msgid "Display a helpful usage message"
 msgstr ""
 
-#: ../yumcommands.py:1133
+#: ../yumcommands.py:2374
 #, python-format
 msgid "No help available for %s"
 msgstr ""
 
-#: ../yumcommands.py:1138
+#: ../yumcommands.py:2379
 msgid ""
 "\n"
 "\n"
 "aliases: "
 msgstr ""
 
-#: ../yumcommands.py:1140
+#: ../yumcommands.py:2381
 msgid ""
 "\n"
 "\n"
 "alias: "
 msgstr ""
 
-#: ../yumcommands.py:1168
+#: ../yumcommands.py:2466
 msgid "Setting up Reinstall Process"
 msgstr ""
 
-#: ../yumcommands.py:1176
+#: ../yumcommands.py:2478
 msgid "reinstall a package"
 msgstr ""
 
-#: ../yumcommands.py:1195
+#: ../yumcommands.py:2541
 msgid "Setting up Downgrade Process"
 msgstr ""
 
-#: ../yumcommands.py:1202
+#: ../yumcommands.py:2552
 msgid "downgrade a package"
 msgstr ""
 
-#: ../yumcommands.py:1216
+#: ../yumcommands.py:2591
 msgid "Display a version for the machine and/or available repos."
 msgstr ""
 
-#: ../yumcommands.py:1255
+#: ../yumcommands.py:2643
 msgid " Yum version groups:"
 msgstr ""
 
-#: ../yumcommands.py:1265
+#: ../yumcommands.py:2653
 msgid " Group   :"
 msgstr ""
 
-#: ../yumcommands.py:1266
+#: ../yumcommands.py:2654
 msgid " Packages:"
 msgstr ""
 
-#: ../yumcommands.py:1295
+#: ../yumcommands.py:2683
 msgid "Installed:"
 msgstr ""
 
-#: ../yumcommands.py:1303
+#: ../yumcommands.py:2691
 msgid "Group-Installed:"
 msgstr ""
 
-#: ../yumcommands.py:1312
+#: ../yumcommands.py:2700
 msgid "Available:"
 msgstr ""
 
-#: ../yumcommands.py:1321
+#: ../yumcommands.py:2709
 msgid "Group-Available:"
 msgstr ""
 
-#: ../yumcommands.py:1360
+#: ../yumcommands.py:2783
 msgid "Display, or use, the transaction history"
 msgstr ""
 
-#: ../yumcommands.py:1432
+#: ../yumcommands.py:2876 ../yumcommands.py:2880
+msgid "Transactions:"
+msgstr ""
+
+#: ../yumcommands.py:2881
+msgid "Begin time  :"
+msgstr ""
+
+#: ../yumcommands.py:2882
+msgid "End time    :"
+msgstr ""
+
+#: ../yumcommands.py:2883
+msgid "Counts      :"
+msgstr ""
+
+#: ../yumcommands.py:2884
+msgid "  NEVRAC :"
+msgstr ""
+
+#: ../yumcommands.py:2885
+msgid "  NEVRA  :"
+msgstr ""
+
+#: ../yumcommands.py:2886
+msgid "  NA     :"
+msgstr ""
+
+#: ../yumcommands.py:2887
+msgid "  NEVR   :"
+msgstr ""
+
+#: ../yumcommands.py:2888
+msgid "  rpm DB :"
+msgstr ""
+
+#: ../yumcommands.py:2889
+msgid "  yum DB :"
+msgstr ""
+
+#: ../yumcommands.py:2922
 #, python-format
 msgid "Invalid history sub-command, use: %s."
 msgstr ""
 
-#: ../yumcommands.py:1439
+#: ../yumcommands.py:2929
 msgid "You don't have access to the history DB."
 msgstr ""
 
-#: ../yumcommands.py:1487
+#: ../yumcommands.py:3036
 msgid "Check for problems in the rpmdb"
 msgstr ""
 
-#: ../yumcommands.py:1514
+#: ../yumcommands.py:3102
 msgid "load a saved transaction from filename"
 msgstr ""
 
-#: ../yumcommands.py:1518
+#: ../yumcommands.py:3119
 msgid "No saved transaction file specified."
 msgstr ""
 
-#: ../yumcommands.py:1522
+#: ../yumcommands.py:3123
 #, python-format
 msgid "loading transaction from %s"
 msgstr ""
 
-#: ../yumcommands.py:1528
+#: ../yumcommands.py:3129
 #, python-format
 msgid "Transaction loaded from %s with %s members"
 msgstr ""
 
+#: ../yumcommands.py:3169
+msgid "Simple way to swap packages, isntead of using shell"
+msgstr ""
+
+#: ../yumcommands.py:3264
+msgid ""
+"Treat a repo. as a group of packages, so we can install/remove all of them"
+msgstr ""
+
+#: ../yumcommands.py:3341
+#, python-format
+msgid "%d package to update"
+msgid_plural "%d packages to update"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../yumcommands.py:3370
+#, python-format
+msgid "%d package to remove/reinstall"
+msgid_plural "%d packages to remove/reinstall"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../yumcommands.py:3413
+#, python-format
+msgid "%d package to remove/sync"
+msgid_plural "%d packages to remove/sync"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../yumcommands.py:3417
+#, python-format
+msgid "Not a valid sub-command of %s"
+msgstr ""
+
 #. This is mainly for PackageSackError from rpmdb.
 #: ../yummain.py:84
 #, python-format
 msgid " Yum checks failed: %s"
 msgstr ""
 
-#: ../yummain.py:114
-msgid ""
-"Another app is currently holding the yum lock; waiting for it to exit..."
+#: ../yummain.py:98
+msgid "No read/execute access in current directory, moving to /"
 msgstr ""
 
-#: ../yummain.py:120
-msgid "Can't create lock file; exiting"
+#: ../yummain.py:106
+msgid "No getcwd() access in current directory, moving to /"
 msgstr ""
 
 #. Depsolve stage
-#: ../yummain.py:167
+#: ../yummain.py:164
 msgid "Resolving Dependencies"
 msgstr ""
 
-#: ../yummain.py:230
+#: ../yummain.py:227 ../yummain.py:235
 #, python-format
-msgid "Your transaction was saved, rerun it with: yum load-transaction %s"
+msgid ""
+"Your transaction was saved, rerun it with:\n"
+" yum load-transaction %s"
 msgstr ""
 
-#: ../yummain.py:288
+#: ../yummain.py:312
 msgid ""
 "\n"
 "\n"
 "Exiting on user cancel."
 msgstr ""
 
-#: ../yum/depsolve.py:84
+#: ../yum/depsolve.py:127
 msgid "doTsSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/depsolve.py:99
+#: ../yum/depsolve.py:143
 msgid "Setting up TransactionSets before config class is up"
 msgstr ""
 
-#: ../yum/depsolve.py:153
+#: ../yum/depsolve.py:200
 #, python-format
 msgid "Invalid tsflag in config file: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:164
+#: ../yum/depsolve.py:218
 #, python-format
 msgid "Searching pkgSack for dep: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:207
+#: ../yum/depsolve.py:269
 #, python-format
 msgid "Member: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:221 ../yum/depsolve.py:793
+#: ../yum/depsolve.py:283 ../yum/depsolve.py:937
 #, python-format
 msgid "%s converted to install"
 msgstr ""
 
-#: ../yum/depsolve.py:233
+#: ../yum/depsolve.py:295
 #, python-format
 msgid "Adding Package %s in mode %s"
 msgstr ""
 
-#: ../yum/depsolve.py:249
+#: ../yum/depsolve.py:311
 #, python-format
 msgid "Removing Package %s"
 msgstr ""
 
-#: ../yum/depsolve.py:271
+#: ../yum/depsolve.py:333
 #, python-format
 msgid "%s requires: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:312
+#: ../yum/depsolve.py:374
 #, python-format
 msgid "%s requires %s"
 msgstr ""
 
-#: ../yum/depsolve.py:339
+#: ../yum/depsolve.py:401
 msgid "Needed Require has already been looked up, cheating"
 msgstr ""
 
-#: ../yum/depsolve.py:349
+#: ../yum/depsolve.py:411
 #, python-format
 msgid "Needed Require is not a package name. Looking up: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:357
+#: ../yum/depsolve.py:419
 #, python-format
 msgid "Potential Provider: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:380
+#: ../yum/depsolve.py:442
 #, python-format
 msgid "Mode is %s for provider of %s: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:384
+#: ../yum/depsolve.py:446
 #, python-format
 msgid "Mode for pkg providing %s: %s"
 msgstr ""
@@ -2045,991 +2316,1140 @@ msgstr ""
 #. the thing it needs is being updated or obsoleted away
 #. try to update the requiring package in hopes that all this problem goes
 #. away :(
-#: ../yum/depsolve.py:389 ../yum/depsolve.py:406
+#: ../yum/depsolve.py:451 ../yum/depsolve.py:486
 #, python-format
 msgid "Trying to update %s to resolve dep"
 msgstr ""
 
-#: ../yum/depsolve.py:400 ../yum/depsolve.py:410
+#: ../yum/depsolve.py:480
 #, python-format
 msgid "No update paths found for %s. Failure!"
 msgstr ""
 
-#: ../yum/depsolve.py:416
+#: ../yum/depsolve.py:491
+#, python-format
+msgid "No update paths found for %s. Failure due to requirement: %s!"
+msgstr ""
+
+#: ../yum/depsolve.py:507
+#, python-format
+msgid "Update for %s. Doesn't fix requirement: %s!"
+msgstr ""
+
+#: ../yum/depsolve.py:514
 #, python-format
 msgid "TSINFO: %s package requiring %s marked as erase"
 msgstr ""
 
-#: ../yum/depsolve.py:429
+#: ../yum/depsolve.py:527
 #, python-format
 msgid "TSINFO: Obsoleting %s with %s to resolve dep."
 msgstr ""
 
-#: ../yum/depsolve.py:432
+#: ../yum/depsolve.py:530
 #, python-format
 msgid "TSINFO: Updating %s to resolve dep."
 msgstr ""
 
-#: ../yum/depsolve.py:440
+#: ../yum/depsolve.py:538
 #, python-format
 msgid "Cannot find an update path for dep for: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:471
+#: ../yum/depsolve.py:569
 #, python-format
 msgid "Quick matched %s to require for %s"
 msgstr ""
 
 #. is it already installed?
-#: ../yum/depsolve.py:513
+#: ../yum/depsolve.py:611
 #, python-format
 msgid "%s is in providing packages but it is already installed, removing."
 msgstr ""
 
-#: ../yum/depsolve.py:529
+#: ../yum/depsolve.py:627
 #, python-format
 msgid "Potential resolving package %s has newer instance in ts."
 msgstr ""
 
-#: ../yum/depsolve.py:540
+#: ../yum/depsolve.py:638
 #, python-format
 msgid "Potential resolving package %s has newer instance installed."
 msgstr ""
 
-#: ../yum/depsolve.py:558
+#: ../yum/depsolve.py:656
 #, python-format
 msgid "%s already in ts, skipping this one"
 msgstr ""
 
-#: ../yum/depsolve.py:607
+#: ../yum/depsolve.py:705
 #, python-format
 msgid "TSINFO: Marking %s as update for %s"
 msgstr ""
 
-#: ../yum/depsolve.py:616
+#: ../yum/depsolve.py:714
 #, python-format
 msgid "TSINFO: Marking %s as install for %s"
 msgstr ""
 
-#: ../yum/depsolve.py:727 ../yum/depsolve.py:819
+#: ../yum/depsolve.py:849 ../yum/depsolve.py:967
 msgid "Success - empty transaction"
 msgstr ""
 
-#: ../yum/depsolve.py:767 ../yum/depsolve.py:783
+#: ../yum/depsolve.py:889 ../yum/depsolve.py:927
 msgid "Restarting Loop"
 msgstr ""
 
-#: ../yum/depsolve.py:799
+#: ../yum/depsolve.py:947
 msgid "Dependency Process ending"
 msgstr ""
 
-#: ../yum/depsolve.py:821
+#: ../yum/depsolve.py:969
 msgid "Success - deps resolved"
 msgstr ""
 
-#: ../yum/depsolve.py:845
+#: ../yum/depsolve.py:993
 #, python-format
 msgid "Checking deps for %s"
 msgstr ""
 
-#: ../yum/depsolve.py:931
+#: ../yum/depsolve.py:1082
 #, python-format
 msgid "looking for %s as a requirement of %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1169
+#: ../yum/depsolve.py:1349
 #, python-format
 msgid "Running compare_providers() for %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1196 ../yum/depsolve.py:1202
+#: ../yum/depsolve.py:1376 ../yum/depsolve.py:1382
 #, python-format
 msgid "better arch in po %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1298
+#: ../yum/depsolve.py:1496
 #, python-format
 msgid "%s obsoletes %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1310
+#: ../yum/depsolve.py:1508
 #, python-format
 msgid ""
 "archdist compared %s to %s on %s\n"
 "  Winner: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1318
+#: ../yum/depsolve.py:1516
 #, python-format
 msgid "common sourcerpm %s and %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1322
+#: ../yum/depsolve.py:1520
 #, python-format
 msgid "base package %s is installed for %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1328
+#: ../yum/depsolve.py:1526
 #, python-format
 msgid "common prefix of %s between %s and %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1359
+#: ../yum/depsolve.py:1543
 #, python-format
-msgid "requires minimal: %d"
+msgid "provides vercmp: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1363
+#: ../yum/depsolve.py:1547 ../yum/depsolve.py:1581
 #, python-format
 msgid " Winner: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1368
+#: ../yum/depsolve.py:1577
+#, python-format
+msgid "requires minimal: %d"
+msgstr ""
+
+#: ../yum/depsolve.py:1586
 #, python-format
 msgid " Loser(with %d): %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1384
+#: ../yum/depsolve.py:1602
 #, python-format
 msgid "Best Order: %s"
 msgstr ""
 
-#: ../yum/__init__.py:234
+#: ../yum/__init__.py:274
 msgid "doConfigSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/__init__.py:482
+#: ../yum/__init__.py:553
+#, python-format
+msgid "Skipping unreadable repository %s"
+msgstr ""
+
+#: ../yum/__init__.py:572
 #, python-format
 msgid "Repository %r: Error parsing config: %s"
 msgstr ""
 
-#: ../yum/__init__.py:488
+#: ../yum/__init__.py:578
 #, python-format
 msgid "Repository %r is missing name in configuration, using id"
 msgstr ""
 
-#: ../yum/__init__.py:526
+#: ../yum/__init__.py:618
 msgid "plugins already initialised"
 msgstr ""
 
-#: ../yum/__init__.py:533
+#: ../yum/__init__.py:627
 msgid "doRpmDBSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/__init__.py:544
+#: ../yum/__init__.py:638
 msgid "Reading Local RPMDB"
 msgstr ""
 
-#: ../yum/__init__.py:567
+#: ../yum/__init__.py:668
 msgid "doRepoSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/__init__.py:630
+#: ../yum/__init__.py:722
 msgid "doSackSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/__init__.py:660
+#: ../yum/__init__.py:752
 msgid "Setting up Package Sacks"
 msgstr ""
 
-#: ../yum/__init__.py:705
+#: ../yum/__init__.py:797
 #, python-format
 msgid "repo object for repo %s lacks a _resetSack method\n"
 msgstr ""
 
-#: ../yum/__init__.py:706
+#: ../yum/__init__.py:798
 msgid "therefore this repo cannot be reset.\n"
 msgstr ""
 
-#: ../yum/__init__.py:711
+#: ../yum/__init__.py:806
 msgid "doUpdateSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/__init__.py:723
+#: ../yum/__init__.py:818
 msgid "Building updates object"
 msgstr ""
 
-#: ../yum/__init__.py:765
+#: ../yum/__init__.py:862
 msgid "doGroupSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/__init__.py:790
+#: ../yum/__init__.py:887
 msgid "Getting group metadata"
 msgstr ""
 
-#: ../yum/__init__.py:816
+#: ../yum/__init__.py:915
 #, python-format
 msgid "Adding group file from repository: %s"
 msgstr ""
 
-#: ../yum/__init__.py:827
+#: ../yum/__init__.py:918
+#, python-format
+msgid "Failed to retrieve group file for repository: %s"
+msgstr ""
+
+#: ../yum/__init__.py:924
 #, python-format
 msgid "Failed to add groups file for repository: %s - %s"
 msgstr ""
 
-#: ../yum/__init__.py:833
+#: ../yum/__init__.py:930
 msgid "No Groups Available in any repository"
 msgstr ""
 
-#: ../yum/__init__.py:845
+#: ../yum/__init__.py:945
 msgid "Getting pkgtags metadata"
 msgstr ""
 
-#: ../yum/__init__.py:855
+#: ../yum/__init__.py:955
 #, python-format
 msgid "Adding tags from repository: %s"
 msgstr ""
 
-#: ../yum/__init__.py:866
+#: ../yum/__init__.py:966
 #, python-format
 msgid "Failed to add Pkg Tags for repository: %s - %s"
 msgstr ""
 
-#: ../yum/__init__.py:944
+#: ../yum/__init__.py:1059
 msgid "Importing additional filelist information"
 msgstr ""
 
-#: ../yum/__init__.py:958
+#: ../yum/__init__.py:1077
 #, python-format
 msgid "The program %s%s%s is found in the yum-utils package."
 msgstr ""
 
-#: ../yum/__init__.py:966
+#: ../yum/__init__.py:1094
 msgid ""
 "There are unfinished transactions remaining. You might consider running yum-"
 "complete-transaction first to finish them."
 msgstr ""
 
-#: ../yum/__init__.py:983
+#: ../yum/__init__.py:1111
 msgid "--> Finding unneeded leftover dependencies"
 msgstr ""
 
-#: ../yum/__init__.py:1041
+#: ../yum/__init__.py:1169
 #, python-format
 msgid "Protected multilib versions: %s != %s"
 msgstr ""
 
-#: ../yum/__init__.py:1096
+#. People are confused about protected mutilib ... so give
+#. them a nicer message.
+#: ../yum/__init__.py:1173
+#, python-format
+msgid ""
+" Multilib version problems found. This often means that the root\n"
+"cause is something else and multilib version checking is just\n"
+"pointing out that there is a problem. Eg.:\n"
+"\n"
+"  1. You have an upgrade for %(name)s which is missing some\n"
+"     dependency that another package requires. Yum is trying to\n"
+"     solve this by installing an older version of %(name)s of the\n"
+"     different architecture. If you exclude the bad architecture\n"
+"     yum will tell you what the root cause is (which package\n"
+"     requires what). You can try redoing the upgrade with\n"
+"     --exclude %(name)s.otherarch ... this should give you an error\n"
+"     message showing the root cause of the problem.\n"
+"\n"
+"  2. You have multiple architectures of %(name)s installed, but\n"
+"     yum can only see an upgrade for one of those arcitectures.\n"
+"     If you don't want/need both architectures anymore then you\n"
+"     can remove the one with the missing update and everything\n"
+"     will work.\n"
+"\n"
+"  3. You have duplicate versions of %(name)s installed already.\n"
+"     You can use \"yum check\" to get yum show these errors.\n"
+"\n"
+"...you can also use --setopt=protected_multilib=false to remove\n"
+"this checking, however this is almost never the correct thing to\n"
+"do as something else is very likely to go wrong (often causing\n"
+"much more problems).\n"
+"\n"
+msgstr ""
+
+#: ../yum/__init__.py:1257
 #, python-format
 msgid "Trying to remove \"%s\", which is protected"
 msgstr ""
 
-#: ../yum/__init__.py:1217
+#: ../yum/__init__.py:1378
 msgid ""
 "\n"
 "Packages skipped because of dependency problems:"
 msgstr ""
 
-#: ../yum/__init__.py:1221
+#: ../yum/__init__.py:1382
 #, python-format
 msgid "    %s from %s"
 msgstr ""
 
 #. FIXME: _N()
-#: ../yum/__init__.py:1391
+#: ../yum/__init__.py:1556
 #, python-format
 msgid "** Found %d pre-existing rpmdb problem(s), 'yum check' output follows:"
 msgstr ""
 
-#: ../yum/__init__.py:1395
+#: ../yum/__init__.py:1560
 msgid "Warning: RPMDB altered outside of yum."
 msgstr ""
 
-#: ../yum/__init__.py:1407
+#: ../yum/__init__.py:1572
 msgid "missing requires"
 msgstr ""
 
-#: ../yum/__init__.py:1408
+#: ../yum/__init__.py:1573
 msgid "installed conflict"
 msgstr ""
 
-#: ../yum/__init__.py:1525
+#: ../yum/__init__.py:1709
 msgid ""
 "Warning: scriptlet or other non-fatal errors occurred during transaction."
 msgstr ""
 
-#: ../yum/__init__.py:1535
+#: ../yum/__init__.py:1719
 msgid "Transaction couldn't start:"
 msgstr ""
 
 #. should this be 'to_unicoded'?
-#: ../yum/__init__.py:1538
+#: ../yum/__init__.py:1722
 msgid "Could not run transaction."
 msgstr ""
 
-#: ../yum/__init__.py:1552
+#: ../yum/__init__.py:1736
 #, python-format
 msgid "Failed to remove transaction file %s"
 msgstr ""
 
 #. maybe a file log here, too
 #. but raising an exception is not going to do any good
-#: ../yum/__init__.py:1590
+#: ../yum/__init__.py:1792
 #, python-format
 msgid "%s was supposed to be installed but is not!"
 msgstr ""
 
 #. maybe a file log here, too
 #. but raising an exception is not going to do any good
-#: ../yum/__init__.py:1651
+#. Note: This actually triggers atm. because we can't
+#. always find the erased txmbr to set it when
+#. we should.
+#: ../yum/__init__.py:1869
 #, python-format
 msgid "%s was supposed to be removed but is not!"
 msgstr ""
 
-#: ../yum/__init__.py:1768
+#. Another copy seems to be running.
+#: ../yum/__init__.py:2004
 #, python-format
-msgid "Could not open lock %s: %s"
+msgid "Existing lock %s: another copy is running as pid %s."
 msgstr ""
 
 #. Whoa. What the heck happened?
-#: ../yum/__init__.py:1785
+#: ../yum/__init__.py:2053
 #, python-format
-msgid "Unable to check if PID %s is active"
+msgid "Could not create lock at %s: %s "
 msgstr ""
 
-#. Another copy seems to be running.
-#: ../yum/__init__.py:1789
+#: ../yum/__init__.py:2065
 #, python-format
-msgid "Existing lock %s: another copy is running as pid %s."
+msgid "Could not open lock %s: %s"
 msgstr ""
 
+#. The pid doesn't exist
 #. Whoa. What the heck happened?
-#: ../yum/__init__.py:1830
+#: ../yum/__init__.py:2082
 #, python-format
-msgid "Could not create lock at %s: %s "
+msgid "Unable to check if PID %s is active"
 msgstr ""
 
-#: ../yum/__init__.py:1875
+#: ../yum/__init__.py:2132
 #, python-format
 msgid ""
 "Package does not match intended download. Suggestion: run yum "
 "--enablerepo=%s clean metadata"
 msgstr ""
 
-#: ../yum/__init__.py:1891
+#: ../yum/__init__.py:2155
 msgid "Could not perform checksum"
 msgstr ""
 
-#: ../yum/__init__.py:1894
+#: ../yum/__init__.py:2158
 msgid "Package does not match checksum"
 msgstr ""
 
-#: ../yum/__init__.py:1946
+#: ../yum/__init__.py:2222
 #, python-format
 msgid "package fails checksum but caching is enabled for %s"
 msgstr ""
 
-#: ../yum/__init__.py:1949 ../yum/__init__.py:1979
+#: ../yum/__init__.py:2225 ../yum/__init__.py:2268
 #, python-format
 msgid "using local copy of %s"
 msgstr ""
 
-#: ../yum/__init__.py:1991
-#, python-format
-msgid ""
-"Insufficient space in download directory %s\n"
-"    * free   %s\n"
-"    * needed %s"
+#. caller handles errors
+#: ../yum/__init__.py:2342
+msgid "exiting because --downloadonly specified"
 msgstr ""
 
-#: ../yum/__init__.py:2052
+#: ../yum/__init__.py:2371
 msgid "Header is not complete."
 msgstr ""
 
-#: ../yum/__init__.py:2089
+#: ../yum/__init__.py:2411
 #, python-format
 msgid ""
 "Header not in local cache and caching-only mode enabled. Cannot download %s"
 msgstr ""
 
-#: ../yum/__init__.py:2147
+#: ../yum/__init__.py:2471
 #, python-format
 msgid "Public key for %s is not installed"
 msgstr ""
 
-#: ../yum/__init__.py:2151
+#: ../yum/__init__.py:2475
 #, python-format
 msgid "Problem opening package %s"
 msgstr ""
 
-#: ../yum/__init__.py:2159
+#: ../yum/__init__.py:2483
 #, python-format
 msgid "Public key for %s is not trusted"
 msgstr ""
 
-#: ../yum/__init__.py:2163
+#: ../yum/__init__.py:2487
 #, python-format
 msgid "Package %s is not signed"
 msgstr ""
 
-#: ../yum/__init__.py:2202
+#: ../yum/__init__.py:2529
 #, python-format
 msgid "Cannot remove %s"
 msgstr ""
 
-#: ../yum/__init__.py:2206
+#: ../yum/__init__.py:2533
 #, python-format
 msgid "%s removed"
 msgstr ""
 
-#: ../yum/__init__.py:2252
+#: ../yum/__init__.py:2594
 #, python-format
 msgid "Cannot remove %s file %s"
 msgstr ""
 
-#: ../yum/__init__.py:2256
+#: ../yum/__init__.py:2598
 #, python-format
 msgid "%s file %s removed"
 msgstr ""
 
-#: ../yum/__init__.py:2258
+#: ../yum/__init__.py:2600
 #, python-format
-msgid "%d %s files removed"
-msgstr ""
+msgid "%d %s file removed"
+msgid_plural "%d %s files removed"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../yum/__init__.py:2327
+#: ../yum/__init__.py:2712
 #, python-format
 msgid "More than one identical match in sack for %s"
 msgstr ""
 
-#: ../yum/__init__.py:2333
+#: ../yum/__init__.py:2718
 #, python-format
 msgid "Nothing matches %s.%s %s:%s-%s from update"
 msgstr ""
 
-#: ../yum/__init__.py:2632
+#: ../yum/__init__.py:3096
 msgid ""
 "searchPackages() will go away in a future version of Yum."
 "                      Use searchGenerator() instead. \n"
 msgstr ""
 
-#: ../yum/__init__.py:2675
+#: ../yum/__init__.py:3149
 #, python-format
-msgid "Searching %d packages"
-msgstr ""
+msgid "Searching %d package"
+msgid_plural "Searching %d packages"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../yum/__init__.py:2679
+#: ../yum/__init__.py:3153
 #, python-format
 msgid "searching package %s"
 msgstr ""
 
-#: ../yum/__init__.py:2691
+#: ../yum/__init__.py:3165
 msgid "searching in file entries"
 msgstr ""
 
-#: ../yum/__init__.py:2698
+#: ../yum/__init__.py:3172
 msgid "searching in provides entries"
 msgstr ""
 
-#: ../yum/__init__.py:2777
+#: ../yum/__init__.py:3369
 msgid "No group data available for configured repositories"
 msgstr ""
 
-#: ../yum/__init__.py:2808 ../yum/__init__.py:2827 ../yum/__init__.py:2858
-#: ../yum/__init__.py:2864 ../yum/__init__.py:2953 ../yum/__init__.py:2957
-#: ../yum/__init__.py:3339
+#: ../yum/__init__.py:3466 ../yum/__init__.py:3500 ../yum/__init__.py:3576
+#: ../yum/__init__.py:3582 ../yum/__init__.py:3719 ../yum/__init__.py:3723
+#: ../yum/__init__.py:4298
 #, python-format
 msgid "No Group named %s exists"
 msgstr ""
 
-#: ../yum/__init__.py:2839 ../yum/__init__.py:2973
+#: ../yum/__init__.py:3512 ../yum/__init__.py:3740
 #, python-format
 msgid "package %s was not marked in group %s"
 msgstr ""
 
-#: ../yum/__init__.py:2887
+#. (upgrade and igroup_data[pkg] == 'available')):
+#: ../yum/__init__.py:3622
+#, python-format
+msgid "Skipping package %s from group %s"
+msgstr ""
+
+#: ../yum/__init__.py:3628
 #, python-format
 msgid "Adding package %s from group %s"
 msgstr ""
 
-#: ../yum/__init__.py:2891
+#: ../yum/__init__.py:3649
 #, python-format
 msgid "No package named %s available to be installed"
 msgstr ""
 
-#: ../yum/__init__.py:2941
+#: ../yum/__init__.py:3702
 #, python-format
-msgid "Warning: Group %s does not have any packages."
+msgid "Warning: Group %s does not have any packages to install."
 msgstr ""
 
-#: ../yum/__init__.py:2943
+#: ../yum/__init__.py:3704
 #, python-format
 msgid "Group %s does have %u conditional packages, which may get installed."
 msgstr ""
 
+#: ../yum/__init__.py:3794
+#, python-format
+msgid "Skipping group %s from environment %s"
+msgstr ""
+
 #. This can happen due to excludes after .up has
 #. happened.
-#: ../yum/__init__.py:3002
+#: ../yum/__init__.py:3858
 #, python-format
 msgid "Package tuple %s could not be found in packagesack"
 msgstr ""
 
-#: ../yum/__init__.py:3022
+#: ../yum/__init__.py:3886
 #, python-format
 msgid "Package tuple %s could not be found in rpmdb"
 msgstr ""
 
-#: ../yum/__init__.py:3079 ../yum/__init__.py:3129
+#: ../yum/__init__.py:3949 ../yum/__init__.py:4012
 #, python-format
 msgid "Invalid version flag from: %s"
 msgstr ""
 
-#: ../yum/__init__.py:3096 ../yum/__init__.py:3101
+#: ../yum/__init__.py:3973 ../yum/__init__.py:3979 ../yum/__init__.py:4036
+#: ../yum/__init__.py:4042
 #, python-format
 msgid "No Package found for %s"
 msgstr ""
 
-#: ../yum/__init__.py:3401
+#: ../yum/__init__.py:4245 ../yum/__init__.py:4274
+#, python-format
+msgid "Warning: Environment Group %s does not exist."
+msgstr ""
+
+#: ../yum/__init__.py:4397
+#, python-format
+msgid "Package: %s - can't co-install with %s"
+msgstr ""
+
+#: ../yum/__init__.py:4437
 msgid "Package Object was not a package object instance"
 msgstr ""
 
-#: ../yum/__init__.py:3405
+#: ../yum/__init__.py:4441
 msgid "Nothing specified to install"
 msgstr ""
 
-#: ../yum/__init__.py:3424 ../yum/__init__.py:4283
+#: ../yum/__init__.py:4465 ../yum/__init__.py:5410
 #, python-format
 msgid "Checking for virtual provide or file-provide for %s"
 msgstr ""
 
-#: ../yum/__init__.py:3430 ../yum/__init__.py:3775 ../yum/__init__.py:3969
-#: ../yum/__init__.py:4289
-#, python-format
-msgid "No Match for argument: %s"
-msgstr ""
-
-#: ../yum/__init__.py:3507
+#: ../yum/__init__.py:4542
 #, python-format
 msgid "Package %s installed and not available"
 msgstr ""
 
-#: ../yum/__init__.py:3510
+#: ../yum/__init__.py:4545
 msgid "No package(s) available to install"
 msgstr ""
 
-#: ../yum/__init__.py:3522
+#: ../yum/__init__.py:4557
 #, python-format
 msgid "Package: %s  - already in transaction set"
 msgstr ""
 
-#: ../yum/__init__.py:3550
+#: ../yum/__init__.py:4589
 #, python-format
 msgid "Package %s is obsoleted by %s which is already installed"
 msgstr ""
 
-#: ../yum/__init__.py:3555
+#: ../yum/__init__.py:4594
 #, python-format
 msgid ""
 "Package %s is obsoleted by %s, but obsoleting package does not provide for "
 "requirements"
 msgstr ""
 
-#: ../yum/__init__.py:3558
+#: ../yum/__init__.py:4597
 #, python-format
 msgid "Package %s is obsoleted by %s, trying to install %s instead"
 msgstr ""
 
-#: ../yum/__init__.py:3566
+#: ../yum/__init__.py:4605
 #, python-format
 msgid "Package %s already installed and latest version"
 msgstr ""
 
-#: ../yum/__init__.py:3580
+#: ../yum/__init__.py:4619
 #, python-format
 msgid "Package matching %s already installed. Checking for update."
 msgstr ""
 
 #. update everything (the easy case)
-#: ../yum/__init__.py:3684
+#: ../yum/__init__.py:4751
 msgid "Updating Everything"
 msgstr ""
 
-#: ../yum/__init__.py:3708 ../yum/__init__.py:3849 ../yum/__init__.py:3879
-#: ../yum/__init__.py:3915
+#: ../yum/__init__.py:4775 ../yum/__init__.py:4930 ../yum/__init__.py:4975
+#: ../yum/__init__.py:5011
 #, python-format
 msgid "Not Updating Package that is already obsoleted: %s.%s %s:%s-%s"
 msgstr ""
 
-#: ../yum/__init__.py:3753 ../yum/__init__.py:3965
+#: ../yum/__init__.py:4830 ../yum/__init__.py:5072
 #, python-format
 msgid "%s"
 msgstr ""
 
-#: ../yum/__init__.py:3838
+#: ../yum/__init__.py:4854 ../yum/__init__.py:5080 ../yum/__init__.py:5416
+#, python-format
+msgid "No Match for argument: %s"
+msgstr ""
+
+#: ../yum/__init__.py:4872
+#, python-format
+msgid "No package matched to upgrade: %s"
+msgstr ""
+
+#: ../yum/__init__.py:4919
 #, python-format
 msgid "Package is already obsoleted: %s.%s %s:%s-%s"
 msgstr ""
 
-#: ../yum/__init__.py:3874
+#: ../yum/__init__.py:4970
 #, python-format
 msgid "Not Updating Package that is obsoleted: %s"
 msgstr ""
 
-#: ../yum/__init__.py:3883 ../yum/__init__.py:3919
+#: ../yum/__init__.py:4979 ../yum/__init__.py:5015
 #, python-format
 msgid "Not Updating Package that is already updated: %s.%s %s:%s-%s"
 msgstr ""
 
-#: ../yum/__init__.py:3982
-msgid "No package matched to remove"
+#: ../yum/__init__.py:5093
+#, python-format
+msgid "No package matched to remove: %s"
 msgstr ""
 
-#: ../yum/__init__.py:3988
+#: ../yum/__init__.py:5099
 #, python-format
 msgid "Skipping the running kernel: %s"
 msgstr ""
 
-#: ../yum/__init__.py:3994
+#: ../yum/__init__.py:5105
 #, python-format
 msgid "Removing %s from the transaction"
 msgstr ""
 
-#: ../yum/__init__.py:4029
+#: ../yum/__init__.py:5142
 #, python-format
 msgid "Cannot open: %s. Skipping."
 msgstr ""
 
-#: ../yum/__init__.py:4032 ../yum/__init__.py:4150 ../yum/__init__.py:4226
+#: ../yum/__init__.py:5145 ../yum/__init__.py:5262 ../yum/__init__.py:5347
 #, python-format
 msgid "Examining %s: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4036
+#: ../yum/__init__.py:5149
 #, python-format
 msgid "Cannot localinstall deltarpm: %s. Skipping."
 msgstr ""
 
-#: ../yum/__init__.py:4045 ../yum/__init__.py:4153 ../yum/__init__.py:4229
+#: ../yum/__init__.py:5158 ../yum/__init__.py:5265 ../yum/__init__.py:5350
 #, python-format
 msgid ""
 "Cannot add package %s to transaction. Not a compatible architecture: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4051
+#: ../yum/__init__.py:5164
 #, python-format
 msgid "Cannot install package %s. It is obsoleted by installed package %s"
 msgstr ""
 
-#: ../yum/__init__.py:4059
+#: ../yum/__init__.py:5172
 #, python-format
 msgid ""
 "Package %s not installed, cannot update it. Run yum install to install it "
 "instead."
 msgstr ""
 
-#: ../yum/__init__.py:4078 ../yum/__init__.py:4085
+#: ../yum/__init__.py:5191 ../yum/__init__.py:5198
 #, python-format
 msgid ""
 "Package %s.%s not installed, cannot update it. Run yum install to install it"
 " instead."
 msgstr ""
 
-#: ../yum/__init__.py:4094 ../yum/__init__.py:4158 ../yum/__init__.py:4234
+#: ../yum/__init__.py:5207 ../yum/__init__.py:5270 ../yum/__init__.py:5355
 #, python-format
 msgid "Excluding %s"
 msgstr ""
 
-#: ../yum/__init__.py:4099
+#: ../yum/__init__.py:5212
 #, python-format
 msgid "Marking %s to be installed"
 msgstr ""
 
-#: ../yum/__init__.py:4105
+#: ../yum/__init__.py:5218
 #, python-format
 msgid "Marking %s as an update to %s"
 msgstr ""
 
-#: ../yum/__init__.py:4112
+#: ../yum/__init__.py:5225
 #, python-format
 msgid "%s: does not update installed package."
 msgstr ""
 
-#: ../yum/__init__.py:4147 ../yum/__init__.py:4223
+#: ../yum/__init__.py:5259 ../yum/__init__.py:5344
 #, python-format
 msgid "Cannot open file: %s. Skipping."
 msgstr ""
 
-#: ../yum/__init__.py:4177
+#: ../yum/__init__.py:5299
 msgid "Problem in reinstall: no package matched to remove"
 msgstr ""
 
-#: ../yum/__init__.py:4203
+#: ../yum/__init__.py:5325
 #, python-format
 msgid "Problem in reinstall: no package %s matched to install"
 msgstr ""
 
-#: ../yum/__init__.py:4311
+#: ../yum/__init__.py:5438
 msgid "No package(s) available to downgrade"
 msgstr ""
 
-#: ../yum/__init__.py:4319
+#: ../yum/__init__.py:5446
 #, python-format
 msgid "Package %s is allowed multiple installs, skipping"
 msgstr ""
 
-#: ../yum/__init__.py:4365
+#: ../yum/__init__.py:5496
 #, python-format
 msgid "No Match for available package: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4372
+#: ../yum/__init__.py:5506
 #, python-format
 msgid "Only Upgrade available on package: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4442 ../yum/__init__.py:4479
+#: ../yum/__init__.py:5619 ../yum/__init__.py:5686
 #, python-format
 msgid "Failed to downgrade: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4516
+#: ../yum/__init__.py:5636 ../yum/__init__.py:5692
+#, python-format
+msgid "Failed to upgrade: %s"
+msgstr ""
+
+#: ../yum/__init__.py:5725
 #, python-format
 msgid "Retrieving key from %s"
 msgstr ""
 
-#: ../yum/__init__.py:4534
+#: ../yum/__init__.py:5743
 msgid "GPG key retrieval failed: "
 msgstr ""
 
 #. if we decide we want to check, even though the sig failed
 #. here is where we would do that
-#: ../yum/__init__.py:4557
+#: ../yum/__init__.py:5766
 #, python-format
 msgid "GPG key signature on key %s does not match CA Key for repo: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4559
+#: ../yum/__init__.py:5768
 msgid "GPG key signature verified against CA Key(s)"
 msgstr ""
 
-#: ../yum/__init__.py:4567
+#: ../yum/__init__.py:5776
 #, python-format
 msgid "Invalid GPG Key from %s: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4576
+#: ../yum/__init__.py:5785
 #, python-format
 msgid "GPG key parsing failed: key does not have value %s"
 msgstr ""
 
-#: ../yum/__init__.py:4592
+#: ../yum/__init__.py:5801
 #, python-format
 msgid ""
 "Importing %s key 0x%s:\n"
-" Userid : %s\n"
-" Package: %s (%s)\n"
-" From   : %s"
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" Package    : %s (%s)\n"
+" From       : %s"
 msgstr ""
 
-#: ../yum/__init__.py:4600
+#: ../yum/__init__.py:5811
 #, python-format
 msgid ""
 "Importing %s key 0x%s:\n"
-" Userid: \"%s\"\n"
-" From  : %s"
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" From       : %s"
 msgstr ""
 
-#: ../yum/__init__.py:4634
+#: ../yum/__init__.py:5839
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" Failing package is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr ""
+
+#: ../yum/__init__.py:5853
 #, python-format
 msgid "GPG key at %s (0x%s) is already installed"
 msgstr ""
 
-#: ../yum/__init__.py:4671
+#: ../yum/__init__.py:5891
 #, python-format
 msgid "Key import failed (code %d)"
 msgstr ""
 
-#: ../yum/__init__.py:4672 ../yum/__init__.py:4755
+#: ../yum/__init__.py:5893 ../yum/__init__.py:5994
 msgid "Key imported successfully"
 msgstr ""
 
-#: ../yum/__init__.py:4676
+#: ../yum/__init__.py:5897
 msgid "Didn't install any keys"
 msgstr ""
 
-#: ../yum/__init__.py:4680
+#: ../yum/__init__.py:5900
 #, python-format
 msgid ""
 "The GPG keys listed for the \"%s\" repository are already installed but they are not correct for this package.\n"
 "Check that the correct key URLs are configured for this repository."
 msgstr ""
 
-#: ../yum/__init__.py:4689
+#: ../yum/__init__.py:5910
 msgid "Import of key(s) didn't help, wrong key(s)?"
 msgstr ""
 
-#: ../yum/__init__.py:4713
+#: ../yum/__init__.py:5932
+msgid "No"
+msgstr ""
+
+#: ../yum/__init__.py:5934
+msgid "Yes"
+msgstr ""
+
+#: ../yum/__init__.py:5935
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" CA Key: %s\n"
+" Failing repo is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr ""
+
+#: ../yum/__init__.py:5948
 #, python-format
 msgid "GPG key at %s (0x%s) is already imported"
 msgstr ""
 
-#: ../yum/__init__.py:4754
-msgid "Key import failed"
+#: ../yum/__init__.py:5992
+#, python-format
+msgid "Key %s import failed"
 msgstr ""
 
-#: ../yum/__init__.py:4770
+#: ../yum/__init__.py:6009
 #, python-format
 msgid "Didn't install any keys for repo %s"
 msgstr ""
 
-#: ../yum/__init__.py:4774
+#: ../yum/__init__.py:6014
 #, python-format
 msgid ""
 "The GPG keys listed for the \"%s\" repository are already installed but they are not correct.\n"
 "Check that the correct key URLs are configured for this repository."
 msgstr ""
 
-#: ../yum/__init__.py:4924
+#: ../yum/__init__.py:6172
 msgid "Unable to find a suitable mirror."
 msgstr ""
 
-#: ../yum/__init__.py:4926
+#: ../yum/__init__.py:6174
 msgid "Errors were encountered while downloading packages."
 msgstr ""
 
-#: ../yum/__init__.py:4981
+#: ../yum/__init__.py:6229
 #, python-format
 msgid "Please report this error at %s"
 msgstr ""
 
-#: ../yum/__init__.py:4998
+#: ../yum/__init__.py:6246
 msgid "Test Transaction Errors: "
 msgstr ""
 
-#: ../yum/__init__.py:5098
+#: ../yum/__init__.py:6358
 #, python-format
 msgid "Could not set cachedir: %s"
 msgstr ""
 
-#: ../yum/__init__.py:5148 ../yum/__init__.py:5150
+#: ../yum/__init__.py:6420 ../yum/__init__.py:6422
 msgid "Dependencies not solved. Will not save unresolved transaction."
 msgstr ""
 
-#: ../yum/__init__.py:5179 ../yum/__init__.py:5181
+#: ../yum/__init__.py:6455 ../yum/__init__.py:6457
 #, python-format
 msgid "Could not save transaction file %s: %s"
 msgstr ""
 
-#: ../yum/__init__.py:5195
+#: ../yum/__init__.py:6483
 #, python-format
 msgid "Could not access/read saved transaction %s : %s"
 msgstr ""
 
-#: ../yum/__init__.py:5214
-msgid "rpmdb ver mismatched saved transaction version, "
-msgstr ""
-
-#: ../yum/__init__.py:5216
-msgid " ignoring, as requested."
-msgstr ""
-
-#: ../yum/__init__.py:5219 ../yum/__init__.py:5354
-msgid " aborting."
+#: ../yum/__init__.py:6521
+msgid "rpmdb ver mismatched saved transaction version,"
 msgstr ""
 
-#: ../yum/__init__.py:5228
+#: ../yum/__init__.py:6535
 msgid "cannot find tsflags or tsflags not integer."
 msgstr ""
 
-#: ../yum/__init__.py:5267
+#: ../yum/__init__.py:6584
 #, python-format
 msgid "Found txmbr in unknown current state: %s"
 msgstr ""
 
-#: ../yum/__init__.py:5271
+#: ../yum/__init__.py:6588
 #, python-format
 msgid "Could not find txmbr: %s in state %s"
 msgstr ""
 
-#: ../yum/__init__.py:5307 ../yum/__init__.py:5324
+#: ../yum/__init__.py:6625 ../yum/__init__.py:6642
 #, python-format
 msgid "Could not find txmbr: %s from origin: %s"
 msgstr ""
 
-#: ../yum/__init__.py:5349
+#: ../yum/__init__.py:6667
 msgid "Transaction members, relations are missing or ts has been modified,"
 msgstr ""
 
-#: ../yum/__init__.py:5351
+#: ../yum/__init__.py:6670
 msgid " ignoring, as requested. You must redepsolve!"
 msgstr ""
 
+#. Debugging output
+#: ../yum/__init__.py:6738 ../yum/__init__.py:6757
+#, python-format
+msgid "%s has been visited already and cannot be removed."
+msgstr ""
+
+#. Debugging output
+#: ../yum/__init__.py:6741
+#, python-format
+msgid "Examining revdeps of %s"
+msgstr ""
+
+#. Debugging output
+#: ../yum/__init__.py:6762
+#, python-format
+msgid "%s has revdep %s which was user-installed."
+msgstr ""
+
+#: ../yum/__init__.py:6773 ../yum/__init__.py:6779
+#, python-format
+msgid "%s is needed by a package to be installed."
+msgstr ""
+
+#. Debugging output
+#: ../yum/__init__.py:6793
+#, python-format
+msgid "%s has no user-installed revdeps."
+msgstr ""
+
 #. Mostly copied from YumOutput._outKeyValFill()
-#: ../yum/plugins.py:209
+#: ../yum/plugins.py:212
 msgid "Loaded plugins: "
 msgstr ""
 
-#: ../yum/plugins.py:223 ../yum/plugins.py:229
+#: ../yum/plugins.py:226 ../yum/plugins.py:232
 #, python-format
 msgid "No plugin match for: %s"
 msgstr ""
 
-#: ../yum/plugins.py:259
+#: ../yum/plugins.py:262
 #, python-format
 msgid "Not loading \"%s\" plugin, as it is disabled"
 msgstr ""
 
 #. Give full backtrace:
-#: ../yum/plugins.py:271
+#: ../yum/plugins.py:274
 #, python-format
 msgid "Plugin \"%s\" can't be imported"
 msgstr ""
 
-#: ../yum/plugins.py:278
+#: ../yum/plugins.py:281
 #, python-format
 msgid "Plugin \"%s\" doesn't specify required API version"
 msgstr ""
 
-#: ../yum/plugins.py:283
+#: ../yum/plugins.py:286
 #, python-format
 msgid "Plugin \"%s\" requires API %s. Supported API is %s."
 msgstr ""
 
-#: ../yum/plugins.py:316
+#: ../yum/plugins.py:319
 #, python-format
 msgid "Loading \"%s\" plugin"
 msgstr ""
 
-#: ../yum/plugins.py:323
+#: ../yum/plugins.py:326
 #, python-format
 msgid "Two or more plugins with the name \"%s\" exist in the plugin search path"
 msgstr ""
 
-#: ../yum/plugins.py:343
+#: ../yum/plugins.py:346
 #, python-format
 msgid "Configuration file %s not found"
 msgstr ""
 
 #. for
 #. Configuration files for the plugin not found
-#: ../yum/plugins.py:346
+#: ../yum/plugins.py:349
 #, python-format
 msgid "Unable to find configuration file for plugin %s"
 msgstr ""
 
-#: ../yum/plugins.py:508
+#: ../yum/plugins.py:553
 msgid "registration of commands not supported"
 msgstr ""
 
-#: ../yum/rpmsack.py:148
+#: ../yum/rpmsack.py:159
 msgid "has missing requires of"
 msgstr ""
 
-#: ../yum/rpmsack.py:151
+#: ../yum/rpmsack.py:162
 msgid "has installed conflicts"
 msgstr ""
 
-#: ../yum/rpmsack.py:160
+#: ../yum/rpmsack.py:171
 #, python-format
 msgid "%s is a duplicate with %s"
 msgstr ""
 
-#: ../yum/rpmsack.py:168
+#: ../yum/rpmsack.py:179
 #, python-format
 msgid "%s is obsoleted by %s"
 msgstr ""
 
-#: ../yum/rpmsack.py:176
+#: ../yum/rpmsack.py:187
 #, python-format
 msgid "%s provides %s but it cannot be found"
 msgstr ""
@@ -3038,6 +3458,23 @@ msgstr ""
 msgid "Repackaging"
 msgstr ""
 
+#: ../yum/rpmtrans.py:149
+#, python-format
+msgid "Verify: %u/%u: %s"
+msgstr ""
+
+#: ../yum/yumRepo.py:919
+#, python-format
+msgid ""
+"Insufficient space in download directory %s\n"
+"    * free   %s\n"
+"    * needed %s"
+msgstr ""
+
+#: ../yum/yumRepo.py:986
+msgid "Package does not match intended download."
+msgstr ""
+
 #: ../rpmUtils/oldUtils.py:33
 #, python-format
 msgid "Header cannot be opened or does not match %s, %s."
@@ -3066,5 +3503,3 @@ msgstr ""
 #, python-format
 msgid "Error opening rpm %s - error %s"
 msgstr ""
-
-
diff --git a/po/ca.po b/po/ca.po
index cca37b7..6ab974e 100644
--- a/po/ca.po
+++ b/po/ca.po
@@ -2,1504 +2,1643 @@
 # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
 # This file is distributed under the same license as the PACKAGE package.
 # 
+# Translators:
 msgid ""
 msgstr ""
 "Project-Id-Version: Yum\n"
-"Report-Msgid-Bugs-To: http://yum.baseurl.org/\n"
-"POT-Creation-Date: 2011-06-06 10:21-0400\n"
-"PO-Revision-Date: 2011-06-06 14:21+0000\n"
-"Last-Translator: skvidal <skvidal@fedoraproject.org>\n"
+"Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
+"POT-Creation-Date: 2013-01-30 09:08-0500\n"
+"PO-Revision-Date: 2013-01-30 14:08+0000\n"
+"Last-Translator: james <james@fedoraproject.org>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Language: ca\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: ../callback.py:48 ../output.py:1037 ../yum/rpmtrans.py:73
+#: ../callback.py:45 ../output.py:1502 ../yum/rpmtrans.py:73
 msgid "Updating"
 msgstr "Actualitzant"
 
-#: ../callback.py:49 ../yum/rpmtrans.py:74
+#: ../callback.py:46 ../yum/rpmtrans.py:74
 msgid "Erasing"
 msgstr "Suprimint"
 
-#: ../callback.py:50 ../callback.py:51 ../callback.py:53 ../output.py:1036
-#: ../output.py:2218 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
+#: ../callback.py:47 ../callback.py:48 ../callback.py:50 ../output.py:1501
+#: ../output.py:2922 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
 #: ../yum/rpmtrans.py:78
 msgid "Installing"
 msgstr "Instal·lant"
 
-#: ../callback.py:52 ../callback.py:58 ../output.py:1840 ../yum/rpmtrans.py:77
+#: ../callback.py:49 ../callback.py:55 ../output.py:2379 ../yum/rpmtrans.py:77
 msgid "Obsoleted"
 msgstr "Obsolet"
 
-#: ../callback.py:54 ../output.py:1169 ../output.py:1686 ../output.py:1847
+#: ../callback.py:51 ../output.py:1670 ../output.py:2222 ../output.py:2386
 msgid "Updated"
 msgstr "Actualitzat"
 
-#: ../callback.py:55 ../output.py:1685
+#: ../callback.py:52 ../output.py:2221
 msgid "Erased"
 msgstr "Suprimit"
 
-#: ../callback.py:56 ../callback.py:57 ../callback.py:59 ../output.py:1167
-#: ../output.py:1685 ../output.py:1687 ../output.py:2190
+#: ../callback.py:53 ../callback.py:54 ../callback.py:56 ../output.py:1668
+#: ../output.py:2221 ../output.py:2223 ../output.py:2894
 msgid "Installed"
 msgstr "Instal·lat"
 
-#: ../callback.py:130
+#: ../callback.py:142
 msgid "No header - huh?"
 msgstr "No hi ha capçalera"
 
-#: ../callback.py:168
+#: ../callback.py:180
 msgid "Repackage"
 msgstr "Reempaqueta"
 
-#: ../callback.py:189
+#: ../callback.py:201
 #, python-format
 msgid "Error: invalid output state: %s for %s"
 msgstr "Error: estat de sortida invàlid: %s per a %s"
 
-#: ../callback.py:212
+#: ../callback.py:224
 #, python-format
 msgid "Erased: %s"
 msgstr "Suprimit: %s"
 
-#: ../callback.py:217 ../output.py:1038 ../output.py:2193
+#: ../callback.py:229 ../output.py:1503 ../output.py:2897
 msgid "Removing"
 msgstr "Suprimint"
 
-#: ../callback.py:219 ../yum/rpmtrans.py:79
+#: ../callback.py:231 ../yum/rpmtrans.py:79
 msgid "Cleanup"
 msgstr "Neteja"
 
-#: ../cli.py:115
+#: ../cli.py:122
 #, python-format
 msgid "Command \"%s\" already defined"
 msgstr "L'ordre «%s» ja està definida"
 
-#: ../cli.py:127
+#: ../cli.py:137
 msgid "Setting up repositories"
 msgstr "Configurant repositoris"
 
-#: ../cli.py:138
+#: ../cli.py:148
 msgid "Reading repository metadata in from local files"
 msgstr "S'estan llegint les metadades de repositoris des de fitxers locals"
 
-#: ../cli.py:245 ../utils.py:281
+#: ../cli.py:273 ../cli.py:277 ../utils.py:320
 #, python-format
 msgid "Config Error: %s"
 msgstr "Error de configuració: %s"
 
-#: ../cli.py:248 ../cli.py:1584 ../utils.py:284
+#: ../cli.py:280 ../cli.py:2206 ../utils.py:323
 #, python-format
 msgid "Options Error: %s"
 msgstr "Error d'opcions: %s"
 
-#: ../cli.py:293
+#: ../cli.py:327
 #, python-format
 msgid "  Installed: %s-%s at %s"
 msgstr "  Instal·lat: %s-%s a %s"
 
-#: ../cli.py:295
+#: ../cli.py:329
 #, python-format
 msgid "  Built    : %s at %s"
 msgstr "  Muntat    : %s a %s"
 
-#: ../cli.py:297
+#: ../cli.py:331
 #, python-format
 msgid "  Committed: %s at %s"
 msgstr "  Pujat: %s a %s"
 
-#: ../cli.py:336
+#: ../cli.py:372
 msgid "You need to give some command"
 msgstr "Cal que doneu alguna ordre"
 
-#: ../cli.py:350
+#: ../cli.py:386
 #, python-format
 msgid "No such command: %s. Please use %s --help"
 msgstr ""
 
-#: ../cli.py:400
+#: ../cli.py:444
 msgid "Disk Requirements:\n"
 msgstr "Requeriments de disc:\n"
 
-#: ../cli.py:402
+#: ../cli.py:446
 #, python-format
 msgid "  At least %dMB more space needed on the %s filesystem.\n"
-msgstr ""
+msgid_plural "  At least %dMB more space needed on the %s filesystem.\n"
+msgstr[0] ""
+msgstr[1] ""
 
 #. TODO: simplify the dependency errors?
 #. Fixup the summary
-#: ../cli.py:407
+#: ../cli.py:451
 msgid ""
 "Error Summary\n"
 "-------------\n"
+msgstr "Resum d'errors\n-------------\n"
+
+#: ../cli.py:472
+msgid "Can't create lock file; exiting"
+msgstr ""
+
+#: ../cli.py:479
+msgid ""
+"Another app is currently holding the yum lock; exiting as configured by "
+"exit_on_lock"
 msgstr ""
-"Resum d'errors\n"
-"-------------\n"
 
-#: ../cli.py:450
+#: ../cli.py:532
 msgid "Trying to run the transaction but nothing to do. Exiting."
+msgstr "S'ha intentat executar la transacció però no hi ha cap tasca a fer. S'està sortint."
+
+#: ../cli.py:577
+msgid "future rpmdb ver mismatched saved transaction version,"
 msgstr ""
-"S'ha intentat executar la transacció però no hi ha cap tasca a fer. S'està "
-"sortint."
 
-#: ../cli.py:497
+#: ../cli.py:579 ../yum/__init__.py:6523
+msgid " ignoring, as requested."
+msgstr ""
+
+#: ../cli.py:582 ../yum/__init__.py:6526 ../yum/__init__.py:6673
+msgid " aborting."
+msgstr ""
+
+#: ../cli.py:588
 msgid "Exiting on user Command"
 msgstr "S'està sortint de l'ordre de l'usuari"
 
-#: ../cli.py:501
+#: ../cli.py:592
 msgid "Downloading Packages:"
 msgstr "S'estan baixant els següents paquets:"
 
-#: ../cli.py:506
+#: ../cli.py:597
 msgid "Error Downloading Packages:\n"
 msgstr "S'ha produït un error baixant els següents paquets:\n"
 
-#: ../cli.py:525 ../yum/__init__.py:4967
+#: ../cli.py:616 ../yum/__init__.py:6215
 msgid "Running Transaction Check"
 msgstr ""
 
-#: ../cli.py:534 ../yum/__init__.py:4976
+#: ../cli.py:625 ../yum/__init__.py:6224
 msgid "ERROR You need to update rpm to handle:"
 msgstr "S'ha produït un error. Necessiteu actualitzar el gestor rpm:"
 
-#: ../cli.py:536 ../yum/__init__.py:4979
+#: ../cli.py:627 ../yum/__init__.py:6227
 msgid "ERROR with transaction check vs depsolve:"
 msgstr ""
 
-#: ../cli.py:542
+#: ../cli.py:633
 msgid "RPM needs to be updated"
 msgstr "Cal actualitzar l'RPM"
 
-#: ../cli.py:543
+#: ../cli.py:634
 #, python-format
 msgid "Please report this error in %s"
 msgstr "Siusplau, informeu d'aquest error a %s"
 
-#: ../cli.py:549
+#: ../cli.py:640
 msgid "Running Transaction Test"
 msgstr "S'està executant la transacció de prova"
 
-#: ../cli.py:561
+#: ../cli.py:652
 msgid "Transaction Check Error:\n"
 msgstr "S'ha produït un error en la transacció de prova:\n"
 
-#: ../cli.py:568
+#: ../cli.py:659
 msgid "Transaction Test Succeeded"
 msgstr "La transacció de prova ha acabat amb èxit"
 
-#: ../cli.py:600
+#: ../cli.py:691
 msgid "Running Transaction"
 msgstr "S'està executant la transacció"
 
-#: ../cli.py:630
+#: ../cli.py:724
 msgid ""
 "Refusing to automatically import keys when running unattended.\n"
 "Use \"-y\" to override."
-msgstr ""
-"No s'importaran automàticament les claus en una execució desatesa.\n"
-"Feu servir \"-y\" per a importar les claus."
+msgstr "No s'importaran automàticament les claus en una execució desatesa.\nFeu servir \"-y\" per a importar les claus."
 
-#: ../cli.py:649 ../cli.py:692
+#: ../cli.py:743 ../cli.py:786
 msgid "  * Maybe you meant: "
 msgstr "  * Potser volíeu dir: "
 
-#: ../cli.py:675 ../cli.py:683
+#: ../cli.py:769 ../cli.py:777
 #, python-format
 msgid "Package(s) %s%s%s available, but not installed."
 msgstr "Paquets %s%s%s disponibles, però no instal·lats."
 
-#: ../cli.py:689 ../cli.py:722 ../cli.py:908
+#: ../cli.py:783 ../cli.py:891 ../cli.py:1158
 #, python-format
 msgid "No package %s%s%s available."
 msgstr "El paquet %s%s%s no està disponible."
 
-#: ../cli.py:729 ../cli.py:973
-msgid "Package(s) to install"
-msgstr "Paquets a instal·lar"
+#: ../cli.py:871 ../cli.py:881 ../cli.py:1101 ../cli.py:1111
+#, python-format
+msgid "Bad %s argument %s."
+msgstr ""
 
-#: ../cli.py:732 ../cli.py:733 ../cli.py:914 ../cli.py:948 ../cli.py:974
-#: ../yumcommands.py:190
+#: ../cli.py:900 ../yumcommands.py:3331
+#, python-format
+msgid "%d package to install"
+msgid_plural "%d packages to install"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../cli.py:903 ../cli.py:904 ../cli.py:1169 ../cli.py:1170 ../cli.py:1224
+#: ../cli.py:1225 ../cli.py:1260 ../yumcommands.py:323 ../yumcommands.py:3419
 msgid "Nothing to do"
 msgstr "Res a fer"
 
-#: ../cli.py:767
+#: ../cli.py:953
 #, python-format
-msgid "%d packages marked for Update"
-msgstr "%d paquets marcats per a actualitzar"
+msgid "%d package marked for Update"
+msgid_plural "%d packages marked for Update"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:770
+#: ../cli.py:955
 msgid "No Packages marked for Update"
 msgstr "No hi ha cap paquet marcat per a actualitzar"
 
-#: ../cli.py:866
+#: ../cli.py:1067
 #, python-format
-msgid "%d packages marked for Distribution Synchronization"
-msgstr ""
+msgid "%d package marked for Distribution Synchronization"
+msgid_plural "%d packages marked for Distribution Synchronization"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:869
+#: ../cli.py:1069
 msgid "No Packages marked for Distribution Synchronization"
 msgstr ""
 
-#: ../cli.py:885
+#: ../cli.py:1124
 #, python-format
-msgid "%d packages marked for removal"
-msgstr "%d paquets marcats per a suprimir"
+msgid "%d package marked for removal"
+msgid_plural "%d packages marked for removal"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:888
+#: ../cli.py:1126
 msgid "No Packages marked for removal"
 msgstr "No hi ha cap paquet marcat per a suprimir"
 
-#: ../cli.py:913
-msgid "Package(s) to downgrade"
-msgstr "Paquets per a desactualitzar"
+#: ../cli.py:1166
+#, python-format
+msgid "%d package to downgrade"
+msgid_plural "%d packages to downgrade"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:938
+#: ../cli.py:1207
 #, python-format
 msgid " (from %s)"
 msgstr " (des de %s)"
 
-#: ../cli.py:939
+#: ../cli.py:1208
 #, python-format
 msgid "Installed package %s%s%s%s not available."
 msgstr "El paquet instal·lat %s%s%s%s no està disponible."
 
-#: ../cli.py:947
-msgid "Package(s) to reinstall"
-msgstr "Paquets a reinstal·lar"
+#: ../cli.py:1221
+#, python-format
+msgid "%d package to reinstall"
+msgid_plural "%d packages to reinstall"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:960
+#: ../cli.py:1246
 msgid "No Packages Provided"
 msgstr "No s'ha proporcionat cap paquet"
 
-#: ../cli.py:1058
+#: ../cli.py:1259
+msgid "Package(s) to install"
+msgstr "Paquets a instal·lar"
+
+#: ../cli.py:1367
 #, python-format
 msgid "N/S Matched: %s"
 msgstr ""
 
-#: ../cli.py:1075
+#: ../cli.py:1384
 #, python-format
 msgid "  Name and summary matches %sonly%s, use \"search all\" for everything."
 msgstr ""
 
-#: ../cli.py:1077
+#: ../cli.py:1386
 #, python-format
 msgid ""
 "  Full name and summary matches %sonly%s, use \"search all\" for everything."
 msgstr ""
 
-#: ../cli.py:1095
+#: ../cli.py:1404
 #, python-format
 msgid "Matched: %s"
 msgstr ""
 
-#: ../cli.py:1102
+#: ../cli.py:1411
 #, python-format
 msgid "  Name and summary matches %smostly%s, use \"search all\" for everything."
 msgstr ""
 
-#: ../cli.py:1106
+#: ../cli.py:1415
 #, python-format
 msgid "Warning: No matches found for: %s"
 msgstr "Avís: no s'ha trobat cap coincidència per a: %s"
 
-#: ../cli.py:1109
+#: ../cli.py:1418
 msgid "No Matches found"
 msgstr "No s'ha trobat cap coincidència"
 
-#: ../cli.py:1174
+#: ../cli.py:1536
 #, python-format
-msgid "No Package Found for %s"
-msgstr "No s'ha trobat cap paquet per a %s"
+msgid ""
+"Error: No Packages found for:\n"
+"  %s"
+msgstr ""
 
-#: ../cli.py:1184
+#: ../cli.py:1572
 msgid "Cleaning repos: "
 msgstr ""
 
-#: ../cli.py:1189
+#: ../cli.py:1577
 msgid "Cleaning up Everything"
 msgstr "S'està netejant tot"
 
-#: ../cli.py:1205
+#: ../cli.py:1593
 msgid "Cleaning up Headers"
 msgstr "S'estan netejant les capçaleres"
 
-#: ../cli.py:1208
+#: ../cli.py:1596
 msgid "Cleaning up Packages"
 msgstr "S'estan netejant els paquets"
 
-#: ../cli.py:1211
+#: ../cli.py:1599
 msgid "Cleaning up xml metadata"
 msgstr "S'estan netejant les metadades xml"
 
-#: ../cli.py:1214
+#: ../cli.py:1602
 msgid "Cleaning up database cache"
 msgstr "S'està netejant la memòria cau de la base de dades"
 
-#: ../cli.py:1217
+#: ../cli.py:1605
 msgid "Cleaning up expire-cache metadata"
 msgstr "S'està netejant la memòria cau de metadades que han vençut"
 
-#: ../cli.py:1220
+#: ../cli.py:1608
 msgid "Cleaning up cached rpmdb data"
 msgstr ""
 
-#: ../cli.py:1223
+#: ../cli.py:1611
 msgid "Cleaning up plugins"
 msgstr "S'estan netejant els connectors"
 
-#: ../cli.py:1247
-#, python-format
-msgid "Warning: No groups match: %s"
+#: ../cli.py:1727
+msgid "Installed Environment Groups:"
 msgstr ""
 
-#: ../cli.py:1264
+#: ../cli.py:1728
+msgid "Available Environment Groups:"
+msgstr ""
+
+#: ../cli.py:1735
 msgid "Installed Groups:"
 msgstr "Grups instal·lats:"
 
-#: ../cli.py:1270
+#: ../cli.py:1742
 msgid "Installed Language Groups:"
 msgstr ""
 
-#: ../cli.py:1276
+#: ../cli.py:1749
 msgid "Available Groups:"
 msgstr "Grups disponibles:"
 
-#: ../cli.py:1282
+#: ../cli.py:1756
 msgid "Available Language Groups:"
 msgstr ""
 
-#: ../cli.py:1285
+#: ../cli.py:1759
+#, python-format
+msgid "Warning: No Environments/Groups match: %s"
+msgstr ""
+
+#: ../cli.py:1763
 msgid "Done"
 msgstr "Fet"
 
-#: ../cli.py:1296 ../cli.py:1314 ../cli.py:1320 ../yum/__init__.py:3313
+#: ../cli.py:1818
+#, python-format
+msgid "Warning: Group/Environment %s does not exist."
+msgstr ""
+
+#: ../cli.py:1859
+#, python-format
+msgid "Warning: Environment %s does not exist."
+msgstr ""
+
+#: ../cli.py:1873 ../cli.py:1879 ../yum/__init__.py:4254
 #, python-format
 msgid "Warning: Group %s does not exist."
 msgstr "Avís: El grup %s no existeix."
 
-#: ../cli.py:1324
+#: ../cli.py:1883
 msgid "No packages in any requested group available to install or update"
-msgstr ""
-"No hi ha cap paquet disponible per a instal·lar o actualitzar en els grups "
-"sol·licitats"
+msgstr "No hi ha cap paquet disponible per a instal·lar o actualitzar en els grups sol·licitats"
+
+#: ../cli.py:1885
+#, python-format
+msgid "%d package to Install"
+msgid_plural "%d packages to Install"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:1326
+#: ../cli.py:1919 ../yum/__init__.py:3536 ../yum/__init__.py:3766
+#: ../yum/__init__.py:3824
 #, python-format
-msgid "%d Package(s) to Install"
-msgstr "%d paquets a instal·lar"
+msgid "No Environment named %s exists"
+msgstr ""
 
-#: ../cli.py:1336 ../yum/__init__.py:3325
+#: ../cli.py:1935 ../yum/__init__.py:4282
 #, python-format
 msgid "No group named %s exists"
 msgstr "No existeix cap grup anomenat %s"
 
-#: ../cli.py:1342
+#: ../cli.py:1945
 msgid "No packages to remove from groups"
 msgstr "No hi ha cap paquet a suprimir dels grups"
 
-#: ../cli.py:1344
+#: ../cli.py:1947 ../yumcommands.py:3351
 #, python-format
-msgid "%d Package(s) to remove"
-msgstr "%d paquets a suprimir"
+msgid "%d package to remove"
+msgid_plural "%d packages to remove"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:1386
+#: ../cli.py:1988
 #, python-format
 msgid "Package %s is already installed, skipping"
 msgstr "El paquet %s ja està instal·lat, s'ometrà"
 
-#: ../cli.py:1397
+#: ../cli.py:1999
 #, python-format
 msgid "Discarding non-comparable pkg %s.%s"
 msgstr "S'està descartant el paquet no comparable %s.%s"
 
 #. we've not got any installed that match n or n+a
-#: ../cli.py:1423
+#: ../cli.py:2025
 #, python-format
 msgid "No other %s installed, adding to list for potential install"
-msgstr ""
-"No hi ha cap altre %s instal·lat, s'afegeix a la llista per a una possible "
-"instal·lació"
+msgstr "No hi ha cap altre %s instal·lat, s'afegeix a la llista per a una possible instal·lació"
 
-#: ../cli.py:1443
+#: ../cli.py:2045
 msgid "Plugin Options"
 msgstr "Opcions del connector"
 
-#: ../cli.py:1451
+#: ../cli.py:2057
 #, python-format
 msgid "Command line error: %s"
 msgstr "Error en la línia d'ordres: %s"
 
-#: ../cli.py:1467
+#: ../cli.py:2079
 #, python-format
 msgid ""
 "\n"
 "\n"
 "%s: %s option requires an argument"
-msgstr ""
-"\n"
-"\n"
-"%s: l'opció %s necessita un argument"
+msgstr "\n\n%s: l'opció %s necessita un argument"
 
-#: ../cli.py:1521
+#: ../cli.py:2147
 msgid "--color takes one of: auto, always, never"
 msgstr "--color pren un valor d'entre: auto, always, never"
 
 #. We have a relative installroot ... haha
-#: ../cli.py:1596
+#: ../cli.py:2218
 #, python-format
 msgid "--installroot must be an absolute path: %s"
 msgstr ""
 
-#: ../cli.py:1642
+#: ../cli.py:2272
 msgid "show this help message and exit"
 msgstr "mostra el missatge d'ajuda i surt"
 
-#: ../cli.py:1646
+#: ../cli.py:2276
 msgid "be tolerant of errors"
 msgstr "sigues tolerant amb els errors"
 
-#: ../cli.py:1649
+#: ../cli.py:2279
 msgid "run entirely from system cache, don't update cache"
 msgstr ""
 
-#: ../cli.py:1652
+#: ../cli.py:2282
 msgid "config file location"
 msgstr "ubicació del fitxer de configuració"
 
-#: ../cli.py:1655
+#: ../cli.py:2285
 msgid "maximum command wait time"
 msgstr "temps màxim d'espera d'ordres"
 
-#: ../cli.py:1657
+#: ../cli.py:2287
 msgid "debugging output level"
 msgstr "nivell de sortida de depuració"
 
-#: ../cli.py:1661
+#: ../cli.py:2291
 msgid "show duplicates, in repos, in list/search commands"
 msgstr "mostra duplicats, en repositoris, en les ordres per llistar i cercar"
 
-#: ../cli.py:1663
+#: ../cli.py:2296
 msgid "error output level"
 msgstr "nivell de sortida d'error"
 
-#: ../cli.py:1666
+#: ../cli.py:2299
 msgid "debugging output level for rpm"
 msgstr ""
 
-#: ../cli.py:1669
+#: ../cli.py:2302
 msgid "quiet operation"
 msgstr "operació silenciosa"
 
-#: ../cli.py:1671
+#: ../cli.py:2304
 msgid "verbose operation"
 msgstr "operació descriptiva"
 
-#: ../cli.py:1673
+#: ../cli.py:2306
 msgid "answer yes for all questions"
 msgstr "respon sí a totes les preguntes"
 
-#: ../cli.py:1675
+#: ../cli.py:2308
+msgid "answer no for all questions"
+msgstr ""
+
+#: ../cli.py:2312
 msgid "show Yum version and exit"
 msgstr "mostra la versió del Yum i surt"
 
-#: ../cli.py:1676
+#: ../cli.py:2313
 msgid "set install root"
 msgstr "estableix l'arrel de la instal·lació"
 
-#: ../cli.py:1680
+#: ../cli.py:2317
 msgid "enable one or more repositories (wildcards allowed)"
-msgstr ""
-"habilita un o més repositoris (es permeten caràcters de reemplaçament)"
+msgstr "habilita un o més repositoris (es permeten caràcters de reemplaçament)"
 
-#: ../cli.py:1684
+#: ../cli.py:2321
 msgid "disable one or more repositories (wildcards allowed)"
-msgstr ""
-"deshabilita un o més repositoris (es permeten caràcters de reemplaçament)"
+msgstr "deshabilita un o més repositoris (es permeten caràcters de reemplaçament)"
 
-#: ../cli.py:1687
+#: ../cli.py:2324
 msgid "exclude package(s) by name or glob"
 msgstr "exclou els paquets per nom o expressió regular del glob"
 
-#: ../cli.py:1689
+#: ../cli.py:2326
 msgid "disable exclude from main, for a repo or for everything"
 msgstr "inhabilita l'exclusió des de l'inici, per a un repositori o per a tot"
 
-#: ../cli.py:1692
+#: ../cli.py:2329
 msgid "enable obsoletes processing during updates"
 msgstr "habilita el processament d'obsolets durant les actualitzacions"
 
-#: ../cli.py:1694
+#: ../cli.py:2331
 msgid "disable Yum plugins"
 msgstr "inhabilita els connectors de Yum"
 
-#: ../cli.py:1696
+#: ../cli.py:2333
 msgid "disable gpg signature checking"
 msgstr "inhabilita la comprobació de signatures gpg"
 
-#: ../cli.py:1698
+#: ../cli.py:2335
 msgid "disable plugins by name"
 msgstr "inhabilita els connectors pel seu nom"
 
-#: ../cli.py:1701
+#: ../cli.py:2338
 msgid "enable plugins by name"
 msgstr "habilita els connectors pel seu nom"
 
-#: ../cli.py:1704
+#: ../cli.py:2341
 msgid "skip packages with depsolving problems"
 msgstr "omet paquets amb problemes de resolució de dependències"
 
-#: ../cli.py:1706
+#: ../cli.py:2343
 msgid "control whether color is used"
 msgstr "controla sempre que s'usi color"
 
-#: ../cli.py:1708
+#: ../cli.py:2345
 msgid "set value of $releasever in yum config and repo files"
 msgstr ""
 
-#: ../cli.py:1710
+#: ../cli.py:2347
+msgid "don't update, just download"
+msgstr ""
+
+#: ../cli.py:2349
+msgid "specifies an alternate directory to store packages"
+msgstr ""
+
+#: ../cli.py:2351
 msgid "set arbitrary config and repo options"
 msgstr ""
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Jan"
 msgstr "Gen"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Feb"
 msgstr "Feb"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Mar"
 msgstr "Mar"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Apr"
 msgstr "Abr"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "May"
 msgstr "Mai"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Jun"
 msgstr "Jun"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Jul"
 msgstr "Jul"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Aug"
 msgstr "Ago"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Sep"
 msgstr "Set"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Oct"
 msgstr "Oct"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Nov"
 msgstr "Nov"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Dec"
 msgstr "Des"
 
-#: ../output.py:318
+#: ../output.py:473
 msgid "Trying other mirror."
 msgstr "S'està intentant un altre servidor rèplica."
 
-#: ../output.py:581
+#: ../output.py:816
 #, python-format
 msgid "Name        : %s%s%s"
 msgstr ""
 
-#: ../output.py:582
+#: ../output.py:817
 #, python-format
 msgid "Arch        : %s"
 msgstr ""
 
-#: ../output.py:584
+#: ../output.py:819
 #, python-format
 msgid "Epoch       : %s"
 msgstr ""
 
-#: ../output.py:585
+#: ../output.py:820
 #, python-format
 msgid "Version     : %s"
 msgstr ""
 
-#: ../output.py:586
+#: ../output.py:821
 #, python-format
 msgid "Release     : %s"
 msgstr ""
 
-#: ../output.py:587
+#: ../output.py:822
 #, python-format
 msgid "Size        : %s"
 msgstr ""
 
-#: ../output.py:588 ../output.py:900
+#: ../output.py:823 ../output.py:1329
 #, python-format
 msgid "Repo        : %s"
 msgstr "Repo        : %s"
 
-#: ../output.py:590
+#: ../output.py:825
 #, python-format
 msgid "From repo   : %s"
 msgstr ""
 
-#: ../output.py:592
+#: ../output.py:827
 #, python-format
 msgid "Committer   : %s"
 msgstr ""
 
-#: ../output.py:593
+#: ../output.py:828
 #, python-format
 msgid "Committime  : %s"
 msgstr ""
 
-#: ../output.py:594
+#: ../output.py:829
 #, python-format
 msgid "Buildtime   : %s"
 msgstr ""
 
-#: ../output.py:596
+#: ../output.py:831
 #, python-format
 msgid "Install time: %s"
 msgstr ""
 
-#: ../output.py:604
+#: ../output.py:839
 #, python-format
 msgid "Installed by: %s"
 msgstr ""
 
-#: ../output.py:611
+#: ../output.py:846
 #, python-format
 msgid "Changed by  : %s"
 msgstr ""
 
-#: ../output.py:612
+#: ../output.py:847
 msgid "Summary     : "
 msgstr ""
 
-#: ../output.py:614 ../output.py:913
+#: ../output.py:849 ../output.py:1345
 #, python-format
 msgid "URL         : %s"
 msgstr "URL         : %s"
 
-#: ../output.py:615
+#: ../output.py:850
 msgid "License     : "
 msgstr ""
 
-#: ../output.py:616 ../output.py:910
+#: ../output.py:851 ../output.py:1342
 msgid "Description : "
 msgstr "Descripció  : "
 
-#: ../output.py:684
+#: ../output.py:969
 msgid "y"
 msgstr "s"
 
-#: ../output.py:684
+#: ../output.py:969
 msgid "yes"
 msgstr "sí"
 
-#: ../output.py:685
+#: ../output.py:970
 msgid "n"
 msgstr "n"
 
-#: ../output.py:685
+#: ../output.py:970
 msgid "no"
 msgstr "no"
 
-#: ../output.py:689
+#: ../output.py:974
 msgid "Is this ok [y/N]: "
 msgstr "És correcte [s/N]: "
 
-#: ../output.py:777
+#: ../output.py:1097
 #, python-format
 msgid ""
 "\n"
 "Group: %s"
-msgstr ""
-"\n"
-"Grup: %s"
+msgstr "\nGrup: %s"
 
-#: ../output.py:781
+#: ../output.py:1101
 #, python-format
 msgid " Group-Id: %s"
 msgstr " Id de Grup: %s"
 
-#: ../output.py:786
+#: ../output.py:1122 ../output.py:1169
 #, python-format
 msgid " Description: %s"
 msgstr " Descripció: %s"
 
-#: ../output.py:788
+#: ../output.py:1124
 #, python-format
 msgid " Language: %s"
 msgstr ""
 
-#: ../output.py:790
+#: ../output.py:1126
 msgid " Mandatory Packages:"
 msgstr " Paquets obligatoris:"
 
-#: ../output.py:791
+#: ../output.py:1127
 msgid " Default Packages:"
 msgstr " Paquets per defecte:"
 
-#: ../output.py:792
+#: ../output.py:1128
 msgid " Optional Packages:"
 msgstr " Paquets opcionals:"
 
-#: ../output.py:793
+#: ../output.py:1129
 msgid " Conditional Packages:"
 msgstr " Paquets condicionals:"
 
-#: ../output.py:814
+#: ../output.py:1147
+msgid " Installed Packages:"
+msgstr ""
+
+#: ../output.py:1157
+#, python-format
+msgid ""
+"\n"
+"Environment Group: %s"
+msgstr ""
+
+#: ../output.py:1158
+#, python-format
+msgid " Environment-Id: %s"
+msgstr ""
+
+#: ../output.py:1191
+msgid " Mandatory Groups:"
+msgstr ""
+
+#: ../output.py:1192
+msgid " Optional Groups:"
+msgstr ""
+
+#: ../output.py:1205
+msgid " Installed Groups:"
+msgstr ""
+
+#: ../output.py:1217
 #, python-format
 msgid "package: %s"
 msgstr "paquet: %s"
 
-#: ../output.py:816
+#: ../output.py:1219
 msgid "  No dependencies for this package"
 msgstr "  No hi ha dependències per a aquest paquet"
 
-#: ../output.py:821
+#: ../output.py:1224
 #, python-format
 msgid "  dependency: %s"
 msgstr "  dependència: %s"
 
-#: ../output.py:823
+#: ../output.py:1226
 msgid "   Unsatisfied dependency"
 msgstr "   Dependència insatisfeta"
 
-#: ../output.py:901
+#: ../output.py:1337
 msgid "Matched from:"
 msgstr "Coincidències amb:"
 
-#: ../output.py:916
+#: ../output.py:1348
 #, python-format
 msgid "License     : %s"
 msgstr "Llicència   : %s"
 
-#: ../output.py:919
+#: ../output.py:1351
 #, python-format
 msgid "Filename    : %s"
 msgstr "Fitxer      : %s"
 
-#: ../output.py:923
+#: ../output.py:1360
+msgid "Provides    : "
+msgstr ""
+
+#: ../output.py:1363
 msgid "Other       : "
 msgstr "Altre       : "
 
-#: ../output.py:966
+#: ../output.py:1426
 msgid "There was an error calculating total download size"
 msgstr "S'ha produït un error en calcular la mida total de la descàrrega"
 
-#: ../output.py:971
+#: ../output.py:1431
 #, python-format
 msgid "Total size: %s"
 msgstr "Mida total: %s"
 
-#: ../output.py:974
+#: ../output.py:1433
 #, python-format
 msgid "Total download size: %s"
 msgstr "Mida total de la descàrrega: %s"
 
-#: ../output.py:978 ../output.py:998
+#: ../output.py:1436 ../output.py:1459 ../output.py:1463
 #, python-format
 msgid "Installed size: %s"
 msgstr ""
 
-#: ../output.py:994
+#: ../output.py:1454
 msgid "There was an error calculating installed size"
 msgstr ""
 
-#: ../output.py:1039
+#: ../output.py:1504
 msgid "Reinstalling"
 msgstr "Tornant a instal·lar"
 
-#: ../output.py:1040
+#: ../output.py:1505
 msgid "Downgrading"
 msgstr "Desfent l'actualització"
 
-#: ../output.py:1041
+#: ../output.py:1506
 msgid "Installing for dependencies"
 msgstr "S'està instal·lant per dependències"
 
-#: ../output.py:1042
+#: ../output.py:1507
 msgid "Updating for dependencies"
 msgstr "S'està actualitzant degut a les dependències"
 
-#: ../output.py:1043
+#: ../output.py:1508
 msgid "Removing for dependencies"
 msgstr "S'està suprimint degut a les dependències"
 
-#: ../output.py:1050 ../output.py:1171
+#: ../output.py:1515 ../output.py:1576 ../output.py:1672
 msgid "Skipped (dependency problems)"
 msgstr "Ignorat degut a problemes de dependències:"
 
-#: ../output.py:1052 ../output.py:1687
+#: ../output.py:1517 ../output.py:1577 ../output.py:2223
 msgid "Not installed"
 msgstr ""
 
-#: ../output.py:1053
+#: ../output.py:1518 ../output.py:1578
 msgid "Not available"
 msgstr ""
 
-#: ../output.py:1075 ../output.py:2024
+#: ../output.py:1540 ../output.py:1588 ../output.py:1604 ../output.py:2581
 msgid "Package"
-msgstr "Paquet"
+msgid_plural "Packages"
+msgstr[0] ""
+msgstr[1] "Paquet"
 
-#: ../output.py:1075
+#: ../output.py:1540
 msgid "Arch"
 msgstr "Arq"
 
-#: ../output.py:1076
+#: ../output.py:1541
 msgid "Version"
 msgstr "Versió"
 
-#: ../output.py:1076
+#: ../output.py:1541
 msgid "Repository"
 msgstr "Repositori"
 
-#: ../output.py:1077
+#: ../output.py:1542
 msgid "Size"
 msgstr "Mida"
 
-#: ../output.py:1089
+#: ../output.py:1554
 #, python-format
 msgid "     replacing  %s%s%s.%s %s\n"
 msgstr ""
 
-#: ../output.py:1098
+#: ../output.py:1563
 #, python-format
 msgid ""
 "\n"
 "Transaction Summary\n"
 "%s\n"
-msgstr ""
-"\n"
-"Resum de la transacció\n"
-"%s\n"
+msgstr "\nResum de la transacció\n%s\n"
 
-#: ../output.py:1109
-#, python-format
-msgid "Install   %5.5s Package(s)\n"
+#: ../output.py:1568 ../output.py:2376 ../output.py:2377
+msgid "Install"
 msgstr ""
 
-#: ../output.py:1113
-#, python-format
-msgid "Upgrade   %5.5s Package(s)\n"
+#: ../output.py:1570
+msgid "Upgrade"
 msgstr ""
 
-#: ../output.py:1117
-#, python-format
-msgid "Remove    %5.5s Package(s)\n"
+#: ../output.py:1572
+msgid "Remove"
 msgstr ""
 
-#: ../output.py:1121
-#, python-format
-msgid "Reinstall %5.5s Package(s)\n"
+#: ../output.py:1574 ../output.py:2382
+msgid "Reinstall"
 msgstr ""
 
-#: ../output.py:1125
-#, python-format
-msgid "Downgrade %5.5s Package(s)\n"
+#: ../output.py:1575 ../output.py:2383
+msgid "Downgrade"
 msgstr ""
 
-#: ../output.py:1165
+#: ../output.py:1606
+msgid "Dependent package"
+msgid_plural "Dependent packages"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../output.py:1666
 msgid "Removed"
 msgstr "Suprimit"
 
-#: ../output.py:1166
+#: ../output.py:1667
 msgid "Dependency Removed"
 msgstr "Dependència suprimida"
 
-#: ../output.py:1168
+#: ../output.py:1669
 msgid "Dependency Installed"
 msgstr "Dependència instal·lada"
 
-#: ../output.py:1170
+#: ../output.py:1671
 msgid "Dependency Updated"
 msgstr "Dependència actualitzada"
 
-#: ../output.py:1172
+#: ../output.py:1673
 msgid "Replaced"
 msgstr "Reemplaçat"
 
-#: ../output.py:1173
+#: ../output.py:1674
 msgid "Failed"
 msgstr "Ha fallat"
 
 #. Delta between C-c's so we treat as exit
-#: ../output.py:1260
+#: ../output.py:1764
 msgid "two"
 msgstr "dos"
 
 #. For translators: This is output like:
 #. Current download cancelled, interrupt (ctrl-c) again within two seconds
 #. to exit.
-#. Where "interupt (ctrl-c) again" and "two" are highlighted.
-#: ../output.py:1271
+#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
+#: ../output.py:1775
 #, python-format
 msgid ""
 "\n"
 " Current download cancelled, %sinterrupt (ctrl-c) again%s within %s%s%s seconds\n"
 "to exit.\n"
-msgstr ""
-"\n"
-" S'ha cancel·lat la descàrrega actual, %sinterromp (crtl-c) de nou%s en %s%s%s segons\n"
-"per a sortir.\n"
+msgstr "\n S'ha cancel·lat la descàrrega actual, %sinterromp (crtl-c) de nou%s en %s%s%s segons\nper a sortir.\n"
 
-#: ../output.py:1282
+#: ../output.py:1786
 msgid "user interrupt"
 msgstr "interrupció de l'usuari"
 
-#: ../output.py:1300
+#: ../output.py:1812
 msgid "Total"
 msgstr "Total"
 
-#: ../output.py:1322
+#: ../output.py:1834
 msgid "I"
 msgstr ""
 
-#: ../output.py:1323
+#: ../output.py:1835
 msgid "O"
 msgstr ""
 
-#: ../output.py:1324
+#: ../output.py:1836
 msgid "E"
 msgstr ""
 
-#: ../output.py:1325
+#: ../output.py:1837
 msgid "R"
 msgstr ""
 
-#: ../output.py:1326
+#: ../output.py:1838
 msgid "D"
 msgstr ""
 
-#: ../output.py:1327
+#: ../output.py:1839
 msgid "U"
 msgstr ""
 
-#: ../output.py:1341
+#: ../output.py:1853
 msgid "<unset>"
 msgstr ""
 
-#: ../output.py:1342
+#: ../output.py:1854
 msgid "System"
 msgstr ""
 
-#: ../output.py:1411
+#: ../output.py:1923
 #, python-format
 msgid "Skipping merged transaction %d to %d, as it overlaps"
 msgstr ""
 
-#: ../output.py:1421 ../output.py:1592
+#: ../output.py:1933 ../output.py:2125
 msgid "No transactions"
 msgstr ""
 
-#: ../output.py:1446 ../output.py:2013
+#: ../output.py:1958 ../output.py:2570 ../output.py:2660
 msgid "Bad transaction IDs, or package(s), given"
 msgstr ""
 
-#: ../output.py:1484
+#: ../output.py:2007
 msgid "Command line"
 msgstr ""
 
-#: ../output.py:1486 ../output.py:1908
+#: ../output.py:2009 ../output.py:2458
 msgid "Login user"
 msgstr ""
 
 #. REALLY Needs to use columns!
-#: ../output.py:1487 ../output.py:2022
+#: ../output.py:2010 ../output.py:2579
 msgid "ID"
 msgstr ""
 
-#: ../output.py:1489
+#: ../output.py:2012
 msgid "Date and time"
 msgstr ""
 
-#: ../output.py:1490 ../output.py:1910 ../output.py:2023
+#: ../output.py:2013 ../output.py:2460 ../output.py:2580
 msgid "Action(s)"
 msgstr ""
 
-#: ../output.py:1491 ../output.py:1911
+#: ../output.py:2014 ../output.py:2461
 msgid "Altered"
 msgstr ""
 
-#: ../output.py:1538
+#: ../output.py:2061
 msgid "No transaction ID given"
 msgstr ""
 
-#: ../output.py:1564 ../output.py:1972
+#: ../output.py:2087 ../output.py:2526
 msgid "Bad transaction ID given"
 msgstr ""
 
-#: ../output.py:1569
+#: ../output.py:2092
 msgid "Not found given transaction ID"
 msgstr ""
 
-#: ../output.py:1577
+#: ../output.py:2100
 msgid "Found more than one transaction ID!"
 msgstr ""
 
-#: ../output.py:1618 ../output.py:1980
+#: ../output.py:2151 ../output.py:2534
 msgid "No transaction ID, or package, given"
 msgstr ""
 
-#: ../output.py:1686 ../output.py:1845
+#: ../output.py:2222 ../output.py:2384
 msgid "Downgraded"
 msgstr ""
 
-#: ../output.py:1688
+#: ../output.py:2224
 msgid "Older"
 msgstr ""
 
-#: ../output.py:1688
+#: ../output.py:2224
 msgid "Newer"
 msgstr ""
 
-#: ../output.py:1724 ../output.py:1726
+#: ../output.py:2261 ../output.py:2263 ../output.py:2681
 msgid "Transaction ID :"
 msgstr ""
 
-#: ../output.py:1728
+#: ../output.py:2265 ../output.py:2683
 msgid "Begin time     :"
 msgstr ""
 
-#: ../output.py:1731 ../output.py:1733
+#: ../output.py:2268 ../output.py:2270
 msgid "Begin rpmdb    :"
 msgstr ""
 
-#: ../output.py:1749
+#: ../output.py:2286
 #, python-format
 msgid "(%u seconds)"
 msgstr ""
 
-#: ../output.py:1751
+#: ../output.py:2288
 #, python-format
 msgid "(%u minutes)"
 msgstr ""
 
-#: ../output.py:1753
+#: ../output.py:2290
 #, python-format
 msgid "(%u hours)"
 msgstr ""
 
-#: ../output.py:1755
+#: ../output.py:2292
 #, python-format
 msgid "(%u days)"
 msgstr ""
 
-#: ../output.py:1756
+#: ../output.py:2293
 msgid "End time       :"
 msgstr ""
 
-#: ../output.py:1759 ../output.py:1761
+#: ../output.py:2296 ../output.py:2298
 msgid "End rpmdb      :"
 msgstr ""
 
-#: ../output.py:1764 ../output.py:1766
+#: ../output.py:2301 ../output.py:2303
 msgid "User           :"
 msgstr ""
 
-#: ../output.py:1770 ../output.py:1773 ../output.py:1775 ../output.py:1777
-#: ../output.py:1779
+#: ../output.py:2307 ../output.py:2310 ../output.py:2312 ../output.py:2314
+#: ../output.py:2316
 msgid "Return-Code    :"
 msgstr ""
 
-#: ../output.py:1770 ../output.py:1775
+#: ../output.py:2307 ../output.py:2312
 msgid "Aborted"
 msgstr ""
 
-#: ../output.py:1773
+#: ../output.py:2310
 msgid "Failures:"
 msgstr ""
 
-#: ../output.py:1777
+#: ../output.py:2314
 msgid "Failure:"
 msgstr ""
 
-#: ../output.py:1779
+#: ../output.py:2316
 msgid "Success"
 msgstr ""
 
-#: ../output.py:1784 ../output.py:1786
+#: ../output.py:2321 ../output.py:2323 ../output.py:2712
 msgid "Command Line   :"
 msgstr ""
 
-#: ../output.py:1795
+#: ../output.py:2332
 #, python-format
 msgid "Additional non-default information stored: %d"
 msgstr ""
 
 #. This is _possible_, but not common
-#: ../output.py:1800
+#: ../output.py:2337
 msgid "Transaction performed with:"
 msgstr ""
 
-#: ../output.py:1804
+#: ../output.py:2341
 msgid "Packages Altered:"
 msgstr ""
 
-#: ../output.py:1808
+#: ../output.py:2345
 msgid "Packages Skipped:"
 msgstr ""
 
-#: ../output.py:1814
+#: ../output.py:2353
 msgid "Rpmdb Problems:"
 msgstr ""
 
-#: ../output.py:1825
+#: ../output.py:2364
 msgid "Scriptlet output:"
 msgstr ""
 
-#: ../output.py:1831
+#: ../output.py:2370
 msgid "Errors:"
 msgstr ""
 
-#: ../output.py:1837 ../output.py:1838
-msgid "Install"
-msgstr ""
-
-#: ../output.py:1839
+#: ../output.py:2378
 msgid "Dep-Install"
 msgstr ""
 
-#: ../output.py:1841
+#: ../output.py:2380
 msgid "Obsoleting"
 msgstr ""
 
-#: ../output.py:1842
+#: ../output.py:2381
 msgid "Erase"
 msgstr ""
 
-#: ../output.py:1843
-msgid "Reinstall"
-msgstr ""
-
-#: ../output.py:1844
-msgid "Downgrade"
-msgstr ""
-
-#: ../output.py:1846
+#: ../output.py:2385
 msgid "Update"
 msgstr ""
 
-#: ../output.py:1909
+#: ../output.py:2459
 msgid "Time"
 msgstr ""
 
-#: ../output.py:1935
+#: ../output.py:2485
 msgid "Last day"
 msgstr ""
 
-#: ../output.py:1936
+#: ../output.py:2486
 msgid "Last week"
 msgstr ""
 
-#: ../output.py:1937
+#: ../output.py:2487
 msgid "Last 2 weeks"
 msgstr ""
 
 #. US default :p
-#: ../output.py:1938
+#: ../output.py:2488
 msgid "Last 3 months"
 msgstr ""
 
-#: ../output.py:1939
+#: ../output.py:2489
 msgid "Last 6 months"
 msgstr ""
 
-#: ../output.py:1940
+#: ../output.py:2490
 msgid "Last year"
 msgstr ""
 
-#: ../output.py:1941
+#: ../output.py:2491
 msgid "Over a year ago"
 msgstr ""
 
-#: ../output.py:1984
+#: ../output.py:2538
 #, python-format
 msgid "No Transaction %s found"
 msgstr ""
 
-#: ../output.py:1990
+#: ../output.py:2544
 msgid "Transaction ID:"
 msgstr ""
 
-#: ../output.py:1991
+#: ../output.py:2545
 msgid "Available additional history information:"
 msgstr ""
 
-#: ../output.py:2003
+#: ../output.py:2558
 #, python-format
 msgid "%s: No additional data found by this name"
 msgstr ""
 
-#: ../output.py:2106
+#: ../output.py:2684
+msgid "Package        :"
+msgstr ""
+
+#: ../output.py:2685
+msgid "State          :"
+msgstr ""
+
+#: ../output.py:2688
+msgid "Size           :"
+msgstr ""
+
+#: ../output.py:2690
+msgid "Build host     :"
+msgstr ""
+
+#: ../output.py:2693
+msgid "Build time     :"
+msgstr ""
+
+#: ../output.py:2695
+msgid "Packager       :"
+msgstr ""
+
+#: ../output.py:2697
+msgid "Vendor         :"
+msgstr ""
+
+#: ../output.py:2699
+msgid "License        :"
+msgstr ""
+
+#: ../output.py:2701
+msgid "URL            :"
+msgstr ""
+
+#: ../output.py:2703
+msgid "Source RPM     :"
+msgstr ""
+
+#: ../output.py:2706
+msgid "Commit Time    :"
+msgstr ""
+
+#: ../output.py:2708
+msgid "Committer      :"
+msgstr ""
+
+#: ../output.py:2710
+msgid "Reason         :"
+msgstr ""
+
+#: ../output.py:2714
+msgid "From repo      :"
+msgstr ""
+
+#: ../output.py:2718
+msgid "Installed by   :"
+msgstr ""
+
+#: ../output.py:2722
+msgid "Changed by     :"
+msgstr ""
+
+#: ../output.py:2767
 msgid "installed"
 msgstr "instal·lat"
 
-#: ../output.py:2107
+#: ../output.py:2768
 msgid "an update"
 msgstr ""
 
-#: ../output.py:2108
+#: ../output.py:2769
 msgid "erased"
 msgstr "suprimit"
 
-#: ../output.py:2109
+#: ../output.py:2770
 msgid "reinstalled"
 msgstr ""
 
-#: ../output.py:2110
+#: ../output.py:2771
 msgid "a downgrade"
 msgstr ""
 
-#: ../output.py:2111
+#: ../output.py:2772
 msgid "obsoleting"
 msgstr ""
 
-#: ../output.py:2112
+#: ../output.py:2773
 msgid "updated"
 msgstr "actualitzat"
 
-#: ../output.py:2113
+#: ../output.py:2774
 msgid "obsoleted"
 msgstr "obsolet"
 
-#: ../output.py:2117
+#: ../output.py:2778
 #, python-format
 msgid "---> Package %s.%s %s:%s-%s will be %s"
 msgstr ""
 
-#: ../output.py:2124
+#: ../output.py:2789
 msgid "--> Running transaction check"
 msgstr "--> S'està executant la transacció de prova"
 
-#: ../output.py:2129
+#: ../output.py:2795
 msgid "--> Restarting Dependency Resolution with new changes."
-msgstr ""
-"--> Tornant a calcular la resolució de dependències amb els nous canvis."
+msgstr "--> Tornant a calcular la resolució de dependències amb els nous canvis."
 
-#: ../output.py:2134
+#: ../output.py:2801
 msgid "--> Finished Dependency Resolution"
 msgstr "--> Ha finalitzat la resolució de dependències"
 
-#: ../output.py:2139 ../output.py:2144
+#: ../output.py:2814 ../output.py:2827
 #, python-format
 msgid "--> Processing Dependency: %s for package: %s"
 msgstr "--> S'està processant la dependència %s per al paquet: %s"
 
-#: ../output.py:2149
+#: ../output.py:2841
 #, python-format
-msgid "---> Keeping package: %s"
+msgid "---> Keeping package: %s due to %s"
 msgstr ""
 
-#: ../output.py:2152
+#: ../output.py:2850
 #, python-format
 msgid "--> Unresolved Dependency: %s"
 msgstr "--> Dependència no resolta: %s"
 
-#: ../output.py:2163
+#: ../output.py:2867
 #, python-format
 msgid "Package: %s"
 msgstr ""
 
-#: ../output.py:2165
+#: ../output.py:2869
 #, python-format
 msgid ""
 "\n"
 "    Requires: %s"
 msgstr ""
 
-#: ../output.py:2174
+#: ../output.py:2878
 #, python-format
 msgid ""
 "\n"
 "    %s: %s (%s)"
 msgstr ""
 
-#: ../output.py:2179
+#: ../output.py:2883
 #, python-format
 msgid ""
 "\n"
 "        %s"
 msgstr ""
 
-#: ../output.py:2181
+#: ../output.py:2885
 msgid ""
 "\n"
 "        Not found"
 msgstr ""
 
 #. These should be the only three things we care about:
-#: ../output.py:2196
+#: ../output.py:2900
 msgid "Updated By"
 msgstr ""
 
-#: ../output.py:2197
+#: ../output.py:2901
 msgid "Downgraded By"
 msgstr ""
 
-#: ../output.py:2198
+#: ../output.py:2902
 msgid "Obsoleted By"
 msgstr ""
 
-#: ../output.py:2216
+#: ../output.py:2920
 msgid "Available"
 msgstr ""
 
-#: ../output.py:2243 ../output.py:2248
+#: ../output.py:2955 ../output.py:2968
 #, python-format
 msgid "--> Processing Conflict: %s conflicts %s"
 msgstr "--> S'està processant el conflicte: %s té un conflicte amb %s"
 
-#: ../output.py:2252
+#: ../output.py:2974
 msgid "--> Populating transaction set with selected packages. Please wait."
-msgstr ""
-"--> S'està poblant la transacció amb els paquets sel·leccionats. Si us plau,"
-" espereu."
+msgstr "--> S'està poblant la transacció amb els paquets sel·leccionats. Si us plau, espereu."
 
-#: ../output.py:2256
+#: ../output.py:2983
 #, python-format
 msgid "---> Downloading header for %s to pack into transaction set."
+msgstr "---> S'està baixant la capçalera per a %s per a empaquetar dins de la transacció de prova."
+
+#. self.event(txmbr.name, count, len(base.tsInfo), count, )
+#. (te_current*100L)/te_total
+#: ../output.py:3248
+msgid "Verifying"
 msgstr ""
-"---> S'està baixant la capçalera per a %s per a empaquetar dins de la "
-"transacció de prova."
 
-#: ../utils.py:99
+#: ../utils.py:123
 msgid "Running"
 msgstr "S'està executant"
 
-#: ../utils.py:100
+#: ../utils.py:124
 msgid "Sleeping"
 msgstr "Està dormint"
 
-#: ../utils.py:101
+#: ../utils.py:125
 msgid "Uninterruptible"
 msgstr ""
 
-#: ../utils.py:102
+#: ../utils.py:126
 msgid "Zombie"
 msgstr "Zombi"
 
-#: ../utils.py:103
+#: ../utils.py:127
 msgid "Traced/Stopped"
 msgstr "Traçat/aturat"
 
-#: ../utils.py:104 ../yumcommands.py:994
+#: ../utils.py:128 ../yumcommands.py:2193
 msgid "Unknown"
 msgstr "Desconegut"
 
-#: ../utils.py:115
+#: ../utils.py:153
 msgid "  The other application is: PackageKit"
 msgstr "  L'altre aplicatiu és: PackageKit"
 
-#: ../utils.py:117
+#: ../utils.py:155
 #, python-format
 msgid "  The other application is: %s"
 msgstr "  L'altre aplicatiu és: %s"
 
-#: ../utils.py:120
+#: ../utils.py:158
 #, python-format
 msgid "    Memory : %5s RSS (%5sB VSZ)"
 msgstr "    Memòria : %5s RSS (%5sB VSZ)"
 
-#: ../utils.py:125
+#: ../utils.py:163
 #, python-format
 msgid "    Started: %s - %s ago"
 msgstr "    Iniciat: fa %s-%s"
 
-#: ../utils.py:127
+#: ../utils.py:165
 #, python-format
 msgid "    State  : %s, pid: %d"
 msgstr "    Estat  : %s, pid: %d"
 
-#: ../utils.py:170 ../yummain.py:43
+#: ../utils.py:194 ../yummain.py:43
 msgid ""
 "\n"
 "\n"
 "Exiting on user cancel"
-msgstr ""
-"\n"
-"\n"
-"S'està sortint per la cancel·lació de l'usuari"
+msgstr "\n\nS'està sortint per la cancel·lació de l'usuari"
 
-#: ../utils.py:176 ../yummain.py:49
+#: ../utils.py:206 ../yummain.py:49
 msgid ""
 "\n"
 "\n"
 "Exiting on Broken Pipe"
-msgstr ""
-"\n"
-"\n"
-"S'està sortint en trobar la canonada trencada"
+msgstr "\n\nS'està sortint en trobar la canonada trencada"
 
-#: ../utils.py:178 ../yummain.py:51
+#: ../utils.py:208 ../yummain.py:51
 #, python-format
 msgid ""
 "\n"
 "\n"
 "%s"
-msgstr ""
-"\n"
-"\n"
-"%s"
-
-#: ../utils.py:228 ../yummain.py:123
-msgid ""
-"Another app is currently holding the yum lock; exiting as configured by "
-"exit_on_lock"
-msgstr ""
+msgstr "\n\n%s"
 
-#: ../utils.py:287
+#: ../utils.py:326
 #, python-format
 msgid "PluginExit Error: %s"
 msgstr ""
 
-#: ../utils.py:290
+#: ../utils.py:329
 #, python-format
 msgid "Yum Error: %s"
 msgstr ""
 
-#: ../utils.py:342 ../yummain.py:150 ../yummain.py:189
+#: ../utils.py:387 ../yummain.py:147 ../yummain.py:186
 #, python-format
 msgid "Error: %s"
 msgstr "Error: %s"
 
-#: ../utils.py:346 ../yummain.py:194
+#: ../utils.py:391 ../yummain.py:191
 msgid " You could try using --skip-broken to work around the problem"
 msgstr " Hauríeu de provar utilitzant --skip-broken per evitar el problema"
 
-#: ../utils.py:348 ../yummain.py:87
+#: ../utils.py:393 ../yummain.py:87
 msgid " You could try running: rpm -Va --nofiles --nodigest"
 msgstr ""
 
-#: ../utils.py:355 ../yummain.py:160 ../yummain.py:202
+#: ../utils.py:400 ../yummain.py:157 ../yummain.py:199
 #, python-format
 msgid "Unknown Error(s): Exit Code: %d:"
 msgstr "Errors desconeguts: Codi de sortida: %d:"
 
-#: ../utils.py:361 ../yummain.py:208
+#: ../utils.py:406 ../yummain.py:205
 msgid ""
 "\n"
 "Dependencies Resolved"
-msgstr ""
-"\n"
-"Dependències resoltes"
+msgstr "\nDependències resoltes"
 
-#: ../utils.py:376 ../yummain.py:234
+#: ../utils.py:422 ../yummain.py:237
 msgid "Complete!"
 msgstr "Completat!"
 
@@ -1511,7 +1650,7 @@ msgstr ""
 msgid "You need to be root to perform this command."
 msgstr "Heu de ser root per a executar aquesta ordre."
 
-#: ../yumcommands.py:59
+#: ../yumcommands.py:67
 msgid ""
 "\n"
 "You have enabled checking of packages via GPG keys. This is a good thing. \n"
@@ -1526,587 +1665,650 @@ msgid ""
 "will install it for you.\n"
 "\n"
 "For more information contact your distribution or package provider.\n"
-msgstr ""
-"\n"
-"Heu habilitat la comprovació de paquets utilitzant claus GPG. És una bona opció. \n"
-"No obstant, no teniu cap clau pública GPG instal·lada. Necessiteu baixar\n"
-"les claus per als paquets que desitgeu instal·lar i instal·lar-les.\n"
-"Podeu fer-ho executant l'ordre:\n"
-"    rpm --import clau.pública.gpg\n"
-"\n"
-"\n"
-"També podeu especificar la url de la clau que voleu utilitzar\n"
-"per a un repositori en l'opció 'gpgkey' en la secció d'un repositori i yum \n"
-"la instal·larà per vosaltres.\n"
-"\n"
-"Per a més informació contacteu el vostre distribuïdor o proveïdor de paquets.\n"
+msgstr "\nHeu habilitat la comprovació de paquets utilitzant claus GPG. És una bona opció. \nNo obstant, no teniu cap clau pública GPG instal·lada. Necessiteu baixar\nles claus per als paquets que desitgeu instal·lar i instal·lar-les.\nPodeu fer-ho executant l'ordre:\n    rpm --import clau.pública.gpg\n\n\nTambé podeu especificar la url de la clau que voleu utilitzar\nper a un repositori en l'opció 'gpgkey' en la secció d'un repositori i yum \nla instal·larà per vosaltres.\n\nPer a més informació contacteu el vostre distribuïdor o proveïdor de paquets.\n"
 
-#: ../yumcommands.py:74
+#: ../yumcommands.py:82
 #, python-format
 msgid "Problem repository: %s"
 msgstr ""
 
-#: ../yumcommands.py:80
+#: ../yumcommands.py:96
 #, python-format
 msgid "Error: Need to pass a list of pkgs to %s"
 msgstr "Error: es necessita passar una llista de paquets a %s"
 
-#: ../yumcommands.py:86
+#: ../yumcommands.py:114
+#, python-format
+msgid "Error: Need at least two packages to %s"
+msgstr ""
+
+#: ../yumcommands.py:129
+#, python-format
+msgid "Error: Need to pass a repoid. and command to %s"
+msgstr ""
+
+#: ../yumcommands.py:136 ../yumcommands.py:142
+#, python-format
+msgid "Error: Need to pass a single valid repoid. to %s"
+msgstr ""
+
+#: ../yumcommands.py:147
+#, python-format
+msgid "Error: Repo %s is not enabled"
+msgstr ""
+
+#: ../yumcommands.py:164
 msgid "Error: Need an item to match"
 msgstr "Error: es necessita algun element per comparar"
 
-#: ../yumcommands.py:92
+#: ../yumcommands.py:178
 msgid "Error: Need a group or list of groups"
 msgstr "Error: es necessita un grup o una llista de grups"
 
-#: ../yumcommands.py:101
+#: ../yumcommands.py:195
 #, python-format
 msgid "Error: clean requires an option: %s"
 msgstr "Error: la neteja requereix una opció: %s"
 
-#: ../yumcommands.py:106
+#: ../yumcommands.py:201
 #, python-format
 msgid "Error: invalid clean argument: %r"
 msgstr "Error: argument invàlid per a la neteja: %r"
 
-#: ../yumcommands.py:119
+#: ../yumcommands.py:216
 msgid "No argument to shell"
 msgstr "No hi ha arguments per a l'intèrpret d'ordres"
 
-#: ../yumcommands.py:121
+#: ../yumcommands.py:218
 #, python-format
 msgid "Filename passed to shell: %s"
 msgstr "Nom del fitxer passat a l'intèrpret d'ordres: %s"
 
-#: ../yumcommands.py:125
+#: ../yumcommands.py:222
 #, python-format
 msgid "File %s given as argument to shell does not exist."
 msgstr "El fitxer %s donat com a argument a l'intèrpret d'ordres no existeix."
 
-#: ../yumcommands.py:131
+#: ../yumcommands.py:228
 msgid "Error: more than one file given as argument to shell."
-msgstr ""
-"Error: s'ha donat més d'un fitxer com a argument per a l'intèrpret d'ordres."
+msgstr "Error: s'ha donat més d'un fitxer com a argument per a l'intèrpret d'ordres."
 
-#: ../yumcommands.py:148
+#: ../yumcommands.py:247
 msgid ""
 "There are no enabled repos.\n"
 " Run \"yum repolist all\" to see the repos you have.\n"
 " You can enable repos with yum-config-manager --enable <repo>"
 msgstr ""
 
-#: ../yumcommands.py:200
+#: ../yumcommands.py:383
 msgid "PACKAGE..."
 msgstr "PAQUET..."
 
-#: ../yumcommands.py:203
+#: ../yumcommands.py:390
 msgid "Install a package or packages on your system"
 msgstr "Instal·la un o més paquets al vostre sistema"
 
-#: ../yumcommands.py:212
+#: ../yumcommands.py:421
 msgid "Setting up Install Process"
 msgstr "S'està preparant el procés d'instal·lació"
 
-#: ../yumcommands.py:223 ../yumcommands.py:245
+#: ../yumcommands.py:447 ../yumcommands.py:507
 msgid "[PACKAGE...]"
 msgstr "[PAQUET...]"
 
-#: ../yumcommands.py:226
+#: ../yumcommands.py:454
 msgid "Update a package or packages on your system"
 msgstr "S'ha actualitzat un o més paquets al vostre sistema"
 
-#: ../yumcommands.py:234
+#: ../yumcommands.py:483
 msgid "Setting up Update Process"
 msgstr "S'està preparant el procés d'actualització"
 
-#: ../yumcommands.py:248
+#: ../yumcommands.py:514
 msgid "Synchronize installed packages to the latest available versions"
 msgstr ""
 
-#: ../yumcommands.py:256
+#: ../yumcommands.py:543
 msgid "Setting up Distribution Synchronization Process"
 msgstr ""
 
-#: ../yumcommands.py:299
+#: ../yumcommands.py:603
 msgid "Display details about a package or group of packages"
 msgstr "Mostra detalls sobre un paquet o un grup de paquets"
 
-#: ../yumcommands.py:348
+#: ../yumcommands.py:672
 msgid "Installed Packages"
 msgstr "Paquets instal·lats"
 
-#: ../yumcommands.py:356
+#: ../yumcommands.py:682
 msgid "Available Packages"
 msgstr "Paquets disponibles"
 
-#: ../yumcommands.py:360
+#: ../yumcommands.py:687
 msgid "Extra Packages"
 msgstr "Paquets extra"
 
-#: ../yumcommands.py:364
+#: ../yumcommands.py:691
 msgid "Updated Packages"
 msgstr "Paquets actualitzats"
 
 #. This only happens in verbose mode
-#: ../yumcommands.py:372 ../yumcommands.py:379 ../yumcommands.py:667
+#: ../yumcommands.py:699 ../yumcommands.py:706 ../yumcommands.py:1539
 msgid "Obsoleting Packages"
 msgstr "Paquets obsolets"
 
-#: ../yumcommands.py:381
+#: ../yumcommands.py:708
 msgid "Recently Added Packages"
 msgstr "Paquets recentment afegits"
 
-#: ../yumcommands.py:388
+#: ../yumcommands.py:715
 msgid "No matching Packages to list"
 msgstr "No hi ha paquets coincidents per llistar"
 
-#: ../yumcommands.py:402
+#: ../yumcommands.py:766
 msgid "List a package or groups of packages"
 msgstr "Llista un paquet o un grup de paquets"
 
-#: ../yumcommands.py:414
+#: ../yumcommands.py:797
 msgid "Remove a package or packages from your system"
 msgstr "Suprimeix un o més paquets del vostre sistema"
 
-#: ../yumcommands.py:421
+#: ../yumcommands.py:845
 msgid "Setting up Remove Process"
 msgstr "S'està preparant el procés de supressió"
 
-#: ../yumcommands.py:435
+#: ../yumcommands.py:906
+msgid "Display, or use, the groups information"
+msgstr ""
+
+#: ../yumcommands.py:909
 msgid "Setting up Group Process"
 msgstr "S'està preparant el procés de grup"
 
-#: ../yumcommands.py:441
+#: ../yumcommands.py:915
 msgid "No Groups on which to run command"
 msgstr "No hi ha cap grup on executar l'ordre"
 
-#: ../yumcommands.py:454
-msgid "List available package groups"
-msgstr "Llista els grups de paquets disponibles"
-
-#: ../yumcommands.py:474
-msgid "Install the packages in a group on your system"
-msgstr "Instal·la els paquets en un grup en el vostre sistema"
+#: ../yumcommands.py:985
+#, python-format
+msgid "Invalid groups sub-command, use: %s."
+msgstr ""
 
-#: ../yumcommands.py:497
-msgid "Remove the packages in a group from your system"
-msgstr "Suprimeix els paquets en un grup en el vostre sistema"
+#: ../yumcommands.py:992
+msgid "There is no installed groups file."
+msgstr ""
 
-#: ../yumcommands.py:525
-msgid "Display details about a package group"
-msgstr "Mostra detalls sobre un grup de paquets"
+#: ../yumcommands.py:994
+msgid "You don't have access to the groups DB."
+msgstr ""
 
-#: ../yumcommands.py:550
+#: ../yumcommands.py:1256
 msgid "Generate the metadata cache"
 msgstr "Genera les metadades de la memòria cau"
 
-#: ../yumcommands.py:556
+#: ../yumcommands.py:1282
 msgid "Making cache files for all metadata files."
-msgstr ""
-"S'estan fent els fitxers de memòria cau per a tots els fitxers de metadades."
+msgstr "S'estan fent els fitxers de memòria cau per a tots els fitxers de metadades."
 
-#: ../yumcommands.py:557
+#: ../yumcommands.py:1283
 msgid "This may take a while depending on the speed of this computer"
-msgstr ""
-"Això pot trigar una estona depenent de la velocitat d'aquest ordinador"
+msgstr "Això pot trigar una estona depenent de la velocitat d'aquest ordinador"
 
-#: ../yumcommands.py:578
+#: ../yumcommands.py:1312
 msgid "Metadata Cache Created"
 msgstr "S'han creat les metadades per a la memòria cau"
 
-#: ../yumcommands.py:592
+#: ../yumcommands.py:1350
 msgid "Remove cached data"
 msgstr "S'han suprimit les dades de la memòria cau"
 
-#: ../yumcommands.py:613
+#: ../yumcommands.py:1417
 msgid "Find what package provides the given value"
 msgstr "Troba quin paquet proporciona el valor donat"
 
-#: ../yumcommands.py:633
+#: ../yumcommands.py:1485
 msgid "Check for available package updates"
 msgstr "Comprova si hi ha actualitzacions de paquets disponibles"
 
-#: ../yumcommands.py:687
+#: ../yumcommands.py:1587
 msgid "Search package details for the given string"
 msgstr "Busca detalls del paquet per la cadena donada"
 
-#: ../yumcommands.py:693
+#: ../yumcommands.py:1613
 msgid "Searching Packages: "
 msgstr "S'estan buscant paquets: "
 
-#: ../yumcommands.py:710
+#: ../yumcommands.py:1666
 msgid "Update packages taking obsoletes into account"
 msgstr "Actualitza paquets tenint en compte els obsolets"
 
-#: ../yumcommands.py:719
+#: ../yumcommands.py:1696
 msgid "Setting up Upgrade Process"
 msgstr "S'està preparant el procés d'actualització"
 
-#: ../yumcommands.py:737
+#: ../yumcommands.py:1731
 msgid "Install a local RPM"
 msgstr "Instal·la un RPM local"
 
-#: ../yumcommands.py:745
+#: ../yumcommands.py:1761
 msgid "Setting up Local Package Process"
 msgstr "S'està configurant el procés local de paquets"
 
-#: ../yumcommands.py:764
-msgid "Determine which package provides the given dependency"
-msgstr "Determina quin paquet satisfà la dependència donada"
-
-#: ../yumcommands.py:767
+#: ../yumcommands.py:1825
 msgid "Searching Packages for Dependency:"
 msgstr "S'estan buscant paquets per a la dependència:"
 
-#: ../yumcommands.py:781
+#: ../yumcommands.py:1867
 msgid "Run an interactive yum shell"
 msgstr "Executa un intèrpret d'ordres interactiu de yum"
 
-#: ../yumcommands.py:787
+#: ../yumcommands.py:1893
 msgid "Setting up Yum Shell"
 msgstr "S'està preparant l'intèrpret d'ordres de yum"
 
-#: ../yumcommands.py:805
+#: ../yumcommands.py:1936
 msgid "List a package's dependencies"
 msgstr "Llista les dependències d'un paquet"
 
-#: ../yumcommands.py:811
+#: ../yumcommands.py:1963
 msgid "Finding dependencies: "
 msgstr "S'estan trobant dependències: "
 
-#: ../yumcommands.py:827
+#: ../yumcommands.py:2005
 msgid "Display the configured software repositories"
 msgstr "Mostra els repositoris de programari configurats"
 
-#: ../yumcommands.py:893 ../yumcommands.py:894
+#: ../yumcommands.py:2094 ../yumcommands.py:2095
 msgid "enabled"
 msgstr "habilitat"
 
-#: ../yumcommands.py:920 ../yumcommands.py:921
+#: ../yumcommands.py:2121 ../yumcommands.py:2122
 msgid "disabled"
 msgstr "deshabilitat"
 
-#: ../yumcommands.py:937
+#: ../yumcommands.py:2137
 msgid "Repo-id      : "
 msgstr "Id-repo           : "
 
-#: ../yumcommands.py:938
+#: ../yumcommands.py:2138
 msgid "Repo-name    : "
 msgstr "Nom-repo          : "
 
-#: ../yumcommands.py:941
+#: ../yumcommands.py:2141
 msgid "Repo-status  : "
 msgstr "Estat-repo        : "
 
-#: ../yumcommands.py:944
+#: ../yumcommands.py:2144
 msgid "Repo-revision: "
 msgstr "Repo-revisió      : "
 
-#: ../yumcommands.py:948
+#: ../yumcommands.py:2148
 msgid "Repo-tags    : "
 msgstr "Repo-etiquetes    : "
 
-#: ../yumcommands.py:954
+#: ../yumcommands.py:2154
 msgid "Repo-distro-tags: "
 msgstr "Repo-etiq-dist    : "
 
-#: ../yumcommands.py:959
+#: ../yumcommands.py:2159
 msgid "Repo-updated : "
 msgstr "Repo-actualitzat  : "
 
-#: ../yumcommands.py:961
+#: ../yumcommands.py:2161
 msgid "Repo-pkgs    : "
 msgstr "Paquets-repo      : "
 
-#: ../yumcommands.py:962
+#: ../yumcommands.py:2162
 msgid "Repo-size    : "
 msgstr "Mida-repo         : "
 
-#: ../yumcommands.py:969 ../yumcommands.py:990
+#: ../yumcommands.py:2169 ../yumcommands.py:2190
 msgid "Repo-baseurl : "
 msgstr "URL-base-repo     : "
 
-#: ../yumcommands.py:977
+#: ../yumcommands.py:2177
 msgid "Repo-metalink: "
 msgstr "Repo-metaenllaç   : "
 
-#: ../yumcommands.py:981
+#: ../yumcommands.py:2181
 msgid "  Updated    : "
 msgstr "  Actualitzat     : "
 
-#: ../yumcommands.py:984
+#: ../yumcommands.py:2184
 msgid "Repo-mirrors : "
 msgstr "Miralls-repo      : "
 
-#: ../yumcommands.py:1000
+#: ../yumcommands.py:2199
 #, python-format
 msgid "Never (last: %s)"
 msgstr "Mai (últim: %s)"
 
-#: ../yumcommands.py:1002
+#: ../yumcommands.py:2201
 #, python-format
 msgid "Instant (last: %s)"
 msgstr "Temps d'instal·lació (últim: %s)"
 
-#: ../yumcommands.py:1005
+#: ../yumcommands.py:2204
 #, python-format
 msgid "%s second(s) (last: %s)"
 msgstr "%s segons (últim: %s)"
 
-#: ../yumcommands.py:1007
+#: ../yumcommands.py:2206
 msgid "Repo-expire  : "
 msgstr "Venç-repo   : "
 
-#: ../yumcommands.py:1010
+#: ../yumcommands.py:2209
 msgid "Repo-exclude : "
 msgstr "Repo-exclou : "
 
-#: ../yumcommands.py:1014
+#: ../yumcommands.py:2213
 msgid "Repo-include : "
 msgstr "Repo-inclou : "
 
-#: ../yumcommands.py:1018
+#: ../yumcommands.py:2217
 msgid "Repo-excluded: "
 msgstr ""
 
-#: ../yumcommands.py:1022
+#: ../yumcommands.py:2221
 msgid "Repo-filename: "
 msgstr ""
 
 #. Work out the first (id) and last (enabled/disalbed/count),
 #. then chop the middle (name)...
-#: ../yumcommands.py:1032 ../yumcommands.py:1061
+#: ../yumcommands.py:2230 ../yumcommands.py:2259
 msgid "repo id"
 msgstr "id repo"
 
-#: ../yumcommands.py:1049 ../yumcommands.py:1050 ../yumcommands.py:1068
+#: ../yumcommands.py:2247 ../yumcommands.py:2248 ../yumcommands.py:2266
 msgid "status"
 msgstr "estat"
 
-#: ../yumcommands.py:1062
+#: ../yumcommands.py:2260
 msgid "repo name"
 msgstr "nom repo"
 
-#: ../yumcommands.py:1099
+#: ../yumcommands.py:2332
 msgid "Display a helpful usage message"
 msgstr "Mostra un missatge d'ajuda d'ús"
 
-#: ../yumcommands.py:1133
+#: ../yumcommands.py:2374
 #, python-format
 msgid "No help available for %s"
 msgstr "No hi ha ajuda disponible per a %s"
 
-#: ../yumcommands.py:1138
+#: ../yumcommands.py:2379
 msgid ""
 "\n"
 "\n"
 "aliases: "
-msgstr ""
-"\n"
-"\n"
-"àlies: "
+msgstr "\n\nàlies: "
 
-#: ../yumcommands.py:1140
+#: ../yumcommands.py:2381
 msgid ""
 "\n"
 "\n"
 "alias: "
-msgstr ""
-"\n"
-"\n"
-"àlies: "
+msgstr "\n\nàlies: "
 
-#: ../yumcommands.py:1168
+#: ../yumcommands.py:2466
 msgid "Setting up Reinstall Process"
 msgstr "S'està preparant el procés de reinstal·lació"
 
-#: ../yumcommands.py:1176
+#: ../yumcommands.py:2478
 msgid "reinstall a package"
 msgstr "reinstal·la un paquet"
 
-#: ../yumcommands.py:1195
+#: ../yumcommands.py:2541
 msgid "Setting up Downgrade Process"
 msgstr "S'està preparant el procés de desactualització"
 
-#: ../yumcommands.py:1202
+#: ../yumcommands.py:2552
 msgid "downgrade a package"
 msgstr "desactualitza un paquet"
 
-#: ../yumcommands.py:1216
+#: ../yumcommands.py:2591
 msgid "Display a version for the machine and/or available repos."
 msgstr "Mostra una versió per a la màquina i/o repositoris disponibles"
 
-#: ../yumcommands.py:1255
+#: ../yumcommands.py:2643
 msgid " Yum version groups:"
 msgstr ""
 
-#: ../yumcommands.py:1265
+#: ../yumcommands.py:2653
 msgid " Group   :"
 msgstr ""
 
-#: ../yumcommands.py:1266
+#: ../yumcommands.py:2654
 msgid " Packages:"
 msgstr ""
 
-#: ../yumcommands.py:1295
+#: ../yumcommands.py:2683
 msgid "Installed:"
 msgstr "Instal·lat:"
 
-#: ../yumcommands.py:1303
+#: ../yumcommands.py:2691
 msgid "Group-Installed:"
 msgstr ""
 
-#: ../yumcommands.py:1312
+#: ../yumcommands.py:2700
 msgid "Available:"
 msgstr "Disponible:"
 
-#: ../yumcommands.py:1321
+#: ../yumcommands.py:2709
 msgid "Group-Available:"
 msgstr ""
 
-#: ../yumcommands.py:1360
+#: ../yumcommands.py:2783
 msgid "Display, or use, the transaction history"
 msgstr ""
 
-#: ../yumcommands.py:1432
+#: ../yumcommands.py:2876 ../yumcommands.py:2880
+msgid "Transactions:"
+msgstr ""
+
+#: ../yumcommands.py:2881
+msgid "Begin time  :"
+msgstr ""
+
+#: ../yumcommands.py:2882
+msgid "End time    :"
+msgstr ""
+
+#: ../yumcommands.py:2883
+msgid "Counts      :"
+msgstr ""
+
+#: ../yumcommands.py:2884
+msgid "  NEVRAC :"
+msgstr ""
+
+#: ../yumcommands.py:2885
+msgid "  NEVRA  :"
+msgstr ""
+
+#: ../yumcommands.py:2886
+msgid "  NA     :"
+msgstr ""
+
+#: ../yumcommands.py:2887
+msgid "  NEVR   :"
+msgstr ""
+
+#: ../yumcommands.py:2888
+msgid "  rpm DB :"
+msgstr ""
+
+#: ../yumcommands.py:2889
+msgid "  yum DB :"
+msgstr ""
+
+#: ../yumcommands.py:2922
 #, python-format
 msgid "Invalid history sub-command, use: %s."
 msgstr ""
 
-#: ../yumcommands.py:1439
+#: ../yumcommands.py:2929
 msgid "You don't have access to the history DB."
 msgstr ""
 
-#: ../yumcommands.py:1487
+#: ../yumcommands.py:3036
 msgid "Check for problems in the rpmdb"
 msgstr ""
 
-#: ../yumcommands.py:1514
+#: ../yumcommands.py:3102
 msgid "load a saved transaction from filename"
 msgstr ""
 
-#: ../yumcommands.py:1518
+#: ../yumcommands.py:3119
 msgid "No saved transaction file specified."
 msgstr ""
 
-#: ../yumcommands.py:1522
+#: ../yumcommands.py:3123
 #, python-format
 msgid "loading transaction from %s"
 msgstr ""
 
-#: ../yumcommands.py:1528
+#: ../yumcommands.py:3129
 #, python-format
 msgid "Transaction loaded from %s with %s members"
 msgstr ""
 
+#: ../yumcommands.py:3169
+msgid "Simple way to swap packages, isntead of using shell"
+msgstr ""
+
+#: ../yumcommands.py:3264
+msgid ""
+"Treat a repo. as a group of packages, so we can install/remove all of them"
+msgstr ""
+
+#: ../yumcommands.py:3341
+#, python-format
+msgid "%d package to update"
+msgid_plural "%d packages to update"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../yumcommands.py:3370
+#, python-format
+msgid "%d package to remove/reinstall"
+msgid_plural "%d packages to remove/reinstall"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../yumcommands.py:3413
+#, python-format
+msgid "%d package to remove/sync"
+msgid_plural "%d packages to remove/sync"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../yumcommands.py:3417
+#, python-format
+msgid "Not a valid sub-command of %s"
+msgstr ""
+
 #. This is mainly for PackageSackError from rpmdb.
 #: ../yummain.py:84
 #, python-format
 msgid " Yum checks failed: %s"
 msgstr ""
 
-#: ../yummain.py:114
-msgid ""
-"Another app is currently holding the yum lock; waiting for it to exit..."
+#: ../yummain.py:98
+msgid "No read/execute access in current directory, moving to /"
 msgstr ""
-"Alguna altra aplicació té el bloqueig del yum; s'està esperant a que "
-"surti..."
 
-#: ../yummain.py:120
-msgid "Can't create lock file; exiting"
+#: ../yummain.py:106
+msgid "No getcwd() access in current directory, moving to /"
 msgstr ""
 
 #. Depsolve stage
-#: ../yummain.py:167
+#: ../yummain.py:164
 msgid "Resolving Dependencies"
 msgstr "S'estan resolent dependències"
 
-#: ../yummain.py:230
+#: ../yummain.py:227 ../yummain.py:235
 #, python-format
-msgid "Your transaction was saved, rerun it with: yum load-transaction %s"
+msgid ""
+"Your transaction was saved, rerun it with:\n"
+" yum load-transaction %s"
 msgstr ""
 
-#: ../yummain.py:288
+#: ../yummain.py:312
 msgid ""
 "\n"
 "\n"
 "Exiting on user cancel."
-msgstr ""
-"\n"
-"\n"
-"S'està sortint de l'ordre de l'usuari."
+msgstr "\n\nS'està sortint de l'ordre de l'usuari."
 
-#: ../yum/depsolve.py:84
+#: ../yum/depsolve.py:127
 msgid "doTsSetup() will go away in a future version of Yum.\n"
 msgstr "doTsSetup() desapareixerà en una futura versió de Yum.\n"
 
-#: ../yum/depsolve.py:99
+#: ../yum/depsolve.py:143
 msgid "Setting up TransactionSets before config class is up"
-msgstr ""
-"S'està configurant TransactionSets abans que la classe de configuració "
-"estigui iniciada"
+msgstr "S'està configurant TransactionSets abans que la classe de configuració estigui iniciada"
 
-#: ../yum/depsolve.py:153
+#: ../yum/depsolve.py:200
 #, python-format
 msgid "Invalid tsflag in config file: %s"
 msgstr "Tsflag invàlid en el fitxer de configuració: %s"
 
-#: ../yum/depsolve.py:164
+#: ../yum/depsolve.py:218
 #, python-format
 msgid "Searching pkgSack for dep: %s"
 msgstr "S'està buscant pkgSack per a la dependència: %s"
 
-#: ../yum/depsolve.py:207
+#: ../yum/depsolve.py:269
 #, python-format
 msgid "Member: %s"
 msgstr "Membre: %s"
 
-#: ../yum/depsolve.py:221 ../yum/depsolve.py:793
+#: ../yum/depsolve.py:283 ../yum/depsolve.py:937
 #, python-format
 msgid "%s converted to install"
 msgstr "%s convertits per a instal·lar"
 
-#: ../yum/depsolve.py:233
+#: ../yum/depsolve.py:295
 #, python-format
 msgid "Adding Package %s in mode %s"
 msgstr "S'està afegint el paquet %s en mode %s"
 
-#: ../yum/depsolve.py:249
+#: ../yum/depsolve.py:311
 #, python-format
 msgid "Removing Package %s"
 msgstr "S'està suprimint el paquet %s"
 
-#: ../yum/depsolve.py:271
+#: ../yum/depsolve.py:333
 #, python-format
 msgid "%s requires: %s"
 msgstr "%s requereix: %s"
 
-#: ../yum/depsolve.py:312
+#: ../yum/depsolve.py:374
 #, python-format
 msgid "%s requires %s"
 msgstr ""
 
-#: ../yum/depsolve.py:339
+#: ../yum/depsolve.py:401
 msgid "Needed Require has already been looked up, cheating"
-msgstr ""
-"El requeriment necessari ja s'ha buscat anteriorment, s'estan fent trampes"
+msgstr "El requeriment necessari ja s'ha buscat anteriorment, s'estan fent trampes"
 
-#: ../yum/depsolve.py:349
+#: ../yum/depsolve.py:411
 #, python-format
 msgid "Needed Require is not a package name. Looking up: %s"
 msgstr "El requeriment necessari no és un nom de paquet. S'està buscant: %s"
 
-#: ../yum/depsolve.py:357
+#: ../yum/depsolve.py:419
 #, python-format
 msgid "Potential Provider: %s"
 msgstr "Proveïdor potencial: %s"
 
-#: ../yum/depsolve.py:380
+#: ../yum/depsolve.py:442
 #, python-format
 msgid "Mode is %s for provider of %s: %s"
 msgstr "El mode és %s per al proveïdor de %s: %s"
 
-#: ../yum/depsolve.py:384
+#: ../yum/depsolve.py:446
 #, python-format
 msgid "Mode for pkg providing %s: %s"
 msgstr "Mode per al paquet que proporciona %s: %s"
@@ -2114,1032 +2316,1140 @@ msgstr "Mode per al paquet que proporciona %s: %s"
 #. the thing it needs is being updated or obsoleted away
 #. try to update the requiring package in hopes that all this problem goes
 #. away :(
-#: ../yum/depsolve.py:389 ../yum/depsolve.py:406
+#: ../yum/depsolve.py:451 ../yum/depsolve.py:486
 #, python-format
 msgid "Trying to update %s to resolve dep"
 msgstr ""
 
-#: ../yum/depsolve.py:400 ../yum/depsolve.py:410
+#: ../yum/depsolve.py:480
 #, python-format
 msgid "No update paths found for %s. Failure!"
 msgstr ""
 
-#: ../yum/depsolve.py:416
+#: ../yum/depsolve.py:491
+#, python-format
+msgid "No update paths found for %s. Failure due to requirement: %s!"
+msgstr ""
+
+#: ../yum/depsolve.py:507
+#, python-format
+msgid "Update for %s. Doesn't fix requirement: %s!"
+msgstr ""
+
+#: ../yum/depsolve.py:514
 #, python-format
 msgid "TSINFO: %s package requiring %s marked as erase"
 msgstr "TSINFO: el paquet %s requereix %s marcat per a suprimir"
 
-#: ../yum/depsolve.py:429
+#: ../yum/depsolve.py:527
 #, python-format
 msgid "TSINFO: Obsoleting %s with %s to resolve dep."
-msgstr ""
-"TSINFO: S'està marcant com a obsolet %s amb %s per resoldre dependències."
+msgstr "TSINFO: S'està marcant com a obsolet %s amb %s per resoldre dependències."
 
-#: ../yum/depsolve.py:432
+#: ../yum/depsolve.py:530
 #, python-format
 msgid "TSINFO: Updating %s to resolve dep."
 msgstr "TSINFO: S'està actualitzant %s per a resoldre dependències."
 
-#: ../yum/depsolve.py:440
+#: ../yum/depsolve.py:538
 #, python-format
 msgid "Cannot find an update path for dep for: %s"
 msgstr "No es pot trobar un camí d'actualització de dependències per a: %s"
 
-#: ../yum/depsolve.py:471
+#: ../yum/depsolve.py:569
 #, python-format
 msgid "Quick matched %s to require for %s"
 msgstr "La coincidència %s es requereix per a %s"
 
 #. is it already installed?
-#: ../yum/depsolve.py:513
+#: ../yum/depsolve.py:611
 #, python-format
 msgid "%s is in providing packages but it is already installed, removing."
-msgstr ""
-"%s es troba en els paquets proporcionats però ja es troba instal·lat, s'està"
-" suprimint."
+msgstr "%s es troba en els paquets proporcionats però ja es troba instal·lat, s'està suprimint."
 
-#: ../yum/depsolve.py:529
+#: ../yum/depsolve.py:627
 #, python-format
 msgid "Potential resolving package %s has newer instance in ts."
-msgstr ""
-"El paquet potencial que resol dependències %s té una instància nova a ts"
+msgstr "El paquet potencial que resol dependències %s té una instància nova a ts"
 
-#: ../yum/depsolve.py:540
+#: ../yum/depsolve.py:638
 #, python-format
 msgid "Potential resolving package %s has newer instance installed."
-msgstr ""
-"El paquet potencial que resol dependències %s té una nova instància "
-"insta·lada."
+msgstr "El paquet potencial que resol dependències %s té una nova instància insta·lada."
 
-#: ../yum/depsolve.py:558
+#: ../yum/depsolve.py:656
 #, python-format
 msgid "%s already in ts, skipping this one"
 msgstr "%s ja es troba en ts, s'està ometent"
 
-#: ../yum/depsolve.py:607
+#: ../yum/depsolve.py:705
 #, python-format
 msgid "TSINFO: Marking %s as update for %s"
 msgstr "TSINFO: S'està marcant %s com a actualització per a %s"
 
-#: ../yum/depsolve.py:616
+#: ../yum/depsolve.py:714
 #, python-format
 msgid "TSINFO: Marking %s as install for %s"
 msgstr "TSINFO: S'està marcant %s com a instal·lació per a %s"
 
-#: ../yum/depsolve.py:727 ../yum/depsolve.py:819
+#: ../yum/depsolve.py:849 ../yum/depsolve.py:967
 msgid "Success - empty transaction"
 msgstr "Èxit - transacció buida"
 
-#: ../yum/depsolve.py:767 ../yum/depsolve.py:783
+#: ../yum/depsolve.py:889 ../yum/depsolve.py:927
 msgid "Restarting Loop"
 msgstr "S'està recomençant el bucle"
 
-#: ../yum/depsolve.py:799
+#: ../yum/depsolve.py:947
 msgid "Dependency Process ending"
 msgstr "Està acabant el procés de dependències"
 
-#: ../yum/depsolve.py:821
+#: ../yum/depsolve.py:969
 msgid "Success - deps resolved"
 msgstr "Èxit - dependències resoltes"
 
-#: ../yum/depsolve.py:845
+#: ../yum/depsolve.py:993
 #, python-format
 msgid "Checking deps for %s"
 msgstr "S'estan comprobant les dependències per a %s"
 
-#: ../yum/depsolve.py:931
+#: ../yum/depsolve.py:1082
 #, python-format
 msgid "looking for %s as a requirement of %s"
 msgstr "s'està buscant %s com a requeriment de %s"
 
-#: ../yum/depsolve.py:1169
+#: ../yum/depsolve.py:1349
 #, python-format
 msgid "Running compare_providers() for %s"
 msgstr "S'està executant compare_providers() per a %s"
 
-#: ../yum/depsolve.py:1196 ../yum/depsolve.py:1202
+#: ../yum/depsolve.py:1376 ../yum/depsolve.py:1382
 #, python-format
 msgid "better arch in po %s"
 msgstr "millor arq en el po %s"
 
-#: ../yum/depsolve.py:1298
+#: ../yum/depsolve.py:1496
 #, python-format
 msgid "%s obsoletes %s"
 msgstr "%s fa obsolet %s"
 
-#: ../yum/depsolve.py:1310
+#: ../yum/depsolve.py:1508
 #, python-format
 msgid ""
 "archdist compared %s to %s on %s\n"
 "  Winner: %s"
-msgstr ""
-"archdist ha comparat %s amb %s a %s\n"
-"  Ha guanyat: %s"
+msgstr "archdist ha comparat %s amb %s a %s\n  Ha guanyat: %s"
 
-#: ../yum/depsolve.py:1318
+#: ../yum/depsolve.py:1516
 #, python-format
 msgid "common sourcerpm %s and %s"
 msgstr "rpm font comú %s i %s"
 
-#: ../yum/depsolve.py:1322
+#: ../yum/depsolve.py:1520
 #, python-format
 msgid "base package %s is installed for %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1328
+#: ../yum/depsolve.py:1526
 #, python-format
 msgid "common prefix of %s between %s and %s"
 msgstr "prefix comú de %s entre %s i %s"
 
-#: ../yum/depsolve.py:1359
+#: ../yum/depsolve.py:1543
 #, python-format
-msgid "requires minimal: %d"
+msgid "provides vercmp: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1363
+#: ../yum/depsolve.py:1547 ../yum/depsolve.py:1581
 #, python-format
 msgid " Winner: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1368
+#: ../yum/depsolve.py:1577
+#, python-format
+msgid "requires minimal: %d"
+msgstr ""
+
+#: ../yum/depsolve.py:1586
 #, python-format
 msgid " Loser(with %d): %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1384
+#: ../yum/depsolve.py:1602
 #, python-format
 msgid "Best Order: %s"
 msgstr "Millor ordre: %s"
 
-#: ../yum/__init__.py:234
+#: ../yum/__init__.py:274
 msgid "doConfigSetup() will go away in a future version of Yum.\n"
 msgstr "doConfigsetup() desapareixerà en una futura versió de Yum.\n"
 
-#: ../yum/__init__.py:482
+#: ../yum/__init__.py:553
+#, python-format
+msgid "Skipping unreadable repository %s"
+msgstr ""
+
+#: ../yum/__init__.py:572
 #, python-format
 msgid "Repository %r: Error parsing config: %s"
 msgstr ""
 
-#: ../yum/__init__.py:488
+#: ../yum/__init__.py:578
 #, python-format
 msgid "Repository %r is missing name in configuration, using id"
 msgstr "Falta el nom del repositori %r en la configuració, s'utilitzarà l'id"
 
-#: ../yum/__init__.py:526
+#: ../yum/__init__.py:618
 msgid "plugins already initialised"
 msgstr "els connectors ja estan inicialitzats"
 
-#: ../yum/__init__.py:533
+#: ../yum/__init__.py:627
 msgid "doRpmDBSetup() will go away in a future version of Yum.\n"
 msgstr "doRpmDBSetup() desapareixerà en una futura versió de Yum.\n"
 
-#: ../yum/__init__.py:544
+#: ../yum/__init__.py:638
 msgid "Reading Local RPMDB"
 msgstr "S'està llegint un RPMDB local"
 
-#: ../yum/__init__.py:567
+#: ../yum/__init__.py:668
 msgid "doRepoSetup() will go away in a future version of Yum.\n"
 msgstr "doRepoSetup() desapareixerà en una futura versió de Yum.\n"
 
-#: ../yum/__init__.py:630
+#: ../yum/__init__.py:722
 msgid "doSackSetup() will go away in a future version of Yum.\n"
 msgstr "doSackSetup() desapareixerà en una versió futura de Yum.\n"
 
-#: ../yum/__init__.py:660
+#: ../yum/__init__.py:752
 msgid "Setting up Package Sacks"
 msgstr "S'estan configurant els sacs de paquets"
 
-#: ../yum/__init__.py:705
+#: ../yum/__init__.py:797
 #, python-format
 msgid "repo object for repo %s lacks a _resetSack method\n"
 msgstr "l'objecte repositori per al repositori %s no té un mètode _resetSack\n"
 
-#: ../yum/__init__.py:706
+#: ../yum/__init__.py:798
 msgid "therefore this repo cannot be reset.\n"
 msgstr "Aquest repositori no es pot reiniciar.\n"
 
-#: ../yum/__init__.py:711
+#: ../yum/__init__.py:806
 msgid "doUpdateSetup() will go away in a future version of Yum.\n"
 msgstr "doUpdateSetup() desapareixerà en una futura versió de Yum.\n"
 
-#: ../yum/__init__.py:723
+#: ../yum/__init__.py:818
 msgid "Building updates object"
 msgstr "S'està construint l'objecte d'actualitzacions"
 
-#: ../yum/__init__.py:765
+#: ../yum/__init__.py:862
 msgid "doGroupSetup() will go away in a future version of Yum.\n"
 msgstr "doGroupSetup() desapareixerà en una futura versió de Yum.\n"
 
-#: ../yum/__init__.py:790
+#: ../yum/__init__.py:887
 msgid "Getting group metadata"
 msgstr "S'estan obtenint les metadades del grup"
 
-#: ../yum/__init__.py:816
+#: ../yum/__init__.py:915
 #, python-format
 msgid "Adding group file from repository: %s"
 msgstr "S'està afegint el fitxer del grup des del repositori: %s"
 
-#: ../yum/__init__.py:827
+#: ../yum/__init__.py:918
+#, python-format
+msgid "Failed to retrieve group file for repository: %s"
+msgstr ""
+
+#: ../yum/__init__.py:924
 #, python-format
 msgid "Failed to add groups file for repository: %s - %s"
 msgstr "No s'ha pogut afegir el fitxer dels grups des del repositori: %s - %s"
 
-#: ../yum/__init__.py:833
+#: ../yum/__init__.py:930
 msgid "No Groups Available in any repository"
 msgstr "No hi ha cap grup disponible en cap repositori"
 
-#: ../yum/__init__.py:845
+#: ../yum/__init__.py:945
 msgid "Getting pkgtags metadata"
 msgstr ""
 
-#: ../yum/__init__.py:855
+#: ../yum/__init__.py:955
 #, python-format
 msgid "Adding tags from repository: %s"
 msgstr ""
 
-#: ../yum/__init__.py:866
+#: ../yum/__init__.py:966
 #, python-format
 msgid "Failed to add Pkg Tags for repository: %s - %s"
 msgstr ""
 
-#: ../yum/__init__.py:944
+#: ../yum/__init__.py:1059
 msgid "Importing additional filelist information"
 msgstr "S'està important informació adicional de la llista de fitxers"
 
-#: ../yum/__init__.py:958
+#: ../yum/__init__.py:1077
 #, python-format
 msgid "The program %s%s%s is found in the yum-utils package."
 msgstr "El programa %s%s%s es troba en el paquet yum-utils."
 
-#: ../yum/__init__.py:966
+#: ../yum/__init__.py:1094
 msgid ""
 "There are unfinished transactions remaining. You might consider running yum-"
 "complete-transaction first to finish them."
-msgstr ""
-"Encara hi ha transaccions sense acabar. Hauríeu de considerar executar yum-"
-"complete-transaction abans per acabar-les."
+msgstr "Encara hi ha transaccions sense acabar. Hauríeu de considerar executar yum-complete-transaction abans per acabar-les."
 
-#: ../yum/__init__.py:983
+#: ../yum/__init__.py:1111
 msgid "--> Finding unneeded leftover dependencies"
 msgstr ""
 
-#: ../yum/__init__.py:1041
+#: ../yum/__init__.py:1169
 #, python-format
 msgid "Protected multilib versions: %s != %s"
 msgstr ""
 
-#: ../yum/__init__.py:1096
+#. People are confused about protected mutilib ... so give
+#. them a nicer message.
+#: ../yum/__init__.py:1173
+#, python-format
+msgid ""
+" Multilib version problems found. This often means that the root\n"
+"cause is something else and multilib version checking is just\n"
+"pointing out that there is a problem. Eg.:\n"
+"\n"
+"  1. You have an upgrade for %(name)s which is missing some\n"
+"     dependency that another package requires. Yum is trying to\n"
+"     solve this by installing an older version of %(name)s of the\n"
+"     different architecture. If you exclude the bad architecture\n"
+"     yum will tell you what the root cause is (which package\n"
+"     requires what). You can try redoing the upgrade with\n"
+"     --exclude %(name)s.otherarch ... this should give you an error\n"
+"     message showing the root cause of the problem.\n"
+"\n"
+"  2. You have multiple architectures of %(name)s installed, but\n"
+"     yum can only see an upgrade for one of those arcitectures.\n"
+"     If you don't want/need both architectures anymore then you\n"
+"     can remove the one with the missing update and everything\n"
+"     will work.\n"
+"\n"
+"  3. You have duplicate versions of %(name)s installed already.\n"
+"     You can use \"yum check\" to get yum show these errors.\n"
+"\n"
+"...you can also use --setopt=protected_multilib=false to remove\n"
+"this checking, however this is almost never the correct thing to\n"
+"do as something else is very likely to go wrong (often causing\n"
+"much more problems).\n"
+"\n"
+msgstr ""
+
+#: ../yum/__init__.py:1257
 #, python-format
 msgid "Trying to remove \"%s\", which is protected"
 msgstr ""
 
-#: ../yum/__init__.py:1217
+#: ../yum/__init__.py:1378
 msgid ""
 "\n"
 "Packages skipped because of dependency problems:"
-msgstr ""
-"\n"
-"Paquets omesos degut a problemes de dependències:"
+msgstr "\nPaquets omesos degut a problemes de dependències:"
 
-#: ../yum/__init__.py:1221
+#: ../yum/__init__.py:1382
 #, python-format
 msgid "    %s from %s"
 msgstr "    %s des de %s"
 
 #. FIXME: _N()
-#: ../yum/__init__.py:1391
+#: ../yum/__init__.py:1556
 #, python-format
 msgid "** Found %d pre-existing rpmdb problem(s), 'yum check' output follows:"
 msgstr ""
 
-#: ../yum/__init__.py:1395
+#: ../yum/__init__.py:1560
 msgid "Warning: RPMDB altered outside of yum."
 msgstr ""
 
-#: ../yum/__init__.py:1407
+#: ../yum/__init__.py:1572
 msgid "missing requires"
 msgstr ""
 
-#: ../yum/__init__.py:1408
+#: ../yum/__init__.py:1573
 msgid "installed conflict"
 msgstr ""
 
-#: ../yum/__init__.py:1525
+#: ../yum/__init__.py:1709
 msgid ""
 "Warning: scriptlet or other non-fatal errors occurred during transaction."
-msgstr ""
-"Avís: ha fallat l'scriptlet o s'han produït altre tipus d'errors no fatals "
-"durant la transacció."
+msgstr "Avís: ha fallat l'scriptlet o s'han produït altre tipus d'errors no fatals durant la transacció."
 
-#: ../yum/__init__.py:1535
+#: ../yum/__init__.py:1719
 msgid "Transaction couldn't start:"
 msgstr ""
 
 #. should this be 'to_unicoded'?
-#: ../yum/__init__.py:1538
+#: ../yum/__init__.py:1722
 msgid "Could not run transaction."
 msgstr ""
 
-#: ../yum/__init__.py:1552
+#: ../yum/__init__.py:1736
 #, python-format
 msgid "Failed to remove transaction file %s"
 msgstr "No s'ha pogut suprimir el fitxer de transaccions %s"
 
 #. maybe a file log here, too
 #. but raising an exception is not going to do any good
-#: ../yum/__init__.py:1590
+#: ../yum/__init__.py:1792
 #, python-format
 msgid "%s was supposed to be installed but is not!"
 msgstr "S'havia d'instal·lar %s però no s'ha realitzat!"
 
 #. maybe a file log here, too
 #. but raising an exception is not going to do any good
-#: ../yum/__init__.py:1651
+#. Note: This actually triggers atm. because we can't
+#. always find the erased txmbr to set it when
+#. we should.
+#: ../yum/__init__.py:1869
 #, python-format
 msgid "%s was supposed to be removed but is not!"
 msgstr "S'havia de suprimir %s però no s'ha realitzat!"
 
-#: ../yum/__init__.py:1768
-#, python-format
-msgid "Could not open lock %s: %s"
-msgstr ""
-
-#. Whoa. What the heck happened?
-#: ../yum/__init__.py:1785
-#, python-format
-msgid "Unable to check if PID %s is active"
-msgstr "No s'ha pogut comprovar si el PID %s es troba actiu"
-
 #. Another copy seems to be running.
-#: ../yum/__init__.py:1789
+#: ../yum/__init__.py:2004
 #, python-format
 msgid "Existing lock %s: another copy is running as pid %s."
 msgstr "Bloqueig existent %s: una altra còpia s'està executant amb pid %s."
 
 #. Whoa. What the heck happened?
-#: ../yum/__init__.py:1830
+#: ../yum/__init__.py:2053
 #, python-format
 msgid "Could not create lock at %s: %s "
 msgstr ""
 
-#: ../yum/__init__.py:1875
+#: ../yum/__init__.py:2065
+#, python-format
+msgid "Could not open lock %s: %s"
+msgstr ""
+
+#. The pid doesn't exist
+#. Whoa. What the heck happened?
+#: ../yum/__init__.py:2082
+#, python-format
+msgid "Unable to check if PID %s is active"
+msgstr "No s'ha pogut comprovar si el PID %s es troba actiu"
+
+#: ../yum/__init__.py:2132
 #, python-format
 msgid ""
 "Package does not match intended download. Suggestion: run yum "
 "--enablerepo=%s clean metadata"
 msgstr ""
 
-#: ../yum/__init__.py:1891
+#: ../yum/__init__.py:2155
 msgid "Could not perform checksum"
 msgstr "No s'ha pogut realitzar la suma de verificació"
 
-#: ../yum/__init__.py:1894
+#: ../yum/__init__.py:2158
 msgid "Package does not match checksum"
 msgstr "No coincideix la suma de verificació del paquet"
 
-#: ../yum/__init__.py:1946
+#: ../yum/__init__.py:2222
 #, python-format
 msgid "package fails checksum but caching is enabled for %s"
-msgstr ""
-"la suma de verificació del paquet falla però l'ús de memòria cau està "
-"habilitat per a %s"
+msgstr "la suma de verificació del paquet falla però l'ús de memòria cau està habilitat per a %s"
 
-#: ../yum/__init__.py:1949 ../yum/__init__.py:1979
+#: ../yum/__init__.py:2225 ../yum/__init__.py:2268
 #, python-format
 msgid "using local copy of %s"
 msgstr "s'està utilitzant la còpia local de %s"
 
-#: ../yum/__init__.py:1991
-#, python-format
-msgid ""
-"Insufficient space in download directory %s\n"
-"    * free   %s\n"
-"    * needed %s"
+#. caller handles errors
+#: ../yum/__init__.py:2342
+msgid "exiting because --downloadonly specified"
 msgstr ""
-"No hi ha espai suficient al directori de descàrregues %s\n"
-"    * lliure    %s\n"
-"    * necessari %s"
 
-#: ../yum/__init__.py:2052
+#: ../yum/__init__.py:2371
 msgid "Header is not complete."
 msgstr "La capçalera no està completa."
 
-#: ../yum/__init__.py:2089
+#: ../yum/__init__.py:2411
 #, python-format
 msgid ""
 "Header not in local cache and caching-only mode enabled. Cannot download %s"
-msgstr ""
-"La capçalera no es troba en la memòria cau local i està habilitat el mode de"
-" només memòria cau. No es pot baixar %s"
+msgstr "La capçalera no es troba en la memòria cau local i està habilitat el mode de només memòria cau. No es pot baixar %s"
 
-#: ../yum/__init__.py:2147
+#: ../yum/__init__.py:2471
 #, python-format
 msgid "Public key for %s is not installed"
 msgstr "La clau pública per a %s no està instal·lada"
 
-#: ../yum/__init__.py:2151
+#: ../yum/__init__.py:2475
 #, python-format
 msgid "Problem opening package %s"
 msgstr "Hi ha hagut un problema obrint el paquet %s"
 
-#: ../yum/__init__.py:2159
+#: ../yum/__init__.py:2483
 #, python-format
 msgid "Public key for %s is not trusted"
 msgstr "La clau pública per a %s no és de confiança"
 
-#: ../yum/__init__.py:2163
+#: ../yum/__init__.py:2487
 #, python-format
 msgid "Package %s is not signed"
 msgstr "El paquet %s no està signat"
 
-#: ../yum/__init__.py:2202
+#: ../yum/__init__.py:2529
 #, python-format
 msgid "Cannot remove %s"
 msgstr "No es pot suprimir %s"
 
-#: ../yum/__init__.py:2206
+#: ../yum/__init__.py:2533
 #, python-format
 msgid "%s removed"
 msgstr "S'ha suprimit %s"
 
-#: ../yum/__init__.py:2252
+#: ../yum/__init__.py:2594
 #, python-format
 msgid "Cannot remove %s file %s"
 msgstr "No es pot suprimir %s fitxer %s"
 
-#: ../yum/__init__.py:2256
+#: ../yum/__init__.py:2598
 #, python-format
 msgid "%s file %s removed"
 msgstr "%s fitxer %s suprimit"
 
-#: ../yum/__init__.py:2258
+#: ../yum/__init__.py:2600
 #, python-format
-msgid "%d %s files removed"
-msgstr "%d %s fitxers suprimits"
+msgid "%d %s file removed"
+msgid_plural "%d %s files removed"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../yum/__init__.py:2327
+#: ../yum/__init__.py:2712
 #, python-format
 msgid "More than one identical match in sack for %s"
 msgstr "Hi ha més d'una coincidència idèntica en el sac per a %s"
 
-#: ../yum/__init__.py:2333
+#: ../yum/__init__.py:2718
 #, python-format
 msgid "Nothing matches %s.%s %s:%s-%s from update"
 msgstr "No hi ha coincidències %s.%s-%s:%s-%s de l'actualització"
 
-#: ../yum/__init__.py:2632
+#: ../yum/__init__.py:3096
 msgid ""
 "searchPackages() will go away in a future version of Yum."
 "                      Use searchGenerator() instead. \n"
-msgstr ""
-"searchPackages() desapareixerà en una futura versió de Yum."
-"                      Useu searchGenerator(). \n"
+msgstr "searchPackages() desapareixerà en una futura versió de Yum.                      Useu searchGenerator(). \n"
 
-#: ../yum/__init__.py:2675
+#: ../yum/__init__.py:3149
 #, python-format
-msgid "Searching %d packages"
-msgstr "S'estan buscant %d paquets"
+msgid "Searching %d package"
+msgid_plural "Searching %d packages"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../yum/__init__.py:2679
+#: ../yum/__init__.py:3153
 #, python-format
 msgid "searching package %s"
 msgstr "s'està buscant el paquet %s"
 
-#: ../yum/__init__.py:2691
+#: ../yum/__init__.py:3165
 msgid "searching in file entries"
 msgstr "s'està buscant en les entrades de fitxers"
 
-#: ../yum/__init__.py:2698
+#: ../yum/__init__.py:3172
 msgid "searching in provides entries"
 msgstr "s'està buscant en les entrades proporcionades"
 
-#: ../yum/__init__.py:2777
+#: ../yum/__init__.py:3369
 msgid "No group data available for configured repositories"
-msgstr ""
-"No hi ha dades de grup disponibles en cap dels repositoris configurats"
+msgstr "No hi ha dades de grup disponibles en cap dels repositoris configurats"
 
-#: ../yum/__init__.py:2808 ../yum/__init__.py:2827 ../yum/__init__.py:2858
-#: ../yum/__init__.py:2864 ../yum/__init__.py:2953 ../yum/__init__.py:2957
-#: ../yum/__init__.py:3339
+#: ../yum/__init__.py:3466 ../yum/__init__.py:3500 ../yum/__init__.py:3576
+#: ../yum/__init__.py:3582 ../yum/__init__.py:3719 ../yum/__init__.py:3723
+#: ../yum/__init__.py:4298
 #, python-format
 msgid "No Group named %s exists"
 msgstr "No existeix cap grup anomenat %s"
 
-#: ../yum/__init__.py:2839 ../yum/__init__.py:2973
+#: ../yum/__init__.py:3512 ../yum/__init__.py:3740
 #, python-format
 msgid "package %s was not marked in group %s"
 msgstr "el paquet %s no estava marcat en el grup %s"
 
-#: ../yum/__init__.py:2887
+#. (upgrade and igroup_data[pkg] == 'available')):
+#: ../yum/__init__.py:3622
+#, python-format
+msgid "Skipping package %s from group %s"
+msgstr ""
+
+#: ../yum/__init__.py:3628
 #, python-format
 msgid "Adding package %s from group %s"
 msgstr "S'està afegint el paquet %s del grup %s"
 
-#: ../yum/__init__.py:2891
+#: ../yum/__init__.py:3649
 #, python-format
 msgid "No package named %s available to be installed"
 msgstr "No hi ha cap paquet anomenat %s disponible per a ser instal·lat"
 
-#: ../yum/__init__.py:2941
+#: ../yum/__init__.py:3702
 #, python-format
-msgid "Warning: Group %s does not have any packages."
+msgid "Warning: Group %s does not have any packages to install."
 msgstr ""
 
-#: ../yum/__init__.py:2943
+#: ../yum/__init__.py:3704
 #, python-format
 msgid "Group %s does have %u conditional packages, which may get installed."
 msgstr ""
 
+#: ../yum/__init__.py:3794
+#, python-format
+msgid "Skipping group %s from environment %s"
+msgstr ""
+
 #. This can happen due to excludes after .up has
 #. happened.
-#: ../yum/__init__.py:3002
+#: ../yum/__init__.py:3858
 #, python-format
 msgid "Package tuple %s could not be found in packagesack"
 msgstr "No s'ha pogut trobar la tupla de paquets %s al sac de paquets"
 
-#: ../yum/__init__.py:3022
+#: ../yum/__init__.py:3886
 #, python-format
 msgid "Package tuple %s could not be found in rpmdb"
 msgstr ""
 
-#: ../yum/__init__.py:3079 ../yum/__init__.py:3129
+#: ../yum/__init__.py:3949 ../yum/__init__.py:4012
 #, python-format
 msgid "Invalid version flag from: %s"
 msgstr ""
 
-#: ../yum/__init__.py:3096 ../yum/__init__.py:3101
+#: ../yum/__init__.py:3973 ../yum/__init__.py:3979 ../yum/__init__.py:4036
+#: ../yum/__init__.py:4042
 #, python-format
 msgid "No Package found for %s"
 msgstr "No s'ha trobat cap paquet per a %s"
 
-#: ../yum/__init__.py:3401
+#: ../yum/__init__.py:4245 ../yum/__init__.py:4274
+#, python-format
+msgid "Warning: Environment Group %s does not exist."
+msgstr ""
+
+#: ../yum/__init__.py:4397
+#, python-format
+msgid "Package: %s - can't co-install with %s"
+msgstr ""
+
+#: ../yum/__init__.py:4437
 msgid "Package Object was not a package object instance"
 msgstr "L'objecte paquet no era una instància d'objecte paquet"
 
-#: ../yum/__init__.py:3405
+#: ../yum/__init__.py:4441
 msgid "Nothing specified to install"
 msgstr "No hi ha res especificat per a instal·lar"
 
-#: ../yum/__init__.py:3424 ../yum/__init__.py:4283
+#: ../yum/__init__.py:4465 ../yum/__init__.py:5410
 #, python-format
 msgid "Checking for virtual provide or file-provide for %s"
-msgstr ""
-"S'està verificant si hi ha un proveïdor virtual o un fitxer proveïdor per a "
-"%s"
-
-#: ../yum/__init__.py:3430 ../yum/__init__.py:3775 ../yum/__init__.py:3969
-#: ../yum/__init__.py:4289
-#, python-format
-msgid "No Match for argument: %s"
-msgstr "No hi ha cap coincidència per a l'argument: %s"
+msgstr "S'està verificant si hi ha un proveïdor virtual o un fitxer proveïdor per a %s"
 
-#: ../yum/__init__.py:3507
+#: ../yum/__init__.py:4542
 #, python-format
 msgid "Package %s installed and not available"
 msgstr "El paquet %s es troba instal·lat però no és disponible"
 
-#: ../yum/__init__.py:3510
+#: ../yum/__init__.py:4545
 msgid "No package(s) available to install"
 msgstr "No hi ha cap paquet disponible per a instal·lar"
 
-#: ../yum/__init__.py:3522
+#: ../yum/__init__.py:4557
 #, python-format
 msgid "Package: %s  - already in transaction set"
 msgstr "El paquet: %s  - ja està en la transacció"
 
-#: ../yum/__init__.py:3550
+#: ../yum/__init__.py:4589
 #, python-format
 msgid "Package %s is obsoleted by %s which is already installed"
 msgstr "El paquet %s és obsolet degut a %s, que ja està instal·lat"
 
-#: ../yum/__init__.py:3555
+#: ../yum/__init__.py:4594
 #, python-format
 msgid ""
 "Package %s is obsoleted by %s, but obsoleting package does not provide for "
 "requirements"
 msgstr ""
 
-#: ../yum/__init__.py:3558
+#: ../yum/__init__.py:4597
 #, python-format
 msgid "Package %s is obsoleted by %s, trying to install %s instead"
-msgstr ""
-"El paquet %s és obsolet degut a %s, es provarà d'instal·lar %s en el seu "
-"lloc"
+msgstr "El paquet %s és obsolet degut a %s, es provarà d'instal·lar %s en el seu lloc"
 
-#: ../yum/__init__.py:3566
+#: ../yum/__init__.py:4605
 #, python-format
 msgid "Package %s already installed and latest version"
 msgstr "El paquet %s ja es troba instal·lat i en l'última versió."
 
-#: ../yum/__init__.py:3580
+#: ../yum/__init__.py:4619
 #, python-format
 msgid "Package matching %s already installed. Checking for update."
-msgstr ""
-"El paquet coincident %s ja es troba instal·lat. S'està buscant una "
-"actualització."
+msgstr "El paquet coincident %s ja es troba instal·lat. S'està buscant una actualització."
 
 #. update everything (the easy case)
-#: ../yum/__init__.py:3684
+#: ../yum/__init__.py:4751
 msgid "Updating Everything"
 msgstr "S'està actualitzant tot"
 
-#: ../yum/__init__.py:3708 ../yum/__init__.py:3849 ../yum/__init__.py:3879
-#: ../yum/__init__.py:3915
+#: ../yum/__init__.py:4775 ../yum/__init__.py:4930 ../yum/__init__.py:4975
+#: ../yum/__init__.py:5011
 #, python-format
 msgid "Not Updating Package that is already obsoleted: %s.%s %s:%s-%s"
 msgstr "No s'actualitzarà el paquet obsolet: %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3753 ../yum/__init__.py:3965
+#: ../yum/__init__.py:4830 ../yum/__init__.py:5072
 #, python-format
 msgid "%s"
 msgstr "%s"
 
-#: ../yum/__init__.py:3838
+#: ../yum/__init__.py:4854 ../yum/__init__.py:5080 ../yum/__init__.py:5416
+#, python-format
+msgid "No Match for argument: %s"
+msgstr "No hi ha cap coincidència per a l'argument: %s"
+
+#: ../yum/__init__.py:4872
+#, python-format
+msgid "No package matched to upgrade: %s"
+msgstr ""
+
+#: ../yum/__init__.py:4919
 #, python-format
 msgid "Package is already obsoleted: %s.%s %s:%s-%s"
 msgstr "El paquet és obsolet: %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3874
+#: ../yum/__init__.py:4970
 #, python-format
 msgid "Not Updating Package that is obsoleted: %s"
 msgstr "No s'actualitzarà el paquet obsolet: %s"
 
-#: ../yum/__init__.py:3883 ../yum/__init__.py:3919
+#: ../yum/__init__.py:4979 ../yum/__init__.py:5015
 #, python-format
 msgid "Not Updating Package that is already updated: %s.%s %s:%s-%s"
 msgstr "No s'actualitzarà el paquet actualitzat: %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3982
-msgid "No package matched to remove"
-msgstr "No hi ha cap paquet coincident per a suprimir"
+#: ../yum/__init__.py:5093
+#, python-format
+msgid "No package matched to remove: %s"
+msgstr ""
 
-#: ../yum/__init__.py:3988
+#: ../yum/__init__.py:5099
 #, python-format
 msgid "Skipping the running kernel: %s"
 msgstr ""
 
-#: ../yum/__init__.py:3994
+#: ../yum/__init__.py:5105
 #, python-format
 msgid "Removing %s from the transaction"
 msgstr ""
 
-#: ../yum/__init__.py:4029
+#: ../yum/__init__.py:5142
 #, python-format
 msgid "Cannot open: %s. Skipping."
 msgstr ""
 
-#: ../yum/__init__.py:4032 ../yum/__init__.py:4150 ../yum/__init__.py:4226
+#: ../yum/__init__.py:5145 ../yum/__init__.py:5262 ../yum/__init__.py:5347
 #, python-format
 msgid "Examining %s: %s"
 msgstr "S'està examinant %s: %s"
 
-#: ../yum/__init__.py:4036
+#: ../yum/__init__.py:5149
 #, python-format
 msgid "Cannot localinstall deltarpm: %s. Skipping."
 msgstr ""
 
-#: ../yum/__init__.py:4045 ../yum/__init__.py:4153 ../yum/__init__.py:4229
+#: ../yum/__init__.py:5158 ../yum/__init__.py:5265 ../yum/__init__.py:5350
 #, python-format
 msgid ""
 "Cannot add package %s to transaction. Not a compatible architecture: %s"
-msgstr ""
-"No s'ha pogut afegir el paquet %s a la transacció. No és una arquitectura "
-"compatible: %s"
+msgstr "No s'ha pogut afegir el paquet %s a la transacció. No és una arquitectura compatible: %s"
 
-#: ../yum/__init__.py:4051
+#: ../yum/__init__.py:5164
 #, python-format
 msgid "Cannot install package %s. It is obsoleted by installed package %s"
 msgstr ""
 
-#: ../yum/__init__.py:4059
+#: ../yum/__init__.py:5172
 #, python-format
 msgid ""
 "Package %s not installed, cannot update it. Run yum install to install it "
 "instead."
-msgstr ""
-"El paquet %s no està instal·lat; no es pot actualitzar. Executeu «yum "
-"install» per a instal·lar-lo."
+msgstr "El paquet %s no està instal·lat; no es pot actualitzar. Executeu «yum install» per a instal·lar-lo."
 
-#: ../yum/__init__.py:4078 ../yum/__init__.py:4085
+#: ../yum/__init__.py:5191 ../yum/__init__.py:5198
 #, python-format
 msgid ""
 "Package %s.%s not installed, cannot update it. Run yum install to install it"
 " instead."
 msgstr ""
 
-#: ../yum/__init__.py:4094 ../yum/__init__.py:4158 ../yum/__init__.py:4234
+#: ../yum/__init__.py:5207 ../yum/__init__.py:5270 ../yum/__init__.py:5355
 #, python-format
 msgid "Excluding %s"
 msgstr "S'està excloent %s"
 
-#: ../yum/__init__.py:4099
+#: ../yum/__init__.py:5212
 #, python-format
 msgid "Marking %s to be installed"
 msgstr "S'està marcant %s per a ser instal·lat"
 
-#: ../yum/__init__.py:4105
+#: ../yum/__init__.py:5218
 #, python-format
 msgid "Marking %s as an update to %s"
 msgstr "S'està marcant %s com a actualització de %s"
 
-#: ../yum/__init__.py:4112
+#: ../yum/__init__.py:5225
 #, python-format
 msgid "%s: does not update installed package."
 msgstr "%s no actualitza el paquet instal·lat."
 
-#: ../yum/__init__.py:4147 ../yum/__init__.py:4223
+#: ../yum/__init__.py:5259 ../yum/__init__.py:5344
 #, python-format
 msgid "Cannot open file: %s. Skipping."
 msgstr "No es pot obrir el fitxer %s. S'ometrà."
 
-#: ../yum/__init__.py:4177
+#: ../yum/__init__.py:5299
 msgid "Problem in reinstall: no package matched to remove"
-msgstr ""
-"Hi ha un problema en reinstal·lar: no hi ha cap paquet marcat per a suprimir"
+msgstr "Hi ha un problema en reinstal·lar: no hi ha cap paquet marcat per a suprimir"
 
-#: ../yum/__init__.py:4203
+#: ../yum/__init__.py:5325
 #, python-format
 msgid "Problem in reinstall: no package %s matched to install"
-msgstr ""
-"Hi ha un problema en reinstal·lar: no hi ha cap paquet %s marcat per a "
-"instal·lar"
+msgstr "Hi ha un problema en reinstal·lar: no hi ha cap paquet %s marcat per a instal·lar"
 
-#: ../yum/__init__.py:4311
+#: ../yum/__init__.py:5438
 msgid "No package(s) available to downgrade"
 msgstr "No hi ha cap paquet disponible per a desactualitzar"
 
-#: ../yum/__init__.py:4319
+#: ../yum/__init__.py:5446
 #, python-format
 msgid "Package %s is allowed multiple installs, skipping"
 msgstr "El paquet %s permet múltiples instal·lacions, s'està ometent"
 
-#: ../yum/__init__.py:4365
+#: ../yum/__init__.py:5496
 #, python-format
 msgid "No Match for available package: %s"
 msgstr "No hi ha cap paquet disponible que coincideixi: %s"
 
-#: ../yum/__init__.py:4372
+#: ../yum/__init__.py:5506
 #, python-format
 msgid "Only Upgrade available on package: %s"
 msgstr "Només hi ha una actualització disponible per al paquet: %s"
 
-#: ../yum/__init__.py:4442 ../yum/__init__.py:4479
+#: ../yum/__init__.py:5619 ../yum/__init__.py:5686
 #, python-format
 msgid "Failed to downgrade: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4516
+#: ../yum/__init__.py:5636 ../yum/__init__.py:5692
+#, python-format
+msgid "Failed to upgrade: %s"
+msgstr ""
+
+#: ../yum/__init__.py:5725
 #, python-format
 msgid "Retrieving key from %s"
 msgstr ""
 
-#: ../yum/__init__.py:4534
+#: ../yum/__init__.py:5743
 msgid "GPG key retrieval failed: "
 msgstr "La recuperació de la clau GPG ha fallat: "
 
 #. if we decide we want to check, even though the sig failed
 #. here is where we would do that
-#: ../yum/__init__.py:4557
+#: ../yum/__init__.py:5766
 #, python-format
 msgid "GPG key signature on key %s does not match CA Key for repo: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4559
+#: ../yum/__init__.py:5768
 msgid "GPG key signature verified against CA Key(s)"
 msgstr ""
 
-#: ../yum/__init__.py:4567
+#: ../yum/__init__.py:5776
 #, python-format
 msgid "Invalid GPG Key from %s: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4576
+#: ../yum/__init__.py:5785
 #, python-format
 msgid "GPG key parsing failed: key does not have value %s"
 msgstr "L'ànalisi de la clau GPG ha fallat: la clau no té el valor %s"
 
-#: ../yum/__init__.py:4592
+#: ../yum/__init__.py:5801
 #, python-format
 msgid ""
 "Importing %s key 0x%s:\n"
-" Userid : %s\n"
-" Package: %s (%s)\n"
-" From   : %s"
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" Package    : %s (%s)\n"
+" From       : %s"
 msgstr ""
 
-#: ../yum/__init__.py:4600
+#: ../yum/__init__.py:5811
 #, python-format
 msgid ""
 "Importing %s key 0x%s:\n"
-" Userid: \"%s\"\n"
-" From  : %s"
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" From       : %s"
+msgstr ""
+
+#: ../yum/__init__.py:5839
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" Failing package is: %s\n"
+" GPG Keys are configured as: %s\n"
 msgstr ""
 
-#: ../yum/__init__.py:4634
+#: ../yum/__init__.py:5853
 #, python-format
 msgid "GPG key at %s (0x%s) is already installed"
 msgstr "La clau GPG de %s (0x%s) ja està instal·lada"
 
-#: ../yum/__init__.py:4671
+#: ../yum/__init__.py:5891
 #, python-format
 msgid "Key import failed (code %d)"
 msgstr "La importació de la clau ha fallat (codi %d)"
 
-#: ../yum/__init__.py:4672 ../yum/__init__.py:4755
+#: ../yum/__init__.py:5893 ../yum/__init__.py:5994
 msgid "Key imported successfully"
 msgstr "La clau s'ha importat amb èxit"
 
-#: ../yum/__init__.py:4676
+#: ../yum/__init__.py:5897
 msgid "Didn't install any keys"
 msgstr ""
 
-#: ../yum/__init__.py:4680
+#: ../yum/__init__.py:5900
 #, python-format
 msgid ""
 "The GPG keys listed for the \"%s\" repository are already installed but they are not correct for this package.\n"
 "Check that the correct key URLs are configured for this repository."
-msgstr ""
-"Les claus GPG llistades per al repositori \"%s\" ja estan instal·lades però no són correctes per a aquest paquet.\n"
-"Comproveu que les URL de claus correctes estan configurades per a aquest repositori."
+msgstr "Les claus GPG llistades per al repositori \"%s\" ja estan instal·lades però no són correctes per a aquest paquet.\nComproveu que les URL de claus correctes estan configurades per a aquest repositori."
 
-#: ../yum/__init__.py:4689
+#: ../yum/__init__.py:5910
 msgid "Import of key(s) didn't help, wrong key(s)?"
 msgstr "La importació de claus no ha ajudat, eren claus incorrectes?"
 
-#: ../yum/__init__.py:4713
+#: ../yum/__init__.py:5932
+msgid "No"
+msgstr ""
+
+#: ../yum/__init__.py:5934
+msgid "Yes"
+msgstr ""
+
+#: ../yum/__init__.py:5935
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" CA Key: %s\n"
+" Failing repo is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr ""
+
+#: ../yum/__init__.py:5948
 #, python-format
 msgid "GPG key at %s (0x%s) is already imported"
 msgstr "La clau GPG a %s (0x%s) ja ha estat importada"
 
-#: ../yum/__init__.py:4754
-msgid "Key import failed"
-msgstr "Ha fallat la importació de la clau"
+#: ../yum/__init__.py:5992
+#, python-format
+msgid "Key %s import failed"
+msgstr ""
 
-#: ../yum/__init__.py:4770
+#: ../yum/__init__.py:6009
 #, python-format
 msgid "Didn't install any keys for repo %s"
 msgstr ""
 
-#: ../yum/__init__.py:4774
+#: ../yum/__init__.py:6014
 #, python-format
 msgid ""
 "The GPG keys listed for the \"%s\" repository are already installed but they are not correct.\n"
 "Check that the correct key URLs are configured for this repository."
 msgstr ""
 
-#: ../yum/__init__.py:4924
+#: ../yum/__init__.py:6172
 msgid "Unable to find a suitable mirror."
 msgstr "No s'ha pogut trobar un servidor rèplica vàlid."
 
-#: ../yum/__init__.py:4926
+#: ../yum/__init__.py:6174
 msgid "Errors were encountered while downloading packages."
 msgstr "S'han trobat errors baixant paquets."
 
-#: ../yum/__init__.py:4981
+#: ../yum/__init__.py:6229
 #, python-format
 msgid "Please report this error at %s"
 msgstr "Siusplau, informeu d'aquest error al %s"
 
-#: ../yum/__init__.py:4998
+#: ../yum/__init__.py:6246
 msgid "Test Transaction Errors: "
 msgstr "Errors en la transacció de prova: "
 
-#: ../yum/__init__.py:5098
+#: ../yum/__init__.py:6358
 #, python-format
 msgid "Could not set cachedir: %s"
 msgstr ""
 
-#: ../yum/__init__.py:5148 ../yum/__init__.py:5150
+#: ../yum/__init__.py:6420 ../yum/__init__.py:6422
 msgid "Dependencies not solved. Will not save unresolved transaction."
 msgstr ""
 
-#: ../yum/__init__.py:5179 ../yum/__init__.py:5181
+#: ../yum/__init__.py:6455 ../yum/__init__.py:6457
 #, python-format
 msgid "Could not save transaction file %s: %s"
 msgstr ""
 
-#: ../yum/__init__.py:5195
+#: ../yum/__init__.py:6483
 #, python-format
 msgid "Could not access/read saved transaction %s : %s"
 msgstr ""
 
-#: ../yum/__init__.py:5214
-msgid "rpmdb ver mismatched saved transaction version, "
-msgstr ""
-
-#: ../yum/__init__.py:5216
-msgid " ignoring, as requested."
-msgstr ""
-
-#: ../yum/__init__.py:5219 ../yum/__init__.py:5354
-msgid " aborting."
+#: ../yum/__init__.py:6521
+msgid "rpmdb ver mismatched saved transaction version,"
 msgstr ""
 
-#: ../yum/__init__.py:5228
+#: ../yum/__init__.py:6535
 msgid "cannot find tsflags or tsflags not integer."
 msgstr ""
 
-#: ../yum/__init__.py:5267
+#: ../yum/__init__.py:6584
 #, python-format
 msgid "Found txmbr in unknown current state: %s"
 msgstr ""
 
-#: ../yum/__init__.py:5271
+#: ../yum/__init__.py:6588
 #, python-format
 msgid "Could not find txmbr: %s in state %s"
 msgstr ""
 
-#: ../yum/__init__.py:5307 ../yum/__init__.py:5324
+#: ../yum/__init__.py:6625 ../yum/__init__.py:6642
 #, python-format
 msgid "Could not find txmbr: %s from origin: %s"
 msgstr ""
 
-#: ../yum/__init__.py:5349
+#: ../yum/__init__.py:6667
 msgid "Transaction members, relations are missing or ts has been modified,"
 msgstr ""
 
-#: ../yum/__init__.py:5351
+#: ../yum/__init__.py:6670
 msgid " ignoring, as requested. You must redepsolve!"
 msgstr ""
 
+#. Debugging output
+#: ../yum/__init__.py:6738 ../yum/__init__.py:6757
+#, python-format
+msgid "%s has been visited already and cannot be removed."
+msgstr ""
+
+#. Debugging output
+#: ../yum/__init__.py:6741
+#, python-format
+msgid "Examining revdeps of %s"
+msgstr ""
+
+#. Debugging output
+#: ../yum/__init__.py:6762
+#, python-format
+msgid "%s has revdep %s which was user-installed."
+msgstr ""
+
+#: ../yum/__init__.py:6773 ../yum/__init__.py:6779
+#, python-format
+msgid "%s is needed by a package to be installed."
+msgstr ""
+
+#. Debugging output
+#: ../yum/__init__.py:6793
+#, python-format
+msgid "%s has no user-installed revdeps."
+msgstr ""
+
 #. Mostly copied from YumOutput._outKeyValFill()
-#: ../yum/plugins.py:209
+#: ../yum/plugins.py:212
 msgid "Loaded plugins: "
 msgstr "Connectors carregats: "
 
-#: ../yum/plugins.py:223 ../yum/plugins.py:229
+#: ../yum/plugins.py:226 ../yum/plugins.py:232
 #, python-format
 msgid "No plugin match for: %s"
 msgstr "No hi ha cap connector que coincideixi amb: %s"
 
-#: ../yum/plugins.py:259
+#: ../yum/plugins.py:262
 #, python-format
 msgid "Not loading \"%s\" plugin, as it is disabled"
 msgstr "No s'està carregant el connector \"%s\", ja que està deshabilitat"
 
 #. Give full backtrace:
-#: ../yum/plugins.py:271
+#: ../yum/plugins.py:274
 #, python-format
 msgid "Plugin \"%s\" can't be imported"
 msgstr "No s'ha pogut importar el connector \"%s\""
 
-#: ../yum/plugins.py:278
+#: ../yum/plugins.py:281
 #, python-format
 msgid "Plugin \"%s\" doesn't specify required API version"
 msgstr "El connector \"%s\" no especifica la versió de l'API requerida."
 
-#: ../yum/plugins.py:283
+#: ../yum/plugins.py:286
 #, python-format
 msgid "Plugin \"%s\" requires API %s. Supported API is %s."
 msgstr "El connector \"%s\" requereix l'API %s. L'API disponible és %s"
 
-#: ../yum/plugins.py:316
+#: ../yum/plugins.py:319
 #, python-format
 msgid "Loading \"%s\" plugin"
 msgstr "S'està carregant el connector \"%s\""
 
-#: ../yum/plugins.py:323
+#: ../yum/plugins.py:326
 #, python-format
 msgid "Two or more plugins with the name \"%s\" exist in the plugin search path"
-msgstr ""
-"Existeixen dos o més connectors amb el mateix nom \"%s\" en el camí de cerca"
-" de connectors"
+msgstr "Existeixen dos o més connectors amb el mateix nom \"%s\" en el camí de cerca de connectors"
 
-#: ../yum/plugins.py:343
+#: ../yum/plugins.py:346
 #, python-format
 msgid "Configuration file %s not found"
 msgstr "No s'ha trobat el fitxer de configuració %s"
 
 #. for
 #. Configuration files for the plugin not found
-#: ../yum/plugins.py:346
+#: ../yum/plugins.py:349
 #, python-format
 msgid "Unable to find configuration file for plugin %s"
 msgstr "No s'ha pogut trobar un fitxer de configuració per al connector %s"
 
-#: ../yum/plugins.py:508
+#: ../yum/plugins.py:553
 msgid "registration of commands not supported"
 msgstr "l'enregistrament d'ordres no està suportat"
 
-#: ../yum/rpmsack.py:148
+#: ../yum/rpmsack.py:159
 msgid "has missing requires of"
 msgstr ""
 
-#: ../yum/rpmsack.py:151
+#: ../yum/rpmsack.py:162
 msgid "has installed conflicts"
 msgstr ""
 
-#: ../yum/rpmsack.py:160
+#: ../yum/rpmsack.py:171
 #, python-format
 msgid "%s is a duplicate with %s"
 msgstr ""
 
-#: ../yum/rpmsack.py:168
+#: ../yum/rpmsack.py:179
 #, python-format
 msgid "%s is obsoleted by %s"
 msgstr ""
 
-#: ../yum/rpmsack.py:176
+#: ../yum/rpmsack.py:187
 #, python-format
 msgid "%s provides %s but it cannot be found"
 msgstr ""
@@ -3148,6 +3458,23 @@ msgstr ""
 msgid "Repackaging"
 msgstr "Reempaquetant"
 
+#: ../yum/rpmtrans.py:149
+#, python-format
+msgid "Verify: %u/%u: %s"
+msgstr ""
+
+#: ../yum/yumRepo.py:919
+#, python-format
+msgid ""
+"Insufficient space in download directory %s\n"
+"    * free   %s\n"
+"    * needed %s"
+msgstr "No hi ha espai suficient al directori de descàrregues %s\n    * lliure    %s\n    * necessari %s"
+
+#: ../yum/yumRepo.py:986
+msgid "Package does not match intended download."
+msgstr ""
+
 #: ../rpmUtils/oldUtils.py:33
 #, python-format
 msgid "Header cannot be opened or does not match %s, %s."
@@ -3160,9 +3487,7 @@ msgstr "Falla la comprobació md5 per al RPM %s"
 
 #: ../rpmUtils/oldUtils.py:151
 msgid "Could not open RPM database for reading. Perhaps it is already in use?"
-msgstr ""
-"No s'ha pogut obrir la base de dades RPM per a llegir-la. Potser ja està en "
-"ús?"
+msgstr "No s'ha pogut obrir la base de dades RPM per a llegir-la. Potser ja està en ús?"
 
 #: ../rpmUtils/oldUtils.py:183
 msgid "Got an empty Header, something has gone wrong"
@@ -3178,5 +3503,3 @@ msgstr "Capçalera malmesa %s"
 #, python-format
 msgid "Error opening rpm %s - error %s"
 msgstr "S'ha produït un error en obrir l'rpm %s - error %s"
-
-
diff --git a/po/cs.po b/po/cs.po
index 622394b..f992f1a 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -2,1515 +2,1670 @@
 # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
 # This file is distributed under the same license as the PACKAGE package.
 # 
-# Adam  Pribyl <covex@lowlevel.cz>, 2011
+# Translators:
+# Adam  Pribyl <covex@lowlevel.cz>, 2011.
+# Adam Pribyl <pribyl@lowlevel.cz>, 2012.
+#  <zpavlas@redhat.com>, 2013.
+#   <zpavlas@redhat.com>, 2011-2012.
 msgid ""
 msgstr ""
 "Project-Id-Version: Yum\n"
-"Report-Msgid-Bugs-To: http://yum.baseurl.org/\n"
-"POT-Creation-Date: 2011-06-06 10:21-0400\n"
-"PO-Revision-Date: 2011-06-06 14:21+0000\n"
-"Last-Translator: skvidal <skvidal@fedoraproject.org>\n"
-"Language-Team: Czech (http://www.transifex.net/projects/p/yum/team/cs/)\n"
+"Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
+"POT-Creation-Date: 2013-01-30 09:08-0500\n"
+"PO-Revision-Date: 2013-03-06 09:44+0000\n"
+"Last-Translator: zpavlas <zpavlas@redhat.com>\n"
+"Language-Team: Czech (http://www.transifex.com/projects/p/yum/language/cs/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Language: cs\n"
-"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2\n"
+"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
 
-#: ../callback.py:48 ../output.py:1037 ../yum/rpmtrans.py:73
+#: ../callback.py:45 ../output.py:1502 ../yum/rpmtrans.py:73
 msgid "Updating"
-msgstr "Aktualizuje se"
+msgstr "Aktualizace"
 
-#: ../callback.py:49 ../yum/rpmtrans.py:74
+#: ../callback.py:46 ../yum/rpmtrans.py:74
 msgid "Erasing"
-msgstr "Maže se"
+msgstr "Odstranění"
 
-#: ../callback.py:50 ../callback.py:51 ../callback.py:53 ../output.py:1036
-#: ../output.py:2218 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
+#: ../callback.py:47 ../callback.py:48 ../callback.py:50 ../output.py:1501
+#: ../output.py:2922 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
 #: ../yum/rpmtrans.py:78
 msgid "Installing"
-msgstr "Instaluje se"
+msgstr "Instalování"
 
-#: ../callback.py:52 ../callback.py:58 ../output.py:1840 ../yum/rpmtrans.py:77
+#: ../callback.py:49 ../callback.py:55 ../output.py:2379 ../yum/rpmtrans.py:77
 msgid "Obsoleted"
-msgstr "Zastaralé"
+msgstr "Zastaralo"
 
-#: ../callback.py:54 ../output.py:1169 ../output.py:1686 ../output.py:1847
+#: ../callback.py:51 ../output.py:1670 ../output.py:2222 ../output.py:2386
 msgid "Updated"
 msgstr "Aktualizováno"
 
-#: ../callback.py:55 ../output.py:1685
+#: ../callback.py:52 ../output.py:2221
 msgid "Erased"
 msgstr "Smazáno"
 
-#: ../callback.py:56 ../callback.py:57 ../callback.py:59 ../output.py:1167
-#: ../output.py:1685 ../output.py:1687 ../output.py:2190
+#: ../callback.py:53 ../callback.py:54 ../callback.py:56 ../output.py:1668
+#: ../output.py:2221 ../output.py:2223 ../output.py:2894
 msgid "Installed"
 msgstr "Nainstalováno"
 
-#: ../callback.py:130
+#: ../callback.py:142
 msgid "No header - huh?"
 msgstr "Bez hlavičky???"
 
-#: ../callback.py:168
+#: ../callback.py:180
 msgid "Repackage"
 msgstr "Přebalit"
 
-#: ../callback.py:189
+#: ../callback.py:201
 #, python-format
 msgid "Error: invalid output state: %s for %s"
 msgstr "Chyba: neplatný výstupní stav: %s pro %s"
 
-#: ../callback.py:212
+#: ../callback.py:224
 #, python-format
 msgid "Erased: %s"
 msgstr "Smazáno: %s"
 
-#: ../callback.py:217 ../output.py:1038 ../output.py:2193
+#: ../callback.py:229 ../output.py:1503 ../output.py:2897
 msgid "Removing"
 msgstr "Odstraňuje se"
 
-#: ../callback.py:219 ../yum/rpmtrans.py:79
+#: ../callback.py:231 ../yum/rpmtrans.py:79
 msgid "Cleanup"
-msgstr "Čistí se"
+msgstr "Vymazání"
 
-#: ../cli.py:115
+#: ../cli.py:122
 #, python-format
 msgid "Command \"%s\" already defined"
 msgstr "Příkaz „%s“ již definován"
 
-#: ../cli.py:127
+#: ../cli.py:137
 msgid "Setting up repositories"
-msgstr "Nastavují se repozitáře"
+msgstr "Příprava repozitářů"
 
-#: ../cli.py:138
+#: ../cli.py:148
 msgid "Reading repository metadata in from local files"
-msgstr "Načítají se metadata repozitářů z lokálních souborů"
+msgstr "Načítání metadat repozitářů z lokálních souborů"
 
-#: ../cli.py:245 ../utils.py:281
+#: ../cli.py:273 ../cli.py:277 ../utils.py:320
 #, python-format
 msgid "Config Error: %s"
 msgstr "Chyba konfigurace: %s"
 
-#: ../cli.py:248 ../cli.py:1584 ../utils.py:284
+#: ../cli.py:280 ../cli.py:2206 ../utils.py:323
 #, python-format
 msgid "Options Error: %s"
 msgstr "Chybná volba: %s"
 
-#: ../cli.py:293
+#: ../cli.py:327
 #, python-format
 msgid "  Installed: %s-%s at %s"
-msgstr "  Nainstalováno: %s-%s na %s"
+msgstr "  Nainstalováno: %s-%s %s"
 
-#: ../cli.py:295
+#: ../cli.py:329
 #, python-format
 msgid "  Built    : %s at %s"
-msgstr "  Sestaveno    : %s na %s"
+msgstr "  Sestaveno    : %s %s"
 
-#: ../cli.py:297
+#: ../cli.py:331
 #, python-format
 msgid "  Committed: %s at %s"
-msgstr "  Odesláno     : %s na %s"
+msgstr "  Odesláno     : %s %s"
 
-#: ../cli.py:336
+#: ../cli.py:372
 msgid "You need to give some command"
-msgstr "Musíte zadat nějaký příkaz"
+msgstr "Musít být zadán nějaký příkaz"
 
-#: ../cli.py:350
+#: ../cli.py:386
 #, python-format
 msgid "No such command: %s. Please use %s --help"
 msgstr "Neexistující příkaz: %s. Použijte %s --help"
 
-#: ../cli.py:400
+#: ../cli.py:444
 msgid "Disk Requirements:\n"
 msgstr "Diskové požadavky:\n"
 
-#: ../cli.py:402
+#: ../cli.py:446
 #, python-format
 msgid "  At least %dMB more space needed on the %s filesystem.\n"
-msgstr "  Je potřeba alespoň o %dMB více místa na souborovém systému %s.\n"
+msgid_plural "  At least %dMB more space needed on the %s filesystem.\n"
+msgstr[0] "  Je potřeba alespoň o %dMB více místa na souborovém systému %s.\n"
+msgstr[1] "  Je potřeba alespoň o %dMB více místa na souborovém systému %s.\n"
+msgstr[2] "  Je potřeba alespoň o %dMB více místa na souborovém systému %s.\n"
 
 #. TODO: simplify the dependency errors?
 #. Fixup the summary
-#: ../cli.py:407
+#: ../cli.py:451
 msgid ""
 "Error Summary\n"
 "-------------\n"
-msgstr ""
-"Přehled chyb\n"
-"------------\n"
+msgstr "Přehled chyb\n------------\n"
+
+#: ../cli.py:472
+msgid "Can't create lock file; exiting"
+msgstr "Nelze vytvořit soubor se zámkem; končím"
 
-#: ../cli.py:450
+#: ../cli.py:479
+msgid ""
+"Another app is currently holding the yum lock; exiting as configured by "
+"exit_on_lock"
+msgstr "Zámek pro yum nyní blokuje jiná aplikace; ukončení kvůli nastavenému exit_on_lock"
+
+#: ../cli.py:532
 msgid "Trying to run the transaction but nothing to do. Exiting."
 msgstr "Pokus o spuštění transakce, ale není co dělat. Ukončeno."
 
-#: ../cli.py:497
+#: ../cli.py:577
+msgid "future rpmdb ver mismatched saved transaction version,"
+msgstr "budoucí verze rpmdb neodpovídá verzi uložené v transakci,"
+
+#: ../cli.py:579 ../yum/__init__.py:6523
+msgid " ignoring, as requested."
+msgstr " ignorováno, jak bylo žádáno."
+
+#: ../cli.py:582 ../yum/__init__.py:6526 ../yum/__init__.py:6673
+msgid " aborting."
+msgstr " přerušeno."
+
+#: ../cli.py:588
 msgid "Exiting on user Command"
 msgstr "Ukončeno na příkaz uživatele"
 
-#: ../cli.py:501
+#: ../cli.py:592
 msgid "Downloading Packages:"
-msgstr "Stahují se balíčky:"
+msgstr "Stahování balíčků:"
 
-#: ../cli.py:506
+#: ../cli.py:597
 msgid "Error Downloading Packages:\n"
-msgstr "Chyba stahování balíčků:\n"
+msgstr "Chyba při stahování balíčků:\n"
 
-#: ../cli.py:525 ../yum/__init__.py:4967
+#: ../cli.py:616 ../yum/__init__.py:6215
 msgid "Running Transaction Check"
-msgstr ""
+msgstr "Spuštěna kontrola transakce"
 
-#: ../cli.py:534 ../yum/__init__.py:4976
+#: ../cli.py:625 ../yum/__init__.py:6224
 msgid "ERROR You need to update rpm to handle:"
 msgstr "CHYBA Je potřeba aktualizovat rpm k provedení:"
 
-#: ../cli.py:536 ../yum/__init__.py:4979
+#: ../cli.py:627 ../yum/__init__.py:6227
 msgid "ERROR with transaction check vs depsolve:"
-msgstr ""
+msgstr "CHYBA při kontrole transakce a řešení závislostí:"
 
-#: ../cli.py:542
+#: ../cli.py:633
 msgid "RPM needs to be updated"
-msgstr "Je potřeba aktualizovat RPM"
+msgstr "Je nutné aktualizovat RPM"
 
-#: ../cli.py:543
+#: ../cli.py:634
 #, python-format
 msgid "Please report this error in %s"
-msgstr "Oznamte prosím tuto chybu v %s"
+msgstr "Oznamte prosím tuto chybu na adrese %s"
 
-#: ../cli.py:549
+#: ../cli.py:640
 msgid "Running Transaction Test"
-msgstr "Spouští se test transakcí"
+msgstr "Spuštěn test transakce"
 
-#: ../cli.py:561
+#: ../cli.py:652
 msgid "Transaction Check Error:\n"
-msgstr "Chyba při kontrole transakcí:\n"
+msgstr "Chyba při kontrole transakce:\n"
 
-#: ../cli.py:568
+#: ../cli.py:659
 msgid "Transaction Test Succeeded"
-msgstr "Test transakcí uspěl"
+msgstr "Test transakce v pořádku"
 
-#: ../cli.py:600
+#: ../cli.py:691
 msgid "Running Transaction"
-msgstr "Spouští se transakce"
+msgstr "Transakce spuštěna"
 
-#: ../cli.py:630
+#: ../cli.py:724
 msgid ""
 "Refusing to automatically import keys when running unattended.\n"
 "Use \"-y\" to override."
-msgstr ""
-"Nelze automaticky importovat klíče při spuštění bez obsluhy.\n"
-"Použijte \"-y\" k potlačení."
+msgstr "Nelze automaticky importovat klíče při spuštění bez obsluhy.\nPoužijte \"-y\" k potlačení."
 
-#: ../cli.py:649 ../cli.py:692
+#: ../cli.py:743 ../cli.py:786
 msgid "  * Maybe you meant: "
-msgstr "  * Možná jste myslel: "
+msgstr "  * Možná bylo míněno: "
 
-#: ../cli.py:675 ../cli.py:683
+#: ../cli.py:769 ../cli.py:777
 #, python-format
 msgid "Package(s) %s%s%s available, but not installed."
 msgstr "Balíček(y) %s%s%s dostupný/é, ale nenainstalovaný/é."
 
-#: ../cli.py:689 ../cli.py:722 ../cli.py:908
+#: ../cli.py:783 ../cli.py:891 ../cli.py:1158
 #, python-format
 msgid "No package %s%s%s available."
 msgstr "Balíček %s%s%s není dostupný."
 
-#: ../cli.py:729 ../cli.py:973
-msgid "Package(s) to install"
-msgstr "Balíček(y) k instalaci"
+#: ../cli.py:871 ../cli.py:881 ../cli.py:1101 ../cli.py:1111
+#, python-format
+msgid "Bad %s argument %s."
+msgstr "%s: chybný argument %s."
 
-#: ../cli.py:732 ../cli.py:733 ../cli.py:914 ../cli.py:948 ../cli.py:974
-#: ../yumcommands.py:190
+#: ../cli.py:900 ../yumcommands.py:3331
+#, python-format
+msgid "%d package to install"
+msgid_plural "%d packages to install"
+msgstr[0] "%d balíček k instalaci"
+msgstr[1] "%d balíčky k instalaci"
+msgstr[2] "%d balíčků k instalaci"
+
+#: ../cli.py:903 ../cli.py:904 ../cli.py:1169 ../cli.py:1170 ../cli.py:1224
+#: ../cli.py:1225 ../cli.py:1260 ../yumcommands.py:323 ../yumcommands.py:3419
 msgid "Nothing to do"
 msgstr "Není co dělat"
 
-#: ../cli.py:767
+#: ../cli.py:953
 #, python-format
-msgid "%d packages marked for Update"
-msgstr "%d balíčků označeno k aktualizaci"
+msgid "%d package marked for Update"
+msgid_plural "%d packages marked for Update"
+msgstr[0] "%d balíček označen jako aktualizace"
+msgstr[1] "%d balíčky označeny jako aktualizace"
+msgstr[2] "%d balíčků označeno jako aktualizace"
 
-#: ../cli.py:770
+#: ../cli.py:955
 msgid "No Packages marked for Update"
-msgstr "Žádné balíčky označené k aktualizaci"
+msgstr "Nejsou dostupné žádné balíčky s aktualizacemi"
 
-#: ../cli.py:866
+#: ../cli.py:1067
 #, python-format
-msgid "%d packages marked for Distribution Synchronization"
-msgstr "%d balíčků označených k synchronizaci distribuce"
+msgid "%d package marked for Distribution Synchronization"
+msgid_plural "%d packages marked for Distribution Synchronization"
+msgstr[0] "%d balíček označen k synchronizaci distribuce"
+msgstr[1] "%d balíčky označeny k synchronizaci distribuce"
+msgstr[2] "%d balíčků označeno k synchronizaci distribuce"
 
-#: ../cli.py:869
+#: ../cli.py:1069
 msgid "No Packages marked for Distribution Synchronization"
-msgstr "K synchronizaci distribuce nebyly označeny žádné balíčky"
+msgstr "K synchronizaci distribuce nebyly určeny žádné balíčky"
 
-#: ../cli.py:885
+#: ../cli.py:1124
 #, python-format
-msgid "%d packages marked for removal"
-msgstr "%d balíčků označeno ke smazání"
+msgid "%d package marked for removal"
+msgid_plural "%d packages marked for removal"
+msgstr[0] "%d balíček označen k odstranění"
+msgstr[1] "%d balíčyk označeny k odstranění"
+msgstr[2] "%d balíčků označeno k odstranění"
 
-#: ../cli.py:888
+#: ../cli.py:1126
 msgid "No Packages marked for removal"
-msgstr "Žádné balíčky označené k odstranění"
+msgstr "Žádné balíčky ke smazání"
 
-#: ../cli.py:913
-msgid "Package(s) to downgrade"
-msgstr "Balíček(y) ke snížení verze"
+#: ../cli.py:1166
+#, python-format
+msgid "%d package to downgrade"
+msgid_plural "%d packages to downgrade"
+msgstr[0] "%d balíček označen ke snížení verze"
+msgstr[1] "%d balíčky označeny ke snížení verze"
+msgstr[2] "%d balíčků označeno ke snížení verze"
 
-#: ../cli.py:938
+#: ../cli.py:1207
 #, python-format
 msgid " (from %s)"
 msgstr " (z %s)"
 
-#: ../cli.py:939
+#: ../cli.py:1208
 #, python-format
 msgid "Installed package %s%s%s%s not available."
-msgstr "Instalované balíčky  %s%s%s%s nejsou dostupné"
+msgstr "Instalované balíčky %s%s%s%s nejsou dostupné"
 
-#: ../cli.py:947
-msgid "Package(s) to reinstall"
-msgstr "Balíček(y) k reinstalaci"
+#: ../cli.py:1221
+#, python-format
+msgid "%d package to reinstall"
+msgid_plural "%d packages to reinstall"
+msgstr[0] "%d balíček k reinstalaci"
+msgstr[1] "%d balíčky k reinstalaci"
+msgstr[2] "%d balíčků k reinstalaci"
 
-#: ../cli.py:960
+#: ../cli.py:1246
 msgid "No Packages Provided"
-msgstr "Žádný balíček neposkytuje"
+msgstr "Neposkytnuty žádné balíčky"
+
+#: ../cli.py:1259
+msgid "Package(s) to install"
+msgstr "Balíček(y) k instalaci"
 
-#: ../cli.py:1058
+#: ../cli.py:1367
 #, python-format
 msgid "N/S Matched: %s"
-msgstr ""
+msgstr "Jméno/Souhrn odpovídá: %s"
 
-#: ../cli.py:1075
+#: ../cli.py:1384
 #, python-format
 msgid "  Name and summary matches %sonly%s, use \"search all\" for everything."
-msgstr ""
+msgstr "  Vyhledáno %spouze%s podle jména a souhrnu, použijte \"search all\" pro úplné hledání."
 
-#: ../cli.py:1077
+#: ../cli.py:1386
 #, python-format
 msgid ""
 "  Full name and summary matches %sonly%s, use \"search all\" for everything."
-msgstr ""
+msgstr "  Vyhledáno %spouze%s podle plného jména a souhrnu, použijte \"search all\" pro úplné hledání."
 
-#: ../cli.py:1095
+#: ../cli.py:1404
 #, python-format
 msgid "Matched: %s"
 msgstr "Shoda: %s"
 
-#: ../cli.py:1102
+#: ../cli.py:1411
 #, python-format
 msgid "  Name and summary matches %smostly%s, use \"search all\" for everything."
-msgstr ""
+msgstr "  Vyhledáno %shlavně%s, použijte \"search all\" pro úplné hledání."
 
-#: ../cli.py:1106
+#: ../cli.py:1415
 #, python-format
 msgid "Warning: No matches found for: %s"
-msgstr "Varování: Žádný balíček odpovídající: %s"
+msgstr "Varování: Žádná shoda pro: %s"
 
-#: ../cli.py:1109
+#: ../cli.py:1418
 msgid "No Matches found"
 msgstr "Nebyla nalezena shoda"
 
-#: ../cli.py:1174
+#: ../cli.py:1536
 #, python-format
-msgid "No Package Found for %s"
-msgstr "Nebyly nalezeny balíčky pro %s"
+msgid ""
+"Error: No Packages found for:\n"
+"  %s"
+msgstr "Chyba: Nebyly nalezený balíčky pro:\n  %s"
 
-#: ../cli.py:1184
+#: ../cli.py:1572
 msgid "Cleaning repos: "
-msgstr "Čištění repozitářů:"
+msgstr "Vyčištění repozitářů:"
 
-#: ../cli.py:1189
+#: ../cli.py:1577
 msgid "Cleaning up Everything"
-msgstr "Čistí se vše"
+msgstr "Vymazání celého obsahu cache"
 
-#: ../cli.py:1205
+#: ../cli.py:1593
 msgid "Cleaning up Headers"
-msgstr "Čistí se hlavičky"
+msgstr "Vymazání hlaviček"
 
-#: ../cli.py:1208
+#: ../cli.py:1596
 msgid "Cleaning up Packages"
-msgstr "Čistí se balíčky"
+msgstr "Vymazání balíčků"
 
-#: ../cli.py:1211
+#: ../cli.py:1599
 msgid "Cleaning up xml metadata"
-msgstr "Čistí se XML metadata"
+msgstr "Vymazání XML metadat"
 
-#: ../cli.py:1214
+#: ../cli.py:1602
 msgid "Cleaning up database cache"
-msgstr "Čistí se skladiště databáze"
+msgstr "Vymazání databázové cache"
 
-#: ../cli.py:1217
+#: ../cli.py:1605
 msgid "Cleaning up expire-cache metadata"
-msgstr "Ze skladiště se odstraňují zastaralá metadata"
+msgstr "Vymazání zastaralých metadat"
 
-#: ../cli.py:1220
+#: ../cli.py:1608
 msgid "Cleaning up cached rpmdb data"
-msgstr "Čistí se skladiště rpmdb dat"
+msgstr "Vymazání rpmdb cache"
 
-#: ../cli.py:1223
+#: ../cli.py:1611
 msgid "Cleaning up plugins"
-msgstr "Čistí se zásuvné moduly"
+msgstr "Vymazání modulů"
 
-#: ../cli.py:1247
-#, python-format
-msgid "Warning: No groups match: %s"
-msgstr ""
+#: ../cli.py:1727
+msgid "Installed Environment Groups:"
+msgstr "Nainstalované skupiny prostředí:"
+
+#: ../cli.py:1728
+msgid "Available Environment Groups:"
+msgstr "Dostupné skupiny prostředí:"
 
-#: ../cli.py:1264
+#: ../cli.py:1735
 msgid "Installed Groups:"
 msgstr "Nainstalované skupiny:"
 
-#: ../cli.py:1270
+#: ../cli.py:1742
 msgid "Installed Language Groups:"
-msgstr ""
+msgstr "Nainstalované jazykové skupiny:"
 
-#: ../cli.py:1276
+#: ../cli.py:1749
 msgid "Available Groups:"
 msgstr "Dostupné skupiny:"
 
-#: ../cli.py:1282
+#: ../cli.py:1756
 msgid "Available Language Groups:"
-msgstr ""
+msgstr "Dostupné jazykové skupiny:"
+
+#: ../cli.py:1759
+#, python-format
+msgid "Warning: No Environments/Groups match: %s"
+msgstr "Varování: Žádná shoda skupiny pro: %s"
 
-#: ../cli.py:1285
+#: ../cli.py:1763
 msgid "Done"
 msgstr "Dokončeno"
 
-#: ../cli.py:1296 ../cli.py:1314 ../cli.py:1320 ../yum/__init__.py:3313
+#: ../cli.py:1818
+#, python-format
+msgid "Warning: Group/Environment %s does not exist."
+msgstr "Varování: Skupina %s neexistuje."
+
+#: ../cli.py:1859
+#, python-format
+msgid "Warning: Environment %s does not exist."
+msgstr "Varování: Skupina %s neexistuje."
+
+#: ../cli.py:1873 ../cli.py:1879 ../yum/__init__.py:4254
 #, python-format
 msgid "Warning: Group %s does not exist."
 msgstr "Varování: skupina %s neexistuje."
 
-#: ../cli.py:1324
+#: ../cli.py:1883
 msgid "No packages in any requested group available to install or update"
-msgstr ""
-"V žádné z požadovaných skupin nejsou balíčky k instalaci nebo aktualizaci"
+msgstr "V žádné z požadovaných skupin nejsou balíčky k instalaci nebo aktualizaci"
 
-#: ../cli.py:1326
+#: ../cli.py:1885
 #, python-format
-msgid "%d Package(s) to Install"
-msgstr "%d balíček(ů) k instalaci"
+msgid "%d package to Install"
+msgid_plural "%d packages to Install"
+msgstr[0] "%d balíček k instalaci"
+msgstr[1] "%d balíčky k instalaci"
+msgstr[2] "%d balíčků k instalaci"
+
+#: ../cli.py:1919 ../yum/__init__.py:3536 ../yum/__init__.py:3766
+#: ../yum/__init__.py:3824
+#, python-format
+msgid "No Environment named %s exists"
+msgstr "Neexistuje skupina se jménem %s"
 
-#: ../cli.py:1336 ../yum/__init__.py:3325
+#: ../cli.py:1935 ../yum/__init__.py:4282
 #, python-format
 msgid "No group named %s exists"
 msgstr "Neexistuje skupina se jménem %s"
 
-#: ../cli.py:1342
+#: ../cli.py:1945
 msgid "No packages to remove from groups"
 msgstr "Žádné balíčky k odstranění ve skupině"
 
-#: ../cli.py:1344
+#: ../cli.py:1947 ../yumcommands.py:3351
 #, python-format
-msgid "%d Package(s) to remove"
-msgstr "%d balíček(ů) k odstranění"
+msgid "%d package to remove"
+msgid_plural "%d packages to remove"
+msgstr[0] "%d balíček k odstranění"
+msgstr[1] "%d balíčky k odstranění"
+msgstr[2] "%d balíčků k odstranění"
 
-#: ../cli.py:1386
+#: ../cli.py:1988
 #, python-format
 msgid "Package %s is already installed, skipping"
 msgstr "Balíček %s je již nainstalován, přeskakuje se"
 
-#: ../cli.py:1397
+#: ../cli.py:1999
 #, python-format
 msgid "Discarding non-comparable pkg %s.%s"
-msgstr "Skartuje se neporovnatelný balíček %s.%s"
+msgstr "Zahození neporovnatelného balíčku %s.%s"
 
 #. we've not got any installed that match n or n+a
-#: ../cli.py:1423
+#: ../cli.py:2025
 #, python-format
 msgid "No other %s installed, adding to list for potential install"
 msgstr "Žádný jiný %s nainstalován, přidán do seznamu k potenciální instalaci"
 
-#: ../cli.py:1443
+#: ../cli.py:2045
 msgid "Plugin Options"
-msgstr "Možnosti zásuvného modulu"
+msgstr "Volby zásuvného modulu"
 
-#: ../cli.py:1451
+#: ../cli.py:2057
 #, python-format
 msgid "Command line error: %s"
-msgstr "Chyba příkazové řádky: %s"
+msgstr "Chyba na příkazovém řádku: %s"
 
-#: ../cli.py:1467
+#: ../cli.py:2079
 #, python-format
 msgid ""
 "\n"
 "\n"
 "%s: %s option requires an argument"
-msgstr ""
-"\n"
-"\n"
-"%s: %s volba vyžaduje argument"
+msgstr "\n\n%s: %s volba vyžaduje argument"
 
-#: ../cli.py:1521
+#: ../cli.py:2147
 msgid "--color takes one of: auto, always, never"
-msgstr "--color přijímá jeden z: auto, always, never"
+msgstr "--color může být jen: auto, always, never"
 
 #. We have a relative installroot ... haha
-#: ../cli.py:1596
+#: ../cli.py:2218
 #, python-format
 msgid "--installroot must be an absolute path: %s"
-msgstr ""
+msgstr "--installroot musí být absolutní cesta: %s"
 
-#: ../cli.py:1642
+#: ../cli.py:2272
 msgid "show this help message and exit"
 msgstr "ukázat tuto nápovědu a skončit"
 
-#: ../cli.py:1646
+#: ../cli.py:2276
 msgid "be tolerant of errors"
 msgstr "tolerovat chyby"
 
-#: ../cli.py:1649
+#: ../cli.py:2279
 msgid "run entirely from system cache, don't update cache"
-msgstr "spustit vše ze systémového skladiště, bez jeho aktualizace"
+msgstr "spustit vše ze systémové cache, bez její aktualizace"
 
-#: ../cli.py:1652
+#: ../cli.py:2282
 msgid "config file location"
 msgstr "umístění konfiguračního souboru"
 
-#: ../cli.py:1655
+#: ../cli.py:2285
 msgid "maximum command wait time"
 msgstr "maximální čas čekání na příkaz"
 
-#: ../cli.py:1657
+#: ../cli.py:2287
 msgid "debugging output level"
-msgstr "úroveň výstupních ladících informací"
+msgstr "úroveň výpisu ladících informací"
 
-#: ../cli.py:1661
+#: ../cli.py:2291
 msgid "show duplicates, in repos, in list/search commands"
 msgstr "ukázat duplikáty v repozitářích, v list/search příkazech"
 
-#: ../cli.py:1663
+#: ../cli.py:2296
 msgid "error output level"
-msgstr "úroveň výstupu chyb"
+msgstr "úroveň výpisu chyb"
 
-#: ../cli.py:1666
+#: ../cli.py:2299
 msgid "debugging output level for rpm"
-msgstr "úroveň výstupních ladících informací pro rpm"
+msgstr "úroveň výpisu ladících informací pro rpm"
 
-#: ../cli.py:1669
+#: ../cli.py:2302
 msgid "quiet operation"
-msgstr "tichý chod"
+msgstr "tichý běh"
 
-#: ../cli.py:1671
+#: ../cli.py:2304
 msgid "verbose operation"
-msgstr "užvaněný chod"
+msgstr "užvaněný běh"
 
-#: ../cli.py:1673
+#: ../cli.py:2306
 msgid "answer yes for all questions"
-msgstr "odpovědět ano na všechny otázky"
+msgstr "odpovědět na všechny otázky ano"
+
+#: ../cli.py:2308
+msgid "answer no for all questions"
+msgstr "odpovědět ne na všechny otázky"
 
-#: ../cli.py:1675
+#: ../cli.py:2312
 msgid "show Yum version and exit"
 msgstr "ukázat verzi yumu a skončit"
 
-#: ../cli.py:1676
+#: ../cli.py:2313
 msgid "set install root"
 msgstr "nastavit kořen instalace "
 
-#: ../cli.py:1680
+#: ../cli.py:2317
 msgid "enable one or more repositories (wildcards allowed)"
 msgstr "povolit jeden nebo více repozitářů (zástupné znaky povoleny)"
 
-#: ../cli.py:1684
+#: ../cli.py:2321
 msgid "disable one or more repositories (wildcards allowed)"
 msgstr "zakázat jeden nebo více repozitářů (zástupné znaky povoleny)"
 
-#: ../cli.py:1687
+#: ../cli.py:2324
 msgid "exclude package(s) by name or glob"
-msgstr "vyřadit balíček(y) podle jména nebo globálně"
+msgstr "vyřadit balíček(y) podle jména nebo výrazu"
 
-#: ../cli.py:1689
+#: ../cli.py:2326
 msgid "disable exclude from main, for a repo or for everything"
 msgstr "zakázat vyřazení z hlavní části, pro repozitář nebo pro vše"
 
-#: ../cli.py:1692
+#: ../cli.py:2329
 msgid "enable obsoletes processing during updates"
 msgstr "povolit zpracování zastaralých během aktualizací"
 
-#: ../cli.py:1694
+#: ../cli.py:2331
 msgid "disable Yum plugins"
 msgstr "zakázat zásuvné moduly yumu"
 
-#: ../cli.py:1696
+#: ../cli.py:2333
 msgid "disable gpg signature checking"
 msgstr "zakázat kontrolu GPG podpisů"
 
-#: ../cli.py:1698
+#: ../cli.py:2335
 msgid "disable plugins by name"
 msgstr "zakázat zásuvné moduly podle jména"
 
-#: ../cli.py:1701
+#: ../cli.py:2338
 msgid "enable plugins by name"
 msgstr "povolit zásuvné moduly podle jména"
 
-#: ../cli.py:1704
+#: ../cli.py:2341
 msgid "skip packages with depsolving problems"
 msgstr "přeskočit balíčky s problémy v závislostech"
 
-#: ../cli.py:1706
+#: ../cli.py:2343
 msgid "control whether color is used"
 msgstr "kontrola zda jsou použity barvy"
 
-#: ../cli.py:1708
+#: ../cli.py:2345
 msgid "set value of $releasever in yum config and repo files"
-msgstr "nastavte hodnotu $releasever v konfiguraci yumu a repo souborech"
+msgstr "nastavit hodnotu $releasever pro yum a repo soubory"
 
-#: ../cli.py:1710
+#: ../cli.py:2347
+msgid "don't update, just download"
+msgstr "Neprováděj aktualizaci, pouze stáhni soubory"
+
+#: ../cli.py:2349
+msgid "specifies an alternate directory to store packages"
+msgstr "specifikuje alternativní adresář pro uložení balíčků"
+
+#: ../cli.py:2351
 msgid "set arbitrary config and repo options"
 msgstr "nastavit doplňkové konfigurace a možnosti repozitáře "
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Jan"
-msgstr "Led"
+msgstr "led"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Feb"
-msgstr "Úno"
+msgstr "úno"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Mar"
-msgstr "Bře"
+msgstr "bře"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Apr"
-msgstr "Dub"
+msgstr "dub"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "May"
-msgstr "Kvě"
+msgstr "kvě"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Jun"
-msgstr "Čer"
+msgstr "čer"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Jul"
-msgstr "Čec"
+msgstr "čec"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Aug"
-msgstr "Srp"
+msgstr "srp"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Sep"
-msgstr "Zář"
+msgstr "zář"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Oct"
-msgstr "Říj"
+msgstr "říj"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Nov"
-msgstr "Lis"
+msgstr "lis"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Dec"
-msgstr "Pro"
+msgstr "pro"
 
-#: ../output.py:318
+#: ../output.py:473
 msgid "Trying other mirror."
-msgstr "Zkouší se jiné zrcadlo"
+msgstr "Zkusí se jiné zrcadlo..."
 
-#: ../output.py:581
+#: ../output.py:816
 #, python-format
 msgid "Name        : %s%s%s"
-msgstr "Jméno       : %s%s%s"
+msgstr "Jméno        : %s%s%s"
 
-#: ../output.py:582
+#: ../output.py:817
 #, python-format
 msgid "Arch        : %s"
-msgstr "Arch        : %s"
+msgstr "Platforma    : %s"
 
-#: ../output.py:584
+#: ../output.py:819
 #, python-format
 msgid "Epoch       : %s"
-msgstr "Epocha      : %s"
+msgstr "Epocha       : %s"
 
-#: ../output.py:585
+#: ../output.py:820
 #, python-format
 msgid "Version     : %s"
-msgstr "Verze       : %s"
+msgstr "Verze        : %s"
 
-#: ../output.py:586
+#: ../output.py:821
 #, python-format
 msgid "Release     : %s"
-msgstr "Vydání      : %s"
+msgstr "Vydání       : %s"
 
-#: ../output.py:587
+#: ../output.py:822
 #, python-format
 msgid "Size        : %s"
-msgstr "Velikost    : %s"
+msgstr "Velikost     : %s"
 
-#: ../output.py:588 ../output.py:900
+#: ../output.py:823 ../output.py:1329
 #, python-format
 msgid "Repo        : %s"
-msgstr "Repo        : %s"
+msgstr "Repozitář    : %s"
 
-#: ../output.py:590
+#: ../output.py:825
 #, python-format
 msgid "From repo   : %s"
-msgstr "Z repozitáře: %s"
+msgstr "Z repozitáře : %s"
 
-#: ../output.py:592
+#: ../output.py:827
 #, python-format
 msgid "Committer   : %s"
-msgstr "Odesilatel  : %s"
+msgstr "Odesilatel   : %s"
 
-#: ../output.py:593
+#: ../output.py:828
 #, python-format
 msgid "Committime  : %s"
-msgstr "Čas odeslání: %s"
+msgstr "Čas odeslání : %s"
 
-#: ../output.py:594
+#: ../output.py:829
 #, python-format
 msgid "Buildtime   : %s"
-msgstr "Čas sestavení: %s"
+msgstr "Čas vytvoření: %s"
 
-#: ../output.py:596
+#: ../output.py:831
 #, python-format
 msgid "Install time: %s"
 msgstr "Čas instalace: %s "
 
-#: ../output.py:604
+#: ../output.py:839
 #, python-format
 msgid "Installed by: %s"
-msgstr "Nainstaloval: %s "
+msgstr "Nainstaloval : %s "
 
-#: ../output.py:611
+#: ../output.py:846
 #, python-format
 msgid "Changed by  : %s"
-msgstr "Změnil      : %s"
+msgstr "Změnil       : %s"
 
-#: ../output.py:612
+#: ../output.py:847
 msgid "Summary     : "
-msgstr "Souhrn      : "
+msgstr "Souhrn       : "
 
-#: ../output.py:614 ../output.py:913
+#: ../output.py:849 ../output.py:1345
 #, python-format
 msgid "URL         : %s"
-msgstr "URL         : %s"
+msgstr "URL          : %s"
 
-#: ../output.py:615
+#: ../output.py:850
 msgid "License     : "
-msgstr "Licence     : "
+msgstr "Licence      : "
 
-#: ../output.py:616 ../output.py:910
+#: ../output.py:851 ../output.py:1342
 msgid "Description : "
-msgstr "Popis       : "
+msgstr "Popis        : "
 
-#: ../output.py:684
+#: ../output.py:969
 msgid "y"
 msgstr "a"
 
-#: ../output.py:684
+#: ../output.py:969
 msgid "yes"
 msgstr "ano"
 
-#: ../output.py:685
+#: ../output.py:970
 msgid "n"
 msgstr "n"
 
-#: ../output.py:685
+#: ../output.py:970
 msgid "no"
 msgstr "ne"
 
-#: ../output.py:689
+#: ../output.py:974
 msgid "Is this ok [y/N]: "
 msgstr "V pořádku [a/N]: "
 
-#: ../output.py:777
+#: ../output.py:1097
 #, python-format
 msgid ""
 "\n"
 "Group: %s"
-msgstr ""
-"\n"
-"Skupina: %s"
+msgstr "\nSkupina: %s"
 
-#: ../output.py:781
+#: ../output.py:1101
 #, python-format
 msgid " Group-Id: %s"
 msgstr " ID skupiny: %s"
 
-#: ../output.py:786
+#: ../output.py:1122 ../output.py:1169
 #, python-format
 msgid " Description: %s"
 msgstr " Popis: %s"
 
-#: ../output.py:788
+#: ../output.py:1124
 #, python-format
 msgid " Language: %s"
-msgstr ""
+msgstr " Jazyk: %s"
 
-#: ../output.py:790
+#: ../output.py:1126
 msgid " Mandatory Packages:"
 msgstr " Povinné balíčky:"
 
-#: ../output.py:791
+#: ../output.py:1127
 msgid " Default Packages:"
 msgstr " Výchozí balíčky:"
 
-#: ../output.py:792
+#: ../output.py:1128
 msgid " Optional Packages:"
 msgstr " Volitelné balíčky:"
 
-#: ../output.py:793
+#: ../output.py:1129
 msgid " Conditional Packages:"
 msgstr " Podmínečné balíčky:"
 
-#: ../output.py:814
+#: ../output.py:1147
+msgid " Installed Packages:"
+msgstr "Nainstalované balíčky:"
+
+#: ../output.py:1157
+#, python-format
+msgid ""
+"\n"
+"Environment Group: %s"
+msgstr "\nSkupina prostředí: %s"
+
+#: ../output.py:1158
+#, python-format
+msgid " Environment-Id: %s"
+msgstr " Environment-Id: %s"
+
+#: ../output.py:1191
+msgid " Mandatory Groups:"
+msgstr " Povinné skupiny:"
+
+#: ../output.py:1192
+msgid " Optional Groups:"
+msgstr " Volitelné skupiny:"
+
+#: ../output.py:1205
+msgid " Installed Groups:"
+msgstr "Nainstalované skupiny:"
+
+#: ../output.py:1217
 #, python-format
 msgid "package: %s"
-msgstr "balíčky: %s"
+msgstr "balíček: %s"
 
-#: ../output.py:816
+#: ../output.py:1219
 msgid "  No dependencies for this package"
-msgstr "  Pro tento balíček nejsou žádné závislosti"
+msgstr "  Pro balíček nejsou žádné závislosti"
 
-#: ../output.py:821
+#: ../output.py:1224
 #, python-format
 msgid "  dependency: %s"
-msgstr "  závislosti: %s"
+msgstr "  závislost: %s"
 
-#: ../output.py:823
+#: ../output.py:1226
 msgid "   Unsatisfied dependency"
-msgstr "   Neuspokojené závislosti"
+msgstr "   Nevyřešené závislosti"
 
-#: ../output.py:901
+#: ../output.py:1337
 msgid "Matched from:"
 msgstr "Shoda s:"
 
-#: ../output.py:916
+#: ../output.py:1348
 #, python-format
 msgid "License     : %s"
 msgstr "Licence     : %s"
 
-#: ../output.py:919
+#: ../output.py:1351
 #, python-format
 msgid "Filename    : %s"
 msgstr "Soubor      : %s"
 
-#: ../output.py:923
+#: ../output.py:1360
+msgid "Provides    : "
+msgstr "Poskytuje   : "
+
+#: ../output.py:1363
 msgid "Other       : "
 msgstr "Další       : "
 
-#: ../output.py:966
+#: ../output.py:1426
 msgid "There was an error calculating total download size"
-msgstr "Při výpočtu celkové velikosti stahování nastala chyba"
+msgstr "Při výpočtu celkové velikosti ke stahování nastala chyba"
 
-#: ../output.py:971
+#: ../output.py:1431
 #, python-format
 msgid "Total size: %s"
 msgstr "Celková velikost: %s"
 
-#: ../output.py:974
+#: ../output.py:1433
 #, python-format
 msgid "Total download size: %s"
-msgstr "Celková velikost stahování: %s"
+msgstr "Celková velikost ke stahování: %s"
 
-#: ../output.py:978 ../output.py:998
+#: ../output.py:1436 ../output.py:1459 ../output.py:1463
 #, python-format
 msgid "Installed size: %s"
 msgstr "Nainstalovaná velikost: %s"
 
-#: ../output.py:994
+#: ../output.py:1454
 msgid "There was an error calculating installed size"
-msgstr "Při počítání velikosti instalace došlo k chybě"
+msgstr "Při výpočtu velikosti po instalaci došlo k chybě"
 
-#: ../output.py:1039
+#: ../output.py:1504
 msgid "Reinstalling"
-msgstr "Přeinstalovává se"
+msgstr "Reinstalace"
 
-#: ../output.py:1040
+#: ../output.py:1505
 msgid "Downgrading"
-msgstr "Snižuje se verze"
+msgstr "Snížení verze"
 
-#: ../output.py:1041
+#: ../output.py:1506
 msgid "Installing for dependencies"
-msgstr "Instaluje se kvůli závislostem"
+msgstr "Instalace kvůli závislostem"
 
-#: ../output.py:1042
+#: ../output.py:1507
 msgid "Updating for dependencies"
-msgstr "Aktualizuje se kvůli závislostem"
+msgstr "Aktualizace se kvůli závislostem"
 
-#: ../output.py:1043
+#: ../output.py:1508
 msgid "Removing for dependencies"
-msgstr "Odstraňuje se kvůli závislostem"
+msgstr "Odstranění kvůli závislostem"
 
-#: ../output.py:1050 ../output.py:1171
+#: ../output.py:1515 ../output.py:1576 ../output.py:1672
 msgid "Skipped (dependency problems)"
 msgstr "Přeskočeno (problémy se závislostmi)"
 
-#: ../output.py:1052 ../output.py:1687
+#: ../output.py:1517 ../output.py:1577 ../output.py:2223
 msgid "Not installed"
 msgstr "Nenainstalováno"
 
-#: ../output.py:1053
+#: ../output.py:1518 ../output.py:1578
 msgid "Not available"
-msgstr ""
+msgstr "Nedostupný"
 
-#: ../output.py:1075 ../output.py:2024
+#: ../output.py:1540 ../output.py:1588 ../output.py:1604 ../output.py:2581
 msgid "Package"
-msgstr "Balíček"
+msgid_plural "Packages"
+msgstr[0] "Balíček"
+msgstr[1] ""
+msgstr[2] "Balíček"
 
-#: ../output.py:1075
+#: ../output.py:1540
 msgid "Arch"
 msgstr "Arch"
 
-#: ../output.py:1076
+#: ../output.py:1541
 msgid "Version"
 msgstr "Verze"
 
-#: ../output.py:1076
+#: ../output.py:1541
 msgid "Repository"
 msgstr "Repozitář"
 
-#: ../output.py:1077
+#: ../output.py:1542
 msgid "Size"
 msgstr "Vel."
 
-#: ../output.py:1089
+#: ../output.py:1554
 #, python-format
 msgid "     replacing  %s%s%s.%s %s\n"
 msgstr "     nahrazuje se  %s%s%s.%s %s\n"
 
-#: ../output.py:1098
+#: ../output.py:1563
 #, python-format
 msgid ""
 "\n"
 "Transaction Summary\n"
 "%s\n"
-msgstr ""
-"\n"
-"Shrnutí transakce\n"
-"%s\n"
+msgstr "\nShrnutí transakce\n%s\n"
 
-#: ../output.py:1109
-#, python-format
-msgid "Install   %5.5s Package(s)\n"
-msgstr "Instalace    %5.5s balíčků\n"
+#: ../output.py:1568 ../output.py:2376 ../output.py:2377
+msgid "Install"
+msgstr "Instalovat"
 
-#: ../output.py:1113
-#, python-format
-msgid "Upgrade   %5.5s Package(s)\n"
-msgstr "Aktualizace  %5.5s balíčků\n"
+#: ../output.py:1570
+msgid "Upgrade"
+msgstr "Aktualizace"
 
-#: ../output.py:1117
-#, python-format
-msgid "Remove    %5.5s Package(s)\n"
-msgstr "Odstranění   %5.5s  balíčků\n"
+#: ../output.py:1572
+msgid "Remove"
+msgstr "Odstranění"
 
-#: ../output.py:1121
-#, python-format
-msgid "Reinstall %5.5s Package(s)\n"
-msgstr "Reinstalace  %5.5s balíčků\n"
+#: ../output.py:1574 ../output.py:2382
+msgid "Reinstall"
+msgstr "Přeinstalovat"
 
-#: ../output.py:1125
-#, python-format
-msgid "Downgrade %5.5s Package(s)\n"
-msgstr "Snížení verze %5.5s balíčků\n"
+#: ../output.py:1575 ../output.py:2383
+msgid "Downgrade"
+msgstr "Snížit verzi"
+
+#: ../output.py:1606
+msgid "Dependent package"
+msgid_plural "Dependent packages"
+msgstr[0] "Závislý balíček"
+msgstr[1] "Závislé balíčky"
+msgstr[2] "Závislých balíčků"
 
-#: ../output.py:1165
+#: ../output.py:1666
 msgid "Removed"
 msgstr "Odstraněno"
 
-#: ../output.py:1166
+#: ../output.py:1667
 msgid "Dependency Removed"
 msgstr "Odstraněné závislosti"
 
-#: ../output.py:1168
+#: ../output.py:1669
 msgid "Dependency Installed"
 msgstr "Nainstalované závislosti"
 
-#: ../output.py:1170
+#: ../output.py:1671
 msgid "Dependency Updated"
 msgstr "Aktualizované závislosti"
 
-#: ../output.py:1172
+#: ../output.py:1673
 msgid "Replaced"
 msgstr "Nahrazeno"
 
-#: ../output.py:1173
+#: ../output.py:1674
 msgid "Failed"
 msgstr "Selhalo"
 
 #. Delta between C-c's so we treat as exit
-#: ../output.py:1260
+#: ../output.py:1764
 msgid "two"
-msgstr "dvě"
+msgstr "dvou"
 
 #. For translators: This is output like:
 #. Current download cancelled, interrupt (ctrl-c) again within two seconds
 #. to exit.
-#. Where "interupt (ctrl-c) again" and "two" are highlighted.
-#: ../output.py:1271
+#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
+#: ../output.py:1775
 #, python-format
 msgid ""
 "\n"
 " Current download cancelled, %sinterrupt (ctrl-c) again%s within %s%s%s seconds\n"
 "to exit.\n"
-msgstr ""
-"\n"
-"Aktuální stahování zrušeno, běh lze ukončit %sopakovaným přerušením (ctrl-c)%s\n"
-"během %s%s%s sekund.\n"
+msgstr "\nAktuální stahování zrušeno, běh lze ukončit %sopakovaným přerušením (ctrl-c)%s\nběhem %s%s%s sekund.\n"
 
-#: ../output.py:1282
+#: ../output.py:1786
 msgid "user interrupt"
 msgstr "Přerušeno uživatelem"
 
-#: ../output.py:1300
+#: ../output.py:1812
 msgid "Total"
 msgstr "Celkem"
 
-#: ../output.py:1322
+#: ../output.py:1834
 msgid "I"
 msgstr "I"
 
-#: ../output.py:1323
+#: ../output.py:1835
 msgid "O"
 msgstr "O"
 
-#: ../output.py:1324
+#: ../output.py:1836
 msgid "E"
 msgstr "E"
 
-#: ../output.py:1325
+#: ../output.py:1837
 msgid "R"
 msgstr "R"
 
-#: ../output.py:1326
+#: ../output.py:1838
 msgid "D"
 msgstr "D"
 
-#: ../output.py:1327
+#: ../output.py:1839
 msgid "U"
 msgstr "U"
 
-#: ../output.py:1341
+#: ../output.py:1853
 msgid "<unset>"
 msgstr "<nenastaveno>"
 
-#: ../output.py:1342
+#: ../output.py:1854
 msgid "System"
 msgstr "Systém"
 
-#: ../output.py:1411
+#: ../output.py:1923
 #, python-format
 msgid "Skipping merged transaction %d to %d, as it overlaps"
-msgstr ""
+msgstr "Vynechání sloučené transakce %d až %d, protože jsou v překryvu"
 
-#: ../output.py:1421 ../output.py:1592
+#: ../output.py:1933 ../output.py:2125
 msgid "No transactions"
-msgstr ""
+msgstr "Žádné transakce"
 
-#: ../output.py:1446 ../output.py:2013
+#: ../output.py:1958 ../output.py:2570 ../output.py:2660
 msgid "Bad transaction IDs, or package(s), given"
 msgstr "Zadáno špatné ID transakce nebo balíčku/ů"
 
-#: ../output.py:1484
+#: ../output.py:2007
 msgid "Command line"
-msgstr ""
+msgstr "Příkazový řádek"
 
-#: ../output.py:1486 ../output.py:1908
+#: ../output.py:2009 ../output.py:2458
 msgid "Login user"
-msgstr "Přihlášení uživatele"
+msgstr "Přihlášen uživatel"
 
 #. REALLY Needs to use columns!
-#: ../output.py:1487 ../output.py:2022
+#: ../output.py:2010 ../output.py:2579
 msgid "ID"
 msgstr "ID"
 
-#: ../output.py:1489
+#: ../output.py:2012
 msgid "Date and time"
 msgstr "Datum a čas"
 
-#: ../output.py:1490 ../output.py:1910 ../output.py:2023
+#: ../output.py:2013 ../output.py:2460 ../output.py:2580
 msgid "Action(s)"
 msgstr "Akce"
 
-#: ../output.py:1491 ../output.py:1911
+#: ../output.py:2014 ../output.py:2461
 msgid "Altered"
 msgstr "Pozměněno"
 
-#: ../output.py:1538
+#: ../output.py:2061
 msgid "No transaction ID given"
 msgstr "Nezadáno ID transakce"
 
-#: ../output.py:1564 ../output.py:1972
+#: ../output.py:2087 ../output.py:2526
 msgid "Bad transaction ID given"
 msgstr "Špatné ID transakce"
 
-#: ../output.py:1569
+#: ../output.py:2092
 msgid "Not found given transaction ID"
 msgstr "Zadané ID transakce nenalezeno"
 
-#: ../output.py:1577
+#: ../output.py:2100
 msgid "Found more than one transaction ID!"
 msgstr "Nalezeno více než jedno ID transakce!"
 
-#: ../output.py:1618 ../output.py:1980
+#: ../output.py:2151 ../output.py:2534
 msgid "No transaction ID, or package, given"
 msgstr "Nebylo zadáno ID transakce nebo balíčku/ů"
 
-#: ../output.py:1686 ../output.py:1845
+#: ../output.py:2222 ../output.py:2384
 msgid "Downgraded"
 msgstr "Snížena verze"
 
-#: ../output.py:1688
+#: ../output.py:2224
 msgid "Older"
 msgstr "Starší"
 
-#: ../output.py:1688
+#: ../output.py:2224
 msgid "Newer"
 msgstr "Novější"
 
-#: ../output.py:1724 ../output.py:1726
+#: ../output.py:2261 ../output.py:2263 ../output.py:2681
 msgid "Transaction ID :"
 msgstr "ID transakce:"
 
-#: ../output.py:1728
+#: ../output.py:2265 ../output.py:2683
 msgid "Begin time     :"
 msgstr "Počáteční čas  :"
 
-#: ../output.py:1731 ../output.py:1733
+#: ../output.py:2268 ../output.py:2270
 msgid "Begin rpmdb    :"
 msgstr "Začátek rpmdb  :"
 
-#: ../output.py:1749
+#: ../output.py:2286
 #, python-format
 msgid "(%u seconds)"
-msgstr ""
+msgstr "(%u sekund)"
 
-#: ../output.py:1751
+#: ../output.py:2288
 #, python-format
 msgid "(%u minutes)"
-msgstr ""
+msgstr "(%u minut)"
 
-#: ../output.py:1753
+#: ../output.py:2290
 #, python-format
 msgid "(%u hours)"
-msgstr ""
+msgstr "(%u hodin)"
 
-#: ../output.py:1755
+#: ../output.py:2292
 #, python-format
 msgid "(%u days)"
-msgstr ""
+msgstr "(%u dnů)"
 
-#: ../output.py:1756
+#: ../output.py:2293
 msgid "End time       :"
-msgstr "Konečný čas    :"
+msgstr "Čas ukončení    :"
 
-#: ../output.py:1759 ../output.py:1761
+#: ../output.py:2296 ../output.py:2298
 msgid "End rpmdb      :"
 msgstr "Konec rpmdb    :"
 
-#: ../output.py:1764 ../output.py:1766
+#: ../output.py:2301 ../output.py:2303
 msgid "User           :"
 msgstr "Uživatel       :"
 
-#: ../output.py:1770 ../output.py:1773 ../output.py:1775 ../output.py:1777
-#: ../output.py:1779
+#: ../output.py:2307 ../output.py:2310 ../output.py:2312 ../output.py:2314
+#: ../output.py:2316
 msgid "Return-Code    :"
 msgstr "Návratový kód  :"
 
-#: ../output.py:1770 ../output.py:1775
+#: ../output.py:2307 ../output.py:2312
 msgid "Aborted"
 msgstr "Přerušeno"
 
-#: ../output.py:1773
+#: ../output.py:2310
 msgid "Failures:"
-msgstr ""
+msgstr "Selhání:"
 
-#: ../output.py:1777
+#: ../output.py:2314
 msgid "Failure:"
 msgstr "Selhalo:"
 
-#: ../output.py:1779
+#: ../output.py:2316
 msgid "Success"
-msgstr "Úspěch"
+msgstr "Úspěšné"
 
-#: ../output.py:1784 ../output.py:1786
+#: ../output.py:2321 ../output.py:2323 ../output.py:2712
 msgid "Command Line   :"
-msgstr "Příkazová řádka:"
+msgstr "Příkazový řádek:"
 
-#: ../output.py:1795
+#: ../output.py:2332
 #, python-format
 msgid "Additional non-default information stored: %d"
 msgstr "Uložená přídavná nestandardní informace: %d"
 
 #. This is _possible_, but not common
-#: ../output.py:1800
+#: ../output.py:2337
 msgid "Transaction performed with:"
 msgstr "Transakce proběhla s:"
 
-#: ../output.py:1804
+#: ../output.py:2341
 msgid "Packages Altered:"
 msgstr "Pozměněné balíčky:"
 
-#: ../output.py:1808
+#: ../output.py:2345
 msgid "Packages Skipped:"
 msgstr "Přeskočené balíčky:"
 
-#: ../output.py:1814
+#: ../output.py:2353
 msgid "Rpmdb Problems:"
 msgstr "Problémy rpmdb:"
 
-#: ../output.py:1825
+#: ../output.py:2364
 msgid "Scriptlet output:"
 msgstr "Výstup skriptletu:"
 
-#: ../output.py:1831
+#: ../output.py:2370
 msgid "Errors:"
 msgstr "Chyby:"
 
-#: ../output.py:1837 ../output.py:1838
-msgid "Install"
-msgstr "Instalovat"
-
-#: ../output.py:1839
+#: ../output.py:2378
 msgid "Dep-Install"
 msgstr "Instalovat závislosti"
 
-#: ../output.py:1841
+#: ../output.py:2380
 msgid "Obsoleting"
 msgstr "Zastaralé"
 
-#: ../output.py:1842
+#: ../output.py:2381
 msgid "Erase"
 msgstr "Smazat"
 
-#: ../output.py:1843
-msgid "Reinstall"
-msgstr "Přeinstalovat"
-
-#: ../output.py:1844
-msgid "Downgrade"
-msgstr "Snížit verzi"
-
-#: ../output.py:1846
+#: ../output.py:2385
 msgid "Update"
 msgstr "Aktualizovat"
 
-#: ../output.py:1909
+#: ../output.py:2459
 msgid "Time"
 msgstr "Čas"
 
-#: ../output.py:1935
+#: ../output.py:2485
 msgid "Last day"
 msgstr "Poslední den"
 
-#: ../output.py:1936
+#: ../output.py:2486
 msgid "Last week"
 msgstr "Poslední týden"
 
-#: ../output.py:1937
+#: ../output.py:2487
 msgid "Last 2 weeks"
 msgstr "Poslední 2 týdny"
 
 #. US default :p
-#: ../output.py:1938
+#: ../output.py:2488
 msgid "Last 3 months"
 msgstr "Poslední 3 měsíce"
 
-#: ../output.py:1939
+#: ../output.py:2489
 msgid "Last 6 months"
 msgstr "Posledních 6 měsíců"
 
-#: ../output.py:1940
+#: ../output.py:2490
 msgid "Last year"
 msgstr "Poslední rok"
 
-#: ../output.py:1941
+#: ../output.py:2491
 msgid "Over a year ago"
 msgstr "Více než rok"
 
-#: ../output.py:1984
+#: ../output.py:2538
 #, python-format
 msgid "No Transaction %s found"
 msgstr "Nenalezena transakce %s"
 
-#: ../output.py:1990
+#: ../output.py:2544
 msgid "Transaction ID:"
 msgstr "ID transakce:"
 
-#: ../output.py:1991
+#: ../output.py:2545
 msgid "Available additional history information:"
 msgstr "Další dostupná informace z historie:"
 
-#: ../output.py:2003
+#: ../output.py:2558
 #, python-format
 msgid "%s: No additional data found by this name"
 msgstr "%s: Nenalezena další data toho jména"
 
-#: ../output.py:2106
+#: ../output.py:2684
+msgid "Package        :"
+msgstr "Balíček        :"
+
+#: ../output.py:2685
+msgid "State          :"
+msgstr "Stav           :"
+
+#: ../output.py:2688
+msgid "Size           :"
+msgstr "Velikost       :"
+
+#: ../output.py:2690
+msgid "Build host     :"
+msgstr "Sestaven na    :"
+
+#: ../output.py:2693
+msgid "Build time     :"
+msgstr "Čas sestaveni  :"
+
+#: ../output.py:2695
+msgid "Packager       :"
+msgstr "Sestavil       :"
+
+#: ../output.py:2697
+msgid "Vendor         :"
+msgstr "Poskytovatel   :"
+
+#: ../output.py:2699
+msgid "License        :"
+msgstr "Licence        :"
+
+#: ../output.py:2701
+msgid "URL            :"
+msgstr "URL            :"
+
+#: ../output.py:2703
+msgid "Source RPM     :"
+msgstr "Zdrojové RPM   :"
+
+#: ../output.py:2706
+msgid "Commit Time    :"
+msgstr "Čas zadání    :"
+
+#: ../output.py:2708
+msgid "Committer      :"
+msgstr "Zadavatel      :"
+
+#: ../output.py:2710
+msgid "Reason         :"
+msgstr "Důvod          :"
+
+#: ../output.py:2714
+msgid "From repo      :"
+msgstr "Z repa         :"
+
+#: ../output.py:2718
+msgid "Installed by   :"
+msgstr "Nainstaloval   :"
+
+#: ../output.py:2722
+msgid "Changed by     :"
+msgstr "Změnil         :"
+
+#: ../output.py:2767
 msgid "installed"
-msgstr "instalaci"
+msgstr "instalován"
 
-#: ../output.py:2107
+#: ../output.py:2768
 msgid "an update"
-msgstr ""
+msgstr "novou aktualizací"
 
-#: ../output.py:2108
+#: ../output.py:2769
 msgid "erased"
-msgstr "smazání"
+msgstr "smazán"
 
-#: ../output.py:2109
+#: ../output.py:2770
 msgid "reinstalled"
-msgstr "reinstalaci"
+msgstr "reinstalován"
 
-#: ../output.py:2110
+#: ../output.py:2771
 msgid "a downgrade"
-msgstr ""
+msgstr "ponížen"
 
-#: ../output.py:2111
+#: ../output.py:2772
 msgid "obsoleting"
-msgstr ""
+msgstr "nahrazen"
 
-#: ../output.py:2112
+#: ../output.py:2773
 msgid "updated"
-msgstr "aktualizaci"
+msgstr "aktualizován"
 
-#: ../output.py:2113
+#: ../output.py:2774
 msgid "obsoleted"
-msgstr "zastarání"
+msgstr "zastaralý"
 
-#: ../output.py:2117
+#: ../output.py:2778
 #, python-format
 msgid "---> Package %s.%s %s:%s-%s will be %s"
-msgstr ""
+msgstr "---> Balíček %s.%s %s:%s-%s bude %s"
 
-#: ../output.py:2124
+#: ../output.py:2789
 msgid "--> Running transaction check"
-msgstr "--> Spouští se kontrola transakce"
+msgstr "--> Kontrola transakce spuštěna"
 
-#: ../output.py:2129
+#: ../output.py:2795
 msgid "--> Restarting Dependency Resolution with new changes."
-msgstr "--> Restartuje se řešení závislostí s novými změnami."
+msgstr "--> Restartování řešení závislostí s novými změnami."
 
-#: ../output.py:2134
+#: ../output.py:2801
 msgid "--> Finished Dependency Resolution"
 msgstr "--> Řešení závislostí dokončeno"
 
-#: ../output.py:2139 ../output.py:2144
+#: ../output.py:2814 ../output.py:2827
 #, python-format
 msgid "--> Processing Dependency: %s for package: %s"
-msgstr "--> Zpracování závislosti: %s pro balíček: %s"
+msgstr "--> Zpracování závislostí: %s pro balíček: %s"
 
-#: ../output.py:2149
+#: ../output.py:2841
 #, python-format
-msgid "---> Keeping package: %s"
-msgstr "---> Ponechají se balíčky: %s"
+msgid "---> Keeping package: %s due to %s"
+msgstr "---> Balíček %s ponechán, protože: %s"
 
-#: ../output.py:2152
+#: ../output.py:2850
 #, python-format
 msgid "--> Unresolved Dependency: %s"
-msgstr "--> Nevyřešená závislost: %s"
+msgstr "--> Nevyřešené závislosti: %s"
 
-#: ../output.py:2163
+#: ../output.py:2867
 #, python-format
 msgid "Package: %s"
 msgstr "Balíček: %s"
 
-#: ../output.py:2165
+#: ../output.py:2869
 #, python-format
 msgid ""
 "\n"
 "    Requires: %s"
-msgstr ""
-"\n"
-"    Vyžaduje: %s"
+msgstr "\n    Vyžaduje: %s"
 
-#: ../output.py:2174
+#: ../output.py:2878
 #, python-format
 msgid ""
 "\n"
 "    %s: %s (%s)"
-msgstr ""
-"\n"
-"    %s: %s (%s)"
+msgstr "\n    %s: %s (%s)"
 
-#: ../output.py:2179
+#: ../output.py:2883
 #, python-format
 msgid ""
 "\n"
 "        %s"
-msgstr ""
-"\n"
-"        %s"
+msgstr "\n        %s"
 
-#: ../output.py:2181
+#: ../output.py:2885
 msgid ""
 "\n"
 "        Not found"
-msgstr ""
-"\n"
-"        Nenalezeno"
+msgstr "\n        Nenalezeno"
 
 #. These should be the only three things we care about:
-#: ../output.py:2196
+#: ../output.py:2900
 msgid "Updated By"
-msgstr "Aktualizoval"
+msgstr "Aktualizací balíčku"
 
-#: ../output.py:2197
+#: ../output.py:2901
 msgid "Downgraded By"
 msgstr "Snížil verzi"
 
-#: ../output.py:2198
+#: ../output.py:2902
 msgid "Obsoleted By"
-msgstr "Zastaral"
+msgstr "Zastaralán"
 
-#: ../output.py:2216
+#: ../output.py:2920
 msgid "Available"
 msgstr "Dostupné"
 
-#: ../output.py:2243 ../output.py:2248
+#: ../output.py:2955 ../output.py:2968
 #, python-format
 msgid "--> Processing Conflict: %s conflicts %s"
 msgstr "--> Zpracování konfliktu: %s je v konfliktu s %s"
 
-#: ../output.py:2252
+#: ../output.py:2974
 msgid "--> Populating transaction set with selected packages. Please wait."
-msgstr "--> Do transakční sady se přidávají vybrané balíčky. Čekejte prosím."
+msgstr "--> Do transakce jsou přidávány vybrané balíčky. Čekejte prosím."
 
-#: ../output.py:2256
+#: ../output.py:2983
 #, python-format
 msgid "---> Downloading header for %s to pack into transaction set."
-msgstr "---> Stahují se hlavičky %s pro přidání do transakce."
+msgstr "---> Stahování hlaviček %s pro přidání do transakce."
+
+#. self.event(txmbr.name, count, len(base.tsInfo), count, )
+#. (te_current*100L)/te_total
+#: ../output.py:3248
+msgid "Verifying"
+msgstr "Ověřování"
 
-#: ../utils.py:99
+#: ../utils.py:123
 msgid "Running"
 msgstr "Běží"
 
-#: ../utils.py:100
+#: ../utils.py:124
 msgid "Sleeping"
 msgstr "Spí"
 
-#: ../utils.py:101
+#: ../utils.py:125
 msgid "Uninterruptible"
 msgstr "Nepřerušitelné"
 
-#: ../utils.py:102
+#: ../utils.py:126
 msgid "Zombie"
 msgstr "Zombie"
 
-#: ../utils.py:103
+#: ../utils.py:127
 msgid "Traced/Stopped"
 msgstr "Trasován/Zastaven"
 
-#: ../utils.py:104 ../yumcommands.py:994
+#: ../utils.py:128 ../yumcommands.py:2193
 msgid "Unknown"
 msgstr "Neznámý"
 
-#: ../utils.py:115
+#: ../utils.py:153
 msgid "  The other application is: PackageKit"
 msgstr "  Další aplikace je: PackageKit"
 
-#: ../utils.py:117
+#: ../utils.py:155
 #, python-format
 msgid "  The other application is: %s"
 msgstr "  Další aplikace je: %s"
 
-#: ../utils.py:120
+#: ../utils.py:158
 #, python-format
 msgid "    Memory : %5s RSS (%5sB VSZ)"
 msgstr "    Paměť  : %5s RSS (%5sB VSZ)"
 
-#: ../utils.py:125
+#: ../utils.py:163
 #, python-format
 msgid "    Started: %s - %s ago"
-msgstr "    Spuštěn: %s - %s nazpět"
+msgstr "    Spuštěn: %s - před %s"
 
-#: ../utils.py:127
+#: ../utils.py:165
 #, python-format
 msgid "    State  : %s, pid: %d"
 msgstr "    Stav   : %s, pid: %d"
 
-#: ../utils.py:170 ../yummain.py:43
+#: ../utils.py:194 ../yummain.py:43
 msgid ""
 "\n"
 "\n"
 "Exiting on user cancel"
-msgstr ""
-"\n"
-"\n"
-"Ukončeno na základě pokynu uživatele"
+msgstr "\n\nUkončeno na příkaz uživatele"
 
-#: ../utils.py:176 ../yummain.py:49
+#: ../utils.py:206 ../yummain.py:49
 msgid ""
 "\n"
 "\n"
 "Exiting on Broken Pipe"
-msgstr ""
-"\n"
-"\n"
-"Ukončeno kvůli nefunkční rouře"
+msgstr "\n\nUkončeno přerušením roury"
 
-#: ../utils.py:178 ../yummain.py:51
+#: ../utils.py:208 ../yummain.py:51
 #, python-format
 msgid ""
 "\n"
 "\n"
 "%s"
-msgstr ""
-"\n"
-"\n"
-"%s"
-
-#: ../utils.py:228 ../yummain.py:123
-msgid ""
-"Another app is currently holding the yum lock; exiting as configured by "
-"exit_on_lock"
-msgstr ""
-"Zámek aplikace yum je uzamčen jinou aplikací; ukončeno dle konfigurace "
-"exit_on_lock"
+msgstr "\n\n%s"
 
-#: ../utils.py:287
+#: ../utils.py:326
 #, python-format
 msgid "PluginExit Error: %s"
 msgstr "Chyba PluginExit: %s"
 
-#: ../utils.py:290
+#: ../utils.py:329
 #, python-format
 msgid "Yum Error: %s"
 msgstr "Chyba Yumu: %s"
 
-#: ../utils.py:342 ../yummain.py:150 ../yummain.py:189
+#: ../utils.py:387 ../yummain.py:147 ../yummain.py:186
 #, python-format
 msgid "Error: %s"
 msgstr "Chyba: %s"
 
-#: ../utils.py:346 ../yummain.py:194
+#: ../utils.py:391 ../yummain.py:191
 msgid " You could try using --skip-broken to work around the problem"
-msgstr " Můžete zkusit volbu --skip-broken k překonání tohoto problému"
+msgstr " Pro obejití problému můžete zkusit volbu --skip-broken"
 
-#: ../utils.py:348 ../yummain.py:87
+#: ../utils.py:393 ../yummain.py:87
 msgid " You could try running: rpm -Va --nofiles --nodigest"
 msgstr " Můžete zkusit spustit: rpm -Va --nofiles --nodigest"
 
-#: ../utils.py:355 ../yummain.py:160 ../yummain.py:202
+#: ../utils.py:400 ../yummain.py:157 ../yummain.py:199
 #, python-format
 msgid "Unknown Error(s): Exit Code: %d:"
 msgstr "Neznámá chyba/y: Výstupní kód: %d:"
 
-#: ../utils.py:361 ../yummain.py:208
+#: ../utils.py:406 ../yummain.py:205
 msgid ""
 "\n"
 "Dependencies Resolved"
-msgstr ""
-"\n"
-"Závislosti vyřešeny"
+msgstr "\nZávislosti vyřešeny."
 
-#: ../utils.py:376 ../yummain.py:234
+#: ../utils.py:422 ../yummain.py:237
 msgid "Complete!"
 msgstr "Hotovo!"
 
 #: ../yumcommands.py:42
 msgid " Mini usage:\n"
-msgstr ""
+msgstr " Mini použití:\n"
 
 #: ../yumcommands.py:52
 msgid "You need to be root to perform this command."
-msgstr "Pro spuštění tohoto příkazu potřebujete být root."
+msgstr "Tento příkaz může spustit jen root."
 
-#: ../yumcommands.py:59
+#: ../yumcommands.py:67
 msgid ""
 "\n"
 "You have enabled checking of packages via GPG keys. This is a good thing. \n"
@@ -1525,1609 +1680,1820 @@ msgid ""
 "will install it for you.\n"
 "\n"
 "For more information contact your distribution or package provider.\n"
-msgstr ""
-"\n"
-"Povolili jste kontrolu balíčků pomocí GPG klíčů, což je dobrá věc.\n"
-"Bohužel nemáte ale nainstalován žádný veřejný GPG klíč. Musíte stáhnout klíč\n"
-"pro balíček, který si přejete nainstalovat a přidat jej příkazem\n"
-"    rpm --import public.gpg.key\n"
-"\n"
-"\n"
-"Jako druhou možnost můžete uvést URL ke klíči, který chcete použít\n"
-"pro repozitář ve volbě 'gpgkey' v nastavení repozitáře, a yum\n"
-"jej nainstaluje.\n"
-"\n"
-"Více informací získáte u svého distributora nebo správce balíčku.\n"
+msgstr "\nJe povolena kontrola balíčků pomocí GPG klíčů, což je dobrá věc.\nNení však nainstalován žádný veřejný GPG klíč. Musíte stáhnout\nklíč pro balíček, který si přejete nainstalovat a přidat jej příkazem\n    rpm --import public.gpg.key\n\n\nJako druhou možnost můžete uvést URL ke klíči, který chcete použít\npro repozitář ve volbě 'gpgkey' v nastavení repozitáře, a yum\njej nainstaluje.\n\nVíce informací získáte u svého distributora nebo správce balíčku.\n"
 
-#: ../yumcommands.py:74
+#: ../yumcommands.py:82
 #, python-format
 msgid "Problem repository: %s"
-msgstr ""
+msgstr "Problém v repozitáři: %s"
 
-#: ../yumcommands.py:80
+#: ../yumcommands.py:96
 #, python-format
 msgid "Error: Need to pass a list of pkgs to %s"
 msgstr "Chyba: Je potřeba předat seznam balíčků do %s"
 
-#: ../yumcommands.py:86
+#: ../yumcommands.py:114
+#, python-format
+msgid "Error: Need at least two packages to %s"
+msgstr "Chyba: Potřebuji alespoň dva balíčky pro %s"
+
+#: ../yumcommands.py:129
+#, python-format
+msgid "Error: Need to pass a repoid. and command to %s"
+msgstr "Chyba: Je třeba zadat id repozitáře a příkaz pro %s"
+
+#: ../yumcommands.py:136 ../yumcommands.py:142
+#, python-format
+msgid "Error: Need to pass a single valid repoid. to %s"
+msgstr "Chyba: Je třeba zadat platný id repozitáře pro %s"
+
+#: ../yumcommands.py:147
+#, python-format
+msgid "Error: Repo %s is not enabled"
+msgstr "Chyba: Repozitář %s není povolen"
+
+#: ../yumcommands.py:164
 msgid "Error: Need an item to match"
-msgstr "Chyba: K nalezení shody je potřeba předmět"
+msgstr "Chyba: K nalezení shody je potřeba položka"
 
-#: ../yumcommands.py:92
+#: ../yumcommands.py:178
 msgid "Error: Need a group or list of groups"
 msgstr "Chyba: Je potřeba skupina nebo seznam skupin"
 
-#: ../yumcommands.py:101
+#: ../yumcommands.py:195
 #, python-format
 msgid "Error: clean requires an option: %s"
 msgstr "Chyba: clean vyžaduje volbu: %s"
 
-#: ../yumcommands.py:106
+#: ../yumcommands.py:201
 #, python-format
 msgid "Error: invalid clean argument: %r"
 msgstr "Chyba: Neplatný argument pro clean: %r"
 
-#: ../yumcommands.py:119
+#: ../yumcommands.py:216
 msgid "No argument to shell"
-msgstr "Shell nemá žádný argument"
+msgstr "Žádný argument pro shell"
 
-#: ../yumcommands.py:121
+#: ../yumcommands.py:218
 #, python-format
 msgid "Filename passed to shell: %s"
 msgstr "Jméno souboru předané shellu: %s"
 
-#: ../yumcommands.py:125
+#: ../yumcommands.py:222
 #, python-format
 msgid "File %s given as argument to shell does not exist."
 msgstr "Soubor %s předaný jako argument shellu neexistuje."
 
-#: ../yumcommands.py:131
+#: ../yumcommands.py:228
 msgid "Error: more than one file given as argument to shell."
 msgstr "Chyba: Více než jeden soubor předán shellu jako argument."
 
-#: ../yumcommands.py:148
+#: ../yumcommands.py:247
 msgid ""
 "There are no enabled repos.\n"
 " Run \"yum repolist all\" to see the repos you have.\n"
 " You can enable repos with yum-config-manager --enable <repo>"
-msgstr ""
-"Neexistují žádné povolené repozitáře.\n"
-" Abyste viděli povolené repozitáře spusťte \"yum repolist all\".\n"
-" Povolit repozitáře můžete pomocí \"yum-config-manager --enable <repo>\""
+msgstr "K dispozici nejsou žádné povolené repozitáře.\n Pro zobrazení repozitářů spusťte \"yum repolist all\".\n Repozitáře můžete povolit pomocí \"yum-config-manager --enable <repo>\""
 
-#: ../yumcommands.py:200
+#: ../yumcommands.py:383
 msgid "PACKAGE..."
 msgstr "Balíček..."
 
-#: ../yumcommands.py:203
+#: ../yumcommands.py:390
 msgid "Install a package or packages on your system"
 msgstr "Instalovat balíček nebo balíčky do vašeho systému"
 
-#: ../yumcommands.py:212
+#: ../yumcommands.py:421
 msgid "Setting up Install Process"
-msgstr "Uspořádává se průběh instalace"
+msgstr "Příprava průběhu instalace"
 
-#: ../yumcommands.py:223 ../yumcommands.py:245
+#: ../yumcommands.py:447 ../yumcommands.py:507
 msgid "[PACKAGE...]"
 msgstr "[Balíček...]"
 
-#: ../yumcommands.py:226
+#: ../yumcommands.py:454
 msgid "Update a package or packages on your system"
-msgstr "Aktualizovat balíček nebo balíčky na vašem systému"
+msgstr "Aktualizovat balíček nebo balíčky v systému"
 
-#: ../yumcommands.py:234
+#: ../yumcommands.py:483
 msgid "Setting up Update Process"
-msgstr "Uspořádává se průběh aktualizace"
+msgstr "Příprava průběhu aktualizace"
 
-#: ../yumcommands.py:248
+#: ../yumcommands.py:514
 msgid "Synchronize installed packages to the latest available versions"
 msgstr "Synchronizovat nainstalované balíčky na poslední dostupnou verzi"
 
-#: ../yumcommands.py:256
+#: ../yumcommands.py:543
 msgid "Setting up Distribution Synchronization Process"
-msgstr "Uspořádává se proces synchronizace distribuce"
+msgstr "Příprava procesu synchronizace distribuce"
 
-#: ../yumcommands.py:299
+#: ../yumcommands.py:603
 msgid "Display details about a package or group of packages"
 msgstr "Zobrazit detaily o balíčku nebo skupině balíčků"
 
-#: ../yumcommands.py:348
+#: ../yumcommands.py:672
 msgid "Installed Packages"
-msgstr "Nainstalované balíčky"
+msgstr "Nainstalované balíčky:"
 
-#: ../yumcommands.py:356
+#: ../yumcommands.py:682
 msgid "Available Packages"
-msgstr "Dostupné balíčky"
+msgstr "Dostupné balíčky:"
 
-#: ../yumcommands.py:360
+#: ../yumcommands.py:687
 msgid "Extra Packages"
-msgstr "Dodatečné balíčky"
+msgstr "Dodatečné balíčky:"
 
-#: ../yumcommands.py:364
+#: ../yumcommands.py:691
 msgid "Updated Packages"
-msgstr "Aktualizované balíčky"
+msgstr "Aktualizované balíčky:"
 
 #. This only happens in verbose mode
-#: ../yumcommands.py:372 ../yumcommands.py:379 ../yumcommands.py:667
+#: ../yumcommands.py:699 ../yumcommands.py:706 ../yumcommands.py:1539
 msgid "Obsoleting Packages"
-msgstr "Zastaralé balíčky"
+msgstr "Zastaralé balíčky:"
 
-#: ../yumcommands.py:381
+#: ../yumcommands.py:708
 msgid "Recently Added Packages"
-msgstr "Nově přidané balíčky"
+msgstr "Nedávno přidané balíčky:"
 
-#: ../yumcommands.py:388
+#: ../yumcommands.py:715
 msgid "No matching Packages to list"
-msgstr "Nenalezeny shodné balíčky"
+msgstr "Nenalezeny odpovídající balíčky"
 
-#: ../yumcommands.py:402
+#: ../yumcommands.py:766
 msgid "List a package or groups of packages"
 msgstr "Vypsat balíček nebo skupiny balíčků"
 
-#: ../yumcommands.py:414
+#: ../yumcommands.py:797
 msgid "Remove a package or packages from your system"
 msgstr "Odstranit balíček nebo balíčky ze systému"
 
-#: ../yumcommands.py:421
+#: ../yumcommands.py:845
 msgid "Setting up Remove Process"
-msgstr "Uspořádává se průběh odstranění"
+msgstr "Příprava průběhu odstranění"
 
-#: ../yumcommands.py:435
+#: ../yumcommands.py:906
+msgid "Display, or use, the groups information"
+msgstr "Zobrazit, nebo použít, informaci o skupinách"
+
+#: ../yumcommands.py:909
 msgid "Setting up Group Process"
-msgstr "Uspořádává se zpracování skupiny"
+msgstr "Příprava zpracování skupiny"
 
-#: ../yumcommands.py:441
+#: ../yumcommands.py:915
 msgid "No Groups on which to run command"
 msgstr "Nenalezeny skupiny, na které by šlo příkaz aplikovat"
 
-#: ../yumcommands.py:454
-msgid "List available package groups"
-msgstr "Vypsat dostupné skupiny balíčků"
-
-#: ../yumcommands.py:474
-msgid "Install the packages in a group on your system"
-msgstr "Instalovat balíčky ze skupiny do systému"
+#: ../yumcommands.py:985
+#, python-format
+msgid "Invalid groups sub-command, use: %s."
+msgstr "Neplatný pod-příkaz pro skupiny, použijte: %s."
 
-#: ../yumcommands.py:497
-msgid "Remove the packages in a group from your system"
-msgstr "Odstranit balíčky ze skupiny ze systému"
+#: ../yumcommands.py:992
+msgid "There is no installed groups file."
+msgstr "Neexistuje soubor pro nainstalované skupiny."
 
-#: ../yumcommands.py:525
-msgid "Display details about a package group"
-msgstr "Zobrazit detaily o skupině balíčků"
+#: ../yumcommands.py:994
+msgid "You don't have access to the groups DB."
+msgstr "Nemáte přístup k DB skupin."
 
-#: ../yumcommands.py:550
+#: ../yumcommands.py:1256
 msgid "Generate the metadata cache"
-msgstr "Vygenerovat skladiště metadat"
+msgstr "Vygenerovat cache s metadaty"
 
-#: ../yumcommands.py:556
+#: ../yumcommands.py:1282
 msgid "Making cache files for all metadata files."
-msgstr "Vytváří se skladištní soubory pro všechna metadata "
+msgstr "Vytváření cache souborů pro všechna metadata."
 
-#: ../yumcommands.py:557
+#: ../yumcommands.py:1283
 msgid "This may take a while depending on the speed of this computer"
-msgstr "Může to chvíli trvat v závislosti na rychlosti tohoto počítače"
+msgstr "Může to chvíli trvat v závislosti na rychlosti počítače"
 
-#: ../yumcommands.py:578
+#: ../yumcommands.py:1312
 msgid "Metadata Cache Created"
-msgstr "Skladiště metadat vytvořeno"
+msgstr "Cache s metadaty vytvořena."
 
-#: ../yumcommands.py:592
+#: ../yumcommands.py:1350
 msgid "Remove cached data"
-msgstr "Odstranit data ze skladiště"
+msgstr "Odstranit data z cache"
 
-#: ../yumcommands.py:613
+#: ../yumcommands.py:1417
 msgid "Find what package provides the given value"
 msgstr "Nalézt balíček, který poskytuje danou hodnotu"
 
-#: ../yumcommands.py:633
+#: ../yumcommands.py:1485
 msgid "Check for available package updates"
-msgstr "Zkontrolovat dostupné aktualizace balíčků"
+msgstr "Zkontrolovat dostupnost aktualizací pro balíčky"
 
-#: ../yumcommands.py:687
+#: ../yumcommands.py:1587
 msgid "Search package details for the given string"
-msgstr "Nalézt detaily balíčku pro daný řetězec"
+msgstr "Vyhledat detaily balíčku pro zadaný řetězec"
 
-#: ../yumcommands.py:693
+#: ../yumcommands.py:1613
 msgid "Searching Packages: "
-msgstr "Prohledávají se balíčky: "
+msgstr "Prohledávání balíčků: "
 
-#: ../yumcommands.py:710
+#: ../yumcommands.py:1666
 msgid "Update packages taking obsoletes into account"
 msgstr "Aktualizovat balíčky a brát v úvahu zastaralé"
 
-#: ../yumcommands.py:719
+#: ../yumcommands.py:1696
 msgid "Setting up Upgrade Process"
-msgstr "Uspořádává se průběh aktualizace"
+msgstr "Příprava průběhu upgrade"
 
-#: ../yumcommands.py:737
+#: ../yumcommands.py:1731
 msgid "Install a local RPM"
 msgstr "Instalovat lokální RPM"
 
-#: ../yumcommands.py:745
+#: ../yumcommands.py:1761
 msgid "Setting up Local Package Process"
-msgstr "Uspořádává se zpracování lokálního balíčku"
+msgstr "Příprava zpracování lokálního balíčku"
 
-#: ../yumcommands.py:764
-msgid "Determine which package provides the given dependency"
-msgstr "Určit který balíček poskytuje danou závislost"
-
-#: ../yumcommands.py:767
+#: ../yumcommands.py:1825
 msgid "Searching Packages for Dependency:"
-msgstr "Prohledávají se balíčky kvůli závislostem:"
+msgstr "Prohledávání balíčků pro vyřešení závislostí:"
 
-#: ../yumcommands.py:781
+#: ../yumcommands.py:1867
 msgid "Run an interactive yum shell"
 msgstr "Spustit interaktivní shell yum"
 
-#: ../yumcommands.py:787
+#: ../yumcommands.py:1893
 msgid "Setting up Yum Shell"
-msgstr "Nastavuje se yum shell"
+msgstr "Příprava yum shellu"
 
-#: ../yumcommands.py:805
+#: ../yumcommands.py:1936
 msgid "List a package's dependencies"
-msgstr "Zobrazit závislosti balíčku"
+msgstr "Vypsat závislosti balíčku"
 
-#: ../yumcommands.py:811
+#: ../yumcommands.py:1963
 msgid "Finding dependencies: "
-msgstr "Hledají se závislosti: "
+msgstr "Hledání závislostí: "
 
-#: ../yumcommands.py:827
+#: ../yumcommands.py:2005
 msgid "Display the configured software repositories"
 msgstr "Zobrazit nastavené repozitáře softwaru"
 
-#: ../yumcommands.py:893 ../yumcommands.py:894
+#: ../yumcommands.py:2094 ../yumcommands.py:2095
 msgid "enabled"
 msgstr "povoleno"
 
-#: ../yumcommands.py:920 ../yumcommands.py:921
+#: ../yumcommands.py:2121 ../yumcommands.py:2122
 msgid "disabled"
 msgstr "zakázáno"
 
-#: ../yumcommands.py:937
+#: ../yumcommands.py:2137
 msgid "Repo-id      : "
-msgstr "Repo-id      : "
+msgstr "Repo-ID      : "
 
-#: ../yumcommands.py:938
+#: ../yumcommands.py:2138
 msgid "Repo-name    : "
-msgstr "Repo-jméno   : "
+msgstr "Repo-název   : "
 
-#: ../yumcommands.py:941
+#: ../yumcommands.py:2141
 msgid "Repo-status  : "
 msgstr "Repo-status  : "
 
-#: ../yumcommands.py:944
+#: ../yumcommands.py:2144
 msgid "Repo-revision: "
 msgstr "Repo-revize  : "
 
-#: ../yumcommands.py:948
+#: ../yumcommands.py:2148
 msgid "Repo-tags    : "
 msgstr "Repo-tagy    : "
 
-#: ../yumcommands.py:954
+#: ../yumcommands.py:2154
 msgid "Repo-distro-tags: "
 msgstr "Repo-distro-tagy: "
 
-#: ../yumcommands.py:959
+#: ../yumcommands.py:2159
 msgid "Repo-updated : "
-msgstr "Repo-aktuální: "
+msgstr "Repo-aktual. : "
 
-#: ../yumcommands.py:961
+#: ../yumcommands.py:2161
 msgid "Repo-pkgs    : "
-msgstr "Repo-bal.    : "
+msgstr "Repo-balíčků : "
 
-#: ../yumcommands.py:962
+#: ../yumcommands.py:2162
 msgid "Repo-size    : "
 msgstr "Repo-velikost: "
 
-#: ../yumcommands.py:969 ../yumcommands.py:990
+#: ../yumcommands.py:2169 ../yumcommands.py:2190
 msgid "Repo-baseurl : "
 msgstr "Repo-baseurl : "
 
-#: ../yumcommands.py:977
+#: ../yumcommands.py:2177
 msgid "Repo-metalink: "
 msgstr "Repo-metalink: "
 
-#: ../yumcommands.py:981
+#: ../yumcommands.py:2181
 msgid "  Updated    : "
-msgstr "  Aktualizováno: "
+msgstr "Aktualizováno: "
 
-#: ../yumcommands.py:984
+#: ../yumcommands.py:2184
 msgid "Repo-mirrors : "
 msgstr "Repo-zrcadla : "
 
-#: ../yumcommands.py:1000
+#: ../yumcommands.py:2199
 #, python-format
 msgid "Never (last: %s)"
 msgstr "Nikdy (poslední: %s)"
 
-#: ../yumcommands.py:1002
+#: ../yumcommands.py:2201
 #, python-format
 msgid "Instant (last: %s)"
 msgstr "Okamžitě (naposledy: %s)"
 
-#: ../yumcommands.py:1005
+#: ../yumcommands.py:2204
 #, python-format
 msgid "%s second(s) (last: %s)"
 msgstr "%s sekund (naposledy: %s)"
 
-#: ../yumcommands.py:1007
+#: ../yumcommands.py:2206
 msgid "Repo-expire  : "
 msgstr "Repo-vyprší  : "
 
-#: ../yumcommands.py:1010
+#: ../yumcommands.py:2209
 msgid "Repo-exclude : "
 msgstr "Repo-vyřazeno: "
 
-#: ../yumcommands.py:1014
+#: ../yumcommands.py:2213
 msgid "Repo-include : "
 msgstr "Repo-zahrnuto: "
 
-#: ../yumcommands.py:1018
+#: ../yumcommands.py:2217
 msgid "Repo-excluded: "
 msgstr "Repo-vyřazeno: "
 
-#: ../yumcommands.py:1022
+#: ../yumcommands.py:2221
 msgid "Repo-filename: "
-msgstr ""
+msgstr "Repo-konfig  : "
 
 #. Work out the first (id) and last (enabled/disalbed/count),
 #. then chop the middle (name)...
-#: ../yumcommands.py:1032 ../yumcommands.py:1061
+#: ../yumcommands.py:2230 ../yumcommands.py:2259
 msgid "repo id"
-msgstr "repo id"
+msgstr "ID repozitáře:"
 
-#: ../yumcommands.py:1049 ../yumcommands.py:1050 ../yumcommands.py:1068
+#: ../yumcommands.py:2247 ../yumcommands.py:2248 ../yumcommands.py:2266
 msgid "status"
-msgstr "status"
+msgstr "Stav:"
 
-#: ../yumcommands.py:1062
+#: ../yumcommands.py:2260
 msgid "repo name"
-msgstr "jméno repa"
+msgstr "Název repozitáře:"
 
-#: ../yumcommands.py:1099
+#: ../yumcommands.py:2332
 msgid "Display a helpful usage message"
 msgstr "Zobrazit užitečnou nápovědu"
 
-#: ../yumcommands.py:1133
+#: ../yumcommands.py:2374
 #, python-format
 msgid "No help available for %s"
-msgstr "Není dostupná nápověda pro %s"
+msgstr "Pro %s není dostupná nápověda"
 
-#: ../yumcommands.py:1138
+#: ../yumcommands.py:2379
 msgid ""
 "\n"
 "\n"
 "aliases: "
-msgstr ""
-"\n"
-"\n"
-"aliasy: "
+msgstr "\n\naliasy: "
 
-#: ../yumcommands.py:1140
+#: ../yumcommands.py:2381
 msgid ""
 "\n"
 "\n"
 "alias: "
-msgstr ""
-"\n"
-"\n"
-"alias: "
+msgstr "\n\nalias: "
 
-#: ../yumcommands.py:1168
+#: ../yumcommands.py:2466
 msgid "Setting up Reinstall Process"
-msgstr "Uspořádává se průběh reinstalace"
+msgstr "Příprava průběhu reinstalace"
 
-#: ../yumcommands.py:1176
+#: ../yumcommands.py:2478
 msgid "reinstall a package"
 msgstr "Reinstalace balíčku"
 
-#: ../yumcommands.py:1195
+#: ../yumcommands.py:2541
 msgid "Setting up Downgrade Process"
-msgstr "Uspořádává se průběh snížení verze"
+msgstr "Příprava snížení verze"
 
-#: ../yumcommands.py:1202
+#: ../yumcommands.py:2552
 msgid "downgrade a package"
 msgstr "Snížení verze balíčku"
 
-#: ../yumcommands.py:1216
+#: ../yumcommands.py:2591
 msgid "Display a version for the machine and/or available repos."
-msgstr "Zobrazit verzi pro tento počítač a/nebo dostupné repozitáře."
+msgstr "Zobrazit verzi pro počítač a/nebo dostupné repozitáře."
 
-#: ../yumcommands.py:1255
+#: ../yumcommands.py:2643
 msgid " Yum version groups:"
 msgstr " Verze yum skupin:"
 
-#: ../yumcommands.py:1265
+#: ../yumcommands.py:2653
 msgid " Group   :"
 msgstr " Skupina :"
 
-#: ../yumcommands.py:1266
+#: ../yumcommands.py:2654
 msgid " Packages:"
 msgstr " Balíčky :"
 
-#: ../yumcommands.py:1295
+#: ../yumcommands.py:2683
 msgid "Installed:"
 msgstr "Nainstalováno:"
 
-#: ../yumcommands.py:1303
+#: ../yumcommands.py:2691
 msgid "Group-Installed:"
 msgstr "Nainstalované skupiny:"
 
-#: ../yumcommands.py:1312
+#: ../yumcommands.py:2700
 msgid "Available:"
 msgstr "Dostupné:"
 
-#: ../yumcommands.py:1321
+#: ../yumcommands.py:2709
 msgid "Group-Available:"
 msgstr "Dostupné skupiny:"
 
-#: ../yumcommands.py:1360
+#: ../yumcommands.py:2783
 msgid "Display, or use, the transaction history"
-msgstr "Zobrazit nebo používat transakční historii"
+msgstr "Zobrazit nebo používat historii transakcí"
+
+#: ../yumcommands.py:2876 ../yumcommands.py:2880
+msgid "Transactions:"
+msgstr "Transakce:"
+
+#: ../yumcommands.py:2881
+msgid "Begin time  :"
+msgstr "Začátek v   :"
+
+#: ../yumcommands.py:2882
+msgid "End time    :"
+msgstr "Konec v     :"
 
-#: ../yumcommands.py:1432
+#: ../yumcommands.py:2883
+msgid "Counts      :"
+msgstr "Počet       :"
+
+#: ../yumcommands.py:2884
+msgid "  NEVRAC :"
+msgstr "  NEVRAC :"
+
+#: ../yumcommands.py:2885
+msgid "  NEVRA  :"
+msgstr "  NEVRA  :"
+
+#: ../yumcommands.py:2886
+msgid "  NA     :"
+msgstr "  NA     :"
+
+#: ../yumcommands.py:2887
+msgid "  NEVR   :"
+msgstr "  NEVR   :"
+
+#: ../yumcommands.py:2888
+msgid "  rpm DB :"
+msgstr "  rpm DB :"
+
+#: ../yumcommands.py:2889
+msgid "  yum DB :"
+msgstr "  yum DB :"
+
+#: ../yumcommands.py:2922
 #, python-format
 msgid "Invalid history sub-command, use: %s."
-msgstr "Neplatný pod-příkaz historie, použijte: %s."
+msgstr "Neplatný subpříkaz historie, použijte: %s."
 
-#: ../yumcommands.py:1439
+#: ../yumcommands.py:2929
 msgid "You don't have access to the history DB."
 msgstr "Nemáte přístup k databázi s historií."
 
-#: ../yumcommands.py:1487
+#: ../yumcommands.py:3036
 msgid "Check for problems in the rpmdb"
 msgstr "Zkontrolovat problémy v rpmdb"
 
-#: ../yumcommands.py:1514
+#: ../yumcommands.py:3102
 msgid "load a saved transaction from filename"
-msgstr ""
+msgstr "Načíst transakci uloženou v souboru"
 
-#: ../yumcommands.py:1518
+#: ../yumcommands.py:3119
 msgid "No saved transaction file specified."
-msgstr ""
+msgstr "Nebyla zadána žádná uložená transakce."
 
-#: ../yumcommands.py:1522
+#: ../yumcommands.py:3123
 #, python-format
 msgid "loading transaction from %s"
-msgstr ""
+msgstr "načítání transakce z %s"
 
-#: ../yumcommands.py:1528
+#: ../yumcommands.py:3129
 #, python-format
 msgid "Transaction loaded from %s with %s members"
-msgstr ""
+msgstr "Transakce načtena z %s s %s položkami"
+
+#: ../yumcommands.py:3169
+msgid "Simple way to swap packages, isntead of using shell"
+msgstr "Jednoduchý způsob pro záměnu balíčků, bez použití yum-shell"
+
+#: ../yumcommands.py:3264
+msgid ""
+"Treat a repo. as a group of packages, so we can install/remove all of them"
+msgstr "Považuje repozitář za skupinu balíčků, takže je lze instalovat/odinstalovat všechny"
+
+#: ../yumcommands.py:3341
+#, python-format
+msgid "%d package to update"
+msgid_plural "%d packages to update"
+msgstr[0] "%d balíček k aktualizaci"
+msgstr[1] "%d balíčky k aktualizaci"
+msgstr[2] "%d balíčků k aktualizaci"
+
+#: ../yumcommands.py:3370
+#, python-format
+msgid "%d package to remove/reinstall"
+msgid_plural "%d packages to remove/reinstall"
+msgstr[0] "%d balíček k odstranění/reinstalaci"
+msgstr[1] "%d balíčky k odstranění/reinstalaci"
+msgstr[2] "%d balíčků k odstranění/reinstalaci"
+
+#: ../yumcommands.py:3413
+#, python-format
+msgid "%d package to remove/sync"
+msgid_plural "%d packages to remove/sync"
+msgstr[0] "%d balíček k odstranění/synchronizaci"
+msgstr[1] "%d balíčky k odstranění/synchronizaci"
+msgstr[2] "%d balíčků k odstranění/synchronizaci"
+
+#: ../yumcommands.py:3417
+#, python-format
+msgid "Not a valid sub-command of %s"
+msgstr "Neplatný pod-příkaz pro %s"
 
 #. This is mainly for PackageSackError from rpmdb.
 #: ../yummain.py:84
 #, python-format
 msgid " Yum checks failed: %s"
-msgstr ""
+msgstr " Selhaly kontroly Yumu: %s"
 
-#: ../yummain.py:114
-msgid ""
-"Another app is currently holding the yum lock; waiting for it to exit..."
-msgstr "Zámek yumu je obsazen jinou aplikací; čeká se na její ukončení..."
+#: ../yummain.py:98
+msgid "No read/execute access in current directory, moving to /"
+msgstr "Není přístup pro čtení/spuštěné v aktuálním adresáři, přechod do /"
 
-#: ../yummain.py:120
-msgid "Can't create lock file; exiting"
-msgstr ""
+#: ../yummain.py:106
+msgid "No getcwd() access in current directory, moving to /"
+msgstr "Není přístup k getcwd() v aktuálním adresáři, přechod do /"
 
 #. Depsolve stage
-#: ../yummain.py:167
+#: ../yummain.py:164
 msgid "Resolving Dependencies"
-msgstr "Řeší se závislosti"
+msgstr "Řešení závislostí..."
 
-#: ../yummain.py:230
+#: ../yummain.py:227 ../yummain.py:235
 #, python-format
-msgid "Your transaction was saved, rerun it with: yum load-transaction %s"
-msgstr ""
+msgid ""
+"Your transaction was saved, rerun it with:\n"
+" yum load-transaction %s"
+msgstr "Transakce yum byla uložena, znovustit lze s:\n yum load-transaction %s"
 
-#: ../yummain.py:288
+#: ../yummain.py:312
 msgid ""
 "\n"
 "\n"
 "Exiting on user cancel."
-msgstr ""
-"\n"
-"\n"
-"Ukončeno na pokyn uživatele."
+msgstr "\n\nUkončeno na pokyn uživatele."
 
-#: ../yum/depsolve.py:84
+#: ../yum/depsolve.py:127
 msgid "doTsSetup() will go away in a future version of Yum.\n"
 msgstr "doTsSetup() bude v následujících verzích yumu odstraněno.\n"
 
-#: ../yum/depsolve.py:99
+#: ../yum/depsolve.py:143
 msgid "Setting up TransactionSets before config class is up"
-msgstr ""
-"Uspořádává se TransactionSet před tím než bude připravena třída config"
+msgstr "Příprava TransactionSet před tím než bude připravena třída config"
 
-#: ../yum/depsolve.py:153
+#: ../yum/depsolve.py:200
 #, python-format
 msgid "Invalid tsflag in config file: %s"
 msgstr "Neplatný tsflag v konfiguračním souboru: %s"
 
-#: ../yum/depsolve.py:164
+#: ../yum/depsolve.py:218
 #, python-format
 msgid "Searching pkgSack for dep: %s"
-msgstr "Hledá se pkgSack pro závislost: %s"
+msgstr "Hledání pkgSack pro závislost: %s"
 
-#: ../yum/depsolve.py:207
+#: ../yum/depsolve.py:269
 #, python-format
 msgid "Member: %s"
-msgstr "Prvek: %s"
+msgstr "Člen: %s"
 
-#: ../yum/depsolve.py:221 ../yum/depsolve.py:793
+#: ../yum/depsolve.py:283 ../yum/depsolve.py:937
 #, python-format
 msgid "%s converted to install"
-msgstr "%s zkonvertován na instalaci"
+msgstr "%s zkonvertován pro instalaci"
 
-#: ../yum/depsolve.py:233
+#: ../yum/depsolve.py:295
 #, python-format
 msgid "Adding Package %s in mode %s"
-msgstr "Přidává se balíček %s v módu %s"
+msgstr "Přidání balíčeku %s v režimu %s"
 
-#: ../yum/depsolve.py:249
+#: ../yum/depsolve.py:311
 #, python-format
 msgid "Removing Package %s"
-msgstr "Odstraňuje se balíček %s"
+msgstr "Odstranění balíčku %s"
 
-#: ../yum/depsolve.py:271
+#: ../yum/depsolve.py:333
 #, python-format
 msgid "%s requires: %s"
 msgstr "%s vyžaduje: %s"
 
-#: ../yum/depsolve.py:312
+#: ../yum/depsolve.py:374
 #, python-format
 msgid "%s requires %s"
 msgstr "%s vyžaduje %s"
 
-#: ../yum/depsolve.py:339
+#: ../yum/depsolve.py:401
 msgid "Needed Require has already been looked up, cheating"
-msgstr "Závazné požadavky již byly prohledány, švindluje se"
+msgstr "Potřebné Require již bylo vyhledáno, švindluje se"
 
-#: ../yum/depsolve.py:349
+#: ../yum/depsolve.py:411
 #, python-format
 msgid "Needed Require is not a package name. Looking up: %s"
-msgstr "Závazný požadavek není jméno balíčku. Hledá se: %s"
+msgstr "Potřebné Require není jméno balíčku. Hledání: %s"
 
-#: ../yum/depsolve.py:357
+#: ../yum/depsolve.py:419
 #, python-format
 msgid "Potential Provider: %s"
 msgstr "Možný poskytovatel: %s"
 
-#: ../yum/depsolve.py:380
+#: ../yum/depsolve.py:442
 #, python-format
 msgid "Mode is %s for provider of %s: %s"
-msgstr "Mód je %s pro poskytovatele %s: %s"
+msgstr "Režim %s pro poskytovatele %s: %s"
 
-#: ../yum/depsolve.py:384
+#: ../yum/depsolve.py:446
 #, python-format
 msgid "Mode for pkg providing %s: %s"
-msgstr "Mód pro bal. poskytující %s: %s"
+msgstr "Režim pro bal. poskytující %s: %s"
 
 #. the thing it needs is being updated or obsoleted away
 #. try to update the requiring package in hopes that all this problem goes
 #. away :(
-#: ../yum/depsolve.py:389 ../yum/depsolve.py:406
+#: ../yum/depsolve.py:451 ../yum/depsolve.py:486
 #, python-format
 msgid "Trying to update %s to resolve dep"
-msgstr ""
+msgstr "Pro vyřešení závislostí se zkouší aktualizace %s"
 
-#: ../yum/depsolve.py:400 ../yum/depsolve.py:410
+#: ../yum/depsolve.py:480
 #, python-format
 msgid "No update paths found for %s. Failure!"
-msgstr ""
+msgstr "Není cesta pro aktualizaci %s. Selhání!"
+
+#: ../yum/depsolve.py:491
+#, python-format
+msgid "No update paths found for %s. Failure due to requirement: %s!"
+msgstr "Nenalezen způsob jak aktualizovat %s. Nelze uspokojit požadavek: %s!"
 
-#: ../yum/depsolve.py:416
+#: ../yum/depsolve.py:507
+#, python-format
+msgid "Update for %s. Doesn't fix requirement: %s!"
+msgstr "Aktualizace %s. Neopravuje požadavek: %s!"
+
+#: ../yum/depsolve.py:514
 #, python-format
 msgid "TSINFO: %s package requiring %s marked as erase"
-msgstr "TSINFO: %s balíček požaduje %s označený ke smazání"
+msgstr "TSINFO: balíček %s požaduje %s, který je určen ke smazání"
 
-#: ../yum/depsolve.py:429
+#: ../yum/depsolve.py:527
 #, python-format
 msgid "TSINFO: Obsoleting %s with %s to resolve dep."
-msgstr "TSINFO: Zastarává se %s s %s k vyřešení závislostí."
+msgstr "TSINFO: Balíček %s je označen za zastaralý balíčkem %s pro vyřešení závislostí."
 
-#: ../yum/depsolve.py:432
+#: ../yum/depsolve.py:530
 #, python-format
 msgid "TSINFO: Updating %s to resolve dep."
-msgstr "TSINFO: Aktualizuji %s k vyřešení závislostí."
+msgstr "TSINFO: Aktualizace %s pro vyřešení závislostí."
 
-#: ../yum/depsolve.py:440
+#: ../yum/depsolve.py:538
 #, python-format
 msgid "Cannot find an update path for dep for: %s"
-msgstr "Nelze nalézt cestu aktualizací pro závislost pro: %s"
+msgstr "Nelze nalézt cestu aktualizací pro závislosti pro: %s"
 
-#: ../yum/depsolve.py:471
+#: ../yum/depsolve.py:569
 #, python-format
 msgid "Quick matched %s to require for %s"
-msgstr "Rychlá shoda %s vyžadovaného pro %s"
+msgstr "Rychlá shoda %s vyžadována pro %s"
 
 #. is it already installed?
-#: ../yum/depsolve.py:513
+#: ../yum/depsolve.py:611
 #, python-format
 msgid "%s is in providing packages but it is already installed, removing."
-msgstr ""
-"%s je v poskytujících balíčcích, ale je již nainstalován, odstraňuje se."
+msgstr "%s je v poskytujících balíčcích, ale je již nainstalován, odstraňuje se."
 
-#: ../yum/depsolve.py:529
+#: ../yum/depsolve.py:627
 #, python-format
 msgid "Potential resolving package %s has newer instance in ts."
-msgstr "Balíček %s, který může být řešení, má v ts novější verzi."
+msgstr "Balíček %s, který může být řešením, má v transakci novější verzi."
 
-#: ../yum/depsolve.py:540
+#: ../yum/depsolve.py:638
 #, python-format
 msgid "Potential resolving package %s has newer instance installed."
-msgstr "Balíček %s, který může být řešení, je nainstalován v novější verzi."
+msgstr "Balíček %s, který může být řešením, je nainstalován v novější verzi."
 
-#: ../yum/depsolve.py:558
+#: ../yum/depsolve.py:656
 #, python-format
 msgid "%s already in ts, skipping this one"
-msgstr "%s je již v ts, vynechává se"
+msgstr "%s je již v transakci, vynechává se"
 
-#: ../yum/depsolve.py:607
+#: ../yum/depsolve.py:705
 #, python-format
 msgid "TSINFO: Marking %s as update for %s"
-msgstr "TSINFO: Označuji %s jako aktualizaci %s"
+msgstr "TSINFO: Označení %s jako aktualizaci pro %s"
 
-#: ../yum/depsolve.py:616
+#: ../yum/depsolve.py:714
 #, python-format
 msgid "TSINFO: Marking %s as install for %s"
-msgstr "TSINFO: Označuji %s jako instalaci %s"
+msgstr "TSINFO: Označení %s jako instalaci pro %s"
 
-#: ../yum/depsolve.py:727 ../yum/depsolve.py:819
+#: ../yum/depsolve.py:849 ../yum/depsolve.py:967
 msgid "Success - empty transaction"
 msgstr "Úspěch - prázdná transakce"
 
-#: ../yum/depsolve.py:767 ../yum/depsolve.py:783
+#: ../yum/depsolve.py:889 ../yum/depsolve.py:927
 msgid "Restarting Loop"
-msgstr "Restartuje se smyčka"
+msgstr "Restartování smyčky"
 
-#: ../yum/depsolve.py:799
+#: ../yum/depsolve.py:947
 msgid "Dependency Process ending"
-msgstr "Proces zpracování závislostí končí"
+msgstr "Proces zpracování závislostí skončil"
 
-#: ../yum/depsolve.py:821
+#: ../yum/depsolve.py:969
 msgid "Success - deps resolved"
 msgstr "Úspěch - závislosti vyřešeny"
 
-#: ../yum/depsolve.py:845
+#: ../yum/depsolve.py:993
 #, python-format
 msgid "Checking deps for %s"
-msgstr "Kontroluji závislosti pro %s"
+msgstr "Kontrola závislostí pro %s"
 
-#: ../yum/depsolve.py:931
+#: ../yum/depsolve.py:1082
 #, python-format
 msgid "looking for %s as a requirement of %s"
-msgstr "hledá se %s jako požadavek od %s"
+msgstr "hledá se %s jako požadavek pro %s"
 
-#: ../yum/depsolve.py:1169
+#: ../yum/depsolve.py:1349
 #, python-format
 msgid "Running compare_providers() for %s"
-msgstr "Spouští se compare_providers() pro %s"
+msgstr "Spuštěno compare_providers() pro %s"
 
-#: ../yum/depsolve.py:1196 ../yum/depsolve.py:1202
+#: ../yum/depsolve.py:1376 ../yum/depsolve.py:1382
 #, python-format
 msgid "better arch in po %s"
 msgstr "lepší architektura v po %s"
 
-#: ../yum/depsolve.py:1298
+#: ../yum/depsolve.py:1496
 #, python-format
 msgid "%s obsoletes %s"
 msgstr "%s zastarává %s"
 
-#: ../yum/depsolve.py:1310
+#: ../yum/depsolve.py:1508
 #, python-format
 msgid ""
 "archdist compared %s to %s on %s\n"
 "  Winner: %s"
-msgstr ""
-"archdist porovnán pro %s k %s na %s\n"
-"  Vítěz: %s"
+msgstr "archdist porovnal %s vůči %s na %s\n  Vítěz: %s"
 
-#: ../yum/depsolve.py:1318
+#: ../yum/depsolve.py:1516
 #, python-format
 msgid "common sourcerpm %s and %s"
 msgstr "společné zdrojové rpm %s a %s"
 
-#: ../yum/depsolve.py:1322
+#: ../yum/depsolve.py:1520
 #, python-format
 msgid "base package %s is installed for %s"
 msgstr "základní balíček %s je nainstalován pro %s"
 
-#: ../yum/depsolve.py:1328
+#: ../yum/depsolve.py:1526
 #, python-format
 msgid "common prefix of %s between %s and %s"
 msgstr "společný prefix %s mezi %s a %s"
 
-#: ../yum/depsolve.py:1359
+#: ../yum/depsolve.py:1543
 #, python-format
-msgid "requires minimal: %d"
-msgstr "vyžaduje minimálně: %d"
+msgid "provides vercmp: %s"
+msgstr "poskytuje vercmp: %s"
 
-#: ../yum/depsolve.py:1363
+#: ../yum/depsolve.py:1547 ../yum/depsolve.py:1581
 #, python-format
 msgid " Winner: %s"
 msgstr " Vítěz:  %s"
 
-#: ../yum/depsolve.py:1368
+#: ../yum/depsolve.py:1577
+#, python-format
+msgid "requires minimal: %d"
+msgstr "vyžaduje minimálně: %d"
+
+#: ../yum/depsolve.py:1586
 #, python-format
 msgid " Loser(with %d): %s"
-msgstr " Poražený (kým %d): %s"
+msgstr " Poražený (%d): %s"
 
-#: ../yum/depsolve.py:1384
+#: ../yum/depsolve.py:1602
 #, python-format
 msgid "Best Order: %s"
-msgstr "Nejlepší pořádek: %s"
+msgstr "Nejlepší pořadí: %s"
 
-#: ../yum/__init__.py:234
+#: ../yum/__init__.py:274
 msgid "doConfigSetup() will go away in a future version of Yum.\n"
 msgstr "doConfigSetup() bude odstraněn v příští verzi Yumu.\n"
 
-#: ../yum/__init__.py:482
+#: ../yum/__init__.py:553
+#, python-format
+msgid "Skipping unreadable repository %s"
+msgstr "Přeskakuji nečitelný repozitář %s"
+
+#: ../yum/__init__.py:572
 #, python-format
 msgid "Repository %r: Error parsing config: %s"
-msgstr "Repozitář  %r: Chyba při zpracování konfigurace:  %s"
+msgstr "Repozitář  %r: Chyba při parsování konfigurace:  %s"
 
-#: ../yum/__init__.py:488
+#: ../yum/__init__.py:578
 #, python-format
 msgid "Repository %r is missing name in configuration, using id"
-msgstr "Repozitáři %r chybí jméno v konfiguraci, používá se id"
+msgstr "Repozitáři %r chybí v konfiguraci jméno, použito id"
 
-#: ../yum/__init__.py:526
+#: ../yum/__init__.py:618
 msgid "plugins already initialised"
-msgstr "zásuvný modul je již inicializován"
+msgstr "zásuvné moduly jsou již inicializovány"
 
-#: ../yum/__init__.py:533
+#: ../yum/__init__.py:627
 msgid "doRpmDBSetup() will go away in a future version of Yum.\n"
 msgstr "doRpmDBSetup() bude odstraněn v příští verzi Yumu.\n"
 
-#: ../yum/__init__.py:544
+#: ../yum/__init__.py:638
 msgid "Reading Local RPMDB"
-msgstr "Načítá se lokální RPMDB"
+msgstr "Načítání lokální RPMDB"
 
-#: ../yum/__init__.py:567
+#: ../yum/__init__.py:668
 msgid "doRepoSetup() will go away in a future version of Yum.\n"
 msgstr "doRepoSetup() bude odstraněn v příští verzi Yumu.\n"
 
-#: ../yum/__init__.py:630
+#: ../yum/__init__.py:722
 msgid "doSackSetup() will go away in a future version of Yum.\n"
 msgstr "doSackSetup() bude odstraněn v příští verzi Yumu.\n"
 
-#: ../yum/__init__.py:660
+#: ../yum/__init__.py:752
 msgid "Setting up Package Sacks"
-msgstr "Připravuje se pytel balíčků"
+msgstr "Příprava souhrnu balíčků"
 
-#: ../yum/__init__.py:705
+#: ../yum/__init__.py:797
 #, python-format
 msgid "repo object for repo %s lacks a _resetSack method\n"
-msgstr "objekt repozitáře pro repo %s postrádá metodu _resetSack\n"
+msgstr "repo objekt pro repozitář %s postrádá metodu _resetSack\n"
 
-#: ../yum/__init__.py:706
+#: ../yum/__init__.py:798
 msgid "therefore this repo cannot be reset.\n"
-msgstr "proto nemůže toto repo být resetováno.\n"
+msgstr "proto nemůže být tento repozitář resetován.\n"
 
-#: ../yum/__init__.py:711
+#: ../yum/__init__.py:806
 msgid "doUpdateSetup() will go away in a future version of Yum.\n"
 msgstr "doUpdateSetup() bude odstraněn v příští verzi Yumu.\n"
 
-#: ../yum/__init__.py:723
+#: ../yum/__init__.py:818
 msgid "Building updates object"
-msgstr "Sestavuje se objekt aktualizací"
+msgstr "Sestavování objektů aktualizací"
 
-#: ../yum/__init__.py:765
+#: ../yum/__init__.py:862
 msgid "doGroupSetup() will go away in a future version of Yum.\n"
 msgstr "doGroupSetup() bude odstraněn v příští verzi Yumu.\n"
 
-#: ../yum/__init__.py:790
+#: ../yum/__init__.py:887
 msgid "Getting group metadata"
-msgstr "Získávají se metadata skupin"
+msgstr "Získávání metadata skupin"
 
-#: ../yum/__init__.py:816
+#: ../yum/__init__.py:915
 #, python-format
 msgid "Adding group file from repository: %s"
-msgstr "Přidává se skupinový soubor pro repozitář: %s"
+msgstr "Přidání souboru se skupinou pro repozitář: %s"
 
-#: ../yum/__init__.py:827
+#: ../yum/__init__.py:918
+#, python-format
+msgid "Failed to retrieve group file for repository: %s"
+msgstr "Nelze stáhnout soubor skupin pro repozitář: %s"
+
+#: ../yum/__init__.py:924
 #, python-format
 msgid "Failed to add groups file for repository: %s - %s"
-msgstr "Selhalo přidání skupinového souboru pro repozitář: %s - %s"
+msgstr "Selhalo přidání souboru se skupinou pro repozitář: %s - %s"
 
-#: ../yum/__init__.py:833
+#: ../yum/__init__.py:930
 msgid "No Groups Available in any repository"
 msgstr "V žádném repozitáři nejsou dostupné skupiny"
 
-#: ../yum/__init__.py:845
+#: ../yum/__init__.py:945
 msgid "Getting pkgtags metadata"
-msgstr "Získávají se pkgtags metadata"
+msgstr "Získávání metadat pkgtags"
 
-#: ../yum/__init__.py:855
+#: ../yum/__init__.py:955
 #, python-format
 msgid "Adding tags from repository: %s"
-msgstr "Přidávají se tagy z repozitáře: %s"
+msgstr "Přidávání tagů z repozitáře: %s"
 
-#: ../yum/__init__.py:866
+#: ../yum/__init__.py:966
 #, python-format
 msgid "Failed to add Pkg Tags for repository: %s - %s"
 msgstr "Selhalo přidání Pkg Tagů pro repozitář: %s - %s"
 
-#: ../yum/__init__.py:944
+#: ../yum/__init__.py:1059
 msgid "Importing additional filelist information"
-msgstr "Importuji informace z dodatečného seznamu souborů"
+msgstr "Importování informací z dodatečných seznamů souborů"
 
-#: ../yum/__init__.py:958
+#: ../yum/__init__.py:1077
 #, python-format
 msgid "The program %s%s%s is found in the yum-utils package."
 msgstr "Program %s%s%s byl nalezen v balíčku yum-utils."
 
-#: ../yum/__init__.py:966
+#: ../yum/__init__.py:1094
 msgid ""
 "There are unfinished transactions remaining. You might consider running yum-"
 "complete-transaction first to finish them."
-msgstr ""
-"Existují nedokončené transakce. Měli byste zvážit možnost nejdříve spustit "
-"yum-complete-transaction k jejich dokončení."
+msgstr "Existují nedokončené transakce. Pro jejich dokončení raději nejprve spusťte yum-complete-transaction."
 
-#: ../yum/__init__.py:983
+#: ../yum/__init__.py:1111
 msgid "--> Finding unneeded leftover dependencies"
-msgstr ""
+msgstr "--> Hledání nepotřebných závislostí"
 
-#: ../yum/__init__.py:1041
+#: ../yum/__init__.py:1169
 #, python-format
 msgid "Protected multilib versions: %s != %s"
+msgstr "Chráněné verze multilib-u: %s != %s"
+
+#. People are confused about protected mutilib ... so give
+#. them a nicer message.
+#: ../yum/__init__.py:1173
+#, python-format
+msgid ""
+" Multilib version problems found. This often means that the root\n"
+"cause is something else and multilib version checking is just\n"
+"pointing out that there is a problem. Eg.:\n"
+"\n"
+"  1. You have an upgrade for %(name)s which is missing some\n"
+"     dependency that another package requires. Yum is trying to\n"
+"     solve this by installing an older version of %(name)s of the\n"
+"     different architecture. If you exclude the bad architecture\n"
+"     yum will tell you what the root cause is (which package\n"
+"     requires what). You can try redoing the upgrade with\n"
+"     --exclude %(name)s.otherarch ... this should give you an error\n"
+"     message showing the root cause of the problem.\n"
+"\n"
+"  2. You have multiple architectures of %(name)s installed, but\n"
+"     yum can only see an upgrade for one of those arcitectures.\n"
+"     If you don't want/need both architectures anymore then you\n"
+"     can remove the one with the missing update and everything\n"
+"     will work.\n"
+"\n"
+"  3. You have duplicate versions of %(name)s installed already.\n"
+"     You can use \"yum check\" to get yum show these errors.\n"
+"\n"
+"...you can also use --setopt=protected_multilib=false to remove\n"
+"this checking, however this is almost never the correct thing to\n"
+"do as something else is very likely to go wrong (often causing\n"
+"much more problems).\n"
+"\n"
 msgstr ""
 
-#: ../yum/__init__.py:1096
+#: ../yum/__init__.py:1257
 #, python-format
 msgid "Trying to remove \"%s\", which is protected"
-msgstr "Zkuste odstranit \"%s\", který je chráněný"
+msgstr "Pokus o odstranění \"%s\", který je chráněn"
 
-#: ../yum/__init__.py:1217
+#: ../yum/__init__.py:1378
 msgid ""
 "\n"
 "Packages skipped because of dependency problems:"
-msgstr ""
-"\n"
-"Balíček přeskočen kvůli problémům se závislostmi:"
+msgstr "\nBalíčky přeskočené kvůli problémům se závislostmi:"
 
-#: ../yum/__init__.py:1221
+#: ../yum/__init__.py:1382
 #, python-format
 msgid "    %s from %s"
 msgstr "    %s z %s"
 
 #. FIXME: _N()
-#: ../yum/__init__.py:1391
+#: ../yum/__init__.py:1556
 #, python-format
 msgid "** Found %d pre-existing rpmdb problem(s), 'yum check' output follows:"
-msgstr ""
-"** Nalezeny %d pre-existující problémy rpmdb, následuje výstup \"yum "
-"check\":"
+msgstr "** Nalezeny %d existující problémy v rpmdb, následuje výstup \"yum check\":"
 
-#: ../yum/__init__.py:1395
+#: ../yum/__init__.py:1560
 msgid "Warning: RPMDB altered outside of yum."
 msgstr "Varování: RPMDB byla změněna mimo yum."
 
-#: ../yum/__init__.py:1407
+#: ../yum/__init__.py:1572
 msgid "missing requires"
-msgstr "chybějící požadavek"
+msgstr "chybějící requires"
 
-#: ../yum/__init__.py:1408
+#: ../yum/__init__.py:1573
 msgid "installed conflict"
-msgstr "konflikt nainstalovaného"
+msgstr "instalační konflikt"
 
-#: ../yum/__init__.py:1525
+#: ../yum/__init__.py:1709
 msgid ""
 "Warning: scriptlet or other non-fatal errors occurred during transaction."
-msgstr ""
-"Varování: Během transakce došlo k chybě skriptletu nebo jiné nefatální "
-"chybě."
+msgstr "Varování: Během transakce došlo k chybě skriptletu nebo jiné nefatální chybě."
 
-#: ../yum/__init__.py:1535
+#: ../yum/__init__.py:1719
 msgid "Transaction couldn't start:"
 msgstr "Transakce nemůže začít:"
 
 #. should this be 'to_unicoded'?
-#: ../yum/__init__.py:1538
+#: ../yum/__init__.py:1722
 msgid "Could not run transaction."
 msgstr "Nelze spustit transakci."
 
-#: ../yum/__init__.py:1552
+#: ../yum/__init__.py:1736
 #, python-format
 msgid "Failed to remove transaction file %s"
 msgstr "Selhalo odstranění transakčního souboru %s."
 
 #. maybe a file log here, too
 #. but raising an exception is not going to do any good
-#: ../yum/__init__.py:1590
+#: ../yum/__init__.py:1792
 #, python-format
 msgid "%s was supposed to be installed but is not!"
-msgstr "%s mělo být nainstalováno, ale není!"
+msgstr "%s by mělo být nainstalováno, ale není!"
 
 #. maybe a file log here, too
 #. but raising an exception is not going to do any good
-#: ../yum/__init__.py:1651
+#. Note: This actually triggers atm. because we can't
+#. always find the erased txmbr to set it when
+#. we should.
+#: ../yum/__init__.py:1869
 #, python-format
 msgid "%s was supposed to be removed but is not!"
-msgstr "%s mělo být odstraněno, ale není!"
-
-#: ../yum/__init__.py:1768
-#, python-format
-msgid "Could not open lock %s: %s"
-msgstr "Nelze otevřít zámek  %s: %s"
-
-#. Whoa. What the heck happened?
-#: ../yum/__init__.py:1785
-#, python-format
-msgid "Unable to check if PID %s is active"
-msgstr "Nedá se zkontrolovat, zda je PID %s aktivní."
+msgstr "%s by mělo být odstraněno, ale není!"
 
 #. Another copy seems to be running.
-#: ../yum/__init__.py:1789
+#: ../yum/__init__.py:2004
 #, python-format
 msgid "Existing lock %s: another copy is running as pid %s."
 msgstr "Existující zámek %s: jiná kopie běží s pid %s."
 
 #. Whoa. What the heck happened?
-#: ../yum/__init__.py:1830
+#: ../yum/__init__.py:2053
 #, python-format
 msgid "Could not create lock at %s: %s "
 msgstr "Nelze vytvořit zámek na %s: %s "
 
-#: ../yum/__init__.py:1875
+#: ../yum/__init__.py:2065
+#, python-format
+msgid "Could not open lock %s: %s"
+msgstr "Nelze otevřít zámek  %s: %s"
+
+#. The pid doesn't exist
+#. Whoa. What the heck happened?
+#: ../yum/__init__.py:2082
+#, python-format
+msgid "Unable to check if PID %s is active"
+msgstr "Nelze zkontrolovat, zda je PID %s aktivní."
+
+#: ../yum/__init__.py:2132
 #, python-format
 msgid ""
 "Package does not match intended download. Suggestion: run yum "
 "--enablerepo=%s clean metadata"
-msgstr ""
-"Balíček neodpovídá zamýšlenému stahování. Zkuste spustit: yum "
-"--enablerepo=%s clean metadata"
+msgstr "Balíček neodpovídá zamýšlenému stahování. Zkuste spustit: yum --enablerepo=%s clean metadata"
 
-#: ../yum/__init__.py:1891
+#: ../yum/__init__.py:2155
 msgid "Could not perform checksum"
 msgstr "Nelze zkontrolovat kontrolní součet"
 
-#: ../yum/__init__.py:1894
+#: ../yum/__init__.py:2158
 msgid "Package does not match checksum"
-msgstr "Balíček neodpovídá kontrolnímu součtu"
+msgstr "Kontrolní součet balíčku nesouhlasí"
 
-#: ../yum/__init__.py:1946
+#: ../yum/__init__.py:2222
 #, python-format
 msgid "package fails checksum but caching is enabled for %s"
-msgstr "balíček neprošel kontrolním součtem ale skladiště je povoleno pro %s"
+msgstr "kontrolní součet balíčku nesouhlasím, avšak pro %s je povolena cache"
 
-#: ../yum/__init__.py:1949 ../yum/__init__.py:1979
+#: ../yum/__init__.py:2225 ../yum/__init__.py:2268
 #, python-format
 msgid "using local copy of %s"
-msgstr "používá se lokální kopie %s"
+msgstr "použití lokální kopie %s"
 
-#: ../yum/__init__.py:1991
-#, python-format
-msgid ""
-"Insufficient space in download directory %s\n"
-"    * free   %s\n"
-"    * needed %s"
-msgstr ""
-"Nedostatek diskového prostoru ve stahovacím adresáři %s\n"
-"    * volno   %s\n"
-"    * potřeba %s"
+#. caller handles errors
+#: ../yum/__init__.py:2342
+msgid "exiting because --downloadonly specified"
+msgstr "končím protože bylo zadáno --downloadonly"
 
-#: ../yum/__init__.py:2052
+#: ../yum/__init__.py:2371
 msgid "Header is not complete."
 msgstr "Hlavička není kompletní."
 
-#: ../yum/__init__.py:2089
+#: ../yum/__init__.py:2411
 #, python-format
 msgid ""
 "Header not in local cache and caching-only mode enabled. Cannot download %s"
-msgstr ""
-"Hlavička není v lokálním skladišti, ale je povoleno používat pouze "
-"skladiště. Nemohu stáhnout %s"
+msgstr "Hlavička není v lokální cache, avšak nic jiného nelze použít. Nelze stáhnout %s"
 
-#: ../yum/__init__.py:2147
+#: ../yum/__init__.py:2471
 #, python-format
 msgid "Public key for %s is not installed"
 msgstr "Veřejný klíč %s není nainstalován"
 
-#: ../yum/__init__.py:2151
+#: ../yum/__init__.py:2475
 #, python-format
 msgid "Problem opening package %s"
 msgstr "Problém s otevřením balíčku %s"
 
-#: ../yum/__init__.py:2159
+#: ../yum/__init__.py:2483
 #, python-format
 msgid "Public key for %s is not trusted"
 msgstr "Veřejný klíč %s není důvěryhodný"
 
-#: ../yum/__init__.py:2163
+#: ../yum/__init__.py:2487
 #, python-format
 msgid "Package %s is not signed"
 msgstr "Balíček %s není podepsán"
 
-#: ../yum/__init__.py:2202
+#: ../yum/__init__.py:2529
 #, python-format
 msgid "Cannot remove %s"
-msgstr "Nemohu odstranit %s"
+msgstr "Nelze odstranit %s"
 
-#: ../yum/__init__.py:2206
+#: ../yum/__init__.py:2533
 #, python-format
 msgid "%s removed"
 msgstr "%s odstraněn"
 
-#: ../yum/__init__.py:2252
+#: ../yum/__init__.py:2594
 #, python-format
 msgid "Cannot remove %s file %s"
-msgstr "Nemohu odstranit %s soubor %s"
+msgstr "Nelze odstranit %s soubor %s"
 
-#: ../yum/__init__.py:2256
+#: ../yum/__init__.py:2598
 #, python-format
 msgid "%s file %s removed"
 msgstr "%s soubor %s odstraněn"
 
-#: ../yum/__init__.py:2258
+#: ../yum/__init__.py:2600
 #, python-format
-msgid "%d %s files removed"
-msgstr "%d %s soubor odstraněn"
+msgid "%d %s file removed"
+msgid_plural "%d %s files removed"
+msgstr[0] "%d %s soubor odstraněn"
+msgstr[1] "%d %s soubory odstraněny"
+msgstr[2] "%d %s souborů odstraněno"
 
-#: ../yum/__init__.py:2327
+#: ../yum/__init__.py:2712
 #, python-format
 msgid "More than one identical match in sack for %s"
-msgstr "Více než jedna identická shoda v pytli pro %s"
+msgstr "Více než jedna identická shoda v souhrnu pro %s"
 
-#: ../yum/__init__.py:2333
+#: ../yum/__init__.py:2718
 #, python-format
 msgid "Nothing matches %s.%s %s:%s-%s from update"
-msgstr "Nic se neshoduje s %s.%s %s:%s-%s z aktualizace"
+msgstr "Z aktualizace se nic neshoduje s %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:2632
+#: ../yum/__init__.py:3096
 msgid ""
 "searchPackages() will go away in a future version of Yum."
 "                      Use searchGenerator() instead. \n"
-msgstr ""
-"searchPackages() bude odstraněn v příští verzi Yumu.                      "
-"Používejte místo něj searchGenerator(). \n"
+msgstr "searchPackages() bude odstraněn v příští verzi Yumu.                      Používejte místo něj searchGenerator(). \n"
 
-#: ../yum/__init__.py:2675
+#: ../yum/__init__.py:3149
 #, python-format
-msgid "Searching %d packages"
-msgstr "Prohledává se %d balíčků"
+msgid "Searching %d package"
+msgid_plural "Searching %d packages"
+msgstr[0] "Prohledávání %d balíčku"
+msgstr[1] "Prohledávání %d balíčků"
+msgstr[2] "Prohledávání %d balíčků"
 
-#: ../yum/__init__.py:2679
+#: ../yum/__init__.py:3153
 #, python-format
 msgid "searching package %s"
-msgstr "prohledává se balíček %s"
+msgstr "vyhledávání balíčku %s"
 
-#: ../yum/__init__.py:2691
+#: ../yum/__init__.py:3165
 msgid "searching in file entries"
-msgstr "hledá se v souborových položkách"
+msgstr "vyhledávání v názvech souborů"
 
-#: ../yum/__init__.py:2698
+#: ../yum/__init__.py:3172
 msgid "searching in provides entries"
-msgstr "hledá se v položkách poskytovatelů"
+msgstr "vyhledávání v položkách poskytuje"
 
-#: ../yum/__init__.py:2777
+#: ../yum/__init__.py:3369
 msgid "No group data available for configured repositories"
-msgstr "Pro nastavený repozitář nejsou žádná dostupná skupinová data"
+msgstr "Pro aktivní repozitáře nejsou k dispozici žádná data o skupinách"
 
-#: ../yum/__init__.py:2808 ../yum/__init__.py:2827 ../yum/__init__.py:2858
-#: ../yum/__init__.py:2864 ../yum/__init__.py:2953 ../yum/__init__.py:2957
-#: ../yum/__init__.py:3339
+#: ../yum/__init__.py:3466 ../yum/__init__.py:3500 ../yum/__init__.py:3576
+#: ../yum/__init__.py:3582 ../yum/__init__.py:3719 ../yum/__init__.py:3723
+#: ../yum/__init__.py:4298
 #, python-format
 msgid "No Group named %s exists"
-msgstr "Neexistuje skupina pojmenovaná %s"
+msgstr "Neexistuje skupina %s"
 
-#: ../yum/__init__.py:2839 ../yum/__init__.py:2973
+#: ../yum/__init__.py:3512 ../yum/__init__.py:3740
 #, python-format
 msgid "package %s was not marked in group %s"
 msgstr "balíček %s nebyl označen ve skupině %s"
 
-#: ../yum/__init__.py:2887
+#. (upgrade and igroup_data[pkg] == 'available')):
+#: ../yum/__init__.py:3622
+#, python-format
+msgid "Skipping package %s from group %s"
+msgstr "Přeskočen balíček %s ze skupiny %s"
+
+#: ../yum/__init__.py:3628
 #, python-format
 msgid "Adding package %s from group %s"
-msgstr "Přidává se balíček %s pro skupinu %s"
+msgstr "Přidání balíčku %s ze skupiny %s"
 
-#: ../yum/__init__.py:2891
+#: ../yum/__init__.py:3649
 #, python-format
 msgid "No package named %s available to be installed"
-msgstr "Žádný balíček pojmenovaný %s není dostupný pro instalaci"
+msgstr "Pro instalaci není k dispozici žádný balíček s názvem %s"
 
-#: ../yum/__init__.py:2941
+#: ../yum/__init__.py:3702
 #, python-format
-msgid "Warning: Group %s does not have any packages."
-msgstr ""
+msgid "Warning: Group %s does not have any packages to install."
+msgstr "Varování: Skupina %s nemá žádné balíčky k instalaci."
 
-#: ../yum/__init__.py:2943
+#: ../yum/__init__.py:3704
 #, python-format
 msgid "Group %s does have %u conditional packages, which may get installed."
-msgstr ""
+msgstr "Skupina %s má %u volitelných balíčků, které mohou být nainstalovány."
+
+#: ../yum/__init__.py:3794
+#, python-format
+msgid "Skipping group %s from environment %s"
+msgstr "Vynechávám skupinu %s z prostředí %s"
 
 #. This can happen due to excludes after .up has
 #. happened.
-#: ../yum/__init__.py:3002
+#: ../yum/__init__.py:3858
 #, python-format
 msgid "Package tuple %s could not be found in packagesack"
-msgstr "Uspořádaný seznam balíčků %s nenalezen v pytli balíčků"
+msgstr "Položka balíčku %s nenalezena v souhrnu balíčků"
 
-#: ../yum/__init__.py:3022
+#: ../yum/__init__.py:3886
 #, python-format
 msgid "Package tuple %s could not be found in rpmdb"
-msgstr "Uspořádaný seznam balíčků %s nenalezen v rpmdb"
+msgstr "Položka balíčku %s nenalezena v rpmdb"
 
-#: ../yum/__init__.py:3079 ../yum/__init__.py:3129
+#: ../yum/__init__.py:3949 ../yum/__init__.py:4012
 #, python-format
 msgid "Invalid version flag from: %s"
-msgstr ""
+msgstr "Neplatný příznak verze z: %s"
 
-#: ../yum/__init__.py:3096 ../yum/__init__.py:3101
+#: ../yum/__init__.py:3973 ../yum/__init__.py:3979 ../yum/__init__.py:4036
+#: ../yum/__init__.py:4042
 #, python-format
 msgid "No Package found for %s"
-msgstr "Nebyl nalezen balíček pro %s"
+msgstr "Pro %s nebyl nalezen žádný balíček"
+
+#: ../yum/__init__.py:4245 ../yum/__init__.py:4274
+#, python-format
+msgid "Warning: Environment Group %s does not exist."
+msgstr "Varování: Skupina prostředí %s neexistuje."
 
-#: ../yum/__init__.py:3401
+#: ../yum/__init__.py:4397
+#, python-format
+msgid "Package: %s - can't co-install with %s"
+msgstr "Balíček %s nelze instalovat současně s %s"
+
+#: ../yum/__init__.py:4437
 msgid "Package Object was not a package object instance"
 msgstr "Objekt balíčku nebyl instancí balíčkového objektu"
 
-#: ../yum/__init__.py:3405
+#: ../yum/__init__.py:4441
 msgid "Nothing specified to install"
-msgstr "Nebylo určeno nic k instalaci"
+msgstr "K instalaci nebylo nic určeno"
 
-#: ../yum/__init__.py:3424 ../yum/__init__.py:4283
+#: ../yum/__init__.py:4465 ../yum/__init__.py:5410
 #, python-format
 msgid "Checking for virtual provide or file-provide for %s"
-msgstr "Hledá se virtuální poskytovatel nebo soubor poskytující %s"
-
-#: ../yum/__init__.py:3430 ../yum/__init__.py:3775 ../yum/__init__.py:3969
-#: ../yum/__init__.py:4289
-#, python-format
-msgid "No Match for argument: %s"
-msgstr "Nenalezena shoda pro argument: %s"
+msgstr "Zjišťování virtuálního provide nebo file-provide pro %s"
 
-#: ../yum/__init__.py:3507
+#: ../yum/__init__.py:4542
 #, python-format
 msgid "Package %s installed and not available"
 msgstr "Balíček %s je nainstalován, ale není dostupný"
 
-#: ../yum/__init__.py:3510
+#: ../yum/__init__.py:4545
 msgid "No package(s) available to install"
-msgstr "Žádné balíčky dostupné pro instalaci"
+msgstr "K instalaci nejsou dostupné žádné balíčky"
 
-#: ../yum/__init__.py:3522
+#: ../yum/__init__.py:4557
 #, python-format
 msgid "Package: %s  - already in transaction set"
 msgstr "Balíček: %s - již je v transakční sadě"
 
-#: ../yum/__init__.py:3550
+#: ../yum/__init__.py:4589
 #, python-format
 msgid "Package %s is obsoleted by %s which is already installed"
-msgstr "Balíček %s je zastaralý balíčkem %s, který je již nainstalován"
+msgstr "Balíček %s je označen za zastaralý balíčkem %s, který je již nainstalován"
 
-#: ../yum/__init__.py:3555
+#: ../yum/__init__.py:4594
 #, python-format
 msgid ""
 "Package %s is obsoleted by %s, but obsoleting package does not provide for "
 "requirements"
-msgstr ""
-"Balíček %s je zastaralý balíčkem %s, ale nový balíček nesplňuje závislosti"
+msgstr "Balíček %s je označen za zastaralý balíčkem %s, ale není poskytnut pro vyřešení závislostí"
 
-#: ../yum/__init__.py:3558
+#: ../yum/__init__.py:4597
 #, python-format
 msgid "Package %s is obsoleted by %s, trying to install %s instead"
-msgstr ""
-"Balíček %s je zastaralý balíčkem %s, zkouší se místo něj instalovat %s"
+msgstr "Balíček %s je označen za zastaralý balíčkem %s, zkouší se místo něj instalovat %s"
 
-#: ../yum/__init__.py:3566
+#: ../yum/__init__.py:4605
 #, python-format
 msgid "Package %s already installed and latest version"
 msgstr "Balíček %s je již nainstalován a v poslední verzi"
 
-#: ../yum/__init__.py:3580
+#: ../yum/__init__.py:4619
 #, python-format
 msgid "Package matching %s already installed. Checking for update."
-msgstr "Balíček odpovídající %s je již nainstalován. Hledají se aktualizace."
+msgstr "Balíček odpovídající %s je již nainstalován. Vyhledání aktualizací."
 
 #. update everything (the easy case)
-#: ../yum/__init__.py:3684
+#: ../yum/__init__.py:4751
 msgid "Updating Everything"
-msgstr "Aktualizuje se vše"
+msgstr "Aktualizace všeho"
 
-#: ../yum/__init__.py:3708 ../yum/__init__.py:3849 ../yum/__init__.py:3879
-#: ../yum/__init__.py:3915
+#: ../yum/__init__.py:4775 ../yum/__init__.py:4930 ../yum/__init__.py:4975
+#: ../yum/__init__.py:5011
 #, python-format
 msgid "Not Updating Package that is already obsoleted: %s.%s %s:%s-%s"
 msgstr "Neaktualizuje se balíček, který je již zastaralý: %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3753 ../yum/__init__.py:3965
+#: ../yum/__init__.py:4830 ../yum/__init__.py:5072
 #, python-format
 msgid "%s"
 msgstr "%s"
 
-#: ../yum/__init__.py:3838
+#: ../yum/__init__.py:4854 ../yum/__init__.py:5080 ../yum/__init__.py:5416
+#, python-format
+msgid "No Match for argument: %s"
+msgstr "Pro argument nenalezena shoda: %s"
+
+#: ../yum/__init__.py:4872
+#, python-format
+msgid "No package matched to upgrade: %s"
+msgstr "Žádný balíček nevyhovuje aktualizaci: %s"
+
+#: ../yum/__init__.py:4919
 #, python-format
 msgid "Package is already obsoleted: %s.%s %s:%s-%s"
 msgstr "Balíček je již zastaralý: %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3874
+#: ../yum/__init__.py:4970
 #, python-format
 msgid "Not Updating Package that is obsoleted: %s"
 msgstr "Neaktualizuje se balíček, který je zastaralý: %s"
 
-#: ../yum/__init__.py:3883 ../yum/__init__.py:3919
+#: ../yum/__init__.py:4979 ../yum/__init__.py:5015
 #, python-format
 msgid "Not Updating Package that is already updated: %s.%s %s:%s-%s"
 msgstr "Neaktualizuje se balíček, který jej již aktuální: %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3982
-msgid "No package matched to remove"
-msgstr "Nenalezen žádný shodný balíček pro odstranění"
+#: ../yum/__init__.py:5093
+#, python-format
+msgid "No package matched to remove: %s"
+msgstr "Žádný balíček nevyhovuje odstranění: %s"
 
-#: ../yum/__init__.py:3988
+#: ../yum/__init__.py:5099
 #, python-format
 msgid "Skipping the running kernel: %s"
-msgstr "Přeskakuji aktuálně používané jádro: %s"
+msgstr "Aktuálně používané jádro bylo přeskočeno: %s"
 
-#: ../yum/__init__.py:3994
+#: ../yum/__init__.py:5105
 #, python-format
 msgid "Removing %s from the transaction"
-msgstr "Odstraňuji %s z transakce"
+msgstr "Odstranění %s z transakce"
 
-#: ../yum/__init__.py:4029
+#: ../yum/__init__.py:5142
 #, python-format
 msgid "Cannot open: %s. Skipping."
 msgstr "Nelze otevřít: %s. Přeskakuje se."
 
-#: ../yum/__init__.py:4032 ../yum/__init__.py:4150 ../yum/__init__.py:4226
+#: ../yum/__init__.py:5145 ../yum/__init__.py:5262 ../yum/__init__.py:5347
 #, python-format
 msgid "Examining %s: %s"
-msgstr "Zkoumá se %s: %s"
+msgstr "Zkoumání %s: %s"
 
-#: ../yum/__init__.py:4036
+#: ../yum/__init__.py:5149
 #, python-format
 msgid "Cannot localinstall deltarpm: %s. Skipping."
-msgstr "Nelze lokálně instalovat deltarpm: %s. Přeskakuje se."
+msgstr "Nelze lokálně nainstalovat deltarpm: %s. Přeskakuje se."
 
-#: ../yum/__init__.py:4045 ../yum/__init__.py:4153 ../yum/__init__.py:4229
+#: ../yum/__init__.py:5158 ../yum/__init__.py:5265 ../yum/__init__.py:5350
 #, python-format
 msgid ""
 "Cannot add package %s to transaction. Not a compatible architecture: %s"
-msgstr "Nelze přidat balíček %s do transakce. Nekompatibilní architektura: %s"
+msgstr "Do transakce nelze přidat balíček %s. Nekompatibilní architektura: %s"
 
-#: ../yum/__init__.py:4051
+#: ../yum/__init__.py:5164
 #, python-format
 msgid "Cannot install package %s. It is obsoleted by installed package %s"
-msgstr "Nelze instalovat balíček %s. Je zastaralý nainstalovaným balíčkem  %s"
+msgstr "Nelze nainstalovat balíček %s. Je zastaralý nainstalovaným balíčkem %s"
 
-#: ../yum/__init__.py:4059
+#: ../yum/__init__.py:5172
 #, python-format
 msgid ""
 "Package %s not installed, cannot update it. Run yum install to install it "
 "instead."
-msgstr ""
-"Balíček %s není nainstalován, nelze jej aktualizovat. Spusťte místo toho yum"
-" install a nainstalujte jej."
+msgstr "Balíček %s není nainstalován, nelze jej aktualizovat. Nainstalujte jen příkazem yum install."
 
-#: ../yum/__init__.py:4078 ../yum/__init__.py:4085
+#: ../yum/__init__.py:5191 ../yum/__init__.py:5198
 #, python-format
 msgid ""
 "Package %s.%s not installed, cannot update it. Run yum install to install it"
 " instead."
-msgstr ""
+msgstr "Balíček %s.%s není nainstalován, nelze jej aktualizovat. Nainstalujte jen příkazem yum install."
 
-#: ../yum/__init__.py:4094 ../yum/__init__.py:4158 ../yum/__init__.py:4234
+#: ../yum/__init__.py:5207 ../yum/__init__.py:5270 ../yum/__init__.py:5355
 #, python-format
 msgid "Excluding %s"
-msgstr "Vynechává se %s"
+msgstr "Vynechání %s"
 
-#: ../yum/__init__.py:4099
+#: ../yum/__init__.py:5212
 #, python-format
 msgid "Marking %s to be installed"
-msgstr "Označuje se %s k instalaci"
+msgstr "Označení %s k instalaci"
 
-#: ../yum/__init__.py:4105
+#: ../yum/__init__.py:5218
 #, python-format
 msgid "Marking %s as an update to %s"
-msgstr "Označuje se %s jako aktualizace %s"
+msgstr "Označení %s jako aktualizace %s"
 
-#: ../yum/__init__.py:4112
+#: ../yum/__init__.py:5225
 #, python-format
 msgid "%s: does not update installed package."
-msgstr "%s: není aktualizací instalovaného balíčku."
+msgstr "%s: není aktualizací nainstalovaného balíčku."
 
-#: ../yum/__init__.py:4147 ../yum/__init__.py:4223
+#: ../yum/__init__.py:5259 ../yum/__init__.py:5344
 #, python-format
 msgid "Cannot open file: %s. Skipping."
 msgstr "Nelze otevřít soubor: %s. Přeskakuje se."
 
-#: ../yum/__init__.py:4177
+#: ../yum/__init__.py:5299
 msgid "Problem in reinstall: no package matched to remove"
 msgstr "Problém při reinstalaci: žádný shodný balíček k odstranění"
 
-#: ../yum/__init__.py:4203
+#: ../yum/__init__.py:5325
 #, python-format
 msgid "Problem in reinstall: no package %s matched to install"
 msgstr "Problém při reinstalaci: žádný shodný balíček %s k instalaci"
 
-#: ../yum/__init__.py:4311
+#: ../yum/__init__.py:5438
 msgid "No package(s) available to downgrade"
-msgstr "Žádné balíčky dostupné ke snížení verze"
+msgstr "Pro snížení verze není dostupný žádný balíček"
 
-#: ../yum/__init__.py:4319
+#: ../yum/__init__.py:5446
 #, python-format
 msgid "Package %s is allowed multiple installs, skipping"
 msgstr "Balíček %s má dovoleno vícero instalací, přeskakuje se"
 
-#: ../yum/__init__.py:4365
+#: ../yum/__init__.py:5496
 #, python-format
 msgid "No Match for available package: %s"
 msgstr "Neexistuje shoda pro dostupný balíček: %s"
 
-#: ../yum/__init__.py:4372
+#: ../yum/__init__.py:5506
 #, python-format
 msgid "Only Upgrade available on package: %s"
-msgstr "Pouze aktualizace dostupná pro balíček: %s"
+msgstr "Pouze aktualizace je dostupná pro balíček: %s"
 
-#: ../yum/__init__.py:4442 ../yum/__init__.py:4479
+#: ../yum/__init__.py:5619 ../yum/__init__.py:5686
 #, python-format
 msgid "Failed to downgrade: %s"
 msgstr "Nepodařilo se snížit verzi: %s"
 
-#: ../yum/__init__.py:4516
+#: ../yum/__init__.py:5636 ../yum/__init__.py:5692
+#, python-format
+msgid "Failed to upgrade: %s"
+msgstr "Nezdařila se aktualizace: %s"
+
+#: ../yum/__init__.py:5725
 #, python-format
 msgid "Retrieving key from %s"
-msgstr ""
+msgstr "Získávání klíče z %s"
 
-#: ../yum/__init__.py:4534
+#: ../yum/__init__.py:5743
 msgid "GPG key retrieval failed: "
 msgstr "Získání GPG klíče selhalo: "
 
 #. if we decide we want to check, even though the sig failed
 #. here is where we would do that
-#: ../yum/__init__.py:4557
+#: ../yum/__init__.py:5766
 #, python-format
 msgid "GPG key signature on key %s does not match CA Key for repo: %s"
-msgstr ""
+msgstr "GPG podpis klíčem %s neodpovídá klíči CA pro repozitář: %s"
 
-#: ../yum/__init__.py:4559
+#: ../yum/__init__.py:5768
 msgid "GPG key signature verified against CA Key(s)"
-msgstr ""
+msgstr "GPG podpis byl ověřen oproti CA klíči (klíčům)."
 
-#: ../yum/__init__.py:4567
+#: ../yum/__init__.py:5776
 #, python-format
 msgid "Invalid GPG Key from %s: %s"
 msgstr "Neplatný GPG klíč pro %s: %s"
 
-#: ../yum/__init__.py:4576
+#: ../yum/__init__.py:5785
 #, python-format
 msgid "GPG key parsing failed: key does not have value %s"
-msgstr "Zpracování GPG klíče selhalo: klíč nemá žádnou hodnotu %s"
+msgstr "Parsování GPG klíče selhalo: klíč nemá žádnou hodnotu %s"
 
-#: ../yum/__init__.py:4592
+#: ../yum/__init__.py:5801
 #, python-format
 msgid ""
 "Importing %s key 0x%s:\n"
-" Userid : %s\n"
-" Package: %s (%s)\n"
-" From   : %s"
-msgstr ""
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" Package    : %s (%s)\n"
+" From       : %s"
+msgstr "Importuje se %s klíč 0x%s:\n Userid     : \"%s\"\n Fingerprint: %s\n Balíček    : %s (%s)\n Z          : %s"
 
-#: ../yum/__init__.py:4600
+#: ../yum/__init__.py:5811
 #, python-format
 msgid ""
 "Importing %s key 0x%s:\n"
-" Userid: \"%s\"\n"
-" From  : %s"
-msgstr ""
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" From       : %s"
+msgstr "Importuje se %s klíč 0x%s:\n Userid     : \"%s\"\n Fingerprint: %s\n Z          : %s"
+
+#: ../yum/__init__.py:5839
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" Failing package is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr "\n\n\n Nepovolené balíček je: %s\n GPG klíče jsou nakonfigurovány jako: %s\n"
 
-#: ../yum/__init__.py:4634
+#: ../yum/__init__.py:5853
 #, python-format
 msgid "GPG key at %s (0x%s) is already installed"
 msgstr "GPG klíč %s (0x%s) je již nainstalován"
 
-#: ../yum/__init__.py:4671
+#: ../yum/__init__.py:5891
 #, python-format
 msgid "Key import failed (code %d)"
 msgstr "Import klíče selhal (kód %d)"
 
-#: ../yum/__init__.py:4672 ../yum/__init__.py:4755
+#: ../yum/__init__.py:5893 ../yum/__init__.py:5994
 msgid "Key imported successfully"
 msgstr "Import klíče proběhl úspěšně"
 
-#: ../yum/__init__.py:4676
+#: ../yum/__init__.py:5897
 msgid "Didn't install any keys"
-msgstr ""
+msgstr "Nebyly instalovány žádné klíče"
 
-#: ../yum/__init__.py:4680
+#: ../yum/__init__.py:5900
 #, python-format
 msgid ""
 "The GPG keys listed for the \"%s\" repository are already installed but they are not correct for this package.\n"
 "Check that the correct key URLs are configured for this repository."
-msgstr ""
-"GPG klíč určený pro repozitář „%s“ je již nainstalován, ale není správný pro tento balíček.\n"
-"Zkontrolujte, že URL klíče jsou pro repozitář správně nastavena."
+msgstr "GPG klíče určené pro repozitář „%s“ jsou již nainstalovány, avšak pro tento balíček nejsou správné.\nZkontrolujte, zda URL klíčů jsou pro tento repozitář správně nastaveny."
 
-#: ../yum/__init__.py:4689
+#: ../yum/__init__.py:5910
 msgid "Import of key(s) didn't help, wrong key(s)?"
 msgstr "Import klíče/ů nepomohl, špatný klíč(e)?"
 
-#: ../yum/__init__.py:4713
+#: ../yum/__init__.py:5932
+msgid "No"
+msgstr "Ne"
+
+#: ../yum/__init__.py:5934
+msgid "Yes"
+msgstr "Ano"
+
+#: ../yum/__init__.py:5935
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" CA Key: %s\n"
+" Failing repo is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr "\n\n\n CA klíč: %s\n Nepovolený repozitář je: %s\n GPG klíče jsou nakonfigurovány jako: %s\n"
+
+#: ../yum/__init__.py:5948
 #, python-format
 msgid "GPG key at %s (0x%s) is already imported"
 msgstr "GPG klíč %s (0x%s) je již naimportován"
 
-#: ../yum/__init__.py:4754
-msgid "Key import failed"
-msgstr "Import klíče selhal"
+#: ../yum/__init__.py:5992
+#, python-format
+msgid "Key %s import failed"
+msgstr "Import klíče %s se nezdařil."
 
-#: ../yum/__init__.py:4770
+#: ../yum/__init__.py:6009
 #, python-format
 msgid "Didn't install any keys for repo %s"
-msgstr ""
+msgstr "Nebyly nainstalovány žádné klíče pro repozitář %s"
 
-#: ../yum/__init__.py:4774
+#: ../yum/__init__.py:6014
 #, python-format
 msgid ""
 "The GPG keys listed for the \"%s\" repository are already installed but they are not correct.\n"
 "Check that the correct key URLs are configured for this repository."
-msgstr ""
-"GPG klíče pro repozitář \"%s\" jsou již nainstalovány, ale nejsou správné.\n"
-"Zkontrolujte že pro repozitář je správně nastaveno URL klíče."
+msgstr "GPG klíče pro repozitář \"%s\" jsou již nainstalovány, ale nejsou správné.\nZkontrolujte že pro repozitář je správně nastaveno URL klíče."
 
-#: ../yum/__init__.py:4924
+#: ../yum/__init__.py:6172
 msgid "Unable to find a suitable mirror."
-msgstr "Nemohu nalézt vhodné zrcadlo"
+msgstr "Nelze nalézt vhodné zrcadlo"
 
-#: ../yum/__init__.py:4926
+#: ../yum/__init__.py:6174
 msgid "Errors were encountered while downloading packages."
 msgstr "Při stahování balíčků došlo k chybě."
 
-#: ../yum/__init__.py:4981
+#: ../yum/__init__.py:6229
 #, python-format
 msgid "Please report this error at %s"
-msgstr "Oznamte prosím tuto chybu na %s"
+msgstr "Oznamte tuto chybu na %s"
 
-#: ../yum/__init__.py:4998
+#: ../yum/__init__.py:6246
 msgid "Test Transaction Errors: "
 msgstr "Chyby testu transakce: "
 
-#: ../yum/__init__.py:5098
+#: ../yum/__init__.py:6358
 #, python-format
 msgid "Could not set cachedir: %s"
-msgstr "Nelze vytvořit skladiště: %s "
+msgstr "Nelze nastavit adresář pro cache: %s "
 
-#: ../yum/__init__.py:5148 ../yum/__init__.py:5150
+#: ../yum/__init__.py:6420 ../yum/__init__.py:6422
 msgid "Dependencies not solved. Will not save unresolved transaction."
-msgstr ""
+msgstr "Závislosti nebyly vyřešeny.  Nevyřešená transakce nebude uložena."
 
-#: ../yum/__init__.py:5179 ../yum/__init__.py:5181
+#: ../yum/__init__.py:6455 ../yum/__init__.py:6457
 #, python-format
 msgid "Could not save transaction file %s: %s"
-msgstr ""
+msgstr "Nelze uložit transakční soubor %s: %s"
 
-#: ../yum/__init__.py:5195
+#: ../yum/__init__.py:6483
 #, python-format
 msgid "Could not access/read saved transaction %s : %s"
-msgstr ""
+msgstr "Nelze načíst uloženou transakci %s : %s"
 
-#: ../yum/__init__.py:5214
-msgid "rpmdb ver mismatched saved transaction version, "
-msgstr ""
-
-#: ../yum/__init__.py:5216
-msgid " ignoring, as requested."
-msgstr ""
-
-#: ../yum/__init__.py:5219 ../yum/__init__.py:5354
-msgid " aborting."
-msgstr ""
+#: ../yum/__init__.py:6521
+msgid "rpmdb ver mismatched saved transaction version,"
+msgstr "rpmdb obsahuje jinou verzi než je v uložené transakci, "
 
-#: ../yum/__init__.py:5228
+#: ../yum/__init__.py:6535
 msgid "cannot find tsflags or tsflags not integer."
-msgstr ""
+msgstr "nelze nalézt tsflags nebo tsflags není celé číslo."
 
-#: ../yum/__init__.py:5267
+#: ../yum/__init__.py:6584
 #, python-format
 msgid "Found txmbr in unknown current state: %s"
-msgstr ""
+msgstr "Nalezen txmbr v neznámém stavu: %s"
 
-#: ../yum/__init__.py:5271
+#: ../yum/__init__.py:6588
 #, python-format
 msgid "Could not find txmbr: %s in state %s"
-msgstr ""
+msgstr "Nelze nalézt txmbr: %s ve stavu %s"
 
-#: ../yum/__init__.py:5307 ../yum/__init__.py:5324
+#: ../yum/__init__.py:6625 ../yum/__init__.py:6642
 #, python-format
 msgid "Could not find txmbr: %s from origin: %s"
-msgstr ""
+msgstr "Nelze nalézt txmbr: %s z: %s"
 
-#: ../yum/__init__.py:5349
+#: ../yum/__init__.py:6667
 msgid "Transaction members, relations are missing or ts has been modified,"
-msgstr ""
+msgstr "Transakční položky nebo vztahy chybí nebo byla transakce změněna,"
 
-#: ../yum/__init__.py:5351
+#: ../yum/__init__.py:6670
 msgid " ignoring, as requested. You must redepsolve!"
-msgstr ""
+msgstr " ignorováno. Musíte spustit redepsolve!"
+
+#. Debugging output
+#: ../yum/__init__.py:6738 ../yum/__init__.py:6757
+#, python-format
+msgid "%s has been visited already and cannot be removed."
+msgstr "%s již byl navštíven a nemůže být odebrán"
+
+#. Debugging output
+#: ../yum/__init__.py:6741
+#, python-format
+msgid "Examining revdeps of %s"
+msgstr "Zkouší se revdeps %s"
+
+#. Debugging output
+#: ../yum/__init__.py:6762
+#, python-format
+msgid "%s has revdep %s which was user-installed."
+msgstr "%s má revdep %s který byl nainstalován uživatelem."
+
+#: ../yum/__init__.py:6773 ../yum/__init__.py:6779
+#, python-format
+msgid "%s is needed by a package to be installed."
+msgstr "%s je vyžadováno jedním z balíčků k instalaci."
+
+#. Debugging output
+#: ../yum/__init__.py:6793
+#, python-format
+msgid "%s has no user-installed revdeps."
+msgstr "%s nemá žádné uživatelem nainstalované revdeps."
 
 #. Mostly copied from YumOutput._outKeyValFill()
-#: ../yum/plugins.py:209
+#: ../yum/plugins.py:212
 msgid "Loaded plugins: "
-msgstr "Zavedeny zásuvné moduly: "
+msgstr "Zavedené moduly: "
 
-#: ../yum/plugins.py:223 ../yum/plugins.py:229
+#: ../yum/plugins.py:226 ../yum/plugins.py:232
 #, python-format
 msgid "No plugin match for: %s"
-msgstr "Neexistuje zásuvný modul pro: %s"
+msgstr "Neexistuje shoda modulu pro: %s"
 
-#: ../yum/plugins.py:259
+#: ../yum/plugins.py:262
 #, python-format
 msgid "Not loading \"%s\" plugin, as it is disabled"
-msgstr "Nezavádí se „%s“ modul, protože je zakázán"
+msgstr "Nezaveden modul „%s“, protože je zakázán"
 
 #. Give full backtrace:
-#: ../yum/plugins.py:271
+#: ../yum/plugins.py:274
 #, python-format
 msgid "Plugin \"%s\" can't be imported"
 msgstr "Modul „%s“ nemůže být importován"
 
-#: ../yum/plugins.py:278
+#: ../yum/plugins.py:281
 #, python-format
 msgid "Plugin \"%s\" doesn't specify required API version"
 msgstr "Modul „%s“ neuvádí požadovanou verzi API"
 
-#: ../yum/plugins.py:283
+#: ../yum/plugins.py:286
 #, python-format
 msgid "Plugin \"%s\" requires API %s. Supported API is %s."
 msgstr "Modul „%s“ požaduje API %s. Podporované API je %s."
 
-#: ../yum/plugins.py:316
+#: ../yum/plugins.py:319
 #, python-format
 msgid "Loading \"%s\" plugin"
-msgstr "Zavádí se zásuvný modul „%s“"
+msgstr "Zaveden modul „%s“"
 
-#: ../yum/plugins.py:323
+#: ../yum/plugins.py:326
 #, python-format
 msgid "Two or more plugins with the name \"%s\" exist in the plugin search path"
 msgstr "V prohledávaných cestách jsou dva nebo více modulů se jménem „%s“"
 
-#: ../yum/plugins.py:343
+#: ../yum/plugins.py:346
 #, python-format
 msgid "Configuration file %s not found"
 msgstr "Konfigurační soubor %s nenalezen"
 
 #. for
 #. Configuration files for the plugin not found
-#: ../yum/plugins.py:346
+#: ../yum/plugins.py:349
 #, python-format
 msgid "Unable to find configuration file for plugin %s"
 msgstr "Nelze nalézt konfigurační soubor pro modul %s"
 
-#: ../yum/plugins.py:508
+#: ../yum/plugins.py:553
 msgid "registration of commands not supported"
 msgstr "registrace příkazů není podporována"
 
-#: ../yum/rpmsack.py:148
+#: ../yum/rpmsack.py:159
 msgid "has missing requires of"
-msgstr "má chybějící požadavky"
+msgstr "má chybějící requires"
 
-#: ../yum/rpmsack.py:151
+#: ../yum/rpmsack.py:162
 msgid "has installed conflicts"
 msgstr "má konflikty v instalaci"
 
-#: ../yum/rpmsack.py:160
+#: ../yum/rpmsack.py:171
 #, python-format
 msgid "%s is a duplicate with %s"
 msgstr "%s je duplicitní s %s"
 
-#: ../yum/rpmsack.py:168
+#: ../yum/rpmsack.py:179
 #, python-format
 msgid "%s is obsoleted by %s"
-msgstr "%s je zastaralé novějším %s"
+msgstr "%s je označeno za zastaralé balíčkem %s"
 
-#: ../yum/rpmsack.py:176
+#: ../yum/rpmsack.py:187
 #, python-format
 msgid "%s provides %s but it cannot be found"
-msgstr "%s poskytuje %s, ale to nelze nalézt"
+msgstr "%s poskytuje %s, avšak nelze to nalézt"
 
 #: ../yum/rpmtrans.py:80
 msgid "Repackaging"
-msgstr "Přebaluje se"
+msgstr "Přebalení"
+
+#: ../yum/rpmtrans.py:149
+#, python-format
+msgid "Verify: %u/%u: %s"
+msgstr "Ověřování: %u/%u: %s"
+
+#: ../yum/yumRepo.py:919
+#, python-format
+msgid ""
+"Insufficient space in download directory %s\n"
+"    * free   %s\n"
+"    * needed %s"
+msgstr "Nedostatek místa v cílovém adresáři pro stahování: %s\n    * volné místo %s\n    * je potřeba %s"
+
+#: ../yum/yumRepo.py:986
+msgid "Package does not match intended download."
+msgstr "Balíček neodpovídá zamýšlenému stahování."
 
 #: ../rpmUtils/oldUtils.py:33
 #, python-format
@@ -3141,11 +3507,11 @@ msgstr "Pro RPM %s selhala kontrola md5"
 
 #: ../rpmUtils/oldUtils.py:151
 msgid "Could not open RPM database for reading. Perhaps it is already in use?"
-msgstr "Nelze otevřít databázi RPM pro čtení. Možná je již používána?"
+msgstr "Nelze otevřít RPM databázi pro čtení. Možná je právě používána?"
 
 #: ../rpmUtils/oldUtils.py:183
 msgid "Got an empty Header, something has gone wrong"
-msgstr "Vrátila se prázdná hlavička. Něco se stalo špatně."
+msgstr "Získána prázdná hlavička. Něco je špatně."
 
 #: ../rpmUtils/oldUtils.py:253 ../rpmUtils/oldUtils.py:260
 #: ../rpmUtils/oldUtils.py:263 ../rpmUtils/oldUtils.py:266
@@ -3157,5 +3523,3 @@ msgstr "Poškozená hlavička %s"
 #, python-format
 msgid "Error opening rpm %s - error %s"
 msgstr "Chyba při otevření rpm %s - chyba %s"
-
-
diff --git a/po/da.po b/po/da.po
index a7202e2..5c2d4fd 100644
--- a/po/da.po
+++ b/po/da.po
@@ -2,1519 +2,1656 @@
 # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
 # This file is distributed under the same license as the PACKAGE package.
 # 
-# Kris Thomsen <lakristho@gmail.com>, 2011
+# Translators:
+# Kris Thomsen <lakristho@gmail.com>, 2011-2012.
 msgid ""
 msgstr ""
 "Project-Id-Version: Yum\n"
-"Report-Msgid-Bugs-To: http://yum.baseurl.org/\n"
-"POT-Creation-Date: 2011-06-06 10:21-0400\n"
-"PO-Revision-Date: 2011-06-06 14:21+0000\n"
-"Last-Translator: skvidal <skvidal@fedoraproject.org>\n"
-"Language-Team: Danish (http://www.transifex.net/projects/p/yum/team/da/)\n"
+"Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
+"POT-Creation-Date: 2013-01-30 09:08-0500\n"
+"PO-Revision-Date: 2013-01-30 14:08+0000\n"
+"Last-Translator: james <james@fedoraproject.org>\n"
+"Language-Team: Danish (http://www.transifex.com/projects/p/yum/language/da/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Language: da\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: ../callback.py:48 ../output.py:1037 ../yum/rpmtrans.py:73
+#: ../callback.py:45 ../output.py:1502 ../yum/rpmtrans.py:73
 msgid "Updating"
 msgstr "Opdaterer"
 
-#: ../callback.py:49 ../yum/rpmtrans.py:74
+#: ../callback.py:46 ../yum/rpmtrans.py:74
 msgid "Erasing"
 msgstr "Sletter"
 
-#: ../callback.py:50 ../callback.py:51 ../callback.py:53 ../output.py:1036
-#: ../output.py:2218 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
+#: ../callback.py:47 ../callback.py:48 ../callback.py:50 ../output.py:1501
+#: ../output.py:2922 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
 #: ../yum/rpmtrans.py:78
 msgid "Installing"
 msgstr "Installerer"
 
-#: ../callback.py:52 ../callback.py:58 ../output.py:1840 ../yum/rpmtrans.py:77
+#: ../callback.py:49 ../callback.py:55 ../output.py:2379 ../yum/rpmtrans.py:77
 msgid "Obsoleted"
 msgstr "Overflødiggjort"
 
-#: ../callback.py:54 ../output.py:1169 ../output.py:1686 ../output.py:1847
+#: ../callback.py:51 ../output.py:1670 ../output.py:2222 ../output.py:2386
 msgid "Updated"
 msgstr "Opdateret"
 
-#: ../callback.py:55 ../output.py:1685
+#: ../callback.py:52 ../output.py:2221
 msgid "Erased"
 msgstr "Slettet"
 
-#: ../callback.py:56 ../callback.py:57 ../callback.py:59 ../output.py:1167
-#: ../output.py:1685 ../output.py:1687 ../output.py:2190
+#: ../callback.py:53 ../callback.py:54 ../callback.py:56 ../output.py:1668
+#: ../output.py:2221 ../output.py:2223 ../output.py:2894
 msgid "Installed"
 msgstr "Installeret"
 
-#: ../callback.py:130
+#: ../callback.py:142
 msgid "No header - huh?"
-msgstr "Ingen header - meget mystisk"
+msgstr "Ingen header - mystisk"
 
-#: ../callback.py:168
+#: ../callback.py:180
 msgid "Repackage"
 msgstr "Genpakning"
 
-#: ../callback.py:189
+#: ../callback.py:201
 #, python-format
 msgid "Error: invalid output state: %s for %s"
 msgstr "Error: ugyldig uddatastatus: %s for %s"
 
-#: ../callback.py:212
+#: ../callback.py:224
 #, python-format
 msgid "Erased: %s"
 msgstr "Slettet: %s"
 
-#: ../callback.py:217 ../output.py:1038 ../output.py:2193
+#: ../callback.py:229 ../output.py:1503 ../output.py:2897
 msgid "Removing"
 msgstr "Fjerner"
 
-#: ../callback.py:219 ../yum/rpmtrans.py:79
+#: ../callback.py:231 ../yum/rpmtrans.py:79
 msgid "Cleanup"
 msgstr "Oprydning af"
 
-#: ../cli.py:115
+#: ../cli.py:122
 #, python-format
 msgid "Command \"%s\" already defined"
 msgstr "Kommandoen \"%s\" er allerede defineret"
 
-#: ../cli.py:127
+#: ../cli.py:137
 msgid "Setting up repositories"
 msgstr "Indstiller pakkearkiver"
 
-#: ../cli.py:138
+#: ../cli.py:148
 msgid "Reading repository metadata in from local files"
 msgstr "Læser pakkearkiv for metadata fra lokale filer"
 
-#: ../cli.py:245 ../utils.py:281
+#: ../cli.py:273 ../cli.py:277 ../utils.py:320
 #, python-format
 msgid "Config Error: %s"
 msgstr "Konfigurationsfejl: %s"
 
-#: ../cli.py:248 ../cli.py:1584 ../utils.py:284
+#: ../cli.py:280 ../cli.py:2206 ../utils.py:323
 #, python-format
 msgid "Options Error: %s"
 msgstr "Fejl i indstilling: %s"
 
-#: ../cli.py:293
+#: ../cli.py:327
 #, python-format
 msgid "  Installed: %s-%s at %s"
 msgstr "  Installeret: %s-%s på %s"
 
-#: ../cli.py:295
+#: ../cli.py:329
 #, python-format
 msgid "  Built    : %s at %s"
 msgstr "  Bygget    : %s på %s"
 
-#: ../cli.py:297
+#: ../cli.py:331
 #, python-format
 msgid "  Committed: %s at %s"
 msgstr "  Indsendt: %s på %s"
 
-#: ../cli.py:336
+#: ../cli.py:372
 msgid "You need to give some command"
 msgstr "Du skal angive en kommando"
 
-#: ../cli.py:350
+#: ../cli.py:386
 #, python-format
 msgid "No such command: %s. Please use %s --help"
 msgstr "Ingen sådan kommando: %s. Brug %s --help"
 
-#: ../cli.py:400
+#: ../cli.py:444
 msgid "Disk Requirements:\n"
 msgstr "Behov for diskplads:\n"
 
-#: ../cli.py:402
+#: ../cli.py:446
 #, python-format
 msgid "  At least %dMB more space needed on the %s filesystem.\n"
-msgstr "  Mindst %dMB mere plads er krævet på filsystemet %s.\n"
+msgid_plural "  At least %dMB more space needed on the %s filesystem.\n"
+msgstr[0] "  Mindst %dMB mere plads er krævet på filsystemet %s.\n"
+msgstr[1] "  Mindst %dMB mere plads er krlvet på filsystemet %s.\n"
 
 #. TODO: simplify the dependency errors?
 #. Fixup the summary
-#: ../cli.py:407
+#: ../cli.py:451
 msgid ""
 "Error Summary\n"
 "-------------\n"
-msgstr ""
-"Fejlopsummering\n"
-"---------------\n"
+msgstr "Fejlopsummering\n---------------\n"
+
+#: ../cli.py:472
+msgid "Can't create lock file; exiting"
+msgstr "Kan ikke oprette låsfil; afslutter"
+
+#: ../cli.py:479
+msgid ""
+"Another app is currently holding the yum lock; exiting as configured by "
+"exit_on_lock"
+msgstr "Et andet program holder i øjeblikket yum-låsen; afslutter som konfigureret af exit_on_llock"
 
-#: ../cli.py:450
+#: ../cli.py:532
 msgid "Trying to run the transaction but nothing to do. Exiting."
 msgstr "Forsøger at udføre overførslen, men der intet at udføre. Afslutter."
 
-#: ../cli.py:497
+#: ../cli.py:577
+msgid "future rpmdb ver mismatched saved transaction version,"
+msgstr ""
+
+#: ../cli.py:579 ../yum/__init__.py:6523
+msgid " ignoring, as requested."
+msgstr " ignorerer, som forespurgt."
+
+#: ../cli.py:582 ../yum/__init__.py:6526 ../yum/__init__.py:6673
+msgid " aborting."
+msgstr " afslutter."
+
+#: ../cli.py:588
 msgid "Exiting on user Command"
 msgstr "Afslutter efter brugerens ønske"
 
-#: ../cli.py:501
+#: ../cli.py:592
 msgid "Downloading Packages:"
 msgstr "Henter pakker:"
 
-#: ../cli.py:506
+#: ../cli.py:597
 msgid "Error Downloading Packages:\n"
 msgstr "Fejl ved hentning af pakker:\n"
 
-#: ../cli.py:525 ../yum/__init__.py:4967
+#: ../cli.py:616 ../yum/__init__.py:6215
 msgid "Running Transaction Check"
-msgstr ""
+msgstr "Kører overførselskontrol"
 
-#: ../cli.py:534 ../yum/__init__.py:4976
+#: ../cli.py:625 ../yum/__init__.py:6224
 msgid "ERROR You need to update rpm to handle:"
 msgstr "FEJL Du skal opdatere RPM for at håndtere:"
 
-#: ../cli.py:536 ../yum/__init__.py:4979
+#: ../cli.py:627 ../yum/__init__.py:6227
 msgid "ERROR with transaction check vs depsolve:"
-msgstr ""
+msgstr "FEJL med overførselskontrol vs depsolve"
 
-#: ../cli.py:542
+#: ../cli.py:633
 msgid "RPM needs to be updated"
 msgstr "RPM skal opdateres"
 
-#: ../cli.py:543
+#: ../cli.py:634
 #, python-format
 msgid "Please report this error in %s"
 msgstr "Rapportér venligst denne fejl i %s"
 
-#: ../cli.py:549
+#: ../cli.py:640
 msgid "Running Transaction Test"
 msgstr "Kører overførselstest"
 
-#: ../cli.py:561
+#: ../cli.py:652
 msgid "Transaction Check Error:\n"
 msgstr "Fejl i overførselskontrol:\n"
 
-#: ../cli.py:568
+#: ../cli.py:659
 msgid "Transaction Test Succeeded"
 msgstr "Overførselstest afsluttet uden fejl"
 
-#: ../cli.py:600
+#: ../cli.py:691
 msgid "Running Transaction"
 msgstr "Kører overførsel"
 
-#: ../cli.py:630
+#: ../cli.py:724
 msgid ""
 "Refusing to automatically import keys when running unattended.\n"
 "Use \"-y\" to override."
-msgstr ""
-"Afviser automatisk importering af nøgler ved baggrundskørsel.\n"
-"Brug \"-y\" til at overskrive."
+msgstr "Afviser automatisk importering af nøgler ved baggrundskørsel.\nBrug \"-y\" til at overskrive."
 
-#: ../cli.py:649 ../cli.py:692
+#: ../cli.py:743 ../cli.py:786
 msgid "  * Maybe you meant: "
 msgstr "  * Du mente måske: "
 
-#: ../cli.py:675 ../cli.py:683
+#: ../cli.py:769 ../cli.py:777
 #, python-format
 msgid "Package(s) %s%s%s available, but not installed."
 msgstr "Pakke(r) %s%s%s tilgængelig(e), men ikke installeret."
 
-#: ../cli.py:689 ../cli.py:722 ../cli.py:908
+#: ../cli.py:783 ../cli.py:891 ../cli.py:1158
 #, python-format
 msgid "No package %s%s%s available."
 msgstr "Pakken %s%s%s er ikke tilgængelig."
 
-#: ../cli.py:729 ../cli.py:973
-msgid "Package(s) to install"
-msgstr "Pakke(r) til installation"
+#: ../cli.py:871 ../cli.py:881 ../cli.py:1101 ../cli.py:1111
+#, python-format
+msgid "Bad %s argument %s."
+msgstr ""
 
-#: ../cli.py:732 ../cli.py:733 ../cli.py:914 ../cli.py:948 ../cli.py:974
-#: ../yumcommands.py:190
+#: ../cli.py:900 ../yumcommands.py:3331
+#, python-format
+msgid "%d package to install"
+msgid_plural "%d packages to install"
+msgstr[0] "%d pakke at installere"
+msgstr[1] "%d pakker at installere"
+
+#: ../cli.py:903 ../cli.py:904 ../cli.py:1169 ../cli.py:1170 ../cli.py:1224
+#: ../cli.py:1225 ../cli.py:1260 ../yumcommands.py:323 ../yumcommands.py:3419
 msgid "Nothing to do"
 msgstr "Intet at udføre"
 
-#: ../cli.py:767
+#: ../cli.py:953
 #, python-format
-msgid "%d packages marked for Update"
-msgstr "%d pakker markeret til opdatering"
+msgid "%d package marked for Update"
+msgid_plural "%d packages marked for Update"
+msgstr[0] "%d pakke markeret til opdatering"
+msgstr[1] "%d pakker markeret til opdatering"
 
-#: ../cli.py:770
+#: ../cli.py:955
 msgid "No Packages marked for Update"
 msgstr "Ingen pakker markeret til opdatering"
 
-#: ../cli.py:866
+#: ../cli.py:1067
 #, python-format
-msgid "%d packages marked for Distribution Synchronization"
-msgstr "%d pakker er markeret til distributionssynkronisering"
+msgid "%d package marked for Distribution Synchronization"
+msgid_plural "%d packages marked for Distribution Synchronization"
+msgstr[0] "%d pakke markeret til distributionssynkronisering"
+msgstr[1] "%d pakker markeret til distributionssynkronisering"
 
-#: ../cli.py:869
+#: ../cli.py:1069
 msgid "No Packages marked for Distribution Synchronization"
 msgstr "Ingen pakker er markeret til distributionssynkronisering"
 
-#: ../cli.py:885
+#: ../cli.py:1124
 #, python-format
-msgid "%d packages marked for removal"
-msgstr "%d pakker markeret til fjernelse"
+msgid "%d package marked for removal"
+msgid_plural "%d packages marked for removal"
+msgstr[0] "%d pakke markeret til fjernelse"
+msgstr[1] "%d pakker markeret til fjernelse"
 
-#: ../cli.py:888
+#: ../cli.py:1126
 msgid "No Packages marked for removal"
 msgstr "Ingen pakker markeret til fjernelse"
 
-#: ../cli.py:913
-msgid "Package(s) to downgrade"
-msgstr "Pakke(r) til nedgradering"
+#: ../cli.py:1166
+#, python-format
+msgid "%d package to downgrade"
+msgid_plural "%d packages to downgrade"
+msgstr[0] "%d pakke at nedgradere"
+msgstr[1] "%d pakker at nedgradere"
 
-#: ../cli.py:938
+#: ../cli.py:1207
 #, python-format
 msgid " (from %s)"
 msgstr " (fra %s)"
 
-#: ../cli.py:939
+#: ../cli.py:1208
 #, python-format
 msgid "Installed package %s%s%s%s not available."
 msgstr "Installeret pakke %s%s%s%s er ikke tilgængelig."
 
-#: ../cli.py:947
-msgid "Package(s) to reinstall"
-msgstr "Pakke(r) til geninstallation"
+#: ../cli.py:1221
+#, python-format
+msgid "%d package to reinstall"
+msgid_plural "%d packages to reinstall"
+msgstr[0] "%d pakke at geninstallere"
+msgstr[1] "%d pakker at geninstallere"
 
-#: ../cli.py:960
+#: ../cli.py:1246
 msgid "No Packages Provided"
 msgstr "Ingen pakker angivet"
 
-#: ../cli.py:1058
+#: ../cli.py:1259
+msgid "Package(s) to install"
+msgstr "Pakke(r) til installation"
+
+#: ../cli.py:1367
 #, python-format
 msgid "N/S Matched: %s"
-msgstr ""
+msgstr "N/s matchede: %s"
 
-#: ../cli.py:1075
+#: ../cli.py:1384
 #, python-format
 msgid "  Name and summary matches %sonly%s, use \"search all\" for everything."
-msgstr ""
+msgstr "  Navn og resumé matchede, brug %skun%s \"search all\" til alting."
 
-#: ../cli.py:1077
+#: ../cli.py:1386
 #, python-format
 msgid ""
 "  Full name and summary matches %sonly%s, use \"search all\" for everything."
-msgstr ""
+msgstr "  Fulde navn og resumé matchede %skun%s, brug \"search all\" for alting."
 
-#: ../cli.py:1095
+#: ../cli.py:1404
 #, python-format
 msgid "Matched: %s"
 msgstr "Matchede: %s"
 
-#: ../cli.py:1102
+#: ../cli.py:1411
 #, python-format
 msgid "  Name and summary matches %smostly%s, use \"search all\" for everything."
-msgstr ""
+msgstr "  Navn og resumé matchede %snæsten%s, brug \"search all\" for alting."
 
-#: ../cli.py:1106
+#: ../cli.py:1415
 #, python-format
 msgid "Warning: No matches found for: %s"
 msgstr "Advarsel: Ingen match blev fundet for: %s"
 
-#: ../cli.py:1109
+#: ../cli.py:1418
 msgid "No Matches found"
 msgstr "Ingen match fundet"
 
-#: ../cli.py:1174
+#: ../cli.py:1536
 #, python-format
-msgid "No Package Found for %s"
-msgstr "Ingen pakke fundet for %s"
+msgid ""
+"Error: No Packages found for:\n"
+"  %s"
+msgstr "Fejl: Ingen pakker fundet for:\n%s"
 
-#: ../cli.py:1184
+#: ../cli.py:1572
 msgid "Cleaning repos: "
 msgstr "Oprydder pakkearkiver: "
 
-#: ../cli.py:1189
+#: ../cli.py:1577
 msgid "Cleaning up Everything"
 msgstr "Oprydning af alt"
 
-#: ../cli.py:1205
+#: ../cli.py:1593
 msgid "Cleaning up Headers"
 msgstr "Oprydning af headerfiler"
 
-#: ../cli.py:1208
+#: ../cli.py:1596
 msgid "Cleaning up Packages"
 msgstr "Oprydning af pakker"
 
-#: ../cli.py:1211
+#: ../cli.py:1599
 msgid "Cleaning up xml metadata"
 msgstr "Oprydning af xml-metadata"
 
-#: ../cli.py:1214
+#: ../cli.py:1602
 msgid "Cleaning up database cache"
 msgstr "Oprydning af mellemlager til database"
 
-#: ../cli.py:1217
+#: ../cli.py:1605
 msgid "Cleaning up expire-cache metadata"
 msgstr "Oprydning af udløbet mellemlager til metadata"
 
-#: ../cli.py:1220
+#: ../cli.py:1608
 msgid "Cleaning up cached rpmdb data"
 msgstr "Rydder mellemlagret rpmdb-data op"
 
-#: ../cli.py:1223
+#: ../cli.py:1611
 msgid "Cleaning up plugins"
 msgstr "Oprydning af udvidelsesmoduler"
 
-#: ../cli.py:1247
-#, python-format
-msgid "Warning: No groups match: %s"
+#: ../cli.py:1727
+msgid "Installed Environment Groups:"
+msgstr ""
+
+#: ../cli.py:1728
+msgid "Available Environment Groups:"
 msgstr ""
 
-#: ../cli.py:1264
+#: ../cli.py:1735
 msgid "Installed Groups:"
 msgstr "Installerede grupper:"
 
-#: ../cli.py:1270
+#: ../cli.py:1742
 msgid "Installed Language Groups:"
-msgstr ""
+msgstr "Installerede sproggruppper:"
 
-#: ../cli.py:1276
+#: ../cli.py:1749
 msgid "Available Groups:"
 msgstr "Tilgængelige grupper:"
 
-#: ../cli.py:1282
+#: ../cli.py:1756
 msgid "Available Language Groups:"
+msgstr "Tilgængelige sproggrupper:"
+
+#: ../cli.py:1759
+#, python-format
+msgid "Warning: No Environments/Groups match: %s"
 msgstr ""
 
-#: ../cli.py:1285
+#: ../cli.py:1763
 msgid "Done"
 msgstr "Afsluttet"
 
-#: ../cli.py:1296 ../cli.py:1314 ../cli.py:1320 ../yum/__init__.py:3313
+#: ../cli.py:1818
+#, python-format
+msgid "Warning: Group/Environment %s does not exist."
+msgstr ""
+
+#: ../cli.py:1859
+#, python-format
+msgid "Warning: Environment %s does not exist."
+msgstr ""
+
+#: ../cli.py:1873 ../cli.py:1879 ../yum/__init__.py:4254
 #, python-format
 msgid "Warning: Group %s does not exist."
 msgstr "Advarsel: Gruppen %s findes ikke."
 
-#: ../cli.py:1324
+#: ../cli.py:1883
 msgid "No packages in any requested group available to install or update"
-msgstr ""
-"Ingen pakke i nogen de efterspurgte grupper, er tilgængelige til "
-"installation eller opdatering"
+msgstr "Ingen pakke i nogen de efterspurgte grupper, er tilgængelige til installation eller opdatering"
 
-#: ../cli.py:1326
+#: ../cli.py:1885
 #, python-format
-msgid "%d Package(s) to Install"
-msgstr "%d pakke(r) til installation"
+msgid "%d package to Install"
+msgid_plural "%d packages to Install"
+msgstr[0] "%d pakke at installere"
+msgstr[1] "%d pakker at installere"
+
+#: ../cli.py:1919 ../yum/__init__.py:3536 ../yum/__init__.py:3766
+#: ../yum/__init__.py:3824
+#, python-format
+msgid "No Environment named %s exists"
+msgstr ""
 
-#: ../cli.py:1336 ../yum/__init__.py:3325
+#: ../cli.py:1935 ../yum/__init__.py:4282
 #, python-format
 msgid "No group named %s exists"
 msgstr "Gruppen %s findes ikke"
 
-#: ../cli.py:1342
+#: ../cli.py:1945
 msgid "No packages to remove from groups"
 msgstr "Ingen pakker at fjerne fra grupper"
 
-#: ../cli.py:1344
+#: ../cli.py:1947 ../yumcommands.py:3351
 #, python-format
-msgid "%d Package(s) to remove"
-msgstr "%d pakke(r) til fjernelse"
+msgid "%d package to remove"
+msgid_plural "%d packages to remove"
+msgstr[0] "%d pakke at fjerne"
+msgstr[1] "%d pakker at fjerne"
 
-#: ../cli.py:1386
+#: ../cli.py:1988
 #, python-format
 msgid "Package %s is already installed, skipping"
 msgstr "Pakken %s er allerede installeret, springer over"
 
-#: ../cli.py:1397
+#: ../cli.py:1999
 #, python-format
 msgid "Discarding non-comparable pkg %s.%s"
 msgstr "Ser bort fra ikke-kompatibel pakke %s.%s"
 
 #. we've not got any installed that match n or n+a
-#: ../cli.py:1423
+#: ../cli.py:2025
 #, python-format
 msgid "No other %s installed, adding to list for potential install"
-msgstr ""
-"Ingen andre %s er installeret, tilføjer til liste til mulig installation"
+msgstr "Ingen andre %s er installeret, tilføjer til liste til mulig installation"
 
-#: ../cli.py:1443
+#: ../cli.py:2045
 msgid "Plugin Options"
 msgstr "Indstillinger til udvidelsesmodul"
 
-#: ../cli.py:1451
+#: ../cli.py:2057
 #, python-format
 msgid "Command line error: %s"
 msgstr "Kommandoliniefejl: %s"
 
-#: ../cli.py:1467
+#: ../cli.py:2079
 #, python-format
 msgid ""
 "\n"
 "\n"
 "%s: %s option requires an argument"
-msgstr ""
-"\n"
-"\n"
-"%s: %s indstilling kræver et argument"
+msgstr "\n\n%s: %s indstilling kræver et argument"
 
-#: ../cli.py:1521
+#: ../cli.py:2147
 msgid "--color takes one of: auto, always, never"
 msgstr "--color tager en af: auto, altid, aldrig"
 
 #. We have a relative installroot ... haha
-#: ../cli.py:1596
+#: ../cli.py:2218
 #, python-format
 msgid "--installroot must be an absolute path: %s"
-msgstr ""
+msgstr "--installroot skal være en komplet sti: %s"
 
-#: ../cli.py:1642
+#: ../cli.py:2272
 msgid "show this help message and exit"
 msgstr "vis denne hjælpemeddelse og afslut"
 
-#: ../cli.py:1646
+#: ../cli.py:2276
 msgid "be tolerant of errors"
 msgstr "vær fejltolerant"
 
-#: ../cli.py:1649
+#: ../cli.py:2279
 msgid "run entirely from system cache, don't update cache"
 msgstr "kør udelukkende fra systemmellemlager, opdatér ikke mellemlager"
 
-#: ../cli.py:1652
+#: ../cli.py:2282
 msgid "config file location"
 msgstr "placering af konfigurationsfil"
 
-#: ../cli.py:1655
+#: ../cli.py:2285
 msgid "maximum command wait time"
 msgstr "maksimal ventetid på kommando"
 
-#: ../cli.py:1657
+#: ../cli.py:2287
 msgid "debugging output level"
 msgstr "debug-visningsniveau"
 
-#: ../cli.py:1661
+#: ../cli.py:2291
 msgid "show duplicates, in repos, in list/search commands"
 msgstr "vis gengangere, i pakkearkiver, i list/search-kommandoer"
 
-#: ../cli.py:1663
+#: ../cli.py:2296
 msgid "error output level"
 msgstr "fejlvisningsniveau"
 
-#: ../cli.py:1666
+#: ../cli.py:2299
 msgid "debugging output level for rpm"
 msgstr "outputniveau for fejlsøgning af rpm"
 
-#: ../cli.py:1669
+#: ../cli.py:2302
 msgid "quiet operation"
 msgstr "stille operation"
 
-#: ../cli.py:1671
+#: ../cli.py:2304
 msgid "verbose operation"
 msgstr "uddybende operation"
 
-#: ../cli.py:1673
+#: ../cli.py:2306
 msgid "answer yes for all questions"
 msgstr "svar ja til alle spørgsmål"
 
-#: ../cli.py:1675
+#: ../cli.py:2308
+msgid "answer no for all questions"
+msgstr "svar nej til alle spørgsmål"
+
+#: ../cli.py:2312
 msgid "show Yum version and exit"
 msgstr "vis Yum-version og afslut"
 
-#: ../cli.py:1676
+#: ../cli.py:2313
 msgid "set install root"
 msgstr "sæt installationsroden"
 
-#: ../cli.py:1680
+#: ../cli.py:2317
 msgid "enable one or more repositories (wildcards allowed)"
 msgstr "aktivér en eller flere pakkearkiver (wildcards er tilladt)"
 
-#: ../cli.py:1684
+#: ../cli.py:2321
 msgid "disable one or more repositories (wildcards allowed)"
 msgstr "deaktivér en eller flere pakkearkiver (wildcards er tilladt)"
 
-#: ../cli.py:1687
+#: ../cli.py:2324
 msgid "exclude package(s) by name or glob"
 msgstr "ekskludér pakke(r) med navn eller klump"
 
-#: ../cli.py:1689
+#: ../cli.py:2326
 msgid "disable exclude from main, for a repo or for everything"
 msgstr "deaktivér ekskludering fra main, for et pakkearkiv eller for alt"
 
-#: ../cli.py:1692
+#: ../cli.py:2329
 msgid "enable obsoletes processing during updates"
 msgstr "aktivér overflødiggørelse under behandling af opdateringer"
 
-#: ../cli.py:1694
+#: ../cli.py:2331
 msgid "disable Yum plugins"
 msgstr "deaktivér Yum-udvidelsesmoduler"
 
-#: ../cli.py:1696
+#: ../cli.py:2333
 msgid "disable gpg signature checking"
 msgstr "deaktivér kontrol af gpg-signaturer"
 
-#: ../cli.py:1698
+#: ../cli.py:2335
 msgid "disable plugins by name"
 msgstr "deaktivér udvidelsesmoduler ved navn"
 
-#: ../cli.py:1701
+#: ../cli.py:2338
 msgid "enable plugins by name"
 msgstr "aktivér udvidelsesmoduler ved navn"
 
-#: ../cli.py:1704
+#: ../cli.py:2341
 msgid "skip packages with depsolving problems"
 msgstr "spring pakker med afhængighedsproblemer over"
 
-#: ../cli.py:1706
+#: ../cli.py:2343
 msgid "control whether color is used"
 msgstr "kontrollér om farve er brugt"
 
-#: ../cli.py:1708
+#: ../cli.py:2345
 msgid "set value of $releasever in yum config and repo files"
+msgstr "indstil værdi for $releaseever i yum-konfiguration og pakkearkivsfiler"
+
+#: ../cli.py:2347
+msgid "don't update, just download"
+msgstr ""
+
+#: ../cli.py:2349
+msgid "specifies an alternate directory to store packages"
 msgstr ""
-"indstil værdi for $releaseever i yum-konfiguration og pakkearkivsfiler"
 
-#: ../cli.py:1710
+#: ../cli.py:2351
 msgid "set arbitrary config and repo options"
 msgstr "indstil arbitrærkonfiguration og indstillinger for pakkearkiv"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Jan"
 msgstr "Jan"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Feb"
 msgstr "Feb"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Mar"
 msgstr "Mar"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Apr"
 msgstr "Apr"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "May"
 msgstr "Maj"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Jun"
 msgstr "Jun"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Jul"
 msgstr "Jul"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Aug"
 msgstr "Aug"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Sep"
 msgstr "Sep"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Oct"
 msgstr "Okt"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Nov"
 msgstr "Nov"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Dec"
 msgstr "Dec"
 
-#: ../output.py:318
+#: ../output.py:473
 msgid "Trying other mirror."
 msgstr "Prøver et andet filspejl."
 
-#: ../output.py:581
+#: ../output.py:816
 #, python-format
 msgid "Name        : %s%s%s"
 msgstr "Navn        : %s%s%s"
 
-#: ../output.py:582
+#: ../output.py:817
 #, python-format
 msgid "Arch        : %s"
 msgstr "Arkitektur        : %s"
 
-#: ../output.py:584
+#: ../output.py:819
 #, python-format
 msgid "Epoch       : %s"
 msgstr "Epoch       : %s"
 
-#: ../output.py:585
+#: ../output.py:820
 #, python-format
 msgid "Version     : %s"
 msgstr "Version     : %s"
 
-#: ../output.py:586
+#: ../output.py:821
 #, python-format
 msgid "Release     : %s"
 msgstr "Udgivelse     : %s"
 
-#: ../output.py:587
+#: ../output.py:822
 #, python-format
 msgid "Size        : %s"
 msgstr "Størrelse        : %s"
 
-#: ../output.py:588 ../output.py:900
+#: ../output.py:823 ../output.py:1329
 #, python-format
 msgid "Repo        : %s"
 msgstr "Kilde       : %s"
 
-#: ../output.py:590
+#: ../output.py:825
 #, python-format
 msgid "From repo   : %s"
 msgstr "Fra pakkearkiv   : %s"
 
-#: ../output.py:592
+#: ../output.py:827
 #, python-format
 msgid "Committer   : %s"
 msgstr "Tilføjer   : %s"
 
-#: ../output.py:593
+#: ../output.py:828
 #, python-format
 msgid "Committime  : %s"
 msgstr "Tilføjelsestidspunkt  : %s"
 
-#: ../output.py:594
+#: ../output.py:829
 #, python-format
 msgid "Buildtime   : %s"
 msgstr "Bygningstidspunkt   : %s"
 
-#: ../output.py:596
+#: ../output.py:831
 #, python-format
 msgid "Install time: %s"
 msgstr "Installationstid: %s"
 
-#: ../output.py:604
+#: ../output.py:839
 #, python-format
 msgid "Installed by: %s"
 msgstr "Installeret af: %s"
 
-#: ../output.py:611
+#: ../output.py:846
 #, python-format
 msgid "Changed by  : %s"
 msgstr "Ændret af  : %s"
 
-#: ../output.py:612
+#: ../output.py:847
 msgid "Summary     : "
 msgstr "Beskrivelse     : "
 
-#: ../output.py:614 ../output.py:913
+#: ../output.py:849 ../output.py:1345
 #, python-format
 msgid "URL         : %s"
 msgstr "URL         : %s"
 
-#: ../output.py:615
+#: ../output.py:850
 msgid "License     : "
 msgstr "Licens     : "
 
-#: ../output.py:616 ../output.py:910
+#: ../output.py:851 ../output.py:1342
 msgid "Description : "
 msgstr "Beskrivelse : "
 
-#: ../output.py:684
+#: ../output.py:969
 msgid "y"
 msgstr "j"
 
-#: ../output.py:684
+#: ../output.py:969
 msgid "yes"
 msgstr "ja"
 
-#: ../output.py:685
+#: ../output.py:970
 msgid "n"
 msgstr "n"
 
-#: ../output.py:685
+#: ../output.py:970
 msgid "no"
 msgstr "nej"
 
-#: ../output.py:689
+#: ../output.py:974
 msgid "Is this ok [y/N]: "
 msgstr "Er dette o.k? [j/N]: "
 
-#: ../output.py:777
+#: ../output.py:1097
 #, python-format
 msgid ""
 "\n"
 "Group: %s"
-msgstr ""
-"\n"
-"Gruppe: %s"
+msgstr "\nGruppe: %s"
 
-#: ../output.py:781
+#: ../output.py:1101
 #, python-format
 msgid " Group-Id: %s"
 msgstr " Gruppeid: %s"
 
-#: ../output.py:786
+#: ../output.py:1122 ../output.py:1169
 #, python-format
 msgid " Description: %s"
 msgstr " Beskrivelse: %s"
 
-#: ../output.py:788
+#: ../output.py:1124
 #, python-format
 msgid " Language: %s"
-msgstr ""
+msgstr " Sprog: %s"
 
-#: ../output.py:790
+#: ../output.py:1126
 msgid " Mandatory Packages:"
 msgstr " Tvungne pakker:"
 
-#: ../output.py:791
+#: ../output.py:1127
 msgid " Default Packages:"
 msgstr " Standardpakker:"
 
-#: ../output.py:792
+#: ../output.py:1128
 msgid " Optional Packages:"
 msgstr " Valgfrie pakker:"
 
-#: ../output.py:793
+#: ../output.py:1129
 msgid " Conditional Packages:"
 msgstr " Afhængige pakker:"
 
-#: ../output.py:814
+#: ../output.py:1147
+msgid " Installed Packages:"
+msgstr "Installerede pakker:"
+
+#: ../output.py:1157
+#, python-format
+msgid ""
+"\n"
+"Environment Group: %s"
+msgstr ""
+
+#: ../output.py:1158
+#, python-format
+msgid " Environment-Id: %s"
+msgstr ""
+
+#: ../output.py:1191
+msgid " Mandatory Groups:"
+msgstr ""
+
+#: ../output.py:1192
+msgid " Optional Groups:"
+msgstr ""
+
+#: ../output.py:1205
+msgid " Installed Groups:"
+msgstr ""
+
+#: ../output.py:1217
 #, python-format
 msgid "package: %s"
 msgstr "pakke: %s"
 
-#: ../output.py:816
+#: ../output.py:1219
 msgid "  No dependencies for this package"
 msgstr "  Ingen afhængigheder for denne pakke"
 
-#: ../output.py:821
+#: ../output.py:1224
 #, python-format
 msgid "  dependency: %s"
 msgstr "  afhængighed: %s"
 
-#: ../output.py:823
+#: ../output.py:1226
 msgid "   Unsatisfied dependency"
 msgstr "   Ufuldendt afhængighed"
 
-#: ../output.py:901
+#: ../output.py:1337
 msgid "Matched from:"
 msgstr "Matchet af:"
 
-#: ../output.py:916
+#: ../output.py:1348
 #, python-format
 msgid "License     : %s"
 msgstr "Licens      : %s"
 
-#: ../output.py:919
+#: ../output.py:1351
 #, python-format
 msgid "Filename    : %s"
 msgstr "Filnavn     : %s"
 
-#: ../output.py:923
+#: ../output.py:1360
+msgid "Provides    : "
+msgstr "Udbyder    : "
+
+#: ../output.py:1363
 msgid "Other       : "
 msgstr "Andre       : "
 
-#: ../output.py:966
+#: ../output.py:1426
 msgid "There was an error calculating total download size"
 msgstr "Der opstod en fejl i beregning af den totale nedhentningsstørrelse"
 
-#: ../output.py:971
+#: ../output.py:1431
 #, python-format
 msgid "Total size: %s"
 msgstr "Total størrelse: %s"
 
-#: ../output.py:974
+#: ../output.py:1433
 #, python-format
 msgid "Total download size: %s"
 msgstr "Total nedhentningsstørrelse: %s"
 
-#: ../output.py:978 ../output.py:998
+#: ../output.py:1436 ../output.py:1459 ../output.py:1463
 #, python-format
 msgid "Installed size: %s"
 msgstr "Installationsstørrelse: %s"
 
-#: ../output.py:994
+#: ../output.py:1454
 msgid "There was an error calculating installed size"
 msgstr "Der opstod en fejl ved udregning af installeret størrelse"
 
-#: ../output.py:1039
+#: ../output.py:1504
 msgid "Reinstalling"
 msgstr "Geninstallerer"
 
-#: ../output.py:1040
+#: ../output.py:1505
 msgid "Downgrading"
 msgstr "Nedgraderer"
 
-#: ../output.py:1041
+#: ../output.py:1506
 msgid "Installing for dependencies"
 msgstr "Installerer til afhængigheder"
 
-#: ../output.py:1042
+#: ../output.py:1507
 msgid "Updating for dependencies"
 msgstr "Opdaterer til afhængigheder"
 
-#: ../output.py:1043
+#: ../output.py:1508
 msgid "Removing for dependencies"
 msgstr "Fjerner for afhængigheder"
 
-#: ../output.py:1050 ../output.py:1171
+#: ../output.py:1515 ../output.py:1576 ../output.py:1672
 msgid "Skipped (dependency problems)"
 msgstr "Sprunget over (afhængighedsproblemer)"
 
-#: ../output.py:1052 ../output.py:1687
+#: ../output.py:1517 ../output.py:1577 ../output.py:2223
 msgid "Not installed"
 msgstr "Ikke installeret"
 
-#: ../output.py:1053
+#: ../output.py:1518 ../output.py:1578
 msgid "Not available"
-msgstr ""
+msgstr "Ikke tilgængelig"
 
-#: ../output.py:1075 ../output.py:2024
+#: ../output.py:1540 ../output.py:1588 ../output.py:1604 ../output.py:2581
 msgid "Package"
-msgstr "Pakke"
+msgid_plural "Packages"
+msgstr[0] "Pakke"
+msgstr[1] "Pakker"
 
-#: ../output.py:1075
+#: ../output.py:1540
 msgid "Arch"
 msgstr "Arkitektur"
 
-#: ../output.py:1076
+#: ../output.py:1541
 msgid "Version"
 msgstr "Version"
 
-#: ../output.py:1076
+#: ../output.py:1541
 msgid "Repository"
 msgstr "Pakkearkiv"
 
-#: ../output.py:1077
+#: ../output.py:1542
 msgid "Size"
 msgstr "Størrelse"
 
-#: ../output.py:1089
+#: ../output.py:1554
 #, python-format
 msgid "     replacing  %s%s%s.%s %s\n"
 msgstr "     erstatter  %s%s%s.%s %s\n"
 
-#: ../output.py:1098
+#: ../output.py:1563
 #, python-format
 msgid ""
 "\n"
 "Transaction Summary\n"
 "%s\n"
-msgstr ""
-"\n"
-"Overførselsopsummering\n"
-"%s\n"
+msgstr "\nOverførselsopsummering\n%s\n"
 
-#: ../output.py:1109
-#, python-format
-msgid "Install   %5.5s Package(s)\n"
-msgstr "Installér   %5.5s pakke(r)\n"
+#: ../output.py:1568 ../output.py:2376 ../output.py:2377
+msgid "Install"
+msgstr "Installér"
 
-#: ../output.py:1113
-#, python-format
-msgid "Upgrade   %5.5s Package(s)\n"
-msgstr "Opgradér   %5.5s pakke(r)\n"
+#: ../output.py:1570
+msgid "Upgrade"
+msgstr "Opgradér"
 
-#: ../output.py:1117
-#, python-format
-msgid "Remove    %5.5s Package(s)\n"
-msgstr "Fjern    %5.5s pakke(r)\n"
+#: ../output.py:1572
+msgid "Remove"
+msgstr "Fjern"
 
-#: ../output.py:1121
-#, python-format
-msgid "Reinstall %5.5s Package(s)\n"
-msgstr "Geninstallér %5.5s pakke(r)\n"
+#: ../output.py:1574 ../output.py:2382
+msgid "Reinstall"
+msgstr "Geninstallér"
 
-#: ../output.py:1125
-#, python-format
-msgid "Downgrade %5.5s Package(s)\n"
-msgstr "Nedgradér %5.5s pakke(r)\n"
+#: ../output.py:1575 ../output.py:2383
+msgid "Downgrade"
+msgstr "Nedgradér"
+
+#: ../output.py:1606
+msgid "Dependent package"
+msgid_plural "Dependent packages"
+msgstr[0] "Afhængighedspakke"
+msgstr[1] "Afhængighedspakker"
 
-#: ../output.py:1165
+#: ../output.py:1666
 msgid "Removed"
 msgstr "Fjernet"
 
-#: ../output.py:1166
+#: ../output.py:1667
 msgid "Dependency Removed"
 msgstr "Afhængighed fjernet"
 
-#: ../output.py:1168
+#: ../output.py:1669
 msgid "Dependency Installed"
 msgstr "Afhængighed installeret"
 
-#: ../output.py:1170
+#: ../output.py:1671
 msgid "Dependency Updated"
 msgstr "Afhængighed opdateret"
 
-#: ../output.py:1172
+#: ../output.py:1673
 msgid "Replaced"
 msgstr "Erstattet"
 
-#: ../output.py:1173
+#: ../output.py:1674
 msgid "Failed"
 msgstr "Fejlede"
 
 #. Delta between C-c's so we treat as exit
-#: ../output.py:1260
+#: ../output.py:1764
 msgid "two"
 msgstr "to"
 
 #. For translators: This is output like:
 #. Current download cancelled, interrupt (ctrl-c) again within two seconds
 #. to exit.
-#. Where "interupt (ctrl-c) again" and "two" are highlighted.
-#: ../output.py:1271
+#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
+#: ../output.py:1775
 #, python-format
 msgid ""
 "\n"
 " Current download cancelled, %sinterrupt (ctrl-c) again%s within %s%s%s seconds\n"
 "to exit.\n"
-msgstr ""
-"\n"
-" Nuværende hentning afbrudt, %safbryd (ctrl-c) igen%s indenfor %s%s%s sekunder\n"
-"for at afslutte.\n"
+msgstr "\n Nuværende hentning afbrudt, %safbryd (ctrl-c) igen%s indenfor %s%s%s sekunder\nfor at afslutte.\n"
 
-#: ../output.py:1282
+#: ../output.py:1786
 msgid "user interrupt"
 msgstr "afsluttet af bruger"
 
-#: ../output.py:1300
+#: ../output.py:1812
 msgid "Total"
 msgstr "Ialt"
 
-#: ../output.py:1322
+#: ../output.py:1834
 msgid "I"
 msgstr "I"
 
-#: ../output.py:1323
+#: ../output.py:1835
 msgid "O"
 msgstr "O"
 
-#: ../output.py:1324
+#: ../output.py:1836
 msgid "E"
 msgstr "E"
 
-#: ../output.py:1325
+#: ../output.py:1837
 msgid "R"
 msgstr "R"
 
-#: ../output.py:1326
+#: ../output.py:1838
 msgid "D"
 msgstr "D"
 
-#: ../output.py:1327
+#: ../output.py:1839
 msgid "U"
 msgstr "U"
 
-#: ../output.py:1341
+#: ../output.py:1853
 msgid "<unset>"
 msgstr "<ikke angivet>"
 
-#: ../output.py:1342
+#: ../output.py:1854
 msgid "System"
 msgstr "System"
 
-#: ../output.py:1411
+#: ../output.py:1923
 #, python-format
 msgid "Skipping merged transaction %d to %d, as it overlaps"
-msgstr ""
+msgstr "Overspringer sammenflettet overførsel %d til %d, eftersom den overlapper"
 
-#: ../output.py:1421 ../output.py:1592
+#: ../output.py:1933 ../output.py:2125
 msgid "No transactions"
-msgstr ""
+msgstr "Ingen overførsler"
 
-#: ../output.py:1446 ../output.py:2013
+#: ../output.py:1958 ../output.py:2570 ../output.py:2660
 msgid "Bad transaction IDs, or package(s), given"
 msgstr "Dårlige overførsels-id'er eller pakker givet"
 
-#: ../output.py:1484
+#: ../output.py:2007
 msgid "Command line"
-msgstr ""
+msgstr "Kommandolinje"
 
-#: ../output.py:1486 ../output.py:1908
+#: ../output.py:2009 ../output.py:2458
 msgid "Login user"
 msgstr "Log bruger ind"
 
 #. REALLY Needs to use columns!
-#: ../output.py:1487 ../output.py:2022
+#: ../output.py:2010 ../output.py:2579
 msgid "ID"
 msgstr "ID"
 
-#: ../output.py:1489
+#: ../output.py:2012
 msgid "Date and time"
 msgstr "Dato og tid"
 
-#: ../output.py:1490 ../output.py:1910 ../output.py:2023
+#: ../output.py:2013 ../output.py:2460 ../output.py:2580
 msgid "Action(s)"
 msgstr "Handling(er)"
 
-#: ../output.py:1491 ../output.py:1911
+#: ../output.py:2014 ../output.py:2461
 msgid "Altered"
 msgstr "Ændret"
 
-#: ../output.py:1538
+#: ../output.py:2061
 msgid "No transaction ID given"
 msgstr "Intet overførsels-id givet"
 
-#: ../output.py:1564 ../output.py:1972
+#: ../output.py:2087 ../output.py:2526
 msgid "Bad transaction ID given"
 msgstr "Dårlig overførsels-id givet"
 
-#: ../output.py:1569
+#: ../output.py:2092
 msgid "Not found given transaction ID"
 msgstr "Det angivne overførsels-id ikke fundet"
 
-#: ../output.py:1577
+#: ../output.py:2100
 msgid "Found more than one transaction ID!"
 msgstr "Fandt mere end ét overførsels-id!"
 
-#: ../output.py:1618 ../output.py:1980
+#: ../output.py:2151 ../output.py:2534
 msgid "No transaction ID, or package, given"
 msgstr "Intet overførsels-id eller pakke givet"
 
-#: ../output.py:1686 ../output.py:1845
+#: ../output.py:2222 ../output.py:2384
 msgid "Downgraded"
 msgstr "Nedgraderet"
 
-#: ../output.py:1688
+#: ../output.py:2224
 msgid "Older"
 msgstr "Ældre"
 
-#: ../output.py:1688
+#: ../output.py:2224
 msgid "Newer"
 msgstr "Nyere"
 
-#: ../output.py:1724 ../output.py:1726
+#: ../output.py:2261 ../output.py:2263 ../output.py:2681
 msgid "Transaction ID :"
-msgstr "Overførsels-id:"
+msgstr "Overførsels-id :"
 
-#: ../output.py:1728
+#: ../output.py:2265 ../output.py:2683
 msgid "Begin time     :"
-msgstr "Starttidspunkt     :"
+msgstr "Starttidspunkt :"
 
-#: ../output.py:1731 ../output.py:1733
+#: ../output.py:2268 ../output.py:2270
 msgid "Begin rpmdb    :"
 msgstr "Start rpmdb    :"
 
-#: ../output.py:1749
+#: ../output.py:2286
 #, python-format
 msgid "(%u seconds)"
-msgstr ""
+msgstr "(%u sekunder)"
 
-#: ../output.py:1751
+#: ../output.py:2288
 #, python-format
 msgid "(%u minutes)"
-msgstr ""
+msgstr "(%u minutter)"
 
-#: ../output.py:1753
+#: ../output.py:2290
 #, python-format
 msgid "(%u hours)"
-msgstr ""
+msgstr "(%u timer)"
 
-#: ../output.py:1755
+#: ../output.py:2292
 #, python-format
 msgid "(%u days)"
-msgstr ""
+msgstr "(%u dage)"
 
-#: ../output.py:1756
+#: ../output.py:2293
 msgid "End time       :"
 msgstr "Sluttidspunkt       :"
 
-#: ../output.py:1759 ../output.py:1761
+#: ../output.py:2296 ../output.py:2298
 msgid "End rpmdb      :"
 msgstr "Slut rpmdb      :"
 
-#: ../output.py:1764 ../output.py:1766
+#: ../output.py:2301 ../output.py:2303
 msgid "User           :"
 msgstr "Bruger           :"
 
-#: ../output.py:1770 ../output.py:1773 ../output.py:1775 ../output.py:1777
-#: ../output.py:1779
+#: ../output.py:2307 ../output.py:2310 ../output.py:2312 ../output.py:2314
+#: ../output.py:2316
 msgid "Return-Code    :"
 msgstr "Returkode    :"
 
-#: ../output.py:1770 ../output.py:1775
+#: ../output.py:2307 ../output.py:2312
 msgid "Aborted"
 msgstr "Afbrudt"
 
-#: ../output.py:1773
+#: ../output.py:2310
 msgid "Failures:"
-msgstr ""
+msgstr "Fejl:"
 
-#: ../output.py:1777
+#: ../output.py:2314
 msgid "Failure:"
 msgstr "Fejl:"
 
-#: ../output.py:1779
+#: ../output.py:2316
 msgid "Success"
 msgstr "Succes"
 
-#: ../output.py:1784 ../output.py:1786
+#: ../output.py:2321 ../output.py:2323 ../output.py:2712
 msgid "Command Line   :"
 msgstr "Kommandolinje   :"
 
-#: ../output.py:1795
+#: ../output.py:2332
 #, python-format
 msgid "Additional non-default information stored: %d"
 msgstr "Yderligere ikke-standard information gemt: %d"
 
 #. This is _possible_, but not common
-#: ../output.py:1800
+#: ../output.py:2337
 msgid "Transaction performed with:"
-msgstr "Overførsel udført med"
+msgstr "Overførsel udført med:"
 
-#: ../output.py:1804
+#: ../output.py:2341
 msgid "Packages Altered:"
 msgstr "Pakker ændret:"
 
-#: ../output.py:1808
+#: ../output.py:2345
 msgid "Packages Skipped:"
 msgstr "Pakker sprunget over:"
 
-#: ../output.py:1814
+#: ../output.py:2353
 msgid "Rpmdb Problems:"
 msgstr "Problemer med rpmdb:"
 
-#: ../output.py:1825
+#: ../output.py:2364
 msgid "Scriptlet output:"
 msgstr "Scriptletoutput:"
 
-#: ../output.py:1831
+#: ../output.py:2370
 msgid "Errors:"
 msgstr "Fejl:"
 
-#: ../output.py:1837 ../output.py:1838
-msgid "Install"
-msgstr "Installér"
-
-#: ../output.py:1839
+#: ../output.py:2378
 msgid "Dep-Install"
 msgstr "Installér afhængigheder"
 
-#: ../output.py:1841
+#: ../output.py:2380
 msgid "Obsoleting"
 msgstr "Forælder"
 
-#: ../output.py:1842
+#: ../output.py:2381
 msgid "Erase"
 msgstr "Slet"
 
-#: ../output.py:1843
-msgid "Reinstall"
-msgstr "Geninstallér"
-
-#: ../output.py:1844
-msgid "Downgrade"
-msgstr "Nedgradér"
-
-#: ../output.py:1846
+#: ../output.py:2385
 msgid "Update"
 msgstr "Opdatér"
 
-#: ../output.py:1909
+#: ../output.py:2459
 msgid "Time"
 msgstr "Tid"
 
-#: ../output.py:1935
+#: ../output.py:2485
 msgid "Last day"
 msgstr "Sidste dag"
 
-#: ../output.py:1936
+#: ../output.py:2486
 msgid "Last week"
 msgstr "Sidste uge"
 
-#: ../output.py:1937
+#: ../output.py:2487
 msgid "Last 2 weeks"
 msgstr "Seneste to uger"
 
 #. US default :p
-#: ../output.py:1938
+#: ../output.py:2488
 msgid "Last 3 months"
 msgstr "Seneste tre måneder"
 
-#: ../output.py:1939
+#: ../output.py:2489
 msgid "Last 6 months"
 msgstr "Seneste seks måneder"
 
-#: ../output.py:1940
+#: ../output.py:2490
 msgid "Last year"
 msgstr "Sidste år"
 
-#: ../output.py:1941
+#: ../output.py:2491
 msgid "Over a year ago"
 msgstr "Over et år siden"
 
-#: ../output.py:1984
+#: ../output.py:2538
 #, python-format
 msgid "No Transaction %s found"
 msgstr "Ingen overførsel %s fundet"
 
-#: ../output.py:1990
+#: ../output.py:2544
 msgid "Transaction ID:"
 msgstr "Overførsels-id:"
 
-#: ../output.py:1991
+#: ../output.py:2545
 msgid "Available additional history information:"
 msgstr "Yderligere historikinformation tilgængelig:"
 
-#: ../output.py:2003
+#: ../output.py:2558
 #, python-format
 msgid "%s: No additional data found by this name"
 msgstr "%s: Intet yderligere data fundet med dette navn"
 
-#: ../output.py:2106
+#: ../output.py:2684
+msgid "Package        :"
+msgstr "Pakke          :"
+
+#: ../output.py:2685
+msgid "State          :"
+msgstr "Status         :"
+
+#: ../output.py:2688
+msgid "Size           :"
+msgstr "Størrelse      :"
+
+#: ../output.py:2690
+msgid "Build host     :"
+msgstr "Bygningsvært   :"
+
+#: ../output.py:2693
+msgid "Build time     :"
+msgstr "Bygningstid    :"
+
+#: ../output.py:2695
+msgid "Packager       :"
+msgstr "Pakker         :"
+
+#: ../output.py:2697
+msgid "Vendor         :"
+msgstr "Fabrikant      :"
+
+#: ../output.py:2699
+msgid "License        :"
+msgstr "Licens         :"
+
+#: ../output.py:2701
+msgid "URL            :"
+msgstr "URL            :"
+
+#: ../output.py:2703
+msgid "Source RPM     :"
+msgstr "Kilderpm       :"
+
+#: ../output.py:2706
+msgid "Commit Time    :"
+msgstr "Tilføjelsestid :"
+
+#: ../output.py:2708
+msgid "Committer      :"
+msgstr "Tilføjer       :"
+
+#: ../output.py:2710
+msgid "Reason         :"
+msgstr "Grund          :"
+
+#: ../output.py:2714
+msgid "From repo      :"
+msgstr "Fra pakkearkiv :"
+
+#: ../output.py:2718
+msgid "Installed by   :"
+msgstr "Installeret af :"
+
+#: ../output.py:2722
+msgid "Changed by     :"
+msgstr "Ændret af      :"
+
+#: ../output.py:2767
 msgid "installed"
 msgstr "installeret"
 
-#: ../output.py:2107
+#: ../output.py:2768
 msgid "an update"
-msgstr ""
+msgstr "en opdatering"
 
-#: ../output.py:2108
+#: ../output.py:2769
 msgid "erased"
 msgstr "slettet"
 
-#: ../output.py:2109
+#: ../output.py:2770
 msgid "reinstalled"
 msgstr "geninstalleret"
 
-#: ../output.py:2110
+#: ../output.py:2771
 msgid "a downgrade"
-msgstr ""
+msgstr "en nedgradering"
 
-#: ../output.py:2111
+#: ../output.py:2772
 msgid "obsoleting"
-msgstr ""
+msgstr "overflødigører"
 
-#: ../output.py:2112
+#: ../output.py:2773
 msgid "updated"
 msgstr "opdateret"
 
-#: ../output.py:2113
+#: ../output.py:2774
 msgid "obsoleted"
 msgstr "overflødiggjort"
 
-#: ../output.py:2117
+#: ../output.py:2778
 #, python-format
 msgid "---> Package %s.%s %s:%s-%s will be %s"
-msgstr ""
+msgstr "---> Pakke %s.%s %s:%s-%s vil blive %s"
 
-#: ../output.py:2124
+#: ../output.py:2789
 msgid "--> Running transaction check"
 msgstr "--> Kører overførselskontrol"
 
-#: ../output.py:2129
+#: ../output.py:2795
 msgid "--> Restarting Dependency Resolution with new changes."
 msgstr "--> Genstarter afhængighedssøgning med nye ændringer."
 
-#: ../output.py:2134
+#: ../output.py:2801
 msgid "--> Finished Dependency Resolution"
 msgstr "--> Afsluttede afhængighedssøgningen"
 
-#: ../output.py:2139 ../output.py:2144
+#: ../output.py:2814 ../output.py:2827
 #, python-format
 msgid "--> Processing Dependency: %s for package: %s"
 msgstr "--> Behandler afhængighed: %s for pakken: %s"
 
-#: ../output.py:2149
+#: ../output.py:2841
 #, python-format
-msgid "---> Keeping package: %s"
-msgstr "---> Beholder pakke: %s"
+msgid "---> Keeping package: %s due to %s"
+msgstr ""
 
-#: ../output.py:2152
+#: ../output.py:2850
 #, python-format
 msgid "--> Unresolved Dependency: %s"
 msgstr "--> Ikke fundet afhængighed: %s"
 
-#: ../output.py:2163
+#: ../output.py:2867
 #, python-format
 msgid "Package: %s"
 msgstr "Pakke: %s"
 
-#: ../output.py:2165
+#: ../output.py:2869
 #, python-format
 msgid ""
 "\n"
 "    Requires: %s"
-msgstr ""
-"\n"
-"    Kræver: %s"
+msgstr "\n    Kræver: %s"
 
-#: ../output.py:2174
+#: ../output.py:2878
 #, python-format
 msgid ""
 "\n"
 "    %s: %s (%s)"
-msgstr ""
-"\n"
-"    %s: %s (%s)"
+msgstr "\n    %s: %s (%s)"
 
-#: ../output.py:2179
+#: ../output.py:2883
 #, python-format
 msgid ""
 "\n"
 "        %s"
-msgstr ""
-"\n"
-"        %s"
+msgstr "\n        %s"
 
-#: ../output.py:2181
+#: ../output.py:2885
 msgid ""
 "\n"
 "        Not found"
-msgstr ""
-"\n"
-"        Ikke fundet"
+msgstr "\n        Ikke fundet"
 
 #. These should be the only three things we care about:
-#: ../output.py:2196
+#: ../output.py:2900
 msgid "Updated By"
 msgstr "Opdateret af"
 
-#: ../output.py:2197
+#: ../output.py:2901
 msgid "Downgraded By"
 msgstr "Nedgraderet af"
 
-#: ../output.py:2198
+#: ../output.py:2902
 msgid "Obsoleted By"
 msgstr "Forældet af"
 
-#: ../output.py:2216
+#: ../output.py:2920
 msgid "Available"
 msgstr "Tilgængelig"
 
-#: ../output.py:2243 ../output.py:2248
+#: ../output.py:2955 ../output.py:2968
 #, python-format
 msgid "--> Processing Conflict: %s conflicts %s"
 msgstr "--> Behandler konflikt: %s konflikter med %s"
 
-#: ../output.py:2252
+#: ../output.py:2974
 msgid "--> Populating transaction set with selected packages. Please wait."
 msgstr "--> Udfylder overførselssættet med valgte pakker. Vent venligst."
 
-#: ../output.py:2256
+#: ../output.py:2983
 #, python-format
 msgid "---> Downloading header for %s to pack into transaction set."
 msgstr "---> Henter headerfil for %s til at indsætte i overførselssættet."
 
-#: ../utils.py:99
+#. self.event(txmbr.name, count, len(base.tsInfo), count, )
+#. (te_current*100L)/te_total
+#: ../output.py:3248
+msgid "Verifying"
+msgstr "Verificerer"
+
+#: ../utils.py:123
 msgid "Running"
 msgstr "Kører"
 
-#: ../utils.py:100
+#: ../utils.py:124
 msgid "Sleeping"
 msgstr "Sover"
 
-#: ../utils.py:101
+#: ../utils.py:125
 msgid "Uninterruptible"
 msgstr "Ikke forstyrbar"
 
-#: ../utils.py:102
+#: ../utils.py:126
 msgid "Zombie"
 msgstr "Zombie"
 
-#: ../utils.py:103
+#: ../utils.py:127
 msgid "Traced/Stopped"
 msgstr "Fundet/stoppet"
 
-#: ../utils.py:104 ../yumcommands.py:994
+#: ../utils.py:128 ../yumcommands.py:2193
 msgid "Unknown"
 msgstr "Ukendt"
 
-#: ../utils.py:115
+#: ../utils.py:153
 msgid "  The other application is: PackageKit"
 msgstr "  Det andet program er: PackageKit"
 
-#: ../utils.py:117
+#: ../utils.py:155
 #, python-format
 msgid "  The other application is: %s"
 msgstr "  Det andet program er: %s"
 
-#: ../utils.py:120
+#: ../utils.py:158
 #, python-format
 msgid "    Memory : %5s RSS (%5sB VSZ)"
 msgstr "    Hukommelse : %5s RSS (%5sB VSZ)"
 
-#: ../utils.py:125
+#: ../utils.py:163
 #, python-format
 msgid "    Started: %s - %s ago"
 msgstr "    Startede: %s - %s siden"
 
-#: ../utils.py:127
+#: ../utils.py:165
 #, python-format
 msgid "    State  : %s, pid: %d"
 msgstr "    Status  : %s, pid: %d"
 
-#: ../utils.py:170 ../yummain.py:43
+#: ../utils.py:194 ../yummain.py:43
 msgid ""
 "\n"
 "\n"
 "Exiting on user cancel"
-msgstr ""
-"\n"
-"\n"
-"Afslutter efter brugerens ønske"
+msgstr "\n\nAfslutter efter brugerens ønske"
 
-#: ../utils.py:176 ../yummain.py:49
+#: ../utils.py:206 ../yummain.py:49
 msgid ""
 "\n"
 "\n"
 "Exiting on Broken Pipe"
-msgstr ""
-"\n"
-"\n"
-"Afslutter på ødelagt tunnel"
+msgstr "\n\nAfslutter på ødelagt tunnel"
 
-#: ../utils.py:178 ../yummain.py:51
+#: ../utils.py:208 ../yummain.py:51
 #, python-format
 msgid ""
 "\n"
 "\n"
 "%s"
-msgstr ""
-"\n"
-"\n"
-"%s"
+msgstr "\n\n%s"
 
-#: ../utils.py:228 ../yummain.py:123
-msgid ""
-"Another app is currently holding the yum lock; exiting as configured by "
-"exit_on_lock"
-msgstr ""
-"Et andet program holder i øjeblikket yum-låsen; afslutter som konfigureret "
-"af exit_on_llock"
-
-#: ../utils.py:287
+#: ../utils.py:326
 #, python-format
 msgid "PluginExit Error: %s"
 msgstr "Fejl med PluginExit: %s"
 
-#: ../utils.py:290
+#: ../utils.py:329
 #, python-format
 msgid "Yum Error: %s"
 msgstr "Yum-fejl: %s"
 
-#: ../utils.py:342 ../yummain.py:150 ../yummain.py:189
+#: ../utils.py:387 ../yummain.py:147 ../yummain.py:186
 #, python-format
 msgid "Error: %s"
 msgstr "Fejl: %s"
 
-#: ../utils.py:346 ../yummain.py:194
+#: ../utils.py:391 ../yummain.py:191
 msgid " You could try using --skip-broken to work around the problem"
-msgstr ""
-" Du kunne prøve at bruge --skip-broken til at arbejde udenom problemet"
+msgstr " Du kunne prøve at bruge --skip-broken til at arbejde udenom problemet"
 
-#: ../utils.py:348 ../yummain.py:87
+#: ../utils.py:393 ../yummain.py:87
 msgid " You could try running: rpm -Va --nofiles --nodigest"
 msgstr " Du kan prøve at køre: rpm -Va --nofiles --nodigest"
 
-#: ../utils.py:355 ../yummain.py:160 ../yummain.py:202
+#: ../utils.py:400 ../yummain.py:157 ../yummain.py:199
 #, python-format
 msgid "Unknown Error(s): Exit Code: %d:"
 msgstr "Ukendt(e) fejl: Returkode: %d:"
 
-#: ../utils.py:361 ../yummain.py:208
+#: ../utils.py:406 ../yummain.py:205
 msgid ""
 "\n"
 "Dependencies Resolved"
-msgstr ""
-"\n"
-"Afhængigheder løst"
+msgstr "\nAfhængigheder løst"
 
-#: ../utils.py:376 ../yummain.py:234
+#: ../utils.py:422 ../yummain.py:237
 msgid "Complete!"
 msgstr "Afsluttet!"
 
 #: ../yumcommands.py:42
 msgid " Mini usage:\n"
-msgstr ""
+msgstr " Minibrug:\n"
 
 #: ../yumcommands.py:52
 msgid "You need to be root to perform this command."
 msgstr "Du skal være root for at udføre denne kommando."
 
-#: ../yumcommands.py:59
+#: ../yumcommands.py:67
 msgid ""
 "\n"
 "You have enabled checking of packages via GPG keys. This is a good thing. \n"
@@ -1529,583 +1666,650 @@ msgid ""
 "will install it for you.\n"
 "\n"
 "For more information contact your distribution or package provider.\n"
-msgstr ""
-"\n"
-"Du har aktiveret kontrol af pakker via GPG-nøgler. Dette er en god ting. \n"
-"Selvom du ikke har nogen GPG-nøgler installeret. Du bliver nødt til at hente\n"
-"nøglerne til pakkerne, som du vil installere og installere dem.\n"
-"Du kan gøre det ved at køre kommandoen:\n"
-"    rpm --import public.gpg.key\n"
-"\n"
-"\n"
-"Alternativt kan du angive URL'en til nøglen, som du vil bruge til et\n"
-"pakkearkiv i \"gpgkey\"-indstillingen i en pakkearkivssektion og Yum \n"
-"vil installere den for dig.\n"
-"\n"
-"For mere information, kan du kontakte din distribution eller pakkeudbyder.\n"
+msgstr "\nDu har aktiveret kontrol af pakker via GPG-nøgler. Dette er en god ting. \nSelvom du ikke har nogen GPG-nøgler installeret. Du bliver nødt til at hente\nnøglerne til pakkerne, som du vil installere og installere dem.\nDu kan gøre det ved at køre kommandoen:\n    rpm --import public.gpg.key\n\n\nAlternativt kan du angive URL'en til nøglen, som du vil bruge til et\npakkearkiv i \"gpgkey\"-indstillingen i en pakkearkivssektion og Yum \nvil installere den for dig.\n\nFor mere information, kan du kontakte din distribution eller pakkeudbyder.\n"
 
-#: ../yumcommands.py:74
+#: ../yumcommands.py:82
 #, python-format
 msgid "Problem repository: %s"
-msgstr ""
+msgstr "Problempakkearkiv: %s"
 
-#: ../yumcommands.py:80
+#: ../yumcommands.py:96
 #, python-format
 msgid "Error: Need to pass a list of pkgs to %s"
 msgstr "Fejl: En liste med pakker behøves af %s"
 
-#: ../yumcommands.py:86
+#: ../yumcommands.py:114
+#, python-format
+msgid "Error: Need at least two packages to %s"
+msgstr ""
+
+#: ../yumcommands.py:129
+#, python-format
+msgid "Error: Need to pass a repoid. and command to %s"
+msgstr ""
+
+#: ../yumcommands.py:136 ../yumcommands.py:142
+#, python-format
+msgid "Error: Need to pass a single valid repoid. to %s"
+msgstr ""
+
+#: ../yumcommands.py:147
+#, python-format
+msgid "Error: Repo %s is not enabled"
+msgstr ""
+
+#: ../yumcommands.py:164
 msgid "Error: Need an item to match"
 msgstr "Fejl: Behøver noget at matche med"
 
-#: ../yumcommands.py:92
+#: ../yumcommands.py:178
 msgid "Error: Need a group or list of groups"
 msgstr "Fejl: Behøver en gruppe eller liste af grupper"
 
-#: ../yumcommands.py:101
+#: ../yumcommands.py:195
 #, python-format
 msgid "Error: clean requires an option: %s"
 msgstr "Fejl: clean behøver en indstilling: %s"
 
-#: ../yumcommands.py:106
+#: ../yumcommands.py:201
 #, python-format
 msgid "Error: invalid clean argument: %r"
 msgstr "Fejl: ugyldigt clean-argument: %r"
 
-#: ../yumcommands.py:119
+#: ../yumcommands.py:216
 msgid "No argument to shell"
 msgstr "Ingen argumenter til skal"
 
-#: ../yumcommands.py:121
+#: ../yumcommands.py:218
 #, python-format
 msgid "Filename passed to shell: %s"
 msgstr "Filnavn tilpasset skal: %s"
 
-#: ../yumcommands.py:125
+#: ../yumcommands.py:222
 #, python-format
 msgid "File %s given as argument to shell does not exist."
 msgstr "Filen %s givet som argument til skal findes ikke."
 
-#: ../yumcommands.py:131
+#: ../yumcommands.py:228
 msgid "Error: more than one file given as argument to shell."
 msgstr "Fejl: mere end en fil angivet som argument til skal."
 
-#: ../yumcommands.py:148
+#: ../yumcommands.py:247
 msgid ""
 "There are no enabled repos.\n"
 " Run \"yum repolist all\" to see the repos you have.\n"
 " You can enable repos with yum-config-manager --enable <repo>"
-msgstr ""
-"Der er ingen aktiverede pakkearkiver.\n"
-" Kør \"yum repolist all\" for at se de pakkearkiver du har.\n"
-" Du kan aktivere pakkearkiver med yum-config-manager --enable <repo>"
+msgstr "Der er ingen aktiverede pakkearkiver.\n Kør \"yum repolist all\" for at se de pakkearkiver du har.\n Du kan aktivere pakkearkiver med yum-config-manager --enable <repo>"
 
-#: ../yumcommands.py:200
+#: ../yumcommands.py:383
 msgid "PACKAGE..."
 msgstr "PAKKE..."
 
-#: ../yumcommands.py:203
+#: ../yumcommands.py:390
 msgid "Install a package or packages on your system"
 msgstr "Installerer en eller flere pakker på systemet"
 
-#: ../yumcommands.py:212
+#: ../yumcommands.py:421
 msgid "Setting up Install Process"
 msgstr "Opsætning af installationsprocessen"
 
-#: ../yumcommands.py:223 ../yumcommands.py:245
+#: ../yumcommands.py:447 ../yumcommands.py:507
 msgid "[PACKAGE...]"
 msgstr "[PAKKE...]"
 
-#: ../yumcommands.py:226
+#: ../yumcommands.py:454
 msgid "Update a package or packages on your system"
 msgstr "Opdaterer en eller flere pakker på systemet"
 
-#: ../yumcommands.py:234
+#: ../yumcommands.py:483
 msgid "Setting up Update Process"
 msgstr "Opsætning af opdateringsprocessen"
 
-#: ../yumcommands.py:248
+#: ../yumcommands.py:514
 msgid "Synchronize installed packages to the latest available versions"
 msgstr "Synkronisér installerede pakker til de senest tilgængelige versioner"
 
-#: ../yumcommands.py:256
+#: ../yumcommands.py:543
 msgid "Setting up Distribution Synchronization Process"
 msgstr "Indstiller distributionssynkroniseringsproces"
 
-#: ../yumcommands.py:299
+#: ../yumcommands.py:603
 msgid "Display details about a package or group of packages"
 msgstr "Vis detaljer om en pakke eller en gruppe af pakker"
 
-#: ../yumcommands.py:348
+#: ../yumcommands.py:672
 msgid "Installed Packages"
 msgstr "Installerede pakker"
 
-#: ../yumcommands.py:356
+#: ../yumcommands.py:682
 msgid "Available Packages"
 msgstr "Tilgængelige pakker"
 
-#: ../yumcommands.py:360
+#: ../yumcommands.py:687
 msgid "Extra Packages"
 msgstr "Ekstra pakker"
 
-#: ../yumcommands.py:364
+#: ../yumcommands.py:691
 msgid "Updated Packages"
 msgstr "Opdaterede pakker"
 
 #. This only happens in verbose mode
-#: ../yumcommands.py:372 ../yumcommands.py:379 ../yumcommands.py:667
+#: ../yumcommands.py:699 ../yumcommands.py:706 ../yumcommands.py:1539
 msgid "Obsoleting Packages"
 msgstr "Overflødiggør pakker"
 
-#: ../yumcommands.py:381
+#: ../yumcommands.py:708
 msgid "Recently Added Packages"
 msgstr "Pakker som er tilføjet for nyligt"
 
-#: ../yumcommands.py:388
+#: ../yumcommands.py:715
 msgid "No matching Packages to list"
 msgstr "Ingen matchende pakker til liste"
 
-#: ../yumcommands.py:402
+#: ../yumcommands.py:766
 msgid "List a package or groups of packages"
 msgstr "Viser en pakke eller en gruppe af pakker"
 
-#: ../yumcommands.py:414
+#: ../yumcommands.py:797
 msgid "Remove a package or packages from your system"
 msgstr "Fjern en eller flere pakker fra dit system"
 
-#: ../yumcommands.py:421
+#: ../yumcommands.py:845
 msgid "Setting up Remove Process"
 msgstr "Opsætning af fjerningsprocessen"
 
-#: ../yumcommands.py:435
+#: ../yumcommands.py:906
+msgid "Display, or use, the groups information"
+msgstr "Vis, eller brug, gruppernes information"
+
+#: ../yumcommands.py:909
 msgid "Setting up Group Process"
 msgstr "Opsætning af gruppeprocessen"
 
-#: ../yumcommands.py:441
+#: ../yumcommands.py:915
 msgid "No Groups on which to run command"
 msgstr "Ingen grupper, på hvilke der køres en kommando"
 
-#: ../yumcommands.py:454
-msgid "List available package groups"
-msgstr "Vis tilgængelige pakkegrupper"
-
-#: ../yumcommands.py:474
-msgid "Install the packages in a group on your system"
-msgstr "Installér alle pakkerne i en gruppe på dit system"
+#: ../yumcommands.py:985
+#, python-format
+msgid "Invalid groups sub-command, use: %s."
+msgstr "Ugyldig underkommando for grupper, brug: %s."
 
-#: ../yumcommands.py:497
-msgid "Remove the packages in a group from your system"
-msgstr "Fjerner alle pakkerne i en gruppe fra dit system"
+#: ../yumcommands.py:992
+msgid "There is no installed groups file."
+msgstr "Der er ingen installeret gruppe-fil."
 
-#: ../yumcommands.py:525
-msgid "Display details about a package group"
-msgstr "Vis informationer om en pakkegruppe"
+#: ../yumcommands.py:994
+msgid "You don't have access to the groups DB."
+msgstr "Du har ikke adgang til gruppe-DB'en."
 
-#: ../yumcommands.py:550
+#: ../yumcommands.py:1256
 msgid "Generate the metadata cache"
 msgstr "Opretter mellemlager for metadata"
 
-#: ../yumcommands.py:556
+#: ../yumcommands.py:1282
 msgid "Making cache files for all metadata files."
 msgstr "Opretter mellemlagerfiler til alle metadatafiler."
 
-#: ../yumcommands.py:557
+#: ../yumcommands.py:1283
 msgid "This may take a while depending on the speed of this computer"
-msgstr ""
-"Dette kan tage et stykke tid, afhængigt af hastigheden op denne computer"
+msgstr "Dette kan tage et stykke tid, afhængigt af hastigheden op denne computer"
 
-#: ../yumcommands.py:578
+#: ../yumcommands.py:1312
 msgid "Metadata Cache Created"
 msgstr "Mellemlager for metadata oprettet"
 
-#: ../yumcommands.py:592
+#: ../yumcommands.py:1350
 msgid "Remove cached data"
 msgstr "Sletter data fra cachen"
 
-#: ../yumcommands.py:613
+#: ../yumcommands.py:1417
 msgid "Find what package provides the given value"
 msgstr "Finder pakker som leverer en given værdi"
 
-#: ../yumcommands.py:633
+#: ../yumcommands.py:1485
 msgid "Check for available package updates"
 msgstr "Kontrol af tilgængelige pakkeopdateringer"
 
-#: ../yumcommands.py:687
+#: ../yumcommands.py:1587
 msgid "Search package details for the given string"
 msgstr "Søger efter en given streng i pakkeinformationerne"
 
-#: ../yumcommands.py:693
+#: ../yumcommands.py:1613
 msgid "Searching Packages: "
 msgstr "Søger i pakkerne: "
 
-#: ../yumcommands.py:710
+#: ../yumcommands.py:1666
 msgid "Update packages taking obsoletes into account"
 msgstr "Opdaterer pakker, tager hensyn til overflødiggjorte pakker"
 
-#: ../yumcommands.py:719
+#: ../yumcommands.py:1696
 msgid "Setting up Upgrade Process"
 msgstr "Opsætning af opgraderingsprocessen"
 
-#: ../yumcommands.py:737
+#: ../yumcommands.py:1731
 msgid "Install a local RPM"
 msgstr "Installer en lokal RPM-fil"
 
-#: ../yumcommands.py:745
+#: ../yumcommands.py:1761
 msgid "Setting up Local Package Process"
 msgstr "Opsætning af lokalpakkeprocessen"
 
-#: ../yumcommands.py:764
-msgid "Determine which package provides the given dependency"
-msgstr "Bestem hvilken pakke som leverer en bestemt afhængighed"
-
-#: ../yumcommands.py:767
+#: ../yumcommands.py:1825
 msgid "Searching Packages for Dependency:"
 msgstr "Søger efter afhængighed i pakkerne:"
 
-#: ../yumcommands.py:781
+#: ../yumcommands.py:1867
 msgid "Run an interactive yum shell"
 msgstr "Kør en interaktiv Yum-skal"
 
-#: ../yumcommands.py:787
+#: ../yumcommands.py:1893
 msgid "Setting up Yum Shell"
 msgstr "Opsætning af Yum-skal"
 
-#: ../yumcommands.py:805
+#: ../yumcommands.py:1936
 msgid "List a package's dependencies"
 msgstr "Viser en pakkes afhængigheder"
 
-#: ../yumcommands.py:811
+#: ../yumcommands.py:1963
 msgid "Finding dependencies: "
 msgstr "Finder afhængigheder: "
 
-#: ../yumcommands.py:827
+#: ../yumcommands.py:2005
 msgid "Display the configured software repositories"
 msgstr "Viser de konfigurerede pakkearkiver"
 
-#: ../yumcommands.py:893 ../yumcommands.py:894
+#: ../yumcommands.py:2094 ../yumcommands.py:2095
 msgid "enabled"
 msgstr "aktiveret"
 
-#: ../yumcommands.py:920 ../yumcommands.py:921
+#: ../yumcommands.py:2121 ../yumcommands.py:2122
 msgid "disabled"
 msgstr "deaktiveret"
 
-#: ../yumcommands.py:937
+#: ../yumcommands.py:2137
 msgid "Repo-id      : "
 msgstr "Pakkearkivs-id      : "
 
-#: ../yumcommands.py:938
+#: ../yumcommands.py:2138
 msgid "Repo-name    : "
 msgstr "Pakkearkivnavn    : "
 
-#: ../yumcommands.py:941
+#: ../yumcommands.py:2141
 msgid "Repo-status  : "
 msgstr "Pakkearkivstatus  : "
 
-#: ../yumcommands.py:944
+#: ../yumcommands.py:2144
 msgid "Repo-revision: "
 msgstr "Pakkearkivsversion: "
 
-#: ../yumcommands.py:948
+#: ../yumcommands.py:2148
 msgid "Repo-tags    : "
 msgstr "Pakkearkivflag    : "
 
-#: ../yumcommands.py:954
+#: ../yumcommands.py:2154
 msgid "Repo-distro-tags: "
 msgstr "Kildedistroflag: "
 
-#: ../yumcommands.py:959
+#: ../yumcommands.py:2159
 msgid "Repo-updated : "
 msgstr "Pakkearkiv opdateret : "
 
-#: ../yumcommands.py:961
+#: ../yumcommands.py:2161
 msgid "Repo-pkgs    : "
 msgstr "Pakkearkivpakker    : "
 
-#: ../yumcommands.py:962
+#: ../yumcommands.py:2162
 msgid "Repo-size    : "
 msgstr "Pakkearkivstørrelse    : "
 
-#: ../yumcommands.py:969 ../yumcommands.py:990
+#: ../yumcommands.py:2169 ../yumcommands.py:2190
 msgid "Repo-baseurl : "
 msgstr "Pakkearkivbaseurl : "
 
-#: ../yumcommands.py:977
+#: ../yumcommands.py:2177
 msgid "Repo-metalink: "
 msgstr "Pakkearkivsmetahenvisning: "
 
-#: ../yumcommands.py:981
+#: ../yumcommands.py:2181
 msgid "  Updated    : "
 msgstr "  Opdateret    : "
 
-#: ../yumcommands.py:984
+#: ../yumcommands.py:2184
 msgid "Repo-mirrors : "
 msgstr "Pakkearkivspejle: "
 
-#: ../yumcommands.py:1000
+#: ../yumcommands.py:2199
 #, python-format
 msgid "Never (last: %s)"
 msgstr "Aldrig (senest: %s)"
 
-#: ../yumcommands.py:1002
+#: ../yumcommands.py:2201
 #, python-format
 msgid "Instant (last: %s)"
 msgstr "Med det samme (senest: %s)"
 
-#: ../yumcommands.py:1005
+#: ../yumcommands.py:2204
 #, python-format
 msgid "%s second(s) (last: %s)"
 msgstr "%s sekund(er) (senest: %s)"
 
-#: ../yumcommands.py:1007
+#: ../yumcommands.py:2206
 msgid "Repo-expire  : "
 msgstr "Pakkearkiv udløber  : "
 
-#: ../yumcommands.py:1010
+#: ../yumcommands.py:2209
 msgid "Repo-exclude : "
 msgstr "Pakkearkiv ekskluderer : "
 
-#: ../yumcommands.py:1014
+#: ../yumcommands.py:2213
 msgid "Repo-include : "
 msgstr "Pakkearkiv inkluderer : "
 
-#: ../yumcommands.py:1018
+#: ../yumcommands.py:2217
 msgid "Repo-excluded: "
 msgstr "Pakkearkiv ekskluderet: "
 
-#: ../yumcommands.py:1022
+#: ../yumcommands.py:2221
 msgid "Repo-filename: "
-msgstr ""
+msgstr "Pakkearkivsfilnavn: "
 
 #. Work out the first (id) and last (enabled/disalbed/count),
 #. then chop the middle (name)...
-#: ../yumcommands.py:1032 ../yumcommands.py:1061
+#: ../yumcommands.py:2230 ../yumcommands.py:2259
 msgid "repo id"
 msgstr "kildeid"
 
-#: ../yumcommands.py:1049 ../yumcommands.py:1050 ../yumcommands.py:1068
+#: ../yumcommands.py:2247 ../yumcommands.py:2248 ../yumcommands.py:2266
 msgid "status"
 msgstr "status"
 
-#: ../yumcommands.py:1062
+#: ../yumcommands.py:2260
 msgid "repo name"
 msgstr "kildenavn"
 
-#: ../yumcommands.py:1099
+#: ../yumcommands.py:2332
 msgid "Display a helpful usage message"
 msgstr "Viser hjælp om brugen af en kommando"
 
-#: ../yumcommands.py:1133
+#: ../yumcommands.py:2374
 #, python-format
 msgid "No help available for %s"
 msgstr "Ingen tilgængelig hjælp til %s"
 
-#: ../yumcommands.py:1138
+#: ../yumcommands.py:2379
 msgid ""
 "\n"
 "\n"
 "aliases: "
-msgstr ""
-"\n"
-"\n"
-"aliaser: "
+msgstr "\n\naliaser: "
 
-#: ../yumcommands.py:1140
+#: ../yumcommands.py:2381
 msgid ""
 "\n"
 "\n"
 "alias: "
-msgstr ""
-"\n"
-"\n"
-"alias: "
+msgstr "\n\nalias: "
 
-#: ../yumcommands.py:1168
+#: ../yumcommands.py:2466
 msgid "Setting up Reinstall Process"
 msgstr "Opsætning af geninstallationsprocessen"
 
-#: ../yumcommands.py:1176
+#: ../yumcommands.py:2478
 msgid "reinstall a package"
 msgstr "geninstallér en pakke"
 
-#: ../yumcommands.py:1195
+#: ../yumcommands.py:2541
 msgid "Setting up Downgrade Process"
 msgstr "Opsætning af nedgraderingsprocessen"
 
-#: ../yumcommands.py:1202
+#: ../yumcommands.py:2552
 msgid "downgrade a package"
 msgstr "nedgradér en pakke"
 
-#: ../yumcommands.py:1216
+#: ../yumcommands.py:2591
 msgid "Display a version for the machine and/or available repos."
 msgstr "Vis en version for maskinen og/eller tilgængelige pakkearkiver."
 
-#: ../yumcommands.py:1255
+#: ../yumcommands.py:2643
 msgid " Yum version groups:"
 msgstr " Yum versiongrupper:"
 
-#: ../yumcommands.py:1265
+#: ../yumcommands.py:2653
 msgid " Group   :"
 msgstr " Gruppe   :"
 
-#: ../yumcommands.py:1266
+#: ../yumcommands.py:2654
 msgid " Packages:"
 msgstr " Pakker:"
 
-#: ../yumcommands.py:1295
+#: ../yumcommands.py:2683
 msgid "Installed:"
 msgstr "Installeret:"
 
-#: ../yumcommands.py:1303
+#: ../yumcommands.py:2691
 msgid "Group-Installed:"
-msgstr "Gruppe-Installeret"
+msgstr "Gruppeinstalleret:"
 
-#: ../yumcommands.py:1312
+#: ../yumcommands.py:2700
 msgid "Available:"
 msgstr "Tilgængelige:"
 
-#: ../yumcommands.py:1321
+#: ../yumcommands.py:2709
 msgid "Group-Available:"
 msgstr "Gruppe-Tilgængelig:"
 
-#: ../yumcommands.py:1360
+#: ../yumcommands.py:2783
 msgid "Display, or use, the transaction history"
 msgstr "Vis eller brug overførselshistorik"
 
-#: ../yumcommands.py:1432
+#: ../yumcommands.py:2876 ../yumcommands.py:2880
+msgid "Transactions:"
+msgstr "Overførsler:"
+
+#: ../yumcommands.py:2881
+msgid "Begin time  :"
+msgstr "Starttid    :"
+
+#: ../yumcommands.py:2882
+msgid "End time    :"
+msgstr "Sluttid     :"
+
+#: ../yumcommands.py:2883
+msgid "Counts      :"
+msgstr "Tæller      :"
+
+#: ../yumcommands.py:2884
+msgid "  NEVRAC :"
+msgstr "  NEVRAC :"
+
+#: ../yumcommands.py:2885
+msgid "  NEVRA  :"
+msgstr "  NEVRA  :"
+
+#: ../yumcommands.py:2886
+msgid "  NA     :"
+msgstr "  NA     :"
+
+#: ../yumcommands.py:2887
+msgid "  NEVR   :"
+msgstr "  NEVR   :"
+
+#: ../yumcommands.py:2888
+msgid "  rpm DB :"
+msgstr "  rpmdb  :"
+
+#: ../yumcommands.py:2889
+msgid "  yum DB :"
+msgstr "  yumdb  :"
+
+#: ../yumcommands.py:2922
 #, python-format
 msgid "Invalid history sub-command, use: %s."
 msgstr "Ugyldig underkommando for historik, brug: %s."
 
-#: ../yumcommands.py:1439
+#: ../yumcommands.py:2929
 msgid "You don't have access to the history DB."
 msgstr "Du har ikke adgang til historikdatabasen."
 
-#: ../yumcommands.py:1487
+#: ../yumcommands.py:3036
 msgid "Check for problems in the rpmdb"
 msgstr "Kontrollér for problemer i rpmdb'en"
 
-#: ../yumcommands.py:1514
+#: ../yumcommands.py:3102
 msgid "load a saved transaction from filename"
-msgstr ""
+msgstr "indlæs en gemt overførsel fra filnavn"
 
-#: ../yumcommands.py:1518
+#: ../yumcommands.py:3119
 msgid "No saved transaction file specified."
-msgstr ""
+msgstr "Ingen gemt overførselsfil angivet."
 
-#: ../yumcommands.py:1522
+#: ../yumcommands.py:3123
 #, python-format
 msgid "loading transaction from %s"
-msgstr ""
+msgstr "indlæser overførsel fra %s"
 
-#: ../yumcommands.py:1528
+#: ../yumcommands.py:3129
 #, python-format
 msgid "Transaction loaded from %s with %s members"
+msgstr "Overførsel indlæst fra %s med %s medlemmer"
+
+#: ../yumcommands.py:3169
+msgid "Simple way to swap packages, isntead of using shell"
+msgstr ""
+
+#: ../yumcommands.py:3264
+msgid ""
+"Treat a repo. as a group of packages, so we can install/remove all of them"
+msgstr ""
+
+#: ../yumcommands.py:3341
+#, python-format
+msgid "%d package to update"
+msgid_plural "%d packages to update"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../yumcommands.py:3370
+#, python-format
+msgid "%d package to remove/reinstall"
+msgid_plural "%d packages to remove/reinstall"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../yumcommands.py:3413
+#, python-format
+msgid "%d package to remove/sync"
+msgid_plural "%d packages to remove/sync"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../yumcommands.py:3417
+#, python-format
+msgid "Not a valid sub-command of %s"
 msgstr ""
 
 #. This is mainly for PackageSackError from rpmdb.
 #: ../yummain.py:84
 #, python-format
 msgid " Yum checks failed: %s"
-msgstr ""
+msgstr " Yum-kontrol mislykkedes: %s"
 
-#: ../yummain.py:114
-msgid ""
-"Another app is currently holding the yum lock; waiting for it to exit..."
-msgstr "Yum er låst af et andet program, venter på at den afslutter..."
+#: ../yummain.py:98
+msgid "No read/execute access in current directory, moving to /"
+msgstr "Ingen læse-/køre-adgang i nuværende mappe, flytter til /"
 
-#: ../yummain.py:120
-msgid "Can't create lock file; exiting"
-msgstr ""
+#: ../yummain.py:106
+msgid "No getcwd() access in current directory, moving to /"
+msgstr "Ingen getcwd()-adgang i nuværende mappe, flytter til /"
 
 #. Depsolve stage
-#: ../yummain.py:167
+#: ../yummain.py:164
 msgid "Resolving Dependencies"
 msgstr "Løser afhængigheder"
 
-#: ../yummain.py:230
+#: ../yummain.py:227 ../yummain.py:235
 #, python-format
-msgid "Your transaction was saved, rerun it with: yum load-transaction %s"
-msgstr ""
+msgid ""
+"Your transaction was saved, rerun it with:\n"
+" yum load-transaction %s"
+msgstr "Din overførsel blev gemt, kør den igen med:\n yum load-transaction %s"
 
-#: ../yummain.py:288
+#: ../yummain.py:312
 msgid ""
 "\n"
 "\n"
 "Exiting on user cancel."
-msgstr ""
-"\n"
-"\n"
-"Afslutter efter brugerens ønske."
+msgstr "\n\nAfslutter efter brugerens ønske."
 
-#: ../yum/depsolve.py:84
+#: ../yum/depsolve.py:127
 msgid "doTsSetup() will go away in a future version of Yum.\n"
 msgstr "doTsSetup() vil blive fjernet i en fremtidig version af Yum.\n"
 
-#: ../yum/depsolve.py:99
+#: ../yum/depsolve.py:143
 msgid "Setting up TransactionSets before config class is up"
 msgstr "Opsætning af TransactionSets før config-klassen er sat op"
 
-#: ../yum/depsolve.py:153
+#: ../yum/depsolve.py:200
 #, python-format
 msgid "Invalid tsflag in config file: %s"
 msgstr "Invalid tsflag i konfigurationsfilen: %s"
 
-#: ../yum/depsolve.py:164
+#: ../yum/depsolve.py:218
 #, python-format
 msgid "Searching pkgSack for dep: %s"
 msgstr "Søger i pkgSack for afhængigheden: %s"
 
-#: ../yum/depsolve.py:207
+#: ../yum/depsolve.py:269
 #, python-format
 msgid "Member: %s"
 msgstr "Medlem: %s"
 
-#: ../yum/depsolve.py:221 ../yum/depsolve.py:793
+#: ../yum/depsolve.py:283 ../yum/depsolve.py:937
 #, python-format
 msgid "%s converted to install"
 msgstr "%s konverteret til installation"
 
-#: ../yum/depsolve.py:233
+#: ../yum/depsolve.py:295
 #, python-format
 msgid "Adding Package %s in mode %s"
 msgstr "Tilføjer pakke %s i mode %s"
 
-#: ../yum/depsolve.py:249
+#: ../yum/depsolve.py:311
 #, python-format
 msgid "Removing Package %s"
 msgstr "Fjerner pakke %s"
 
-#: ../yum/depsolve.py:271
+#: ../yum/depsolve.py:333
 #, python-format
 msgid "%s requires: %s"
 msgstr "%s behøver: %s"
 
-#: ../yum/depsolve.py:312
+#: ../yum/depsolve.py:374
 #, python-format
 msgid "%s requires %s"
 msgstr "%s kræver %s"
 
-#: ../yum/depsolve.py:339
+#: ../yum/depsolve.py:401
 msgid "Needed Require has already been looked up, cheating"
 msgstr "Afhængighed fundet tidligere, snyder"
 
-#: ../yum/depsolve.py:349
+#: ../yum/depsolve.py:411
 #, python-format
 msgid "Needed Require is not a package name. Looking up: %s"
 msgstr "Afhængighed er ikke et pakkenavn. Søger efter: %s"
 
-#: ../yum/depsolve.py:357
+#: ../yum/depsolve.py:419
 #, python-format
 msgid "Potential Provider: %s"
 msgstr "Mulig udbyder: %s"
 
-#: ../yum/depsolve.py:380
+#: ../yum/depsolve.py:442
 #, python-format
 msgid "Mode is %s for provider of %s: %s"
 msgstr "Tilstand er %s for udbyder af %s: %s"
 
-#: ../yum/depsolve.py:384
+#: ../yum/depsolve.py:446
 #, python-format
 msgid "Mode for pkg providing %s: %s"
 msgstr "Tilstand for pakke som leverer %s: %s"
@@ -2113,1022 +2317,1140 @@ msgstr "Tilstand for pakke som leverer %s: %s"
 #. the thing it needs is being updated or obsoleted away
 #. try to update the requiring package in hopes that all this problem goes
 #. away :(
-#: ../yum/depsolve.py:389 ../yum/depsolve.py:406
+#: ../yum/depsolve.py:451 ../yum/depsolve.py:486
 #, python-format
 msgid "Trying to update %s to resolve dep"
-msgstr ""
+msgstr "Prøver at opdatere %s for at løse afhængigheder"
 
-#: ../yum/depsolve.py:400 ../yum/depsolve.py:410
+#: ../yum/depsolve.py:480
 #, python-format
 msgid "No update paths found for %s. Failure!"
+msgstr "Ingen opdateringsstier fundet for %s. Fejl!"
+
+#: ../yum/depsolve.py:491
+#, python-format
+msgid "No update paths found for %s. Failure due to requirement: %s!"
+msgstr ""
+
+#: ../yum/depsolve.py:507
+#, python-format
+msgid "Update for %s. Doesn't fix requirement: %s!"
 msgstr ""
 
-#: ../yum/depsolve.py:416
+#: ../yum/depsolve.py:514
 #, python-format
 msgid "TSINFO: %s package requiring %s marked as erase"
 msgstr "TSINFO: %s pakker som behøver %s markeret til sletning"
 
-#: ../yum/depsolve.py:429
+#: ../yum/depsolve.py:527
 #, python-format
 msgid "TSINFO: Obsoleting %s with %s to resolve dep."
 msgstr "TSINFO: Overflødiggør %s med %s for at finde afhængighed."
 
-#: ../yum/depsolve.py:432
+#: ../yum/depsolve.py:530
 #, python-format
 msgid "TSINFO: Updating %s to resolve dep."
 msgstr "TSINFO: Opdaterer %s for at opfylde afhængighed."
 
-#: ../yum/depsolve.py:440
+#: ../yum/depsolve.py:538
 #, python-format
 msgid "Cannot find an update path for dep for: %s"
 msgstr "Kan ikke finde en opdateringsvej for afhængigheden for: %s"
 
-#: ../yum/depsolve.py:471
+#: ../yum/depsolve.py:569
 #, python-format
 msgid "Quick matched %s to require for %s"
 msgstr "Hurtigmatchede %s som afhængighed for %s"
 
 #. is it already installed?
-#: ../yum/depsolve.py:513
+#: ../yum/depsolve.py:611
 #, python-format
 msgid "%s is in providing packages but it is already installed, removing."
 msgstr "%s er i udbudte pakker, men er allerede installeret, fjerner."
 
-#: ../yum/depsolve.py:529
+#: ../yum/depsolve.py:627
 #, python-format
 msgid "Potential resolving package %s has newer instance in ts."
 msgstr "Mulig løsningspakke %s har en nyere udgave i ts."
 
-#: ../yum/depsolve.py:540
+#: ../yum/depsolve.py:638
 #, python-format
 msgid "Potential resolving package %s has newer instance installed."
 msgstr "Mulig løsningspakke %s har en nyere udgave installeret."
 
-#: ../yum/depsolve.py:558
+#: ../yum/depsolve.py:656
 #, python-format
 msgid "%s already in ts, skipping this one"
 msgstr "%s er allerede i ts, springer den over"
 
-#: ../yum/depsolve.py:607
+#: ../yum/depsolve.py:705
 #, python-format
 msgid "TSINFO: Marking %s as update for %s"
 msgstr "TSINFO: Markerer %s som en opdatering for %s"
 
-#: ../yum/depsolve.py:616
+#: ../yum/depsolve.py:714
 #, python-format
 msgid "TSINFO: Marking %s as install for %s"
 msgstr "TSINFO: Markerer %s til installerer for %s"
 
-#: ../yum/depsolve.py:727 ../yum/depsolve.py:819
+#: ../yum/depsolve.py:849 ../yum/depsolve.py:967
 msgid "Success - empty transaction"
 msgstr "Succes -- tom overførsel"
 
-#: ../yum/depsolve.py:767 ../yum/depsolve.py:783
+#: ../yum/depsolve.py:889 ../yum/depsolve.py:927
 msgid "Restarting Loop"
 msgstr "Genstarter løkke"
 
-#: ../yum/depsolve.py:799
+#: ../yum/depsolve.py:947
 msgid "Dependency Process ending"
 msgstr "Afhængighedsproces afslutter"
 
-#: ../yum/depsolve.py:821
+#: ../yum/depsolve.py:969
 msgid "Success - deps resolved"
 msgstr "Succes - afhængigheder løst"
 
-#: ../yum/depsolve.py:845
+#: ../yum/depsolve.py:993
 #, python-format
 msgid "Checking deps for %s"
 msgstr "Kontrollerer afhængigheder for %s"
 
-#: ../yum/depsolve.py:931
+#: ../yum/depsolve.py:1082
 #, python-format
 msgid "looking for %s as a requirement of %s"
 msgstr "søger efter %s som afhængighed for %s"
 
-#: ../yum/depsolve.py:1169
+#: ../yum/depsolve.py:1349
 #, python-format
 msgid "Running compare_providers() for %s"
 msgstr "Kører compare_providers() for %s"
 
-#: ../yum/depsolve.py:1196 ../yum/depsolve.py:1202
+#: ../yum/depsolve.py:1376 ../yum/depsolve.py:1382
 #, python-format
 msgid "better arch in po %s"
 msgstr "bedre arkitektur i po %s"
 
-#: ../yum/depsolve.py:1298
+#: ../yum/depsolve.py:1496
 #, python-format
 msgid "%s obsoletes %s"
 msgstr "%s overflødigør %s"
 
-#: ../yum/depsolve.py:1310
+#: ../yum/depsolve.py:1508
 #, python-format
 msgid ""
 "archdist compared %s to %s on %s\n"
 "  Winner: %s"
-msgstr ""
-"arkitekturdistribution sammenligner %s med %s på %s\n"
-"  Vinder: %s"
+msgstr "arkitekturdistribution sammenligner %s med %s på %s\n  Vinder: %s"
 
-#: ../yum/depsolve.py:1318
+#: ../yum/depsolve.py:1516
 #, python-format
 msgid "common sourcerpm %s and %s"
 msgstr "normal kilde-RPM %s og %s"
 
-#: ../yum/depsolve.py:1322
+#: ../yum/depsolve.py:1520
 #, python-format
 msgid "base package %s is installed for %s"
 msgstr "basepakke %s er installeret for %s"
 
-#: ../yum/depsolve.py:1328
+#: ../yum/depsolve.py:1526
 #, python-format
 msgid "common prefix of %s between %s and %s"
 msgstr "normal præfiks af %s mellem %s og %s"
 
-#: ../yum/depsolve.py:1359
+#: ../yum/depsolve.py:1543
 #, python-format
-msgid "requires minimal: %d"
-msgstr "kræver minimalt: %d"
+msgid "provides vercmp: %s"
+msgstr "udbyder vercmp: %s"
 
-#: ../yum/depsolve.py:1363
+#: ../yum/depsolve.py:1547 ../yum/depsolve.py:1581
 #, python-format
 msgid " Winner: %s"
 msgstr " Vinder: %s"
 
-#: ../yum/depsolve.py:1368
+#: ../yum/depsolve.py:1577
+#, python-format
+msgid "requires minimal: %d"
+msgstr "kræver minimalt: %d"
+
+#: ../yum/depsolve.py:1586
 #, python-format
 msgid " Loser(with %d): %s"
 msgstr " Taber(med %d): %s"
 
-#: ../yum/depsolve.py:1384
+#: ../yum/depsolve.py:1602
 #, python-format
 msgid "Best Order: %s"
 msgstr "Bedste orden: %s"
 
-#: ../yum/__init__.py:234
+#: ../yum/__init__.py:274
 msgid "doConfigSetup() will go away in a future version of Yum.\n"
 msgstr "doConfigSetup() vil forsvinde i en fremtidig version af Yum.\n"
 
-#: ../yum/__init__.py:482
+#: ../yum/__init__.py:553
+#, python-format
+msgid "Skipping unreadable repository %s"
+msgstr ""
+
+#: ../yum/__init__.py:572
 #, python-format
 msgid "Repository %r: Error parsing config: %s"
 msgstr "Pakkearkiv %r: Fejl under læsning af konfiguration: %s"
 
-#: ../yum/__init__.py:488
+#: ../yum/__init__.py:578
 #, python-format
 msgid "Repository %r is missing name in configuration, using id"
 msgstr "Pakkearkiv %r mangler navn i konfigurationen, bruger id"
 
-#: ../yum/__init__.py:526
+#: ../yum/__init__.py:618
 msgid "plugins already initialised"
 msgstr "udvidelsesmoduler er allerede initieret"
 
-#: ../yum/__init__.py:533
+#: ../yum/__init__.py:627
 msgid "doRpmDBSetup() will go away in a future version of Yum.\n"
 msgstr "doRpmDBSetup() vil forsvinde i en fremtidig version af Yum.\n"
 
-#: ../yum/__init__.py:544
+#: ../yum/__init__.py:638
 msgid "Reading Local RPMDB"
 msgstr "Læser lokal RPMDB"
 
-#: ../yum/__init__.py:567
+#: ../yum/__init__.py:668
 msgid "doRepoSetup() will go away in a future version of Yum.\n"
 msgstr "doRepoSetup() vil forsvinde i en fremtidig version af Yum.\n"
 
-#: ../yum/__init__.py:630
+#: ../yum/__init__.py:722
 msgid "doSackSetup() will go away in a future version of Yum.\n"
 msgstr "doSackSetup() vil forsvinde i en fremtidig version af Yum.\n"
 
-#: ../yum/__init__.py:660
+#: ../yum/__init__.py:752
 msgid "Setting up Package Sacks"
 msgstr "Opsætning af pakkelister"
 
-#: ../yum/__init__.py:705
+#: ../yum/__init__.py:797
 #, python-format
 msgid "repo object for repo %s lacks a _resetSack method\n"
 msgstr "kildeobjekt for kilde %s mangler en _resetSack-metode\n"
 
-#: ../yum/__init__.py:706
+#: ../yum/__init__.py:798
 msgid "therefore this repo cannot be reset.\n"
 msgstr "derfor kan dette pakkearkiv ikke blive nulstillet.\n"
 
-#: ../yum/__init__.py:711
+#: ../yum/__init__.py:806
 msgid "doUpdateSetup() will go away in a future version of Yum.\n"
 msgstr "doUpdateSetup() vil forsvinde i en fremtidig version af Yum.\n"
 
-#: ../yum/__init__.py:723
+#: ../yum/__init__.py:818
 msgid "Building updates object"
 msgstr "Bygger opdateringsobjekt"
 
-#: ../yum/__init__.py:765
+#: ../yum/__init__.py:862
 msgid "doGroupSetup() will go away in a future version of Yum.\n"
 msgstr "doGroupSetup() vil forsvinde i en fremtidig version af Yum.\n"
 
-#: ../yum/__init__.py:790
+#: ../yum/__init__.py:887
 msgid "Getting group metadata"
 msgstr "Henter gruppemetadata"
 
-#: ../yum/__init__.py:816
+#: ../yum/__init__.py:915
 #, python-format
 msgid "Adding group file from repository: %s"
 msgstr "Tilfører gruppefil fra pakkearkiv: %s"
 
-#: ../yum/__init__.py:827
+#: ../yum/__init__.py:918
+#, python-format
+msgid "Failed to retrieve group file for repository: %s"
+msgstr ""
+
+#: ../yum/__init__.py:924
 #, python-format
 msgid "Failed to add groups file for repository: %s - %s"
 msgstr "Tilføjelse af gruppefil fejlede for følgende pakkearkiv: %s - %s"
 
-#: ../yum/__init__.py:833
+#: ../yum/__init__.py:930
 msgid "No Groups Available in any repository"
 msgstr "Ingen tilgængelige grupper i noget pakkearkiv"
 
-#: ../yum/__init__.py:845
+#: ../yum/__init__.py:945
 msgid "Getting pkgtags metadata"
 msgstr "Henter metadata for pakkemærker"
 
-#: ../yum/__init__.py:855
+#: ../yum/__init__.py:955
 #, python-format
 msgid "Adding tags from repository: %s"
 msgstr "Tilføjer mærker fra pakkearkiv: %s"
 
-#: ../yum/__init__.py:866
+#: ../yum/__init__.py:966
 #, python-format
 msgid "Failed to add Pkg Tags for repository: %s - %s"
 msgstr "Kunne ikke tilføje pakkemærker for pakkearkiv: %s - %s"
 
-#: ../yum/__init__.py:944
+#: ../yum/__init__.py:1059
 msgid "Importing additional filelist information"
 msgstr "Importerer yderligere information om filliste"
 
-#: ../yum/__init__.py:958
+#: ../yum/__init__.py:1077
 #, python-format
 msgid "The program %s%s%s is found in the yum-utils package."
 msgstr "Programmet %s%s%s er fundet i yum-utils-pakken."
 
-#: ../yum/__init__.py:966
+#: ../yum/__init__.py:1094
 msgid ""
 "There are unfinished transactions remaining. You might consider running yum-"
 "complete-transaction first to finish them."
-msgstr ""
-"Der er uafsluttede overførsler tilbage. Du bør overveje at køre yum-"
-"complete-transaction først for at afslutte dem."
+msgstr "Der er uafsluttede overførsler tilbage. Du bør overveje at køre yum-complete-transaction først for at afslutte dem."
 
-#: ../yum/__init__.py:983
+#: ../yum/__init__.py:1111
 msgid "--> Finding unneeded leftover dependencies"
-msgstr ""
+msgstr "--> Finder unødvendige afhængighedsrester"
 
-#: ../yum/__init__.py:1041
+#: ../yum/__init__.py:1169
 #, python-format
 msgid "Protected multilib versions: %s != %s"
+msgstr "Beskyttede flerbiblioteksversioner: %s != %s"
+
+#. People are confused about protected mutilib ... so give
+#. them a nicer message.
+#: ../yum/__init__.py:1173
+#, python-format
+msgid ""
+" Multilib version problems found. This often means that the root\n"
+"cause is something else and multilib version checking is just\n"
+"pointing out that there is a problem. Eg.:\n"
+"\n"
+"  1. You have an upgrade for %(name)s which is missing some\n"
+"     dependency that another package requires. Yum is trying to\n"
+"     solve this by installing an older version of %(name)s of the\n"
+"     different architecture. If you exclude the bad architecture\n"
+"     yum will tell you what the root cause is (which package\n"
+"     requires what). You can try redoing the upgrade with\n"
+"     --exclude %(name)s.otherarch ... this should give you an error\n"
+"     message showing the root cause of the problem.\n"
+"\n"
+"  2. You have multiple architectures of %(name)s installed, but\n"
+"     yum can only see an upgrade for one of those arcitectures.\n"
+"     If you don't want/need both architectures anymore then you\n"
+"     can remove the one with the missing update and everything\n"
+"     will work.\n"
+"\n"
+"  3. You have duplicate versions of %(name)s installed already.\n"
+"     You can use \"yum check\" to get yum show these errors.\n"
+"\n"
+"...you can also use --setopt=protected_multilib=false to remove\n"
+"this checking, however this is almost never the correct thing to\n"
+"do as something else is very likely to go wrong (often causing\n"
+"much more problems).\n"
+"\n"
 msgstr ""
 
-#: ../yum/__init__.py:1096
+#: ../yum/__init__.py:1257
 #, python-format
 msgid "Trying to remove \"%s\", which is protected"
 msgstr "Prøver at fjerne \"%s\" som er beskyttet"
 
-#: ../yum/__init__.py:1217
+#: ../yum/__init__.py:1378
 msgid ""
 "\n"
 "Packages skipped because of dependency problems:"
-msgstr ""
-"\n"
-"Pakker sprunget over på grund af problemer med afhængigheder:"
+msgstr "\nPakker sprunget over på grund af problemer med afhængigheder:"
 
-#: ../yum/__init__.py:1221
+#: ../yum/__init__.py:1382
 #, python-format
 msgid "    %s from %s"
 msgstr "    %s fra %s"
 
 #. FIXME: _N()
-#: ../yum/__init__.py:1391
+#: ../yum/__init__.py:1556
 #, python-format
 msgid "** Found %d pre-existing rpmdb problem(s), 'yum check' output follows:"
-msgstr ""
-"** Fandt %d før-eksisterende rpmdb-problem(er), \"yum check\" giver "
-"følgende:"
+msgstr "** Fandt %d før-eksisterende rpmdb-problem(er), \"yum check\" giver følgende:"
 
-#: ../yum/__init__.py:1395
+#: ../yum/__init__.py:1560
 msgid "Warning: RPMDB altered outside of yum."
 msgstr "Advarsel: RPMDB er ændret udenfor yum."
 
-#: ../yum/__init__.py:1407
+#: ../yum/__init__.py:1572
 msgid "missing requires"
 msgstr "manglende afhængigheder"
 
-#: ../yum/__init__.py:1408
+#: ../yum/__init__.py:1573
 msgid "installed conflict"
 msgstr "installeret konflikt"
 
-#: ../yum/__init__.py:1525
+#: ../yum/__init__.py:1709
 msgid ""
 "Warning: scriptlet or other non-fatal errors occurred during transaction."
-msgstr ""
-"Advarsel: skriptlet eller andre ikke-fatale fejl opstod under overførslen."
+msgstr "Advarsel: skriptlet eller andre ikke-fatale fejl opstod under overførslen."
 
-#: ../yum/__init__.py:1535
+#: ../yum/__init__.py:1719
 msgid "Transaction couldn't start:"
 msgstr "Overførsel kunne ikke starte:"
 
 #. should this be 'to_unicoded'?
-#: ../yum/__init__.py:1538
+#: ../yum/__init__.py:1722
 msgid "Could not run transaction."
 msgstr "Kunne ikke køre overførsel."
 
-#: ../yum/__init__.py:1552
+#: ../yum/__init__.py:1736
 #, python-format
 msgid "Failed to remove transaction file %s"
 msgstr "Kunne ikke slette transaktionsfilen %s"
 
 #. maybe a file log here, too
 #. but raising an exception is not going to do any good
-#: ../yum/__init__.py:1590
+#: ../yum/__init__.py:1792
 #, python-format
 msgid "%s was supposed to be installed but is not!"
 msgstr "%s skulle være blevet installeret, men det blev den ikke!"
 
 #. maybe a file log here, too
 #. but raising an exception is not going to do any good
-#: ../yum/__init__.py:1651
+#. Note: This actually triggers atm. because we can't
+#. always find the erased txmbr to set it when
+#. we should.
+#: ../yum/__init__.py:1869
 #, python-format
 msgid "%s was supposed to be removed but is not!"
 msgstr "%s skulle være blevet fjernet, men det blev den ikke!"
 
-#: ../yum/__init__.py:1768
-#, python-format
-msgid "Could not open lock %s: %s"
-msgstr "Kunne ikke åbne lås %s: %s"
-
-#. Whoa. What the heck happened?
-#: ../yum/__init__.py:1785
-#, python-format
-msgid "Unable to check if PID %s is active"
-msgstr "Kunne ikke kontrollere om PID %s er aktiv"
-
 #. Another copy seems to be running.
-#: ../yum/__init__.py:1789
+#: ../yum/__init__.py:2004
 #, python-format
 msgid "Existing lock %s: another copy is running as pid %s."
 msgstr "Lås fundet %s: en anden kopi kører som PID %s."
 
 #. Whoa. What the heck happened?
-#: ../yum/__init__.py:1830
+#: ../yum/__init__.py:2053
 #, python-format
 msgid "Could not create lock at %s: %s "
 msgstr "Kunne ikke oprette lås på %s: %s "
 
-#: ../yum/__init__.py:1875
+#: ../yum/__init__.py:2065
+#, python-format
+msgid "Could not open lock %s: %s"
+msgstr "Kunne ikke åbne lås %s: %s"
+
+#. The pid doesn't exist
+#. Whoa. What the heck happened?
+#: ../yum/__init__.py:2082
+#, python-format
+msgid "Unable to check if PID %s is active"
+msgstr "Kunne ikke kontrollere om PID %s er aktiv"
+
+#: ../yum/__init__.py:2132
 #, python-format
 msgid ""
 "Package does not match intended download. Suggestion: run yum "
 "--enablerepo=%s clean metadata"
-msgstr ""
-"Pakke matcher ikke den tænkte nedhentning. Forslag: kør yum --enablerepo=%s "
-"clean metadata"
+msgstr "Pakke matcher ikke den tænkte nedhentning. Forslag: kør yum --enablerepo=%s clean metadata"
 
-#: ../yum/__init__.py:1891
+#: ../yum/__init__.py:2155
 msgid "Could not perform checksum"
 msgstr "Kunne ikke udføre checksum"
 
-#: ../yum/__init__.py:1894
+#: ../yum/__init__.py:2158
 msgid "Package does not match checksum"
 msgstr "Pakken matcher ikke checksum"
 
-#: ../yum/__init__.py:1946
+#: ../yum/__init__.py:2222
 #, python-format
 msgid "package fails checksum but caching is enabled for %s"
 msgstr "pakken fejlede checksum, men mellemlagring er aktiveret for %s"
 
-#: ../yum/__init__.py:1949 ../yum/__init__.py:1979
+#: ../yum/__init__.py:2225 ../yum/__init__.py:2268
 #, python-format
 msgid "using local copy of %s"
 msgstr "bruger lokal kopi af %s"
 
-#: ../yum/__init__.py:1991
-#, python-format
-msgid ""
-"Insufficient space in download directory %s\n"
-"    * free   %s\n"
-"    * needed %s"
+#. caller handles errors
+#: ../yum/__init__.py:2342
+msgid "exiting because --downloadonly specified"
 msgstr ""
-"Ikke plads nok i nedhentningskataloget %s\n"
-"    * fri     %s\n"
-"    * behøvet %s"
 
-#: ../yum/__init__.py:2052
+#: ../yum/__init__.py:2371
 msgid "Header is not complete."
 msgstr "Headerfil er ikke komplet."
 
-#: ../yum/__init__.py:2089
+#: ../yum/__init__.py:2411
 #, python-format
 msgid ""
 "Header not in local cache and caching-only mode enabled. Cannot download %s"
-msgstr ""
-"Headerfil er ikke i lokal cache og kun-caching-tilstand er aktiveret. Kan "
-"ikke hente %s"
+msgstr "Headerfil er ikke i lokal cache og kun-caching-tilstand er aktiveret. Kan ikke hente %s"
 
-#: ../yum/__init__.py:2147
+#: ../yum/__init__.py:2471
 #, python-format
 msgid "Public key for %s is not installed"
 msgstr "Offentlig nøgle for %s er ikke installeret"
 
-#: ../yum/__init__.py:2151
+#: ../yum/__init__.py:2475
 #, python-format
 msgid "Problem opening package %s"
 msgstr "Kunne ikke åbne pakke %s"
 
-#: ../yum/__init__.py:2159
+#: ../yum/__init__.py:2483
 #, python-format
 msgid "Public key for %s is not trusted"
 msgstr "Offentlig nøgle for %s er ikke sikker"
 
-#: ../yum/__init__.py:2163
+#: ../yum/__init__.py:2487
 #, python-format
 msgid "Package %s is not signed"
 msgstr "Pakken %s er ikke signeret"
 
-#: ../yum/__init__.py:2202
+#: ../yum/__init__.py:2529
 #, python-format
 msgid "Cannot remove %s"
 msgstr "Kan ikke fjerne %s"
 
-#: ../yum/__init__.py:2206
+#: ../yum/__init__.py:2533
 #, python-format
 msgid "%s removed"
 msgstr "%s fjernet"
 
-#: ../yum/__init__.py:2252
+#: ../yum/__init__.py:2594
 #, python-format
 msgid "Cannot remove %s file %s"
 msgstr "Kan ikke slette %s filen %s"
 
-#: ../yum/__init__.py:2256
+#: ../yum/__init__.py:2598
 #, python-format
 msgid "%s file %s removed"
 msgstr "%s filen %s er slettet"
 
-#: ../yum/__init__.py:2258
+#: ../yum/__init__.py:2600
 #, python-format
-msgid "%d %s files removed"
-msgstr "%d %s filer slettet"
+msgid "%d %s file removed"
+msgid_plural "%d %s files removed"
+msgstr[0] "%d %s-fil fjernet"
+msgstr[1] "%d %s-filer fjernet"
 
-#: ../yum/__init__.py:2327
+#: ../yum/__init__.py:2712
 #, python-format
 msgid "More than one identical match in sack for %s"
 msgstr "Mere end et identisk match i liste for %s"
 
-#: ../yum/__init__.py:2333
+#: ../yum/__init__.py:2718
 #, python-format
 msgid "Nothing matches %s.%s %s:%s-%s from update"
 msgstr "Ingen opdateringer matcher %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:2632
+#: ../yum/__init__.py:3096
 msgid ""
 "searchPackages() will go away in a future version of Yum."
 "                      Use searchGenerator() instead. \n"
-msgstr ""
-"searchPackages() vil forsvinde i en fremtidig version af Yum."
-"                      Brug searchGenerator() istedet. \n"
+msgstr "searchPackages() vil forsvinde i en fremtidig version af Yum.                      Brug searchGenerator() istedet. \n"
 
-#: ../yum/__init__.py:2675
+#: ../yum/__init__.py:3149
 #, python-format
-msgid "Searching %d packages"
-msgstr "Genemsøger %d pakker"
+msgid "Searching %d package"
+msgid_plural "Searching %d packages"
+msgstr[0] "Søger %d pakke"
+msgstr[1] "Søger %d pakker"
 
-#: ../yum/__init__.py:2679
+#: ../yum/__init__.py:3153
 #, python-format
 msgid "searching package %s"
 msgstr "gennemsøger pakke %s"
 
-#: ../yum/__init__.py:2691
+#: ../yum/__init__.py:3165
 msgid "searching in file entries"
 msgstr "gennemsøger filopslag"
 
-#: ../yum/__init__.py:2698
+#: ../yum/__init__.py:3172
 msgid "searching in provides entries"
 msgstr "søger efter afhængigheder"
 
-#: ../yum/__init__.py:2777
+#: ../yum/__init__.py:3369
 msgid "No group data available for configured repositories"
 msgstr "Ingen tilgængelige gruppedata i konfigurerede pakkearkiver"
 
-#: ../yum/__init__.py:2808 ../yum/__init__.py:2827 ../yum/__init__.py:2858
-#: ../yum/__init__.py:2864 ../yum/__init__.py:2953 ../yum/__init__.py:2957
-#: ../yum/__init__.py:3339
+#: ../yum/__init__.py:3466 ../yum/__init__.py:3500 ../yum/__init__.py:3576
+#: ../yum/__init__.py:3582 ../yum/__init__.py:3719 ../yum/__init__.py:3723
+#: ../yum/__init__.py:4298
 #, python-format
 msgid "No Group named %s exists"
 msgstr "Gruppen %s findes ikke"
 
-#: ../yum/__init__.py:2839 ../yum/__init__.py:2973
+#: ../yum/__init__.py:3512 ../yum/__init__.py:3740
 #, python-format
 msgid "package %s was not marked in group %s"
 msgstr "pakken %s var ikke markeret i gruppen %s"
 
-#: ../yum/__init__.py:2887
+#. (upgrade and igroup_data[pkg] == 'available')):
+#: ../yum/__init__.py:3622
+#, python-format
+msgid "Skipping package %s from group %s"
+msgstr "Springer pakke %s fra gruppe %s over"
+
+#: ../yum/__init__.py:3628
 #, python-format
 msgid "Adding package %s from group %s"
 msgstr "Tilføjer pakken %s fra gruppen %s"
 
-#: ../yum/__init__.py:2891
+#: ../yum/__init__.py:3649
 #, python-format
 msgid "No package named %s available to be installed"
 msgstr "Pakken %s er ikke tilgængelig til installation"
 
-#: ../yum/__init__.py:2941
+#: ../yum/__init__.py:3702
 #, python-format
-msgid "Warning: Group %s does not have any packages."
+msgid "Warning: Group %s does not have any packages to install."
 msgstr ""
 
-#: ../yum/__init__.py:2943
+#: ../yum/__init__.py:3704
 #, python-format
 msgid "Group %s does have %u conditional packages, which may get installed."
+msgstr "Gruppe %s har ingen %u konditionelle pakker, som måske installeres."
+
+#: ../yum/__init__.py:3794
+#, python-format
+msgid "Skipping group %s from environment %s"
 msgstr ""
 
 #. This can happen due to excludes after .up has
 #. happened.
-#: ../yum/__init__.py:3002
+#: ../yum/__init__.py:3858
 #, python-format
 msgid "Package tuple %s could not be found in packagesack"
-msgstr "Pakken %s kunne ikke findes i pakkeliste"
+msgstr "Pakkepar %s kunne ikke findes i pakkeliste"
 
-#: ../yum/__init__.py:3022
+#: ../yum/__init__.py:3886
 #, python-format
 msgid "Package tuple %s could not be found in rpmdb"
 msgstr "Pakkepar %s kunne ikke findes i rpmdb"
 
-#: ../yum/__init__.py:3079 ../yum/__init__.py:3129
+#: ../yum/__init__.py:3949 ../yum/__init__.py:4012
 #, python-format
 msgid "Invalid version flag from: %s"
-msgstr ""
+msgstr "Ugyldig versionsflag fra: %s"
 
-#: ../yum/__init__.py:3096 ../yum/__init__.py:3101
+#: ../yum/__init__.py:3973 ../yum/__init__.py:3979 ../yum/__init__.py:4036
+#: ../yum/__init__.py:4042
 #, python-format
 msgid "No Package found for %s"
 msgstr "Ingen pakke fundet for %s"
 
-#: ../yum/__init__.py:3401
+#: ../yum/__init__.py:4245 ../yum/__init__.py:4274
+#, python-format
+msgid "Warning: Environment Group %s does not exist."
+msgstr ""
+
+#: ../yum/__init__.py:4397
+#, python-format
+msgid "Package: %s - can't co-install with %s"
+msgstr ""
+
+#: ../yum/__init__.py:4437
 msgid "Package Object was not a package object instance"
 msgstr "Pakkeobjektet er ikke en pakkeobjektinstans"
 
-#: ../yum/__init__.py:3405
+#: ../yum/__init__.py:4441
 msgid "Nothing specified to install"
 msgstr "Der er intet angivet til installation"
 
-#: ../yum/__init__.py:3424 ../yum/__init__.py:4283
+#: ../yum/__init__.py:4465 ../yum/__init__.py:5410
 #, python-format
 msgid "Checking for virtual provide or file-provide for %s"
 msgstr "Kontrollerer for virtueludbyder eller filudbyder for %s"
 
-#: ../yum/__init__.py:3430 ../yum/__init__.py:3775 ../yum/__init__.py:3969
-#: ../yum/__init__.py:4289
-#, python-format
-msgid "No Match for argument: %s"
-msgstr "Ingen match for argument: %s"
-
-#: ../yum/__init__.py:3507
+#: ../yum/__init__.py:4542
 #, python-format
 msgid "Package %s installed and not available"
 msgstr "Pakken %s installeret og ikke tilgængelig"
 
-#: ../yum/__init__.py:3510
+#: ../yum/__init__.py:4545
 msgid "No package(s) available to install"
 msgstr "Ingen pakke(r) er tilgængelig(e) til installation"
 
-#: ../yum/__init__.py:3522
+#: ../yum/__init__.py:4557
 #, python-format
 msgid "Package: %s  - already in transaction set"
 msgstr "Pakken: %s  - allerede i overførselssættet"
 
-#: ../yum/__init__.py:3550
+#: ../yum/__init__.py:4589
 #, python-format
 msgid "Package %s is obsoleted by %s which is already installed"
 msgstr "Pakke %s er overflødiggjort af %s, som allerede er installeret"
 
-#: ../yum/__init__.py:3555
+#: ../yum/__init__.py:4594
 #, python-format
 msgid ""
 "Package %s is obsoleted by %s, but obsoleting package does not provide for "
 "requirements"
-msgstr ""
-"Pakke %s er forældret af %s, men forældet pakke tilbyder ikke afhængigheder"
+msgstr "Pakke %s er forældret af %s, men forældet pakke tilbyder ikke afhængigheder"
 
-#: ../yum/__init__.py:3558
+#: ../yum/__init__.py:4597
 #, python-format
 msgid "Package %s is obsoleted by %s, trying to install %s instead"
 msgstr "Pakke %s er overflødiggjort af %s, prøver at installere %s istedet"
 
-#: ../yum/__init__.py:3566
+#: ../yum/__init__.py:4605
 #, python-format
 msgid "Package %s already installed and latest version"
 msgstr "Pakke %s er allerede installeret i den nyeste version"
 
-#: ../yum/__init__.py:3580
+#: ../yum/__init__.py:4619
 #, python-format
 msgid "Package matching %s already installed. Checking for update."
-msgstr ""
-"Pakken som matcher %s er allerede installeret. Søger efter opdatering."
+msgstr "Pakken som matcher %s er allerede installeret. Søger efter opdatering."
 
 #. update everything (the easy case)
-#: ../yum/__init__.py:3684
+#: ../yum/__init__.py:4751
 msgid "Updating Everything"
 msgstr "Opdaterer alt"
 
-#: ../yum/__init__.py:3708 ../yum/__init__.py:3849 ../yum/__init__.py:3879
-#: ../yum/__init__.py:3915
+#: ../yum/__init__.py:4775 ../yum/__init__.py:4930 ../yum/__init__.py:4975
+#: ../yum/__init__.py:5011
 #, python-format
 msgid "Not Updating Package that is already obsoleted: %s.%s %s:%s-%s"
-msgstr ""
-"Ingen opdatering af pakke som allerede er overflødiggjort: %s.%s %s:%s-%s"
+msgstr "Ingen opdatering af pakke som allerede er overflødiggjort: %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3753 ../yum/__init__.py:3965
+#: ../yum/__init__.py:4830 ../yum/__init__.py:5072
 #, python-format
 msgid "%s"
 msgstr "%s"
 
-#: ../yum/__init__.py:3838
+#: ../yum/__init__.py:4854 ../yum/__init__.py:5080 ../yum/__init__.py:5416
+#, python-format
+msgid "No Match for argument: %s"
+msgstr "Ingen match for argument: %s"
+
+#: ../yum/__init__.py:4872
+#, python-format
+msgid "No package matched to upgrade: %s"
+msgstr "Ingen pakke matchede til opgradering: %s"
+
+#: ../yum/__init__.py:4919
 #, python-format
 msgid "Package is already obsoleted: %s.%s %s:%s-%s"
 msgstr "Pakke er allerede overflødiggjort: %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3874
+#: ../yum/__init__.py:4970
 #, python-format
 msgid "Not Updating Package that is obsoleted: %s"
 msgstr "Opdaterer ikke pakke som er blevet overflødiggjort: %s"
 
-#: ../yum/__init__.py:3883 ../yum/__init__.py:3919
+#: ../yum/__init__.py:4979 ../yum/__init__.py:5015
 #, python-format
 msgid "Not Updating Package that is already updated: %s.%s %s:%s-%s"
-msgstr ""
-"Ingen opdatering af pakke som allerede er overflødiggjort: %s.%s %s:%s-%s"
+msgstr "Ingen opdatering af pakke som allerede er overflødiggjort: %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3982
-msgid "No package matched to remove"
-msgstr "Ingen pakker fundet til fjernelse"
+#: ../yum/__init__.py:5093
+#, python-format
+msgid "No package matched to remove: %s"
+msgstr "Ingen pakke matchede til fjernelse: %s"
 
-#: ../yum/__init__.py:3988
+#: ../yum/__init__.py:5099
 #, python-format
 msgid "Skipping the running kernel: %s"
 msgstr "Lader være med at køre kerne: %s"
 
-#: ../yum/__init__.py:3994
+#: ../yum/__init__.py:5105
 #, python-format
 msgid "Removing %s from the transaction"
 msgstr "Fjerner %s fra overførslen"
 
-#: ../yum/__init__.py:4029
+#: ../yum/__init__.py:5142
 #, python-format
 msgid "Cannot open: %s. Skipping."
 msgstr "Kan ikke åbne: %s. Springer over."
 
-#: ../yum/__init__.py:4032 ../yum/__init__.py:4150 ../yum/__init__.py:4226
+#: ../yum/__init__.py:5145 ../yum/__init__.py:5262 ../yum/__init__.py:5347
 #, python-format
 msgid "Examining %s: %s"
 msgstr "Undersøger %s: %s"
 
-#: ../yum/__init__.py:4036
+#: ../yum/__init__.py:5149
 #, python-format
 msgid "Cannot localinstall deltarpm: %s. Skipping."
 msgstr "Kan ikke lokalinstallere deltarpm: %s. Springer over."
 
-#: ../yum/__init__.py:4045 ../yum/__init__.py:4153 ../yum/__init__.py:4229
+#: ../yum/__init__.py:5158 ../yum/__init__.py:5265 ../yum/__init__.py:5350
 #, python-format
 msgid ""
 "Cannot add package %s to transaction. Not a compatible architecture: %s"
-msgstr ""
-"Kan ikke tilføje pakke %s til overførsel. Ikke en kompatibel arkitektur: %s"
+msgstr "Kan ikke tilføje pakke %s til overførsel. Ikke en kompatibel arkitektur: %s"
 
-#: ../yum/__init__.py:4051
+#: ../yum/__init__.py:5164
 #, python-format
 msgid "Cannot install package %s. It is obsoleted by installed package %s"
 msgstr "Kan ikke installere pakke %s. Den er forældet af installeret pakke %s"
 
-#: ../yum/__init__.py:4059
+#: ../yum/__init__.py:5172
 #, python-format
 msgid ""
 "Package %s not installed, cannot update it. Run yum install to install it "
 "instead."
-msgstr ""
-"Pakken %s er ikke installeret, så den kan ikke opdateres. Kør yum install "
-"for at installere den istedet."
+msgstr "Pakken %s er ikke installeret, så den kan ikke opdateres. Kør yum install for at installere den istedet."
 
-#: ../yum/__init__.py:4078 ../yum/__init__.py:4085
+#: ../yum/__init__.py:5191 ../yum/__init__.py:5198
 #, python-format
 msgid ""
 "Package %s.%s not installed, cannot update it. Run yum install to install it"
 " instead."
-msgstr ""
+msgstr "Pakke %s.%s ikke installeret, kan ikke opdatere den. Kør yum install for at installere den i stedet."
 
-#: ../yum/__init__.py:4094 ../yum/__init__.py:4158 ../yum/__init__.py:4234
+#: ../yum/__init__.py:5207 ../yum/__init__.py:5270 ../yum/__init__.py:5355
 #, python-format
 msgid "Excluding %s"
 msgstr "Ekskluderer %s"
 
-#: ../yum/__init__.py:4099
+#: ../yum/__init__.py:5212
 #, python-format
 msgid "Marking %s to be installed"
 msgstr "Markerer %s til installation"
 
-#: ../yum/__init__.py:4105
+#: ../yum/__init__.py:5218
 #, python-format
 msgid "Marking %s as an update to %s"
 msgstr "Markerer %s som en opdatering til %s"
 
-#: ../yum/__init__.py:4112
+#: ../yum/__init__.py:5225
 #, python-format
 msgid "%s: does not update installed package."
 msgstr "%s kan ikke opdatere installeret pakke."
 
-#: ../yum/__init__.py:4147 ../yum/__init__.py:4223
+#: ../yum/__init__.py:5259 ../yum/__init__.py:5344
 #, python-format
 msgid "Cannot open file: %s. Skipping."
 msgstr "Kan ikke åbne fil: %s. Springer over."
 
-#: ../yum/__init__.py:4177
+#: ../yum/__init__.py:5299
 msgid "Problem in reinstall: no package matched to remove"
 msgstr "Problem med geninstallation, ingen pakke fundet til at blive fjernet"
 
-#: ../yum/__init__.py:4203
+#: ../yum/__init__.py:5325
 #, python-format
 msgid "Problem in reinstall: no package %s matched to install"
 msgstr "Problem med geninstallation: ingen pakke %s fundet til at installere"
 
-#: ../yum/__init__.py:4311
+#: ../yum/__init__.py:5438
 msgid "No package(s) available to downgrade"
 msgstr "Ingen pakke(r) er tilgængelig(e) til nedgradering"
 
-#: ../yum/__init__.py:4319
+#: ../yum/__init__.py:5446
 #, python-format
 msgid "Package %s is allowed multiple installs, skipping"
 msgstr "Pakke %s er tilladt at have flere installationer, springer over"
 
-#: ../yum/__init__.py:4365
+#: ../yum/__init__.py:5496
 #, python-format
 msgid "No Match for available package: %s"
 msgstr "Ingen match for tilgængelig pakke: %s"
 
-#: ../yum/__init__.py:4372
+#: ../yum/__init__.py:5506
 #, python-format
 msgid "Only Upgrade available on package: %s"
 msgstr "Opgradér kun tilgængelig på pakke: %s"
 
-#: ../yum/__init__.py:4442 ../yum/__init__.py:4479
+#: ../yum/__init__.py:5619 ../yum/__init__.py:5686
 #, python-format
 msgid "Failed to downgrade: %s"
+msgstr "Kunne ikke nedgradere: %s"
+
+#: ../yum/__init__.py:5636 ../yum/__init__.py:5692
+#, python-format
+msgid "Failed to upgrade: %s"
 msgstr "Kunne ikke opgradere: %s"
 
-#: ../yum/__init__.py:4516
+#: ../yum/__init__.py:5725
 #, python-format
 msgid "Retrieving key from %s"
-msgstr ""
+msgstr "Henter nøgle fra %s"
 
-#: ../yum/__init__.py:4534
+#: ../yum/__init__.py:5743
 msgid "GPG key retrieval failed: "
 msgstr "Hentning af GPG-nøglen mislykkedes: "
 
 #. if we decide we want to check, even though the sig failed
 #. here is where we would do that
-#: ../yum/__init__.py:4557
+#: ../yum/__init__.py:5766
 #, python-format
 msgid "GPG key signature on key %s does not match CA Key for repo: %s"
-msgstr ""
+msgstr "GPG-nøglesignatur ved nøgle %s matcher ikke CA-nøgle for pakkearkiv: %s"
 
-#: ../yum/__init__.py:4559
+#: ../yum/__init__.py:5768
 msgid "GPG key signature verified against CA Key(s)"
-msgstr ""
+msgstr "GPG-nøglesignatur verificeret op mod CA-nøgle(r)"
 
-#: ../yum/__init__.py:4567
+#: ../yum/__init__.py:5776
 #, python-format
 msgid "Invalid GPG Key from %s: %s"
 msgstr "Ugyldig GPG-nøgle fra %s: %s"
 
-#: ../yum/__init__.py:4576
+#: ../yum/__init__.py:5785
 #, python-format
 msgid "GPG key parsing failed: key does not have value %s"
 msgstr "Tolkning af GPG-nøgle mislykkedes: nøgle har ikke nogen værdi %s"
 
-#: ../yum/__init__.py:4592
+#: ../yum/__init__.py:5801
 #, python-format
 msgid ""
 "Importing %s key 0x%s:\n"
-" Userid : %s\n"
-" Package: %s (%s)\n"
-" From   : %s"
-msgstr ""
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" Package    : %s (%s)\n"
+" From       : %s"
+msgstr "Importerer %s-nøgle 0x%s:\n Brugerid    : \"%s\"\n Fingeraftryk: %s\n Pakke       : %s (%s)\n Fra         : %s"
 
-#: ../yum/__init__.py:4600
+#: ../yum/__init__.py:5811
 #, python-format
 msgid ""
 "Importing %s key 0x%s:\n"
-" Userid: \"%s\"\n"
-" From  : %s"
-msgstr ""
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" From       : %s"
+msgstr "Importerer %s-nøgle 0x%s:\n Brugerid    : \"%s\"\n Fingeraftryk: %s\n Fra         : %s"
 
-#: ../yum/__init__.py:4634
+#: ../yum/__init__.py:5839
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" Failing package is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr "\n\n\n Fejlende pakke er: %s\n GPG-nøgler er konfigureret som: %s\n"
+
+#: ../yum/__init__.py:5853
 #, python-format
 msgid "GPG key at %s (0x%s) is already installed"
 msgstr "GPG-nøgle på %s (0x%s) er allerede installeret"
 
-#: ../yum/__init__.py:4671
+#: ../yum/__init__.py:5891
 #, python-format
 msgid "Key import failed (code %d)"
 msgstr "Importering af nøgle mislykkedes (kode %d)"
 
-#: ../yum/__init__.py:4672 ../yum/__init__.py:4755
+#: ../yum/__init__.py:5893 ../yum/__init__.py:5994
 msgid "Key imported successfully"
 msgstr "Nøglen blev importet med succes"
 
-#: ../yum/__init__.py:4676
+#: ../yum/__init__.py:5897
 msgid "Didn't install any keys"
-msgstr ""
+msgstr "Installerede ikke nogen nøgler"
 
-#: ../yum/__init__.py:4680
+#: ../yum/__init__.py:5900
 #, python-format
 msgid ""
 "The GPG keys listed for the \"%s\" repository are already installed but they are not correct for this package.\n"
 "Check that the correct key URLs are configured for this repository."
-msgstr ""
-"GPG-nøglen er vist for \"%s\" pakkearkivet er allerede installeret, men den er ikke korrekt for denne pakke.\n"
-"Kontrollér at konfigurationen af nøgle-URL'er er korrekt for denne kilde."
+msgstr "GPG-nøglen er vist for \"%s\" pakkearkivet er allerede installeret, men den er ikke korrekt for denne pakke.\nKontrollér at konfigurationen af nøgle-URL'er er korrekt for denne kilde."
 
-#: ../yum/__init__.py:4689
+#: ../yum/__init__.py:5910
 msgid "Import of key(s) didn't help, wrong key(s)?"
 msgstr "Importering af nøgle(r) hjalp ikke, forkerte nøgle(r)?"
 
-#: ../yum/__init__.py:4713
+#: ../yum/__init__.py:5932
+msgid "No"
+msgstr "Nej"
+
+#: ../yum/__init__.py:5934
+msgid "Yes"
+msgstr "Ja"
+
+#: ../yum/__init__.py:5935
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" CA Key: %s\n"
+" Failing repo is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr "\n\n\n CA-nøgle: %s\n Fejlende arkiv er: %s\n GPG-nøgler er konfigureret som: %s\n"
+
+#: ../yum/__init__.py:5948
 #, python-format
 msgid "GPG key at %s (0x%s) is already imported"
 msgstr "GPG-nøgle på %s (0x%s) er allerede importeret"
 
-#: ../yum/__init__.py:4754
-msgid "Key import failed"
-msgstr "Importering af nøgle mislykkedes"
+#: ../yum/__init__.py:5992
+#, python-format
+msgid "Key %s import failed"
+msgstr "Importering af nøgle %s mislykkedes"
 
-#: ../yum/__init__.py:4770
+#: ../yum/__init__.py:6009
 #, python-format
 msgid "Didn't install any keys for repo %s"
-msgstr ""
+msgstr "Installerede ikke nogen nøgler for pakkearkiv %s"
 
-#: ../yum/__init__.py:4774
+#: ../yum/__init__.py:6014
 #, python-format
 msgid ""
 "The GPG keys listed for the \"%s\" repository are already installed but they are not correct.\n"
 "Check that the correct key URLs are configured for this repository."
-msgstr ""
-"GPG-nøglen listet for pakkearkivet \"%s\" er allerede installeret, men de er ikke korrekte.\n"
-"Kontrollér at de korrekte nøgle-url'er er konfigureret for dette pakkearkiv."
+msgstr "GPG-nøglen listet for pakkearkivet \"%s\" er allerede installeret, men de er ikke korrekte.\nKontrollér at de korrekte nøgle-url'er er konfigureret for dette pakkearkiv."
 
-#: ../yum/__init__.py:4924
+#: ../yum/__init__.py:6172
 msgid "Unable to find a suitable mirror."
 msgstr "Kunne ikke finde et passende filspejl."
 
-#: ../yum/__init__.py:4926
+#: ../yum/__init__.py:6174
 msgid "Errors were encountered while downloading packages."
 msgstr "Fejl blev fundet under hentning af pakker."
 
-#: ../yum/__init__.py:4981
+#: ../yum/__init__.py:6229
 #, python-format
 msgid "Please report this error at %s"
 msgstr "Rapportér venligst denne fejl på %s"
 
-#: ../yum/__init__.py:4998
+#: ../yum/__init__.py:6246
 msgid "Test Transaction Errors: "
 msgstr "Fejl i testoverførslen: "
 
-#: ../yum/__init__.py:5098
+#: ../yum/__init__.py:6358
 #, python-format
 msgid "Could not set cachedir: %s"
 msgstr "Kunne ikke sætte mellemlagermappe: %s"
 
-#: ../yum/__init__.py:5148 ../yum/__init__.py:5150
+#: ../yum/__init__.py:6420 ../yum/__init__.py:6422
 msgid "Dependencies not solved. Will not save unresolved transaction."
-msgstr ""
+msgstr "Afhængigheder ikke løst. Vil ikke gemme uløst overførsel."
 
-#: ../yum/__init__.py:5179 ../yum/__init__.py:5181
+#: ../yum/__init__.py:6455 ../yum/__init__.py:6457
 #, python-format
 msgid "Could not save transaction file %s: %s"
-msgstr ""
+msgstr "Kunne ikke gemme overførselsfil %s: %s"
 
-#: ../yum/__init__.py:5195
+#: ../yum/__init__.py:6483
 #, python-format
 msgid "Could not access/read saved transaction %s : %s"
-msgstr ""
+msgstr "Kunne ikke få adgang til eller læse gemte overførsler %s : %s"
 
-#: ../yum/__init__.py:5214
-msgid "rpmdb ver mismatched saved transaction version, "
+#: ../yum/__init__.py:6521
+msgid "rpmdb ver mismatched saved transaction version,"
 msgstr ""
 
-#: ../yum/__init__.py:5216
-msgid " ignoring, as requested."
-msgstr ""
-
-#: ../yum/__init__.py:5219 ../yum/__init__.py:5354
-msgid " aborting."
-msgstr ""
-
-#: ../yum/__init__.py:5228
+#: ../yum/__init__.py:6535
 msgid "cannot find tsflags or tsflags not integer."
-msgstr ""
+msgstr "kan ikke finde tsflags eller tsflags ikke heltal."
 
-#: ../yum/__init__.py:5267
+#: ../yum/__init__.py:6584
 #, python-format
 msgid "Found txmbr in unknown current state: %s"
-msgstr ""
+msgstr "Fandt txmbr i nuværende ukendt status: %s"
 
-#: ../yum/__init__.py:5271
+#: ../yum/__init__.py:6588
 #, python-format
 msgid "Could not find txmbr: %s in state %s"
-msgstr ""
+msgstr "Kunne ikke finde txmbr: %s i status %s"
 
-#: ../yum/__init__.py:5307 ../yum/__init__.py:5324
+#: ../yum/__init__.py:6625 ../yum/__init__.py:6642
 #, python-format
 msgid "Could not find txmbr: %s from origin: %s"
-msgstr ""
+msgstr "Kunne ikke finde txmbr: %s fra oprindelse: %s"
 
-#: ../yum/__init__.py:5349
+#: ../yum/__init__.py:6667
 msgid "Transaction members, relations are missing or ts has been modified,"
-msgstr ""
+msgstr "Overførselsmedlemmer, relationer mangler eller ts er blevet ændret,"
 
-#: ../yum/__init__.py:5351
+#: ../yum/__init__.py:6670
 msgid " ignoring, as requested. You must redepsolve!"
+msgstr " ignorerer, som forespurgt. Du skal redepsolve!"
+
+#. Debugging output
+#: ../yum/__init__.py:6738 ../yum/__init__.py:6757
+#, python-format
+msgid "%s has been visited already and cannot be removed."
+msgstr "%s er allerede blevet besøgt og kan ikke fjernes."
+
+#. Debugging output
+#: ../yum/__init__.py:6741
+#, python-format
+msgid "Examining revdeps of %s"
+msgstr "Undersøger revdeps af %s"
+
+#. Debugging output
+#: ../yum/__init__.py:6762
+#, python-format
+msgid "%s has revdep %s which was user-installed."
+msgstr "%s har revdep %s, som blev brugerinstalleret."
+
+#: ../yum/__init__.py:6773 ../yum/__init__.py:6779
+#, python-format
+msgid "%s is needed by a package to be installed."
 msgstr ""
 
+#. Debugging output
+#: ../yum/__init__.py:6793
+#, python-format
+msgid "%s has no user-installed revdeps."
+msgstr "%s har ingen brugerinstallerede revdeps."
+
 #. Mostly copied from YumOutput._outKeyValFill()
-#: ../yum/plugins.py:209
+#: ../yum/plugins.py:212
 msgid "Loaded plugins: "
 msgstr "Indlæste udvidelsesmoduler: "
 
-#: ../yum/plugins.py:223 ../yum/plugins.py:229
+#: ../yum/plugins.py:226 ../yum/plugins.py:232
 #, python-format
 msgid "No plugin match for: %s"
 msgstr "Intet udvidelsesmodul til: %s"
 
-#: ../yum/plugins.py:259
+#: ../yum/plugins.py:262
 #, python-format
 msgid "Not loading \"%s\" plugin, as it is disabled"
 msgstr "Indlæser ikke \"%s\" udvidelsesmodul, fordi det er deaktiveret"
 
 #. Give full backtrace:
-#: ../yum/plugins.py:271
+#: ../yum/plugins.py:274
 #, python-format
 msgid "Plugin \"%s\" can't be imported"
 msgstr "Udvidelsesmodul \"%s\" kan ikke importeres"
 
-#: ../yum/plugins.py:278
+#: ../yum/plugins.py:281
 #, python-format
 msgid "Plugin \"%s\" doesn't specify required API version"
 msgstr "Udvidelsesmodul \"%s\" angiver ikke hvilken API-version der er påkrævet"
 
-#: ../yum/plugins.py:283
+#: ../yum/plugins.py:286
 #, python-format
 msgid "Plugin \"%s\" requires API %s. Supported API is %s."
 msgstr "Udvidelsesmodul \"%s\" krævet API %s. Understøttet API er %s."
 
-#: ../yum/plugins.py:316
+#: ../yum/plugins.py:319
 #, python-format
 msgid "Loading \"%s\" plugin"
 msgstr "Indlæser \"%s\" udvidelsesmodul"
 
-#: ../yum/plugins.py:323
+#: ../yum/plugins.py:326
 #, python-format
 msgid "Two or more plugins with the name \"%s\" exist in the plugin search path"
-msgstr ""
-"To eller flere udvidelsesmoduler med navnet \"%s\" er fundet i søgestien for"
-" udvidelsesmoduler"
+msgstr "To eller flere udvidelsesmoduler med navnet \"%s\" er fundet i søgestien for udvidelsesmoduler"
 
-#: ../yum/plugins.py:343
+#: ../yum/plugins.py:346
 #, python-format
 msgid "Configuration file %s not found"
 msgstr "Konfigurationsfilen %s er ikke fundet"
 
 #. for
 #. Configuration files for the plugin not found
-#: ../yum/plugins.py:346
+#: ../yum/plugins.py:349
 #, python-format
 msgid "Unable to find configuration file for plugin %s"
 msgstr "Kunne ikke finde konfigurationsfilen til udvidelsesmodul: %s"
 
-#: ../yum/plugins.py:508
+#: ../yum/plugins.py:553
 msgid "registration of commands not supported"
 msgstr "registrering af komandoer er ikke understøttet"
 
-#: ../yum/rpmsack.py:148
+#: ../yum/rpmsack.py:159
 msgid "has missing requires of"
 msgstr "har manglende afhængigheder af"
 
-#: ../yum/rpmsack.py:151
+#: ../yum/rpmsack.py:162
 msgid "has installed conflicts"
 msgstr "har installerede konflikter"
 
-#: ../yum/rpmsack.py:160
+#: ../yum/rpmsack.py:171
 #, python-format
 msgid "%s is a duplicate with %s"
 msgstr "%s er en dublet af %s"
 
-#: ../yum/rpmsack.py:168
+#: ../yum/rpmsack.py:179
 #, python-format
 msgid "%s is obsoleted by %s"
 msgstr "%s er forældet af %s"
 
-#: ../yum/rpmsack.py:176
+#: ../yum/rpmsack.py:187
 #, python-format
 msgid "%s provides %s but it cannot be found"
 msgstr "%s giver %s men kan ikke findes"
@@ -3137,6 +3459,23 @@ msgstr "%s giver %s men kan ikke findes"
 msgid "Repackaging"
 msgstr "Genpakning"
 
+#: ../yum/rpmtrans.py:149
+#, python-format
+msgid "Verify: %u/%u: %s"
+msgstr "Verificér: %u/%u: %s"
+
+#: ../yum/yumRepo.py:919
+#, python-format
+msgid ""
+"Insufficient space in download directory %s\n"
+"    * free   %s\n"
+"    * needed %s"
+msgstr "Ikke plads nok i nedhentningskataloget %s\n    * fri     %s\n    * behøvet %s"
+
+#: ../yum/yumRepo.py:986
+msgid "Package does not match intended download."
+msgstr ""
+
 #: ../rpmUtils/oldUtils.py:33
 #, python-format
 msgid "Header cannot be opened or does not match %s, %s."
@@ -3149,8 +3488,7 @@ msgstr "RPM %s fejlede md5-kontrol"
 
 #: ../rpmUtils/oldUtils.py:151
 msgid "Could not open RPM database for reading. Perhaps it is already in use?"
-msgstr ""
-"Kunne ikke åbne RPM-database til læsning. Måske er den allerede i brug?"
+msgstr "Kunne ikke åbne RPM-database til læsning. Måske er den allerede i brug?"
 
 #: ../rpmUtils/oldUtils.py:183
 msgid "Got an empty Header, something has gone wrong"
@@ -3166,5 +3504,3 @@ msgstr "Ødelagt headerfil %s"
 #, python-format
 msgid "Error opening rpm %s - error %s"
 msgstr "Fejl ved åbning af RPM %s - fejl %s"
-
-
diff --git a/po/de.po b/po/de.po
index fa39cb0..3f1e62e 100644
--- a/po/de.po
+++ b/po/de.po
@@ -2,1522 +2,1662 @@
 # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
 # This file is distributed under the same license as the PACKAGE package.
 # 
-# Laurin  <lineak@fedoraproject.org>, 2011
-# Vinzenz Vietzke <vinz@fedoraproject.org>, 2011
-# Hendrik Richter <hendrikr@gnome.org>, 2011
+# Translators:
+# Fabian Affolter <fab@fedoraproject.org>, 2011.
+# Hendrik Richter <hendrikr@gnome.org>, 2011.
+# Laurin  <lineak@fedoraproject.org>, 2011.
+# Mario Blättermann <mario.blaettermann@gmail.com>, 2012.
+# Roman Spirgi <bigant@fedoraproject.org>, 2012.
+# Vinzenz Vietzke <vinz@fedoraproject.org>, 2011.
+#   <yellowcake-@gmx.net>, 2012.
 msgid ""
 msgstr ""
 "Project-Id-Version: Yum\n"
-"Report-Msgid-Bugs-To: http://yum.baseurl.org/\n"
-"POT-Creation-Date: 2011-06-06 10:21-0400\n"
-"PO-Revision-Date: 2011-06-06 14:21+0000\n"
-"Last-Translator: skvidal <skvidal@fedoraproject.org>\n"
-"Language-Team: German (http://www.transifex.net/projects/p/yum/team/de/)\n"
+"Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
+"POT-Creation-Date: 2013-01-30 09:08-0500\n"
+"PO-Revision-Date: 2013-01-30 14:08+0000\n"
+"Last-Translator: james <james@fedoraproject.org>\n"
+"Language-Team: German (http://www.transifex.com/projects/p/yum/language/de/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Language: de\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: ../callback.py:48 ../output.py:1037 ../yum/rpmtrans.py:73
+#: ../callback.py:45 ../output.py:1502 ../yum/rpmtrans.py:73
 msgid "Updating"
 msgstr "Aktualisieren"
 
-#: ../callback.py:49 ../yum/rpmtrans.py:74
+#: ../callback.py:46 ../yum/rpmtrans.py:74
 msgid "Erasing"
 msgstr "Löschen"
 
-#: ../callback.py:50 ../callback.py:51 ../callback.py:53 ../output.py:1036
-#: ../output.py:2218 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
+#: ../callback.py:47 ../callback.py:48 ../callback.py:50 ../output.py:1501
+#: ../output.py:2922 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
 #: ../yum/rpmtrans.py:78
 msgid "Installing"
 msgstr "Installieren"
 
-#: ../callback.py:52 ../callback.py:58 ../output.py:1840 ../yum/rpmtrans.py:77
+#: ../callback.py:49 ../callback.py:55 ../output.py:2379 ../yum/rpmtrans.py:77
 msgid "Obsoleted"
 msgstr "Veraltet"
 
-#: ../callback.py:54 ../output.py:1169 ../output.py:1686 ../output.py:1847
+#: ../callback.py:51 ../output.py:1670 ../output.py:2222 ../output.py:2386
 msgid "Updated"
 msgstr "Aktualisiert"
 
-#: ../callback.py:55 ../output.py:1685
+#: ../callback.py:52 ../output.py:2221
 msgid "Erased"
 msgstr "Gelöscht"
 
-#: ../callback.py:56 ../callback.py:57 ../callback.py:59 ../output.py:1167
-#: ../output.py:1685 ../output.py:1687 ../output.py:2190
+#: ../callback.py:53 ../callback.py:54 ../callback.py:56 ../output.py:1668
+#: ../output.py:2221 ../output.py:2223 ../output.py:2894
 msgid "Installed"
 msgstr "Installiert"
 
-#: ../callback.py:130
+#: ../callback.py:142
 msgid "No header - huh?"
 msgstr "Kein Header - huh?"
 
-#: ../callback.py:168
+#: ../callback.py:180
 msgid "Repackage"
 msgstr "Neu verpacken"
 
-#: ../callback.py:189
+#: ../callback.py:201
 #, python-format
 msgid "Error: invalid output state: %s for %s"
-msgstr "Fehler: Ungültiger Ausgabe-Zustand: %s für %s"
+msgstr "Fehler: Ungültiger Ausgabezustand: %s für %s"
 
-#: ../callback.py:212
+#: ../callback.py:224
 #, python-format
 msgid "Erased: %s"
 msgstr "Gelöscht: %s"
 
-#: ../callback.py:217 ../output.py:1038 ../output.py:2193
+#: ../callback.py:229 ../output.py:1503 ../output.py:2897
 msgid "Removing"
 msgstr "Entfernen"
 
-#: ../callback.py:219 ../yum/rpmtrans.py:79
+#: ../callback.py:231 ../yum/rpmtrans.py:79
 msgid "Cleanup"
 msgstr "Aufräumen"
 
-#: ../cli.py:115
+#: ../cli.py:122
 #, python-format
 msgid "Command \"%s\" already defined"
-msgstr "Befehl \"%s\" ist bereits definiert"
+msgstr "Befehl »%s« ist bereits definiert"
 
-#: ../cli.py:127
+#: ../cli.py:137
 msgid "Setting up repositories"
-msgstr "Repositories werden eingerichtet"
+msgstr "Paketquellen werden eingerichtet"
 
-#: ../cli.py:138
+#: ../cli.py:148
 msgid "Reading repository metadata in from local files"
-msgstr "Lese Repository-Metadaten aus lokalen Dateien ein"
+msgstr "Paketquellen-Metadaten werden aus lokalen Dateien eingelesen"
 
-#: ../cli.py:245 ../utils.py:281
+#: ../cli.py:273 ../cli.py:277 ../utils.py:320
 #, python-format
 msgid "Config Error: %s"
 msgstr "Konfigurationsfehler: %s"
 
-#: ../cli.py:248 ../cli.py:1584 ../utils.py:284
+#: ../cli.py:280 ../cli.py:2206 ../utils.py:323
 #, python-format
 msgid "Options Error: %s"
 msgstr "Optionenfehler: %s"
 
-#: ../cli.py:293
+#: ../cli.py:327
 #, python-format
 msgid "  Installed: %s-%s at %s"
 msgstr "  Installiert: %s-%s am %s"
 
-#: ../cli.py:295
+#: ../cli.py:329
 #, python-format
 msgid "  Built    : %s at %s"
-msgstr "  Gebaut    : %s am %s"
+msgstr "  Erstellt   : %s am %s"
 
-#: ../cli.py:297
+#: ../cli.py:331
 #, python-format
 msgid "  Committed: %s at %s"
 msgstr "  Übermittelt: %s am %s"
 
-#: ../cli.py:336
+#: ../cli.py:372
 msgid "You need to give some command"
 msgstr "Sie müssen irgendeinen Befehl eingeben"
 
-#: ../cli.py:350
+#: ../cli.py:386
 #, python-format
 msgid "No such command: %s. Please use %s --help"
 msgstr "Kein solcher Befehl: %s. Bitte %s --help verwenden."
 
-#: ../cli.py:400
+#: ../cli.py:444
 msgid "Disk Requirements:\n"
 msgstr "Festplattenplatz-Anforderungen:\n"
 
-#: ../cli.py:402
+#: ../cli.py:446
 #, python-format
 msgid "  At least %dMB more space needed on the %s filesystem.\n"
-msgstr ""
-"  Mindestens %dMB zusätzlicher Speicherplatz wird auf dem Dateisystem %s "
-"benötigt.\n"
+msgid_plural "  At least %dMB more space needed on the %s filesystem.\n"
+msgstr[0] "  %dMB mehr Platz wird auf dem %s-Dateisystem benötigt.\n"
+msgstr[1] "  %dMB mehr Platz werden auf dem %s-Dateisystem benötigt.\n"
 
 #. TODO: simplify the dependency errors?
 #. Fixup the summary
-#: ../cli.py:407
+#: ../cli.py:451
 msgid ""
 "Error Summary\n"
 "-------------\n"
-msgstr ""
-"Fehler-Zusammenfassung\n"
-"----------------------\n"
+msgstr "Fehler-Zusammenfassung\n----------------------\n"
+
+#: ../cli.py:472
+msgid "Can't create lock file; exiting"
+msgstr "Sperrdatei kann nicht angelegt werden, Abbruch"
+
+#: ../cli.py:479
+msgid ""
+"Another app is currently holding the yum lock; exiting as configured by "
+"exit_on_lock"
+msgstr "Eine andere Anwendung hält Yum derzeit gesperrt. Abbruch wie in exit_on_lock festgelegt"
 
-#: ../cli.py:450
+#: ../cli.py:532
 msgid "Trying to run the transaction but nothing to do. Exiting."
-msgstr "Versuche Transaktion auszuführen, aber es ist nichts zu tun. Beende."
+msgstr "Es wird versucht, die Transaktion auszuführen, aber es ist nichts zu tun. Abbruch."
 
-#: ../cli.py:497
+#: ../cli.py:577
+msgid "future rpmdb ver mismatched saved transaction version,"
+msgstr ""
+
+#: ../cli.py:579 ../yum/__init__.py:6523
+msgid " ignoring, as requested."
+msgstr " wird ignoriert, wie gewünscht."
+
+#: ../cli.py:582 ../yum/__init__.py:6526 ../yum/__init__.py:6673
+msgid " aborting."
+msgstr " wird abgebrochen."
+
+#: ../cli.py:588
 msgid "Exiting on user Command"
-msgstr "Beende nach Befehl des Benutzers"
+msgstr "Nach Befehl des Benutzers wird beendet"
 
-#: ../cli.py:501
+#: ../cli.py:592
 msgid "Downloading Packages:"
-msgstr "Lade Pakete herunter:"
+msgstr "Pakete werden heruntergeladen:"
 
-#: ../cli.py:506
+#: ../cli.py:597
 msgid "Error Downloading Packages:\n"
 msgstr "Fehler beim Herunterladen der Pakete:\n"
 
-#: ../cli.py:525 ../yum/__init__.py:4967
+#: ../cli.py:616 ../yum/__init__.py:6215
 msgid "Running Transaction Check"
-msgstr ""
+msgstr "Transaktionsüberprüfung wird ausgeführt"
 
-#: ../cli.py:534 ../yum/__init__.py:4976
+#: ../cli.py:625 ../yum/__init__.py:6224
 msgid "ERROR You need to update rpm to handle:"
-msgstr ""
-"FEHLER Sie müssen RPM aktualisieren, damit es mit Folgendem umgehen kann:"
+msgstr "FEHLER Sie müssen RPM aktualisieren, damit es mit Folgendem umgehen kann:"
 
-#: ../cli.py:536 ../yum/__init__.py:4979
+#: ../cli.py:627 ../yum/__init__.py:6227
 msgid "ERROR with transaction check vs depsolve:"
-msgstr ""
+msgstr "FEHLER bei Transaktionsprüfung gegenüber Depsolve:"
 
-#: ../cli.py:542
+#: ../cli.py:633
 msgid "RPM needs to be updated"
 msgstr "RPM muss aktualisiert werden"
 
-#: ../cli.py:543
+#: ../cli.py:634
 #, python-format
 msgid "Please report this error in %s"
 msgstr "Bitte melden Sie diesen Fehler unter %s"
 
-#: ../cli.py:549
+#: ../cli.py:640
 msgid "Running Transaction Test"
-msgstr "Führe Verarbeitungstest durch"
+msgstr "Transaktionstest wird durchgeführt"
 
-#: ../cli.py:561
+#: ../cli.py:652
 msgid "Transaction Check Error:\n"
-msgstr "Prüffehler bei Verarbeitung:\n"
+msgstr "Fehler beim Prüfen der Transaktion:\n"
 
-#: ../cli.py:568
+#: ../cli.py:659
 msgid "Transaction Test Succeeded"
-msgstr "Verarbeitungstest erfolgreich"
+msgstr "Transaktionstest war erfolgreich"
 
-#: ../cli.py:600
+#: ../cli.py:691
 msgid "Running Transaction"
-msgstr "Führe Verarbeitung durch"
+msgstr "Transaktion wird durchgeführt"
 
-#: ../cli.py:630
+#: ../cli.py:724
 msgid ""
 "Refusing to automatically import keys when running unattended.\n"
 "Use \"-y\" to override."
-msgstr ""
-"Verweigere automatischen Import der Schlüssel, wenn unbeaufsichtigt ausgeführt.\n"
-"Benutze \"-y\" zum Überschreiben."
+msgstr "Automatischer Import der Schlüssel wird verweigert, wenn unbeaufsichtigt ausgeführt.\nBenutzen Sie »-y« zum Überschreiben."
 
-#: ../cli.py:649 ../cli.py:692
+#: ../cli.py:743 ../cli.py:786
 msgid "  * Maybe you meant: "
-msgstr "  * Meinten Sie vielleicht:"
+msgstr "  * Meinten Sie vielleicht: "
 
-#: ../cli.py:675 ../cli.py:683
+#: ../cli.py:769 ../cli.py:777
 #, python-format
 msgid "Package(s) %s%s%s available, but not installed."
 msgstr "Paket(e) %s%s%s verfügbar, aber nicht installiert."
 
-#: ../cli.py:689 ../cli.py:722 ../cli.py:908
+#: ../cli.py:783 ../cli.py:891 ../cli.py:1158
 #, python-format
 msgid "No package %s%s%s available."
 msgstr "Kein Paket %s%s%s verfügbar."
 
-#: ../cli.py:729 ../cli.py:973
-msgid "Package(s) to install"
-msgstr "Paket(e) zum Installieren"
+#: ../cli.py:871 ../cli.py:881 ../cli.py:1101 ../cli.py:1111
+#, python-format
+msgid "Bad %s argument %s."
+msgstr ""
 
-#: ../cli.py:732 ../cli.py:733 ../cli.py:914 ../cli.py:948 ../cli.py:974
-#: ../yumcommands.py:190
+#: ../cli.py:900 ../yumcommands.py:3331
+#, python-format
+msgid "%d package to install"
+msgid_plural "%d packages to install"
+msgstr[0] "%d Paket zu installieren"
+msgstr[1] "%d Pakete zu installieren"
+
+#: ../cli.py:903 ../cli.py:904 ../cli.py:1169 ../cli.py:1170 ../cli.py:1224
+#: ../cli.py:1225 ../cli.py:1260 ../yumcommands.py:323 ../yumcommands.py:3419
 msgid "Nothing to do"
 msgstr "Nichts zu tun"
 
-#: ../cli.py:767
+#: ../cli.py:953
 #, python-format
-msgid "%d packages marked for Update"
-msgstr "%d Pakete zur Aktualisierung markiert"
+msgid "%d package marked for Update"
+msgid_plural "%d packages marked for Update"
+msgstr[0] "%d Paket zur Aktualisierung markiert"
+msgstr[1] "%d Pakete zur Aktualisierung markiert"
 
-#: ../cli.py:770
+#: ../cli.py:955
 msgid "No Packages marked for Update"
 msgstr "Keine Pakete für die Aktualisierung markiert"
 
-#: ../cli.py:866
+#: ../cli.py:1067
 #, python-format
-msgid "%d packages marked for Distribution Synchronization"
-msgstr ""
+msgid "%d package marked for Distribution Synchronization"
+msgid_plural "%d packages marked for Distribution Synchronization"
+msgstr[0] "%d Paket zur Distributionsaktualisierung markiert"
+msgstr[1] "%d Pakete zur Distributionsaktualisierung markiert"
 
-#: ../cli.py:869
+#: ../cli.py:1069
 msgid "No Packages marked for Distribution Synchronization"
-msgstr ""
+msgstr "Keine Pakete zur Distributionsaktualisierung markiert"
 
-#: ../cli.py:885
+#: ../cli.py:1124
 #, python-format
-msgid "%d packages marked for removal"
-msgstr "%d Pakete für die Entfernung markiert"
+msgid "%d package marked for removal"
+msgid_plural "%d packages marked for removal"
+msgstr[0] "%d Paket zu entfernen"
+msgstr[1] "%d Pakete zu entfernen"
 
-#: ../cli.py:888
+#: ../cli.py:1126
 msgid "No Packages marked for removal"
 msgstr "Keine Pakete für die Entfernung markiert"
 
-#: ../cli.py:913
-msgid "Package(s) to downgrade"
-msgstr "Paket(e) zum Downgrade"
+#: ../cli.py:1166
+#, python-format
+msgid "%d package to downgrade"
+msgid_plural "%d packages to downgrade"
+msgstr[0] "%d Paket zum Zurücksetzen markiert"
+msgstr[1] "%d Pakete zum Zurücksetzen markiert"
 
-#: ../cli.py:938
+#: ../cli.py:1207
 #, python-format
 msgid " (from %s)"
 msgstr " (von %s)"
 
-#: ../cli.py:939
+#: ../cli.py:1208
 #, python-format
 msgid "Installed package %s%s%s%s not available."
 msgstr "Installiertes Paket %s%s%s%s nicht verfügbar."
 
-#: ../cli.py:947
-msgid "Package(s) to reinstall"
-msgstr "Paket(e) zum Neuinstallieren"
+#: ../cli.py:1221
+#, python-format
+msgid "%d package to reinstall"
+msgid_plural "%d packages to reinstall"
+msgstr[0] "%d Paket neu zu installieren"
+msgstr[1] "%d Pakete neu zu installieren"
 
-#: ../cli.py:960
+#: ../cli.py:1246
 msgid "No Packages Provided"
 msgstr "Keine Pakete bereitgestellt"
 
-#: ../cli.py:1058
+#: ../cli.py:1259
+msgid "Package(s) to install"
+msgstr "Paket(e) zum Installieren"
+
+#: ../cli.py:1367
 #, python-format
 msgid "N/S Matched: %s"
-msgstr ""
+msgstr "N/S-Übereinstimmung: %s"
 
-#: ../cli.py:1075
+#: ../cli.py:1384
 #, python-format
 msgid "  Name and summary matches %sonly%s, use \"search all\" for everything."
-msgstr ""
+msgstr "  %sonly%s-Übereinstimmungen in Name und Zusammenfassung, «Alles suchen» für vollständige Suche."
 
-#: ../cli.py:1077
+#: ../cli.py:1386
 #, python-format
 msgid ""
 "  Full name and summary matches %sonly%s, use \"search all\" for everything."
-msgstr ""
+msgstr "  %sonly%s-Übereinstimmungen in vollständigem Namen und Zusammenfassung, «Alles suchen» für komplette Suche."
 
-#: ../cli.py:1095
+#: ../cli.py:1404
 #, python-format
 msgid "Matched: %s"
 msgstr "Treffer: %s"
 
-#: ../cli.py:1102
+#: ../cli.py:1411
 #, python-format
 msgid "  Name and summary matches %smostly%s, use \"search all\" for everything."
-msgstr ""
+msgstr "  %smostly%s-Übereinstimmungen in Name und Zusammenfassung, «Alles suchen» für vollständige Suche."
 
-#: ../cli.py:1106
+#: ../cli.py:1415
 #, python-format
 msgid "Warning: No matches found for: %s"
 msgstr "Warnung: Keine Übereinstimmung gefunden für: %s"
 
-#: ../cli.py:1109
+#: ../cli.py:1418
 msgid "No Matches found"
 msgstr "Keine Übereinstimmungen gefunden"
 
-#: ../cli.py:1174
+#: ../cli.py:1536
 #, python-format
-msgid "No Package Found for %s"
-msgstr "Kein Paket gefunden für %s"
+msgid ""
+"Error: No Packages found for:\n"
+"  %s"
+msgstr "Fehler: Keine Pakete gefunden für:\n  %s"
 
-#: ../cli.py:1184
+#: ../cli.py:1572
 msgid "Cleaning repos: "
-msgstr "Räume Repos auf:"
+msgstr "Quellen werden aufgeräumt:"
 
-#: ../cli.py:1189
+#: ../cli.py:1577
 msgid "Cleaning up Everything"
-msgstr "Räume alles auf"
+msgstr "Alles wird aufgeräumt"
 
-#: ../cli.py:1205
+#: ../cli.py:1593
 msgid "Cleaning up Headers"
-msgstr "Räume Header auf"
+msgstr "Header werden aufgeräumt"
 
-#: ../cli.py:1208
+#: ../cli.py:1596
 msgid "Cleaning up Packages"
-msgstr "Räume Pakete auf"
+msgstr "Pakete werden aufgeräumt"
 
-#: ../cli.py:1211
+#: ../cli.py:1599
 msgid "Cleaning up xml metadata"
-msgstr "Räume XML-Metadaten auf"
+msgstr "XML-Metadaten werden aufgeräumt"
 
-#: ../cli.py:1214
+#: ../cli.py:1602
 msgid "Cleaning up database cache"
-msgstr "Räume Datenbank-Speicher auf"
+msgstr "Datenbank-Speicher wird aufgeräumt"
 
-#: ../cli.py:1217
+#: ../cli.py:1605
 msgid "Cleaning up expire-cache metadata"
-msgstr "Räume Metadaten für abgelaufene Caches auf"
+msgstr "Metadaten für abgelaufene Caches werden aufgeräumt"
 
-#: ../cli.py:1220
+#: ../cli.py:1608
 msgid "Cleaning up cached rpmdb data"
-msgstr ""
+msgstr "Zwischengespeicherte rpmdb-Daten werden geleert"
 
-#: ../cli.py:1223
+#: ../cli.py:1611
 msgid "Cleaning up plugins"
-msgstr "Räume Plugins auf"
+msgstr "Plugins werden aufgeräumt"
 
-#: ../cli.py:1247
-#, python-format
-msgid "Warning: No groups match: %s"
+#: ../cli.py:1727
+msgid "Installed Environment Groups:"
 msgstr ""
 
-#: ../cli.py:1264
+#: ../cli.py:1728
+msgid "Available Environment Groups:"
+msgstr ""
+
+#: ../cli.py:1735
 msgid "Installed Groups:"
 msgstr "Installierte Gruppen:"
 
-#: ../cli.py:1270
+#: ../cli.py:1742
 msgid "Installed Language Groups:"
-msgstr ""
+msgstr "Installierte Sprachgruppen:"
 
-#: ../cli.py:1276
+#: ../cli.py:1749
 msgid "Available Groups:"
 msgstr "Verfügbare Gruppen:"
 
-#: ../cli.py:1282
+#: ../cli.py:1756
 msgid "Available Language Groups:"
+msgstr "Verfügbare Sprachgruppen:"
+
+#: ../cli.py:1759
+#, python-format
+msgid "Warning: No Environments/Groups match: %s"
 msgstr ""
 
-#: ../cli.py:1285
+#: ../cli.py:1763
 msgid "Done"
 msgstr "Fertig"
 
-#: ../cli.py:1296 ../cli.py:1314 ../cli.py:1320 ../yum/__init__.py:3313
+#: ../cli.py:1818
+#, python-format
+msgid "Warning: Group/Environment %s does not exist."
+msgstr ""
+
+#: ../cli.py:1859
+#, python-format
+msgid "Warning: Environment %s does not exist."
+msgstr ""
+
+#: ../cli.py:1873 ../cli.py:1879 ../yum/__init__.py:4254
 #, python-format
 msgid "Warning: Group %s does not exist."
 msgstr "Warnung: Gruppe %s existiert nicht."
 
-#: ../cli.py:1324
+#: ../cli.py:1883
 msgid "No packages in any requested group available to install or update"
-msgstr ""
-"Keine Pakete in irgendeiner Gruppe verfügbar zum Installieren oder "
-"Aktualisieren"
+msgstr "Keine Pakete in irgendeiner Gruppe verfügbar zum Installieren oder Aktualisieren"
+
+#: ../cli.py:1885
+#, python-format
+msgid "%d package to Install"
+msgid_plural "%d packages to Install"
+msgstr[0] "%d Paket zu installieren"
+msgstr[1] "%d Pakete zu installieren"
 
-#: ../cli.py:1326
+#: ../cli.py:1919 ../yum/__init__.py:3536 ../yum/__init__.py:3766
+#: ../yum/__init__.py:3824
 #, python-format
-msgid "%d Package(s) to Install"
-msgstr "%d Paket(e) zum Installieren"
+msgid "No Environment named %s exists"
+msgstr ""
 
-#: ../cli.py:1336 ../yum/__init__.py:3325
+#: ../cli.py:1935 ../yum/__init__.py:4282
 #, python-format
 msgid "No group named %s exists"
 msgstr "Es existiert keine Gruppe mit dem Namen %s"
 
-#: ../cli.py:1342
+#: ../cli.py:1945
 msgid "No packages to remove from groups"
 msgstr "Keine Pakete zum Entfernen aus dem Gruppen gefunden"
 
-#: ../cli.py:1344
+#: ../cli.py:1947 ../yumcommands.py:3351
 #, python-format
-msgid "%d Package(s) to remove"
-msgstr "%d Paket(e) zum Entfernen"
+msgid "%d package to remove"
+msgid_plural "%d packages to remove"
+msgstr[0] "%d Paket zu entfernen"
+msgstr[1] "%d Pakete zu entfernen"
 
-#: ../cli.py:1386
+#: ../cli.py:1988
 #, python-format
 msgid "Package %s is already installed, skipping"
 msgstr "Paket %s ist bereits installiert, überspringen"
 
-#: ../cli.py:1397
+#: ../cli.py:1999
 #, python-format
 msgid "Discarding non-comparable pkg %s.%s"
-msgstr "Verwerfe nicht vergleichbare Pakete %s.%s"
+msgstr "Nicht vergleichbare Pakete %s.%s werden verworfen"
 
 #. we've not got any installed that match n or n+a
-#: ../cli.py:1423
+#: ../cli.py:2025
 #, python-format
 msgid "No other %s installed, adding to list for potential install"
-msgstr ""
-"Kein anderes %s installiert, füge es zur Liste für eine potentielle "
-"Installation hinzu"
+msgstr "Kein anderes %s installiert, es wird zur Liste für eine potenzielle Installation hinzugefügt"
 
-#: ../cli.py:1443
+#: ../cli.py:2045
 msgid "Plugin Options"
 msgstr "Plugin-Optionen"
 
-#: ../cli.py:1451
+#: ../cli.py:2057
 #, python-format
 msgid "Command line error: %s"
-msgstr "Kommandozeilen-Fehler: %s"
+msgstr "Befehlszeilenfehler: %s"
 
-#: ../cli.py:1467
+#: ../cli.py:2079
 #, python-format
 msgid ""
 "\n"
 "\n"
 "%s: %s option requires an argument"
-msgstr ""
-"\n"
-"\n"
-"%s: %s Option benötigt ein Argument"
+msgstr "\n\n%s: %s Option benötigt ein Argument"
 
-#: ../cli.py:1521
+#: ../cli.py:2147
 msgid "--color takes one of: auto, always, never"
 msgstr "--color kann einen der folgenden Werte haben: auto, always, never"
 
 #. We have a relative installroot ... haha
-#: ../cli.py:1596
+#: ../cli.py:2218
 #, python-format
 msgid "--installroot must be an absolute path: %s"
-msgstr ""
+msgstr "--installroot muss ein absoluter Pfad sein: %s"
 
-#: ../cli.py:1642
+#: ../cli.py:2272
 msgid "show this help message and exit"
 msgstr "Hilfeinformation anzeigen und beenden"
 
-#: ../cli.py:1646
+#: ../cli.py:2276
 msgid "be tolerant of errors"
 msgstr "fehlertolerant sein"
 
-#: ../cli.py:1649
+#: ../cli.py:2279
 msgid "run entirely from system cache, don't update cache"
-msgstr ""
-"laufe komplett aus dem Zwischenspeicher, aktualisiere Zwischenspeicher nicht"
+msgstr "komplett aus dem Zwischenspeicher laufen, Zwischenspeicher nicht aktualisieren"
 
-#: ../cli.py:1652
+#: ../cli.py:2282
 msgid "config file location"
 msgstr "Ort der Konfigurationsdatei"
 
-#: ../cli.py:1655
+#: ../cli.py:2285
 msgid "maximum command wait time"
 msgstr "maximale Befehlswartezeit"
 
-#: ../cli.py:1657
+#: ../cli.py:2287
 msgid "debugging output level"
-msgstr "Debugging-Ausgabe-Stufe"
+msgstr "Debugging-Ausgabestufe"
 
-#: ../cli.py:1661
+#: ../cli.py:2291
 msgid "show duplicates, in repos, in list/search commands"
-msgstr "Duplikate, in Repos und in Listen/Suchen-Befehlen, anzeigen"
+msgstr "Duplikate in Paketquellen und in Listen/Suchen-Befehlen anzeigen"
 
-#: ../cli.py:1663
+#: ../cli.py:2296
 msgid "error output level"
-msgstr "Fehler-Ausgabe-Stufe"
+msgstr "Fehler-Ausgabestufe"
 
-#: ../cli.py:1666
+#: ../cli.py:2299
 msgid "debugging output level for rpm"
 msgstr "Stufe der Debugging-Ausgabe für rpm"
 
-#: ../cli.py:1669
+#: ../cli.py:2302
 msgid "quiet operation"
 msgstr "Stiller Betrieb"
 
-#: ../cli.py:1671
+#: ../cli.py:2304
 msgid "verbose operation"
 msgstr "Wortreicher Betrieb"
 
-#: ../cli.py:1673
+#: ../cli.py:2306
 msgid "answer yes for all questions"
-msgstr "Beantwortet alle Fragen mit 'ja'"
+msgstr "Alle Fragen bejahen"
+
+#: ../cli.py:2308
+msgid "answer no for all questions"
+msgstr "Alle Fragen verneinen"
 
-#: ../cli.py:1675
+#: ../cli.py:2312
 msgid "show Yum version and exit"
 msgstr "Yum-Version anzeigen und Programm beenden"
 
-#: ../cli.py:1676
+#: ../cli.py:2313
 msgid "set install root"
-msgstr "Wurzel-Installationsverzeichnis setzen"
+msgstr "Wurzel-Installationsordner festlegen"
 
-#: ../cli.py:1680
+#: ../cli.py:2317
 msgid "enable one or more repositories (wildcards allowed)"
-msgstr "aktiviere ein oder mehrere Repositories (Wildcards erlaubt)"
+msgstr "eine oder mehrere Paketquellen aktivieren (Platzhalter erlaubt)"
 
-#: ../cli.py:1684
+#: ../cli.py:2321
 msgid "disable one or more repositories (wildcards allowed)"
-msgstr "deaktiviere ein oder mehrere Repositories (Wildcards erlaubt)"
+msgstr "eine oder mehrere Paketquellen deaktivieren (Platzhalter erlaubt)"
 
-#: ../cli.py:1687
+#: ../cli.py:2324
 msgid "exclude package(s) by name or glob"
-msgstr "schliesse Paket(e) nach Namen oder global aus"
+msgstr "Paket(e) nach Namen oder global ausschließen"
 
-#: ../cli.py:1689
+#: ../cli.py:2326
 msgid "disable exclude from main, for a repo or for everything"
-msgstr "deaktiviere Ausschluss von 'main', einem Repository oder allem"
+msgstr "Ausschluss von »main«, einer Paketquelle oder allem deaktivieren"
 
-#: ../cli.py:1692
+#: ../cli.py:2329
 msgid "enable obsoletes processing during updates"
-msgstr "aktiviere veraltetes Verarbeiten während Aktualisierung"
+msgstr "Verarbeitung veralteter Pakete während der Aktualisierung aktivieren"
 
-#: ../cli.py:1694
+#: ../cli.py:2331
 msgid "disable Yum plugins"
-msgstr "deaktiviere Yum-Plugins"
+msgstr "Yum-Plugins deaktivieren"
 
-#: ../cli.py:1696
+#: ../cli.py:2333
 msgid "disable gpg signature checking"
-msgstr "deaktiviere GPG-Signatur-Prüfung"
+msgstr "GPG-Signatur-Prüfung deaktivieren"
 
-#: ../cli.py:1698
+#: ../cli.py:2335
 msgid "disable plugins by name"
-msgstr "deaktiviere Plugins nach Namen"
+msgstr "Plugins nach Namen deaktivieren"
 
-#: ../cli.py:1701
+#: ../cli.py:2338
 msgid "enable plugins by name"
-msgstr "aktiviere Plugins nach Namen"
+msgstr "Plugins nach Namen aktivieren"
 
-#: ../cli.py:1704
+#: ../cli.py:2341
 msgid "skip packages with depsolving problems"
-msgstr "überspringe Pakete mit Abhängigkeitsauflösungsproblemen"
+msgstr "Pakete mit Abhängigkeitsauflösungsproblemen überspringen"
 
-#: ../cli.py:1706
+#: ../cli.py:2343
 msgid "control whether color is used"
 msgstr "kontrolliert, ob Farbe benutzt wird"
 
-#: ../cli.py:1708
+#: ../cli.py:2345
 msgid "set value of $releasever in yum config and repo files"
+msgstr "Wert für $releasever in yum-Konfiguration und Paketquellen-Daten setzen"
+
+#: ../cli.py:2347
+msgid "don't update, just download"
 msgstr ""
 
-#: ../cli.py:1710
-msgid "set arbitrary config and repo options"
+#: ../cli.py:2349
+msgid "specifies an alternate directory to store packages"
 msgstr ""
 
-#: ../output.py:307
+#: ../cli.py:2351
+msgid "set arbitrary config and repo options"
+msgstr "Benutzerdefinierte Optionen für Konfiguration und Paketquelle festlegen"
+
+#: ../output.py:458
 msgid "Jan"
 msgstr "Jan"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Feb"
 msgstr "Feb"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Mar"
 msgstr "Mär"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Apr"
 msgstr "Apr"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "May"
 msgstr "Mai"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Jun"
 msgstr "Jun"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Jul"
 msgstr "Jul"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Aug"
 msgstr "Aug"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Sep"
 msgstr "Sep"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Oct"
 msgstr "Okt"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Nov"
 msgstr "Nov"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Dec"
 msgstr "Dez"
 
-#: ../output.py:318
+#: ../output.py:473
 msgid "Trying other mirror."
-msgstr "Versuche anderen Spiegel-Server."
+msgstr "Anderer Spiegelserver wird versucht."
 
-#: ../output.py:581
+#: ../output.py:816
 #, python-format
 msgid "Name        : %s%s%s"
 msgstr "Name       : %s%s%s"
 
-#: ../output.py:582
+#: ../output.py:817
 #, python-format
 msgid "Arch        : %s"
 msgstr "Architektur : %s"
 
-#: ../output.py:584
+#: ../output.py:819
 #, python-format
 msgid "Epoch       : %s"
-msgstr ""
+msgstr "Epoche             :%s"
 
-#: ../output.py:585
+#: ../output.py:820
 #, python-format
 msgid "Version     : %s"
 msgstr "Version    : %s"
 
-#: ../output.py:586
+#: ../output.py:821
 #, python-format
 msgid "Release     : %s"
 msgstr "Ausgabe    : %s"
 
-#: ../output.py:587
+#: ../output.py:822
 #, python-format
 msgid "Size        : %s"
 msgstr "Größe : %s"
 
-#: ../output.py:588 ../output.py:900
+#: ../output.py:823 ../output.py:1329
 #, python-format
 msgid "Repo        : %s"
-msgstr "Repo        : %s"
+msgstr "Quelle      : %s"
 
-#: ../output.py:590
+#: ../output.py:825
 #, python-format
 msgid "From repo   : %s"
-msgstr "Aus repo    : %s"
+msgstr "Aus Quelle  : %s"
 
-#: ../output.py:592
+#: ../output.py:827
 #, python-format
 msgid "Committer   : %s"
 msgstr "Übermittler  : %s"
 
-#: ../output.py:593
+#: ../output.py:828
 #, python-format
 msgid "Committime  : %s"
 msgstr "Übermittlungszeit  : %s"
 
-#: ../output.py:594
+#: ../output.py:829
 #, python-format
 msgid "Buildtime   : %s"
-msgstr "Build-Zeit  : %s"
+msgstr "Erstellungszeit: %s"
 
-#: ../output.py:596
+#: ../output.py:831
 #, python-format
 msgid "Install time: %s"
 msgstr "Installationszeit: %s"
 
-#: ../output.py:604
+#: ../output.py:839
 #, python-format
 msgid "Installed by: %s"
 msgstr "Installiert von: %s"
 
-#: ../output.py:611
+#: ../output.py:846
 #, python-format
 msgid "Changed by  : %s"
 msgstr "Verändert von  : %s"
 
-#: ../output.py:612
+#: ../output.py:847
 msgid "Summary     : "
-msgstr "Zusammenfassung     : "
+msgstr "Zusammenfassung: "
 
-#: ../output.py:614 ../output.py:913
+#: ../output.py:849 ../output.py:1345
 #, python-format
 msgid "URL         : %s"
 msgstr "URL        : %s"
 
-#: ../output.py:615
+#: ../output.py:850
 msgid "License     : "
-msgstr "Lizenz     : "
+msgstr "Lizenz      : "
 
-#: ../output.py:616 ../output.py:910
+#: ../output.py:851 ../output.py:1342
 msgid "Description : "
-msgstr "Beschreibung : "
+msgstr "Beschreibung: "
 
-#: ../output.py:684
+#: ../output.py:969
 msgid "y"
 msgstr "j"
 
-#: ../output.py:684
+#: ../output.py:969
 msgid "yes"
 msgstr "ja"
 
-#: ../output.py:685
+#: ../output.py:970
 msgid "n"
 msgstr "n"
 
-#: ../output.py:685
+#: ../output.py:970
 msgid "no"
 msgstr "nein"
 
-#: ../output.py:689
+#: ../output.py:974
 msgid "Is this ok [y/N]: "
 msgstr "Ist dies in Ordnung? [j/N] :"
 
-#: ../output.py:777
+#: ../output.py:1097
 #, python-format
 msgid ""
 "\n"
 "Group: %s"
-msgstr ""
-"\n"
-"Gruppe: %s"
+msgstr "\nGruppe: %s"
 
-#: ../output.py:781
+#: ../output.py:1101
 #, python-format
 msgid " Group-Id: %s"
-msgstr " Gruppen-ID: %s"
+msgstr " Gruppenkennung: %s"
 
-#: ../output.py:786
+#: ../output.py:1122 ../output.py:1169
 #, python-format
 msgid " Description: %s"
 msgstr " Beschreibung: %s"
 
-#: ../output.py:788
+#: ../output.py:1124
 #, python-format
 msgid " Language: %s"
-msgstr ""
+msgstr "Sprache: %s"
 
-#: ../output.py:790
+#: ../output.py:1126
 msgid " Mandatory Packages:"
 msgstr " Obligatorische Pakete:"
 
-#: ../output.py:791
+#: ../output.py:1127
 msgid " Default Packages:"
 msgstr " Standard-Pakete:"
 
-#: ../output.py:792
+#: ../output.py:1128
 msgid " Optional Packages:"
 msgstr " Optionale Pakete:"
 
-#: ../output.py:793
+#: ../output.py:1129
 msgid " Conditional Packages:"
 msgstr " Zwangsbedingte Pakete:"
 
-#: ../output.py:814
+#: ../output.py:1147
+msgid " Installed Packages:"
+msgstr " Installierte Pakete:"
+
+#: ../output.py:1157
+#, python-format
+msgid ""
+"\n"
+"Environment Group: %s"
+msgstr ""
+
+#: ../output.py:1158
+#, python-format
+msgid " Environment-Id: %s"
+msgstr ""
+
+#: ../output.py:1191
+msgid " Mandatory Groups:"
+msgstr ""
+
+#: ../output.py:1192
+msgid " Optional Groups:"
+msgstr ""
+
+#: ../output.py:1205
+msgid " Installed Groups:"
+msgstr ""
+
+#: ../output.py:1217
 #, python-format
 msgid "package: %s"
 msgstr "Paket: %s"
 
-#: ../output.py:816
+#: ../output.py:1219
 msgid "  No dependencies for this package"
 msgstr "  Keine Abhängigkeiten für dieses Paket"
 
-#: ../output.py:821
+#: ../output.py:1224
 #, python-format
 msgid "  dependency: %s"
 msgstr "  Abhängigkeit: %s"
 
-#: ../output.py:823
+#: ../output.py:1226
 msgid "   Unsatisfied dependency"
 msgstr "   Nicht erfüllte Abhängigkeit"
 
-#: ../output.py:901
+#: ../output.py:1337
 msgid "Matched from:"
 msgstr "Übereinstimmung von:"
 
-#: ../output.py:916
+#: ../output.py:1348
 #, python-format
 msgid "License     : %s"
-msgstr "Lizenz     : %s"
+msgstr "Lizenz      : %s"
 
-#: ../output.py:919
+#: ../output.py:1351
 #, python-format
 msgid "Filename    : %s"
 msgstr "Dateiname     : %s"
 
-#: ../output.py:923
+#: ../output.py:1360
+msgid "Provides    : "
+msgstr "Stellt bereit: "
+
+#: ../output.py:1363
 msgid "Other       : "
 msgstr "Andere     : "
 
-#: ../output.py:966
+#: ../output.py:1426
 msgid "There was an error calculating total download size"
 msgstr "Fehler beim Berechnen der Gesamtgröße der Downloads"
 
-#: ../output.py:971
+#: ../output.py:1431
 #, python-format
 msgid "Total size: %s"
 msgstr "Gesamtgröße: %s"
 
-#: ../output.py:974
+#: ../output.py:1433
 #, python-format
 msgid "Total download size: %s"
 msgstr "Gesamte Downloadgröße: %s"
 
-#: ../output.py:978 ../output.py:998
+#: ../output.py:1436 ../output.py:1459 ../output.py:1463
 #, python-format
 msgid "Installed size: %s"
 msgstr "Installationsgröße: %s"
 
-#: ../output.py:994
+#: ../output.py:1454
 msgid "There was an error calculating installed size"
 msgstr "Fehler beim Berechnen der Installationsgröße"
 
-#: ../output.py:1039
+#: ../output.py:1504
 msgid "Reinstalling"
 msgstr "Neuinstallieren"
 
-#: ../output.py:1040
+#: ../output.py:1505
 msgid "Downgrading"
 msgstr "Downgrading"
 
-#: ../output.py:1041
+#: ../output.py:1506
 msgid "Installing for dependencies"
 msgstr "Als Abhängigkeiten installiert"
 
-#: ../output.py:1042
+#: ../output.py:1507
 msgid "Updating for dependencies"
 msgstr "Aktualisiert für Abhängigkeiten"
 
-#: ../output.py:1043
+#: ../output.py:1508
 msgid "Removing for dependencies"
 msgstr "Entfernt für Abhängigkeiten"
 
-#: ../output.py:1050 ../output.py:1171
+#: ../output.py:1515 ../output.py:1576 ../output.py:1672
 msgid "Skipped (dependency problems)"
 msgstr "Übersprungen (Abhängigkeitsprobleme)"
 
-#: ../output.py:1052 ../output.py:1687
+#: ../output.py:1517 ../output.py:1577 ../output.py:2223
 msgid "Not installed"
 msgstr "Nicht installiert"
 
-#: ../output.py:1053
+#: ../output.py:1518 ../output.py:1578
 msgid "Not available"
-msgstr ""
+msgstr "Nicht verfügbar"
 
-#: ../output.py:1075 ../output.py:2024
+#: ../output.py:1540 ../output.py:1588 ../output.py:1604 ../output.py:2581
 msgid "Package"
-msgstr "Paket"
+msgid_plural "Packages"
+msgstr[0] "Paket"
+msgstr[1] "Pakete"
 
-#: ../output.py:1075
+#: ../output.py:1540
 msgid "Arch"
 msgstr "Arch"
 
-#: ../output.py:1076
+#: ../output.py:1541
 msgid "Version"
 msgstr "Version"
 
-#: ../output.py:1076
+#: ../output.py:1541
 msgid "Repository"
-msgstr "Repository"
+msgstr "Paketquelle"
 
-#: ../output.py:1077
+#: ../output.py:1542
 msgid "Size"
 msgstr "Größe"
 
-#: ../output.py:1089
+#: ../output.py:1554
 #, python-format
 msgid "     replacing  %s%s%s.%s %s\n"
 msgstr "     ersetzt  %s%s%s.%s %s\n"
 
-#: ../output.py:1098
+#: ../output.py:1563
 #, python-format
 msgid ""
 "\n"
 "Transaction Summary\n"
 "%s\n"
-msgstr ""
-"\n"
-"Vorgangsübersicht\n"
-"%s\n"
+msgstr "\nTransaktionsübersicht\n%s\n"
 
-#: ../output.py:1109
-#, python-format
-msgid "Install   %5.5s Package(s)\n"
-msgstr "%5.5s Paket(e) installieren\n"
+#: ../output.py:1568 ../output.py:2376 ../output.py:2377
+msgid "Install"
+msgstr "Installieren"
 
-#: ../output.py:1113
-#, python-format
-msgid "Upgrade   %5.5s Package(s)\n"
-msgstr "%5.5s Paket(e) aktualisieren\n"
+#: ../output.py:1570
+msgid "Upgrade"
+msgstr "Aktualisieren"
 
-#: ../output.py:1117
-#, python-format
-msgid "Remove    %5.5s Package(s)\n"
-msgstr "%5.5s Paket(e) entfernen\n"
+#: ../output.py:1572
+msgid "Remove"
+msgstr "Entfernen"
 
-#: ../output.py:1121
-#, python-format
-msgid "Reinstall %5.5s Package(s)\n"
-msgstr "%5.5s Paket(e) reinstallieren\n"
+#: ../output.py:1574 ../output.py:2382
+msgid "Reinstall"
+msgstr "Neu installieren"
 
-#: ../output.py:1125
-#, python-format
-msgid "Downgrade %5.5s Package(s)\n"
-msgstr ""
+#: ../output.py:1575 ../output.py:2383
+msgid "Downgrade"
+msgstr "Zurücksetzen"
+
+#: ../output.py:1606
+msgid "Dependent package"
+msgid_plural "Dependent packages"
+msgstr[0] "Abhängiges Paket"
+msgstr[1] "Abhängige Pakete"
 
-#: ../output.py:1165
+#: ../output.py:1666
 msgid "Removed"
 msgstr "Entfernt"
 
-#: ../output.py:1166
+#: ../output.py:1667
 msgid "Dependency Removed"
-msgstr "Abhängigkeiten entfernt"
+msgstr "Abhängigkeit entfernt"
 
-#: ../output.py:1168
+#: ../output.py:1669
 msgid "Dependency Installed"
 msgstr "Abhängigkeit installiert"
 
-#: ../output.py:1170
+#: ../output.py:1671
 msgid "Dependency Updated"
 msgstr "Abhängigkeit aktualisiert"
 
-#: ../output.py:1172
+#: ../output.py:1673
 msgid "Replaced"
 msgstr "Ersetzt       "
 
-#: ../output.py:1173
+#: ../output.py:1674
 msgid "Failed"
 msgstr "Fehlgeschlagen"
 
 #. Delta between C-c's so we treat as exit
-#: ../output.py:1260
+#: ../output.py:1764
 msgid "two"
 msgstr "zwei"
 
 #. For translators: This is output like:
 #. Current download cancelled, interrupt (ctrl-c) again within two seconds
 #. to exit.
-#. Where "interupt (ctrl-c) again" and "two" are highlighted.
-#: ../output.py:1271
+#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
+#: ../output.py:1775
 #, python-format
 msgid ""
 "\n"
 " Current download cancelled, %sinterrupt (ctrl-c) again%s within %s%s%s seconds\n"
 "to exit.\n"
-msgstr ""
-"\n"
-" Aktueller Download abgebrochen, %s unterbrechen Sie (Ctrl-c) erneut %s innerhalb %s%s%s Sekunden\n"
-"zum Beenden.\n"
+msgstr "\n Aktueller Download abgebrochen, %sunterbrechen Sie (Ctrl-c) erneut%s innerhalb %s%s%s Sekunden\nzum Beenden.\n"
 
-#: ../output.py:1282
+#: ../output.py:1786
 msgid "user interrupt"
 msgstr "Benutzer-Unterbrechung"
 
-#: ../output.py:1300
+#: ../output.py:1812
 msgid "Total"
 msgstr "Gesamt"
 
-#: ../output.py:1322
+#: ../output.py:1834
 msgid "I"
 msgstr "I"
 
-#: ../output.py:1323
+#: ../output.py:1835
 msgid "O"
 msgstr "O"
 
-#: ../output.py:1324
+#: ../output.py:1836
 msgid "E"
 msgstr "E"
 
-#: ../output.py:1325
+#: ../output.py:1837
 msgid "R"
-msgstr ""
+msgstr "R"
 
-#: ../output.py:1326
+#: ../output.py:1838
 msgid "D"
 msgstr "D"
 
-#: ../output.py:1327
+#: ../output.py:1839
 msgid "U"
 msgstr "U"
 
-#: ../output.py:1341
+#: ../output.py:1853
 msgid "<unset>"
-msgstr ""
+msgstr "<nicht gesetzt>"
 
-#: ../output.py:1342
+#: ../output.py:1854
 msgid "System"
 msgstr "System"
 
-#: ../output.py:1411
+#: ../output.py:1923
 #, python-format
 msgid "Skipping merged transaction %d to %d, as it overlaps"
-msgstr ""
+msgstr "Zusammengeführte Transaktion %d nach %d überspringen, da es Überschneidungen gibt"
 
-#: ../output.py:1421 ../output.py:1592
+#: ../output.py:1933 ../output.py:2125
 msgid "No transactions"
-msgstr ""
+msgstr "Keine Transaktionen"
 
-#: ../output.py:1446 ../output.py:2013
+#: ../output.py:1958 ../output.py:2570 ../output.py:2660
 msgid "Bad transaction IDs, or package(s), given"
 msgstr "Schlechte Transaktions-IDs oder Paket(e) angegeben"
 
-#: ../output.py:1484
+#: ../output.py:2007
 msgid "Command line"
-msgstr ""
+msgstr "Befehlszeile"
 
-#: ../output.py:1486 ../output.py:1908
+#: ../output.py:2009 ../output.py:2458
 msgid "Login user"
 msgstr "Angemeldeter Benutzer"
 
 #. REALLY Needs to use columns!
-#: ../output.py:1487 ../output.py:2022
+#: ../output.py:2010 ../output.py:2579
 msgid "ID"
 msgstr "ID"
 
-#: ../output.py:1489
+#: ../output.py:2012
 msgid "Date and time"
 msgstr "Datum und Zeit"
 
-#: ../output.py:1490 ../output.py:1910 ../output.py:2023
+#: ../output.py:2013 ../output.py:2460 ../output.py:2580
 msgid "Action(s)"
 msgstr "Aktion(en)"
 
-#: ../output.py:1491 ../output.py:1911
+#: ../output.py:2014 ../output.py:2461
 msgid "Altered"
 msgstr "Verändert"
 
-#: ../output.py:1538
+#: ../output.py:2061
 msgid "No transaction ID given"
 msgstr "Keine Transaktions-ID angegeben"
 
-#: ../output.py:1564 ../output.py:1972
+#: ../output.py:2087 ../output.py:2526
 msgid "Bad transaction ID given"
 msgstr "Schlechte Transaktions-ID angegeben"
 
-#: ../output.py:1569
+#: ../output.py:2092
 msgid "Not found given transaction ID"
 msgstr "Angebene Transaktions-ID nicht gefunden"
 
-#: ../output.py:1577
+#: ../output.py:2100
 msgid "Found more than one transaction ID!"
 msgstr "Mehr als eine Transaktions-ID gefunden!"
 
-#: ../output.py:1618 ../output.py:1980
+#: ../output.py:2151 ../output.py:2534
 msgid "No transaction ID, or package, given"
 msgstr "Keine Transaktions-ID oder Paket angegeben"
 
-#: ../output.py:1686 ../output.py:1845
+#: ../output.py:2222 ../output.py:2384
 msgid "Downgraded"
-msgstr ""
+msgstr "Zurückgesetzt"
 
-#: ../output.py:1688
+#: ../output.py:2224
 msgid "Older"
 msgstr "Älter"
 
-#: ../output.py:1688
+#: ../output.py:2224
 msgid "Newer"
 msgstr "Neuer"
 
-#: ../output.py:1724 ../output.py:1726
+#: ../output.py:2261 ../output.py:2263 ../output.py:2681
 msgid "Transaction ID :"
 msgstr "Transaktions-ID :"
 
-#: ../output.py:1728
+#: ../output.py:2265 ../output.py:2683
 msgid "Begin time     :"
 msgstr "Anfangszeit :"
 
-#: ../output.py:1731 ../output.py:1733
+#: ../output.py:2268 ../output.py:2270
 msgid "Begin rpmdb    :"
 msgstr "Anfang rpmdb    :"
 
-#: ../output.py:1749
+#: ../output.py:2286
 #, python-format
 msgid "(%u seconds)"
-msgstr ""
+msgstr "(%u Sekunden)"
 
-#: ../output.py:1751
+#: ../output.py:2288
 #, python-format
 msgid "(%u minutes)"
-msgstr ""
+msgstr "(%u Minuten)"
 
-#: ../output.py:1753
+#: ../output.py:2290
 #, python-format
 msgid "(%u hours)"
-msgstr ""
+msgstr "(%u Stunden)"
 
-#: ../output.py:1755
+#: ../output.py:2292
 #, python-format
 msgid "(%u days)"
-msgstr ""
+msgstr "(%u Tage)"
 
-#: ../output.py:1756
+#: ../output.py:2293
 msgid "End time       :"
 msgstr "Endzeit :"
 
-#: ../output.py:1759 ../output.py:1761
+#: ../output.py:2296 ../output.py:2298
 msgid "End rpmdb      :"
 msgstr "Ende rpmdb      :"
 
-#: ../output.py:1764 ../output.py:1766
+#: ../output.py:2301 ../output.py:2303
 msgid "User           :"
 msgstr "Benutzer :"
 
-#: ../output.py:1770 ../output.py:1773 ../output.py:1775 ../output.py:1777
-#: ../output.py:1779
+#: ../output.py:2307 ../output.py:2310 ../output.py:2312 ../output.py:2314
+#: ../output.py:2316
 msgid "Return-Code    :"
 msgstr "Rückgabe-Code    :"
 
-#: ../output.py:1770 ../output.py:1775
+#: ../output.py:2307 ../output.py:2312
 msgid "Aborted"
-msgstr ""
+msgstr "Abgebrochen"
 
-#: ../output.py:1773
+#: ../output.py:2310
 msgid "Failures:"
-msgstr ""
+msgstr "Fehlschläge:"
 
-#: ../output.py:1777
+#: ../output.py:2314
 msgid "Failure:"
-msgstr ""
+msgstr "Fehlschlag:"
 
-#: ../output.py:1779
+#: ../output.py:2316
 msgid "Success"
 msgstr "Erfolg"
 
-#: ../output.py:1784 ../output.py:1786
+#: ../output.py:2321 ../output.py:2323 ../output.py:2712
 msgid "Command Line   :"
-msgstr ""
+msgstr "Befehlszeile   :"
 
-#: ../output.py:1795
+#: ../output.py:2332
 #, python-format
 msgid "Additional non-default information stored: %d"
-msgstr ""
+msgstr "Zusätzliche Nicht-Standardinformation gespeichert: %d"
 
 #. This is _possible_, but not common
-#: ../output.py:1800
+#: ../output.py:2337
 msgid "Transaction performed with:"
-msgstr ""
+msgstr "Transaktion ausgeführt mit:"
 
-#: ../output.py:1804
+#: ../output.py:2341
 msgid "Packages Altered:"
 msgstr "Veränderte Pakete:"
 
-#: ../output.py:1808
+#: ../output.py:2345
 msgid "Packages Skipped:"
 msgstr "Übersprungene Pakete:"
 
-#: ../output.py:1814
+#: ../output.py:2353
 msgid "Rpmdb Problems:"
-msgstr ""
+msgstr "Rpmdb-Probleme:"
 
-#: ../output.py:1825
+#: ../output.py:2364
 msgid "Scriptlet output:"
-msgstr ""
+msgstr "Ausgabe des Skriptlets:"
 
-#: ../output.py:1831
+#: ../output.py:2370
 msgid "Errors:"
 msgstr "Fehler:"
 
-#: ../output.py:1837 ../output.py:1838
-msgid "Install"
-msgstr "Installieren"
-
-#: ../output.py:1839
+#: ../output.py:2378
 msgid "Dep-Install"
-msgstr ""
+msgstr "Abhängigkeiteninstallation"
 
-#: ../output.py:1841
+#: ../output.py:2380
 msgid "Obsoleting"
-msgstr ""
+msgstr "Veraltet"
 
-#: ../output.py:1842
+#: ../output.py:2381
 msgid "Erase"
 msgstr "Löschen"
 
-#: ../output.py:1843
-msgid "Reinstall"
-msgstr ""
-
-#: ../output.py:1844
-msgid "Downgrade"
-msgstr ""
-
-#: ../output.py:1846
+#: ../output.py:2385
 msgid "Update"
-msgstr ""
+msgstr "Aktualisieren"
 
-#: ../output.py:1909
+#: ../output.py:2459
 msgid "Time"
 msgstr "Zeit"
 
-#: ../output.py:1935
+#: ../output.py:2485
 msgid "Last day"
 msgstr "Gestern"
 
-#: ../output.py:1936
+#: ../output.py:2486
 msgid "Last week"
 msgstr "Letzte Woche"
 
-#: ../output.py:1937
+#: ../output.py:2487
 msgid "Last 2 weeks"
 msgstr "In den letzten 2 Wochen"
 
 #. US default :p
-#: ../output.py:1938
+#: ../output.py:2488
 msgid "Last 3 months"
 msgstr "In den letzten 3 Monaten"
 
-#: ../output.py:1939
+#: ../output.py:2489
 msgid "Last 6 months"
 msgstr "In den letzten 6 Monaten"
 
-#: ../output.py:1940
+#: ../output.py:2490
 msgid "Last year"
 msgstr "Letztes Jahr"
 
-#: ../output.py:1941
+#: ../output.py:2491
 msgid "Over a year ago"
 msgstr "Vor über einem Jahr"
 
-#: ../output.py:1984
+#: ../output.py:2538
 #, python-format
 msgid "No Transaction %s found"
 msgstr "Keine Transaktion %s gefunden"
 
-#: ../output.py:1990
+#: ../output.py:2544
 msgid "Transaction ID:"
 msgstr "Transaktions-ID"
 
-#: ../output.py:1991
+#: ../output.py:2545
 msgid "Available additional history information:"
 msgstr "Verfügbare zusätzliche Verlaufsinformationen"
 
-#: ../output.py:2003
+#: ../output.py:2558
 #, python-format
 msgid "%s: No additional data found by this name"
 msgstr "%s: Keine zusätzlichen Daten zu diesem Namen gefunden"
 
-#: ../output.py:2106
+#: ../output.py:2684
+msgid "Package        :"
+msgstr "Paket          :"
+
+#: ../output.py:2685
+msgid "State          :"
+msgstr "Status         :"
+
+#: ../output.py:2688
+msgid "Size           :"
+msgstr "Größe          :"
+
+#: ../output.py:2690
+msgid "Build host     :"
+msgstr "Build Host         :"
+
+#: ../output.py:2693
+msgid "Build time     :"
+msgstr "Erstellungszeit:"
+
+#: ../output.py:2695
+msgid "Packager       :"
+msgstr "Paketierer     :"
+
+#: ../output.py:2697
+msgid "Vendor         :"
+msgstr "Hersteller                 :"
+
+#: ../output.py:2699
+msgid "License        :"
+msgstr "Lizenz         :"
+
+#: ../output.py:2701
+msgid "URL            :"
+msgstr "Adresse        :"
+
+#: ../output.py:2703
+msgid "Source RPM     :"
+msgstr "Quellpaket     :"
+
+#: ../output.py:2706
+msgid "Commit Time    :"
+msgstr "Übermittlungszeit       :"
+
+#: ../output.py:2708
+msgid "Committer      :"
+msgstr "Übermittler           :"
+
+#: ../output.py:2710
+msgid "Reason         :"
+msgstr "Grund          :"
+
+#: ../output.py:2714
+msgid "From repo      :"
+msgstr "Aus Quelle     :"
+
+#: ../output.py:2718
+msgid "Installed by   :"
+msgstr "Installiert von:"
+
+#: ../output.py:2722
+msgid "Changed by     :"
+msgstr "Geändert von   :"
+
+#: ../output.py:2767
 msgid "installed"
 msgstr "installiert"
 
-#: ../output.py:2107
+#: ../output.py:2768
 msgid "an update"
-msgstr ""
+msgstr "eine Aktualisierung"
 
-#: ../output.py:2108
+#: ../output.py:2769
 msgid "erased"
 msgstr "gelöscht"
 
-#: ../output.py:2109
+#: ../output.py:2770
 msgid "reinstalled"
 msgstr "reinstalliert"
 
-#: ../output.py:2110
+#: ../output.py:2771
 msgid "a downgrade"
-msgstr ""
+msgstr "ein Downgrade"
 
-#: ../output.py:2111
+#: ../output.py:2772
 msgid "obsoleting"
-msgstr ""
+msgstr "Aufräumen"
 
-#: ../output.py:2112
+#: ../output.py:2773
 msgid "updated"
 msgstr "aktualisiert"
 
-#: ../output.py:2113
+#: ../output.py:2774
 msgid "obsoleted"
 msgstr "veraltet"
 
-#: ../output.py:2117
+#: ../output.py:2778
 #, python-format
 msgid "---> Package %s.%s %s:%s-%s will be %s"
 msgstr "---> Paket %s.%s %s:%s-%s markiert, um %s zu werden"
 
-#: ../output.py:2124
+#: ../output.py:2789
 msgid "--> Running transaction check"
-msgstr "--> Führe Transaktionsprüfung aus"
+msgstr "--> Transaktionsprüfung wird ausgeführt"
 
-#: ../output.py:2129
+#: ../output.py:2795
 msgid "--> Restarting Dependency Resolution with new changes."
-msgstr "--> Starte Abhängigkeitsauflösung mit den neuen Änderungen neu."
+msgstr "--> Abhängigkeitsauflösung wird mit den neuen Änderungen neu gestartet."
 
-#: ../output.py:2134
+#: ../output.py:2801
 msgid "--> Finished Dependency Resolution"
 msgstr "--> Abhängigkeitsauflösung beendet"
 
-#: ../output.py:2139 ../output.py:2144
+#: ../output.py:2814 ../output.py:2827
 #, python-format
 msgid "--> Processing Dependency: %s for package: %s"
-msgstr "--> Verarbeite Abhängigkeiten: %s für Paket: %s"
+msgstr "--> Abhängigkeit %s wird für Paket %s verarbeitet"
 
-#: ../output.py:2149
+#: ../output.py:2841
 #, python-format
-msgid "---> Keeping package: %s"
-msgstr "---> Behalte Paket: %s"
+msgid "---> Keeping package: %s due to %s"
+msgstr ""
 
-#: ../output.py:2152
+#: ../output.py:2850
 #, python-format
 msgid "--> Unresolved Dependency: %s"
 msgstr "--> Nicht aufgelöste Abhängigkeit: %s"
 
-#: ../output.py:2163
+#: ../output.py:2867
 #, python-format
 msgid "Package: %s"
 msgstr "Paket: %s"
 
-#: ../output.py:2165
+#: ../output.py:2869
 #, python-format
 msgid ""
 "\n"
 "    Requires: %s"
-msgstr ""
-"\n"
-"    Benötigt: %s"
+msgstr "\n    Benötigt: %s"
 
-#: ../output.py:2174
+#: ../output.py:2878
 #, python-format
 msgid ""
 "\n"
 "    %s: %s (%s)"
-msgstr ""
-"\n"
-"    %s: %s (%s)"
+msgstr "\n    %s: %s (%s)"
 
-#: ../output.py:2179
+#: ../output.py:2883
 #, python-format
 msgid ""
 "\n"
 "        %s"
-msgstr ""
-"\n"
-"        %s"
+msgstr "\n        %s"
 
-#: ../output.py:2181
+#: ../output.py:2885
 msgid ""
 "\n"
 "        Not found"
-msgstr ""
-"\n"
-"        Nicht gefunden"
+msgstr "\n        Nicht gefunden"
 
 #. These should be the only three things we care about:
-#: ../output.py:2196
+#: ../output.py:2900
 msgid "Updated By"
 msgstr "Aktualisiert durch"
 
-#: ../output.py:2197
+#: ../output.py:2901
 msgid "Downgraded By"
-msgstr ""
+msgstr "Zurückgesetzt von"
 
-#: ../output.py:2198
+#: ../output.py:2902
 msgid "Obsoleted By"
 msgstr "Überholt durch"
 
-#: ../output.py:2216
+#: ../output.py:2920
 msgid "Available"
 msgstr "Verfügbar"
 
-#: ../output.py:2243 ../output.py:2248
+#: ../output.py:2955 ../output.py:2968
 #, python-format
 msgid "--> Processing Conflict: %s conflicts %s"
-msgstr "--> Verarbeite Konflikt: %s kollidiert mit %s"
+msgstr "--> Konflikt wird verarbeitet: %s kollidiert mit %s"
 
-#: ../output.py:2252
+#: ../output.py:2974
 msgid "--> Populating transaction set with selected packages. Please wait."
-msgstr "--> Fülle Verarbeitungsset mit ausgewählten Paketen. Bitte warten."
+msgstr "--> Transaktionssatz wird mit ausgewählten Paketen gefüllt. Bitte warten."
 
-#: ../output.py:2256
+#: ../output.py:2983
 #, python-format
 msgid "---> Downloading header for %s to pack into transaction set."
-msgstr "---> Lade Header für %s herunter, um ins Verarbeitungsset zu packen."
+msgstr "---> Header für %s werden heruntergeladen, um sie in den Transaktionssatz zu packen."
+
+#. self.event(txmbr.name, count, len(base.tsInfo), count, )
+#. (te_current*100L)/te_total
+#: ../output.py:3248
+msgid "Verifying"
+msgstr "Überprüfung läuft"
 
-#: ../utils.py:99
+#: ../utils.py:123
 msgid "Running"
 msgstr "Läuft"
 
-#: ../utils.py:100
+#: ../utils.py:124
 msgid "Sleeping"
 msgstr "Schläft"
 
-#: ../utils.py:101
+#: ../utils.py:125
 msgid "Uninterruptible"
 msgstr "Nicht unterbrechbar"
 
-#: ../utils.py:102
+#: ../utils.py:126
 msgid "Zombie"
 msgstr "Zombie"
 
-#: ../utils.py:103
+#: ../utils.py:127
 msgid "Traced/Stopped"
 msgstr "Verfolgt/Gestoppt"
 
-#: ../utils.py:104 ../yumcommands.py:994
+#: ../utils.py:128 ../yumcommands.py:2193
 msgid "Unknown"
 msgstr "Unbekannt"
 
-#: ../utils.py:115
+#: ../utils.py:153
 msgid "  The other application is: PackageKit"
 msgstr "  Die andere Anwendung ist: PackageKit"
 
-#: ../utils.py:117
+#: ../utils.py:155
 #, python-format
 msgid "  The other application is: %s"
 msgstr "  Die andere Anwendung ist: %s"
 
-#: ../utils.py:120
+#: ../utils.py:158
 #, python-format
 msgid "    Memory : %5s RSS (%5sB VSZ)"
 msgstr "    Speicher : %5s RSS (%5sB VSZ)"
 
-#: ../utils.py:125
+#: ../utils.py:163
 #, python-format
 msgid "    Started: %s - %s ago"
-msgstr "  Gestartet: %s - vor %s"
+msgstr "    Gestartet: %s - vor %s"
 
-#: ../utils.py:127
+#: ../utils.py:165
 #, python-format
 msgid "    State  : %s, pid: %d"
 msgstr "    Status  : %s, pid: %d"
 
-#: ../utils.py:170 ../yummain.py:43
+#: ../utils.py:194 ../yummain.py:43
 msgid ""
 "\n"
 "\n"
 "Exiting on user cancel"
-msgstr ""
-"\n"
-"\n"
-"Beende nach Abbruch durch den Benutzer"
+msgstr "\n\nWird nach Abbruch durch den Benutzer beendet"
 
-#: ../utils.py:176 ../yummain.py:49
+#: ../utils.py:206 ../yummain.py:49
 msgid ""
 "\n"
 "\n"
 "Exiting on Broken Pipe"
-msgstr ""
-"\n"
-"\n"
-"Beende wegen defekter Pipe"
+msgstr "\n\nWegen defekter Pipe wird abgebrochen"
 
-#: ../utils.py:178 ../yummain.py:51
+#: ../utils.py:208 ../yummain.py:51
 #, python-format
 msgid ""
 "\n"
 "\n"
 "%s"
-msgstr ""
-"\n"
-"\n"
-"%s"
+msgstr "\n\n%s"
 
-#: ../utils.py:228 ../yummain.py:123
-msgid ""
-"Another app is currently holding the yum lock; exiting as configured by "
-"exit_on_lock"
-msgstr ""
-
-#: ../utils.py:287
+#: ../utils.py:326
 #, python-format
 msgid "PluginExit Error: %s"
-msgstr "PluginExit Fehler: %s"
+msgstr "PluginExit-Fehler: %s"
 
-#: ../utils.py:290
+#: ../utils.py:329
 #, python-format
 msgid "Yum Error: %s"
-msgstr "Yum Fehler: %s"
+msgstr "Yum-Fehler: %s"
 
-#: ../utils.py:342 ../yummain.py:150 ../yummain.py:189
+#: ../utils.py:387 ../yummain.py:147 ../yummain.py:186
 #, python-format
 msgid "Error: %s"
 msgstr "Fehler: %s"
 
-#: ../utils.py:346 ../yummain.py:194
+#: ../utils.py:391 ../yummain.py:191
 msgid " You could try using --skip-broken to work around the problem"
-msgstr " Sie können versuchen mit --skip-broken das Problem zu umgehen."
+msgstr " Sie können versuchen, mit --skip-broken das Problem zu umgehen."
 
-#: ../utils.py:348 ../yummain.py:87
+#: ../utils.py:393 ../yummain.py:87
 msgid " You could try running: rpm -Va --nofiles --nodigest"
-msgstr ""
+msgstr " Sie könnten Folgendes versuchen: rpm -Va --nofiles --nodigest"
 
-#: ../utils.py:355 ../yummain.py:160 ../yummain.py:202
+#: ../utils.py:400 ../yummain.py:157 ../yummain.py:199
 #, python-format
 msgid "Unknown Error(s): Exit Code: %d:"
-msgstr "Unbekannte(r) Fehler: Exit Code: %d:"
+msgstr "Unbekannte(r) Fehler: Exit-Code: %d:"
 
-#: ../utils.py:361 ../yummain.py:208
+#: ../utils.py:406 ../yummain.py:205
 msgid ""
 "\n"
 "Dependencies Resolved"
-msgstr ""
-"\n"
-"Abhängigkeiten aufgelöst"
+msgstr "\nAbhängigkeiten aufgelöst"
 
-#: ../utils.py:376 ../yummain.py:234
+#: ../utils.py:422 ../yummain.py:237
 msgid "Complete!"
 msgstr "Komplett!"
 
 #: ../yumcommands.py:42
 msgid " Mini usage:\n"
-msgstr ""
+msgstr " Aufruf:\n"
 
 #: ../yumcommands.py:52
 msgid "You need to be root to perform this command."
 msgstr "Sie müssen root sein, um diesen Befehl ausführen zu können."
 
-#: ../yumcommands.py:59
+#: ../yumcommands.py:67
 msgid ""
 "\n"
 "You have enabled checking of packages via GPG keys. This is a good thing. \n"
@@ -1532,589 +1672,650 @@ msgid ""
 "will install it for you.\n"
 "\n"
 "For more information contact your distribution or package provider.\n"
-msgstr ""
-"\n"
-"Sie haben das Überprüfen der Pakete via GPG-Schlüssel aktiviert. Dies ist eine gute Sache. \n"
-"Allerdings haben Sie nicht alle öffentlichen GPG-Schlüssel installiert. Sie müssen die\n"
-"gewünschten Schlüssel für die Pakete herunterladen und installieren.\n"
-"Sie können dies mit folgendem Befehl machen:\n"
-"    rpm --import public.gpg.key\n"
-"\n"
-"\n"
-"Alternativ könnten Sie den URL zum Schlüssel, welchen Sie benutzen wollen\n"
-"für ein Repository, durch die 'gpgkey'-Option in einem Repository-Bereich\n"
-"angeben, und yum wird ihn für Sie installieren.\n"
-"\n"
-"Für weitere Informationen kontaktieren Sie Ihren Distributions- oder Paket-Anbieter.\n"
+msgstr "\nSie haben das Überprüfen der Pakete via GPG-Schlüssel aktiviert. Dies ist eine gute Sache. \nAllerdings haben Sie nicht alle öffentlichen GPG-Schlüssel installiert. Sie müssen die\ngewünschten Schlüssel für die Pakete herunterladen und installieren.\nSie können dies mit folgendem Befehl machen:\n    rpm --import public.gpg.key\n\n\nAlternativ könnten Sie den URL zum Schlüssel, welchen Sie benutzen wollen\nfür ein Repository, durch die »gpgkey«-Option in einem Repository-Bereich\nangeben, und yum wird ihn für Sie installieren.\n\nFür weitere Informationen kontaktieren Sie Ihren Distributions- oder Paket-Anbieter.\n"
 
-#: ../yumcommands.py:74
+#: ../yumcommands.py:82
 #, python-format
 msgid "Problem repository: %s"
-msgstr ""
+msgstr "Problematische Paketquelle: %s"
 
-#: ../yumcommands.py:80
+#: ../yumcommands.py:96
 #, python-format
 msgid "Error: Need to pass a list of pkgs to %s"
-msgstr "Fehler: Muss eine Liste von Paketen an %s übergeben"
+msgstr "Fehler: Eine Liste von Paketen muss an %s übergeben werden"
+
+#: ../yumcommands.py:114
+#, python-format
+msgid "Error: Need at least two packages to %s"
+msgstr ""
+
+#: ../yumcommands.py:129
+#, python-format
+msgid "Error: Need to pass a repoid. and command to %s"
+msgstr ""
+
+#: ../yumcommands.py:136 ../yumcommands.py:142
+#, python-format
+msgid "Error: Need to pass a single valid repoid. to %s"
+msgstr ""
+
+#: ../yumcommands.py:147
+#, python-format
+msgid "Error: Repo %s is not enabled"
+msgstr ""
 
-#: ../yumcommands.py:86
+#: ../yumcommands.py:164
 msgid "Error: Need an item to match"
-msgstr "Fehler: Brauche einen Begriff, der passt"
+msgstr "Fehler: Ein passender Begriff wird benötigt"
 
-#: ../yumcommands.py:92
+#: ../yumcommands.py:178
 msgid "Error: Need a group or list of groups"
-msgstr "Fehler: Brauche eine Gruppe oder eine Liste von Gruppen"
+msgstr "Fehler: Eine Gruppe oder eine Gruppenliste wird benötigt"
 
-#: ../yumcommands.py:101
+#: ../yumcommands.py:195
 #, python-format
 msgid "Error: clean requires an option: %s"
 msgstr "Fehler: Aufräumen benötigt eine Option: %s"
 
-#: ../yumcommands.py:106
+#: ../yumcommands.py:201
 #, python-format
 msgid "Error: invalid clean argument: %r"
 msgstr "Fehler: Ungültiges Argument für Aufräumen: %r"
 
-#: ../yumcommands.py:119
+#: ../yumcommands.py:216
 msgid "No argument to shell"
 msgstr "Kein Argument für Shell"
 
-#: ../yumcommands.py:121
+#: ../yumcommands.py:218
 #, python-format
 msgid "Filename passed to shell: %s"
 msgstr "Dateinamen an Shell übergeben: %s"
 
-#: ../yumcommands.py:125
+#: ../yumcommands.py:222
 #, python-format
 msgid "File %s given as argument to shell does not exist."
 msgstr "Datei %s, angegeben als Argument für Shell, existiert nicht."
 
-#: ../yumcommands.py:131
+#: ../yumcommands.py:228
 msgid "Error: more than one file given as argument to shell."
 msgstr "Fehler: mehr als eine Datei als Argument an die Shell übergeben."
 
-#: ../yumcommands.py:148
+#: ../yumcommands.py:247
 msgid ""
 "There are no enabled repos.\n"
 " Run \"yum repolist all\" to see the repos you have.\n"
 " You can enable repos with yum-config-manager --enable <repo>"
-msgstr ""
-"Es gibt keine aktivierten repos.\n"
-"Führen sie \"yum repolist all\" aus, um zu sehen, welche repos sie haben.\n"
-"Sie können repos mit yum-config-manager --enable <repo> aktivieren"
+msgstr "Es gibt keine aktivierten Paketquellen.\nFühren sie »yum repolist all« aus, um zu sehen, welche Quellen eingerichtet sind.\nSie können Quellen mit yum-config-manager --enable <Quelle> aktivieren"
 
-#: ../yumcommands.py:200
+#: ../yumcommands.py:383
 msgid "PACKAGE..."
-msgstr "PAKET..."
+msgstr "PAKET …"
 
-#: ../yumcommands.py:203
+#: ../yumcommands.py:390
 msgid "Install a package or packages on your system"
-msgstr "Installiere ein Paket oder Pakete auf Ihrem System"
+msgstr "Ein Paket oder Pakete auf Ihrem System installieren"
 
-#: ../yumcommands.py:212
+#: ../yumcommands.py:421
 msgid "Setting up Install Process"
-msgstr "Einrichten des Installationsprozess"
+msgstr "Installationsprozess wird eingerichtet"
 
-#: ../yumcommands.py:223 ../yumcommands.py:245
+#: ../yumcommands.py:447 ../yumcommands.py:507
 msgid "[PACKAGE...]"
-msgstr "[PAKET...]"
+msgstr "[PAKET …]"
 
-#: ../yumcommands.py:226
+#: ../yumcommands.py:454
 msgid "Update a package or packages on your system"
-msgstr "Aktualisiere ein Paket oder Pakete auf Ihrem System"
+msgstr "Ein Paket oder Pakete auf Ihrem System aktualisieren"
 
-#: ../yumcommands.py:234
+#: ../yumcommands.py:483
 msgid "Setting up Update Process"
-msgstr "Einrichten des Aktualisierungsprozess"
+msgstr "Aktualisierungsprozess wird eingerichtet"
 
-#: ../yumcommands.py:248
+#: ../yumcommands.py:514
 msgid "Synchronize installed packages to the latest available versions"
-msgstr ""
-"Installierte Pakete auf die neuesten verfügbaren Versionen synchronisieren"
+msgstr "Installierte Pakete mit den neuesten verfügbaren Versionen abgleichen"
 
-#: ../yumcommands.py:256
+#: ../yumcommands.py:543
 msgid "Setting up Distribution Synchronization Process"
-msgstr ""
+msgstr "Prozess der Distributionsaktualisierung wird eingerichtet"
 
-#: ../yumcommands.py:299
+#: ../yumcommands.py:603
 msgid "Display details about a package or group of packages"
-msgstr "Zeige Details über ein Paket oder einer Gruppe von Pakete an"
+msgstr "Details zu einem Paket oder einer Gruppe von Pakete anzeigen"
 
-#: ../yumcommands.py:348
+#: ../yumcommands.py:672
 msgid "Installed Packages"
 msgstr "Installierte Pakete"
 
-#: ../yumcommands.py:356
+#: ../yumcommands.py:682
 msgid "Available Packages"
 msgstr "Verfügbare Pakete"
 
-#: ../yumcommands.py:360
+#: ../yumcommands.py:687
 msgid "Extra Packages"
 msgstr "Extra-Pakete"
 
-#: ../yumcommands.py:364
+#: ../yumcommands.py:691
 msgid "Updated Packages"
 msgstr "Aktualisierte Pakete"
 
 #. This only happens in verbose mode
-#: ../yumcommands.py:372 ../yumcommands.py:379 ../yumcommands.py:667
+#: ../yumcommands.py:699 ../yumcommands.py:706 ../yumcommands.py:1539
 msgid "Obsoleting Packages"
 msgstr "Veraltete Pakete"
 
-#: ../yumcommands.py:381
+#: ../yumcommands.py:708
 msgid "Recently Added Packages"
 msgstr "Kürzlich hinzugefügte Pakete"
 
-#: ../yumcommands.py:388
+#: ../yumcommands.py:715
 msgid "No matching Packages to list"
 msgstr "Keine übereinstimmenden Pakete zum Auflisten"
 
-#: ../yumcommands.py:402
+#: ../yumcommands.py:766
 msgid "List a package or groups of packages"
-msgstr "Liste von Paketen oder Gruppen von Paketen"
+msgstr "Pakete oder Paketgruppen auflisten"
 
-#: ../yumcommands.py:414
+#: ../yumcommands.py:797
 msgid "Remove a package or packages from your system"
-msgstr "Entferne ein Paket oder Pakete auf Ihrem System"
+msgstr "Ein Paket oder Pakete auf Ihrem System entfernen"
 
-#: ../yumcommands.py:421
+#: ../yumcommands.py:845
 msgid "Setting up Remove Process"
-msgstr "Einrichten des Entfernungsprozess"
+msgstr "Entfernungsprozess wird eingerichtet"
 
-#: ../yumcommands.py:435
+#: ../yumcommands.py:906
+msgid "Display, or use, the groups information"
+msgstr "Gruppeninformation anzeigen oder verwenden"
+
+#: ../yumcommands.py:909
 msgid "Setting up Group Process"
-msgstr "Einrichten des Gruppenprozess"
+msgstr "Gruppenprozess wird eingerichtet"
 
-#: ../yumcommands.py:441
+#: ../yumcommands.py:915
 msgid "No Groups on which to run command"
 msgstr "Keine Gruppe, auf welcher der Befehl ausgeführt werden kann"
 
-#: ../yumcommands.py:454
-msgid "List available package groups"
-msgstr "Verfügbare Gruppen anzeigen"
-
-#: ../yumcommands.py:474
-msgid "Install the packages in a group on your system"
-msgstr "Installiere die Pakete in einer Gruppe auf Ihrem System"
+#: ../yumcommands.py:985
+#, python-format
+msgid "Invalid groups sub-command, use: %s."
+msgstr "Ungültiger groups-Unterbefehl, verwenden Sie: %s."
 
-#: ../yumcommands.py:497
-msgid "Remove the packages in a group from your system"
-msgstr "Entferne die Pakete in einer Gruppe von Ihrem System"
+#: ../yumcommands.py:992
+msgid "There is no installed groups file."
+msgstr "Es ist keine Gruppendatei installiert."
 
-#: ../yumcommands.py:525
-msgid "Display details about a package group"
-msgstr "Zeigt Details über eine Paket-Gruppe an"
+#: ../yumcommands.py:994
+msgid "You don't have access to the groups DB."
+msgstr "Sie haben keinen Zugriff auf die Gruppendatenbank."
 
-#: ../yumcommands.py:550
+#: ../yumcommands.py:1256
 msgid "Generate the metadata cache"
-msgstr "Generiere den Metadaten-Zwischenspeicher"
+msgstr "Den Metadaten-Zwischenspeicher erzeugen"
 
-#: ../yumcommands.py:556
+#: ../yumcommands.py:1282
 msgid "Making cache files for all metadata files."
-msgstr "Erstelle Zwischenspeicherungsdatei für alle Metadaten-Dateien."
+msgstr "Zwischenspeicherungsdateien für alle Metadaten-Dateien werden erstellt"
 
-#: ../yumcommands.py:557
+#: ../yumcommands.py:1283
 msgid "This may take a while depending on the speed of this computer"
-msgstr ""
-"Dies kann eine Weile dauern, abhängig von der Geschwindigkeit dieses "
-"Computers"
+msgstr "Dies kann eine Weile dauern, abhängig von der Geschwindigkeit dieses Rechners"
 
-#: ../yumcommands.py:578
+#: ../yumcommands.py:1312
 msgid "Metadata Cache Created"
 msgstr "Metadaten-Zwischenspeicher erstellt"
 
-#: ../yumcommands.py:592
+#: ../yumcommands.py:1350
 msgid "Remove cached data"
-msgstr "Entferne gespeicherte Daten"
+msgstr "Gespeicherte Daten entfernen"
 
-#: ../yumcommands.py:613
+#: ../yumcommands.py:1417
 msgid "Find what package provides the given value"
-msgstr "Suche ein Paket, das den gegebenen Wert bereitstellt"
+msgstr "Ein Paket suchen, das den gegebenen Wert bereitstellt"
 
-#: ../yumcommands.py:633
+#: ../yumcommands.py:1485
 msgid "Check for available package updates"
-msgstr "Überprüfe auf verfügbare Paket-Aktualisierungen"
+msgstr "Auf verfügbare Paket-Aktualisierungen überprüfen"
 
-#: ../yumcommands.py:687
+#: ../yumcommands.py:1587
 msgid "Search package details for the given string"
-msgstr "Suche nach Paket-Details für die gegebene Zeichenkette"
+msgstr "Nach Paket-Details für die gegebene Zeichenkette suchen"
 
-#: ../yumcommands.py:693
+#: ../yumcommands.py:1613
 msgid "Searching Packages: "
-msgstr "Suche Pakete:"
+msgstr "Pakete suchen:"
 
-#: ../yumcommands.py:710
+#: ../yumcommands.py:1666
 msgid "Update packages taking obsoletes into account"
-msgstr "Aktualisiere Pakete, berücksichtige veraltete"
+msgstr "Pakete aktualisieren, veraltetete berücksichtigen"
 
-#: ../yumcommands.py:719
+#: ../yumcommands.py:1696
 msgid "Setting up Upgrade Process"
-msgstr "Einrichten des Upgradeprozesses"
+msgstr "Distributionsaktualisierungsprozess wird eingerichtet"
 
-#: ../yumcommands.py:737
+#: ../yumcommands.py:1731
 msgid "Install a local RPM"
-msgstr "Installiere ein lokales RPM"
+msgstr "Ein lokales RPM installieren"
 
-#: ../yumcommands.py:745
+#: ../yumcommands.py:1761
 msgid "Setting up Local Package Process"
-msgstr "Einrichten der lokalen Paketverarbeitung"
-
-#: ../yumcommands.py:764
-msgid "Determine which package provides the given dependency"
-msgstr "Bestimme, welche Pakete die gegebenen Abhängigkeiten bereitstellen"
+msgstr "Lokale Paketverarbeitung wird eingerichtet"
 
-#: ../yumcommands.py:767
+#: ../yumcommands.py:1825
 msgid "Searching Packages for Dependency:"
-msgstr "Suche Pakete für Abhängigkeit:"
+msgstr "Pakete für Abhängigkeit suchen:"
 
-#: ../yumcommands.py:781
+#: ../yumcommands.py:1867
 msgid "Run an interactive yum shell"
-msgstr "Führe eine interaktive Yum-Shell aus"
+msgstr "Eine interaktive Yum-Shell ausführen"
 
-#: ../yumcommands.py:787
+#: ../yumcommands.py:1893
 msgid "Setting up Yum Shell"
-msgstr "Einrichten der Yum-Shell"
+msgstr "Yum-Shell wird eingerichtet"
 
-#: ../yumcommands.py:805
+#: ../yumcommands.py:1936
 msgid "List a package's dependencies"
-msgstr "Liste von Paket-Abhängigkeiten"
+msgstr "Paket-Abhängigkeiten auflisten"
 
-#: ../yumcommands.py:811
+#: ../yumcommands.py:1963
 msgid "Finding dependencies: "
-msgstr "Suche Abhängigkeiten:"
+msgstr "Abhängigkeiten werden gesucht:"
 
-#: ../yumcommands.py:827
+#: ../yumcommands.py:2005
 msgid "Display the configured software repositories"
-msgstr "Zeige die konfigurierten Software-Repositories an"
+msgstr "Die eingerichteten Paketquellen anzeigen"
 
-#: ../yumcommands.py:893 ../yumcommands.py:894
+#: ../yumcommands.py:2094 ../yumcommands.py:2095
 msgid "enabled"
 msgstr "aktiviert"
 
-#: ../yumcommands.py:920 ../yumcommands.py:921
+#: ../yumcommands.py:2121 ../yumcommands.py:2122
 msgid "disabled"
 msgstr "deaktiviert"
 
-#: ../yumcommands.py:937
+#: ../yumcommands.py:2137
 msgid "Repo-id      : "
 msgstr "Repo-id      : "
 
-#: ../yumcommands.py:938
+#: ../yumcommands.py:2138
 msgid "Repo-name    : "
 msgstr "Repo-name    : "
 
-#: ../yumcommands.py:941
+#: ../yumcommands.py:2141
 msgid "Repo-status  : "
 msgstr "Repo-status  : "
 
-#: ../yumcommands.py:944
+#: ../yumcommands.py:2144
 msgid "Repo-revision: "
 msgstr "Repo-Revision: "
 
-#: ../yumcommands.py:948
+#: ../yumcommands.py:2148
 msgid "Repo-tags    : "
 msgstr "Repo-tags    : "
 
-#: ../yumcommands.py:954
+#: ../yumcommands.py:2154
 msgid "Repo-distro-tags: "
 msgstr "Repo-Distro-Tags: "
 
-#: ../yumcommands.py:959
+#: ../yumcommands.py:2159
 msgid "Repo-updated : "
 msgstr "Repo aktualisiert : "
 
-#: ../yumcommands.py:961
+#: ../yumcommands.py:2161
 msgid "Repo-pkgs    : "
 msgstr "Repo-pkgs    : "
 
-#: ../yumcommands.py:962
+#: ../yumcommands.py:2162
 msgid "Repo-size    : "
 msgstr "Repo-Größe    : "
 
-#: ../yumcommands.py:969 ../yumcommands.py:990
+#: ../yumcommands.py:2169 ../yumcommands.py:2190
 msgid "Repo-baseurl : "
 msgstr "Repo-baseurl : "
 
-#: ../yumcommands.py:977
+#: ../yumcommands.py:2177
 msgid "Repo-metalink: "
 msgstr "Repo-Metalink: "
 
-#: ../yumcommands.py:981
+#: ../yumcommands.py:2181
 msgid "  Updated    : "
 msgstr "  Aktualisiert    : "
 
-#: ../yumcommands.py:984
+#: ../yumcommands.py:2184
 msgid "Repo-mirrors : "
 msgstr "Repo-Spiegel : "
 
-#: ../yumcommands.py:1000
+#: ../yumcommands.py:2199
 #, python-format
 msgid "Never (last: %s)"
 msgstr "Nie (zuletzt: %s)"
 
-#: ../yumcommands.py:1002
+#: ../yumcommands.py:2201
 #, python-format
 msgid "Instant (last: %s)"
-msgstr ""
+msgstr "Aktuell (Vorher: %s)"
 
-#: ../yumcommands.py:1005
+#: ../yumcommands.py:2204
 #, python-format
 msgid "%s second(s) (last: %s)"
 msgstr "%s Sekunde(n) (zuletzt: %s)"
 
-#: ../yumcommands.py:1007
+#: ../yumcommands.py:2206
 msgid "Repo-expire  : "
-msgstr ""
+msgstr "Repo-Verfall  : "
 
-#: ../yumcommands.py:1010
+#: ../yumcommands.py:2209
 msgid "Repo-exclude : "
 msgstr "Repo-ausgeschlossen : "
 
-#: ../yumcommands.py:1014
+#: ../yumcommands.py:2213
 msgid "Repo-include : "
 msgstr "Repo-eingeschlossen : "
 
-#: ../yumcommands.py:1018
+#: ../yumcommands.py:2217
 msgid "Repo-excluded: "
 msgstr "Repo-ausgeschlossen: "
 
-#: ../yumcommands.py:1022
+#: ../yumcommands.py:2221
 msgid "Repo-filename: "
-msgstr ""
+msgstr "Paketquellen-Dateiname: "
 
 #. Work out the first (id) and last (enabled/disalbed/count),
 #. then chop the middle (name)...
-#: ../yumcommands.py:1032 ../yumcommands.py:1061
+#: ../yumcommands.py:2230 ../yumcommands.py:2259
 msgid "repo id"
 msgstr "Repo-ID"
 
-#: ../yumcommands.py:1049 ../yumcommands.py:1050 ../yumcommands.py:1068
+#: ../yumcommands.py:2247 ../yumcommands.py:2248 ../yumcommands.py:2266
 msgid "status"
 msgstr "Status"
 
-#: ../yumcommands.py:1062
+#: ../yumcommands.py:2260
 msgid "repo name"
 msgstr "Repo-Name:"
 
-#: ../yumcommands.py:1099
+#: ../yumcommands.py:2332
 msgid "Display a helpful usage message"
-msgstr "Zeigt eine kurze Verwendungsinformation"
+msgstr "Eine kurze Verwendungsinformation anzeigen"
 
-#: ../yumcommands.py:1133
+#: ../yumcommands.py:2374
 #, python-format
 msgid "No help available for %s"
 msgstr "Keine Hilfe für %s vorhanden"
 
-#: ../yumcommands.py:1138
+#: ../yumcommands.py:2379
 msgid ""
 "\n"
 "\n"
 "aliases: "
-msgstr ""
-"\n"
-"\n"
-"Aliase: "
+msgstr "\n\nAliase: "
 
-#: ../yumcommands.py:1140
+#: ../yumcommands.py:2381
 msgid ""
 "\n"
 "\n"
 "alias: "
-msgstr ""
-"\n"
-"\n"
-"Alias: "
+msgstr "\n\nAlias: "
 
-#: ../yumcommands.py:1168
+#: ../yumcommands.py:2466
 msgid "Setting up Reinstall Process"
-msgstr "Einrichten des Neuinstallationsprozess"
+msgstr "Neuinstallationsprozess wird eingerichtet"
 
-#: ../yumcommands.py:1176
+#: ../yumcommands.py:2478
 msgid "reinstall a package"
-msgstr "Installiere Paket neu"
+msgstr "Paket neu installieren"
 
-#: ../yumcommands.py:1195
+#: ../yumcommands.py:2541
 msgid "Setting up Downgrade Process"
-msgstr "Einrichten des Downgrade-Prozesses"
+msgstr "Zurücksetzungsprozess wird eingerichtet"
 
-#: ../yumcommands.py:1202
+#: ../yumcommands.py:2552
 msgid "downgrade a package"
-msgstr "Downgrade eines Pakets"
+msgstr "Ein Paket zurücksetzen"
 
-#: ../yumcommands.py:1216
+#: ../yumcommands.py:2591
 msgid "Display a version for the machine and/or available repos."
-msgstr ""
-"Eine Version für das System und/oder die verfügbaren Repositories anzeigen."
+msgstr "Eine Version für das System und/oder die verfügbaren Paketquellen anzeigen."
 
-#: ../yumcommands.py:1255
+#: ../yumcommands.py:2643
 msgid " Yum version groups:"
-msgstr ""
+msgstr " Yum Gruppenversion:"
 
-#: ../yumcommands.py:1265
+#: ../yumcommands.py:2653
 msgid " Group   :"
 msgstr " Gruppe   :"
 
-#: ../yumcommands.py:1266
+#: ../yumcommands.py:2654
 msgid " Packages:"
 msgstr " Pakete:"
 
-#: ../yumcommands.py:1295
+#: ../yumcommands.py:2683
 msgid "Installed:"
 msgstr "Installiert:"
 
-#: ../yumcommands.py:1303
+#: ../yumcommands.py:2691
 msgid "Group-Installed:"
 msgstr "Gruppe-installiert:"
 
-#: ../yumcommands.py:1312
+#: ../yumcommands.py:2700
 msgid "Available:"
 msgstr "Verfügbar:"
 
-#: ../yumcommands.py:1321
+#: ../yumcommands.py:2709
 msgid "Group-Available:"
 msgstr "Gruppe-verfügbar:"
 
-#: ../yumcommands.py:1360
+#: ../yumcommands.py:2783
 msgid "Display, or use, the transaction history"
 msgstr "Übertragungsverlauf anzeigen oder verwenden"
 
-#: ../yumcommands.py:1432
+#: ../yumcommands.py:2876 ../yumcommands.py:2880
+msgid "Transactions:"
+msgstr "Transaktionen:"
+
+#: ../yumcommands.py:2881
+msgid "Begin time  :"
+msgstr "Beginn      :"
+
+#: ../yumcommands.py:2882
+msgid "End time    :"
+msgstr "Ende        :"
+
+#: ../yumcommands.py:2883
+msgid "Counts      :"
+msgstr "Anzahl      :"
+
+#: ../yumcommands.py:2884
+msgid "  NEVRAC :"
+msgstr "  NEVRAC :"
+
+#: ../yumcommands.py:2885
+msgid "  NEVRA  :"
+msgstr "  NEVRA  :"
+
+#: ../yumcommands.py:2886
+msgid "  NA     :"
+msgstr "  NA     :"
+
+#: ../yumcommands.py:2887
+msgid "  NEVR   :"
+msgstr "  NEVR   :"
+
+#: ../yumcommands.py:2888
+msgid "  rpm DB :"
+msgstr "  RPM-Datenbank:"
+
+#: ../yumcommands.py:2889
+msgid "  yum DB :"
+msgstr "  Yum-Datenbank:"
+
+#: ../yumcommands.py:2922
 #, python-format
 msgid "Invalid history sub-command, use: %s."
-msgstr ""
+msgstr "Ungültiges history Subkommando, benutze: %s"
 
-#: ../yumcommands.py:1439
+#: ../yumcommands.py:2929
 msgid "You don't have access to the history DB."
-msgstr ""
+msgstr "Sie haben keinen Zugriff auf die Verlaufsdatenbank."
 
-#: ../yumcommands.py:1487
+#: ../yumcommands.py:3036
 msgid "Check for problems in the rpmdb"
-msgstr ""
+msgstr "RPM-Datenbank auf Probleme überprüfen"
 
-#: ../yumcommands.py:1514
+#: ../yumcommands.py:3102
 msgid "load a saved transaction from filename"
-msgstr ""
+msgstr "Eine gespeicherte Transaktion aus einem Dateinamen laden"
 
-#: ../yumcommands.py:1518
+#: ../yumcommands.py:3119
 msgid "No saved transaction file specified."
-msgstr ""
+msgstr "Keine Datei mit gespeicherten Transaktionen angegeben."
 
-#: ../yumcommands.py:1522
+#: ../yumcommands.py:3123
 #, python-format
 msgid "loading transaction from %s"
-msgstr ""
+msgstr "Transaktion wird aus %s geladen"
 
-#: ../yumcommands.py:1528
+#: ../yumcommands.py:3129
 #, python-format
 msgid "Transaction loaded from %s with %s members"
+msgstr "Transaktion von %s geladen mit %s-Elementen"
+
+#: ../yumcommands.py:3169
+msgid "Simple way to swap packages, isntead of using shell"
+msgstr ""
+
+#: ../yumcommands.py:3264
+msgid ""
+"Treat a repo. as a group of packages, so we can install/remove all of them"
+msgstr ""
+
+#: ../yumcommands.py:3341
+#, python-format
+msgid "%d package to update"
+msgid_plural "%d packages to update"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../yumcommands.py:3370
+#, python-format
+msgid "%d package to remove/reinstall"
+msgid_plural "%d packages to remove/reinstall"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../yumcommands.py:3413
+#, python-format
+msgid "%d package to remove/sync"
+msgid_plural "%d packages to remove/sync"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../yumcommands.py:3417
+#, python-format
+msgid "Not a valid sub-command of %s"
 msgstr ""
 
 #. This is mainly for PackageSackError from rpmdb.
 #: ../yummain.py:84
 #, python-format
 msgid " Yum checks failed: %s"
-msgstr ""
+msgstr " Yum-Überprüfungen sind gescheitert: %s"
 
-#: ../yummain.py:114
-msgid ""
-"Another app is currently holding the yum lock; waiting for it to exit..."
-msgstr ""
-"Eine andere Anwendung blockiert momentan yum. Warte, dass sie beendet wird "
-"..."
+#: ../yummain.py:98
+msgid "No read/execute access in current directory, moving to /"
+msgstr "Kein lesender/ausführender Zugriff im aktuellen Ordner, zu / wird gewechselt"
 
-#: ../yummain.py:120
-msgid "Can't create lock file; exiting"
-msgstr ""
+#: ../yummain.py:106
+msgid "No getcwd() access in current directory, moving to /"
+msgstr "Kein Getcwd()-Zugriff auf aktuelles Verzeichnis, Wechseln zu /"
 
 #. Depsolve stage
-#: ../yummain.py:167
+#: ../yummain.py:164
 msgid "Resolving Dependencies"
-msgstr "Löse Abhängigkeiten auf"
+msgstr "Abhängigkeiten werden aufgelöst"
 
-#: ../yummain.py:230
+#: ../yummain.py:227 ../yummain.py:235
 #, python-format
-msgid "Your transaction was saved, rerun it with: yum load-transaction %s"
-msgstr ""
+msgid ""
+"Your transaction was saved, rerun it with:\n"
+" yum load-transaction %s"
+msgstr "Ihre Transaktion wurde gespeichert, erneuter Aufruf mit:\nyum load-transaction %s"
 
-#: ../yummain.py:288
+#: ../yummain.py:312
 msgid ""
 "\n"
 "\n"
 "Exiting on user cancel."
-msgstr ""
-"\n"
-"\n"
-"Verlasse nach Abbruch durch den Benutzer."
+msgstr "\n\nNach Abbruch durch den Benutzer wird beendet."
 
-#: ../yum/depsolve.py:84
+#: ../yum/depsolve.py:127
 msgid "doTsSetup() will go away in a future version of Yum.\n"
 msgstr "doTsSetup() wird in zukünftigen Versionen von Yum verschwinden.\n"
 
-#: ../yum/depsolve.py:99
+#: ../yum/depsolve.py:143
 msgid "Setting up TransactionSets before config class is up"
-msgstr ""
-"Konfiguriere TransactionSets, bevor die Konfigurationsklasse gestartet ist"
+msgstr "TransactionSets werden konfiguriert, bevor die Konfigurationsklasse gestartet ist"
 
-#: ../yum/depsolve.py:153
+#: ../yum/depsolve.py:200
 #, python-format
 msgid "Invalid tsflag in config file: %s"
 msgstr "Ungültiges tsflag in Konfigurationsdatei: %s"
 
-#: ../yum/depsolve.py:164
+#: ../yum/depsolve.py:218
 #, python-format
 msgid "Searching pkgSack for dep: %s"
-msgstr "Suche pkgSack für Abhängigkeiten: %s"
+msgstr "pkgSack für Abhängigkeiten wird gesucht: %s"
 
-#: ../yum/depsolve.py:207
+#: ../yum/depsolve.py:269
 #, python-format
 msgid "Member: %s"
 msgstr "Mitglied: %s"
 
-#: ../yum/depsolve.py:221 ../yum/depsolve.py:793
+#: ../yum/depsolve.py:283 ../yum/depsolve.py:937
 #, python-format
 msgid "%s converted to install"
 msgstr "%s konvertiert zum Installieren"
 
-#: ../yum/depsolve.py:233
+#: ../yum/depsolve.py:295
 #, python-format
 msgid "Adding Package %s in mode %s"
-msgstr "Füge Paket %s hinzu in Modus %s"
+msgstr "Paket %s wird im Modus %s hinzugefügt"
 
-#: ../yum/depsolve.py:249
+#: ../yum/depsolve.py:311
 #, python-format
 msgid "Removing Package %s"
-msgstr "Entferne Paket %s"
+msgstr "Paket %s wird entfernt"
 
-#: ../yum/depsolve.py:271
+#: ../yum/depsolve.py:333
 #, python-format
 msgid "%s requires: %s"
 msgstr "%s benötigt: %s"
 
-#: ../yum/depsolve.py:312
+#: ../yum/depsolve.py:374
 #, python-format
 msgid "%s requires %s"
 msgstr "%s benötigt %s"
 
-#: ../yum/depsolve.py:339
+#: ../yum/depsolve.py:401
 msgid "Needed Require has already been looked up, cheating"
 msgstr "Benötigte Anforderung wurde bereits nachgeschlagen, betrüge"
 
-#: ../yum/depsolve.py:349
+#: ../yum/depsolve.py:411
 #, python-format
 msgid "Needed Require is not a package name. Looking up: %s"
-msgstr "Benötigte Anforderung ist kein Paket-Name. Schlage nach: %s"
+msgstr "Benötigte Anforderung ist kein Paket-Name. Gesucht wird nach: %s"
 
-#: ../yum/depsolve.py:357
+#: ../yum/depsolve.py:419
 #, python-format
 msgid "Potential Provider: %s"
-msgstr "Potentieller Anbieter: %s"
+msgstr "Potenzieller Anbieter: %s"
 
-#: ../yum/depsolve.py:380
+#: ../yum/depsolve.py:442
 #, python-format
 msgid "Mode is %s for provider of %s: %s"
 msgstr "Modus ist %s für Anbieter von %s: %s"
 
-#: ../yum/depsolve.py:384
+#: ../yum/depsolve.py:446
 #, python-format
 msgid "Mode for pkg providing %s: %s"
 msgstr "Modus für pkg-Bereitstellung %s: %s"
@@ -2122,1045 +2323,1169 @@ msgstr "Modus für pkg-Bereitstellung %s: %s"
 #. the thing it needs is being updated or obsoleted away
 #. try to update the requiring package in hopes that all this problem goes
 #. away :(
-#: ../yum/depsolve.py:389 ../yum/depsolve.py:406
+#: ../yum/depsolve.py:451 ../yum/depsolve.py:486
 #, python-format
 msgid "Trying to update %s to resolve dep"
-msgstr ""
+msgstr "Es wird versucht, %s zu aktualisieren, um die Abhängigkeiten aufzulösen"
 
-#: ../yum/depsolve.py:400 ../yum/depsolve.py:410
+#: ../yum/depsolve.py:480
 #, python-format
 msgid "No update paths found for %s. Failure!"
+msgstr "Kein Upgradepfadgefunden für %s. Fehlschlag!"
+
+#: ../yum/depsolve.py:491
+#, python-format
+msgid "No update paths found for %s. Failure due to requirement: %s!"
 msgstr ""
 
-#: ../yum/depsolve.py:416
+#: ../yum/depsolve.py:507
+#, python-format
+msgid "Update for %s. Doesn't fix requirement: %s!"
+msgstr ""
+
+#: ../yum/depsolve.py:514
 #, python-format
 msgid "TSINFO: %s package requiring %s marked as erase"
 msgstr "TSINFO: %s Paket benötigt %s, welches als gelöscht markiert ist"
 
-#: ../yum/depsolve.py:429
+#: ../yum/depsolve.py:527
 #, python-format
 msgid "TSINFO: Obsoleting %s with %s to resolve dep."
-msgstr "TSINFO: Ersetze %s durch %s zum Auflösen der Abhängigkeit."
+msgstr "TSINFO: %s wird durch %s zum Auflösen der Abhängigkeit ersetzt."
 
-#: ../yum/depsolve.py:432
+#: ../yum/depsolve.py:530
 #, python-format
 msgid "TSINFO: Updating %s to resolve dep."
-msgstr "TSINFO: Aktualisiere %s zum Auflösen der Abhängigkeit."
+msgstr "TSINFO: %s wird zum Auflösen der Abhängigkeit aktualisiert."
 
-#: ../yum/depsolve.py:440
+#: ../yum/depsolve.py:538
 #, python-format
 msgid "Cannot find an update path for dep for: %s"
-msgstr "Kann keinen Aktualisierungspfad finden für Abhängigkeit für: %s"
+msgstr "Aktualisierungspfad kann nicht gefunden werden für Abhängigkeit für: %s"
 
-#: ../yum/depsolve.py:471
+#: ../yum/depsolve.py:569
 #, python-format
 msgid "Quick matched %s to require for %s"
 msgstr "Übereinstimmung von %s, welche gebraucht wird für %s"
 
 #. is it already installed?
-#: ../yum/depsolve.py:513
+#: ../yum/depsolve.py:611
 #, python-format
 msgid "%s is in providing packages but it is already installed, removing."
-msgstr ""
-"%s ist in einem bereitgestellten Paket, aber bereits installiert, entferne."
+msgstr "%s ist in einem bereitgestellten Paket, aber bereits installiert, wird entfernt."
 
-#: ../yum/depsolve.py:529
+#: ../yum/depsolve.py:627
 #, python-format
 msgid "Potential resolving package %s has newer instance in ts."
-msgstr "Potentielles aufgelöstes Paket %s hat eine neuere Instanz in ts."
+msgstr "Potenzielles aufgelöstes Paket %s hat eine neuere Instanz in ts."
 
-#: ../yum/depsolve.py:540
+#: ../yum/depsolve.py:638
 #, python-format
 msgid "Potential resolving package %s has newer instance installed."
-msgstr "Potentielles aufgelöste Paket %s hat eine neuere Instanz installiert."
+msgstr "Potenzielles aufgelöstes Paket %s hat eine neuere Instanz installiert."
 
-#: ../yum/depsolve.py:558
+#: ../yum/depsolve.py:656
 #, python-format
 msgid "%s already in ts, skipping this one"
-msgstr "%s bereits in ts, überspringe dieses"
+msgstr "%s bereits in ts, dieses wird übersprungen"
 
-#: ../yum/depsolve.py:607
+#: ../yum/depsolve.py:705
 #, python-format
 msgid "TSINFO: Marking %s as update for %s"
-msgstr "TSINFO: Markiere %s als Aktualisierung für %s"
+msgstr "TSINFO: %s wird als Aktualisierung für %s markiert"
 
-#: ../yum/depsolve.py:616
+#: ../yum/depsolve.py:714
 #, python-format
 msgid "TSINFO: Marking %s as install for %s"
-msgstr "TSINFO: Markiere %s als Installation für %s"
+msgstr "TSINFO: %s wird als Installation für %s markiert"
 
-#: ../yum/depsolve.py:727 ../yum/depsolve.py:819
+#: ../yum/depsolve.py:849 ../yum/depsolve.py:967
 msgid "Success - empty transaction"
 msgstr "Erfolg - Leere Transaktion"
 
-#: ../yum/depsolve.py:767 ../yum/depsolve.py:783
+#: ../yum/depsolve.py:889 ../yum/depsolve.py:927
 msgid "Restarting Loop"
-msgstr "Starte Schleife neu"
+msgstr "Schleife wird neu gestartet"
 
-#: ../yum/depsolve.py:799
+#: ../yum/depsolve.py:947
 msgid "Dependency Process ending"
 msgstr "Abhängigkeitsverarbeitung beendet"
 
-#: ../yum/depsolve.py:821
+#: ../yum/depsolve.py:969
 msgid "Success - deps resolved"
 msgstr "Erfolg - Abhängigkeiten aufgelöst"
 
-#: ../yum/depsolve.py:845
+#: ../yum/depsolve.py:993
 #, python-format
 msgid "Checking deps for %s"
-msgstr "Prüfe Abhängigkeiten für %s"
+msgstr "Abhängigkeiten für %s werden überprüft"
 
-#: ../yum/depsolve.py:931
+#: ../yum/depsolve.py:1082
 #, python-format
 msgid "looking for %s as a requirement of %s"
-msgstr "Suche nach %s als eine Anforderung von %s"
+msgstr "Nach %s als eine Anforderung von %s wird gesucht"
 
-#: ../yum/depsolve.py:1169
+#: ../yum/depsolve.py:1349
 #, python-format
 msgid "Running compare_providers() for %s"
-msgstr "Führe compare_providers() aus für %s"
+msgstr "compare_providers() wird für %s ausgeführt"
 
-#: ../yum/depsolve.py:1196 ../yum/depsolve.py:1202
+#: ../yum/depsolve.py:1376 ../yum/depsolve.py:1382
 #, python-format
 msgid "better arch in po %s"
 msgstr "bessere Architektur in po %s"
 
-#: ../yum/depsolve.py:1298
+#: ../yum/depsolve.py:1496
 #, python-format
 msgid "%s obsoletes %s"
 msgstr "%s ersetzt %s"
 
-#: ../yum/depsolve.py:1310
+#: ../yum/depsolve.py:1508
 #, python-format
 msgid ""
 "archdist compared %s to %s on %s\n"
 "  Winner: %s"
-msgstr ""
-"archdist verglichen %s zu %s auf %s\n"
-"  Gewinner: %s"
+msgstr "archdist verglichen %s zu %s auf %s\n  Gewinner: %s"
 
-#: ../yum/depsolve.py:1318
+#: ../yum/depsolve.py:1516
 #, python-format
 msgid "common sourcerpm %s and %s"
 msgstr "Gemeinsames Quellen-RPM %s und %s"
 
-#: ../yum/depsolve.py:1322
+#: ../yum/depsolve.py:1520
 #, python-format
 msgid "base package %s is installed for %s"
-msgstr ""
+msgstr "Basispaket %s ist für %s installiert"
 
-#: ../yum/depsolve.py:1328
+#: ../yum/depsolve.py:1526
 #, python-format
 msgid "common prefix of %s between %s and %s"
-msgstr "Gemeinsamer Prefix von %s zwischen %s und %s"
+msgstr "Gemeinsamer Präfix von %s zwischen %s und %s"
 
-#: ../yum/depsolve.py:1359
+#: ../yum/depsolve.py:1543
 #, python-format
-msgid "requires minimal: %d"
-msgstr ""
+msgid "provides vercmp: %s"
+msgstr "Vercmp-Unterstützung: %s"
 
-#: ../yum/depsolve.py:1363
+#: ../yum/depsolve.py:1547 ../yum/depsolve.py:1581
 #, python-format
 msgid " Winner: %s"
-msgstr ""
+msgstr " Gewinner: %s"
+
+#: ../yum/depsolve.py:1577
+#, python-format
+msgid "requires minimal: %d"
+msgstr "benötigt mindestens: %d"
 
-#: ../yum/depsolve.py:1368
+#: ../yum/depsolve.py:1586
 #, python-format
 msgid " Loser(with %d): %s"
-msgstr ""
+msgstr " Verlierer(mit %d): %s"
 
-#: ../yum/depsolve.py:1384
+#: ../yum/depsolve.py:1602
 #, python-format
 msgid "Best Order: %s"
 msgstr "Beste Bestellung: %s"
 
-#: ../yum/__init__.py:234
+#: ../yum/__init__.py:274
 msgid "doConfigSetup() will go away in a future version of Yum.\n"
 msgstr "doConfigSetup() wird in zukünftigen Versionen von Yum verschwinden.\n"
 
-#: ../yum/__init__.py:482
+#: ../yum/__init__.py:553
 #, python-format
-msgid "Repository %r: Error parsing config: %s"
+msgid "Skipping unreadable repository %s"
 msgstr ""
 
-#: ../yum/__init__.py:488
+#: ../yum/__init__.py:572
+#, python-format
+msgid "Repository %r: Error parsing config: %s"
+msgstr "Paketquelle %r: Fehler beim Einlesen der Konfiguration: %s"
+
+#: ../yum/__init__.py:578
 #, python-format
 msgid "Repository %r is missing name in configuration, using id"
-msgstr "Bei Repository %r fehlt der Name in der Konfiguration, benutze id"
+msgstr "In Paketquelle %r fehlt der Name in der Konfiguration, id wird benutzt"
 
-#: ../yum/__init__.py:526
+#: ../yum/__init__.py:618
 msgid "plugins already initialised"
 msgstr "Plugins bereits initialisiert"
 
-#: ../yum/__init__.py:533
+#: ../yum/__init__.py:627
 msgid "doRpmDBSetup() will go away in a future version of Yum.\n"
 msgstr "doRpmDBSetup() wird in zukünftigen Versionen von Yum verschwinden.\n"
 
-#: ../yum/__init__.py:544
+#: ../yum/__init__.py:638
 msgid "Reading Local RPMDB"
-msgstr "Lese lokale RPMDB"
+msgstr "Lokale RPMDB wird gelesen"
 
-#: ../yum/__init__.py:567
+#: ../yum/__init__.py:668
 msgid "doRepoSetup() will go away in a future version of Yum.\n"
 msgstr "doRepoSetup() wird in zukünftigen Versionen von Yum verschwinden.\n"
 
-#: ../yum/__init__.py:630
+#: ../yum/__init__.py:722
 msgid "doSackSetup() will go away in a future version of Yum.\n"
-msgstr "doSackSetup() wird in zukünftigen Versionen von Yum verschwinden \n"
+msgstr "doSackSetup() wird in zukünftigen Versionen von Yum verschwinden.\n"
 
-#: ../yum/__init__.py:660
+#: ../yum/__init__.py:752
 msgid "Setting up Package Sacks"
-msgstr "Einrichten des Paket-Behälters"
+msgstr "Paket-Behälter wird eingerichtet"
 
-#: ../yum/__init__.py:705
+#: ../yum/__init__.py:797
 #, python-format
 msgid "repo object for repo %s lacks a _resetSack method\n"
-msgstr "Repository-Objekt für Repository %s fehlt eine _resetSack-Methode\n"
+msgstr "Im Paketquellenobjekt für Quelle %s fehlt eine _resetSack-Methode\n"
 
-#: ../yum/__init__.py:706
+#: ../yum/__init__.py:798
 msgid "therefore this repo cannot be reset.\n"
-msgstr "deshalb kann dieses Repository nicht zurückgesetzt werden.\n"
+msgstr "deshalb kann diese Paketquelle nicht zurückgesetzt werden.\n"
 
-#: ../yum/__init__.py:711
+#: ../yum/__init__.py:806
 msgid "doUpdateSetup() will go away in a future version of Yum.\n"
 msgstr "doUpdateSetup() wird in zukünftigen Versionen von Yum verschwinden.\n"
 
-#: ../yum/__init__.py:723
+#: ../yum/__init__.py:818
 msgid "Building updates object"
-msgstr "Baue Aktualisierungsobjekt"
+msgstr "Aktualisierungsobjekt wird erstellt"
 
-#: ../yum/__init__.py:765
+#: ../yum/__init__.py:862
 msgid "doGroupSetup() will go away in a future version of Yum.\n"
-msgstr "doGroupSetup() wird in zukünftigen Versionen von Yum verschwinden .\n"
+msgstr "doGroupSetup() wird in zukünftigen Versionen von Yum verschwinden.\n"
 
-#: ../yum/__init__.py:790
+#: ../yum/__init__.py:887
 msgid "Getting group metadata"
-msgstr "Beziehe Gruppen-Metadaten"
+msgstr "Gruppen-Metadaten werden geholt"
 
-#: ../yum/__init__.py:816
+#: ../yum/__init__.py:915
 #, python-format
 msgid "Adding group file from repository: %s"
-msgstr "Füge Gruppen-Datei von Repository hinzu: %s"
+msgstr "Gruppendatei wird aus der Paketquelle hinzugefügt: %s"
 
-#: ../yum/__init__.py:827
+#: ../yum/__init__.py:918
+#, python-format
+msgid "Failed to retrieve group file for repository: %s"
+msgstr ""
+
+#: ../yum/__init__.py:924
 #, python-format
 msgid "Failed to add groups file for repository: %s - %s"
-msgstr "Hinzufügen von Gruppen-Datei für Repository fehlgeschlagen: %s - %s"
+msgstr "Hinzufügen von Gruppen-Datei für Paketquelle fehlgeschlagen: %s - %s"
 
-#: ../yum/__init__.py:833
+#: ../yum/__init__.py:930
 msgid "No Groups Available in any repository"
-msgstr "Keine Gruppen in irgendeinem Repository verfügbar"
+msgstr "Keine Gruppen in irgendeiner Paketquelle verfügbar"
 
-#: ../yum/__init__.py:845
+#: ../yum/__init__.py:945
 msgid "Getting pkgtags metadata"
-msgstr ""
+msgstr "pkgtags-Metadaten werden geholt"
 
-#: ../yum/__init__.py:855
+#: ../yum/__init__.py:955
 #, python-format
 msgid "Adding tags from repository: %s"
-msgstr "Füge Tags aus dem Repository hinzug: %s"
+msgstr "Tags werden aus der Paketquelle hinzugefügt: %s"
 
-#: ../yum/__init__.py:866
+#: ../yum/__init__.py:966
 #, python-format
 msgid "Failed to add Pkg Tags for repository: %s - %s"
-msgstr "Konnte Pkg Tags für das Repository nicht hinzufügen: %s - %s"
+msgstr "Pkg-Tags für die Paketquelle konnten nicht hinzugefügt werden: %s - %s"
 
-#: ../yum/__init__.py:944
+#: ../yum/__init__.py:1059
 msgid "Importing additional filelist information"
-msgstr "Importiere zusätzlichen Dateilisten-Informationen"
+msgstr "Zusätzliche Dateilisten-Informationen werden importiert"
 
-#: ../yum/__init__.py:958
+#: ../yum/__init__.py:1077
 #, python-format
 msgid "The program %s%s%s is found in the yum-utils package."
-msgstr "Das Programm %s%s%s wurde in im yum-utils-Paket gefunden."
+msgstr "Das Programm %s%s%s wurde im yum-utils-Paket gefunden."
 
-#: ../yum/__init__.py:966
+#: ../yum/__init__.py:1094
 msgid ""
 "There are unfinished transactions remaining. You might consider running yum-"
 "complete-transaction first to finish them."
-msgstr ""
-"Es gibt noch nicht abgeschlossene Transaktionen. Sie sollten in Betracht "
-"ziehen, zuerst yum-complete-transaction auszuführen, um diese "
-"abzuschliessen."
+msgstr "Es gibt noch nicht abgeschlossene Transaktionen. Sie sollten in Betracht ziehen, zuerst yum-complete-transaction auszuführen, um diese abzuschließen."
 
-#: ../yum/__init__.py:983
+#: ../yum/__init__.py:1111
 msgid "--> Finding unneeded leftover dependencies"
-msgstr ""
+msgstr "--> Finde nicht mehr benötigte Abhängigkeiten"
 
-#: ../yum/__init__.py:1041
+#: ../yum/__init__.py:1169
 #, python-format
 msgid "Protected multilib versions: %s != %s"
+msgstr "Geschützte Multilib-Versionen: %s != %s"
+
+#. People are confused about protected mutilib ... so give
+#. them a nicer message.
+#: ../yum/__init__.py:1173
+#, python-format
+msgid ""
+" Multilib version problems found. This often means that the root\n"
+"cause is something else and multilib version checking is just\n"
+"pointing out that there is a problem. Eg.:\n"
+"\n"
+"  1. You have an upgrade for %(name)s which is missing some\n"
+"     dependency that another package requires. Yum is trying to\n"
+"     solve this by installing an older version of %(name)s of the\n"
+"     different architecture. If you exclude the bad architecture\n"
+"     yum will tell you what the root cause is (which package\n"
+"     requires what). You can try redoing the upgrade with\n"
+"     --exclude %(name)s.otherarch ... this should give you an error\n"
+"     message showing the root cause of the problem.\n"
+"\n"
+"  2. You have multiple architectures of %(name)s installed, but\n"
+"     yum can only see an upgrade for one of those arcitectures.\n"
+"     If you don't want/need both architectures anymore then you\n"
+"     can remove the one with the missing update and everything\n"
+"     will work.\n"
+"\n"
+"  3. You have duplicate versions of %(name)s installed already.\n"
+"     You can use \"yum check\" to get yum show these errors.\n"
+"\n"
+"...you can also use --setopt=protected_multilib=false to remove\n"
+"this checking, however this is almost never the correct thing to\n"
+"do as something else is very likely to go wrong (often causing\n"
+"much more problems).\n"
+"\n"
 msgstr ""
 
-#: ../yum/__init__.py:1096
+#: ../yum/__init__.py:1257
 #, python-format
 msgid "Trying to remove \"%s\", which is protected"
-msgstr "Versuche \"%s\" zu entfernen, welches geschützt ist"
+msgstr "Es wird versucht, »%s« zu entfernen, welches geschützt ist"
 
-#: ../yum/__init__.py:1217
+#: ../yum/__init__.py:1378
 msgid ""
 "\n"
 "Packages skipped because of dependency problems:"
-msgstr ""
-"\n"
-"Pakete übersprungen wegen Abhängigkeitsproblemen:"
+msgstr "\nPakete übersprungen wegen Abhängigkeitsproblemen:"
 
-#: ../yum/__init__.py:1221
+#: ../yum/__init__.py:1382
 #, python-format
 msgid "    %s from %s"
 msgstr "    %s von %s"
 
 #. FIXME: _N()
-#: ../yum/__init__.py:1391
+#: ../yum/__init__.py:1556
 #, python-format
 msgid "** Found %d pre-existing rpmdb problem(s), 'yum check' output follows:"
-msgstr ""
-"** %d bereits bestehende(s) rpmdb Problem(e) gefunden, 'yum check' gibt "
-"Folgendes aus: "
+msgstr "** %d bereits bestehende(s) rpmdb Problem(e) gefunden, »yum check« gibt Folgendes aus: "
 
-#: ../yum/__init__.py:1395
+#: ../yum/__init__.py:1560
 msgid "Warning: RPMDB altered outside of yum."
 msgstr "Warnung: RPMDB wurde außerhalb von yum verändert."
 
-#: ../yum/__init__.py:1407
+#: ../yum/__init__.py:1572
 msgid "missing requires"
 msgstr "Benötigtes fehlt"
 
-#: ../yum/__init__.py:1408
+#: ../yum/__init__.py:1573
 msgid "installed conflict"
-msgstr "installierter Konflikt"
+msgstr "Installierter Konflikt"
 
-#: ../yum/__init__.py:1525
+#: ../yum/__init__.py:1709
 msgid ""
 "Warning: scriptlet or other non-fatal errors occurred during transaction."
-msgstr ""
-"Warnung: Es sind Scriptlet- oder andere nicht-fatale Fehler bei der "
-"Verarbeitung aufgetreten."
+msgstr "Warnung: Es sind Scriptlet- oder andere nicht schwerwiegende Fehler bei der Verarbeitung aufgetreten."
 
-#: ../yum/__init__.py:1535
+#: ../yum/__init__.py:1719
 msgid "Transaction couldn't start:"
 msgstr "Transaktion konnte nicht starten:"
 
 #. should this be 'to_unicoded'?
-#: ../yum/__init__.py:1538
+#: ../yum/__init__.py:1722
 msgid "Could not run transaction."
-msgstr "Konnte Transaktion nicht durchführen."
+msgstr "Transaktion konnte nicht durchgeführt werden."
 
-#: ../yum/__init__.py:1552
+#: ../yum/__init__.py:1736
 #, python-format
 msgid "Failed to remove transaction file %s"
 msgstr "Entfernen der Verarbeitungsdatei %s fehlgeschlagen"
 
 #. maybe a file log here, too
 #. but raising an exception is not going to do any good
-#: ../yum/__init__.py:1590
+#: ../yum/__init__.py:1792
 #, python-format
 msgid "%s was supposed to be installed but is not!"
 msgstr "%s hätte installiert werden sollen, wurde aber nicht!"
 
 #. maybe a file log here, too
 #. but raising an exception is not going to do any good
-#: ../yum/__init__.py:1651
+#. Note: This actually triggers atm. because we can't
+#. always find the erased txmbr to set it when
+#. we should.
+#: ../yum/__init__.py:1869
 #, python-format
 msgid "%s was supposed to be removed but is not!"
 msgstr "%s hätte entfernt werden sollen, wurde aber nicht!"
 
-#: ../yum/__init__.py:1768
+#. Another copy seems to be running.
+#: ../yum/__init__.py:2004
 #, python-format
-msgid "Could not open lock %s: %s"
-msgstr "Konnte Sperrung %s nicht aufheben: %s"
+msgid "Existing lock %s: another copy is running as pid %s."
+msgstr "Existierende Blockierung %s: eine andere Kopie läuft mit PID %s."
 
 #. Whoa. What the heck happened?
-#: ../yum/__init__.py:1785
+#: ../yum/__init__.py:2053
 #, python-format
-msgid "Unable to check if PID %s is active"
-msgstr "Unfähig zu prüfen, ob PID %s ist aktiv"
+msgid "Could not create lock at %s: %s "
+msgstr "Sperrung bei %s konnte nicht erstellt werden: %s "
 
-#. Another copy seems to be running.
-#: ../yum/__init__.py:1789
+#: ../yum/__init__.py:2065
 #, python-format
-msgid "Existing lock %s: another copy is running as pid %s."
-msgstr "Existierende Blockierung %s: eine andere Kopie läuft mit PID %s."
+msgid "Could not open lock %s: %s"
+msgstr "Sperrung %s konnte nicht aufgehoben werden: %s"
 
+#. The pid doesn't exist
 #. Whoa. What the heck happened?
-#: ../yum/__init__.py:1830
+#: ../yum/__init__.py:2082
 #, python-format
-msgid "Could not create lock at %s: %s "
-msgstr "Konnte keine Sperrung bei %s erstellen: %s "
+msgid "Unable to check if PID %s is active"
+msgstr "Es kann nicht geprüft werden, ob PID %s aktiv ist"
 
-#: ../yum/__init__.py:1875
+#: ../yum/__init__.py:2132
 #, python-format
 msgid ""
 "Package does not match intended download. Suggestion: run yum "
 "--enablerepo=%s clean metadata"
-msgstr ""
-"Paket stimmt nicht mit dem beabsichtigten Download überein. Vorschlag: "
-"starten sie yum --enablerepo=%s clean metadata"
+msgstr "Paket stimmt nicht mit dem beabsichtigten Download überein. Vorschlag: starten sie yum --enablerepo=%s clean metadata"
 
-#: ../yum/__init__.py:1891
+#: ../yum/__init__.py:2155
 msgid "Could not perform checksum"
-msgstr "Konnte Prüfsumme nicht bilden"
+msgstr "Prüfsumme konnte nicht gebildet werden"
 
-#: ../yum/__init__.py:1894
+#: ../yum/__init__.py:2158
 msgid "Package does not match checksum"
 msgstr "Paket stimmt nicht mit der Prüfsumme überein"
 
-#: ../yum/__init__.py:1946
+#: ../yum/__init__.py:2222
 #, python-format
 msgid "package fails checksum but caching is enabled for %s"
-msgstr ""
-"Paket bei Prüfsummen-Prüfung durchgefallen, aber Zwischenspeicherung ist "
-"aktiviert für %s"
+msgstr "Paket bei Prüfsummen-Prüfung durchgefallen, aber Zwischenspeicherung ist aktiviert für %s"
 
-#: ../yum/__init__.py:1949 ../yum/__init__.py:1979
+#: ../yum/__init__.py:2225 ../yum/__init__.py:2268
 #, python-format
 msgid "using local copy of %s"
-msgstr "benutze lokale Kopie von %s"
+msgstr "Lokale Kopie von %s wird verwendet"
 
-#: ../yum/__init__.py:1991
-#, python-format
-msgid ""
-"Insufficient space in download directory %s\n"
-"    * free   %s\n"
-"    * needed %s"
+#. caller handles errors
+#: ../yum/__init__.py:2342
+msgid "exiting because --downloadonly specified"
 msgstr ""
-"Nicht genügend Platz im Download-Verzeichnis %s vorhanden\n"
-"    * frei     %s\n"
-"    * benötigt %s"
 
-#: ../yum/__init__.py:2052
+#: ../yum/__init__.py:2371
 msgid "Header is not complete."
 msgstr "Header ist nicht vollständig."
 
-#: ../yum/__init__.py:2089
+#: ../yum/__init__.py:2411
 #, python-format
 msgid ""
 "Header not in local cache and caching-only mode enabled. Cannot download %s"
-msgstr ""
-"Header ist nicht im lokalen Zwischenspeicher und Nur-Zwischenspeicher-Modus "
-"aktiviert. Kann %s nicht herunterladen"
+msgstr "Header ist nicht im lokalen Zwischenspeicher und Nur-Zwischenspeicher-Modus aktiviert. %s kann nicht heruntergeladen werden"
 
-#: ../yum/__init__.py:2147
+#: ../yum/__init__.py:2471
 #, python-format
 msgid "Public key for %s is not installed"
 msgstr "Öffentlicher Schlüssel für %s ist nicht installiert"
 
-#: ../yum/__init__.py:2151
+#: ../yum/__init__.py:2475
 #, python-format
 msgid "Problem opening package %s"
 msgstr "Problem beim Öffnen des Paketes %s"
 
-#: ../yum/__init__.py:2159
+#: ../yum/__init__.py:2483
 #, python-format
 msgid "Public key for %s is not trusted"
 msgstr "Öffentlicher Schlüssel für %s ist nicht vertrauenswürdig"
 
-#: ../yum/__init__.py:2163
+#: ../yum/__init__.py:2487
 #, python-format
 msgid "Package %s is not signed"
 msgstr "Paket %s ist nicht unterschrieben"
 
-#: ../yum/__init__.py:2202
+#: ../yum/__init__.py:2529
 #, python-format
 msgid "Cannot remove %s"
-msgstr "Kann %s nicht entfernen"
+msgstr "%s kann nicht entfernt werden"
 
-#: ../yum/__init__.py:2206
+#: ../yum/__init__.py:2533
 #, python-format
 msgid "%s removed"
 msgstr "%s entfernt"
 
-#: ../yum/__init__.py:2252
+#: ../yum/__init__.py:2594
 #, python-format
 msgid "Cannot remove %s file %s"
-msgstr "Kann %s Datei nicht entfernen %s"
+msgstr "%s Datei %s kann nicht entfernt werden"
 
-#: ../yum/__init__.py:2256
+#: ../yum/__init__.py:2598
 #, python-format
 msgid "%s file %s removed"
 msgstr "%s Datei %s entfernt"
 
-#: ../yum/__init__.py:2258
+#: ../yum/__init__.py:2600
 #, python-format
-msgid "%d %s files removed"
-msgstr "%d %s Dateien entfernt"
+msgid "%d %s file removed"
+msgid_plural "%d %s files removed"
+msgstr[0] "%d %s Datei entfernt"
+msgstr[1] "%d %s Dateien entfernt"
 
-#: ../yum/__init__.py:2327
+#: ../yum/__init__.py:2712
 #, python-format
 msgid "More than one identical match in sack for %s"
 msgstr "Mehr als eine identische Übereinstimmung im Behälter für %s"
 
-#: ../yum/__init__.py:2333
+#: ../yum/__init__.py:2718
 #, python-format
 msgid "Nothing matches %s.%s %s:%s-%s from update"
-msgstr "Keine Übereinstimmungen mit  %s.%s %s:%s-%s bei der Aktualisierung"
+msgstr "Keine Übereinstimmungen mit %s.%s %s:%s-%s bei der Aktualisierung"
 
-#: ../yum/__init__.py:2632
+#: ../yum/__init__.py:3096
 msgid ""
 "searchPackages() will go away in a future version of Yum."
 "                      Use searchGenerator() instead. \n"
-msgstr ""
-"searchPackages() wird in zukünftigen Versionen von Yum verschwinden."
-"                      Benutze stattdessen searchGenerator(). \n"
+msgstr "searchPackages() wird in zukünftigen Versionen von Yum verschwinden.                      Benutze stattdessen searchGenerator(). \n"
 
-#: ../yum/__init__.py:2675
+#: ../yum/__init__.py:3149
 #, python-format
-msgid "Searching %d packages"
-msgstr "Suche %d Pakete"
+msgid "Searching %d package"
+msgid_plural "Searching %d packages"
+msgstr[0] "%d Paket wird gesucht"
+msgstr[1] "%d Pakete werden gesucht"
 
-#: ../yum/__init__.py:2679
+#: ../yum/__init__.py:3153
 #, python-format
 msgid "searching package %s"
-msgstr "Suche Paket %s"
+msgstr "Paket %s wird gesucht"
 
-#: ../yum/__init__.py:2691
+#: ../yum/__init__.py:3165
 msgid "searching in file entries"
-msgstr "Suche in Datei-Einträgen"
+msgstr "In Dateieinträgen wird gesucht"
 
-#: ../yum/__init__.py:2698
+#: ../yum/__init__.py:3172
 msgid "searching in provides entries"
-msgstr "suche in bereitgestellten Einträgen"
+msgstr "In bereitgestellten Einträgen wird gesucht"
 
-#: ../yum/__init__.py:2777
+#: ../yum/__init__.py:3369
 msgid "No group data available for configured repositories"
 msgstr "Keine Gruppendaten für konfigurierte Repositories verfügbar"
 
-#: ../yum/__init__.py:2808 ../yum/__init__.py:2827 ../yum/__init__.py:2858
-#: ../yum/__init__.py:2864 ../yum/__init__.py:2953 ../yum/__init__.py:2957
-#: ../yum/__init__.py:3339
+#: ../yum/__init__.py:3466 ../yum/__init__.py:3500 ../yum/__init__.py:3576
+#: ../yum/__init__.py:3582 ../yum/__init__.py:3719 ../yum/__init__.py:3723
+#: ../yum/__init__.py:4298
 #, python-format
 msgid "No Group named %s exists"
-msgstr "Kein Gruppe mit dem Namen %s vorhanden"
+msgstr "Keine Gruppe mit dem Namen %s vorhanden"
 
-#: ../yum/__init__.py:2839 ../yum/__init__.py:2973
+#: ../yum/__init__.py:3512 ../yum/__init__.py:3740
 #, python-format
 msgid "package %s was not marked in group %s"
 msgstr "Paket %s war nicht markiert in Gruppe %s"
 
-#: ../yum/__init__.py:2887
+#. (upgrade and igroup_data[pkg] == 'available')):
+#: ../yum/__init__.py:3622
+#, python-format
+msgid "Skipping package %s from group %s"
+msgstr "Paket %s aus Gruppe %s wird übersprungen"
+
+#: ../yum/__init__.py:3628
 #, python-format
 msgid "Adding package %s from group %s"
-msgstr "Füge Paket %s aus Gruppe %s hinzu"
+msgstr "Paket %s aus Gruppe %s wird hinzugefügt"
 
-#: ../yum/__init__.py:2891
+#: ../yum/__init__.py:3649
 #, python-format
 msgid "No package named %s available to be installed"
 msgstr "Kein Paket mit Namen %s verfügbar zum Installieren"
 
-#: ../yum/__init__.py:2941
+#: ../yum/__init__.py:3702
 #, python-format
-msgid "Warning: Group %s does not have any packages."
+msgid "Warning: Group %s does not have any packages to install."
 msgstr ""
 
-#: ../yum/__init__.py:2943
+#: ../yum/__init__.py:3704
 #, python-format
 msgid "Group %s does have %u conditional packages, which may get installed."
+msgstr "Gruppe %s besitzt %u optionale Pakete, welche installiert werden können"
+
+#: ../yum/__init__.py:3794
+#, python-format
+msgid "Skipping group %s from environment %s"
 msgstr ""
 
 #. This can happen due to excludes after .up has
 #. happened.
-#: ../yum/__init__.py:3002
+#: ../yum/__init__.py:3858
 #, python-format
 msgid "Package tuple %s could not be found in packagesack"
 msgstr "Paket-Tupel %s kann nicht gefunden werden im Paket-Behälter"
 
-#: ../yum/__init__.py:3022
+#: ../yum/__init__.py:3886
 #, python-format
 msgid "Package tuple %s could not be found in rpmdb"
-msgstr ""
+msgstr "Paket-Tupel %s konnte nicht in rpmdb gefunden werden"
 
-#: ../yum/__init__.py:3079 ../yum/__init__.py:3129
+#: ../yum/__init__.py:3949 ../yum/__init__.py:4012
 #, python-format
 msgid "Invalid version flag from: %s"
-msgstr ""
+msgstr "Ungültige Versionsmarkierung von: %s"
 
-#: ../yum/__init__.py:3096 ../yum/__init__.py:3101
+#: ../yum/__init__.py:3973 ../yum/__init__.py:3979 ../yum/__init__.py:4036
+#: ../yum/__init__.py:4042
 #, python-format
 msgid "No Package found for %s"
 msgstr "Kein Paket gefunden für %s"
 
-#: ../yum/__init__.py:3401
+#: ../yum/__init__.py:4245 ../yum/__init__.py:4274
+#, python-format
+msgid "Warning: Environment Group %s does not exist."
+msgstr ""
+
+#: ../yum/__init__.py:4397
+#, python-format
+msgid "Package: %s - can't co-install with %s"
+msgstr ""
+
+#: ../yum/__init__.py:4437
 msgid "Package Object was not a package object instance"
 msgstr "Paketobjekt war keine Paketobjektinstanz"
 
-#: ../yum/__init__.py:3405
+#: ../yum/__init__.py:4441
 msgid "Nothing specified to install"
 msgstr "Nichts angegeben zum Installieren"
 
-#: ../yum/__init__.py:3424 ../yum/__init__.py:4283
+#: ../yum/__init__.py:4465 ../yum/__init__.py:5410
 #, python-format
 msgid "Checking for virtual provide or file-provide for %s"
-msgstr ""
-"Überprüfe nach virtueller Bereitstellung oder Datei-Bereitstellung für %s"
+msgstr "Auf virtuelle Bereitstellung oder Datei-Bereitstellung für %s wird überprüft"
 
-#: ../yum/__init__.py:3430 ../yum/__init__.py:3775 ../yum/__init__.py:3969
-#: ../yum/__init__.py:4289
-#, python-format
-msgid "No Match for argument: %s"
-msgstr "Kein Übereinstimmung für Argument: %s"
-
-#: ../yum/__init__.py:3507
+#: ../yum/__init__.py:4542
 #, python-format
 msgid "Package %s installed and not available"
 msgstr "Paket %s installiert und nicht verfügbar"
 
-#: ../yum/__init__.py:3510
+#: ../yum/__init__.py:4545
 msgid "No package(s) available to install"
 msgstr "Kein(e) Paket(e) zum Installieren verfügbar."
 
-#: ../yum/__init__.py:3522
+#: ../yum/__init__.py:4557
 #, python-format
 msgid "Package: %s  - already in transaction set"
-msgstr "Paket: %s - bereits im Transaktionsset"
+msgstr "Paket: %s - bereits im Transaktionssatz"
 
-#: ../yum/__init__.py:3550
+#: ../yum/__init__.py:4589
 #, python-format
 msgid "Package %s is obsoleted by %s which is already installed"
 msgstr "Paket %s wurde ersetzt durch %s, welches bereits installiert ist"
 
-#: ../yum/__init__.py:3555
+#: ../yum/__init__.py:4594
 #, python-format
 msgid ""
 "Package %s is obsoleted by %s, but obsoleting package does not provide for "
 "requirements"
-msgstr ""
+msgstr "Packet %s wurde ersetzt durch %s, aber das ersetzende Paket erfüllt nicht die Anforderungen"
 
-#: ../yum/__init__.py:3558
+#: ../yum/__init__.py:4597
 #, python-format
 msgid "Package %s is obsoleted by %s, trying to install %s instead"
-msgstr ""
-"Paket %s wurde ersetzt durch %s, versuche stattdessen %s zu installieren."
+msgstr "Paket %s wurde ersetzt durch %s, stattdessen wird versucht, %s zu installieren"
 
-#: ../yum/__init__.py:3566
+#: ../yum/__init__.py:4605
 #, python-format
 msgid "Package %s already installed and latest version"
-msgstr "Paket %s ist bereits in der neusten Version installiert."
+msgstr "Paket %s ist bereits in der neuesten Version installiert."
 
-#: ../yum/__init__.py:3580
+#: ../yum/__init__.py:4619
 #, python-format
 msgid "Package matching %s already installed. Checking for update."
-msgstr ""
-"Paket, das auf %s passt, ist bereits installiert. Überprüfe auf "
-"Aktualisierung."
+msgstr "Paket, das auf %s passt, ist bereits installiert. Auf Aktualisierung wird überprüft."
 
 #. update everything (the easy case)
-#: ../yum/__init__.py:3684
+#: ../yum/__init__.py:4751
 msgid "Updating Everything"
-msgstr "Aktualisiere alles"
+msgstr "Alles wird aktualisiert"
 
-#: ../yum/__init__.py:3708 ../yum/__init__.py:3849 ../yum/__init__.py:3879
-#: ../yum/__init__.py:3915
+#: ../yum/__init__.py:4775 ../yum/__init__.py:4930 ../yum/__init__.py:4975
+#: ../yum/__init__.py:5011
 #, python-format
 msgid "Not Updating Package that is already obsoleted: %s.%s %s:%s-%s"
-msgstr "Aktualisiere Paket nicht, da es bereits veraltet ist: %s.%s %s:%s-%s"
+msgstr "Paket wird nicht aktualisiert, da es bereits veraltet ist: %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3753 ../yum/__init__.py:3965
+#: ../yum/__init__.py:4830 ../yum/__init__.py:5072
 #, python-format
 msgid "%s"
 msgstr "%s"
 
-#: ../yum/__init__.py:3838
+#: ../yum/__init__.py:4854 ../yum/__init__.py:5080 ../yum/__init__.py:5416
+#, python-format
+msgid "No Match for argument: %s"
+msgstr "Kein Übereinstimmung für Argument: %s"
+
+#: ../yum/__init__.py:4872
+#, python-format
+msgid "No package matched to upgrade: %s"
+msgstr "Kein Paket zum Aktualisieren gefunden: %s"
+
+#: ../yum/__init__.py:4919
 #, python-format
 msgid "Package is already obsoleted: %s.%s %s:%s-%s"
 msgstr "Paket ist bereits veraltet: %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3874
+#: ../yum/__init__.py:4970
 #, python-format
 msgid "Not Updating Package that is obsoleted: %s"
-msgstr "Aktualisiere Paket nicht, da es bereits veraltet ist: %s"
+msgstr "Paket wird nicht aktualisiert, da es bereits veraltet ist: %s"
 
-#: ../yum/__init__.py:3883 ../yum/__init__.py:3919
+#: ../yum/__init__.py:4979 ../yum/__init__.py:5015
 #, python-format
 msgid "Not Updating Package that is already updated: %s.%s %s:%s-%s"
-msgstr ""
-"Aktualisiere Paket nicht, da es bereits aktualisiert ist:  %s.%s %s:%s-%s"
+msgstr "Paket wird nicht aktualisiert, da es bereits aktualisiert ist:  %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3982
-msgid "No package matched to remove"
-msgstr "Kein Paket stimmt zum Entfernen überein"
+#: ../yum/__init__.py:5093
+#, python-format
+msgid "No package matched to remove: %s"
+msgstr "Kein Paket zum Entfernen gefunden: %s"
 
-#: ../yum/__init__.py:3988
+#: ../yum/__init__.py:5099
 #, python-format
 msgid "Skipping the running kernel: %s"
-msgstr "Überspringe den laufenden Kernel: %s"
+msgstr "Laufender Kernel wird übersprungen: %s"
 
-#: ../yum/__init__.py:3994
+#: ../yum/__init__.py:5105
 #, python-format
 msgid "Removing %s from the transaction"
-msgstr "Entferne %s aus der Transaktion."
+msgstr "%s wird aus der Transaktion entfernt."
 
-#: ../yum/__init__.py:4029
+#: ../yum/__init__.py:5142
 #, python-format
 msgid "Cannot open: %s. Skipping."
-msgstr "Konnte nicht öffnen: %s. Überspringe."
+msgstr "Konnte nicht geöffnet werden: %s. Wird übersprungen."
 
-#: ../yum/__init__.py:4032 ../yum/__init__.py:4150 ../yum/__init__.py:4226
+#: ../yum/__init__.py:5145 ../yum/__init__.py:5262 ../yum/__init__.py:5347
 #, python-format
 msgid "Examining %s: %s"
-msgstr "Untersuche %s: %s"
+msgstr "%s wird untersucht: %s"
 
-#: ../yum/__init__.py:4036
+#: ../yum/__init__.py:5149
 #, python-format
 msgid "Cannot localinstall deltarpm: %s. Skipping."
-msgstr "Konnte deltarpm nicht lokal installieren: %s. Überspringe."
+msgstr "deltarpm konnte nicht lokal installiert werden: %s. Wird übersprungen."
 
-#: ../yum/__init__.py:4045 ../yum/__init__.py:4153 ../yum/__init__.py:4229
+#: ../yum/__init__.py:5158 ../yum/__init__.py:5265 ../yum/__init__.py:5350
 #, python-format
 msgid ""
 "Cannot add package %s to transaction. Not a compatible architecture: %s"
-msgstr ""
-"Kann Paket %s nicht zur Transaktion hinzufügen. Keine kompatible "
-"Architektur: %s"
+msgstr "Paket %s kann nicht zur Transaktion hinzugefügt werden. Keine kompatible Architektur: %s"
 
-#: ../yum/__init__.py:4051
+#: ../yum/__init__.py:5164
 #, python-format
 msgid "Cannot install package %s. It is obsoleted by installed package %s"
-msgstr ""
-"Konnte Paket %s nicht installieren. Es ist vom installierten Paket %s "
-"überholt"
+msgstr "Paket %s konnte nicht installiert werden. Es ist vom installierten Paket %s überholt"
 
-#: ../yum/__init__.py:4059
+#: ../yum/__init__.py:5172
 #, python-format
 msgid ""
 "Package %s not installed, cannot update it. Run yum install to install it "
 "instead."
-msgstr ""
-"Paket %s nicht installiert, kann es nicht aktualisieren. Führen Sie "
-"stattdessen yum install aus, um es zu installieren."
+msgstr "Paket %s nicht installiert, es kann nicht aktualisiert werden. Führen Sie stattdessen yum install aus, um es zu installieren."
 
-#: ../yum/__init__.py:4078 ../yum/__init__.py:4085
+#: ../yum/__init__.py:5191 ../yum/__init__.py:5198
 #, python-format
 msgid ""
 "Package %s.%s not installed, cannot update it. Run yum install to install it"
 " instead."
-msgstr ""
+msgstr "Paket %s.%s ist nicht installiert, kann es nicht aktualisieren. Führe stattdessen yum install aus, um es zu installieren."
 
-#: ../yum/__init__.py:4094 ../yum/__init__.py:4158 ../yum/__init__.py:4234
+#: ../yum/__init__.py:5207 ../yum/__init__.py:5270 ../yum/__init__.py:5355
 #, python-format
 msgid "Excluding %s"
-msgstr "Schliesse %s aus"
+msgstr "%s wird ausgeschlossen"
 
-#: ../yum/__init__.py:4099
+#: ../yum/__init__.py:5212
 #, python-format
 msgid "Marking %s to be installed"
-msgstr "Markiere %s zum Installieren"
+msgstr "%s wird zum Installieren markiert"
 
-#: ../yum/__init__.py:4105
+#: ../yum/__init__.py:5218
 #, python-format
 msgid "Marking %s as an update to %s"
-msgstr "Markiere %s als eine Aktualisierung für %s"
+msgstr "%s wird als eine Aktualisierung für %s markiert"
 
-#: ../yum/__init__.py:4112
+#: ../yum/__init__.py:5225
 #, python-format
 msgid "%s: does not update installed package."
 msgstr "%s: aktualisiert installierte Pakete nicht."
 
-#: ../yum/__init__.py:4147 ../yum/__init__.py:4223
+#: ../yum/__init__.py:5259 ../yum/__init__.py:5344
 #, python-format
 msgid "Cannot open file: %s. Skipping."
-msgstr "Kann Datei nicht öffnen: %s. Überspringe."
+msgstr "Datei kann nicht geöffnet werden: %s. Wird übersprungen."
 
-#: ../yum/__init__.py:4177
+#: ../yum/__init__.py:5299
 msgid "Problem in reinstall: no package matched to remove"
-msgstr ""
-"Probleme beim Neuinstallieren: kein Paket stimmt zum Entfernen überein"
+msgstr "Probleme beim Neuinstallieren: kein Paket stimmt zum Entfernen überein"
 
-#: ../yum/__init__.py:4203
+#: ../yum/__init__.py:5325
 #, python-format
 msgid "Problem in reinstall: no package %s matched to install"
-msgstr ""
-"Probleme beim Neuinstallieren: kein Paket %s stimmt zum Installieren überein"
+msgstr "Probleme beim Neuinstallieren: kein Paket %s stimmt zum Installieren überein"
 
-#: ../yum/__init__.py:4311
+#: ../yum/__init__.py:5438
 msgid "No package(s) available to downgrade"
-msgstr "Kein(e) Paket(e) zum Downgrade verfügbar"
+msgstr "Kein(e) Paket(e) zum Zurücksetzen verfügbar"
 
-#: ../yum/__init__.py:4319
+#: ../yum/__init__.py:5446
 #, python-format
 msgid "Package %s is allowed multiple installs, skipping"
-msgstr "Paket %s darf mehrfach installiert sein, überspringe"
+msgstr "Paket %s darf mehrfach installiert sein, wird übersprungen"
 
-#: ../yum/__init__.py:4365
+#: ../yum/__init__.py:5496
 #, python-format
 msgid "No Match for available package: %s"
-msgstr "Keine Übereinstimmung der verfügbare Pakete: %s"
+msgstr "Keine Übereinstimmung der verfügbaren Pakete: %s"
 
-#: ../yum/__init__.py:4372
+#: ../yum/__init__.py:5506
 #, python-format
 msgid "Only Upgrade available on package: %s"
 msgstr "Nur verfügbare Paket aktualisieren: %s"
 
-#: ../yum/__init__.py:4442 ../yum/__init__.py:4479
+#: ../yum/__init__.py:5619 ../yum/__init__.py:5686
 #, python-format
 msgid "Failed to downgrade: %s"
-msgstr ""
+msgstr "Zurücksetzen ist gescheitert: %s"
 
-#: ../yum/__init__.py:4516
+#: ../yum/__init__.py:5636 ../yum/__init__.py:5692
+#, python-format
+msgid "Failed to upgrade: %s"
+msgstr "Aktualisieren ist gescheitert: %s"
+
+#: ../yum/__init__.py:5725
 #, python-format
 msgid "Retrieving key from %s"
-msgstr ""
+msgstr "Schlüssel wird von %s geholt"
 
-#: ../yum/__init__.py:4534
+#: ../yum/__init__.py:5743
 msgid "GPG key retrieval failed: "
 msgstr "GPG-Schlüssel-Abruf fehlgeschlagen:"
 
 #. if we decide we want to check, even though the sig failed
 #. here is where we would do that
-#: ../yum/__init__.py:4557
+#: ../yum/__init__.py:5766
 #, python-format
 msgid "GPG key signature on key %s does not match CA Key for repo: %s"
-msgstr ""
+msgstr "GPG Schlüsselsignatur vom Schlüssel %s passt nicht zu CA Schlüssel für Repo: %s"
 
-#: ../yum/__init__.py:4559
+#: ../yum/__init__.py:5768
 msgid "GPG key signature verified against CA Key(s)"
-msgstr ""
+msgstr "GPG Schlüsselsignatur gegen CA Schlüssel verifiziert"
 
-#: ../yum/__init__.py:4567
+#: ../yum/__init__.py:5776
 #, python-format
 msgid "Invalid GPG Key from %s: %s"
 msgstr "Ungültiger GPG-Schlüssel von %s: %s"
 
-#: ../yum/__init__.py:4576
+#: ../yum/__init__.py:5785
 #, python-format
 msgid "GPG key parsing failed: key does not have value %s"
-msgstr "GPG-Schlüssel-Analyse fehlgeschlagen: Schlüssel hat keinen Wert %s"
+msgstr "GPG-Schlüsselanalyse fehlgeschlagen: Schlüssel hat keinen Wert %s"
 
-#: ../yum/__init__.py:4592
+#: ../yum/__init__.py:5801
 #, python-format
 msgid ""
 "Importing %s key 0x%s:\n"
-" Userid : %s\n"
-" Package: %s (%s)\n"
-" From   : %s"
-msgstr ""
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" Package    : %s (%s)\n"
+" From       : %s"
+msgstr "%s-Schlüssel 0x%s importieren:\n Benutzerkennung     : \"%s\"\n Fingerabdruck: %s\n Paket    : %s (%s)\n Von       : %s"
 
-#: ../yum/__init__.py:4600
+#: ../yum/__init__.py:5811
 #, python-format
 msgid ""
 "Importing %s key 0x%s:\n"
-" Userid: \"%s\"\n"
-" From  : %s"
-msgstr ""
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" From       : %s"
+msgstr "%s-Schlüssel 0x%s importieren:\n Benutzerkennung     : \"%s\"\n Fingerabdruck: %s\n Von       : %s"
+
+#: ../yum/__init__.py:5839
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" Failing package is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr "\n\n\n Fehlgeschlagenes Paket: %s\n GPG-Schlüssel sind konfiguriert als: %s\n"
 
-#: ../yum/__init__.py:4634
+#: ../yum/__init__.py:5853
 #, python-format
 msgid "GPG key at %s (0x%s) is already installed"
 msgstr "GPG-Schlüssel unter %s (0x%s) ist bereits installiert"
 
-#: ../yum/__init__.py:4671
+#: ../yum/__init__.py:5891
 #, python-format
 msgid "Key import failed (code %d)"
 msgstr "Schlüssel-Import fehlgeschlagen (Code %d)"
 
-#: ../yum/__init__.py:4672 ../yum/__init__.py:4755
+#: ../yum/__init__.py:5893 ../yum/__init__.py:5994
 msgid "Key imported successfully"
 msgstr "Schlüssel erfolgreich importiert"
 
-#: ../yum/__init__.py:4676
+#: ../yum/__init__.py:5897
 msgid "Didn't install any keys"
-msgstr ""
+msgstr "Es wurden keine Schlüssel installiert"
 
-#: ../yum/__init__.py:4680
+#: ../yum/__init__.py:5900
 #, python-format
 msgid ""
 "The GPG keys listed for the \"%s\" repository are already installed but they are not correct for this package.\n"
 "Check that the correct key URLs are configured for this repository."
-msgstr ""
-"Die aufgelisteten GPG-Schlüssel für das \"%s\"-Repository sind bereits installiert, aber sie sind nicht korrekt für dieses Paket.\n"
-"Stellen Sie sicher, dass die korrekten Schlüssel-URLs für dieses Repository konfiguriert sind."
+msgstr "Die aufgelisteten GPG-Schlüssel für die »%s«-Paketquelle sind bereits installiert, aber sie sind nicht korrekt für dieses Paket.\nStellen Sie sicher, dass die korrekten Schlüssel-URLs für diese Paketquelle konfiguriert sind."
 
-#: ../yum/__init__.py:4689
+#: ../yum/__init__.py:5910
 msgid "Import of key(s) didn't help, wrong key(s)?"
 msgstr "Importieren der Schlüssel hat nicht geholfen, falsche Schlüssel?"
 
-#: ../yum/__init__.py:4713
+#: ../yum/__init__.py:5932
+msgid "No"
+msgstr "Nein"
+
+#: ../yum/__init__.py:5934
+msgid "Yes"
+msgstr "Ja"
+
+#: ../yum/__init__.py:5935
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" CA Key: %s\n"
+" Failing repo is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr "\n\n\n CA-Schlüssel: %s\n Fehlgeschlagene Datenquelle: %s\n GPG-Schlüssel sind konfiguriert als: %s\n"
+
+#: ../yum/__init__.py:5948
 #, python-format
 msgid "GPG key at %s (0x%s) is already imported"
 msgstr "GPG-Schlüssel unter %s (0x%s) ist bereits importiert"
 
-#: ../yum/__init__.py:4754
-msgid "Key import failed"
-msgstr "Schlüssel-Import fehlgeschlagen"
+#: ../yum/__init__.py:5992
+#, python-format
+msgid "Key %s import failed"
+msgstr "Import des Schlüssels %s ist fehlgeschlagen"
 
-#: ../yum/__init__.py:4770
+#: ../yum/__init__.py:6009
 #, python-format
 msgid "Didn't install any keys for repo %s"
-msgstr ""
+msgstr "Es wurden keine Schlüssel für Paketquelle %s installiert"
 
-#: ../yum/__init__.py:4774
+#: ../yum/__init__.py:6014
 #, python-format
 msgid ""
 "The GPG keys listed for the \"%s\" repository are already installed but they are not correct.\n"
 "Check that the correct key URLs are configured for this repository."
-msgstr ""
-"Die aufgelisteten GPG-Schlüssel für das \"%s\" Repository sind bereits "
-"installiert, aber nicht korrekt. Überprüfen sie, ob die korrekten Schlüssel-"
-"URLs für dieses Repository konfiguriert sind."
+msgstr "Die aufgelisteten GPG-Schlüssel für die »%s«-Paketquelle sind bereits installiert, aber nicht korrekt. Überprüfen sie, ob die korrekten Schlüssel-URLs für diese Paketquelle konfiguriert sind."
 
-#: ../yum/__init__.py:4924
+#: ../yum/__init__.py:6172
 msgid "Unable to find a suitable mirror."
-msgstr "Es kann kein geeigneten Spiegelserver gefunden werden."
+msgstr "Es kann kein geeigneter Spiegelserver gefunden werden."
 
-#: ../yum/__init__.py:4926
+#: ../yum/__init__.py:6174
 msgid "Errors were encountered while downloading packages."
 msgstr "Beim Herunterladen der Pakete sind Fehler aufgetreten."
 
-#: ../yum/__init__.py:4981
+#: ../yum/__init__.py:6229
 #, python-format
 msgid "Please report this error at %s"
 msgstr "Bitte melden Sie diesen Fehler unter %s"
 
-#: ../yum/__init__.py:4998
+#: ../yum/__init__.py:6246
 msgid "Test Transaction Errors: "
 msgstr "Test-Transaktionsfehler: "
 
-#: ../yum/__init__.py:5098
+#: ../yum/__init__.py:6358
 #, python-format
 msgid "Could not set cachedir: %s"
-msgstr "Konnte Verzeichnis für Zwischenspeicher nicht festlegen: %s"
+msgstr "Ordner für Zwischenspeicher konnte nicht festgelegt werden: %s"
 
-#: ../yum/__init__.py:5148 ../yum/__init__.py:5150
+#: ../yum/__init__.py:6420 ../yum/__init__.py:6422
 msgid "Dependencies not solved. Will not save unresolved transaction."
-msgstr ""
+msgstr "Abhängigkeiten wurden nicht aufgelöst. Eine Transaktion mit ungelösten Abhängigkeiten wird nicht gespeichert."
 
-#: ../yum/__init__.py:5179 ../yum/__init__.py:5181
+#: ../yum/__init__.py:6455 ../yum/__init__.py:6457
 #, python-format
 msgid "Could not save transaction file %s: %s"
-msgstr ""
+msgstr "Transaktionsdatei %s kann nicht gespeichert werden: %s"
 
-#: ../yum/__init__.py:5195
+#: ../yum/__init__.py:6483
 #, python-format
 msgid "Could not access/read saved transaction %s : %s"
-msgstr ""
-
-#: ../yum/__init__.py:5214
-msgid "rpmdb ver mismatched saved transaction version, "
-msgstr ""
+msgstr "Kann nicht lesen/zugreifen auf gespeicherte Transaktion %s : %s "
 
-#: ../yum/__init__.py:5216
-msgid " ignoring, as requested."
-msgstr ""
-
-#: ../yum/__init__.py:5219 ../yum/__init__.py:5354
-msgid " aborting."
+#: ../yum/__init__.py:6521
+msgid "rpmdb ver mismatched saved transaction version,"
 msgstr ""
 
-#: ../yum/__init__.py:5228
+#: ../yum/__init__.py:6535
 msgid "cannot find tsflags or tsflags not integer."
-msgstr ""
+msgstr "tsflags nicht gefunden oder tsflags ist kein Integer-Wert."
 
-#: ../yum/__init__.py:5267
+#: ../yum/__init__.py:6584
 #, python-format
 msgid "Found txmbr in unknown current state: %s"
-msgstr ""
+msgstr "txmbr im unbekannten aktuellen Zustand gefunden: %s"
 
-#: ../yum/__init__.py:5271
+#: ../yum/__init__.py:6588
 #, python-format
 msgid "Could not find txmbr: %s in state %s"
-msgstr ""
+msgstr "txmbr konnte nicht gefunden werden: %s im Zustand %s"
 
-#: ../yum/__init__.py:5307 ../yum/__init__.py:5324
+#: ../yum/__init__.py:6625 ../yum/__init__.py:6642
 #, python-format
 msgid "Could not find txmbr: %s from origin: %s"
-msgstr ""
+msgstr "Txmbr nicht gefunden: %s from origin: %s"
 
-#: ../yum/__init__.py:5349
+#: ../yum/__init__.py:6667
 msgid "Transaction members, relations are missing or ts has been modified,"
-msgstr ""
+msgstr "Fehlende Transaktionselemente, Beziehungen oder ts wurde verändert, "
 
-#: ../yum/__init__.py:5351
+#: ../yum/__init__.py:6670
 msgid " ignoring, as requested. You must redepsolve!"
+msgstr " Ignorieren, wie gewünscht. Sie müssen redepsolve anwenden!"
+
+#. Debugging output
+#: ../yum/__init__.py:6738 ../yum/__init__.py:6757
+#, python-format
+msgid "%s has been visited already and cannot be removed."
+msgstr "%s wurde bereits benutzt und kann nicht entfernt werden."
+
+#. Debugging output
+#: ../yum/__init__.py:6741
+#, python-format
+msgid "Examining revdeps of %s"
+msgstr "Revdeps von %s überprüfen"
+
+#. Debugging output
+#: ../yum/__init__.py:6762
+#, python-format
+msgid "%s has revdep %s which was user-installed."
+msgstr "%s besitzt Revdep %s, welches Benutzer-installiert ist."
+
+#: ../yum/__init__.py:6773 ../yum/__init__.py:6779
+#, python-format
+msgid "%s is needed by a package to be installed."
 msgstr ""
 
+#. Debugging output
+#: ../yum/__init__.py:6793
+#, python-format
+msgid "%s has no user-installed revdeps."
+msgstr "%s besitzt keine Benutzer-installierte Revdeps."
+
 #. Mostly copied from YumOutput._outKeyValFill()
-#: ../yum/plugins.py:209
+#: ../yum/plugins.py:212
 msgid "Loaded plugins: "
 msgstr "Geladene Plugins: "
 
-#: ../yum/plugins.py:223 ../yum/plugins.py:229
+#: ../yum/plugins.py:226 ../yum/plugins.py:232
 #, python-format
 msgid "No plugin match for: %s"
 msgstr "Kein Plugin für Argument: %s"
 
-#: ../yum/plugins.py:259
+#: ../yum/plugins.py:262
 #, python-format
 msgid "Not loading \"%s\" plugin, as it is disabled"
-msgstr "\"%s\"-Plugin ist deaktiviert"
+msgstr "»%s«-Plugin wird nicht geladen, da es deaktiviert ist"
 
 #. Give full backtrace:
-#: ../yum/plugins.py:271
+#: ../yum/plugins.py:274
 #, python-format
 msgid "Plugin \"%s\" can't be imported"
-msgstr "Plugin \"%s\" kann nicht importiert werden"
+msgstr "Plugin »%s« kann nicht importiert werden"
 
-#: ../yum/plugins.py:278
+#: ../yum/plugins.py:281
 #, python-format
 msgid "Plugin \"%s\" doesn't specify required API version"
-msgstr "Plugin \"%s\" gibt keine benötigte API-Version an"
+msgstr "Plugin »%s« gibt keine benötigte API-Version an"
 
-#: ../yum/plugins.py:283
+#: ../yum/plugins.py:286
 #, python-format
 msgid "Plugin \"%s\" requires API %s. Supported API is %s."
-msgstr "Plugin \"%s\" benötigt API %s. Unterstützte API ist %s."
+msgstr "Plugin »%s« benötigt API %s. Unterstützte API ist %s."
 
-#: ../yum/plugins.py:316
+#: ../yum/plugins.py:319
 #, python-format
 msgid "Loading \"%s\" plugin"
-msgstr "Lade \"%s\"-Plugin"
+msgstr "»%s«-Plugin wird geladen"
 
-#: ../yum/plugins.py:323
+#: ../yum/plugins.py:326
 #, python-format
 msgid "Two or more plugins with the name \"%s\" exist in the plugin search path"
-msgstr "Zwei oder mehr Plugins mit dem Namen \"%s\" existieren im Plugin-Suchpfad"
+msgstr "Zwei oder mehr Plugins mit dem Namen »%s« existieren im Plugin-Suchpfad"
 
-#: ../yum/plugins.py:343
+#: ../yum/plugins.py:346
 #, python-format
 msgid "Configuration file %s not found"
-msgstr "Konfigurationsdatei %s nicht gefunden"
+msgstr "Konfigurationsdatei %s wurde nicht gefunden"
 
 #. for
 #. Configuration files for the plugin not found
-#: ../yum/plugins.py:346
+#: ../yum/plugins.py:349
 #, python-format
 msgid "Unable to find configuration file for plugin %s"
-msgstr "Kann Konfigurationsdatei für Plugin %s nicht finden"
+msgstr "Konfigurationsdatei für Plugin %s kann nicht gefunden werden"
 
-#: ../yum/plugins.py:508
+#: ../yum/plugins.py:553
 msgid "registration of commands not supported"
 msgstr "Registrierung von Befehlen nicht unterstützt"
 
-#: ../yum/rpmsack.py:148
+#: ../yum/rpmsack.py:159
 msgid "has missing requires of"
-msgstr "benötigt"
+msgstr "hat fehlende Abhängigkeiten zu"
 
-#: ../yum/rpmsack.py:151
+#: ../yum/rpmsack.py:162
 msgid "has installed conflicts"
 msgstr "hat installierte Konflikte"
 
-#: ../yum/rpmsack.py:160
+#: ../yum/rpmsack.py:171
 #, python-format
 msgid "%s is a duplicate with %s"
 msgstr "%s ist ein Duplikat von %s"
 
-#: ../yum/rpmsack.py:168
+#: ../yum/rpmsack.py:179
 #, python-format
 msgid "%s is obsoleted by %s"
-msgstr "%s ersetzt %s"
+msgstr "%s wird ersetzt durch %s"
 
-#: ../yum/rpmsack.py:176
+#: ../yum/rpmsack.py:187
 #, python-format
 msgid "%s provides %s but it cannot be found"
 msgstr "%s stellt %s bereit, aber es konnte nicht gefunden werden"
 
 #: ../yum/rpmtrans.py:80
 msgid "Repackaging"
-msgstr "Packe neu"
+msgstr "Wird neu verpackt"
+
+#: ../yum/rpmtrans.py:149
+#, python-format
+msgid "Verify: %u/%u: %s"
+msgstr "Überprüfen: %u/%u: %s"
+
+#: ../yum/yumRepo.py:919
+#, python-format
+msgid ""
+"Insufficient space in download directory %s\n"
+"    * free   %s\n"
+"    * needed %s"
+msgstr "Nicht genügend Platz im Download-Ordner %s vorhanden\n    * frei     %s\n    * benötigt %s"
+
+#: ../yum/yumRepo.py:986
+msgid "Package does not match intended download."
+msgstr ""
 
 #: ../rpmUtils/oldUtils.py:33
 #, python-format
 msgid "Header cannot be opened or does not match %s, %s."
-msgstr ""
-"Header kann nicht geöffnet werden oder stimmt nicht überein mit %s, %s."
+msgstr "Header kann nicht geöffnet werden oder stimmt nicht überein mit %s, %s."
 
 #: ../rpmUtils/oldUtils.py:53
 #, python-format
@@ -3169,11 +3494,11 @@ msgstr "RPM %s besteht md5-Prüfung nicht"
 
 #: ../rpmUtils/oldUtils.py:151
 msgid "Could not open RPM database for reading. Perhaps it is already in use?"
-msgstr "Kann RPM-Datenbank nicht öffnen. Wird sie eventuell schon benutzt?"
+msgstr "RPM-Datenbank kann nicht geöffnet werden. Wird sie eventuell schon benutzt?"
 
 #: ../rpmUtils/oldUtils.py:183
 msgid "Got an empty Header, something has gone wrong"
-msgstr "Erhalte einen leeren Header, irgendetwas ging schief"
+msgstr "Ein leerer Header wurde erhalten, irgendetwas ging schief"
 
 #: ../rpmUtils/oldUtils.py:253 ../rpmUtils/oldUtils.py:260
 #: ../rpmUtils/oldUtils.py:263 ../rpmUtils/oldUtils.py:266
@@ -3184,6 +3509,4 @@ msgstr "Defekter Header %s"
 #: ../rpmUtils/oldUtils.py:281
 #, python-format
 msgid "Error opening rpm %s - error %s"
-msgstr "Fehler bei Öffnen des RPM %s - Fehler %s"
-
-
+msgstr "Fehler beim Öffnen des RPM %s - Fehler %s"
diff --git a/po/el.po b/po/el.po
index 8df34e7..11204f5 100644
--- a/po/el.po
+++ b/po/el.po
@@ -2,428 +2,508 @@
 # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
 # This file is distributed under the same license as the PACKAGE package.
 # 
-# Dimitris Glezos <glezos@indifex.com>, 2011
+# Translators:
+#   <azardilis@gmail.com>, 2011.
+# Dimitris Glezos <glezos@indifex.com>, 2011.
 msgid ""
 msgstr ""
 "Project-Id-Version: Yum\n"
-"Report-Msgid-Bugs-To: http://yum.baseurl.org/\n"
-"POT-Creation-Date: 2011-06-06 10:21-0400\n"
-"PO-Revision-Date: 2011-06-06 14:21+0000\n"
-"Last-Translator: skvidal <skvidal@fedoraproject.org>\n"
-"Language-Team: Greek (http://www.transifex.net/projects/p/yum/team/el/)\n"
+"Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
+"POT-Creation-Date: 2013-01-30 09:08-0500\n"
+"PO-Revision-Date: 2013-01-30 14:08+0000\n"
+"Last-Translator: james <james@fedoraproject.org>\n"
+"Language-Team: Greek (http://www.transifex.com/projects/p/yum/language/el/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Language: el\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: ../callback.py:48 ../output.py:1037 ../yum/rpmtrans.py:73
+#: ../callback.py:45 ../output.py:1502 ../yum/rpmtrans.py:73
 msgid "Updating"
 msgstr "Ενημέρωση"
 
-#: ../callback.py:49 ../yum/rpmtrans.py:74
+#: ../callback.py:46 ../yum/rpmtrans.py:74
 msgid "Erasing"
 msgstr "Διαγραφή"
 
-#: ../callback.py:50 ../callback.py:51 ../callback.py:53 ../output.py:1036
-#: ../output.py:2218 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
+#: ../callback.py:47 ../callback.py:48 ../callback.py:50 ../output.py:1501
+#: ../output.py:2922 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
 #: ../yum/rpmtrans.py:78
 msgid "Installing"
 msgstr "Εγκατάσταση"
 
-#: ../callback.py:52 ../callback.py:58 ../output.py:1840 ../yum/rpmtrans.py:77
+#: ../callback.py:49 ../callback.py:55 ../output.py:2379 ../yum/rpmtrans.py:77
 msgid "Obsoleted"
 msgstr ""
 
-#: ../callback.py:54 ../output.py:1169 ../output.py:1686 ../output.py:1847
+#: ../callback.py:51 ../output.py:1670 ../output.py:2222 ../output.py:2386
 msgid "Updated"
 msgstr "Ενημερώθηκε"
 
-#: ../callback.py:55 ../output.py:1685
+#: ../callback.py:52 ../output.py:2221
 msgid "Erased"
 msgstr "Διαγράφηκε"
 
-#: ../callback.py:56 ../callback.py:57 ../callback.py:59 ../output.py:1167
-#: ../output.py:1685 ../output.py:1687 ../output.py:2190
+#: ../callback.py:53 ../callback.py:54 ../callback.py:56 ../output.py:1668
+#: ../output.py:2221 ../output.py:2223 ../output.py:2894
 msgid "Installed"
 msgstr "Εγκαταστάθηκε"
 
-#: ../callback.py:130
+#: ../callback.py:142
 msgid "No header - huh?"
 msgstr ""
 
-#: ../callback.py:168
+#: ../callback.py:180
 msgid "Repackage"
 msgstr ""
 
-#: ../callback.py:189
+#: ../callback.py:201
 #, python-format
 msgid "Error: invalid output state: %s for %s"
 msgstr ""
 
-#: ../callback.py:212
+#: ../callback.py:224
 #, python-format
 msgid "Erased: %s"
 msgstr "Διαγράφηκε:%s"
 
-#: ../callback.py:217 ../output.py:1038 ../output.py:2193
+#: ../callback.py:229 ../output.py:1503 ../output.py:2897
 msgid "Removing"
 msgstr "Γίνεται αφαίρεση"
 
-#: ../callback.py:219 ../yum/rpmtrans.py:79
+#: ../callback.py:231 ../yum/rpmtrans.py:79
 msgid "Cleanup"
 msgstr ""
 
-#: ../cli.py:115
+#: ../cli.py:122
 #, python-format
 msgid "Command \"%s\" already defined"
 msgstr ""
 
-#: ../cli.py:127
+#: ../cli.py:137
 msgid "Setting up repositories"
 msgstr ""
 
-#: ../cli.py:138
+#: ../cli.py:148
 msgid "Reading repository metadata in from local files"
 msgstr ""
 
-#: ../cli.py:245 ../utils.py:281
+#: ../cli.py:273 ../cli.py:277 ../utils.py:320
 #, python-format
 msgid "Config Error: %s"
 msgstr ""
 
-#: ../cli.py:248 ../cli.py:1584 ../utils.py:284
+#: ../cli.py:280 ../cli.py:2206 ../utils.py:323
 #, python-format
 msgid "Options Error: %s"
 msgstr ""
 
-#: ../cli.py:293
+#: ../cli.py:327
 #, python-format
 msgid "  Installed: %s-%s at %s"
 msgstr ""
 
-#: ../cli.py:295
+#: ../cli.py:329
 #, python-format
 msgid "  Built    : %s at %s"
 msgstr ""
 
-#: ../cli.py:297
+#: ../cli.py:331
 #, python-format
 msgid "  Committed: %s at %s"
 msgstr ""
 
-#: ../cli.py:336
+#: ../cli.py:372
 msgid "You need to give some command"
 msgstr ""
 
-#: ../cli.py:350
+#: ../cli.py:386
 #, python-format
 msgid "No such command: %s. Please use %s --help"
 msgstr ""
 
-#: ../cli.py:400
+#: ../cli.py:444
 msgid "Disk Requirements:\n"
 msgstr ""
 
-#: ../cli.py:402
+#: ../cli.py:446
 #, python-format
 msgid "  At least %dMB more space needed on the %s filesystem.\n"
-msgstr ""
+msgid_plural "  At least %dMB more space needed on the %s filesystem.\n"
+msgstr[0] ""
+msgstr[1] ""
 
 #. TODO: simplify the dependency errors?
 #. Fixup the summary
-#: ../cli.py:407
+#: ../cli.py:451
 msgid ""
 "Error Summary\n"
 "-------------\n"
 msgstr ""
 
-#: ../cli.py:450
+#: ../cli.py:472
+msgid "Can't create lock file; exiting"
+msgstr ""
+
+#: ../cli.py:479
+msgid ""
+"Another app is currently holding the yum lock; exiting as configured by "
+"exit_on_lock"
+msgstr ""
+
+#: ../cli.py:532
 msgid "Trying to run the transaction but nothing to do. Exiting."
 msgstr ""
 
-#: ../cli.py:497
+#: ../cli.py:577
+msgid "future rpmdb ver mismatched saved transaction version,"
+msgstr ""
+
+#: ../cli.py:579 ../yum/__init__.py:6523
+msgid " ignoring, as requested."
+msgstr ""
+
+#: ../cli.py:582 ../yum/__init__.py:6526 ../yum/__init__.py:6673
+msgid " aborting."
+msgstr ""
+
+#: ../cli.py:588
 msgid "Exiting on user Command"
 msgstr ""
 
-#: ../cli.py:501
+#: ../cli.py:592
 msgid "Downloading Packages:"
 msgstr ""
 
-#: ../cli.py:506
+#: ../cli.py:597
 msgid "Error Downloading Packages:\n"
 msgstr ""
 
-#: ../cli.py:525 ../yum/__init__.py:4967
+#: ../cli.py:616 ../yum/__init__.py:6215
 msgid "Running Transaction Check"
 msgstr ""
 
-#: ../cli.py:534 ../yum/__init__.py:4976
+#: ../cli.py:625 ../yum/__init__.py:6224
 msgid "ERROR You need to update rpm to handle:"
 msgstr ""
 
-#: ../cli.py:536 ../yum/__init__.py:4979
+#: ../cli.py:627 ../yum/__init__.py:6227
 msgid "ERROR with transaction check vs depsolve:"
 msgstr ""
 
-#: ../cli.py:542
+#: ../cli.py:633
 msgid "RPM needs to be updated"
 msgstr ""
 
-#: ../cli.py:543
+#: ../cli.py:634
 #, python-format
 msgid "Please report this error in %s"
 msgstr ""
 
-#: ../cli.py:549
+#: ../cli.py:640
 msgid "Running Transaction Test"
 msgstr ""
 
-#: ../cli.py:561
+#: ../cli.py:652
 msgid "Transaction Check Error:\n"
 msgstr ""
 
-#: ../cli.py:568
+#: ../cli.py:659
 msgid "Transaction Test Succeeded"
 msgstr ""
 
-#: ../cli.py:600
+#: ../cli.py:691
 msgid "Running Transaction"
 msgstr ""
 
-#: ../cli.py:630
+#: ../cli.py:724
 msgid ""
 "Refusing to automatically import keys when running unattended.\n"
 "Use \"-y\" to override."
 msgstr ""
 
-#: ../cli.py:649 ../cli.py:692
+#: ../cli.py:743 ../cli.py:786
 msgid "  * Maybe you meant: "
 msgstr ""
 
-#: ../cli.py:675 ../cli.py:683
+#: ../cli.py:769 ../cli.py:777
 #, python-format
 msgid "Package(s) %s%s%s available, but not installed."
 msgstr ""
 
-#: ../cli.py:689 ../cli.py:722 ../cli.py:908
+#: ../cli.py:783 ../cli.py:891 ../cli.py:1158
 #, python-format
 msgid "No package %s%s%s available."
 msgstr ""
 
-#: ../cli.py:729 ../cli.py:973
-msgid "Package(s) to install"
+#: ../cli.py:871 ../cli.py:881 ../cli.py:1101 ../cli.py:1111
+#, python-format
+msgid "Bad %s argument %s."
 msgstr ""
 
-#: ../cli.py:732 ../cli.py:733 ../cli.py:914 ../cli.py:948 ../cli.py:974
-#: ../yumcommands.py:190
+#: ../cli.py:900 ../yumcommands.py:3331
+#, python-format
+msgid "%d package to install"
+msgid_plural "%d packages to install"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../cli.py:903 ../cli.py:904 ../cli.py:1169 ../cli.py:1170 ../cli.py:1224
+#: ../cli.py:1225 ../cli.py:1260 ../yumcommands.py:323 ../yumcommands.py:3419
 msgid "Nothing to do"
 msgstr ""
 
-#: ../cli.py:767
+#: ../cli.py:953
 #, python-format
-msgid "%d packages marked for Update"
-msgstr ""
+msgid "%d package marked for Update"
+msgid_plural "%d packages marked for Update"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:770
+#: ../cli.py:955
 msgid "No Packages marked for Update"
 msgstr ""
 
-#: ../cli.py:866
+#: ../cli.py:1067
 #, python-format
-msgid "%d packages marked for Distribution Synchronization"
-msgstr ""
+msgid "%d package marked for Distribution Synchronization"
+msgid_plural "%d packages marked for Distribution Synchronization"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:869
+#: ../cli.py:1069
 msgid "No Packages marked for Distribution Synchronization"
 msgstr ""
 
-#: ../cli.py:885
+#: ../cli.py:1124
 #, python-format
-msgid "%d packages marked for removal"
-msgstr ""
+msgid "%d package marked for removal"
+msgid_plural "%d packages marked for removal"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:888
+#: ../cli.py:1126
 msgid "No Packages marked for removal"
 msgstr ""
 
-#: ../cli.py:913
-msgid "Package(s) to downgrade"
-msgstr ""
+#: ../cli.py:1166
+#, python-format
+msgid "%d package to downgrade"
+msgid_plural "%d packages to downgrade"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:938
+#: ../cli.py:1207
 #, python-format
 msgid " (from %s)"
-msgstr ""
+msgstr "(από %s)"
 
-#: ../cli.py:939
+#: ../cli.py:1208
 #, python-format
 msgid "Installed package %s%s%s%s not available."
-msgstr ""
+msgstr "Το εγκατεστημένο πακέτο %s%s%s%s δεν είναι διαθέσιμο."
 
-#: ../cli.py:947
-msgid "Package(s) to reinstall"
-msgstr ""
+#: ../cli.py:1221
+#, python-format
+msgid "%d package to reinstall"
+msgid_plural "%d packages to reinstall"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:960
+#: ../cli.py:1246
 msgid "No Packages Provided"
 msgstr ""
 
-#: ../cli.py:1058
+#: ../cli.py:1259
+msgid "Package(s) to install"
+msgstr "Πακέτο(α) για εγκατάσταση"
+
+#: ../cli.py:1367
 #, python-format
 msgid "N/S Matched: %s"
 msgstr ""
 
-#: ../cli.py:1075
+#: ../cli.py:1384
 #, python-format
 msgid "  Name and summary matches %sonly%s, use \"search all\" for everything."
 msgstr ""
 
-#: ../cli.py:1077
+#: ../cli.py:1386
 #, python-format
 msgid ""
 "  Full name and summary matches %sonly%s, use \"search all\" for everything."
 msgstr ""
 
-#: ../cli.py:1095
+#: ../cli.py:1404
 #, python-format
 msgid "Matched: %s"
 msgstr ""
 
-#: ../cli.py:1102
+#: ../cli.py:1411
 #, python-format
 msgid "  Name and summary matches %smostly%s, use \"search all\" for everything."
 msgstr ""
 
-#: ../cli.py:1106
+#: ../cli.py:1415
 #, python-format
 msgid "Warning: No matches found for: %s"
 msgstr ""
 
-#: ../cli.py:1109
+#: ../cli.py:1418
 msgid "No Matches found"
 msgstr ""
 
-#: ../cli.py:1174
+#: ../cli.py:1536
 #, python-format
-msgid "No Package Found for %s"
+msgid ""
+"Error: No Packages found for:\n"
+"  %s"
 msgstr ""
 
-#: ../cli.py:1184
+#: ../cli.py:1572
 msgid "Cleaning repos: "
 msgstr ""
 
-#: ../cli.py:1189
+#: ../cli.py:1577
 msgid "Cleaning up Everything"
 msgstr ""
 
-#: ../cli.py:1205
+#: ../cli.py:1593
 msgid "Cleaning up Headers"
 msgstr ""
 
-#: ../cli.py:1208
+#: ../cli.py:1596
 msgid "Cleaning up Packages"
 msgstr ""
 
-#: ../cli.py:1211
+#: ../cli.py:1599
 msgid "Cleaning up xml metadata"
 msgstr ""
 
-#: ../cli.py:1214
+#: ../cli.py:1602
 msgid "Cleaning up database cache"
 msgstr ""
 
-#: ../cli.py:1217
+#: ../cli.py:1605
 msgid "Cleaning up expire-cache metadata"
 msgstr ""
 
-#: ../cli.py:1220
+#: ../cli.py:1608
 msgid "Cleaning up cached rpmdb data"
 msgstr ""
 
-#: ../cli.py:1223
+#: ../cli.py:1611
 msgid "Cleaning up plugins"
 msgstr ""
 
-#: ../cli.py:1247
-#, python-format
-msgid "Warning: No groups match: %s"
+#: ../cli.py:1727
+msgid "Installed Environment Groups:"
 msgstr ""
 
-#: ../cli.py:1264
-msgid "Installed Groups:"
+#: ../cli.py:1728
+msgid "Available Environment Groups:"
 msgstr ""
 
-#: ../cli.py:1270
+#: ../cli.py:1735
+msgid "Installed Groups:"
+msgstr "Εγκατεστημένες ομάδες:"
+
+#: ../cli.py:1742
 msgid "Installed Language Groups:"
 msgstr ""
 
-#: ../cli.py:1276
+#: ../cli.py:1749
 msgid "Available Groups:"
-msgstr ""
+msgstr "Διαθέσιμες ομάδες:"
 
-#: ../cli.py:1282
+#: ../cli.py:1756
 msgid "Available Language Groups:"
 msgstr ""
 
-#: ../cli.py:1285
+#: ../cli.py:1759
+#, python-format
+msgid "Warning: No Environments/Groups match: %s"
+msgstr ""
+
+#: ../cli.py:1763
 msgid "Done"
 msgstr ""
 
-#: ../cli.py:1296 ../cli.py:1314 ../cli.py:1320 ../yum/__init__.py:3313
+#: ../cli.py:1818
+#, python-format
+msgid "Warning: Group/Environment %s does not exist."
+msgstr ""
+
+#: ../cli.py:1859
+#, python-format
+msgid "Warning: Environment %s does not exist."
+msgstr ""
+
+#: ../cli.py:1873 ../cli.py:1879 ../yum/__init__.py:4254
 #, python-format
 msgid "Warning: Group %s does not exist."
 msgstr ""
 
-#: ../cli.py:1324
+#: ../cli.py:1883
 msgid "No packages in any requested group available to install or update"
 msgstr ""
 
-#: ../cli.py:1326
+#: ../cli.py:1885
+#, python-format
+msgid "%d package to Install"
+msgid_plural "%d packages to Install"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../cli.py:1919 ../yum/__init__.py:3536 ../yum/__init__.py:3766
+#: ../yum/__init__.py:3824
 #, python-format
-msgid "%d Package(s) to Install"
+msgid "No Environment named %s exists"
 msgstr ""
 
-#: ../cli.py:1336 ../yum/__init__.py:3325
+#: ../cli.py:1935 ../yum/__init__.py:4282
 #, python-format
 msgid "No group named %s exists"
 msgstr ""
 
-#: ../cli.py:1342
+#: ../cli.py:1945
 msgid "No packages to remove from groups"
 msgstr ""
 
-#: ../cli.py:1344
+#: ../cli.py:1947 ../yumcommands.py:3351
 #, python-format
-msgid "%d Package(s) to remove"
-msgstr ""
+msgid "%d package to remove"
+msgid_plural "%d packages to remove"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:1386
+#: ../cli.py:1988
 #, python-format
 msgid "Package %s is already installed, skipping"
 msgstr ""
 
-#: ../cli.py:1397
+#: ../cli.py:1999
 #, python-format
 msgid "Discarding non-comparable pkg %s.%s"
 msgstr ""
 
 #. we've not got any installed that match n or n+a
-#: ../cli.py:1423
+#: ../cli.py:2025
 #, python-format
 msgid "No other %s installed, adding to list for potential install"
 msgstr ""
 
-#: ../cli.py:1443
+#: ../cli.py:2045
 msgid "Plugin Options"
 msgstr ""
 
-#: ../cli.py:1451
+#: ../cli.py:2057
 #, python-format
 msgid "Command line error: %s"
 msgstr ""
 
-#: ../cli.py:1467
+#: ../cli.py:2079
 #, python-format
 msgid ""
 "\n"
@@ -431,438 +511,484 @@ msgid ""
 "%s: %s option requires an argument"
 msgstr ""
 
-#: ../cli.py:1521
+#: ../cli.py:2147
 msgid "--color takes one of: auto, always, never"
 msgstr ""
 
 #. We have a relative installroot ... haha
-#: ../cli.py:1596
+#: ../cli.py:2218
 #, python-format
 msgid "--installroot must be an absolute path: %s"
 msgstr ""
 
-#: ../cli.py:1642
+#: ../cli.py:2272
 msgid "show this help message and exit"
 msgstr ""
 
-#: ../cli.py:1646
+#: ../cli.py:2276
 msgid "be tolerant of errors"
 msgstr ""
 
-#: ../cli.py:1649
+#: ../cli.py:2279
 msgid "run entirely from system cache, don't update cache"
 msgstr ""
 
-#: ../cli.py:1652
+#: ../cli.py:2282
 msgid "config file location"
 msgstr ""
 
-#: ../cli.py:1655
+#: ../cli.py:2285
 msgid "maximum command wait time"
-msgstr ""
+msgstr "ανώτατος χρόνος αναμονής για εντολή"
 
-#: ../cli.py:1657
+#: ../cli.py:2287
 msgid "debugging output level"
 msgstr ""
 
-#: ../cli.py:1661
+#: ../cli.py:2291
 msgid "show duplicates, in repos, in list/search commands"
 msgstr ""
 
-#: ../cli.py:1663
+#: ../cli.py:2296
 msgid "error output level"
 msgstr ""
 
-#: ../cli.py:1666
+#: ../cli.py:2299
 msgid "debugging output level for rpm"
 msgstr ""
 
-#: ../cli.py:1669
+#: ../cli.py:2302
 msgid "quiet operation"
 msgstr ""
 
-#: ../cli.py:1671
+#: ../cli.py:2304
 msgid "verbose operation"
 msgstr ""
 
-#: ../cli.py:1673
+#: ../cli.py:2306
 msgid "answer yes for all questions"
 msgstr ""
 
-#: ../cli.py:1675
+#: ../cli.py:2308
+msgid "answer no for all questions"
+msgstr ""
+
+#: ../cli.py:2312
 msgid "show Yum version and exit"
 msgstr ""
 
-#: ../cli.py:1676
+#: ../cli.py:2313
 msgid "set install root"
 msgstr ""
 
-#: ../cli.py:1680
+#: ../cli.py:2317
 msgid "enable one or more repositories (wildcards allowed)"
 msgstr ""
 
-#: ../cli.py:1684
+#: ../cli.py:2321
 msgid "disable one or more repositories (wildcards allowed)"
 msgstr ""
 
-#: ../cli.py:1687
+#: ../cli.py:2324
 msgid "exclude package(s) by name or glob"
 msgstr ""
 
-#: ../cli.py:1689
+#: ../cli.py:2326
 msgid "disable exclude from main, for a repo or for everything"
 msgstr ""
 
-#: ../cli.py:1692
+#: ../cli.py:2329
 msgid "enable obsoletes processing during updates"
 msgstr ""
 
-#: ../cli.py:1694
+#: ../cli.py:2331
 msgid "disable Yum plugins"
 msgstr ""
 
-#: ../cli.py:1696
+#: ../cli.py:2333
 msgid "disable gpg signature checking"
 msgstr ""
 
-#: ../cli.py:1698
+#: ../cli.py:2335
 msgid "disable plugins by name"
 msgstr ""
 
-#: ../cli.py:1701
+#: ../cli.py:2338
 msgid "enable plugins by name"
 msgstr ""
 
-#: ../cli.py:1704
+#: ../cli.py:2341
 msgid "skip packages with depsolving problems"
 msgstr ""
 
-#: ../cli.py:1706
+#: ../cli.py:2343
 msgid "control whether color is used"
 msgstr ""
 
-#: ../cli.py:1708
+#: ../cli.py:2345
 msgid "set value of $releasever in yum config and repo files"
 msgstr ""
 
-#: ../cli.py:1710
+#: ../cli.py:2347
+msgid "don't update, just download"
+msgstr ""
+
+#: ../cli.py:2349
+msgid "specifies an alternate directory to store packages"
+msgstr ""
+
+#: ../cli.py:2351
 msgid "set arbitrary config and repo options"
 msgstr ""
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Jan"
 msgstr ""
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Feb"
 msgstr ""
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Mar"
 msgstr ""
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Apr"
 msgstr ""
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "May"
 msgstr ""
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Jun"
 msgstr ""
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Jul"
 msgstr ""
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Aug"
 msgstr ""
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Sep"
 msgstr ""
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Oct"
 msgstr ""
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Nov"
 msgstr ""
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Dec"
 msgstr ""
 
-#: ../output.py:318
+#: ../output.py:473
 msgid "Trying other mirror."
 msgstr ""
 
-#: ../output.py:581
+#: ../output.py:816
 #, python-format
 msgid "Name        : %s%s%s"
-msgstr ""
+msgstr "Όνομα        : %s%s%s"
 
-#: ../output.py:582
+#: ../output.py:817
 #, python-format
 msgid "Arch        : %s"
 msgstr ""
 
-#: ../output.py:584
+#: ../output.py:819
 #, python-format
 msgid "Epoch       : %s"
 msgstr ""
 
-#: ../output.py:585
+#: ../output.py:820
 #, python-format
 msgid "Version     : %s"
 msgstr ""
 
-#: ../output.py:586
+#: ../output.py:821
 #, python-format
 msgid "Release     : %s"
 msgstr ""
 
-#: ../output.py:587
+#: ../output.py:822
 #, python-format
 msgid "Size        : %s"
-msgstr ""
+msgstr "Μέγεθος        : %s"
 
-#: ../output.py:588 ../output.py:900
+#: ../output.py:823 ../output.py:1329
 #, python-format
 msgid "Repo        : %s"
 msgstr ""
 
-#: ../output.py:590
+#: ../output.py:825
 #, python-format
 msgid "From repo   : %s"
 msgstr ""
 
-#: ../output.py:592
+#: ../output.py:827
 #, python-format
 msgid "Committer   : %s"
 msgstr ""
 
-#: ../output.py:593
+#: ../output.py:828
 #, python-format
 msgid "Committime  : %s"
 msgstr ""
 
-#: ../output.py:594
+#: ../output.py:829
 #, python-format
 msgid "Buildtime   : %s"
 msgstr ""
 
-#: ../output.py:596
+#: ../output.py:831
 #, python-format
 msgid "Install time: %s"
 msgstr ""
 
-#: ../output.py:604
+#: ../output.py:839
 #, python-format
 msgid "Installed by: %s"
-msgstr ""
+msgstr "Εγκαταστάθηκε από: %s"
 
-#: ../output.py:611
+#: ../output.py:846
 #, python-format
 msgid "Changed by  : %s"
-msgstr ""
+msgstr "Τροποποιήθηκε από : %s"
 
-#: ../output.py:612
+#: ../output.py:847
 msgid "Summary     : "
 msgstr ""
 
-#: ../output.py:614 ../output.py:913
+#: ../output.py:849 ../output.py:1345
 #, python-format
 msgid "URL         : %s"
 msgstr ""
 
-#: ../output.py:615
+#: ../output.py:850
 msgid "License     : "
 msgstr ""
 
-#: ../output.py:616 ../output.py:910
+#: ../output.py:851 ../output.py:1342
 msgid "Description : "
-msgstr ""
+msgstr " Περιγραφή: "
 
-#: ../output.py:684
+#: ../output.py:969
 msgid "y"
 msgstr ""
 
-#: ../output.py:684
+#: ../output.py:969
 msgid "yes"
-msgstr ""
+msgstr "ναι"
 
-#: ../output.py:685
+#: ../output.py:970
 msgid "n"
 msgstr ""
 
-#: ../output.py:685
+#: ../output.py:970
 msgid "no"
-msgstr ""
+msgstr "όχι "
 
-#: ../output.py:689
+#: ../output.py:974
 msgid "Is this ok [y/N]: "
 msgstr ""
 
-#: ../output.py:777
+#: ../output.py:1097
 #, python-format
 msgid ""
 "\n"
 "Group: %s"
-msgstr ""
+msgstr "\nΟμάδα: %s"
 
-#: ../output.py:781
+#: ../output.py:1101
 #, python-format
 msgid " Group-Id: %s"
 msgstr ""
 
-#: ../output.py:786
+#: ../output.py:1122 ../output.py:1169
 #, python-format
 msgid " Description: %s"
-msgstr ""
+msgstr " Περιγραφή: %s"
 
-#: ../output.py:788
+#: ../output.py:1124
 #, python-format
 msgid " Language: %s"
 msgstr ""
 
-#: ../output.py:790
+#: ../output.py:1126
 msgid " Mandatory Packages:"
-msgstr ""
+msgstr " Υποχρεωτικά Πακέτα:"
 
-#: ../output.py:791
+#: ../output.py:1127
 msgid " Default Packages:"
-msgstr ""
+msgstr " Προεπιλεγμένα Πακέτα:"
 
-#: ../output.py:792
+#: ../output.py:1128
 msgid " Optional Packages:"
-msgstr ""
+msgstr " Προαιρετικά Πακέτα:"
 
-#: ../output.py:793
+#: ../output.py:1129
 msgid " Conditional Packages:"
 msgstr ""
 
-#: ../output.py:814
+#: ../output.py:1147
+msgid " Installed Packages:"
+msgstr ""
+
+#: ../output.py:1157
 #, python-format
-msgid "package: %s"
+msgid ""
+"\n"
+"Environment Group: %s"
 msgstr ""
 
-#: ../output.py:816
+#: ../output.py:1158
+#, python-format
+msgid " Environment-Id: %s"
+msgstr ""
+
+#: ../output.py:1191
+msgid " Mandatory Groups:"
+msgstr ""
+
+#: ../output.py:1192
+msgid " Optional Groups:"
+msgstr ""
+
+#: ../output.py:1205
+msgid " Installed Groups:"
+msgstr ""
+
+#: ../output.py:1217
+#, python-format
+msgid "package: %s"
+msgstr "πακέτο: %s"
+
+#: ../output.py:1219
 msgid "  No dependencies for this package"
 msgstr ""
 
-#: ../output.py:821
+#: ../output.py:1224
 #, python-format
 msgid "  dependency: %s"
 msgstr ""
 
-#: ../output.py:823
+#: ../output.py:1226
 msgid "   Unsatisfied dependency"
 msgstr ""
 
-#: ../output.py:901
+#: ../output.py:1337
 msgid "Matched from:"
 msgstr ""
 
-#: ../output.py:916
+#: ../output.py:1348
 #, python-format
 msgid "License     : %s"
 msgstr ""
 
-#: ../output.py:919
+#: ../output.py:1351
 #, python-format
 msgid "Filename    : %s"
+msgstr "Όνομα αρχείου   : %s"
+
+#: ../output.py:1360
+msgid "Provides    : "
 msgstr ""
 
-#: ../output.py:923
+#: ../output.py:1363
 msgid "Other       : "
 msgstr ""
 
-#: ../output.py:966
+#: ../output.py:1426
 msgid "There was an error calculating total download size"
 msgstr ""
 
-#: ../output.py:971
+#: ../output.py:1431
 #, python-format
 msgid "Total size: %s"
 msgstr ""
 
-#: ../output.py:974
+#: ../output.py:1433
 #, python-format
 msgid "Total download size: %s"
 msgstr ""
 
-#: ../output.py:978 ../output.py:998
+#: ../output.py:1436 ../output.py:1459 ../output.py:1463
 #, python-format
 msgid "Installed size: %s"
 msgstr ""
 
-#: ../output.py:994
+#: ../output.py:1454
 msgid "There was an error calculating installed size"
 msgstr ""
 
-#: ../output.py:1039
+#: ../output.py:1504
 msgid "Reinstalling"
 msgstr ""
 
-#: ../output.py:1040
+#: ../output.py:1505
 msgid "Downgrading"
 msgstr ""
 
-#: ../output.py:1041
+#: ../output.py:1506
 msgid "Installing for dependencies"
 msgstr ""
 
-#: ../output.py:1042
+#: ../output.py:1507
 msgid "Updating for dependencies"
 msgstr ""
 
-#: ../output.py:1043
+#: ../output.py:1508
 msgid "Removing for dependencies"
 msgstr ""
 
-#: ../output.py:1050 ../output.py:1171
+#: ../output.py:1515 ../output.py:1576 ../output.py:1672
 msgid "Skipped (dependency problems)"
 msgstr ""
 
-#: ../output.py:1052 ../output.py:1687
+#: ../output.py:1517 ../output.py:1577 ../output.py:2223
 msgid "Not installed"
 msgstr ""
 
-#: ../output.py:1053
+#: ../output.py:1518 ../output.py:1578
 msgid "Not available"
 msgstr ""
 
-#: ../output.py:1075 ../output.py:2024
+#: ../output.py:1540 ../output.py:1588 ../output.py:1604 ../output.py:2581
 msgid "Package"
-msgstr ""
+msgid_plural "Packages"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../output.py:1075
+#: ../output.py:1540
 msgid "Arch"
 msgstr ""
 
-#: ../output.py:1076
+#: ../output.py:1541
 msgid "Version"
 msgstr ""
 
-#: ../output.py:1076
+#: ../output.py:1541
 msgid "Repository"
 msgstr ""
 
-#: ../output.py:1077
+#: ../output.py:1542
 msgid "Size"
-msgstr ""
+msgstr "Μέγεθος"
 
-#: ../output.py:1089
+#: ../output.py:1554
 #, python-format
 msgid "     replacing  %s%s%s.%s %s\n"
 msgstr ""
 
-#: ../output.py:1098
+#: ../output.py:1563
 #, python-format
 msgid ""
 "\n"
@@ -870,65 +996,66 @@ msgid ""
 "%s\n"
 msgstr ""
 
-#: ../output.py:1109
-#, python-format
-msgid "Install   %5.5s Package(s)\n"
+#: ../output.py:1568 ../output.py:2376 ../output.py:2377
+msgid "Install"
 msgstr ""
 
-#: ../output.py:1113
-#, python-format
-msgid "Upgrade   %5.5s Package(s)\n"
+#: ../output.py:1570
+msgid "Upgrade"
 msgstr ""
 
-#: ../output.py:1117
-#, python-format
-msgid "Remove    %5.5s Package(s)\n"
+#: ../output.py:1572
+msgid "Remove"
 msgstr ""
 
-#: ../output.py:1121
-#, python-format
-msgid "Reinstall %5.5s Package(s)\n"
+#: ../output.py:1574 ../output.py:2382
+msgid "Reinstall"
 msgstr ""
 
-#: ../output.py:1125
-#, python-format
-msgid "Downgrade %5.5s Package(s)\n"
+#: ../output.py:1575 ../output.py:2383
+msgid "Downgrade"
 msgstr ""
 
-#: ../output.py:1165
+#: ../output.py:1606
+msgid "Dependent package"
+msgid_plural "Dependent packages"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../output.py:1666
 msgid "Removed"
 msgstr ""
 
-#: ../output.py:1166
+#: ../output.py:1667
 msgid "Dependency Removed"
 msgstr ""
 
-#: ../output.py:1168
+#: ../output.py:1669
 msgid "Dependency Installed"
 msgstr ""
 
-#: ../output.py:1170
+#: ../output.py:1671
 msgid "Dependency Updated"
 msgstr ""
 
-#: ../output.py:1172
+#: ../output.py:1673
 msgid "Replaced"
 msgstr ""
 
-#: ../output.py:1173
+#: ../output.py:1674
 msgid "Failed"
 msgstr ""
 
 #. Delta between C-c's so we treat as exit
-#: ../output.py:1260
+#: ../output.py:1764
 msgid "two"
 msgstr ""
 
 #. For translators: This is output like:
 #. Current download cancelled, interrupt (ctrl-c) again within two seconds
 #. to exit.
-#. Where "interupt (ctrl-c) again" and "two" are highlighted.
-#: ../output.py:1271
+#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
+#: ../output.py:1775
 #, python-format
 msgid ""
 "\n"
@@ -936,532 +1063,584 @@ msgid ""
 "to exit.\n"
 msgstr ""
 
-#: ../output.py:1282
+#: ../output.py:1786
 msgid "user interrupt"
 msgstr ""
 
-#: ../output.py:1300
+#: ../output.py:1812
 msgid "Total"
 msgstr ""
 
-#: ../output.py:1322
+#: ../output.py:1834
 msgid "I"
 msgstr ""
 
-#: ../output.py:1323
+#: ../output.py:1835
 msgid "O"
 msgstr ""
 
-#: ../output.py:1324
+#: ../output.py:1836
 msgid "E"
 msgstr ""
 
-#: ../output.py:1325
+#: ../output.py:1837
 msgid "R"
 msgstr ""
 
-#: ../output.py:1326
+#: ../output.py:1838
 msgid "D"
 msgstr ""
 
-#: ../output.py:1327
+#: ../output.py:1839
 msgid "U"
 msgstr ""
 
-#: ../output.py:1341
+#: ../output.py:1853
 msgid "<unset>"
 msgstr ""
 
-#: ../output.py:1342
+#: ../output.py:1854
 msgid "System"
-msgstr ""
+msgstr "Σύστημα"
 
-#: ../output.py:1411
+#: ../output.py:1923
 #, python-format
 msgid "Skipping merged transaction %d to %d, as it overlaps"
 msgstr ""
 
-#: ../output.py:1421 ../output.py:1592
+#: ../output.py:1933 ../output.py:2125
 msgid "No transactions"
 msgstr ""
 
-#: ../output.py:1446 ../output.py:2013
+#: ../output.py:1958 ../output.py:2570 ../output.py:2660
 msgid "Bad transaction IDs, or package(s), given"
 msgstr ""
 
-#: ../output.py:1484
+#: ../output.py:2007
 msgid "Command line"
 msgstr ""
 
-#: ../output.py:1486 ../output.py:1908
+#: ../output.py:2009 ../output.py:2458
 msgid "Login user"
 msgstr ""
 
 #. REALLY Needs to use columns!
-#: ../output.py:1487 ../output.py:2022
+#: ../output.py:2010 ../output.py:2579
 msgid "ID"
 msgstr ""
 
-#: ../output.py:1489
+#: ../output.py:2012
 msgid "Date and time"
-msgstr ""
+msgstr "Ημερομηνία και ώρα"
 
-#: ../output.py:1490 ../output.py:1910 ../output.py:2023
+#: ../output.py:2013 ../output.py:2460 ../output.py:2580
 msgid "Action(s)"
 msgstr ""
 
-#: ../output.py:1491 ../output.py:1911
+#: ../output.py:2014 ../output.py:2461
 msgid "Altered"
 msgstr ""
 
-#: ../output.py:1538
+#: ../output.py:2061
 msgid "No transaction ID given"
 msgstr ""
 
-#: ../output.py:1564 ../output.py:1972
+#: ../output.py:2087 ../output.py:2526
 msgid "Bad transaction ID given"
 msgstr ""
 
-#: ../output.py:1569
+#: ../output.py:2092
 msgid "Not found given transaction ID"
 msgstr ""
 
-#: ../output.py:1577
+#: ../output.py:2100
 msgid "Found more than one transaction ID!"
 msgstr ""
 
-#: ../output.py:1618 ../output.py:1980
+#: ../output.py:2151 ../output.py:2534
 msgid "No transaction ID, or package, given"
 msgstr ""
 
-#: ../output.py:1686 ../output.py:1845
+#: ../output.py:2222 ../output.py:2384
 msgid "Downgraded"
 msgstr ""
 
-#: ../output.py:1688
+#: ../output.py:2224
 msgid "Older"
 msgstr ""
 
-#: ../output.py:1688
+#: ../output.py:2224
 msgid "Newer"
 msgstr ""
 
-#: ../output.py:1724 ../output.py:1726
+#: ../output.py:2261 ../output.py:2263 ../output.py:2681
 msgid "Transaction ID :"
 msgstr ""
 
-#: ../output.py:1728
+#: ../output.py:2265 ../output.py:2683
 msgid "Begin time     :"
 msgstr ""
 
-#: ../output.py:1731 ../output.py:1733
+#: ../output.py:2268 ../output.py:2270
 msgid "Begin rpmdb    :"
 msgstr ""
 
-#: ../output.py:1749
+#: ../output.py:2286
 #, python-format
 msgid "(%u seconds)"
 msgstr ""
 
-#: ../output.py:1751
+#: ../output.py:2288
 #, python-format
 msgid "(%u minutes)"
 msgstr ""
 
-#: ../output.py:1753
+#: ../output.py:2290
 #, python-format
 msgid "(%u hours)"
 msgstr ""
 
-#: ../output.py:1755
+#: ../output.py:2292
 #, python-format
 msgid "(%u days)"
 msgstr ""
 
-#: ../output.py:1756
+#: ../output.py:2293
 msgid "End time       :"
 msgstr ""
 
-#: ../output.py:1759 ../output.py:1761
+#: ../output.py:2296 ../output.py:2298
 msgid "End rpmdb      :"
 msgstr ""
 
-#: ../output.py:1764 ../output.py:1766
+#: ../output.py:2301 ../output.py:2303
 msgid "User           :"
-msgstr ""
+msgstr "Χρήστης           :"
 
-#: ../output.py:1770 ../output.py:1773 ../output.py:1775 ../output.py:1777
-#: ../output.py:1779
+#: ../output.py:2307 ../output.py:2310 ../output.py:2312 ../output.py:2314
+#: ../output.py:2316
 msgid "Return-Code    :"
 msgstr ""
 
-#: ../output.py:1770 ../output.py:1775
+#: ../output.py:2307 ../output.py:2312
 msgid "Aborted"
 msgstr ""
 
-#: ../output.py:1773
+#: ../output.py:2310
 msgid "Failures:"
 msgstr ""
 
-#: ../output.py:1777
+#: ../output.py:2314
 msgid "Failure:"
 msgstr ""
 
-#: ../output.py:1779
+#: ../output.py:2316
 msgid "Success"
 msgstr ""
 
-#: ../output.py:1784 ../output.py:1786
+#: ../output.py:2321 ../output.py:2323 ../output.py:2712
 msgid "Command Line   :"
 msgstr ""
 
-#: ../output.py:1795
+#: ../output.py:2332
 #, python-format
 msgid "Additional non-default information stored: %d"
 msgstr ""
 
 #. This is _possible_, but not common
-#: ../output.py:1800
+#: ../output.py:2337
 msgid "Transaction performed with:"
 msgstr ""
 
-#: ../output.py:1804
+#: ../output.py:2341
 msgid "Packages Altered:"
 msgstr ""
 
-#: ../output.py:1808
+#: ../output.py:2345
 msgid "Packages Skipped:"
 msgstr ""
 
-#: ../output.py:1814
+#: ../output.py:2353
 msgid "Rpmdb Problems:"
 msgstr ""
 
-#: ../output.py:1825
+#: ../output.py:2364
 msgid "Scriptlet output:"
 msgstr ""
 
-#: ../output.py:1831
+#: ../output.py:2370
 msgid "Errors:"
 msgstr ""
 
-#: ../output.py:1837 ../output.py:1838
-msgid "Install"
-msgstr ""
-
-#: ../output.py:1839
+#: ../output.py:2378
 msgid "Dep-Install"
 msgstr ""
 
-#: ../output.py:1841
+#: ../output.py:2380
 msgid "Obsoleting"
 msgstr ""
 
-#: ../output.py:1842
+#: ../output.py:2381
 msgid "Erase"
 msgstr ""
 
-#: ../output.py:1843
-msgid "Reinstall"
-msgstr ""
-
-#: ../output.py:1844
-msgid "Downgrade"
-msgstr ""
-
-#: ../output.py:1846
+#: ../output.py:2385
 msgid "Update"
 msgstr ""
 
-#: ../output.py:1909
+#: ../output.py:2459
 msgid "Time"
 msgstr ""
 
-#: ../output.py:1935
+#: ../output.py:2485
 msgid "Last day"
 msgstr ""
 
-#: ../output.py:1936
+#: ../output.py:2486
 msgid "Last week"
-msgstr ""
+msgstr "Τελευταία εβδομάδα"
 
-#: ../output.py:1937
+#: ../output.py:2487
 msgid "Last 2 weeks"
-msgstr ""
+msgstr "Τελευταίες 2 εβδομάδες"
 
 #. US default :p
-#: ../output.py:1938
+#: ../output.py:2488
 msgid "Last 3 months"
-msgstr ""
+msgstr "Τελευταίοι 3 μήνες"
 
-#: ../output.py:1939
+#: ../output.py:2489
 msgid "Last 6 months"
-msgstr ""
+msgstr "Τελευταίοι 6 μήνες"
 
-#: ../output.py:1940
+#: ../output.py:2490
 msgid "Last year"
-msgstr ""
+msgstr "Τελευταίος χρόνος"
 
-#: ../output.py:1941
+#: ../output.py:2491
 msgid "Over a year ago"
 msgstr ""
 
-#: ../output.py:1984
+#: ../output.py:2538
 #, python-format
 msgid "No Transaction %s found"
 msgstr ""
 
-#: ../output.py:1990
+#: ../output.py:2544
 msgid "Transaction ID:"
 msgstr ""
 
-#: ../output.py:1991
+#: ../output.py:2545
 msgid "Available additional history information:"
 msgstr ""
 
-#: ../output.py:2003
+#: ../output.py:2558
 #, python-format
 msgid "%s: No additional data found by this name"
 msgstr ""
 
-#: ../output.py:2106
+#: ../output.py:2684
+msgid "Package        :"
+msgstr ""
+
+#: ../output.py:2685
+msgid "State          :"
+msgstr ""
+
+#: ../output.py:2688
+msgid "Size           :"
+msgstr ""
+
+#: ../output.py:2690
+msgid "Build host     :"
+msgstr ""
+
+#: ../output.py:2693
+msgid "Build time     :"
+msgstr ""
+
+#: ../output.py:2695
+msgid "Packager       :"
+msgstr ""
+
+#: ../output.py:2697
+msgid "Vendor         :"
+msgstr ""
+
+#: ../output.py:2699
+msgid "License        :"
+msgstr ""
+
+#: ../output.py:2701
+msgid "URL            :"
+msgstr ""
+
+#: ../output.py:2703
+msgid "Source RPM     :"
+msgstr ""
+
+#: ../output.py:2706
+msgid "Commit Time    :"
+msgstr ""
+
+#: ../output.py:2708
+msgid "Committer      :"
+msgstr ""
+
+#: ../output.py:2710
+msgid "Reason         :"
+msgstr ""
+
+#: ../output.py:2714
+msgid "From repo      :"
+msgstr ""
+
+#: ../output.py:2718
+msgid "Installed by   :"
+msgstr ""
+
+#: ../output.py:2722
+msgid "Changed by     :"
+msgstr ""
+
+#: ../output.py:2767
 msgid "installed"
 msgstr ""
 
-#: ../output.py:2107
+#: ../output.py:2768
 msgid "an update"
 msgstr ""
 
-#: ../output.py:2108
+#: ../output.py:2769
 msgid "erased"
 msgstr ""
 
-#: ../output.py:2109
+#: ../output.py:2770
 msgid "reinstalled"
 msgstr ""
 
-#: ../output.py:2110
+#: ../output.py:2771
 msgid "a downgrade"
 msgstr ""
 
-#: ../output.py:2111
+#: ../output.py:2772
 msgid "obsoleting"
 msgstr ""
 
-#: ../output.py:2112
+#: ../output.py:2773
 msgid "updated"
 msgstr ""
 
-#: ../output.py:2113
+#: ../output.py:2774
 msgid "obsoleted"
 msgstr ""
 
-#: ../output.py:2117
+#: ../output.py:2778
 #, python-format
 msgid "---> Package %s.%s %s:%s-%s will be %s"
 msgstr ""
 
-#: ../output.py:2124
+#: ../output.py:2789
 msgid "--> Running transaction check"
 msgstr ""
 
-#: ../output.py:2129
+#: ../output.py:2795
 msgid "--> Restarting Dependency Resolution with new changes."
 msgstr ""
 
-#: ../output.py:2134
+#: ../output.py:2801
 msgid "--> Finished Dependency Resolution"
 msgstr ""
 
-#: ../output.py:2139 ../output.py:2144
+#: ../output.py:2814 ../output.py:2827
 #, python-format
 msgid "--> Processing Dependency: %s for package: %s"
 msgstr ""
 
-#: ../output.py:2149
+#: ../output.py:2841
 #, python-format
-msgid "---> Keeping package: %s"
+msgid "---> Keeping package: %s due to %s"
 msgstr ""
 
-#: ../output.py:2152
+#: ../output.py:2850
 #, python-format
 msgid "--> Unresolved Dependency: %s"
 msgstr ""
 
-#: ../output.py:2163
+#: ../output.py:2867
 #, python-format
 msgid "Package: %s"
-msgstr ""
+msgstr "Πακέτο: %s"
 
-#: ../output.py:2165
+#: ../output.py:2869
 #, python-format
 msgid ""
 "\n"
 "    Requires: %s"
 msgstr ""
 
-#: ../output.py:2174
+#: ../output.py:2878
 #, python-format
 msgid ""
 "\n"
 "    %s: %s (%s)"
 msgstr ""
 
-#: ../output.py:2179
+#: ../output.py:2883
 #, python-format
 msgid ""
 "\n"
 "        %s"
 msgstr ""
 
-#: ../output.py:2181
+#: ../output.py:2885
 msgid ""
 "\n"
 "        Not found"
 msgstr ""
 
 #. These should be the only three things we care about:
-#: ../output.py:2196
+#: ../output.py:2900
 msgid "Updated By"
-msgstr ""
+msgstr "Ενημερώθηκε από"
 
-#: ../output.py:2197
+#: ../output.py:2901
 msgid "Downgraded By"
 msgstr ""
 
-#: ../output.py:2198
+#: ../output.py:2902
 msgid "Obsoleted By"
 msgstr ""
 
-#: ../output.py:2216
+#: ../output.py:2920
 msgid "Available"
 msgstr ""
 
-#: ../output.py:2243 ../output.py:2248
+#: ../output.py:2955 ../output.py:2968
 #, python-format
 msgid "--> Processing Conflict: %s conflicts %s"
 msgstr ""
 
-#: ../output.py:2252
+#: ../output.py:2974
 msgid "--> Populating transaction set with selected packages. Please wait."
 msgstr ""
 
-#: ../output.py:2256
+#: ../output.py:2983
 #, python-format
 msgid "---> Downloading header for %s to pack into transaction set."
 msgstr ""
 
-#: ../utils.py:99
+#. self.event(txmbr.name, count, len(base.tsInfo), count, )
+#. (te_current*100L)/te_total
+#: ../output.py:3248
+msgid "Verifying"
+msgstr ""
+
+#: ../utils.py:123
 msgid "Running"
 msgstr ""
 
-#: ../utils.py:100
+#: ../utils.py:124
 msgid "Sleeping"
 msgstr ""
 
-#: ../utils.py:101
+#: ../utils.py:125
 msgid "Uninterruptible"
 msgstr ""
 
-#: ../utils.py:102
+#: ../utils.py:126
 msgid "Zombie"
 msgstr ""
 
-#: ../utils.py:103
+#: ../utils.py:127
 msgid "Traced/Stopped"
 msgstr ""
 
-#: ../utils.py:104 ../yumcommands.py:994
+#: ../utils.py:128 ../yumcommands.py:2193
 msgid "Unknown"
 msgstr ""
 
-#: ../utils.py:115
+#: ../utils.py:153
 msgid "  The other application is: PackageKit"
 msgstr ""
 
-#: ../utils.py:117
+#: ../utils.py:155
 #, python-format
 msgid "  The other application is: %s"
 msgstr ""
 
-#: ../utils.py:120
+#: ../utils.py:158
 #, python-format
 msgid "    Memory : %5s RSS (%5sB VSZ)"
 msgstr ""
 
-#: ../utils.py:125
+#: ../utils.py:163
 #, python-format
 msgid "    Started: %s - %s ago"
 msgstr ""
 
-#: ../utils.py:127
+#: ../utils.py:165
 #, python-format
 msgid "    State  : %s, pid: %d"
 msgstr ""
 
-#: ../utils.py:170 ../yummain.py:43
+#: ../utils.py:194 ../yummain.py:43
 msgid ""
 "\n"
 "\n"
 "Exiting on user cancel"
 msgstr ""
 
-#: ../utils.py:176 ../yummain.py:49
+#: ../utils.py:206 ../yummain.py:49
 msgid ""
 "\n"
 "\n"
 "Exiting on Broken Pipe"
 msgstr ""
 
-#: ../utils.py:178 ../yummain.py:51
+#: ../utils.py:208 ../yummain.py:51
 #, python-format
 msgid ""
 "\n"
 "\n"
 "%s"
-msgstr ""
-
-#: ../utils.py:228 ../yummain.py:123
-msgid ""
-"Another app is currently holding the yum lock; exiting as configured by "
-"exit_on_lock"
-msgstr ""
+msgstr "\n\n%s"
 
-#: ../utils.py:287
+#: ../utils.py:326
 #, python-format
 msgid "PluginExit Error: %s"
 msgstr ""
 
-#: ../utils.py:290
+#: ../utils.py:329
 #, python-format
 msgid "Yum Error: %s"
 msgstr ""
 
-#: ../utils.py:342 ../yummain.py:150 ../yummain.py:189
+#: ../utils.py:387 ../yummain.py:147 ../yummain.py:186
 #, python-format
 msgid "Error: %s"
 msgstr ""
 
-#: ../utils.py:346 ../yummain.py:194
+#: ../utils.py:391 ../yummain.py:191
 msgid " You could try using --skip-broken to work around the problem"
 msgstr ""
 
-#: ../utils.py:348 ../yummain.py:87
+#: ../utils.py:393 ../yummain.py:87
 msgid " You could try running: rpm -Va --nofiles --nodigest"
 msgstr ""
 
-#: ../utils.py:355 ../yummain.py:160 ../yummain.py:202
+#: ../utils.py:400 ../yummain.py:157 ../yummain.py:199
 #, python-format
 msgid "Unknown Error(s): Exit Code: %d:"
 msgstr ""
 
-#: ../utils.py:361 ../yummain.py:208
+#: ../utils.py:406 ../yummain.py:205
 msgid ""
 "\n"
 "Dependencies Resolved"
 msgstr ""
 
-#: ../utils.py:376 ../yummain.py:234
+#: ../utils.py:422 ../yummain.py:237
 msgid "Complete!"
 msgstr ""
 
@@ -1473,7 +1652,7 @@ msgstr ""
 msgid "You need to be root to perform this command."
 msgstr ""
 
-#: ../yumcommands.py:59
+#: ../yumcommands.py:67
 msgid ""
 "\n"
 "You have enabled checking of packages via GPG keys. This is a good thing. \n"
@@ -1490,555 +1669,648 @@ msgid ""
 "For more information contact your distribution or package provider.\n"
 msgstr ""
 
-#: ../yumcommands.py:74
+#: ../yumcommands.py:82
 #, python-format
 msgid "Problem repository: %s"
 msgstr ""
 
-#: ../yumcommands.py:80
+#: ../yumcommands.py:96
 #, python-format
 msgid "Error: Need to pass a list of pkgs to %s"
 msgstr ""
 
-#: ../yumcommands.py:86
+#: ../yumcommands.py:114
+#, python-format
+msgid "Error: Need at least two packages to %s"
+msgstr ""
+
+#: ../yumcommands.py:129
+#, python-format
+msgid "Error: Need to pass a repoid. and command to %s"
+msgstr ""
+
+#: ../yumcommands.py:136 ../yumcommands.py:142
+#, python-format
+msgid "Error: Need to pass a single valid repoid. to %s"
+msgstr ""
+
+#: ../yumcommands.py:147
+#, python-format
+msgid "Error: Repo %s is not enabled"
+msgstr ""
+
+#: ../yumcommands.py:164
 msgid "Error: Need an item to match"
 msgstr ""
 
-#: ../yumcommands.py:92
+#: ../yumcommands.py:178
 msgid "Error: Need a group or list of groups"
 msgstr ""
 
-#: ../yumcommands.py:101
+#: ../yumcommands.py:195
 #, python-format
 msgid "Error: clean requires an option: %s"
 msgstr ""
 
-#: ../yumcommands.py:106
+#: ../yumcommands.py:201
 #, python-format
 msgid "Error: invalid clean argument: %r"
 msgstr ""
 
-#: ../yumcommands.py:119
+#: ../yumcommands.py:216
 msgid "No argument to shell"
 msgstr ""
 
-#: ../yumcommands.py:121
+#: ../yumcommands.py:218
 #, python-format
 msgid "Filename passed to shell: %s"
 msgstr ""
 
-#: ../yumcommands.py:125
+#: ../yumcommands.py:222
 #, python-format
 msgid "File %s given as argument to shell does not exist."
 msgstr ""
 
-#: ../yumcommands.py:131
+#: ../yumcommands.py:228
 msgid "Error: more than one file given as argument to shell."
 msgstr ""
 
-#: ../yumcommands.py:148
+#: ../yumcommands.py:247
 msgid ""
 "There are no enabled repos.\n"
 " Run \"yum repolist all\" to see the repos you have.\n"
 " You can enable repos with yum-config-manager --enable <repo>"
 msgstr ""
 
-#: ../yumcommands.py:200
+#: ../yumcommands.py:383
 msgid "PACKAGE..."
-msgstr ""
+msgstr "ΠΑΚΕΤΟ..."
 
-#: ../yumcommands.py:203
+#: ../yumcommands.py:390
 msgid "Install a package or packages on your system"
 msgstr ""
 
-#: ../yumcommands.py:212
+#: ../yumcommands.py:421
 msgid "Setting up Install Process"
 msgstr ""
 
-#: ../yumcommands.py:223 ../yumcommands.py:245
+#: ../yumcommands.py:447 ../yumcommands.py:507
 msgid "[PACKAGE...]"
 msgstr ""
 
-#: ../yumcommands.py:226
+#: ../yumcommands.py:454
 msgid "Update a package or packages on your system"
 msgstr ""
 
-#: ../yumcommands.py:234
+#: ../yumcommands.py:483
 msgid "Setting up Update Process"
 msgstr ""
 
-#: ../yumcommands.py:248
+#: ../yumcommands.py:514
 msgid "Synchronize installed packages to the latest available versions"
 msgstr ""
 
-#: ../yumcommands.py:256
+#: ../yumcommands.py:543
 msgid "Setting up Distribution Synchronization Process"
 msgstr ""
 
-#: ../yumcommands.py:299
+#: ../yumcommands.py:603
 msgid "Display details about a package or group of packages"
 msgstr ""
 
-#: ../yumcommands.py:348
+#: ../yumcommands.py:672
 msgid "Installed Packages"
-msgstr ""
+msgstr "Εγκατεστημένα Πακέτα"
 
-#: ../yumcommands.py:356
+#: ../yumcommands.py:682
 msgid "Available Packages"
-msgstr ""
+msgstr "Διαθέσιμα Πακέτα"
 
-#: ../yumcommands.py:360
+#: ../yumcommands.py:687
 msgid "Extra Packages"
 msgstr ""
 
-#: ../yumcommands.py:364
+#: ../yumcommands.py:691
 msgid "Updated Packages"
-msgstr ""
+msgstr "Ενημερωμένα Πακέτα"
 
 #. This only happens in verbose mode
-#: ../yumcommands.py:372 ../yumcommands.py:379 ../yumcommands.py:667
+#: ../yumcommands.py:699 ../yumcommands.py:706 ../yumcommands.py:1539
 msgid "Obsoleting Packages"
 msgstr ""
 
-#: ../yumcommands.py:381
+#: ../yumcommands.py:708
 msgid "Recently Added Packages"
 msgstr ""
 
-#: ../yumcommands.py:388
+#: ../yumcommands.py:715
 msgid "No matching Packages to list"
 msgstr ""
 
-#: ../yumcommands.py:402
+#: ../yumcommands.py:766
 msgid "List a package or groups of packages"
 msgstr ""
 
-#: ../yumcommands.py:414
+#: ../yumcommands.py:797
 msgid "Remove a package or packages from your system"
 msgstr ""
 
-#: ../yumcommands.py:421
+#: ../yumcommands.py:845
 msgid "Setting up Remove Process"
 msgstr ""
 
-#: ../yumcommands.py:435
-msgid "Setting up Group Process"
+#: ../yumcommands.py:906
+msgid "Display, or use, the groups information"
 msgstr ""
 
-#: ../yumcommands.py:441
-msgid "No Groups on which to run command"
+#: ../yumcommands.py:909
+msgid "Setting up Group Process"
 msgstr ""
 
-#: ../yumcommands.py:454
-msgid "List available package groups"
+#: ../yumcommands.py:915
+msgid "No Groups on which to run command"
 msgstr ""
 
-#: ../yumcommands.py:474
-msgid "Install the packages in a group on your system"
+#: ../yumcommands.py:985
+#, python-format
+msgid "Invalid groups sub-command, use: %s."
 msgstr ""
 
-#: ../yumcommands.py:497
-msgid "Remove the packages in a group from your system"
+#: ../yumcommands.py:992
+msgid "There is no installed groups file."
 msgstr ""
 
-#: ../yumcommands.py:525
-msgid "Display details about a package group"
+#: ../yumcommands.py:994
+msgid "You don't have access to the groups DB."
 msgstr ""
 
-#: ../yumcommands.py:550
+#: ../yumcommands.py:1256
 msgid "Generate the metadata cache"
 msgstr ""
 
-#: ../yumcommands.py:556
+#: ../yumcommands.py:1282
 msgid "Making cache files for all metadata files."
 msgstr ""
 
-#: ../yumcommands.py:557
+#: ../yumcommands.py:1283
 msgid "This may take a while depending on the speed of this computer"
 msgstr ""
 
-#: ../yumcommands.py:578
+#: ../yumcommands.py:1312
 msgid "Metadata Cache Created"
 msgstr ""
 
-#: ../yumcommands.py:592
+#: ../yumcommands.py:1350
 msgid "Remove cached data"
 msgstr ""
 
-#: ../yumcommands.py:613
+#: ../yumcommands.py:1417
 msgid "Find what package provides the given value"
 msgstr ""
 
-#: ../yumcommands.py:633
+#: ../yumcommands.py:1485
 msgid "Check for available package updates"
 msgstr ""
 
-#: ../yumcommands.py:687
+#: ../yumcommands.py:1587
 msgid "Search package details for the given string"
 msgstr ""
 
-#: ../yumcommands.py:693
+#: ../yumcommands.py:1613
 msgid "Searching Packages: "
 msgstr ""
 
-#: ../yumcommands.py:710
+#: ../yumcommands.py:1666
 msgid "Update packages taking obsoletes into account"
 msgstr ""
 
-#: ../yumcommands.py:719
+#: ../yumcommands.py:1696
 msgid "Setting up Upgrade Process"
 msgstr ""
 
-#: ../yumcommands.py:737
+#: ../yumcommands.py:1731
 msgid "Install a local RPM"
 msgstr ""
 
-#: ../yumcommands.py:745
+#: ../yumcommands.py:1761
 msgid "Setting up Local Package Process"
 msgstr ""
 
-#: ../yumcommands.py:764
-msgid "Determine which package provides the given dependency"
-msgstr ""
-
-#: ../yumcommands.py:767
+#: ../yumcommands.py:1825
 msgid "Searching Packages for Dependency:"
 msgstr ""
 
-#: ../yumcommands.py:781
+#: ../yumcommands.py:1867
 msgid "Run an interactive yum shell"
 msgstr ""
 
-#: ../yumcommands.py:787
+#: ../yumcommands.py:1893
 msgid "Setting up Yum Shell"
 msgstr ""
 
-#: ../yumcommands.py:805
+#: ../yumcommands.py:1936
 msgid "List a package's dependencies"
 msgstr ""
 
-#: ../yumcommands.py:811
+#: ../yumcommands.py:1963
 msgid "Finding dependencies: "
 msgstr ""
 
-#: ../yumcommands.py:827
+#: ../yumcommands.py:2005
 msgid "Display the configured software repositories"
 msgstr ""
 
-#: ../yumcommands.py:893 ../yumcommands.py:894
+#: ../yumcommands.py:2094 ../yumcommands.py:2095
 msgid "enabled"
 msgstr ""
 
-#: ../yumcommands.py:920 ../yumcommands.py:921
+#: ../yumcommands.py:2121 ../yumcommands.py:2122
 msgid "disabled"
 msgstr ""
 
-#: ../yumcommands.py:937
+#: ../yumcommands.py:2137
 msgid "Repo-id      : "
 msgstr ""
 
-#: ../yumcommands.py:938
+#: ../yumcommands.py:2138
 msgid "Repo-name    : "
 msgstr ""
 
-#: ../yumcommands.py:941
+#: ../yumcommands.py:2141
 msgid "Repo-status  : "
 msgstr ""
 
-#: ../yumcommands.py:944
+#: ../yumcommands.py:2144
 msgid "Repo-revision: "
 msgstr ""
 
-#: ../yumcommands.py:948
+#: ../yumcommands.py:2148
 msgid "Repo-tags    : "
 msgstr ""
 
-#: ../yumcommands.py:954
+#: ../yumcommands.py:2154
 msgid "Repo-distro-tags: "
 msgstr ""
 
-#: ../yumcommands.py:959
+#: ../yumcommands.py:2159
 msgid "Repo-updated : "
 msgstr ""
 
-#: ../yumcommands.py:961
+#: ../yumcommands.py:2161
 msgid "Repo-pkgs    : "
 msgstr ""
 
-#: ../yumcommands.py:962
+#: ../yumcommands.py:2162
 msgid "Repo-size    : "
 msgstr ""
 
-#: ../yumcommands.py:969 ../yumcommands.py:990
+#: ../yumcommands.py:2169 ../yumcommands.py:2190
 msgid "Repo-baseurl : "
 msgstr ""
 
-#: ../yumcommands.py:977
+#: ../yumcommands.py:2177
 msgid "Repo-metalink: "
 msgstr ""
 
-#: ../yumcommands.py:981
+#: ../yumcommands.py:2181
 msgid "  Updated    : "
 msgstr ""
 
-#: ../yumcommands.py:984
+#: ../yumcommands.py:2184
 msgid "Repo-mirrors : "
 msgstr ""
 
-#: ../yumcommands.py:1000
+#: ../yumcommands.py:2199
 #, python-format
 msgid "Never (last: %s)"
 msgstr ""
 
-#: ../yumcommands.py:1002
+#: ../yumcommands.py:2201
 #, python-format
 msgid "Instant (last: %s)"
 msgstr ""
 
-#: ../yumcommands.py:1005
+#: ../yumcommands.py:2204
 #, python-format
 msgid "%s second(s) (last: %s)"
 msgstr ""
 
-#: ../yumcommands.py:1007
+#: ../yumcommands.py:2206
 msgid "Repo-expire  : "
 msgstr ""
 
-#: ../yumcommands.py:1010
+#: ../yumcommands.py:2209
 msgid "Repo-exclude : "
 msgstr ""
 
-#: ../yumcommands.py:1014
+#: ../yumcommands.py:2213
 msgid "Repo-include : "
 msgstr ""
 
-#: ../yumcommands.py:1018
+#: ../yumcommands.py:2217
 msgid "Repo-excluded: "
 msgstr ""
 
-#: ../yumcommands.py:1022
+#: ../yumcommands.py:2221
 msgid "Repo-filename: "
 msgstr ""
 
 #. Work out the first (id) and last (enabled/disalbed/count),
 #. then chop the middle (name)...
-#: ../yumcommands.py:1032 ../yumcommands.py:1061
+#: ../yumcommands.py:2230 ../yumcommands.py:2259
 msgid "repo id"
 msgstr ""
 
-#: ../yumcommands.py:1049 ../yumcommands.py:1050 ../yumcommands.py:1068
+#: ../yumcommands.py:2247 ../yumcommands.py:2248 ../yumcommands.py:2266
 msgid "status"
-msgstr ""
+msgstr "κατάσταση"
 
-#: ../yumcommands.py:1062
+#: ../yumcommands.py:2260
 msgid "repo name"
 msgstr ""
 
-#: ../yumcommands.py:1099
+#: ../yumcommands.py:2332
 msgid "Display a helpful usage message"
 msgstr ""
 
-#: ../yumcommands.py:1133
+#: ../yumcommands.py:2374
 #, python-format
 msgid "No help available for %s"
 msgstr ""
 
-#: ../yumcommands.py:1138
+#: ../yumcommands.py:2379
 msgid ""
 "\n"
 "\n"
 "aliases: "
 msgstr ""
 
-#: ../yumcommands.py:1140
+#: ../yumcommands.py:2381
 msgid ""
 "\n"
 "\n"
 "alias: "
 msgstr ""
 
-#: ../yumcommands.py:1168
+#: ../yumcommands.py:2466
 msgid "Setting up Reinstall Process"
 msgstr ""
 
-#: ../yumcommands.py:1176
+#: ../yumcommands.py:2478
 msgid "reinstall a package"
 msgstr ""
 
-#: ../yumcommands.py:1195
+#: ../yumcommands.py:2541
 msgid "Setting up Downgrade Process"
 msgstr ""
 
-#: ../yumcommands.py:1202
+#: ../yumcommands.py:2552
 msgid "downgrade a package"
 msgstr ""
 
-#: ../yumcommands.py:1216
+#: ../yumcommands.py:2591
 msgid "Display a version for the machine and/or available repos."
 msgstr ""
 
-#: ../yumcommands.py:1255
+#: ../yumcommands.py:2643
 msgid " Yum version groups:"
 msgstr ""
 
-#: ../yumcommands.py:1265
+#: ../yumcommands.py:2653
 msgid " Group   :"
-msgstr ""
+msgstr " Ομάδα   :"
 
-#: ../yumcommands.py:1266
+#: ../yumcommands.py:2654
 msgid " Packages:"
 msgstr ""
 
-#: ../yumcommands.py:1295
+#: ../yumcommands.py:2683
 msgid "Installed:"
 msgstr ""
 
-#: ../yumcommands.py:1303
+#: ../yumcommands.py:2691
 msgid "Group-Installed:"
 msgstr ""
 
-#: ../yumcommands.py:1312
+#: ../yumcommands.py:2700
 msgid "Available:"
 msgstr ""
 
-#: ../yumcommands.py:1321
+#: ../yumcommands.py:2709
 msgid "Group-Available:"
 msgstr ""
 
-#: ../yumcommands.py:1360
+#: ../yumcommands.py:2783
 msgid "Display, or use, the transaction history"
 msgstr ""
 
-#: ../yumcommands.py:1432
+#: ../yumcommands.py:2876 ../yumcommands.py:2880
+msgid "Transactions:"
+msgstr ""
+
+#: ../yumcommands.py:2881
+msgid "Begin time  :"
+msgstr ""
+
+#: ../yumcommands.py:2882
+msgid "End time    :"
+msgstr ""
+
+#: ../yumcommands.py:2883
+msgid "Counts      :"
+msgstr ""
+
+#: ../yumcommands.py:2884
+msgid "  NEVRAC :"
+msgstr ""
+
+#: ../yumcommands.py:2885
+msgid "  NEVRA  :"
+msgstr ""
+
+#: ../yumcommands.py:2886
+msgid "  NA     :"
+msgstr ""
+
+#: ../yumcommands.py:2887
+msgid "  NEVR   :"
+msgstr ""
+
+#: ../yumcommands.py:2888
+msgid "  rpm DB :"
+msgstr ""
+
+#: ../yumcommands.py:2889
+msgid "  yum DB :"
+msgstr ""
+
+#: ../yumcommands.py:2922
 #, python-format
 msgid "Invalid history sub-command, use: %s."
 msgstr ""
 
-#: ../yumcommands.py:1439
+#: ../yumcommands.py:2929
 msgid "You don't have access to the history DB."
 msgstr ""
 
-#: ../yumcommands.py:1487
+#: ../yumcommands.py:3036
 msgid "Check for problems in the rpmdb"
 msgstr ""
 
-#: ../yumcommands.py:1514
+#: ../yumcommands.py:3102
 msgid "load a saved transaction from filename"
 msgstr ""
 
-#: ../yumcommands.py:1518
+#: ../yumcommands.py:3119
 msgid "No saved transaction file specified."
 msgstr ""
 
-#: ../yumcommands.py:1522
+#: ../yumcommands.py:3123
 #, python-format
 msgid "loading transaction from %s"
 msgstr ""
 
-#: ../yumcommands.py:1528
+#: ../yumcommands.py:3129
 #, python-format
 msgid "Transaction loaded from %s with %s members"
 msgstr ""
 
+#: ../yumcommands.py:3169
+msgid "Simple way to swap packages, isntead of using shell"
+msgstr ""
+
+#: ../yumcommands.py:3264
+msgid ""
+"Treat a repo. as a group of packages, so we can install/remove all of them"
+msgstr ""
+
+#: ../yumcommands.py:3341
+#, python-format
+msgid "%d package to update"
+msgid_plural "%d packages to update"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../yumcommands.py:3370
+#, python-format
+msgid "%d package to remove/reinstall"
+msgid_plural "%d packages to remove/reinstall"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../yumcommands.py:3413
+#, python-format
+msgid "%d package to remove/sync"
+msgid_plural "%d packages to remove/sync"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../yumcommands.py:3417
+#, python-format
+msgid "Not a valid sub-command of %s"
+msgstr ""
+
 #. This is mainly for PackageSackError from rpmdb.
 #: ../yummain.py:84
 #, python-format
 msgid " Yum checks failed: %s"
 msgstr ""
 
-#: ../yummain.py:114
-msgid ""
-"Another app is currently holding the yum lock; waiting for it to exit..."
+#: ../yummain.py:98
+msgid "No read/execute access in current directory, moving to /"
 msgstr ""
 
-#: ../yummain.py:120
-msgid "Can't create lock file; exiting"
+#: ../yummain.py:106
+msgid "No getcwd() access in current directory, moving to /"
 msgstr ""
 
 #. Depsolve stage
-#: ../yummain.py:167
+#: ../yummain.py:164
 msgid "Resolving Dependencies"
 msgstr ""
 
-#: ../yummain.py:230
+#: ../yummain.py:227 ../yummain.py:235
 #, python-format
-msgid "Your transaction was saved, rerun it with: yum load-transaction %s"
+msgid ""
+"Your transaction was saved, rerun it with:\n"
+" yum load-transaction %s"
 msgstr ""
 
-#: ../yummain.py:288
+#: ../yummain.py:312
 msgid ""
 "\n"
 "\n"
 "Exiting on user cancel."
 msgstr ""
 
-#: ../yum/depsolve.py:84
+#: ../yum/depsolve.py:127
 msgid "doTsSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/depsolve.py:99
+#: ../yum/depsolve.py:143
 msgid "Setting up TransactionSets before config class is up"
 msgstr ""
 
-#: ../yum/depsolve.py:153
+#: ../yum/depsolve.py:200
 #, python-format
 msgid "Invalid tsflag in config file: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:164
+#: ../yum/depsolve.py:218
 #, python-format
 msgid "Searching pkgSack for dep: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:207
+#: ../yum/depsolve.py:269
 #, python-format
 msgid "Member: %s"
-msgstr ""
+msgstr "Μέλος: %s"
 
-#: ../yum/depsolve.py:221 ../yum/depsolve.py:793
+#: ../yum/depsolve.py:283 ../yum/depsolve.py:937
 #, python-format
 msgid "%s converted to install"
 msgstr ""
 
-#: ../yum/depsolve.py:233
+#: ../yum/depsolve.py:295
 #, python-format
 msgid "Adding Package %s in mode %s"
 msgstr ""
 
-#: ../yum/depsolve.py:249
+#: ../yum/depsolve.py:311
 #, python-format
 msgid "Removing Package %s"
 msgstr ""
 
-#: ../yum/depsolve.py:271
+#: ../yum/depsolve.py:333
 #, python-format
 msgid "%s requires: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:312
+#: ../yum/depsolve.py:374
 #, python-format
 msgid "%s requires %s"
 msgstr ""
 
-#: ../yum/depsolve.py:339
+#: ../yum/depsolve.py:401
 msgid "Needed Require has already been looked up, cheating"
 msgstr ""
 
-#: ../yum/depsolve.py:349
+#: ../yum/depsolve.py:411
 #, python-format
 msgid "Needed Require is not a package name. Looking up: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:357
+#: ../yum/depsolve.py:419
 #, python-format
 msgid "Potential Provider: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:380
+#: ../yum/depsolve.py:442
 #, python-format
 msgid "Mode is %s for provider of %s: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:384
+#: ../yum/depsolve.py:446
 #, python-format
 msgid "Mode for pkg providing %s: %s"
 msgstr ""
@@ -2046,991 +2318,1140 @@ msgstr ""
 #. the thing it needs is being updated or obsoleted away
 #. try to update the requiring package in hopes that all this problem goes
 #. away :(
-#: ../yum/depsolve.py:389 ../yum/depsolve.py:406
+#: ../yum/depsolve.py:451 ../yum/depsolve.py:486
 #, python-format
 msgid "Trying to update %s to resolve dep"
 msgstr ""
 
-#: ../yum/depsolve.py:400 ../yum/depsolve.py:410
+#: ../yum/depsolve.py:480
 #, python-format
 msgid "No update paths found for %s. Failure!"
 msgstr ""
 
-#: ../yum/depsolve.py:416
+#: ../yum/depsolve.py:491
+#, python-format
+msgid "No update paths found for %s. Failure due to requirement: %s!"
+msgstr ""
+
+#: ../yum/depsolve.py:507
+#, python-format
+msgid "Update for %s. Doesn't fix requirement: %s!"
+msgstr ""
+
+#: ../yum/depsolve.py:514
 #, python-format
 msgid "TSINFO: %s package requiring %s marked as erase"
 msgstr ""
 
-#: ../yum/depsolve.py:429
+#: ../yum/depsolve.py:527
 #, python-format
 msgid "TSINFO: Obsoleting %s with %s to resolve dep."
 msgstr ""
 
-#: ../yum/depsolve.py:432
+#: ../yum/depsolve.py:530
 #, python-format
 msgid "TSINFO: Updating %s to resolve dep."
 msgstr ""
 
-#: ../yum/depsolve.py:440
+#: ../yum/depsolve.py:538
 #, python-format
 msgid "Cannot find an update path for dep for: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:471
+#: ../yum/depsolve.py:569
 #, python-format
 msgid "Quick matched %s to require for %s"
 msgstr ""
 
 #. is it already installed?
-#: ../yum/depsolve.py:513
+#: ../yum/depsolve.py:611
 #, python-format
 msgid "%s is in providing packages but it is already installed, removing."
 msgstr ""
 
-#: ../yum/depsolve.py:529
+#: ../yum/depsolve.py:627
 #, python-format
 msgid "Potential resolving package %s has newer instance in ts."
 msgstr ""
 
-#: ../yum/depsolve.py:540
+#: ../yum/depsolve.py:638
 #, python-format
 msgid "Potential resolving package %s has newer instance installed."
 msgstr ""
 
-#: ../yum/depsolve.py:558
+#: ../yum/depsolve.py:656
 #, python-format
 msgid "%s already in ts, skipping this one"
 msgstr ""
 
-#: ../yum/depsolve.py:607
+#: ../yum/depsolve.py:705
 #, python-format
 msgid "TSINFO: Marking %s as update for %s"
 msgstr ""
 
-#: ../yum/depsolve.py:616
+#: ../yum/depsolve.py:714
 #, python-format
 msgid "TSINFO: Marking %s as install for %s"
 msgstr ""
 
-#: ../yum/depsolve.py:727 ../yum/depsolve.py:819
+#: ../yum/depsolve.py:849 ../yum/depsolve.py:967
 msgid "Success - empty transaction"
 msgstr ""
 
-#: ../yum/depsolve.py:767 ../yum/depsolve.py:783
+#: ../yum/depsolve.py:889 ../yum/depsolve.py:927
 msgid "Restarting Loop"
 msgstr ""
 
-#: ../yum/depsolve.py:799
+#: ../yum/depsolve.py:947
 msgid "Dependency Process ending"
 msgstr ""
 
-#: ../yum/depsolve.py:821
+#: ../yum/depsolve.py:969
 msgid "Success - deps resolved"
 msgstr ""
 
-#: ../yum/depsolve.py:845
+#: ../yum/depsolve.py:993
 #, python-format
 msgid "Checking deps for %s"
 msgstr ""
 
-#: ../yum/depsolve.py:931
+#: ../yum/depsolve.py:1082
 #, python-format
 msgid "looking for %s as a requirement of %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1169
+#: ../yum/depsolve.py:1349
 #, python-format
 msgid "Running compare_providers() for %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1196 ../yum/depsolve.py:1202
+#: ../yum/depsolve.py:1376 ../yum/depsolve.py:1382
 #, python-format
 msgid "better arch in po %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1298
+#: ../yum/depsolve.py:1496
 #, python-format
 msgid "%s obsoletes %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1310
+#: ../yum/depsolve.py:1508
 #, python-format
 msgid ""
 "archdist compared %s to %s on %s\n"
 "  Winner: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1318
+#: ../yum/depsolve.py:1516
 #, python-format
 msgid "common sourcerpm %s and %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1322
+#: ../yum/depsolve.py:1520
 #, python-format
 msgid "base package %s is installed for %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1328
+#: ../yum/depsolve.py:1526
 #, python-format
 msgid "common prefix of %s between %s and %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1359
+#: ../yum/depsolve.py:1543
 #, python-format
-msgid "requires minimal: %d"
+msgid "provides vercmp: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1363
+#: ../yum/depsolve.py:1547 ../yum/depsolve.py:1581
 #, python-format
 msgid " Winner: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1368
+#: ../yum/depsolve.py:1577
+#, python-format
+msgid "requires minimal: %d"
+msgstr ""
+
+#: ../yum/depsolve.py:1586
 #, python-format
 msgid " Loser(with %d): %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1384
+#: ../yum/depsolve.py:1602
 #, python-format
 msgid "Best Order: %s"
 msgstr ""
 
-#: ../yum/__init__.py:234
+#: ../yum/__init__.py:274
 msgid "doConfigSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/__init__.py:482
+#: ../yum/__init__.py:553
+#, python-format
+msgid "Skipping unreadable repository %s"
+msgstr ""
+
+#: ../yum/__init__.py:572
 #, python-format
 msgid "Repository %r: Error parsing config: %s"
 msgstr ""
 
-#: ../yum/__init__.py:488
+#: ../yum/__init__.py:578
 #, python-format
 msgid "Repository %r is missing name in configuration, using id"
 msgstr ""
 
-#: ../yum/__init__.py:526
+#: ../yum/__init__.py:618
 msgid "plugins already initialised"
 msgstr ""
 
-#: ../yum/__init__.py:533
+#: ../yum/__init__.py:627
 msgid "doRpmDBSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/__init__.py:544
+#: ../yum/__init__.py:638
 msgid "Reading Local RPMDB"
 msgstr ""
 
-#: ../yum/__init__.py:567
+#: ../yum/__init__.py:668
 msgid "doRepoSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/__init__.py:630
+#: ../yum/__init__.py:722
 msgid "doSackSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/__init__.py:660
+#: ../yum/__init__.py:752
 msgid "Setting up Package Sacks"
 msgstr ""
 
-#: ../yum/__init__.py:705
+#: ../yum/__init__.py:797
 #, python-format
 msgid "repo object for repo %s lacks a _resetSack method\n"
 msgstr ""
 
-#: ../yum/__init__.py:706
+#: ../yum/__init__.py:798
 msgid "therefore this repo cannot be reset.\n"
 msgstr ""
 
-#: ../yum/__init__.py:711
+#: ../yum/__init__.py:806
 msgid "doUpdateSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/__init__.py:723
+#: ../yum/__init__.py:818
 msgid "Building updates object"
 msgstr ""
 
-#: ../yum/__init__.py:765
+#: ../yum/__init__.py:862
 msgid "doGroupSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/__init__.py:790
+#: ../yum/__init__.py:887
 msgid "Getting group metadata"
 msgstr ""
 
-#: ../yum/__init__.py:816
+#: ../yum/__init__.py:915
 #, python-format
 msgid "Adding group file from repository: %s"
 msgstr ""
 
-#: ../yum/__init__.py:827
+#: ../yum/__init__.py:918
+#, python-format
+msgid "Failed to retrieve group file for repository: %s"
+msgstr ""
+
+#: ../yum/__init__.py:924
 #, python-format
 msgid "Failed to add groups file for repository: %s - %s"
 msgstr ""
 
-#: ../yum/__init__.py:833
+#: ../yum/__init__.py:930
 msgid "No Groups Available in any repository"
 msgstr ""
 
-#: ../yum/__init__.py:845
+#: ../yum/__init__.py:945
 msgid "Getting pkgtags metadata"
 msgstr ""
 
-#: ../yum/__init__.py:855
+#: ../yum/__init__.py:955
 #, python-format
 msgid "Adding tags from repository: %s"
 msgstr ""
 
-#: ../yum/__init__.py:866
+#: ../yum/__init__.py:966
 #, python-format
 msgid "Failed to add Pkg Tags for repository: %s - %s"
 msgstr ""
 
-#: ../yum/__init__.py:944
+#: ../yum/__init__.py:1059
 msgid "Importing additional filelist information"
 msgstr ""
 
-#: ../yum/__init__.py:958
+#: ../yum/__init__.py:1077
 #, python-format
 msgid "The program %s%s%s is found in the yum-utils package."
 msgstr ""
 
-#: ../yum/__init__.py:966
+#: ../yum/__init__.py:1094
 msgid ""
 "There are unfinished transactions remaining. You might consider running yum-"
 "complete-transaction first to finish them."
 msgstr ""
 
-#: ../yum/__init__.py:983
+#: ../yum/__init__.py:1111
 msgid "--> Finding unneeded leftover dependencies"
 msgstr ""
 
-#: ../yum/__init__.py:1041
+#: ../yum/__init__.py:1169
 #, python-format
 msgid "Protected multilib versions: %s != %s"
 msgstr ""
 
-#: ../yum/__init__.py:1096
+#. People are confused about protected mutilib ... so give
+#. them a nicer message.
+#: ../yum/__init__.py:1173
+#, python-format
+msgid ""
+" Multilib version problems found. This often means that the root\n"
+"cause is something else and multilib version checking is just\n"
+"pointing out that there is a problem. Eg.:\n"
+"\n"
+"  1. You have an upgrade for %(name)s which is missing some\n"
+"     dependency that another package requires. Yum is trying to\n"
+"     solve this by installing an older version of %(name)s of the\n"
+"     different architecture. If you exclude the bad architecture\n"
+"     yum will tell you what the root cause is (which package\n"
+"     requires what). You can try redoing the upgrade with\n"
+"     --exclude %(name)s.otherarch ... this should give you an error\n"
+"     message showing the root cause of the problem.\n"
+"\n"
+"  2. You have multiple architectures of %(name)s installed, but\n"
+"     yum can only see an upgrade for one of those arcitectures.\n"
+"     If you don't want/need both architectures anymore then you\n"
+"     can remove the one with the missing update and everything\n"
+"     will work.\n"
+"\n"
+"  3. You have duplicate versions of %(name)s installed already.\n"
+"     You can use \"yum check\" to get yum show these errors.\n"
+"\n"
+"...you can also use --setopt=protected_multilib=false to remove\n"
+"this checking, however this is almost never the correct thing to\n"
+"do as something else is very likely to go wrong (often causing\n"
+"much more problems).\n"
+"\n"
+msgstr ""
+
+#: ../yum/__init__.py:1257
 #, python-format
 msgid "Trying to remove \"%s\", which is protected"
 msgstr ""
 
-#: ../yum/__init__.py:1217
+#: ../yum/__init__.py:1378
 msgid ""
 "\n"
 "Packages skipped because of dependency problems:"
 msgstr ""
 
-#: ../yum/__init__.py:1221
+#: ../yum/__init__.py:1382
 #, python-format
 msgid "    %s from %s"
 msgstr ""
 
 #. FIXME: _N()
-#: ../yum/__init__.py:1391
+#: ../yum/__init__.py:1556
 #, python-format
 msgid "** Found %d pre-existing rpmdb problem(s), 'yum check' output follows:"
 msgstr ""
 
-#: ../yum/__init__.py:1395
+#: ../yum/__init__.py:1560
 msgid "Warning: RPMDB altered outside of yum."
 msgstr ""
 
-#: ../yum/__init__.py:1407
+#: ../yum/__init__.py:1572
 msgid "missing requires"
 msgstr ""
 
-#: ../yum/__init__.py:1408
+#: ../yum/__init__.py:1573
 msgid "installed conflict"
 msgstr ""
 
-#: ../yum/__init__.py:1525
+#: ../yum/__init__.py:1709
 msgid ""
 "Warning: scriptlet or other non-fatal errors occurred during transaction."
 msgstr ""
 
-#: ../yum/__init__.py:1535
+#: ../yum/__init__.py:1719
 msgid "Transaction couldn't start:"
 msgstr ""
 
 #. should this be 'to_unicoded'?
-#: ../yum/__init__.py:1538
+#: ../yum/__init__.py:1722
 msgid "Could not run transaction."
 msgstr ""
 
-#: ../yum/__init__.py:1552
+#: ../yum/__init__.py:1736
 #, python-format
 msgid "Failed to remove transaction file %s"
 msgstr ""
 
 #. maybe a file log here, too
 #. but raising an exception is not going to do any good
-#: ../yum/__init__.py:1590
+#: ../yum/__init__.py:1792
 #, python-format
 msgid "%s was supposed to be installed but is not!"
 msgstr ""
 
 #. maybe a file log here, too
 #. but raising an exception is not going to do any good
-#: ../yum/__init__.py:1651
+#. Note: This actually triggers atm. because we can't
+#. always find the erased txmbr to set it when
+#. we should.
+#: ../yum/__init__.py:1869
 #, python-format
 msgid "%s was supposed to be removed but is not!"
 msgstr ""
 
-#: ../yum/__init__.py:1768
+#. Another copy seems to be running.
+#: ../yum/__init__.py:2004
 #, python-format
-msgid "Could not open lock %s: %s"
+msgid "Existing lock %s: another copy is running as pid %s."
 msgstr ""
 
 #. Whoa. What the heck happened?
-#: ../yum/__init__.py:1785
+#: ../yum/__init__.py:2053
 #, python-format
-msgid "Unable to check if PID %s is active"
+msgid "Could not create lock at %s: %s "
 msgstr ""
 
-#. Another copy seems to be running.
-#: ../yum/__init__.py:1789
+#: ../yum/__init__.py:2065
 #, python-format
-msgid "Existing lock %s: another copy is running as pid %s."
+msgid "Could not open lock %s: %s"
 msgstr ""
 
+#. The pid doesn't exist
 #. Whoa. What the heck happened?
-#: ../yum/__init__.py:1830
+#: ../yum/__init__.py:2082
 #, python-format
-msgid "Could not create lock at %s: %s "
+msgid "Unable to check if PID %s is active"
 msgstr ""
 
-#: ../yum/__init__.py:1875
+#: ../yum/__init__.py:2132
 #, python-format
 msgid ""
 "Package does not match intended download. Suggestion: run yum "
 "--enablerepo=%s clean metadata"
 msgstr ""
 
-#: ../yum/__init__.py:1891
+#: ../yum/__init__.py:2155
 msgid "Could not perform checksum"
 msgstr ""
 
-#: ../yum/__init__.py:1894
+#: ../yum/__init__.py:2158
 msgid "Package does not match checksum"
 msgstr ""
 
-#: ../yum/__init__.py:1946
+#: ../yum/__init__.py:2222
 #, python-format
 msgid "package fails checksum but caching is enabled for %s"
 msgstr ""
 
-#: ../yum/__init__.py:1949 ../yum/__init__.py:1979
+#: ../yum/__init__.py:2225 ../yum/__init__.py:2268
 #, python-format
 msgid "using local copy of %s"
 msgstr ""
 
-#: ../yum/__init__.py:1991
-#, python-format
-msgid ""
-"Insufficient space in download directory %s\n"
-"    * free   %s\n"
-"    * needed %s"
+#. caller handles errors
+#: ../yum/__init__.py:2342
+msgid "exiting because --downloadonly specified"
 msgstr ""
 
-#: ../yum/__init__.py:2052
+#: ../yum/__init__.py:2371
 msgid "Header is not complete."
 msgstr ""
 
-#: ../yum/__init__.py:2089
+#: ../yum/__init__.py:2411
 #, python-format
 msgid ""
 "Header not in local cache and caching-only mode enabled. Cannot download %s"
 msgstr ""
 
-#: ../yum/__init__.py:2147
+#: ../yum/__init__.py:2471
 #, python-format
 msgid "Public key for %s is not installed"
 msgstr ""
 
-#: ../yum/__init__.py:2151
+#: ../yum/__init__.py:2475
 #, python-format
 msgid "Problem opening package %s"
 msgstr ""
 
-#: ../yum/__init__.py:2159
+#: ../yum/__init__.py:2483
 #, python-format
 msgid "Public key for %s is not trusted"
 msgstr ""
 
-#: ../yum/__init__.py:2163
+#: ../yum/__init__.py:2487
 #, python-format
 msgid "Package %s is not signed"
 msgstr ""
 
-#: ../yum/__init__.py:2202
+#: ../yum/__init__.py:2529
 #, python-format
 msgid "Cannot remove %s"
 msgstr ""
 
-#: ../yum/__init__.py:2206
+#: ../yum/__init__.py:2533
 #, python-format
 msgid "%s removed"
 msgstr ""
 
-#: ../yum/__init__.py:2252
+#: ../yum/__init__.py:2594
 #, python-format
 msgid "Cannot remove %s file %s"
 msgstr ""
 
-#: ../yum/__init__.py:2256
+#: ../yum/__init__.py:2598
 #, python-format
 msgid "%s file %s removed"
 msgstr ""
 
-#: ../yum/__init__.py:2258
+#: ../yum/__init__.py:2600
 #, python-format
-msgid "%d %s files removed"
-msgstr ""
+msgid "%d %s file removed"
+msgid_plural "%d %s files removed"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../yum/__init__.py:2327
+#: ../yum/__init__.py:2712
 #, python-format
 msgid "More than one identical match in sack for %s"
 msgstr ""
 
-#: ../yum/__init__.py:2333
+#: ../yum/__init__.py:2718
 #, python-format
 msgid "Nothing matches %s.%s %s:%s-%s from update"
 msgstr ""
 
-#: ../yum/__init__.py:2632
+#: ../yum/__init__.py:3096
 msgid ""
 "searchPackages() will go away in a future version of Yum."
 "                      Use searchGenerator() instead. \n"
 msgstr ""
 
-#: ../yum/__init__.py:2675
+#: ../yum/__init__.py:3149
 #, python-format
-msgid "Searching %d packages"
-msgstr ""
+msgid "Searching %d package"
+msgid_plural "Searching %d packages"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../yum/__init__.py:2679
+#: ../yum/__init__.py:3153
 #, python-format
 msgid "searching package %s"
 msgstr ""
 
-#: ../yum/__init__.py:2691
+#: ../yum/__init__.py:3165
 msgid "searching in file entries"
 msgstr ""
 
-#: ../yum/__init__.py:2698
+#: ../yum/__init__.py:3172
 msgid "searching in provides entries"
 msgstr ""
 
-#: ../yum/__init__.py:2777
+#: ../yum/__init__.py:3369
 msgid "No group data available for configured repositories"
 msgstr ""
 
-#: ../yum/__init__.py:2808 ../yum/__init__.py:2827 ../yum/__init__.py:2858
-#: ../yum/__init__.py:2864 ../yum/__init__.py:2953 ../yum/__init__.py:2957
-#: ../yum/__init__.py:3339
+#: ../yum/__init__.py:3466 ../yum/__init__.py:3500 ../yum/__init__.py:3576
+#: ../yum/__init__.py:3582 ../yum/__init__.py:3719 ../yum/__init__.py:3723
+#: ../yum/__init__.py:4298
 #, python-format
 msgid "No Group named %s exists"
 msgstr ""
 
-#: ../yum/__init__.py:2839 ../yum/__init__.py:2973
+#: ../yum/__init__.py:3512 ../yum/__init__.py:3740
 #, python-format
 msgid "package %s was not marked in group %s"
 msgstr ""
 
-#: ../yum/__init__.py:2887
+#. (upgrade and igroup_data[pkg] == 'available')):
+#: ../yum/__init__.py:3622
+#, python-format
+msgid "Skipping package %s from group %s"
+msgstr ""
+
+#: ../yum/__init__.py:3628
 #, python-format
 msgid "Adding package %s from group %s"
 msgstr ""
 
-#: ../yum/__init__.py:2891
+#: ../yum/__init__.py:3649
 #, python-format
 msgid "No package named %s available to be installed"
 msgstr ""
 
-#: ../yum/__init__.py:2941
+#: ../yum/__init__.py:3702
 #, python-format
-msgid "Warning: Group %s does not have any packages."
+msgid "Warning: Group %s does not have any packages to install."
 msgstr ""
 
-#: ../yum/__init__.py:2943
+#: ../yum/__init__.py:3704
 #, python-format
 msgid "Group %s does have %u conditional packages, which may get installed."
 msgstr ""
 
+#: ../yum/__init__.py:3794
+#, python-format
+msgid "Skipping group %s from environment %s"
+msgstr ""
+
 #. This can happen due to excludes after .up has
 #. happened.
-#: ../yum/__init__.py:3002
+#: ../yum/__init__.py:3858
 #, python-format
 msgid "Package tuple %s could not be found in packagesack"
 msgstr ""
 
-#: ../yum/__init__.py:3022
+#: ../yum/__init__.py:3886
 #, python-format
 msgid "Package tuple %s could not be found in rpmdb"
 msgstr ""
 
-#: ../yum/__init__.py:3079 ../yum/__init__.py:3129
+#: ../yum/__init__.py:3949 ../yum/__init__.py:4012
 #, python-format
 msgid "Invalid version flag from: %s"
 msgstr ""
 
-#: ../yum/__init__.py:3096 ../yum/__init__.py:3101
+#: ../yum/__init__.py:3973 ../yum/__init__.py:3979 ../yum/__init__.py:4036
+#: ../yum/__init__.py:4042
 #, python-format
 msgid "No Package found for %s"
 msgstr ""
 
-#: ../yum/__init__.py:3401
+#: ../yum/__init__.py:4245 ../yum/__init__.py:4274
+#, python-format
+msgid "Warning: Environment Group %s does not exist."
+msgstr ""
+
+#: ../yum/__init__.py:4397
+#, python-format
+msgid "Package: %s - can't co-install with %s"
+msgstr ""
+
+#: ../yum/__init__.py:4437
 msgid "Package Object was not a package object instance"
 msgstr ""
 
-#: ../yum/__init__.py:3405
+#: ../yum/__init__.py:4441
 msgid "Nothing specified to install"
 msgstr ""
 
-#: ../yum/__init__.py:3424 ../yum/__init__.py:4283
+#: ../yum/__init__.py:4465 ../yum/__init__.py:5410
 #, python-format
 msgid "Checking for virtual provide or file-provide for %s"
 msgstr ""
 
-#: ../yum/__init__.py:3430 ../yum/__init__.py:3775 ../yum/__init__.py:3969
-#: ../yum/__init__.py:4289
-#, python-format
-msgid "No Match for argument: %s"
-msgstr ""
-
-#: ../yum/__init__.py:3507
+#: ../yum/__init__.py:4542
 #, python-format
 msgid "Package %s installed and not available"
 msgstr ""
 
-#: ../yum/__init__.py:3510
+#: ../yum/__init__.py:4545
 msgid "No package(s) available to install"
 msgstr ""
 
-#: ../yum/__init__.py:3522
+#: ../yum/__init__.py:4557
 #, python-format
 msgid "Package: %s  - already in transaction set"
 msgstr ""
 
-#: ../yum/__init__.py:3550
+#: ../yum/__init__.py:4589
 #, python-format
 msgid "Package %s is obsoleted by %s which is already installed"
 msgstr ""
 
-#: ../yum/__init__.py:3555
+#: ../yum/__init__.py:4594
 #, python-format
 msgid ""
 "Package %s is obsoleted by %s, but obsoleting package does not provide for "
 "requirements"
 msgstr ""
 
-#: ../yum/__init__.py:3558
+#: ../yum/__init__.py:4597
 #, python-format
 msgid "Package %s is obsoleted by %s, trying to install %s instead"
 msgstr ""
 
-#: ../yum/__init__.py:3566
+#: ../yum/__init__.py:4605
 #, python-format
 msgid "Package %s already installed and latest version"
 msgstr ""
 
-#: ../yum/__init__.py:3580
+#: ../yum/__init__.py:4619
 #, python-format
 msgid "Package matching %s already installed. Checking for update."
 msgstr ""
 
 #. update everything (the easy case)
-#: ../yum/__init__.py:3684
+#: ../yum/__init__.py:4751
 msgid "Updating Everything"
 msgstr ""
 
-#: ../yum/__init__.py:3708 ../yum/__init__.py:3849 ../yum/__init__.py:3879
-#: ../yum/__init__.py:3915
+#: ../yum/__init__.py:4775 ../yum/__init__.py:4930 ../yum/__init__.py:4975
+#: ../yum/__init__.py:5011
 #, python-format
 msgid "Not Updating Package that is already obsoleted: %s.%s %s:%s-%s"
 msgstr ""
 
-#: ../yum/__init__.py:3753 ../yum/__init__.py:3965
+#: ../yum/__init__.py:4830 ../yum/__init__.py:5072
 #, python-format
 msgid "%s"
 msgstr ""
 
-#: ../yum/__init__.py:3838
+#: ../yum/__init__.py:4854 ../yum/__init__.py:5080 ../yum/__init__.py:5416
+#, python-format
+msgid "No Match for argument: %s"
+msgstr ""
+
+#: ../yum/__init__.py:4872
+#, python-format
+msgid "No package matched to upgrade: %s"
+msgstr ""
+
+#: ../yum/__init__.py:4919
 #, python-format
 msgid "Package is already obsoleted: %s.%s %s:%s-%s"
 msgstr ""
 
-#: ../yum/__init__.py:3874
+#: ../yum/__init__.py:4970
 #, python-format
 msgid "Not Updating Package that is obsoleted: %s"
 msgstr ""
 
-#: ../yum/__init__.py:3883 ../yum/__init__.py:3919
+#: ../yum/__init__.py:4979 ../yum/__init__.py:5015
 #, python-format
 msgid "Not Updating Package that is already updated: %s.%s %s:%s-%s"
 msgstr ""
 
-#: ../yum/__init__.py:3982
-msgid "No package matched to remove"
+#: ../yum/__init__.py:5093
+#, python-format
+msgid "No package matched to remove: %s"
 msgstr ""
 
-#: ../yum/__init__.py:3988
+#: ../yum/__init__.py:5099
 #, python-format
 msgid "Skipping the running kernel: %s"
 msgstr ""
 
-#: ../yum/__init__.py:3994
+#: ../yum/__init__.py:5105
 #, python-format
 msgid "Removing %s from the transaction"
 msgstr ""
 
-#: ../yum/__init__.py:4029
+#: ../yum/__init__.py:5142
 #, python-format
 msgid "Cannot open: %s. Skipping."
 msgstr ""
 
-#: ../yum/__init__.py:4032 ../yum/__init__.py:4150 ../yum/__init__.py:4226
+#: ../yum/__init__.py:5145 ../yum/__init__.py:5262 ../yum/__init__.py:5347
 #, python-format
 msgid "Examining %s: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4036
+#: ../yum/__init__.py:5149
 #, python-format
 msgid "Cannot localinstall deltarpm: %s. Skipping."
 msgstr ""
 
-#: ../yum/__init__.py:4045 ../yum/__init__.py:4153 ../yum/__init__.py:4229
+#: ../yum/__init__.py:5158 ../yum/__init__.py:5265 ../yum/__init__.py:5350
 #, python-format
 msgid ""
 "Cannot add package %s to transaction. Not a compatible architecture: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4051
+#: ../yum/__init__.py:5164
 #, python-format
 msgid "Cannot install package %s. It is obsoleted by installed package %s"
 msgstr ""
 
-#: ../yum/__init__.py:4059
+#: ../yum/__init__.py:5172
 #, python-format
 msgid ""
 "Package %s not installed, cannot update it. Run yum install to install it "
 "instead."
 msgstr ""
 
-#: ../yum/__init__.py:4078 ../yum/__init__.py:4085
+#: ../yum/__init__.py:5191 ../yum/__init__.py:5198
 #, python-format
 msgid ""
 "Package %s.%s not installed, cannot update it. Run yum install to install it"
 " instead."
 msgstr ""
 
-#: ../yum/__init__.py:4094 ../yum/__init__.py:4158 ../yum/__init__.py:4234
+#: ../yum/__init__.py:5207 ../yum/__init__.py:5270 ../yum/__init__.py:5355
 #, python-format
 msgid "Excluding %s"
 msgstr ""
 
-#: ../yum/__init__.py:4099
+#: ../yum/__init__.py:5212
 #, python-format
 msgid "Marking %s to be installed"
 msgstr ""
 
-#: ../yum/__init__.py:4105
+#: ../yum/__init__.py:5218
 #, python-format
 msgid "Marking %s as an update to %s"
 msgstr ""
 
-#: ../yum/__init__.py:4112
+#: ../yum/__init__.py:5225
 #, python-format
 msgid "%s: does not update installed package."
 msgstr ""
 
-#: ../yum/__init__.py:4147 ../yum/__init__.py:4223
+#: ../yum/__init__.py:5259 ../yum/__init__.py:5344
 #, python-format
 msgid "Cannot open file: %s. Skipping."
 msgstr ""
 
-#: ../yum/__init__.py:4177
+#: ../yum/__init__.py:5299
 msgid "Problem in reinstall: no package matched to remove"
 msgstr ""
 
-#: ../yum/__init__.py:4203
+#: ../yum/__init__.py:5325
 #, python-format
 msgid "Problem in reinstall: no package %s matched to install"
 msgstr ""
 
-#: ../yum/__init__.py:4311
+#: ../yum/__init__.py:5438
 msgid "No package(s) available to downgrade"
 msgstr ""
 
-#: ../yum/__init__.py:4319
+#: ../yum/__init__.py:5446
 #, python-format
 msgid "Package %s is allowed multiple installs, skipping"
 msgstr ""
 
-#: ../yum/__init__.py:4365
+#: ../yum/__init__.py:5496
 #, python-format
 msgid "No Match for available package: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4372
+#: ../yum/__init__.py:5506
 #, python-format
 msgid "Only Upgrade available on package: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4442 ../yum/__init__.py:4479
+#: ../yum/__init__.py:5619 ../yum/__init__.py:5686
 #, python-format
 msgid "Failed to downgrade: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4516
+#: ../yum/__init__.py:5636 ../yum/__init__.py:5692
+#, python-format
+msgid "Failed to upgrade: %s"
+msgstr ""
+
+#: ../yum/__init__.py:5725
 #, python-format
 msgid "Retrieving key from %s"
 msgstr ""
 
-#: ../yum/__init__.py:4534
+#: ../yum/__init__.py:5743
 msgid "GPG key retrieval failed: "
 msgstr ""
 
 #. if we decide we want to check, even though the sig failed
 #. here is where we would do that
-#: ../yum/__init__.py:4557
+#: ../yum/__init__.py:5766
 #, python-format
 msgid "GPG key signature on key %s does not match CA Key for repo: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4559
+#: ../yum/__init__.py:5768
 msgid "GPG key signature verified against CA Key(s)"
 msgstr ""
 
-#: ../yum/__init__.py:4567
+#: ../yum/__init__.py:5776
 #, python-format
 msgid "Invalid GPG Key from %s: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4576
+#: ../yum/__init__.py:5785
 #, python-format
 msgid "GPG key parsing failed: key does not have value %s"
 msgstr ""
 
-#: ../yum/__init__.py:4592
+#: ../yum/__init__.py:5801
 #, python-format
 msgid ""
 "Importing %s key 0x%s:\n"
-" Userid : %s\n"
-" Package: %s (%s)\n"
-" From   : %s"
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" Package    : %s (%s)\n"
+" From       : %s"
 msgstr ""
 
-#: ../yum/__init__.py:4600
+#: ../yum/__init__.py:5811
 #, python-format
 msgid ""
 "Importing %s key 0x%s:\n"
-" Userid: \"%s\"\n"
-" From  : %s"
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" From       : %s"
 msgstr ""
 
-#: ../yum/__init__.py:4634
+#: ../yum/__init__.py:5839
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" Failing package is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr ""
+
+#: ../yum/__init__.py:5853
 #, python-format
 msgid "GPG key at %s (0x%s) is already installed"
 msgstr ""
 
-#: ../yum/__init__.py:4671
+#: ../yum/__init__.py:5891
 #, python-format
 msgid "Key import failed (code %d)"
 msgstr ""
 
-#: ../yum/__init__.py:4672 ../yum/__init__.py:4755
+#: ../yum/__init__.py:5893 ../yum/__init__.py:5994
 msgid "Key imported successfully"
 msgstr ""
 
-#: ../yum/__init__.py:4676
+#: ../yum/__init__.py:5897
 msgid "Didn't install any keys"
 msgstr ""
 
-#: ../yum/__init__.py:4680
+#: ../yum/__init__.py:5900
 #, python-format
 msgid ""
 "The GPG keys listed for the \"%s\" repository are already installed but they are not correct for this package.\n"
 "Check that the correct key URLs are configured for this repository."
 msgstr ""
 
-#: ../yum/__init__.py:4689
+#: ../yum/__init__.py:5910
 msgid "Import of key(s) didn't help, wrong key(s)?"
 msgstr ""
 
-#: ../yum/__init__.py:4713
+#: ../yum/__init__.py:5932
+msgid "No"
+msgstr ""
+
+#: ../yum/__init__.py:5934
+msgid "Yes"
+msgstr ""
+
+#: ../yum/__init__.py:5935
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" CA Key: %s\n"
+" Failing repo is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr ""
+
+#: ../yum/__init__.py:5948
 #, python-format
 msgid "GPG key at %s (0x%s) is already imported"
 msgstr ""
 
-#: ../yum/__init__.py:4754
-msgid "Key import failed"
+#: ../yum/__init__.py:5992
+#, python-format
+msgid "Key %s import failed"
 msgstr ""
 
-#: ../yum/__init__.py:4770
+#: ../yum/__init__.py:6009
 #, python-format
 msgid "Didn't install any keys for repo %s"
 msgstr ""
 
-#: ../yum/__init__.py:4774
+#: ../yum/__init__.py:6014
 #, python-format
 msgid ""
 "The GPG keys listed for the \"%s\" repository are already installed but they are not correct.\n"
 "Check that the correct key URLs are configured for this repository."
 msgstr ""
 
-#: ../yum/__init__.py:4924
+#: ../yum/__init__.py:6172
 msgid "Unable to find a suitable mirror."
 msgstr ""
 
-#: ../yum/__init__.py:4926
+#: ../yum/__init__.py:6174
 msgid "Errors were encountered while downloading packages."
 msgstr ""
 
-#: ../yum/__init__.py:4981
+#: ../yum/__init__.py:6229
 #, python-format
 msgid "Please report this error at %s"
 msgstr ""
 
-#: ../yum/__init__.py:4998
+#: ../yum/__init__.py:6246
 msgid "Test Transaction Errors: "
 msgstr ""
 
-#: ../yum/__init__.py:5098
+#: ../yum/__init__.py:6358
 #, python-format
 msgid "Could not set cachedir: %s"
 msgstr ""
 
-#: ../yum/__init__.py:5148 ../yum/__init__.py:5150
+#: ../yum/__init__.py:6420 ../yum/__init__.py:6422
 msgid "Dependencies not solved. Will not save unresolved transaction."
 msgstr ""
 
-#: ../yum/__init__.py:5179 ../yum/__init__.py:5181
+#: ../yum/__init__.py:6455 ../yum/__init__.py:6457
 #, python-format
 msgid "Could not save transaction file %s: %s"
 msgstr ""
 
-#: ../yum/__init__.py:5195
+#: ../yum/__init__.py:6483
 #, python-format
 msgid "Could not access/read saved transaction %s : %s"
 msgstr ""
 
-#: ../yum/__init__.py:5214
-msgid "rpmdb ver mismatched saved transaction version, "
-msgstr ""
-
-#: ../yum/__init__.py:5216
-msgid " ignoring, as requested."
-msgstr ""
-
-#: ../yum/__init__.py:5219 ../yum/__init__.py:5354
-msgid " aborting."
+#: ../yum/__init__.py:6521
+msgid "rpmdb ver mismatched saved transaction version,"
 msgstr ""
 
-#: ../yum/__init__.py:5228
+#: ../yum/__init__.py:6535
 msgid "cannot find tsflags or tsflags not integer."
 msgstr ""
 
-#: ../yum/__init__.py:5267
+#: ../yum/__init__.py:6584
 #, python-format
 msgid "Found txmbr in unknown current state: %s"
 msgstr ""
 
-#: ../yum/__init__.py:5271
+#: ../yum/__init__.py:6588
 #, python-format
 msgid "Could not find txmbr: %s in state %s"
 msgstr ""
 
-#: ../yum/__init__.py:5307 ../yum/__init__.py:5324
+#: ../yum/__init__.py:6625 ../yum/__init__.py:6642
 #, python-format
 msgid "Could not find txmbr: %s from origin: %s"
 msgstr ""
 
-#: ../yum/__init__.py:5349
+#: ../yum/__init__.py:6667
 msgid "Transaction members, relations are missing or ts has been modified,"
 msgstr ""
 
-#: ../yum/__init__.py:5351
+#: ../yum/__init__.py:6670
 msgid " ignoring, as requested. You must redepsolve!"
 msgstr ""
 
+#. Debugging output
+#: ../yum/__init__.py:6738 ../yum/__init__.py:6757
+#, python-format
+msgid "%s has been visited already and cannot be removed."
+msgstr ""
+
+#. Debugging output
+#: ../yum/__init__.py:6741
+#, python-format
+msgid "Examining revdeps of %s"
+msgstr ""
+
+#. Debugging output
+#: ../yum/__init__.py:6762
+#, python-format
+msgid "%s has revdep %s which was user-installed."
+msgstr ""
+
+#: ../yum/__init__.py:6773 ../yum/__init__.py:6779
+#, python-format
+msgid "%s is needed by a package to be installed."
+msgstr ""
+
+#. Debugging output
+#: ../yum/__init__.py:6793
+#, python-format
+msgid "%s has no user-installed revdeps."
+msgstr ""
+
 #. Mostly copied from YumOutput._outKeyValFill()
-#: ../yum/plugins.py:209
+#: ../yum/plugins.py:212
 msgid "Loaded plugins: "
 msgstr ""
 
-#: ../yum/plugins.py:223 ../yum/plugins.py:229
+#: ../yum/plugins.py:226 ../yum/plugins.py:232
 #, python-format
 msgid "No plugin match for: %s"
 msgstr ""
 
-#: ../yum/plugins.py:259
+#: ../yum/plugins.py:262
 #, python-format
 msgid "Not loading \"%s\" plugin, as it is disabled"
 msgstr ""
 
 #. Give full backtrace:
-#: ../yum/plugins.py:271
+#: ../yum/plugins.py:274
 #, python-format
 msgid "Plugin \"%s\" can't be imported"
 msgstr ""
 
-#: ../yum/plugins.py:278
+#: ../yum/plugins.py:281
 #, python-format
 msgid "Plugin \"%s\" doesn't specify required API version"
 msgstr ""
 
-#: ../yum/plugins.py:283
+#: ../yum/plugins.py:286
 #, python-format
 msgid "Plugin \"%s\" requires API %s. Supported API is %s."
 msgstr ""
 
-#: ../yum/plugins.py:316
+#: ../yum/plugins.py:319
 #, python-format
 msgid "Loading \"%s\" plugin"
 msgstr ""
 
-#: ../yum/plugins.py:323
+#: ../yum/plugins.py:326
 #, python-format
 msgid "Two or more plugins with the name \"%s\" exist in the plugin search path"
 msgstr ""
 
-#: ../yum/plugins.py:343
+#: ../yum/plugins.py:346
 #, python-format
 msgid "Configuration file %s not found"
 msgstr ""
 
 #. for
 #. Configuration files for the plugin not found
-#: ../yum/plugins.py:346
+#: ../yum/plugins.py:349
 #, python-format
 msgid "Unable to find configuration file for plugin %s"
 msgstr ""
 
-#: ../yum/plugins.py:508
+#: ../yum/plugins.py:553
 msgid "registration of commands not supported"
 msgstr ""
 
-#: ../yum/rpmsack.py:148
+#: ../yum/rpmsack.py:159
 msgid "has missing requires of"
 msgstr ""
 
-#: ../yum/rpmsack.py:151
+#: ../yum/rpmsack.py:162
 msgid "has installed conflicts"
 msgstr ""
 
-#: ../yum/rpmsack.py:160
+#: ../yum/rpmsack.py:171
 #, python-format
 msgid "%s is a duplicate with %s"
 msgstr ""
 
-#: ../yum/rpmsack.py:168
+#: ../yum/rpmsack.py:179
 #, python-format
 msgid "%s is obsoleted by %s"
 msgstr ""
 
-#: ../yum/rpmsack.py:176
+#: ../yum/rpmsack.py:187
 #, python-format
 msgid "%s provides %s but it cannot be found"
 msgstr ""
@@ -3039,6 +3460,23 @@ msgstr ""
 msgid "Repackaging"
 msgstr ""
 
+#: ../yum/rpmtrans.py:149
+#, python-format
+msgid "Verify: %u/%u: %s"
+msgstr ""
+
+#: ../yum/yumRepo.py:919
+#, python-format
+msgid ""
+"Insufficient space in download directory %s\n"
+"    * free   %s\n"
+"    * needed %s"
+msgstr ""
+
+#: ../yum/yumRepo.py:986
+msgid "Package does not match intended download."
+msgstr ""
+
 #: ../rpmUtils/oldUtils.py:33
 #, python-format
 msgid "Header cannot be opened or does not match %s, %s."
@@ -3067,5 +3505,3 @@ msgstr ""
 #, python-format
 msgid "Error opening rpm %s - error %s"
 msgstr ""
-
-
diff --git a/po/en_GB.po b/po/en_GB.po
index 0f3c750..323c119 100644
--- a/po/en_GB.po
+++ b/po/en_GB.po
@@ -2,1503 +2,1645 @@
 # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
 # This file is distributed under the same license as the PACKAGE package.
 # 
-# Bruce Cowan <l10n@bcowan.fastmail.co.uk>, 2011
+# Translators:
+# Bruce Cowan <l10n@bcowan.fastmail.co.uk>, 2011.
+# Chris Leonard <cjlhomeaddress@gmail.com>, 2012.
 msgid ""
 msgstr ""
 "Project-Id-Version: Yum\n"
-"Report-Msgid-Bugs-To: http://yum.baseurl.org/\n"
-"POT-Creation-Date: 2011-06-06 10:21-0400\n"
-"PO-Revision-Date: 2011-06-06 14:21+0000\n"
-"Last-Translator: skvidal <skvidal@fedoraproject.org>\n"
-"Language-Team: English (United Kingdom) (http://www.transifex.net/projects/p/yum/team/en_GB/)\n"
+"Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
+"POT-Creation-Date: 2013-01-30 09:08-0500\n"
+"PO-Revision-Date: 2013-01-30 14:08+0000\n"
+"Last-Translator: james <james@fedoraproject.org>\n"
+"Language-Team: English (United Kingdom) (http://www.transifex.com/projects/p/yum/language/en_GB/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Language: en_GB\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: ../callback.py:48 ../output.py:1037 ../yum/rpmtrans.py:73
+#: ../callback.py:45 ../output.py:1502 ../yum/rpmtrans.py:73
 msgid "Updating"
 msgstr "Updating"
 
-#: ../callback.py:49 ../yum/rpmtrans.py:74
+#: ../callback.py:46 ../yum/rpmtrans.py:74
 msgid "Erasing"
 msgstr "Erasing"
 
-#: ../callback.py:50 ../callback.py:51 ../callback.py:53 ../output.py:1036
-#: ../output.py:2218 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
+#: ../callback.py:47 ../callback.py:48 ../callback.py:50 ../output.py:1501
+#: ../output.py:2922 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
 #: ../yum/rpmtrans.py:78
 msgid "Installing"
 msgstr "Installing"
 
-#: ../callback.py:52 ../callback.py:58 ../output.py:1840 ../yum/rpmtrans.py:77
+#: ../callback.py:49 ../callback.py:55 ../output.py:2379 ../yum/rpmtrans.py:77
 msgid "Obsoleted"
 msgstr "Obsoleted"
 
-#: ../callback.py:54 ../output.py:1169 ../output.py:1686 ../output.py:1847
+#: ../callback.py:51 ../output.py:1670 ../output.py:2222 ../output.py:2386
 msgid "Updated"
 msgstr "Updated"
 
-#: ../callback.py:55 ../output.py:1685
+#: ../callback.py:52 ../output.py:2221
 msgid "Erased"
 msgstr "Erased"
 
-#: ../callback.py:56 ../callback.py:57 ../callback.py:59 ../output.py:1167
-#: ../output.py:1685 ../output.py:1687 ../output.py:2190
+#: ../callback.py:53 ../callback.py:54 ../callback.py:56 ../output.py:1668
+#: ../output.py:2221 ../output.py:2223 ../output.py:2894
 msgid "Installed"
 msgstr "Installed"
 
-#: ../callback.py:130
+#: ../callback.py:142
 msgid "No header - huh?"
 msgstr "No header - huh?"
 
-#: ../callback.py:168
+#: ../callback.py:180
 msgid "Repackage"
 msgstr "Repackage"
 
-#: ../callback.py:189
+#: ../callback.py:201
 #, python-format
 msgid "Error: invalid output state: %s for %s"
 msgstr "Error: invalid output state: %s for %s"
 
-#: ../callback.py:212
+#: ../callback.py:224
 #, python-format
 msgid "Erased: %s"
 msgstr "Erased: %s"
 
-#: ../callback.py:217 ../output.py:1038 ../output.py:2193
+#: ../callback.py:229 ../output.py:1503 ../output.py:2897
 msgid "Removing"
 msgstr "Removing"
 
-#: ../callback.py:219 ../yum/rpmtrans.py:79
+#: ../callback.py:231 ../yum/rpmtrans.py:79
 msgid "Cleanup"
 msgstr "Cleanup"
 
-#: ../cli.py:115
+#: ../cli.py:122
 #, python-format
 msgid "Command \"%s\" already defined"
 msgstr "Command \"%s\" already defined"
 
-#: ../cli.py:127
+#: ../cli.py:137
 msgid "Setting up repositories"
 msgstr "Setting up repositories"
 
-#: ../cli.py:138
+#: ../cli.py:148
 msgid "Reading repository metadata in from local files"
 msgstr "Reading repository metadata in from local files"
 
-#: ../cli.py:245 ../utils.py:281
+#: ../cli.py:273 ../cli.py:277 ../utils.py:320
 #, python-format
 msgid "Config Error: %s"
 msgstr "Config Error: %s"
 
-#: ../cli.py:248 ../cli.py:1584 ../utils.py:284
+#: ../cli.py:280 ../cli.py:2206 ../utils.py:323
 #, python-format
 msgid "Options Error: %s"
 msgstr "Options Error: %s"
 
-#: ../cli.py:293
+#: ../cli.py:327
 #, python-format
 msgid "  Installed: %s-%s at %s"
 msgstr "  Installed: %s-%s at %s"
 
-#: ../cli.py:295
+#: ../cli.py:329
 #, python-format
 msgid "  Built    : %s at %s"
 msgstr "  Built    : %s at %s"
 
-#: ../cli.py:297
+#: ../cli.py:331
 #, python-format
 msgid "  Committed: %s at %s"
 msgstr "  Committed: %s at %s"
 
-#: ../cli.py:336
+#: ../cli.py:372
 msgid "You need to give some command"
 msgstr "You need to give some command"
 
-#: ../cli.py:350
+#: ../cli.py:386
 #, python-format
 msgid "No such command: %s. Please use %s --help"
 msgstr "No such command: %s. Please use %s --help"
 
-#: ../cli.py:400
+#: ../cli.py:444
 msgid "Disk Requirements:\n"
 msgstr "Disk Requirements:\n"
 
-#: ../cli.py:402
+#: ../cli.py:446
 #, python-format
 msgid "  At least %dMB more space needed on the %s filesystem.\n"
-msgstr "  At least %dMB more space needed on the %s filesystem.\n"
+msgid_plural "  At least %dMB more space needed on the %s filesystem.\n"
+msgstr[0] ""
+msgstr[1] "  At least %dMB more space needed on the %s filesystem.\n"
 
 #. TODO: simplify the dependency errors?
 #. Fixup the summary
-#: ../cli.py:407
+#: ../cli.py:451
 msgid ""
 "Error Summary\n"
 "-------------\n"
-msgstr ""
-"Error Summary\n"
-"-------------\n"
+msgstr "Error Summary\n-------------\n"
+
+#: ../cli.py:472
+msgid "Can't create lock file; exiting"
+msgstr "Can't create lock file; exiting"
 
-#: ../cli.py:450
+#: ../cli.py:479
+msgid ""
+"Another app is currently holding the yum lock; exiting as configured by "
+"exit_on_lock"
+msgstr "Another app is currently holding the yum lock; exiting as configured by exit_on_lock"
+
+#: ../cli.py:532
 msgid "Trying to run the transaction but nothing to do. Exiting."
 msgstr "Trying to run the transaction but nothing to do. Exiting."
 
-#: ../cli.py:497
+#: ../cli.py:577
+msgid "future rpmdb ver mismatched saved transaction version,"
+msgstr ""
+
+#: ../cli.py:579 ../yum/__init__.py:6523
+msgid " ignoring, as requested."
+msgstr " ignoring, as requested."
+
+#: ../cli.py:582 ../yum/__init__.py:6526 ../yum/__init__.py:6673
+msgid " aborting."
+msgstr " aborting."
+
+#: ../cli.py:588
 msgid "Exiting on user Command"
 msgstr "Exiting on user Command"
 
-#: ../cli.py:501
+#: ../cli.py:592
 msgid "Downloading Packages:"
 msgstr "Downloading Packages:"
 
-#: ../cli.py:506
+#: ../cli.py:597
 msgid "Error Downloading Packages:\n"
 msgstr "Error Downloading Packages:\n"
 
-#: ../cli.py:525 ../yum/__init__.py:4967
+#: ../cli.py:616 ../yum/__init__.py:6215
 msgid "Running Transaction Check"
 msgstr "Running Transaction Check"
 
-#: ../cli.py:534 ../yum/__init__.py:4976
+#: ../cli.py:625 ../yum/__init__.py:6224
 msgid "ERROR You need to update rpm to handle:"
 msgstr "ERROR You need to update rpm to handle:"
 
-#: ../cli.py:536 ../yum/__init__.py:4979
+#: ../cli.py:627 ../yum/__init__.py:6227
 msgid "ERROR with transaction check vs depsolve:"
 msgstr "ERROR with transaction check vs depsolve:"
 
-#: ../cli.py:542
+#: ../cli.py:633
 msgid "RPM needs to be updated"
 msgstr "RPM needs to be updated"
 
-#: ../cli.py:543
+#: ../cli.py:634
 #, python-format
 msgid "Please report this error in %s"
 msgstr "Please report this error in %s"
 
-#: ../cli.py:549
+#: ../cli.py:640
 msgid "Running Transaction Test"
 msgstr "Running Transaction Test"
 
-#: ../cli.py:561
+#: ../cli.py:652
 msgid "Transaction Check Error:\n"
 msgstr "Transaction Check Error:\n"
 
-#: ../cli.py:568
+#: ../cli.py:659
 msgid "Transaction Test Succeeded"
 msgstr "Transaction Test Succeeded"
 
-#: ../cli.py:600
+#: ../cli.py:691
 msgid "Running Transaction"
 msgstr "Running Transaction"
 
-#: ../cli.py:630
+#: ../cli.py:724
 msgid ""
 "Refusing to automatically import keys when running unattended.\n"
 "Use \"-y\" to override."
-msgstr ""
-"Refusing to automatically import keys when running unattended.\n"
-"Use \"-y\" to override."
+msgstr "Refusing to automatically import keys when running unattended.\nUse \"-y\" to override."
 
-#: ../cli.py:649 ../cli.py:692
+#: ../cli.py:743 ../cli.py:786
 msgid "  * Maybe you meant: "
 msgstr "  * Maybe you meant: "
 
-#: ../cli.py:675 ../cli.py:683
+#: ../cli.py:769 ../cli.py:777
 #, python-format
 msgid "Package(s) %s%s%s available, but not installed."
 msgstr "Package(s) %s%s%s available, but not installed."
 
-#: ../cli.py:689 ../cli.py:722 ../cli.py:908
+#: ../cli.py:783 ../cli.py:891 ../cli.py:1158
 #, python-format
 msgid "No package %s%s%s available."
 msgstr "No package %s%s%s available."
 
-#: ../cli.py:729 ../cli.py:973
-msgid "Package(s) to install"
-msgstr "Package(s) to install"
+#: ../cli.py:871 ../cli.py:881 ../cli.py:1101 ../cli.py:1111
+#, python-format
+msgid "Bad %s argument %s."
+msgstr ""
 
-#: ../cli.py:732 ../cli.py:733 ../cli.py:914 ../cli.py:948 ../cli.py:974
-#: ../yumcommands.py:190
+#: ../cli.py:900 ../yumcommands.py:3331
+#, python-format
+msgid "%d package to install"
+msgid_plural "%d packages to install"
+msgstr[0] "%d package to install"
+msgstr[1] "%d packages to install"
+
+#: ../cli.py:903 ../cli.py:904 ../cli.py:1169 ../cli.py:1170 ../cli.py:1224
+#: ../cli.py:1225 ../cli.py:1260 ../yumcommands.py:323 ../yumcommands.py:3419
 msgid "Nothing to do"
 msgstr "Nothing to do"
 
-#: ../cli.py:767
+#: ../cli.py:953
 #, python-format
-msgid "%d packages marked for Update"
-msgstr "%d packages marked for Update"
+msgid "%d package marked for Update"
+msgid_plural "%d packages marked for Update"
+msgstr[0] "%d package marked for Update"
+msgstr[1] "%d packages marked for Update"
 
-#: ../cli.py:770
+#: ../cli.py:955
 msgid "No Packages marked for Update"
 msgstr "No Packages marked for Update"
 
-#: ../cli.py:866
+#: ../cli.py:1067
 #, python-format
-msgid "%d packages marked for Distribution Synchronization"
-msgstr "%d packages marked for Distribution Synchronisation"
+msgid "%d package marked for Distribution Synchronization"
+msgid_plural "%d packages marked for Distribution Synchronization"
+msgstr[0] "%d package marked for Distribution Synchronisation"
+msgstr[1] "%d packages marked for Distribution Synchronisation"
 
-#: ../cli.py:869
+#: ../cli.py:1069
 msgid "No Packages marked for Distribution Synchronization"
 msgstr "No Packages marked for Distribution Synchronisation"
 
-#: ../cli.py:885
+#: ../cli.py:1124
 #, python-format
-msgid "%d packages marked for removal"
-msgstr "%d packages marked for removal"
+msgid "%d package marked for removal"
+msgid_plural "%d packages marked for removal"
+msgstr[0] "%d package marked for removal"
+msgstr[1] "%d packages marked for removal"
 
-#: ../cli.py:888
+#: ../cli.py:1126
 msgid "No Packages marked for removal"
 msgstr "No Packages marked for removal"
 
-#: ../cli.py:913
-msgid "Package(s) to downgrade"
-msgstr "Package(s) to downgrade"
+#: ../cli.py:1166
+#, python-format
+msgid "%d package to downgrade"
+msgid_plural "%d packages to downgrade"
+msgstr[0] "%d package to downgrade"
+msgstr[1] "%d packages to downgrade"
 
-#: ../cli.py:938
+#: ../cli.py:1207
 #, python-format
 msgid " (from %s)"
 msgstr " (from %s)"
 
-#: ../cli.py:939
+#: ../cli.py:1208
 #, python-format
 msgid "Installed package %s%s%s%s not available."
 msgstr "Installed package %s%s%s%s not available."
 
-#: ../cli.py:947
-msgid "Package(s) to reinstall"
-msgstr "Package(s) to reinstall"
+#: ../cli.py:1221
+#, python-format
+msgid "%d package to reinstall"
+msgid_plural "%d packages to reinstall"
+msgstr[0] "%d package to reinstall"
+msgstr[1] "%d packages to reinstall"
 
-#: ../cli.py:960
+#: ../cli.py:1246
 msgid "No Packages Provided"
 msgstr "No Packages Provided"
 
-#: ../cli.py:1058
+#: ../cli.py:1259
+msgid "Package(s) to install"
+msgstr "Package(s) to install"
+
+#: ../cli.py:1367
 #, python-format
 msgid "N/S Matched: %s"
 msgstr "N/S Matched: %s"
 
-#: ../cli.py:1075
+#: ../cli.py:1384
 #, python-format
 msgid "  Name and summary matches %sonly%s, use \"search all\" for everything."
 msgstr "  Name and summary matches %sonly%s, use \"search all\" for everything."
 
-#: ../cli.py:1077
+#: ../cli.py:1386
 #, python-format
 msgid ""
 "  Full name and summary matches %sonly%s, use \"search all\" for everything."
-msgstr ""
-"  Full name and summary matches %sonly%s, use \"search all\" for everything."
+msgstr "  Full name and summary matches %sonly%s, use \"search all\" for everything."
 
-#: ../cli.py:1095
+#: ../cli.py:1404
 #, python-format
 msgid "Matched: %s"
 msgstr "Matched: %s"
 
-#: ../cli.py:1102
+#: ../cli.py:1411
 #, python-format
 msgid "  Name and summary matches %smostly%s, use \"search all\" for everything."
 msgstr "  Name and summary matches %smostly%s, use \"search all\" for everything."
 
-#: ../cli.py:1106
+#: ../cli.py:1415
 #, python-format
 msgid "Warning: No matches found for: %s"
 msgstr "Warning: No matches found for: %s"
 
-#: ../cli.py:1109
+#: ../cli.py:1418
 msgid "No Matches found"
 msgstr "No Matches found"
 
-#: ../cli.py:1174
+#: ../cli.py:1536
 #, python-format
-msgid "No Package Found for %s"
-msgstr "No Package Found for %s"
+msgid ""
+"Error: No Packages found for:\n"
+"  %s"
+msgstr ""
 
-#: ../cli.py:1184
+#: ../cli.py:1572
 msgid "Cleaning repos: "
 msgstr "Cleaning repos: "
 
-#: ../cli.py:1189
+#: ../cli.py:1577
 msgid "Cleaning up Everything"
 msgstr "Cleaning up Everything"
 
-#: ../cli.py:1205
+#: ../cli.py:1593
 msgid "Cleaning up Headers"
 msgstr "Cleaning up Headers"
 
-#: ../cli.py:1208
+#: ../cli.py:1596
 msgid "Cleaning up Packages"
 msgstr "Cleaning up Packages"
 
-#: ../cli.py:1211
+#: ../cli.py:1599
 msgid "Cleaning up xml metadata"
 msgstr "Cleaning up xml metadata"
 
-#: ../cli.py:1214
+#: ../cli.py:1602
 msgid "Cleaning up database cache"
 msgstr "Cleaning up database cache"
 
-#: ../cli.py:1217
+#: ../cli.py:1605
 msgid "Cleaning up expire-cache metadata"
 msgstr "Cleaning up expire-cache metadata"
 
-#: ../cli.py:1220
+#: ../cli.py:1608
 msgid "Cleaning up cached rpmdb data"
 msgstr "Cleaning up cached rpmdb data"
 
-#: ../cli.py:1223
+#: ../cli.py:1611
 msgid "Cleaning up plugins"
 msgstr "Cleaning up plugins"
 
-#: ../cli.py:1247
-#, python-format
-msgid "Warning: No groups match: %s"
-msgstr "Warning: No groups match: %s"
+#: ../cli.py:1727
+msgid "Installed Environment Groups:"
+msgstr ""
+
+#: ../cli.py:1728
+msgid "Available Environment Groups:"
+msgstr ""
 
-#: ../cli.py:1264
+#: ../cli.py:1735
 msgid "Installed Groups:"
 msgstr "Installed Groups:"
 
-#: ../cli.py:1270
+#: ../cli.py:1742
 msgid "Installed Language Groups:"
 msgstr "Installed Language Groups:"
 
-#: ../cli.py:1276
+#: ../cli.py:1749
 msgid "Available Groups:"
 msgstr "Available Groups:"
 
-#: ../cli.py:1282
+#: ../cli.py:1756
 msgid "Available Language Groups:"
 msgstr "Available Language Groups:"
 
-#: ../cli.py:1285
+#: ../cli.py:1759
+#, python-format
+msgid "Warning: No Environments/Groups match: %s"
+msgstr ""
+
+#: ../cli.py:1763
 msgid "Done"
 msgstr "Done"
 
-#: ../cli.py:1296 ../cli.py:1314 ../cli.py:1320 ../yum/__init__.py:3313
+#: ../cli.py:1818
+#, python-format
+msgid "Warning: Group/Environment %s does not exist."
+msgstr ""
+
+#: ../cli.py:1859
+#, python-format
+msgid "Warning: Environment %s does not exist."
+msgstr ""
+
+#: ../cli.py:1873 ../cli.py:1879 ../yum/__init__.py:4254
 #, python-format
 msgid "Warning: Group %s does not exist."
 msgstr "Warning: Group %s does not exist."
 
-#: ../cli.py:1324
+#: ../cli.py:1883
 msgid "No packages in any requested group available to install or update"
 msgstr "No packages in any requested group available to install or update"
 
-#: ../cli.py:1326
+#: ../cli.py:1885
 #, python-format
-msgid "%d Package(s) to Install"
-msgstr "%d Package(s) to Install"
+msgid "%d package to Install"
+msgid_plural "%d packages to Install"
+msgstr[0] "%d package to Install"
+msgstr[1] "%d packages to Install"
 
-#: ../cli.py:1336 ../yum/__init__.py:3325
+#: ../cli.py:1919 ../yum/__init__.py:3536 ../yum/__init__.py:3766
+#: ../yum/__init__.py:3824
+#, python-format
+msgid "No Environment named %s exists"
+msgstr ""
+
+#: ../cli.py:1935 ../yum/__init__.py:4282
 #, python-format
 msgid "No group named %s exists"
 msgstr "No group named %s exists"
 
-#: ../cli.py:1342
+#: ../cli.py:1945
 msgid "No packages to remove from groups"
 msgstr "No packages to remove from groups"
 
-#: ../cli.py:1344
+#: ../cli.py:1947 ../yumcommands.py:3351
 #, python-format
-msgid "%d Package(s) to remove"
-msgstr "%d Package(s) to remove"
+msgid "%d package to remove"
+msgid_plural "%d packages to remove"
+msgstr[0] "%d package to remove"
+msgstr[1] "%d packages to remove"
 
-#: ../cli.py:1386
+#: ../cli.py:1988
 #, python-format
 msgid "Package %s is already installed, skipping"
 msgstr "Package %s is already installed, skipping"
 
-#: ../cli.py:1397
+#: ../cli.py:1999
 #, python-format
 msgid "Discarding non-comparable pkg %s.%s"
 msgstr "Discarding non-comparable pkg %s.%s"
 
 #. we've not got any installed that match n or n+a
-#: ../cli.py:1423
+#: ../cli.py:2025
 #, python-format
 msgid "No other %s installed, adding to list for potential install"
 msgstr "No other %s installed, adding to list for potential install"
 
-#: ../cli.py:1443
+#: ../cli.py:2045
 msgid "Plugin Options"
 msgstr "Plugin Options"
 
-#: ../cli.py:1451
+#: ../cli.py:2057
 #, python-format
 msgid "Command line error: %s"
 msgstr "Command line error: %s"
 
-#: ../cli.py:1467
+#: ../cli.py:2079
 #, python-format
 msgid ""
 "\n"
 "\n"
 "%s: %s option requires an argument"
-msgstr ""
-"\n"
-"\n"
-"%s: %s option requires an argument"
+msgstr "\n\n%s: %s option requires an argument"
 
-#: ../cli.py:1521
+#: ../cli.py:2147
 msgid "--color takes one of: auto, always, never"
 msgstr "--color takes one of: auto, always, never"
 
 #. We have a relative installroot ... haha
-#: ../cli.py:1596
+#: ../cli.py:2218
 #, python-format
 msgid "--installroot must be an absolute path: %s"
 msgstr "--installroot must be an absolute path: %s"
 
-#: ../cli.py:1642
+#: ../cli.py:2272
 msgid "show this help message and exit"
 msgstr "show this help message and exit"
 
-#: ../cli.py:1646
+#: ../cli.py:2276
 msgid "be tolerant of errors"
 msgstr "be tolerant of errors"
 
-#: ../cli.py:1649
+#: ../cli.py:2279
 msgid "run entirely from system cache, don't update cache"
 msgstr "run entirely from system cache, don't update cache"
 
-#: ../cli.py:1652
+#: ../cli.py:2282
 msgid "config file location"
 msgstr "config file location"
 
-#: ../cli.py:1655
+#: ../cli.py:2285
 msgid "maximum command wait time"
 msgstr "maximum command wait time"
 
-#: ../cli.py:1657
+#: ../cli.py:2287
 msgid "debugging output level"
 msgstr "debugging output level"
 
-#: ../cli.py:1661
+#: ../cli.py:2291
 msgid "show duplicates, in repos, in list/search commands"
 msgstr "show duplicates, in repos, in list/search commands"
 
-#: ../cli.py:1663
+#: ../cli.py:2296
 msgid "error output level"
 msgstr "error output level"
 
-#: ../cli.py:1666
+#: ../cli.py:2299
 msgid "debugging output level for rpm"
 msgstr "debugging output level for rpm"
 
-#: ../cli.py:1669
+#: ../cli.py:2302
 msgid "quiet operation"
 msgstr "quiet operation"
 
-#: ../cli.py:1671
+#: ../cli.py:2304
 msgid "verbose operation"
 msgstr "verbose operation"
 
-#: ../cli.py:1673
+#: ../cli.py:2306
 msgid "answer yes for all questions"
 msgstr "answer yes for all questions"
 
-#: ../cli.py:1675
+#: ../cli.py:2308
+msgid "answer no for all questions"
+msgstr "answer no for all questions"
+
+#: ../cli.py:2312
 msgid "show Yum version and exit"
 msgstr "show Yum version and exit"
 
-#: ../cli.py:1676
+#: ../cli.py:2313
 msgid "set install root"
 msgstr "set install root"
 
-#: ../cli.py:1680
+#: ../cli.py:2317
 msgid "enable one or more repositories (wildcards allowed)"
 msgstr "enable one or more repositories (wildcards allowed)"
 
-#: ../cli.py:1684
+#: ../cli.py:2321
 msgid "disable one or more repositories (wildcards allowed)"
 msgstr "disable one or more repositories (wildcards allowed)"
 
-#: ../cli.py:1687
+#: ../cli.py:2324
 msgid "exclude package(s) by name or glob"
 msgstr "exclude package(s) by name or glob"
 
-#: ../cli.py:1689
+#: ../cli.py:2326
 msgid "disable exclude from main, for a repo or for everything"
 msgstr "disable exclude from main, for a repo or for everything"
 
-#: ../cli.py:1692
+#: ../cli.py:2329
 msgid "enable obsoletes processing during updates"
 msgstr "enable obsoletes processing during updates"
 
-#: ../cli.py:1694
+#: ../cli.py:2331
 msgid "disable Yum plugins"
 msgstr "disable Yum plugins"
 
-#: ../cli.py:1696
+#: ../cli.py:2333
 msgid "disable gpg signature checking"
 msgstr "disable gpg signature checking"
 
-#: ../cli.py:1698
+#: ../cli.py:2335
 msgid "disable plugins by name"
 msgstr "disable plugins by name"
 
-#: ../cli.py:1701
+#: ../cli.py:2338
 msgid "enable plugins by name"
 msgstr "enable plugins by name"
 
-#: ../cli.py:1704
+#: ../cli.py:2341
 msgid "skip packages with depsolving problems"
 msgstr "skip packages with depsolving problems"
 
-#: ../cli.py:1706
+#: ../cli.py:2343
 msgid "control whether color is used"
 msgstr "control whether colour is used"
 
-#: ../cli.py:1708
+#: ../cli.py:2345
 msgid "set value of $releasever in yum config and repo files"
 msgstr "set value of $releasever in yum config and repo files"
 
-#: ../cli.py:1710
+#: ../cli.py:2347
+msgid "don't update, just download"
+msgstr ""
+
+#: ../cli.py:2349
+msgid "specifies an alternate directory to store packages"
+msgstr ""
+
+#: ../cli.py:2351
 msgid "set arbitrary config and repo options"
 msgstr "set arbitrary config and repo options"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Jan"
 msgstr "Jan"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Feb"
 msgstr "Feb"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Mar"
 msgstr "Mar"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Apr"
 msgstr "Apr"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "May"
 msgstr "May"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Jun"
 msgstr "Jun"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Jul"
 msgstr "Jul"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Aug"
 msgstr "Aug"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Sep"
 msgstr "Sep"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Oct"
 msgstr "Oct"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Nov"
 msgstr "Nov"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Dec"
 msgstr "Dec"
 
-#: ../output.py:318
+#: ../output.py:473
 msgid "Trying other mirror."
 msgstr "Trying other mirror."
 
-#: ../output.py:581
+#: ../output.py:816
 #, python-format
 msgid "Name        : %s%s%s"
 msgstr "Name        : %s%s%s"
 
-#: ../output.py:582
+#: ../output.py:817
 #, python-format
 msgid "Arch        : %s"
 msgstr "Arch        : %s"
 
-#: ../output.py:584
+#: ../output.py:819
 #, python-format
 msgid "Epoch       : %s"
 msgstr "Epoch       : %s"
 
-#: ../output.py:585
+#: ../output.py:820
 #, python-format
 msgid "Version     : %s"
 msgstr "Version     : %s"
 
-#: ../output.py:586
+#: ../output.py:821
 #, python-format
 msgid "Release     : %s"
 msgstr "Release     : %s"
 
-#: ../output.py:587
+#: ../output.py:822
 #, python-format
 msgid "Size        : %s"
 msgstr "Size        : %s"
 
-#: ../output.py:588 ../output.py:900
+#: ../output.py:823 ../output.py:1329
 #, python-format
 msgid "Repo        : %s"
 msgstr "Repo        : %s"
 
-#: ../output.py:590
+#: ../output.py:825
 #, python-format
 msgid "From repo   : %s"
 msgstr "From repo   : %s"
 
-#: ../output.py:592
+#: ../output.py:827
 #, python-format
 msgid "Committer   : %s"
 msgstr "Committer   : %s"
 
-#: ../output.py:593
+#: ../output.py:828
 #, python-format
 msgid "Committime  : %s"
 msgstr "Committime  : %s"
 
-#: ../output.py:594
+#: ../output.py:829
 #, python-format
 msgid "Buildtime   : %s"
 msgstr "Buildtime   : %s"
 
-#: ../output.py:596
+#: ../output.py:831
 #, python-format
 msgid "Install time: %s"
 msgstr "Install time: %s"
 
-#: ../output.py:604
+#: ../output.py:839
 #, python-format
 msgid "Installed by: %s"
 msgstr "Installed by: %s"
 
-#: ../output.py:611
+#: ../output.py:846
 #, python-format
 msgid "Changed by  : %s"
 msgstr "Changed by  : %s"
 
-#: ../output.py:612
+#: ../output.py:847
 msgid "Summary     : "
 msgstr "Summary     : "
 
-#: ../output.py:614 ../output.py:913
+#: ../output.py:849 ../output.py:1345
 #, python-format
 msgid "URL         : %s"
 msgstr "URL         : %s"
 
-#: ../output.py:615
+#: ../output.py:850
 msgid "License     : "
 msgstr "Licence     : "
 
-#: ../output.py:616 ../output.py:910
+#: ../output.py:851 ../output.py:1342
 msgid "Description : "
 msgstr "Description : "
 
-#: ../output.py:684
+#: ../output.py:969
 msgid "y"
 msgstr "y"
 
-#: ../output.py:684
+#: ../output.py:969
 msgid "yes"
 msgstr "yes"
 
-#: ../output.py:685
+#: ../output.py:970
 msgid "n"
 msgstr "n"
 
-#: ../output.py:685
+#: ../output.py:970
 msgid "no"
 msgstr "no"
 
-#: ../output.py:689
+#: ../output.py:974
 msgid "Is this ok [y/N]: "
 msgstr "Is this ok [y/N]: "
 
-#: ../output.py:777
+#: ../output.py:1097
 #, python-format
 msgid ""
 "\n"
 "Group: %s"
-msgstr ""
-"\n"
-"Group: %s"
+msgstr "\nGroup: %s"
 
-#: ../output.py:781
+#: ../output.py:1101
 #, python-format
 msgid " Group-Id: %s"
 msgstr " Group-Id: %s"
 
-#: ../output.py:786
+#: ../output.py:1122 ../output.py:1169
 #, python-format
 msgid " Description: %s"
 msgstr " Description: %s"
 
-#: ../output.py:788
+#: ../output.py:1124
 #, python-format
 msgid " Language: %s"
 msgstr " Language: %s"
 
-#: ../output.py:790
+#: ../output.py:1126
 msgid " Mandatory Packages:"
 msgstr " Mandatory Packages:"
 
-#: ../output.py:791
+#: ../output.py:1127
 msgid " Default Packages:"
 msgstr " Default Packages:"
 
-#: ../output.py:792
+#: ../output.py:1128
 msgid " Optional Packages:"
 msgstr " Optional Packages:"
 
-#: ../output.py:793
+#: ../output.py:1129
 msgid " Conditional Packages:"
 msgstr " Conditional Packages:"
 
-#: ../output.py:814
+#: ../output.py:1147
+msgid " Installed Packages:"
+msgstr "Installed Packages:"
+
+#: ../output.py:1157
+#, python-format
+msgid ""
+"\n"
+"Environment Group: %s"
+msgstr ""
+
+#: ../output.py:1158
+#, python-format
+msgid " Environment-Id: %s"
+msgstr ""
+
+#: ../output.py:1191
+msgid " Mandatory Groups:"
+msgstr ""
+
+#: ../output.py:1192
+msgid " Optional Groups:"
+msgstr ""
+
+#: ../output.py:1205
+msgid " Installed Groups:"
+msgstr ""
+
+#: ../output.py:1217
 #, python-format
 msgid "package: %s"
 msgstr "package: %s"
 
-#: ../output.py:816
+#: ../output.py:1219
 msgid "  No dependencies for this package"
 msgstr "  No dependencies for this package"
 
-#: ../output.py:821
+#: ../output.py:1224
 #, python-format
 msgid "  dependency: %s"
 msgstr "  dependency: %s"
 
-#: ../output.py:823
+#: ../output.py:1226
 msgid "   Unsatisfied dependency"
 msgstr "   Unsatisfied dependency"
 
-#: ../output.py:901
+#: ../output.py:1337
 msgid "Matched from:"
 msgstr "Matched from:"
 
-#: ../output.py:916
+#: ../output.py:1348
 #, python-format
 msgid "License     : %s"
 msgstr "Licence     : %s"
 
-#: ../output.py:919
+#: ../output.py:1351
 #, python-format
 msgid "Filename    : %s"
 msgstr "Filename    : %s"
 
-#: ../output.py:923
+#: ../output.py:1360
+msgid "Provides    : "
+msgstr ""
+
+#: ../output.py:1363
 msgid "Other       : "
 msgstr "Other       : "
 
-#: ../output.py:966
+#: ../output.py:1426
 msgid "There was an error calculating total download size"
 msgstr "There was an error calculating total download size"
 
-#: ../output.py:971
+#: ../output.py:1431
 #, python-format
 msgid "Total size: %s"
 msgstr "Total size: %s"
 
-#: ../output.py:974
+#: ../output.py:1433
 #, python-format
 msgid "Total download size: %s"
 msgstr "Total download size: %s"
 
-#: ../output.py:978 ../output.py:998
+#: ../output.py:1436 ../output.py:1459 ../output.py:1463
 #, python-format
 msgid "Installed size: %s"
 msgstr "Installed size: %s"
 
-#: ../output.py:994
+#: ../output.py:1454
 msgid "There was an error calculating installed size"
 msgstr "There was an error calculating installed size"
 
-#: ../output.py:1039
+#: ../output.py:1504
 msgid "Reinstalling"
 msgstr "Reinstalling"
 
-#: ../output.py:1040
+#: ../output.py:1505
 msgid "Downgrading"
 msgstr "Downgrading"
 
-#: ../output.py:1041
+#: ../output.py:1506
 msgid "Installing for dependencies"
 msgstr "Installing for dependencies"
 
-#: ../output.py:1042
+#: ../output.py:1507
 msgid "Updating for dependencies"
 msgstr "Updating for dependencies"
 
-#: ../output.py:1043
+#: ../output.py:1508
 msgid "Removing for dependencies"
 msgstr "Removing for dependencies"
 
-#: ../output.py:1050 ../output.py:1171
+#: ../output.py:1515 ../output.py:1576 ../output.py:1672
 msgid "Skipped (dependency problems)"
 msgstr "Skipped (dependency problems)"
 
-#: ../output.py:1052 ../output.py:1687
+#: ../output.py:1517 ../output.py:1577 ../output.py:2223
 msgid "Not installed"
 msgstr "Not installed"
 
-#: ../output.py:1053
+#: ../output.py:1518 ../output.py:1578
 msgid "Not available"
-msgstr ""
+msgstr "Not available"
 
-#: ../output.py:1075 ../output.py:2024
+#: ../output.py:1540 ../output.py:1588 ../output.py:1604 ../output.py:2581
 msgid "Package"
-msgstr "Package"
+msgid_plural "Packages"
+msgstr[0] ""
+msgstr[1] "Package"
 
-#: ../output.py:1075
+#: ../output.py:1540
 msgid "Arch"
 msgstr "Arch"
 
-#: ../output.py:1076
+#: ../output.py:1541
 msgid "Version"
 msgstr "Version"
 
-#: ../output.py:1076
+#: ../output.py:1541
 msgid "Repository"
 msgstr "Repository"
 
-#: ../output.py:1077
+#: ../output.py:1542
 msgid "Size"
 msgstr "Size"
 
-#: ../output.py:1089
+#: ../output.py:1554
 #, python-format
 msgid "     replacing  %s%s%s.%s %s\n"
 msgstr "     replacing  %s%s%s.%s %s\n"
 
-#: ../output.py:1098
+#: ../output.py:1563
 #, python-format
 msgid ""
 "\n"
 "Transaction Summary\n"
 "%s\n"
-msgstr ""
-"\n"
-"Transaction Summary\n"
-"%s\n"
+msgstr "\nTransaction Summary\n%s\n"
 
-#: ../output.py:1109
-#, python-format
-msgid "Install   %5.5s Package(s)\n"
-msgstr "Install   %5.5s Package(s)\n"
+#: ../output.py:1568 ../output.py:2376 ../output.py:2377
+msgid "Install"
+msgstr "Install"
 
-#: ../output.py:1113
-#, python-format
-msgid "Upgrade   %5.5s Package(s)\n"
-msgstr "Upgrade   %5.5s Package(s)\n"
+#: ../output.py:1570
+msgid "Upgrade"
+msgstr "Upgrade"
 
-#: ../output.py:1117
-#, python-format
-msgid "Remove    %5.5s Package(s)\n"
-msgstr "Remove    %5.5s Package(s)\n"
+#: ../output.py:1572
+msgid "Remove"
+msgstr "Remove"
 
-#: ../output.py:1121
-#, python-format
-msgid "Reinstall %5.5s Package(s)\n"
-msgstr "Reinstall %5.5s Package(s)\n"
+#: ../output.py:1574 ../output.py:2382
+msgid "Reinstall"
+msgstr "Reinstall"
 
-#: ../output.py:1125
-#, python-format
-msgid "Downgrade %5.5s Package(s)\n"
-msgstr "Downgrade %5.5s Package(s)\n"
+#: ../output.py:1575 ../output.py:2383
+msgid "Downgrade"
+msgstr "Downgrade"
 
-#: ../output.py:1165
+#: ../output.py:1606
+msgid "Dependent package"
+msgid_plural "Dependent packages"
+msgstr[0] "Dependent package"
+msgstr[1] "Dependent packages"
+
+#: ../output.py:1666
 msgid "Removed"
 msgstr "Removed"
 
-#: ../output.py:1166
+#: ../output.py:1667
 msgid "Dependency Removed"
 msgstr "Dependency Removed"
 
-#: ../output.py:1168
+#: ../output.py:1669
 msgid "Dependency Installed"
 msgstr "Dependency Installed"
 
-#: ../output.py:1170
+#: ../output.py:1671
 msgid "Dependency Updated"
 msgstr "Dependency Updated"
 
-#: ../output.py:1172
+#: ../output.py:1673
 msgid "Replaced"
 msgstr "Replaced"
 
-#: ../output.py:1173
+#: ../output.py:1674
 msgid "Failed"
 msgstr "Failed"
 
 #. Delta between C-c's so we treat as exit
-#: ../output.py:1260
+#: ../output.py:1764
 msgid "two"
 msgstr "two"
 
 #. For translators: This is output like:
 #. Current download cancelled, interrupt (ctrl-c) again within two seconds
 #. to exit.
-#. Where "interupt (ctrl-c) again" and "two" are highlighted.
-#: ../output.py:1271
+#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
+#: ../output.py:1775
 #, python-format
 msgid ""
 "\n"
 " Current download cancelled, %sinterrupt (ctrl-c) again%s within %s%s%s seconds\n"
 "to exit.\n"
-msgstr ""
-"\n"
-" Current download cancelled, %sinterrupt (ctrl-c) again%s within %s%s%s seconds\n"
-"to exit.\n"
+msgstr "\n Current download cancelled, %sinterrupt (ctrl-c) again%s within %s%s%s seconds\nto exit.\n"
 
-#: ../output.py:1282
+#: ../output.py:1786
 msgid "user interrupt"
 msgstr "user interrupt"
 
-#: ../output.py:1300
+#: ../output.py:1812
 msgid "Total"
 msgstr "Total"
 
-#: ../output.py:1322
+#: ../output.py:1834
 msgid "I"
 msgstr "I"
 
-#: ../output.py:1323
+#: ../output.py:1835
 msgid "O"
 msgstr "O"
 
-#: ../output.py:1324
+#: ../output.py:1836
 msgid "E"
 msgstr "E"
 
-#: ../output.py:1325
+#: ../output.py:1837
 msgid "R"
 msgstr "R"
 
-#: ../output.py:1326
+#: ../output.py:1838
 msgid "D"
 msgstr "D"
 
-#: ../output.py:1327
+#: ../output.py:1839
 msgid "U"
 msgstr "U"
 
-#: ../output.py:1341
+#: ../output.py:1853
 msgid "<unset>"
 msgstr "<unset>"
 
-#: ../output.py:1342
+#: ../output.py:1854
 msgid "System"
 msgstr "System"
 
-#: ../output.py:1411
+#: ../output.py:1923
 #, python-format
 msgid "Skipping merged transaction %d to %d, as it overlaps"
 msgstr "Skipping merged transaction %d to %d, as it overlaps"
 
-#: ../output.py:1421 ../output.py:1592
+#: ../output.py:1933 ../output.py:2125
 msgid "No transactions"
 msgstr "No transactions"
 
-#: ../output.py:1446 ../output.py:2013
+#: ../output.py:1958 ../output.py:2570 ../output.py:2660
 msgid "Bad transaction IDs, or package(s), given"
 msgstr "Bad transaction IDs, or package(s), given"
 
-#: ../output.py:1484
+#: ../output.py:2007
 msgid "Command line"
 msgstr "Command line"
 
-#: ../output.py:1486 ../output.py:1908
+#: ../output.py:2009 ../output.py:2458
 msgid "Login user"
 msgstr "Login user"
 
 #. REALLY Needs to use columns!
-#: ../output.py:1487 ../output.py:2022
+#: ../output.py:2010 ../output.py:2579
 msgid "ID"
 msgstr "ID"
 
-#: ../output.py:1489
+#: ../output.py:2012
 msgid "Date and time"
 msgstr "Date and time"
 
-#: ../output.py:1490 ../output.py:1910 ../output.py:2023
+#: ../output.py:2013 ../output.py:2460 ../output.py:2580
 msgid "Action(s)"
 msgstr "Action(s)"
 
-#: ../output.py:1491 ../output.py:1911
+#: ../output.py:2014 ../output.py:2461
 msgid "Altered"
 msgstr "Altered"
 
-#: ../output.py:1538
+#: ../output.py:2061
 msgid "No transaction ID given"
 msgstr "No transaction ID given"
 
-#: ../output.py:1564 ../output.py:1972
+#: ../output.py:2087 ../output.py:2526
 msgid "Bad transaction ID given"
 msgstr "Bad transaction ID given"
 
-#: ../output.py:1569
+#: ../output.py:2092
 msgid "Not found given transaction ID"
 msgstr "Not found given transaction ID"
 
-#: ../output.py:1577
+#: ../output.py:2100
 msgid "Found more than one transaction ID!"
 msgstr "Found more than one transaction ID!"
 
-#: ../output.py:1618 ../output.py:1980
+#: ../output.py:2151 ../output.py:2534
 msgid "No transaction ID, or package, given"
 msgstr "No transaction ID, or package, given"
 
-#: ../output.py:1686 ../output.py:1845
+#: ../output.py:2222 ../output.py:2384
 msgid "Downgraded"
 msgstr "Downgraded"
 
-#: ../output.py:1688
+#: ../output.py:2224
 msgid "Older"
 msgstr "Older"
 
-#: ../output.py:1688
+#: ../output.py:2224
 msgid "Newer"
 msgstr "Newer"
 
-#: ../output.py:1724 ../output.py:1726
+#: ../output.py:2261 ../output.py:2263 ../output.py:2681
 msgid "Transaction ID :"
 msgstr "Transaction ID :"
 
-#: ../output.py:1728
+#: ../output.py:2265 ../output.py:2683
 msgid "Begin time     :"
 msgstr "Begin time     :"
 
-#: ../output.py:1731 ../output.py:1733
+#: ../output.py:2268 ../output.py:2270
 msgid "Begin rpmdb    :"
 msgstr "Begin rpmdb    :"
 
-#: ../output.py:1749
+#: ../output.py:2286
 #, python-format
 msgid "(%u seconds)"
 msgstr "(%u seconds)"
 
-#: ../output.py:1751
+#: ../output.py:2288
 #, python-format
 msgid "(%u minutes)"
 msgstr "(%u minutes)"
 
-#: ../output.py:1753
+#: ../output.py:2290
 #, python-format
 msgid "(%u hours)"
 msgstr "(%u hours)"
 
-#: ../output.py:1755
+#: ../output.py:2292
 #, python-format
 msgid "(%u days)"
 msgstr "(%u days)"
 
-#: ../output.py:1756
+#: ../output.py:2293
 msgid "End time       :"
 msgstr "End time       :"
 
-#: ../output.py:1759 ../output.py:1761
+#: ../output.py:2296 ../output.py:2298
 msgid "End rpmdb      :"
 msgstr "End rpmdb      :"
 
-#: ../output.py:1764 ../output.py:1766
+#: ../output.py:2301 ../output.py:2303
 msgid "User           :"
 msgstr "User           :"
 
-#: ../output.py:1770 ../output.py:1773 ../output.py:1775 ../output.py:1777
-#: ../output.py:1779
+#: ../output.py:2307 ../output.py:2310 ../output.py:2312 ../output.py:2314
+#: ../output.py:2316
 msgid "Return-Code    :"
 msgstr "Return-Code    :"
 
-#: ../output.py:1770 ../output.py:1775
+#: ../output.py:2307 ../output.py:2312
 msgid "Aborted"
 msgstr "Aborted"
 
-#: ../output.py:1773
+#: ../output.py:2310
 msgid "Failures:"
 msgstr "Failures:"
 
-#: ../output.py:1777
+#: ../output.py:2314
 msgid "Failure:"
 msgstr "Failure:"
 
-#: ../output.py:1779
+#: ../output.py:2316
 msgid "Success"
 msgstr "Success"
 
-#: ../output.py:1784 ../output.py:1786
+#: ../output.py:2321 ../output.py:2323 ../output.py:2712
 msgid "Command Line   :"
 msgstr "Command Line   :"
 
-#: ../output.py:1795
+#: ../output.py:2332
 #, python-format
 msgid "Additional non-default information stored: %d"
 msgstr "Additional non-default information stored: %d"
 
 #. This is _possible_, but not common
-#: ../output.py:1800
+#: ../output.py:2337
 msgid "Transaction performed with:"
 msgstr "Transaction performed with:"
 
-#: ../output.py:1804
+#: ../output.py:2341
 msgid "Packages Altered:"
 msgstr "Packages Altered:"
 
-#: ../output.py:1808
+#: ../output.py:2345
 msgid "Packages Skipped:"
 msgstr "Packages Skipped:"
 
-#: ../output.py:1814
+#: ../output.py:2353
 msgid "Rpmdb Problems:"
 msgstr "Rpmdb Problems:"
 
-#: ../output.py:1825
+#: ../output.py:2364
 msgid "Scriptlet output:"
 msgstr "Scriptlet output:"
 
-#: ../output.py:1831
+#: ../output.py:2370
 msgid "Errors:"
 msgstr "Errors:"
 
-#: ../output.py:1837 ../output.py:1838
-msgid "Install"
-msgstr "Install"
-
-#: ../output.py:1839
+#: ../output.py:2378
 msgid "Dep-Install"
 msgstr "Dep-Install"
 
-#: ../output.py:1841
+#: ../output.py:2380
 msgid "Obsoleting"
 msgstr "Obsoleting"
 
-#: ../output.py:1842
+#: ../output.py:2381
 msgid "Erase"
 msgstr "Erase"
 
-#: ../output.py:1843
-msgid "Reinstall"
-msgstr "Reinstall"
-
-#: ../output.py:1844
-msgid "Downgrade"
-msgstr "Downgrade"
-
-#: ../output.py:1846
+#: ../output.py:2385
 msgid "Update"
 msgstr "Update"
 
-#: ../output.py:1909
+#: ../output.py:2459
 msgid "Time"
 msgstr "Time"
 
-#: ../output.py:1935
+#: ../output.py:2485
 msgid "Last day"
 msgstr "Last day"
 
-#: ../output.py:1936
+#: ../output.py:2486
 msgid "Last week"
 msgstr "Last week"
 
-#: ../output.py:1937
+#: ../output.py:2487
 msgid "Last 2 weeks"
 msgstr "Last 2 weeks"
 
 #. US default :p
-#: ../output.py:1938
+#: ../output.py:2488
 msgid "Last 3 months"
 msgstr "Last 3 months"
 
-#: ../output.py:1939
+#: ../output.py:2489
 msgid "Last 6 months"
 msgstr "Last 6 months"
 
-#: ../output.py:1940
+#: ../output.py:2490
 msgid "Last year"
 msgstr "Last year"
 
-#: ../output.py:1941
+#: ../output.py:2491
 msgid "Over a year ago"
 msgstr "Over a year ago"
 
-#: ../output.py:1984
+#: ../output.py:2538
 #, python-format
 msgid "No Transaction %s found"
 msgstr "No Transaction %s found"
 
-#: ../output.py:1990
+#: ../output.py:2544
 msgid "Transaction ID:"
 msgstr "Transaction ID:"
 
-#: ../output.py:1991
+#: ../output.py:2545
 msgid "Available additional history information:"
 msgstr "Available additional history information:"
 
-#: ../output.py:2003
+#: ../output.py:2558
 #, python-format
 msgid "%s: No additional data found by this name"
 msgstr "%s: No additional data found by this name"
 
-#: ../output.py:2106
+#: ../output.py:2684
+msgid "Package        :"
+msgstr ""
+
+#: ../output.py:2685
+msgid "State          :"
+msgstr ""
+
+#: ../output.py:2688
+msgid "Size           :"
+msgstr ""
+
+#: ../output.py:2690
+msgid "Build host     :"
+msgstr ""
+
+#: ../output.py:2693
+msgid "Build time     :"
+msgstr ""
+
+#: ../output.py:2695
+msgid "Packager       :"
+msgstr ""
+
+#: ../output.py:2697
+msgid "Vendor         :"
+msgstr ""
+
+#: ../output.py:2699
+msgid "License        :"
+msgstr ""
+
+#: ../output.py:2701
+msgid "URL            :"
+msgstr ""
+
+#: ../output.py:2703
+msgid "Source RPM     :"
+msgstr ""
+
+#: ../output.py:2706
+msgid "Commit Time    :"
+msgstr ""
+
+#: ../output.py:2708
+msgid "Committer      :"
+msgstr ""
+
+#: ../output.py:2710
+msgid "Reason         :"
+msgstr ""
+
+#: ../output.py:2714
+msgid "From repo      :"
+msgstr ""
+
+#: ../output.py:2718
+msgid "Installed by   :"
+msgstr ""
+
+#: ../output.py:2722
+msgid "Changed by     :"
+msgstr ""
+
+#: ../output.py:2767
 msgid "installed"
 msgstr "installed"
 
-#: ../output.py:2107
+#: ../output.py:2768
 msgid "an update"
 msgstr "an update"
 
-#: ../output.py:2108
+#: ../output.py:2769
 msgid "erased"
 msgstr "erased"
 
-#: ../output.py:2109
+#: ../output.py:2770
 msgid "reinstalled"
 msgstr "reinstalled"
 
-#: ../output.py:2110
+#: ../output.py:2771
 msgid "a downgrade"
 msgstr "a downgrade"
 
-#: ../output.py:2111
+#: ../output.py:2772
 msgid "obsoleting"
 msgstr "obsoleting"
 
-#: ../output.py:2112
+#: ../output.py:2773
 msgid "updated"
 msgstr "updated"
 
-#: ../output.py:2113
+#: ../output.py:2774
 msgid "obsoleted"
 msgstr "obsoleted"
 
-#: ../output.py:2117
+#: ../output.py:2778
 #, python-format
 msgid "---> Package %s.%s %s:%s-%s will be %s"
 msgstr "---> Package %s.%s %s:%s-%s will be %s"
 
-#: ../output.py:2124
+#: ../output.py:2789
 msgid "--> Running transaction check"
 msgstr "--> Running transaction check"
 
-#: ../output.py:2129
+#: ../output.py:2795
 msgid "--> Restarting Dependency Resolution with new changes."
 msgstr "--> Restarting Dependency Resolution with new changes."
 
-#: ../output.py:2134
+#: ../output.py:2801
 msgid "--> Finished Dependency Resolution"
 msgstr "--> Finished Dependency Resolution"
 
-#: ../output.py:2139 ../output.py:2144
+#: ../output.py:2814 ../output.py:2827
 #, python-format
 msgid "--> Processing Dependency: %s for package: %s"
 msgstr "--> Processing Dependency: %s for package: %s"
 
-#: ../output.py:2149
+#: ../output.py:2841
 #, python-format
-msgid "---> Keeping package: %s"
-msgstr "---> Keeping package: %s"
+msgid "---> Keeping package: %s due to %s"
+msgstr ""
 
-#: ../output.py:2152
+#: ../output.py:2850
 #, python-format
 msgid "--> Unresolved Dependency: %s"
 msgstr "--> Unresolved Dependency: %s"
 
-#: ../output.py:2163
+#: ../output.py:2867
 #, python-format
 msgid "Package: %s"
 msgstr "Package: %s"
 
-#: ../output.py:2165
+#: ../output.py:2869
 #, python-format
 msgid ""
 "\n"
 "    Requires: %s"
-msgstr ""
-"\n"
-"    Requires: %s"
+msgstr "\n    Requires: %s"
 
-#: ../output.py:2174
+#: ../output.py:2878
 #, python-format
 msgid ""
 "\n"
 "    %s: %s (%s)"
-msgstr ""
-"\n"
-"    %s: %s (%s)"
+msgstr "\n    %s: %s (%s)"
 
-#: ../output.py:2179
+#: ../output.py:2883
 #, python-format
 msgid ""
 "\n"
 "        %s"
-msgstr ""
-"\n"
-"        %s"
+msgstr "\n        %s"
 
-#: ../output.py:2181
+#: ../output.py:2885
 msgid ""
 "\n"
 "        Not found"
-msgstr ""
-"\n"
-"        Not found"
+msgstr "\n        Not found"
 
 #. These should be the only three things we care about:
-#: ../output.py:2196
+#: ../output.py:2900
 msgid "Updated By"
 msgstr "Updated By"
 
-#: ../output.py:2197
+#: ../output.py:2901
 msgid "Downgraded By"
 msgstr "Downgraded By"
 
-#: ../output.py:2198
+#: ../output.py:2902
 msgid "Obsoleted By"
 msgstr "Obsoleted By"
 
-#: ../output.py:2216
+#: ../output.py:2920
 msgid "Available"
 msgstr "Available"
 
-#: ../output.py:2243 ../output.py:2248
+#: ../output.py:2955 ../output.py:2968
 #, python-format
 msgid "--> Processing Conflict: %s conflicts %s"
 msgstr "--> Processing Conflict: %s conflicts %s"
 
-#: ../output.py:2252
+#: ../output.py:2974
 msgid "--> Populating transaction set with selected packages. Please wait."
 msgstr "--> Populating transaction set with selected packages. Please wait."
 
-#: ../output.py:2256
+#: ../output.py:2983
 #, python-format
 msgid "---> Downloading header for %s to pack into transaction set."
 msgstr "---> Downloading header for %s to pack into transaction set."
 
-#: ../utils.py:99
+#. self.event(txmbr.name, count, len(base.tsInfo), count, )
+#. (te_current*100L)/te_total
+#: ../output.py:3248
+msgid "Verifying"
+msgstr "Verifying"
+
+#: ../utils.py:123
 msgid "Running"
 msgstr "Running"
 
-#: ../utils.py:100
+#: ../utils.py:124
 msgid "Sleeping"
 msgstr "Sleeping"
 
-#: ../utils.py:101
+#: ../utils.py:125
 msgid "Uninterruptible"
 msgstr "Uninterruptible"
 
-#: ../utils.py:102
+#: ../utils.py:126
 msgid "Zombie"
 msgstr "Zombie"
 
-#: ../utils.py:103
+#: ../utils.py:127
 msgid "Traced/Stopped"
 msgstr "Traced/Stopped"
 
-#: ../utils.py:104 ../yumcommands.py:994
+#: ../utils.py:128 ../yumcommands.py:2193
 msgid "Unknown"
 msgstr "Unknown"
 
-#: ../utils.py:115
+#: ../utils.py:153
 msgid "  The other application is: PackageKit"
 msgstr "  The other application is: PackageKit"
 
-#: ../utils.py:117
+#: ../utils.py:155
 #, python-format
 msgid "  The other application is: %s"
 msgstr "  The other application is: %s"
 
-#: ../utils.py:120
+#: ../utils.py:158
 #, python-format
 msgid "    Memory : %5s RSS (%5sB VSZ)"
 msgstr "    Memory : %5s RSS (%5sB VSZ)"
 
-#: ../utils.py:125
+#: ../utils.py:163
 #, python-format
 msgid "    Started: %s - %s ago"
 msgstr "    Started: %s - %s ago"
 
-#: ../utils.py:127
+#: ../utils.py:165
 #, python-format
 msgid "    State  : %s, pid: %d"
 msgstr "    State  : %s, pid: %d"
 
-#: ../utils.py:170 ../yummain.py:43
+#: ../utils.py:194 ../yummain.py:43
 msgid ""
 "\n"
 "\n"
 "Exiting on user cancel"
-msgstr ""
-"\n"
-"\n"
-"Exiting on user cancel"
+msgstr "\n\nExiting on user cancel"
 
-#: ../utils.py:176 ../yummain.py:49
+#: ../utils.py:206 ../yummain.py:49
 msgid ""
 "\n"
 "\n"
 "Exiting on Broken Pipe"
-msgstr ""
-"\n"
-"\n"
-"Exiting on Broken Pipe"
+msgstr "\n\nExiting on Broken Pipe"
 
-#: ../utils.py:178 ../yummain.py:51
+#: ../utils.py:208 ../yummain.py:51
 #, python-format
 msgid ""
 "\n"
 "\n"
 "%s"
-msgstr ""
-"\n"
-"\n"
-"%s"
+msgstr "\n\n%s"
 
-#: ../utils.py:228 ../yummain.py:123
-msgid ""
-"Another app is currently holding the yum lock; exiting as configured by "
-"exit_on_lock"
-msgstr ""
-"Another app is currently holding the yum lock; exiting as configured by "
-"exit_on_lock"
-
-#: ../utils.py:287
+#: ../utils.py:326
 #, python-format
 msgid "PluginExit Error: %s"
 msgstr "PluginExit Error: %s"
 
-#: ../utils.py:290
+#: ../utils.py:329
 #, python-format
 msgid "Yum Error: %s"
 msgstr "Yum Error: %s"
 
-#: ../utils.py:342 ../yummain.py:150 ../yummain.py:189
+#: ../utils.py:387 ../yummain.py:147 ../yummain.py:186
 #, python-format
 msgid "Error: %s"
 msgstr "Error: %s"
 
-#: ../utils.py:346 ../yummain.py:194
+#: ../utils.py:391 ../yummain.py:191
 msgid " You could try using --skip-broken to work around the problem"
 msgstr " You could try using --skip-broken to work around the problem"
 
-#: ../utils.py:348 ../yummain.py:87
+#: ../utils.py:393 ../yummain.py:87
 msgid " You could try running: rpm -Va --nofiles --nodigest"
 msgstr " You could try running: rpm -Va --nofiles --nodigest"
 
-#: ../utils.py:355 ../yummain.py:160 ../yummain.py:202
+#: ../utils.py:400 ../yummain.py:157 ../yummain.py:199
 #, python-format
 msgid "Unknown Error(s): Exit Code: %d:"
 msgstr "Unknown Error(s): Exit Code: %d:"
 
-#: ../utils.py:361 ../yummain.py:208
+#: ../utils.py:406 ../yummain.py:205
 msgid ""
 "\n"
 "Dependencies Resolved"
-msgstr ""
-"\n"
-"Dependencies Resolved"
+msgstr "\nDependencies Resolved"
 
-#: ../utils.py:376 ../yummain.py:234
+#: ../utils.py:422 ../yummain.py:237
 msgid "Complete!"
 msgstr "Complete!"
 
@@ -1510,7 +1652,7 @@ msgstr " Mini usage:\n"
 msgid "You need to be root to perform this command."
 msgstr "You need to be root to perform this command."
 
-#: ../yumcommands.py:59
+#: ../yumcommands.py:67
 msgid ""
 "\n"
 "You have enabled checking of packages via GPG keys. This is a good thing. \n"
@@ -1525,583 +1667,650 @@ msgid ""
 "will install it for you.\n"
 "\n"
 "For more information contact your distribution or package provider.\n"
-msgstr ""
-"\n"
-"You have enabled checking of packages via GPG keys. This is a good thing. \n"
-"However, you do not have any GPG public keys installed. You need to download\n"
-"the keys for packages you wish to install and install them.\n"
-"You can do that by running the command:\n"
-"    rpm --import public.gpg.key\n"
-"\n"
-"\n"
-"Alternatively you can specify the url to the key you would like to use\n"
-"for a repository in the 'gpgkey' option in a repository section and yum \n"
-"will install it for you.\n"
-"\n"
-"For more information contact your distribution or package provider.\n"
+msgstr "\nYou have enabled checking of packages via GPG keys. This is a good thing. \nHowever, you do not have any GPG public keys installed. You need to download\nthe keys for packages you wish to install and install them.\nYou can do that by running the command:\n    rpm --import public.gpg.key\n\n\nAlternatively you can specify the url to the key you would like to use\nfor a repository in the 'gpgkey' option in a repository section and yum \nwill install it for you.\n\nFor more information contact your distribution or package provider.\n"
 
-#: ../yumcommands.py:74
+#: ../yumcommands.py:82
 #, python-format
 msgid "Problem repository: %s"
-msgstr ""
+msgstr "Problem repository: %s"
 
-#: ../yumcommands.py:80
+#: ../yumcommands.py:96
 #, python-format
 msgid "Error: Need to pass a list of pkgs to %s"
 msgstr "Error: Need to pass a list of pkgs to %s"
 
-#: ../yumcommands.py:86
+#: ../yumcommands.py:114
+#, python-format
+msgid "Error: Need at least two packages to %s"
+msgstr ""
+
+#: ../yumcommands.py:129
+#, python-format
+msgid "Error: Need to pass a repoid. and command to %s"
+msgstr ""
+
+#: ../yumcommands.py:136 ../yumcommands.py:142
+#, python-format
+msgid "Error: Need to pass a single valid repoid. to %s"
+msgstr ""
+
+#: ../yumcommands.py:147
+#, python-format
+msgid "Error: Repo %s is not enabled"
+msgstr ""
+
+#: ../yumcommands.py:164
 msgid "Error: Need an item to match"
 msgstr "Error: Need an item to match"
 
-#: ../yumcommands.py:92
+#: ../yumcommands.py:178
 msgid "Error: Need a group or list of groups"
 msgstr "Error: Need a group or list of groups"
 
-#: ../yumcommands.py:101
+#: ../yumcommands.py:195
 #, python-format
 msgid "Error: clean requires an option: %s"
 msgstr "Error: clean requires an option: %s"
 
-#: ../yumcommands.py:106
+#: ../yumcommands.py:201
 #, python-format
 msgid "Error: invalid clean argument: %r"
 msgstr "Error: invalid clean argument: %r"
 
-#: ../yumcommands.py:119
+#: ../yumcommands.py:216
 msgid "No argument to shell"
 msgstr "No argument to shell"
 
-#: ../yumcommands.py:121
+#: ../yumcommands.py:218
 #, python-format
 msgid "Filename passed to shell: %s"
 msgstr "Filename passed to shell: %s"
 
-#: ../yumcommands.py:125
+#: ../yumcommands.py:222
 #, python-format
 msgid "File %s given as argument to shell does not exist."
 msgstr "File %s given as argument to shell does not exist."
 
-#: ../yumcommands.py:131
+#: ../yumcommands.py:228
 msgid "Error: more than one file given as argument to shell."
 msgstr "Error: more than one file given as argument to shell."
 
-#: ../yumcommands.py:148
+#: ../yumcommands.py:247
 msgid ""
 "There are no enabled repos.\n"
 " Run \"yum repolist all\" to see the repos you have.\n"
 " You can enable repos with yum-config-manager --enable <repo>"
-msgstr ""
-"There are no enabled repos.\n"
-" Run \"yum repolist all\" to see the repos you have.\n"
-" You can enable repos with yum-config-manager --enable <repo>"
+msgstr "There are no enabled repos.\n Run \"yum repolist all\" to see the repos you have.\n You can enable repos with yum-config-manager --enable <repo>"
 
-#: ../yumcommands.py:200
+#: ../yumcommands.py:383
 msgid "PACKAGE..."
 msgstr "PACKAGE..."
 
-#: ../yumcommands.py:203
+#: ../yumcommands.py:390
 msgid "Install a package or packages on your system"
 msgstr "Install a package or packages on your system"
 
-#: ../yumcommands.py:212
+#: ../yumcommands.py:421
 msgid "Setting up Install Process"
 msgstr "Setting up Install Process"
 
-#: ../yumcommands.py:223 ../yumcommands.py:245
+#: ../yumcommands.py:447 ../yumcommands.py:507
 msgid "[PACKAGE...]"
 msgstr "[PACKAGE...]"
 
-#: ../yumcommands.py:226
+#: ../yumcommands.py:454
 msgid "Update a package or packages on your system"
 msgstr "Update a package or packages on your system"
 
-#: ../yumcommands.py:234
+#: ../yumcommands.py:483
 msgid "Setting up Update Process"
 msgstr "Setting up Update Process"
 
-#: ../yumcommands.py:248
+#: ../yumcommands.py:514
 msgid "Synchronize installed packages to the latest available versions"
 msgstr "Synchronise installed packages to the latest available versions"
 
-#: ../yumcommands.py:256
+#: ../yumcommands.py:543
 msgid "Setting up Distribution Synchronization Process"
 msgstr "Setting up Distribution Synchronisation Process"
 
-#: ../yumcommands.py:299
+#: ../yumcommands.py:603
 msgid "Display details about a package or group of packages"
 msgstr "Display details about a package or group of packages"
 
-#: ../yumcommands.py:348
+#: ../yumcommands.py:672
 msgid "Installed Packages"
 msgstr "Installed Packages"
 
-#: ../yumcommands.py:356
+#: ../yumcommands.py:682
 msgid "Available Packages"
 msgstr "Available Packages"
 
-#: ../yumcommands.py:360
+#: ../yumcommands.py:687
 msgid "Extra Packages"
 msgstr "Extra Packages"
 
-#: ../yumcommands.py:364
+#: ../yumcommands.py:691
 msgid "Updated Packages"
 msgstr "Updated Packages"
 
 #. This only happens in verbose mode
-#: ../yumcommands.py:372 ../yumcommands.py:379 ../yumcommands.py:667
+#: ../yumcommands.py:699 ../yumcommands.py:706 ../yumcommands.py:1539
 msgid "Obsoleting Packages"
 msgstr "Obsoleting Packages"
 
-#: ../yumcommands.py:381
+#: ../yumcommands.py:708
 msgid "Recently Added Packages"
 msgstr "Recently Added Packages"
 
-#: ../yumcommands.py:388
+#: ../yumcommands.py:715
 msgid "No matching Packages to list"
 msgstr "No matching Packages to list"
 
-#: ../yumcommands.py:402
+#: ../yumcommands.py:766
 msgid "List a package or groups of packages"
 msgstr "List a package or groups of packages"
 
-#: ../yumcommands.py:414
+#: ../yumcommands.py:797
 msgid "Remove a package or packages from your system"
 msgstr "Remove a package or packages from your system"
 
-#: ../yumcommands.py:421
+#: ../yumcommands.py:845
 msgid "Setting up Remove Process"
 msgstr "Setting up Remove Process"
 
-#: ../yumcommands.py:435
+#: ../yumcommands.py:906
+msgid "Display, or use, the groups information"
+msgstr "Display, or use, the groups information"
+
+#: ../yumcommands.py:909
 msgid "Setting up Group Process"
 msgstr "Setting up Group Process"
 
-#: ../yumcommands.py:441
+#: ../yumcommands.py:915
 msgid "No Groups on which to run command"
 msgstr "No Groups on which to run command"
 
-#: ../yumcommands.py:454
-msgid "List available package groups"
-msgstr "List available package groups"
-
-#: ../yumcommands.py:474
-msgid "Install the packages in a group on your system"
-msgstr "Install the packages in a group on your system"
+#: ../yumcommands.py:985
+#, python-format
+msgid "Invalid groups sub-command, use: %s."
+msgstr "Invalid groups sub-command, use: %s."
 
-#: ../yumcommands.py:497
-msgid "Remove the packages in a group from your system"
-msgstr "Remove the packages in a group from your system"
+#: ../yumcommands.py:992
+msgid "There is no installed groups file."
+msgstr "There is no installed groups file."
 
-#: ../yumcommands.py:525
-msgid "Display details about a package group"
-msgstr "Display details about a package group"
+#: ../yumcommands.py:994
+msgid "You don't have access to the groups DB."
+msgstr "You don't have access to the groups DB."
 
-#: ../yumcommands.py:550
+#: ../yumcommands.py:1256
 msgid "Generate the metadata cache"
 msgstr "Generate the metadata cache"
 
-#: ../yumcommands.py:556
+#: ../yumcommands.py:1282
 msgid "Making cache files for all metadata files."
 msgstr "Making cache files for all metadata files."
 
-#: ../yumcommands.py:557
+#: ../yumcommands.py:1283
 msgid "This may take a while depending on the speed of this computer"
 msgstr "This may take a while depending on the speed of this computer"
 
-#: ../yumcommands.py:578
+#: ../yumcommands.py:1312
 msgid "Metadata Cache Created"
 msgstr "Metadata Cache Created"
 
-#: ../yumcommands.py:592
+#: ../yumcommands.py:1350
 msgid "Remove cached data"
 msgstr "Remove cached data"
 
-#: ../yumcommands.py:613
+#: ../yumcommands.py:1417
 msgid "Find what package provides the given value"
 msgstr "Find what package provides the given value"
 
-#: ../yumcommands.py:633
+#: ../yumcommands.py:1485
 msgid "Check for available package updates"
 msgstr "Check for available package updates"
 
-#: ../yumcommands.py:687
+#: ../yumcommands.py:1587
 msgid "Search package details for the given string"
 msgstr "Search package details for the given string"
 
-#: ../yumcommands.py:693
+#: ../yumcommands.py:1613
 msgid "Searching Packages: "
 msgstr "Searching Packages: "
 
-#: ../yumcommands.py:710
+#: ../yumcommands.py:1666
 msgid "Update packages taking obsoletes into account"
 msgstr "Update packages taking obsoletes into account"
 
-#: ../yumcommands.py:719
+#: ../yumcommands.py:1696
 msgid "Setting up Upgrade Process"
 msgstr "Setting up Upgrade Process"
 
-#: ../yumcommands.py:737
+#: ../yumcommands.py:1731
 msgid "Install a local RPM"
 msgstr "Install a local RPM"
 
-#: ../yumcommands.py:745
+#: ../yumcommands.py:1761
 msgid "Setting up Local Package Process"
 msgstr "Setting up Local Package Process"
 
-#: ../yumcommands.py:764
-msgid "Determine which package provides the given dependency"
-msgstr "Determine which package provides the given dependency"
-
-#: ../yumcommands.py:767
+#: ../yumcommands.py:1825
 msgid "Searching Packages for Dependency:"
 msgstr "Searching Packages for Dependency:"
 
-#: ../yumcommands.py:781
+#: ../yumcommands.py:1867
 msgid "Run an interactive yum shell"
 msgstr "Run an interactive yum shell"
 
-#: ../yumcommands.py:787
+#: ../yumcommands.py:1893
 msgid "Setting up Yum Shell"
 msgstr "Setting up Yum Shell"
 
-#: ../yumcommands.py:805
+#: ../yumcommands.py:1936
 msgid "List a package's dependencies"
 msgstr "List a package's dependencies"
 
-#: ../yumcommands.py:811
+#: ../yumcommands.py:1963
 msgid "Finding dependencies: "
 msgstr "Finding dependencies: "
 
-#: ../yumcommands.py:827
+#: ../yumcommands.py:2005
 msgid "Display the configured software repositories"
 msgstr "Display the configured software repositories"
 
-#: ../yumcommands.py:893 ../yumcommands.py:894
+#: ../yumcommands.py:2094 ../yumcommands.py:2095
 msgid "enabled"
 msgstr "enabled"
 
-#: ../yumcommands.py:920 ../yumcommands.py:921
+#: ../yumcommands.py:2121 ../yumcommands.py:2122
 msgid "disabled"
 msgstr "disabled"
 
-#: ../yumcommands.py:937
+#: ../yumcommands.py:2137
 msgid "Repo-id      : "
 msgstr "Repo-id      : "
 
-#: ../yumcommands.py:938
+#: ../yumcommands.py:2138
 msgid "Repo-name    : "
 msgstr "Repo-name    : "
 
-#: ../yumcommands.py:941
+#: ../yumcommands.py:2141
 msgid "Repo-status  : "
 msgstr "Repo-status  : "
 
-#: ../yumcommands.py:944
+#: ../yumcommands.py:2144
 msgid "Repo-revision: "
 msgstr "Repo-revision: "
 
-#: ../yumcommands.py:948
+#: ../yumcommands.py:2148
 msgid "Repo-tags    : "
 msgstr "Repo-tags    : "
 
-#: ../yumcommands.py:954
+#: ../yumcommands.py:2154
 msgid "Repo-distro-tags: "
 msgstr "Repo-distro-tags: "
 
-#: ../yumcommands.py:959
+#: ../yumcommands.py:2159
 msgid "Repo-updated : "
 msgstr "Repo-updated : "
 
-#: ../yumcommands.py:961
+#: ../yumcommands.py:2161
 msgid "Repo-pkgs    : "
 msgstr "Repo-pkgs    : "
 
-#: ../yumcommands.py:962
+#: ../yumcommands.py:2162
 msgid "Repo-size    : "
 msgstr "Repo-size    : "
 
-#: ../yumcommands.py:969 ../yumcommands.py:990
+#: ../yumcommands.py:2169 ../yumcommands.py:2190
 msgid "Repo-baseurl : "
 msgstr "Repo-baseurl : "
 
-#: ../yumcommands.py:977
+#: ../yumcommands.py:2177
 msgid "Repo-metalink: "
 msgstr "Repo-metalink: "
 
-#: ../yumcommands.py:981
+#: ../yumcommands.py:2181
 msgid "  Updated    : "
 msgstr "  Updated    : "
 
-#: ../yumcommands.py:984
+#: ../yumcommands.py:2184
 msgid "Repo-mirrors : "
 msgstr "Repo-mirrors : "
 
-#: ../yumcommands.py:1000
+#: ../yumcommands.py:2199
 #, python-format
 msgid "Never (last: %s)"
 msgstr "Never (last: %s)"
 
-#: ../yumcommands.py:1002
+#: ../yumcommands.py:2201
 #, python-format
 msgid "Instant (last: %s)"
 msgstr "Instant (last: %s)"
 
-#: ../yumcommands.py:1005
+#: ../yumcommands.py:2204
 #, python-format
 msgid "%s second(s) (last: %s)"
 msgstr "%s second(s) (last: %s)"
 
-#: ../yumcommands.py:1007
+#: ../yumcommands.py:2206
 msgid "Repo-expire  : "
 msgstr "Repo-expire  : "
 
-#: ../yumcommands.py:1010
+#: ../yumcommands.py:2209
 msgid "Repo-exclude : "
 msgstr "Repo-exclude : "
 
-#: ../yumcommands.py:1014
+#: ../yumcommands.py:2213
 msgid "Repo-include : "
 msgstr "Repo-include : "
 
-#: ../yumcommands.py:1018
+#: ../yumcommands.py:2217
 msgid "Repo-excluded: "
 msgstr "Repo-excluded: "
 
-#: ../yumcommands.py:1022
+#: ../yumcommands.py:2221
 msgid "Repo-filename: "
-msgstr ""
+msgstr "Repo-filename: "
 
 #. Work out the first (id) and last (enabled/disalbed/count),
 #. then chop the middle (name)...
-#: ../yumcommands.py:1032 ../yumcommands.py:1061
+#: ../yumcommands.py:2230 ../yumcommands.py:2259
 msgid "repo id"
 msgstr "repo id"
 
-#: ../yumcommands.py:1049 ../yumcommands.py:1050 ../yumcommands.py:1068
+#: ../yumcommands.py:2247 ../yumcommands.py:2248 ../yumcommands.py:2266
 msgid "status"
 msgstr "status"
 
-#: ../yumcommands.py:1062
+#: ../yumcommands.py:2260
 msgid "repo name"
 msgstr "repo name"
 
-#: ../yumcommands.py:1099
+#: ../yumcommands.py:2332
 msgid "Display a helpful usage message"
 msgstr "Display a helpful usage message"
 
-#: ../yumcommands.py:1133
+#: ../yumcommands.py:2374
 #, python-format
 msgid "No help available for %s"
 msgstr "No help available for %s"
 
-#: ../yumcommands.py:1138
+#: ../yumcommands.py:2379
 msgid ""
 "\n"
 "\n"
 "aliases: "
-msgstr ""
-"\n"
-"\n"
-"aliases: "
+msgstr "\n\naliases: "
 
-#: ../yumcommands.py:1140
+#: ../yumcommands.py:2381
 msgid ""
 "\n"
 "\n"
 "alias: "
-msgstr ""
-"\n"
-"\n"
-"alias: "
+msgstr "\n\nalias: "
 
-#: ../yumcommands.py:1168
+#: ../yumcommands.py:2466
 msgid "Setting up Reinstall Process"
 msgstr "Setting up Reinstall Process"
 
-#: ../yumcommands.py:1176
+#: ../yumcommands.py:2478
 msgid "reinstall a package"
 msgstr "reinstall a package"
 
-#: ../yumcommands.py:1195
+#: ../yumcommands.py:2541
 msgid "Setting up Downgrade Process"
 msgstr "Setting up Downgrade Process"
 
-#: ../yumcommands.py:1202
+#: ../yumcommands.py:2552
 msgid "downgrade a package"
 msgstr "downgrade a package"
 
-#: ../yumcommands.py:1216
+#: ../yumcommands.py:2591
 msgid "Display a version for the machine and/or available repos."
 msgstr "Display a version for the machine and/or available repos."
 
-#: ../yumcommands.py:1255
+#: ../yumcommands.py:2643
 msgid " Yum version groups:"
 msgstr " Yum version groups:"
 
-#: ../yumcommands.py:1265
+#: ../yumcommands.py:2653
 msgid " Group   :"
 msgstr " Group   :"
 
-#: ../yumcommands.py:1266
+#: ../yumcommands.py:2654
 msgid " Packages:"
 msgstr " Packages:"
 
-#: ../yumcommands.py:1295
+#: ../yumcommands.py:2683
 msgid "Installed:"
 msgstr "Installed:"
 
-#: ../yumcommands.py:1303
+#: ../yumcommands.py:2691
 msgid "Group-Installed:"
 msgstr "Group-Installed:"
 
-#: ../yumcommands.py:1312
+#: ../yumcommands.py:2700
 msgid "Available:"
 msgstr "Available:"
 
-#: ../yumcommands.py:1321
+#: ../yumcommands.py:2709
 msgid "Group-Available:"
 msgstr "Group-Available:"
 
-#: ../yumcommands.py:1360
+#: ../yumcommands.py:2783
 msgid "Display, or use, the transaction history"
 msgstr "Display, or use, the transaction history"
 
-#: ../yumcommands.py:1432
+#: ../yumcommands.py:2876 ../yumcommands.py:2880
+msgid "Transactions:"
+msgstr "Transactions:"
+
+#: ../yumcommands.py:2881
+msgid "Begin time  :"
+msgstr ""
+
+#: ../yumcommands.py:2882
+msgid "End time    :"
+msgstr ""
+
+#: ../yumcommands.py:2883
+msgid "Counts      :"
+msgstr ""
+
+#: ../yumcommands.py:2884
+msgid "  NEVRAC :"
+msgstr ""
+
+#: ../yumcommands.py:2885
+msgid "  NEVRA  :"
+msgstr ""
+
+#: ../yumcommands.py:2886
+msgid "  NA     :"
+msgstr ""
+
+#: ../yumcommands.py:2887
+msgid "  NEVR   :"
+msgstr ""
+
+#: ../yumcommands.py:2888
+msgid "  rpm DB :"
+msgstr " rpm DB :"
+
+#: ../yumcommands.py:2889
+msgid "  yum DB :"
+msgstr " yum DB :"
+
+#: ../yumcommands.py:2922
 #, python-format
 msgid "Invalid history sub-command, use: %s."
 msgstr "Invalid history sub-command, use: %s."
 
-#: ../yumcommands.py:1439
+#: ../yumcommands.py:2929
 msgid "You don't have access to the history DB."
 msgstr "You don't have access to the history DB."
 
-#: ../yumcommands.py:1487
+#: ../yumcommands.py:3036
 msgid "Check for problems in the rpmdb"
 msgstr "Check for problems in the rpmdb"
 
-#: ../yumcommands.py:1514
+#: ../yumcommands.py:3102
 msgid "load a saved transaction from filename"
 msgstr "load a saved transaction from filename"
 
-#: ../yumcommands.py:1518
+#: ../yumcommands.py:3119
 msgid "No saved transaction file specified."
 msgstr "No saved transaction file specified."
 
-#: ../yumcommands.py:1522
+#: ../yumcommands.py:3123
 #, python-format
 msgid "loading transaction from %s"
 msgstr "loading transaction from %s"
 
-#: ../yumcommands.py:1528
+#: ../yumcommands.py:3129
 #, python-format
 msgid "Transaction loaded from %s with %s members"
 msgstr "Transaction loaded from %s with %s members"
 
+#: ../yumcommands.py:3169
+msgid "Simple way to swap packages, isntead of using shell"
+msgstr ""
+
+#: ../yumcommands.py:3264
+msgid ""
+"Treat a repo. as a group of packages, so we can install/remove all of them"
+msgstr ""
+
+#: ../yumcommands.py:3341
+#, python-format
+msgid "%d package to update"
+msgid_plural "%d packages to update"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../yumcommands.py:3370
+#, python-format
+msgid "%d package to remove/reinstall"
+msgid_plural "%d packages to remove/reinstall"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../yumcommands.py:3413
+#, python-format
+msgid "%d package to remove/sync"
+msgid_plural "%d packages to remove/sync"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../yumcommands.py:3417
+#, python-format
+msgid "Not a valid sub-command of %s"
+msgstr ""
+
 #. This is mainly for PackageSackError from rpmdb.
 #: ../yummain.py:84
 #, python-format
 msgid " Yum checks failed: %s"
 msgstr " Yum checks failed: %s"
 
-#: ../yummain.py:114
-msgid ""
-"Another app is currently holding the yum lock; waiting for it to exit..."
-msgstr ""
-"Another app is currently holding the yum lock; waiting for it to exit..."
+#: ../yummain.py:98
+msgid "No read/execute access in current directory, moving to /"
+msgstr "No read/execute access in current directory, moving to /"
 
-#: ../yummain.py:120
-msgid "Can't create lock file; exiting"
-msgstr "Can't create lock file; exiting"
+#: ../yummain.py:106
+msgid "No getcwd() access in current directory, moving to /"
+msgstr "No getcwd() access in current directory, moving to /"
 
 #. Depsolve stage
-#: ../yummain.py:167
+#: ../yummain.py:164
 msgid "Resolving Dependencies"
 msgstr "Resolving Dependencies"
 
-#: ../yummain.py:230
+#: ../yummain.py:227 ../yummain.py:235
 #, python-format
-msgid "Your transaction was saved, rerun it with: yum load-transaction %s"
-msgstr "Your transaction was saved, rerun it with: yum load-transaction %s"
-
-#: ../yummain.py:288
 msgid ""
-"\n"
-"\n"
-"Exiting on user cancel."
+"Your transaction was saved, rerun it with:\n"
+" yum load-transaction %s"
 msgstr ""
+
+#: ../yummain.py:312
+msgid ""
 "\n"
 "\n"
 "Exiting on user cancel."
+msgstr "\n\nExiting on user cancel."
 
-#: ../yum/depsolve.py:84
+#: ../yum/depsolve.py:127
 msgid "doTsSetup() will go away in a future version of Yum.\n"
 msgstr "doTsSetup() will go away in a future version of Yum.\n"
 
-#: ../yum/depsolve.py:99
+#: ../yum/depsolve.py:143
 msgid "Setting up TransactionSets before config class is up"
 msgstr "Setting up TransactionSets before config class is up"
 
-#: ../yum/depsolve.py:153
+#: ../yum/depsolve.py:200
 #, python-format
 msgid "Invalid tsflag in config file: %s"
 msgstr "Invalid tsflag in config file: %s"
 
-#: ../yum/depsolve.py:164
+#: ../yum/depsolve.py:218
 #, python-format
 msgid "Searching pkgSack for dep: %s"
 msgstr "Searching pkgSack for dep: %s"
 
-#: ../yum/depsolve.py:207
+#: ../yum/depsolve.py:269
 #, python-format
 msgid "Member: %s"
 msgstr "Member: %s"
 
-#: ../yum/depsolve.py:221 ../yum/depsolve.py:793
+#: ../yum/depsolve.py:283 ../yum/depsolve.py:937
 #, python-format
 msgid "%s converted to install"
 msgstr "%s converted to install"
 
-#: ../yum/depsolve.py:233
+#: ../yum/depsolve.py:295
 #, python-format
 msgid "Adding Package %s in mode %s"
 msgstr "Adding Package %s in mode %s"
 
-#: ../yum/depsolve.py:249
+#: ../yum/depsolve.py:311
 #, python-format
 msgid "Removing Package %s"
 msgstr "Removing Package %s"
 
-#: ../yum/depsolve.py:271
+#: ../yum/depsolve.py:333
 #, python-format
 msgid "%s requires: %s"
 msgstr "%s requires: %s"
 
-#: ../yum/depsolve.py:312
+#: ../yum/depsolve.py:374
 #, python-format
 msgid "%s requires %s"
 msgstr "%s requires %s"
 
-#: ../yum/depsolve.py:339
+#: ../yum/depsolve.py:401
 msgid "Needed Require has already been looked up, cheating"
 msgstr "Needed Require has already been looked up, cheating"
 
-#: ../yum/depsolve.py:349
+#: ../yum/depsolve.py:411
 #, python-format
 msgid "Needed Require is not a package name. Looking up: %s"
 msgstr "Needed Require is not a package name. Looking up: %s"
 
-#: ../yum/depsolve.py:357
+#: ../yum/depsolve.py:419
 #, python-format
 msgid "Potential Provider: %s"
 msgstr "Potential Provider: %s"
 
-#: ../yum/depsolve.py:380
+#: ../yum/depsolve.py:442
 #, python-format
 msgid "Mode is %s for provider of %s: %s"
 msgstr "Mode is %s for provider of %s: %s"
 
-#: ../yum/depsolve.py:384
+#: ../yum/depsolve.py:446
 #, python-format
 msgid "Mode for pkg providing %s: %s"
 msgstr "Mode for pkg providing %s: %s"
@@ -2109,1025 +2318,1140 @@ msgstr "Mode for pkg providing %s: %s"
 #. the thing it needs is being updated or obsoleted away
 #. try to update the requiring package in hopes that all this problem goes
 #. away :(
-#: ../yum/depsolve.py:389 ../yum/depsolve.py:406
+#: ../yum/depsolve.py:451 ../yum/depsolve.py:486
 #, python-format
 msgid "Trying to update %s to resolve dep"
 msgstr "Trying to update %s to resolve dep"
 
-#: ../yum/depsolve.py:400 ../yum/depsolve.py:410
+#: ../yum/depsolve.py:480
 #, python-format
 msgid "No update paths found for %s. Failure!"
 msgstr "No update paths found for %s. Failure!"
 
-#: ../yum/depsolve.py:416
+#: ../yum/depsolve.py:491
+#, python-format
+msgid "No update paths found for %s. Failure due to requirement: %s!"
+msgstr ""
+
+#: ../yum/depsolve.py:507
+#, python-format
+msgid "Update for %s. Doesn't fix requirement: %s!"
+msgstr ""
+
+#: ../yum/depsolve.py:514
 #, python-format
 msgid "TSINFO: %s package requiring %s marked as erase"
 msgstr "TSINFO: %s package requiring %s marked as erase"
 
-#: ../yum/depsolve.py:429
+#: ../yum/depsolve.py:527
 #, python-format
 msgid "TSINFO: Obsoleting %s with %s to resolve dep."
 msgstr "TSINFO: Obsoleting %s with %s to resolve dep."
 
-#: ../yum/depsolve.py:432
+#: ../yum/depsolve.py:530
 #, python-format
 msgid "TSINFO: Updating %s to resolve dep."
 msgstr "TSINFO: Updating %s to resolve dep."
 
-#: ../yum/depsolve.py:440
+#: ../yum/depsolve.py:538
 #, python-format
 msgid "Cannot find an update path for dep for: %s"
 msgstr "Cannot find an update path for dep for: %s"
 
-#: ../yum/depsolve.py:471
+#: ../yum/depsolve.py:569
 #, python-format
 msgid "Quick matched %s to require for %s"
 msgstr "Quick matched %s to require for %s"
 
 #. is it already installed?
-#: ../yum/depsolve.py:513
+#: ../yum/depsolve.py:611
 #, python-format
 msgid "%s is in providing packages but it is already installed, removing."
 msgstr "%s is in providing packages but it is already installed, removing."
 
-#: ../yum/depsolve.py:529
+#: ../yum/depsolve.py:627
 #, python-format
 msgid "Potential resolving package %s has newer instance in ts."
 msgstr "Potential resolving package %s has newer instance in ts."
 
-#: ../yum/depsolve.py:540
+#: ../yum/depsolve.py:638
 #, python-format
 msgid "Potential resolving package %s has newer instance installed."
 msgstr "Potential resolving package %s has newer instance installed."
 
-#: ../yum/depsolve.py:558
+#: ../yum/depsolve.py:656
 #, python-format
 msgid "%s already in ts, skipping this one"
 msgstr "%s already in ts, skipping this one"
 
-#: ../yum/depsolve.py:607
+#: ../yum/depsolve.py:705
 #, python-format
 msgid "TSINFO: Marking %s as update for %s"
 msgstr "TSINFO: Marking %s as update for %s"
 
-#: ../yum/depsolve.py:616
+#: ../yum/depsolve.py:714
 #, python-format
 msgid "TSINFO: Marking %s as install for %s"
 msgstr "TSINFO: Marking %s as install for %s"
 
-#: ../yum/depsolve.py:727 ../yum/depsolve.py:819
+#: ../yum/depsolve.py:849 ../yum/depsolve.py:967
 msgid "Success - empty transaction"
 msgstr "Success - empty transaction"
 
-#: ../yum/depsolve.py:767 ../yum/depsolve.py:783
+#: ../yum/depsolve.py:889 ../yum/depsolve.py:927
 msgid "Restarting Loop"
 msgstr "Restarting Loop"
 
-#: ../yum/depsolve.py:799
+#: ../yum/depsolve.py:947
 msgid "Dependency Process ending"
 msgstr "Dependency Process ending"
 
-#: ../yum/depsolve.py:821
+#: ../yum/depsolve.py:969
 msgid "Success - deps resolved"
 msgstr "Success - deps resolved"
 
-#: ../yum/depsolve.py:845
+#: ../yum/depsolve.py:993
 #, python-format
 msgid "Checking deps for %s"
 msgstr "Checking deps for %s"
 
-#: ../yum/depsolve.py:931
+#: ../yum/depsolve.py:1082
 #, python-format
 msgid "looking for %s as a requirement of %s"
 msgstr "looking for %s as a requirement of %s"
 
-#: ../yum/depsolve.py:1169
+#: ../yum/depsolve.py:1349
 #, python-format
 msgid "Running compare_providers() for %s"
 msgstr "Running compare_providers() for %s"
 
-#: ../yum/depsolve.py:1196 ../yum/depsolve.py:1202
+#: ../yum/depsolve.py:1376 ../yum/depsolve.py:1382
 #, python-format
 msgid "better arch in po %s"
 msgstr "better arch in po %s"
 
-#: ../yum/depsolve.py:1298
+#: ../yum/depsolve.py:1496
 #, python-format
 msgid "%s obsoletes %s"
 msgstr "%s obsoletes %s"
 
-#: ../yum/depsolve.py:1310
+#: ../yum/depsolve.py:1508
 #, python-format
 msgid ""
 "archdist compared %s to %s on %s\n"
 "  Winner: %s"
-msgstr ""
-"archdist compared %s to %s on %s\n"
-"  Winner: %s"
+msgstr "archdist compared %s to %s on %s\n  Winner: %s"
 
-#: ../yum/depsolve.py:1318
+#: ../yum/depsolve.py:1516
 #, python-format
 msgid "common sourcerpm %s and %s"
 msgstr "common sourcerpm %s and %s"
 
-#: ../yum/depsolve.py:1322
+#: ../yum/depsolve.py:1520
 #, python-format
 msgid "base package %s is installed for %s"
 msgstr "base package %s is installed for %s"
 
-#: ../yum/depsolve.py:1328
+#: ../yum/depsolve.py:1526
 #, python-format
 msgid "common prefix of %s between %s and %s"
 msgstr "common prefix of %s between %s and %s"
 
-#: ../yum/depsolve.py:1359
+#: ../yum/depsolve.py:1543
 #, python-format
-msgid "requires minimal: %d"
-msgstr "requires minimal: %d"
+msgid "provides vercmp: %s"
+msgstr "provides vercmp: %s"
 
-#: ../yum/depsolve.py:1363
+#: ../yum/depsolve.py:1547 ../yum/depsolve.py:1581
 #, python-format
 msgid " Winner: %s"
 msgstr " Winner: %s"
 
-#: ../yum/depsolve.py:1368
+#: ../yum/depsolve.py:1577
+#, python-format
+msgid "requires minimal: %d"
+msgstr "requires minimal: %d"
+
+#: ../yum/depsolve.py:1586
 #, python-format
 msgid " Loser(with %d): %s"
 msgstr " Loser(with %d): %s"
 
-#: ../yum/depsolve.py:1384
+#: ../yum/depsolve.py:1602
 #, python-format
 msgid "Best Order: %s"
 msgstr "Best Order: %s"
 
-#: ../yum/__init__.py:234
+#: ../yum/__init__.py:274
 msgid "doConfigSetup() will go away in a future version of Yum.\n"
 msgstr "doConfigSetup() will go away in a future version of Yum.\n"
 
-#: ../yum/__init__.py:482
+#: ../yum/__init__.py:553
+#, python-format
+msgid "Skipping unreadable repository %s"
+msgstr ""
+
+#: ../yum/__init__.py:572
 #, python-format
 msgid "Repository %r: Error parsing config: %s"
 msgstr "Repository %r: Error parsing config: %s"
 
-#: ../yum/__init__.py:488
+#: ../yum/__init__.py:578
 #, python-format
 msgid "Repository %r is missing name in configuration, using id"
 msgstr "Repository %r is missing name in configuration, using id"
 
-#: ../yum/__init__.py:526
+#: ../yum/__init__.py:618
 msgid "plugins already initialised"
 msgstr "plugins already initialised"
 
-#: ../yum/__init__.py:533
+#: ../yum/__init__.py:627
 msgid "doRpmDBSetup() will go away in a future version of Yum.\n"
 msgstr "doRpmDBSetup() will go away in a future version of Yum.\n"
 
-#: ../yum/__init__.py:544
+#: ../yum/__init__.py:638
 msgid "Reading Local RPMDB"
 msgstr "Reading Local RPMDB"
 
-#: ../yum/__init__.py:567
+#: ../yum/__init__.py:668
 msgid "doRepoSetup() will go away in a future version of Yum.\n"
 msgstr "doRepoSetup() will go away in a future version of Yum.\n"
 
-#: ../yum/__init__.py:630
+#: ../yum/__init__.py:722
 msgid "doSackSetup() will go away in a future version of Yum.\n"
 msgstr "doSackSetup() will go away in a future version of Yum.\n"
 
-#: ../yum/__init__.py:660
+#: ../yum/__init__.py:752
 msgid "Setting up Package Sacks"
 msgstr "Setting up Package Sacks"
 
-#: ../yum/__init__.py:705
+#: ../yum/__init__.py:797
 #, python-format
 msgid "repo object for repo %s lacks a _resetSack method\n"
 msgstr "repo object for repo %s lacks a _resetSack method\n"
 
-#: ../yum/__init__.py:706
+#: ../yum/__init__.py:798
 msgid "therefore this repo cannot be reset.\n"
 msgstr "therefore this repo cannot be reset.\n"
 
-#: ../yum/__init__.py:711
+#: ../yum/__init__.py:806
 msgid "doUpdateSetup() will go away in a future version of Yum.\n"
 msgstr "doUpdateSetup() will go away in a future version of Yum.\n"
 
-#: ../yum/__init__.py:723
+#: ../yum/__init__.py:818
 msgid "Building updates object"
 msgstr "Building updates object"
 
-#: ../yum/__init__.py:765
+#: ../yum/__init__.py:862
 msgid "doGroupSetup() will go away in a future version of Yum.\n"
 msgstr "doGroupSetup() will go away in a future version of Yum.\n"
 
-#: ../yum/__init__.py:790
+#: ../yum/__init__.py:887
 msgid "Getting group metadata"
 msgstr "Getting group metadata"
 
-#: ../yum/__init__.py:816
+#: ../yum/__init__.py:915
 #, python-format
 msgid "Adding group file from repository: %s"
 msgstr "Adding group file from repository: %s"
 
-#: ../yum/__init__.py:827
+#: ../yum/__init__.py:918
+#, python-format
+msgid "Failed to retrieve group file for repository: %s"
+msgstr ""
+
+#: ../yum/__init__.py:924
 #, python-format
 msgid "Failed to add groups file for repository: %s - %s"
 msgstr "Failed to add groups file for repository: %s - %s"
 
-#: ../yum/__init__.py:833
+#: ../yum/__init__.py:930
 msgid "No Groups Available in any repository"
 msgstr "No Groups Available in any repository"
 
-#: ../yum/__init__.py:845
+#: ../yum/__init__.py:945
 msgid "Getting pkgtags metadata"
 msgstr "Getting pkgtags metadata"
 
-#: ../yum/__init__.py:855
+#: ../yum/__init__.py:955
 #, python-format
 msgid "Adding tags from repository: %s"
 msgstr "Adding tags from repository: %s"
 
-#: ../yum/__init__.py:866
+#: ../yum/__init__.py:966
 #, python-format
 msgid "Failed to add Pkg Tags for repository: %s - %s"
 msgstr "Failed to add Pkg Tags for repository: %s - %s"
 
-#: ../yum/__init__.py:944
+#: ../yum/__init__.py:1059
 msgid "Importing additional filelist information"
 msgstr "Importing additional filelist information"
 
-#: ../yum/__init__.py:958
+#: ../yum/__init__.py:1077
 #, python-format
 msgid "The program %s%s%s is found in the yum-utils package."
 msgstr "The program %s%s%s is found in the yum-utils package."
 
-#: ../yum/__init__.py:966
+#: ../yum/__init__.py:1094
 msgid ""
 "There are unfinished transactions remaining. You might consider running yum-"
 "complete-transaction first to finish them."
-msgstr ""
-"There are unfinished transactions remaining. You might consider running yum-"
-"complete-transaction first to finish them."
+msgstr "There are unfinished transactions remaining. You might consider running yum-complete-transaction first to finish them."
 
-#: ../yum/__init__.py:983
+#: ../yum/__init__.py:1111
 msgid "--> Finding unneeded leftover dependencies"
 msgstr "--> Finding unneeded leftover dependencies"
 
-#: ../yum/__init__.py:1041
+#: ../yum/__init__.py:1169
 #, python-format
 msgid "Protected multilib versions: %s != %s"
 msgstr "Protected multilib versions: %s != %s"
 
-#: ../yum/__init__.py:1096
+#. People are confused about protected mutilib ... so give
+#. them a nicer message.
+#: ../yum/__init__.py:1173
+#, python-format
+msgid ""
+" Multilib version problems found. This often means that the root\n"
+"cause is something else and multilib version checking is just\n"
+"pointing out that there is a problem. Eg.:\n"
+"\n"
+"  1. You have an upgrade for %(name)s which is missing some\n"
+"     dependency that another package requires. Yum is trying to\n"
+"     solve this by installing an older version of %(name)s of the\n"
+"     different architecture. If you exclude the bad architecture\n"
+"     yum will tell you what the root cause is (which package\n"
+"     requires what). You can try redoing the upgrade with\n"
+"     --exclude %(name)s.otherarch ... this should give you an error\n"
+"     message showing the root cause of the problem.\n"
+"\n"
+"  2. You have multiple architectures of %(name)s installed, but\n"
+"     yum can only see an upgrade for one of those arcitectures.\n"
+"     If you don't want/need both architectures anymore then you\n"
+"     can remove the one with the missing update and everything\n"
+"     will work.\n"
+"\n"
+"  3. You have duplicate versions of %(name)s installed already.\n"
+"     You can use \"yum check\" to get yum show these errors.\n"
+"\n"
+"...you can also use --setopt=protected_multilib=false to remove\n"
+"this checking, however this is almost never the correct thing to\n"
+"do as something else is very likely to go wrong (often causing\n"
+"much more problems).\n"
+"\n"
+msgstr ""
+
+#: ../yum/__init__.py:1257
 #, python-format
 msgid "Trying to remove \"%s\", which is protected"
 msgstr "Trying to remove \"%s\", which is protected"
 
-#: ../yum/__init__.py:1217
+#: ../yum/__init__.py:1378
 msgid ""
 "\n"
 "Packages skipped because of dependency problems:"
-msgstr ""
-"\n"
-"Packages skipped because of dependency problems:"
+msgstr "\nPackages skipped because of dependency problems:"
 
-#: ../yum/__init__.py:1221
+#: ../yum/__init__.py:1382
 #, python-format
 msgid "    %s from %s"
 msgstr "    %s from %s"
 
 #. FIXME: _N()
-#: ../yum/__init__.py:1391
+#: ../yum/__init__.py:1556
 #, python-format
 msgid "** Found %d pre-existing rpmdb problem(s), 'yum check' output follows:"
-msgstr ""
-"** Found %d pre-existing rpmdb problem(s), 'yum check' output follows:"
+msgstr "** Found %d pre-existing rpmdb problem(s), 'yum check' output follows:"
 
-#: ../yum/__init__.py:1395
+#: ../yum/__init__.py:1560
 msgid "Warning: RPMDB altered outside of yum."
 msgstr "Warning: RPMDB altered outside of yum."
 
-#: ../yum/__init__.py:1407
+#: ../yum/__init__.py:1572
 msgid "missing requires"
 msgstr "missing requires"
 
-#: ../yum/__init__.py:1408
+#: ../yum/__init__.py:1573
 msgid "installed conflict"
 msgstr "installed conflict"
 
-#: ../yum/__init__.py:1525
+#: ../yum/__init__.py:1709
 msgid ""
 "Warning: scriptlet or other non-fatal errors occurred during transaction."
-msgstr ""
-"Warning: scriptlet or other non-fatal errors occurred during transaction."
+msgstr "Warning: scriptlet or other non-fatal errors occurred during transaction."
 
-#: ../yum/__init__.py:1535
+#: ../yum/__init__.py:1719
 msgid "Transaction couldn't start:"
 msgstr "Transaction couldn't start:"
 
 #. should this be 'to_unicoded'?
-#: ../yum/__init__.py:1538
+#: ../yum/__init__.py:1722
 msgid "Could not run transaction."
 msgstr "Could not run transaction."
 
-#: ../yum/__init__.py:1552
+#: ../yum/__init__.py:1736
 #, python-format
 msgid "Failed to remove transaction file %s"
 msgstr "Failed to remove transaction file %s"
 
 #. maybe a file log here, too
 #. but raising an exception is not going to do any good
-#: ../yum/__init__.py:1590
+#: ../yum/__init__.py:1792
 #, python-format
 msgid "%s was supposed to be installed but is not!"
 msgstr "%s was supposed to be installed but is not!"
 
 #. maybe a file log here, too
 #. but raising an exception is not going to do any good
-#: ../yum/__init__.py:1651
+#. Note: This actually triggers atm. because we can't
+#. always find the erased txmbr to set it when
+#. we should.
+#: ../yum/__init__.py:1869
 #, python-format
 msgid "%s was supposed to be removed but is not!"
 msgstr "%s was supposed to be removed but is not!"
 
-#: ../yum/__init__.py:1768
-#, python-format
-msgid "Could not open lock %s: %s"
-msgstr "Could not open lock %s: %s"
-
-#. Whoa. What the heck happened?
-#: ../yum/__init__.py:1785
-#, python-format
-msgid "Unable to check if PID %s is active"
-msgstr "Unable to check if PID %s is active"
-
 #. Another copy seems to be running.
-#: ../yum/__init__.py:1789
+#: ../yum/__init__.py:2004
 #, python-format
 msgid "Existing lock %s: another copy is running as pid %s."
 msgstr "Existing lock %s: another copy is running as pid %s."
 
 #. Whoa. What the heck happened?
-#: ../yum/__init__.py:1830
+#: ../yum/__init__.py:2053
 #, python-format
 msgid "Could not create lock at %s: %s "
 msgstr "Could not create lock at %s: %s "
 
-#: ../yum/__init__.py:1875
+#: ../yum/__init__.py:2065
+#, python-format
+msgid "Could not open lock %s: %s"
+msgstr "Could not open lock %s: %s"
+
+#. The pid doesn't exist
+#. Whoa. What the heck happened?
+#: ../yum/__init__.py:2082
+#, python-format
+msgid "Unable to check if PID %s is active"
+msgstr "Unable to check if PID %s is active"
+
+#: ../yum/__init__.py:2132
 #, python-format
 msgid ""
 "Package does not match intended download. Suggestion: run yum "
 "--enablerepo=%s clean metadata"
-msgstr ""
-"Package does not match intended download. Suggestion: run yum "
-"--enablerepo=%s clean metadata"
+msgstr "Package does not match intended download. Suggestion: run yum --enablerepo=%s clean metadata"
 
-#: ../yum/__init__.py:1891
+#: ../yum/__init__.py:2155
 msgid "Could not perform checksum"
 msgstr "Could not perform checksum"
 
-#: ../yum/__init__.py:1894
+#: ../yum/__init__.py:2158
 msgid "Package does not match checksum"
 msgstr "Package does not match checksum"
 
-#: ../yum/__init__.py:1946
+#: ../yum/__init__.py:2222
 #, python-format
 msgid "package fails checksum but caching is enabled for %s"
 msgstr "package fails checksum but caching is enabled for %s"
 
-#: ../yum/__init__.py:1949 ../yum/__init__.py:1979
+#: ../yum/__init__.py:2225 ../yum/__init__.py:2268
 #, python-format
 msgid "using local copy of %s"
 msgstr "using local copy of %s"
 
-#: ../yum/__init__.py:1991
-#, python-format
-msgid ""
-"Insufficient space in download directory %s\n"
-"    * free   %s\n"
-"    * needed %s"
+#. caller handles errors
+#: ../yum/__init__.py:2342
+msgid "exiting because --downloadonly specified"
 msgstr ""
-"Insufficient space in download directory %s\n"
-"    * free   %s\n"
-"    * needed %s"
 
-#: ../yum/__init__.py:2052
+#: ../yum/__init__.py:2371
 msgid "Header is not complete."
 msgstr "Header is not complete."
 
-#: ../yum/__init__.py:2089
+#: ../yum/__init__.py:2411
 #, python-format
 msgid ""
 "Header not in local cache and caching-only mode enabled. Cannot download %s"
-msgstr ""
-"Header not in local cache and caching-only mode enabled. Cannot download %s"
+msgstr "Header not in local cache and caching-only mode enabled. Cannot download %s"
 
-#: ../yum/__init__.py:2147
+#: ../yum/__init__.py:2471
 #, python-format
 msgid "Public key for %s is not installed"
 msgstr "Public key for %s is not installed"
 
-#: ../yum/__init__.py:2151
+#: ../yum/__init__.py:2475
 #, python-format
 msgid "Problem opening package %s"
 msgstr "Problem opening package %s"
 
-#: ../yum/__init__.py:2159
+#: ../yum/__init__.py:2483
 #, python-format
 msgid "Public key for %s is not trusted"
 msgstr "Public key for %s is not trusted"
 
-#: ../yum/__init__.py:2163
+#: ../yum/__init__.py:2487
 #, python-format
 msgid "Package %s is not signed"
 msgstr "Package %s is not signed"
 
-#: ../yum/__init__.py:2202
+#: ../yum/__init__.py:2529
 #, python-format
 msgid "Cannot remove %s"
 msgstr "Cannot remove %s"
 
-#: ../yum/__init__.py:2206
+#: ../yum/__init__.py:2533
 #, python-format
 msgid "%s removed"
 msgstr "%s removed"
 
-#: ../yum/__init__.py:2252
+#: ../yum/__init__.py:2594
 #, python-format
 msgid "Cannot remove %s file %s"
 msgstr "Cannot remove %s file %s"
 
-#: ../yum/__init__.py:2256
+#: ../yum/__init__.py:2598
 #, python-format
 msgid "%s file %s removed"
 msgstr "%s file %s removed"
 
-#: ../yum/__init__.py:2258
+#: ../yum/__init__.py:2600
 #, python-format
-msgid "%d %s files removed"
-msgstr "%d %s files removed"
+msgid "%d %s file removed"
+msgid_plural "%d %s files removed"
+msgstr[0] "%d %s file removed"
+msgstr[1] "%d %s files removed"
 
-#: ../yum/__init__.py:2327
+#: ../yum/__init__.py:2712
 #, python-format
 msgid "More than one identical match in sack for %s"
 msgstr "More than one identical match in sack for %s"
 
-#: ../yum/__init__.py:2333
+#: ../yum/__init__.py:2718
 #, python-format
 msgid "Nothing matches %s.%s %s:%s-%s from update"
 msgstr "Nothing matches %s.%s %s:%s-%s from update"
 
-#: ../yum/__init__.py:2632
+#: ../yum/__init__.py:3096
 msgid ""
 "searchPackages() will go away in a future version of Yum."
 "                      Use searchGenerator() instead. \n"
-msgstr ""
-"searchPackages() will go away in a future version of Yum."
-"                      Use searchGenerator() instead. \n"
+msgstr "searchPackages() will go away in a future version of Yum.                      Use searchGenerator() instead. \n"
 
-#: ../yum/__init__.py:2675
+#: ../yum/__init__.py:3149
 #, python-format
-msgid "Searching %d packages"
-msgstr "Searching %d packages"
+msgid "Searching %d package"
+msgid_plural "Searching %d packages"
+msgstr[0] "Searching %d package"
+msgstr[1] "Searching %d packages"
 
-#: ../yum/__init__.py:2679
+#: ../yum/__init__.py:3153
 #, python-format
 msgid "searching package %s"
 msgstr "searching package %s"
 
-#: ../yum/__init__.py:2691
+#: ../yum/__init__.py:3165
 msgid "searching in file entries"
 msgstr "searching in file entries"
 
-#: ../yum/__init__.py:2698
+#: ../yum/__init__.py:3172
 msgid "searching in provides entries"
 msgstr "searching in provides entries"
 
-#: ../yum/__init__.py:2777
+#: ../yum/__init__.py:3369
 msgid "No group data available for configured repositories"
 msgstr "No group data available for configured repositories"
 
-#: ../yum/__init__.py:2808 ../yum/__init__.py:2827 ../yum/__init__.py:2858
-#: ../yum/__init__.py:2864 ../yum/__init__.py:2953 ../yum/__init__.py:2957
-#: ../yum/__init__.py:3339
+#: ../yum/__init__.py:3466 ../yum/__init__.py:3500 ../yum/__init__.py:3576
+#: ../yum/__init__.py:3582 ../yum/__init__.py:3719 ../yum/__init__.py:3723
+#: ../yum/__init__.py:4298
 #, python-format
 msgid "No Group named %s exists"
 msgstr "No Group named %s exists"
 
-#: ../yum/__init__.py:2839 ../yum/__init__.py:2973
+#: ../yum/__init__.py:3512 ../yum/__init__.py:3740
 #, python-format
 msgid "package %s was not marked in group %s"
 msgstr "package %s was not marked in group %s"
 
-#: ../yum/__init__.py:2887
+#. (upgrade and igroup_data[pkg] == 'available')):
+#: ../yum/__init__.py:3622
+#, python-format
+msgid "Skipping package %s from group %s"
+msgstr "Skipping package %s from group %s"
+
+#: ../yum/__init__.py:3628
 #, python-format
 msgid "Adding package %s from group %s"
 msgstr "Adding package %s from group %s"
 
-#: ../yum/__init__.py:2891
+#: ../yum/__init__.py:3649
 #, python-format
 msgid "No package named %s available to be installed"
 msgstr "No package named %s available to be installed"
 
-#: ../yum/__init__.py:2941
+#: ../yum/__init__.py:3702
 #, python-format
-msgid "Warning: Group %s does not have any packages."
-msgstr "Warning: Group %s does not have any packages."
+msgid "Warning: Group %s does not have any packages to install."
+msgstr ""
 
-#: ../yum/__init__.py:2943
+#: ../yum/__init__.py:3704
 #, python-format
 msgid "Group %s does have %u conditional packages, which may get installed."
 msgstr "Group %s does have %u conditional packages, which may get installed."
 
+#: ../yum/__init__.py:3794
+#, python-format
+msgid "Skipping group %s from environment %s"
+msgstr ""
+
 #. This can happen due to excludes after .up has
 #. happened.
-#: ../yum/__init__.py:3002
+#: ../yum/__init__.py:3858
 #, python-format
 msgid "Package tuple %s could not be found in packagesack"
 msgstr "Package tuple %s could not be found in packagesack"
 
-#: ../yum/__init__.py:3022
+#: ../yum/__init__.py:3886
 #, python-format
 msgid "Package tuple %s could not be found in rpmdb"
 msgstr "Package tuple %s could not be found in rpmdb"
 
-#: ../yum/__init__.py:3079 ../yum/__init__.py:3129
+#: ../yum/__init__.py:3949 ../yum/__init__.py:4012
 #, python-format
 msgid "Invalid version flag from: %s"
 msgstr "Invalid version flag from: %s"
 
-#: ../yum/__init__.py:3096 ../yum/__init__.py:3101
+#: ../yum/__init__.py:3973 ../yum/__init__.py:3979 ../yum/__init__.py:4036
+#: ../yum/__init__.py:4042
 #, python-format
 msgid "No Package found for %s"
 msgstr "No Package found for %s"
 
-#: ../yum/__init__.py:3401
+#: ../yum/__init__.py:4245 ../yum/__init__.py:4274
+#, python-format
+msgid "Warning: Environment Group %s does not exist."
+msgstr ""
+
+#: ../yum/__init__.py:4397
+#, python-format
+msgid "Package: %s - can't co-install with %s"
+msgstr ""
+
+#: ../yum/__init__.py:4437
 msgid "Package Object was not a package object instance"
 msgstr "Package Object was not a package object instance"
 
-#: ../yum/__init__.py:3405
+#: ../yum/__init__.py:4441
 msgid "Nothing specified to install"
 msgstr "Nothing specified to install"
 
-#: ../yum/__init__.py:3424 ../yum/__init__.py:4283
+#: ../yum/__init__.py:4465 ../yum/__init__.py:5410
 #, python-format
 msgid "Checking for virtual provide or file-provide for %s"
 msgstr "Checking for virtual provide or file-provide for %s"
 
-#: ../yum/__init__.py:3430 ../yum/__init__.py:3775 ../yum/__init__.py:3969
-#: ../yum/__init__.py:4289
-#, python-format
-msgid "No Match for argument: %s"
-msgstr "No Match for argument: %s"
-
-#: ../yum/__init__.py:3507
+#: ../yum/__init__.py:4542
 #, python-format
 msgid "Package %s installed and not available"
 msgstr "Package %s installed and not available"
 
-#: ../yum/__init__.py:3510
+#: ../yum/__init__.py:4545
 msgid "No package(s) available to install"
 msgstr "No package(s) available to install"
 
-#: ../yum/__init__.py:3522
+#: ../yum/__init__.py:4557
 #, python-format
 msgid "Package: %s  - already in transaction set"
 msgstr "Package: %s  - already in transaction set"
 
-#: ../yum/__init__.py:3550
+#: ../yum/__init__.py:4589
 #, python-format
 msgid "Package %s is obsoleted by %s which is already installed"
 msgstr "Package %s is obsoleted by %s which is already installed"
 
-#: ../yum/__init__.py:3555
+#: ../yum/__init__.py:4594
 #, python-format
 msgid ""
 "Package %s is obsoleted by %s, but obsoleting package does not provide for "
 "requirements"
-msgstr ""
-"Package %s is obsoleted by %s, but obsoleting package does not provide for "
-"requirements"
+msgstr "Package %s is obsoleted by %s, but obsoleting package does not provide for requirements"
 
-#: ../yum/__init__.py:3558
+#: ../yum/__init__.py:4597
 #, python-format
 msgid "Package %s is obsoleted by %s, trying to install %s instead"
 msgstr "Package %s is obsoleted by %s, trying to install %s instead"
 
-#: ../yum/__init__.py:3566
+#: ../yum/__init__.py:4605
 #, python-format
 msgid "Package %s already installed and latest version"
 msgstr "Package %s already installed and latest version"
 
-#: ../yum/__init__.py:3580
+#: ../yum/__init__.py:4619
 #, python-format
 msgid "Package matching %s already installed. Checking for update."
 msgstr "Package matching %s already installed. Checking for update."
 
 #. update everything (the easy case)
-#: ../yum/__init__.py:3684
+#: ../yum/__init__.py:4751
 msgid "Updating Everything"
 msgstr "Updating Everything"
 
-#: ../yum/__init__.py:3708 ../yum/__init__.py:3849 ../yum/__init__.py:3879
-#: ../yum/__init__.py:3915
+#: ../yum/__init__.py:4775 ../yum/__init__.py:4930 ../yum/__init__.py:4975
+#: ../yum/__init__.py:5011
 #, python-format
 msgid "Not Updating Package that is already obsoleted: %s.%s %s:%s-%s"
 msgstr "Not Updating Package that is already obsoleted: %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3753 ../yum/__init__.py:3965
+#: ../yum/__init__.py:4830 ../yum/__init__.py:5072
 #, python-format
 msgid "%s"
 msgstr "%s"
 
-#: ../yum/__init__.py:3838
+#: ../yum/__init__.py:4854 ../yum/__init__.py:5080 ../yum/__init__.py:5416
+#, python-format
+msgid "No Match for argument: %s"
+msgstr "No Match for argument: %s"
+
+#: ../yum/__init__.py:4872
+#, python-format
+msgid "No package matched to upgrade: %s"
+msgstr "No package matched to upgrade: %s"
+
+#: ../yum/__init__.py:4919
 #, python-format
 msgid "Package is already obsoleted: %s.%s %s:%s-%s"
 msgstr "Package is already obsoleted: %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3874
+#: ../yum/__init__.py:4970
 #, python-format
 msgid "Not Updating Package that is obsoleted: %s"
 msgstr "Not Updating Package that is obsoleted: %s"
 
-#: ../yum/__init__.py:3883 ../yum/__init__.py:3919
+#: ../yum/__init__.py:4979 ../yum/__init__.py:5015
 #, python-format
 msgid "Not Updating Package that is already updated: %s.%s %s:%s-%s"
 msgstr "Not Updating Package that is already updated: %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3982
-msgid "No package matched to remove"
-msgstr "No package matched to remove"
+#: ../yum/__init__.py:5093
+#, python-format
+msgid "No package matched to remove: %s"
+msgstr "No package matched to remove: %s"
 
-#: ../yum/__init__.py:3988
+#: ../yum/__init__.py:5099
 #, python-format
 msgid "Skipping the running kernel: %s"
 msgstr "Skipping the running kernel: %s"
 
-#: ../yum/__init__.py:3994
+#: ../yum/__init__.py:5105
 #, python-format
 msgid "Removing %s from the transaction"
 msgstr "Removing %s from the transaction"
 
-#: ../yum/__init__.py:4029
+#: ../yum/__init__.py:5142
 #, python-format
 msgid "Cannot open: %s. Skipping."
 msgstr "Cannot open: %s. Skipping."
 
-#: ../yum/__init__.py:4032 ../yum/__init__.py:4150 ../yum/__init__.py:4226
+#: ../yum/__init__.py:5145 ../yum/__init__.py:5262 ../yum/__init__.py:5347
 #, python-format
 msgid "Examining %s: %s"
 msgstr "Examining %s: %s"
 
-#: ../yum/__init__.py:4036
+#: ../yum/__init__.py:5149
 #, python-format
 msgid "Cannot localinstall deltarpm: %s. Skipping."
 msgstr "Cannot localinstall deltarpm: %s. Skipping."
 
-#: ../yum/__init__.py:4045 ../yum/__init__.py:4153 ../yum/__init__.py:4229
+#: ../yum/__init__.py:5158 ../yum/__init__.py:5265 ../yum/__init__.py:5350
 #, python-format
 msgid ""
 "Cannot add package %s to transaction. Not a compatible architecture: %s"
-msgstr ""
-"Cannot add package %s to transaction. Not a compatible architecture: %s"
+msgstr "Cannot add package %s to transaction. Not a compatible architecture: %s"
 
-#: ../yum/__init__.py:4051
+#: ../yum/__init__.py:5164
 #, python-format
 msgid "Cannot install package %s. It is obsoleted by installed package %s"
 msgstr "Cannot install package %s. It is obsoleted by installed package %s"
 
-#: ../yum/__init__.py:4059
+#: ../yum/__init__.py:5172
 #, python-format
 msgid ""
 "Package %s not installed, cannot update it. Run yum install to install it "
 "instead."
-msgstr ""
-"Package %s not installed, cannot update it. Run yum install to install it "
-"instead."
+msgstr "Package %s not installed, cannot update it. Run yum install to install it instead."
 
-#: ../yum/__init__.py:4078 ../yum/__init__.py:4085
+#: ../yum/__init__.py:5191 ../yum/__init__.py:5198
 #, python-format
 msgid ""
 "Package %s.%s not installed, cannot update it. Run yum install to install it"
 " instead."
-msgstr ""
-"Package %s.%s not installed, cannot update it. Run yum install to install it"
-" instead."
+msgstr "Package %s.%s not installed, cannot update it. Run yum install to install it instead."
 
-#: ../yum/__init__.py:4094 ../yum/__init__.py:4158 ../yum/__init__.py:4234
+#: ../yum/__init__.py:5207 ../yum/__init__.py:5270 ../yum/__init__.py:5355
 #, python-format
 msgid "Excluding %s"
 msgstr "Excluding %s"
 
-#: ../yum/__init__.py:4099
+#: ../yum/__init__.py:5212
 #, python-format
 msgid "Marking %s to be installed"
 msgstr "Marking %s to be installed"
 
-#: ../yum/__init__.py:4105
+#: ../yum/__init__.py:5218
 #, python-format
 msgid "Marking %s as an update to %s"
 msgstr "Marking %s as an update to %s"
 
-#: ../yum/__init__.py:4112
+#: ../yum/__init__.py:5225
 #, python-format
 msgid "%s: does not update installed package."
 msgstr "%s: does not update installed package."
 
-#: ../yum/__init__.py:4147 ../yum/__init__.py:4223
+#: ../yum/__init__.py:5259 ../yum/__init__.py:5344
 #, python-format
 msgid "Cannot open file: %s. Skipping."
 msgstr "Cannot open file: %s. Skipping."
 
-#: ../yum/__init__.py:4177
+#: ../yum/__init__.py:5299
 msgid "Problem in reinstall: no package matched to remove"
 msgstr "Problem in reinstall: no package matched to remove"
 
-#: ../yum/__init__.py:4203
+#: ../yum/__init__.py:5325
 #, python-format
 msgid "Problem in reinstall: no package %s matched to install"
 msgstr "Problem in reinstall: no package %s matched to install"
 
-#: ../yum/__init__.py:4311
+#: ../yum/__init__.py:5438
 msgid "No package(s) available to downgrade"
 msgstr "No package(s) available to downgrade"
 
-#: ../yum/__init__.py:4319
+#: ../yum/__init__.py:5446
 #, python-format
 msgid "Package %s is allowed multiple installs, skipping"
 msgstr "Package %s is allowed multiple installs, skipping"
 
-#: ../yum/__init__.py:4365
+#: ../yum/__init__.py:5496
 #, python-format
 msgid "No Match for available package: %s"
 msgstr "No Match for available package: %s"
 
-#: ../yum/__init__.py:4372
+#: ../yum/__init__.py:5506
 #, python-format
 msgid "Only Upgrade available on package: %s"
 msgstr "Only Upgrade available on package: %s"
 
-#: ../yum/__init__.py:4442 ../yum/__init__.py:4479
+#: ../yum/__init__.py:5619 ../yum/__init__.py:5686
 #, python-format
 msgid "Failed to downgrade: %s"
 msgstr "Failed to downgrade: %s"
 
-#: ../yum/__init__.py:4516
+#: ../yum/__init__.py:5636 ../yum/__init__.py:5692
+#, python-format
+msgid "Failed to upgrade: %s"
+msgstr ""
+
+#: ../yum/__init__.py:5725
 #, python-format
 msgid "Retrieving key from %s"
 msgstr "Retrieving key from %s"
 
-#: ../yum/__init__.py:4534
+#: ../yum/__init__.py:5743
 msgid "GPG key retrieval failed: "
 msgstr "GPG key retrieval failed: "
 
 #. if we decide we want to check, even though the sig failed
 #. here is where we would do that
-#: ../yum/__init__.py:4557
+#: ../yum/__init__.py:5766
 #, python-format
 msgid "GPG key signature on key %s does not match CA Key for repo: %s"
 msgstr "GPG key signature on key %s does not matvch CA Key for repo: %s"
 
-#: ../yum/__init__.py:4559
+#: ../yum/__init__.py:5768
 msgid "GPG key signature verified against CA Key(s)"
 msgstr "GPG key signature verified against CA Key(s)"
 
-#: ../yum/__init__.py:4567
+#: ../yum/__init__.py:5776
 #, python-format
 msgid "Invalid GPG Key from %s: %s"
 msgstr "Invalid GPG Key from %s: %s"
 
-#: ../yum/__init__.py:4576
+#: ../yum/__init__.py:5785
 #, python-format
 msgid "GPG key parsing failed: key does not have value %s"
 msgstr "GPG key parsing failed: key does not have value %s"
 
-#: ../yum/__init__.py:4592
+#: ../yum/__init__.py:5801
 #, python-format
 msgid ""
 "Importing %s key 0x%s:\n"
-" Userid : %s\n"
-" Package: %s (%s)\n"
-" From   : %s"
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" Package    : %s (%s)\n"
+" From       : %s"
 msgstr ""
-"Importing %s key 0x%s:\n"
-"Userid : %s\n"
-"Package: %s (%s)\n"
-"From   : %s"
 
-#: ../yum/__init__.py:4600
+#: ../yum/__init__.py:5811
 #, python-format
 msgid ""
 "Importing %s key 0x%s:\n"
-" Userid: \"%s\"\n"
-" From  : %s"
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" From       : %s"
+msgstr ""
+
+#: ../yum/__init__.py:5839
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" Failing package is: %s\n"
+" GPG Keys are configured as: %s\n"
 msgstr ""
-"Importing %s key 0x%s:\n"
-"Userid : \"%s\"\n"
-"From  : %s"
 
-#: ../yum/__init__.py:4634
+#: ../yum/__init__.py:5853
 #, python-format
 msgid "GPG key at %s (0x%s) is already installed"
 msgstr "GPG key at %s (0x%s) is already installed"
 
-#: ../yum/__init__.py:4671
+#: ../yum/__init__.py:5891
 #, python-format
 msgid "Key import failed (code %d)"
 msgstr "Key import failed (code %d)"
 
-#: ../yum/__init__.py:4672 ../yum/__init__.py:4755
+#: ../yum/__init__.py:5893 ../yum/__init__.py:5994
 msgid "Key imported successfully"
 msgstr "Key imported successfully"
 
-#: ../yum/__init__.py:4676
+#: ../yum/__init__.py:5897
 msgid "Didn't install any keys"
 msgstr "Didn't install any keys"
 
-#: ../yum/__init__.py:4680
+#: ../yum/__init__.py:5900
 #, python-format
 msgid ""
 "The GPG keys listed for the \"%s\" repository are already installed but they are not correct for this package.\n"
 "Check that the correct key URLs are configured for this repository."
-msgstr ""
-"The GPG keys listed for the \"%s\" repository are already installed but they are not correct for this package.\n"
-"Check that the correct key URLs are configured for this repository."
+msgstr "The GPG keys listed for the \"%s\" repository are already installed but they are not correct for this package.\nCheck that the correct key URLs are configured for this repository."
 
-#: ../yum/__init__.py:4689
+#: ../yum/__init__.py:5910
 msgid "Import of key(s) didn't help, wrong key(s)?"
 msgstr "Import of key(s) didn't help, wrong key(s)?"
 
-#: ../yum/__init__.py:4713
+#: ../yum/__init__.py:5932
+msgid "No"
+msgstr "No"
+
+#: ../yum/__init__.py:5934
+msgid "Yes"
+msgstr "Yes"
+
+#: ../yum/__init__.py:5935
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" CA Key: %s\n"
+" Failing repo is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr ""
+
+#: ../yum/__init__.py:5948
 #, python-format
 msgid "GPG key at %s (0x%s) is already imported"
 msgstr "GPG key at %s (0x%s) is already imported"
 
-#: ../yum/__init__.py:4754
-msgid "Key import failed"
-msgstr "Key import failed"
+#: ../yum/__init__.py:5992
+#, python-format
+msgid "Key %s import failed"
+msgstr "Key %s import failed"
 
-#: ../yum/__init__.py:4770
+#: ../yum/__init__.py:6009
 #, python-format
 msgid "Didn't install any keys for repo %s"
 msgstr "Didn't install any keys for repo %s"
 
-#: ../yum/__init__.py:4774
+#: ../yum/__init__.py:6014
 #, python-format
 msgid ""
 "The GPG keys listed for the \"%s\" repository are already installed but they are not correct.\n"
 "Check that the correct key URLs are configured for this repository."
-msgstr ""
-"The GPG keys listed for the \"%s\" repository are already installed but they are not correct.\n"
-"Check that the correct key URLs are configured for this repository."
+msgstr "The GPG keys listed for the \"%s\" repository are already installed but they are not correct.\nCheck that the correct key URLs are configured for this repository."
 
-#: ../yum/__init__.py:4924
+#: ../yum/__init__.py:6172
 msgid "Unable to find a suitable mirror."
 msgstr "Unable to find a suitable mirror."
 
-#: ../yum/__init__.py:4926
+#: ../yum/__init__.py:6174
 msgid "Errors were encountered while downloading packages."
 msgstr "Errors were encountered while downloading packages."
 
-#: ../yum/__init__.py:4981
+#: ../yum/__init__.py:6229
 #, python-format
 msgid "Please report this error at %s"
 msgstr "Please report this error at %s"
 
-#: ../yum/__init__.py:4998
+#: ../yum/__init__.py:6246
 msgid "Test Transaction Errors: "
 msgstr "Test Transaction Errors: "
 
-#: ../yum/__init__.py:5098
+#: ../yum/__init__.py:6358
 #, python-format
 msgid "Could not set cachedir: %s"
 msgstr "Could not set cachedir: %s"
 
-#: ../yum/__init__.py:5148 ../yum/__init__.py:5150
+#: ../yum/__init__.py:6420 ../yum/__init__.py:6422
 msgid "Dependencies not solved. Will not save unresolved transaction."
 msgstr "Dependencies not solved. Will not save unresolved transaction."
 
-#: ../yum/__init__.py:5179 ../yum/__init__.py:5181
+#: ../yum/__init__.py:6455 ../yum/__init__.py:6457
 #, python-format
 msgid "Could not save transaction file %s: %s"
 msgstr "Could not save transaction file %s: %s"
 
-#: ../yum/__init__.py:5195
+#: ../yum/__init__.py:6483
 #, python-format
 msgid "Could not access/read saved transaction %s : %s"
 msgstr "Could not access/read saved transaction %s : %s"
 
-#: ../yum/__init__.py:5214
-msgid "rpmdb ver mismatched saved transaction version, "
-msgstr "rpmdb ver mismatched saved transaction version, "
-
-#: ../yum/__init__.py:5216
-msgid " ignoring, as requested."
-msgstr " ignoring, as requested."
-
-#: ../yum/__init__.py:5219 ../yum/__init__.py:5354
-msgid " aborting."
-msgstr " aborting."
+#: ../yum/__init__.py:6521
+msgid "rpmdb ver mismatched saved transaction version,"
+msgstr ""
 
-#: ../yum/__init__.py:5228
+#: ../yum/__init__.py:6535
 msgid "cannot find tsflags or tsflags not integer."
 msgstr "cannot find tsflags or tsflags not integer."
 
-#: ../yum/__init__.py:5267
+#: ../yum/__init__.py:6584
 #, python-format
 msgid "Found txmbr in unknown current state: %s"
 msgstr "Found txmbr in unknown current state: %s"
 
-#: ../yum/__init__.py:5271
+#: ../yum/__init__.py:6588
 #, python-format
 msgid "Could not find txmbr: %s in state %s"
 msgstr "Could not find txmbr: %s in state %s"
 
-#: ../yum/__init__.py:5307 ../yum/__init__.py:5324
+#: ../yum/__init__.py:6625 ../yum/__init__.py:6642
 #, python-format
 msgid "Could not find txmbr: %s from origin: %s"
 msgstr "Could not find txmbr: %s from origin: %s"
 
-#: ../yum/__init__.py:5349
+#: ../yum/__init__.py:6667
 msgid "Transaction members, relations are missing or ts has been modified,"
 msgstr "Transaction members, relations are missing or ts has been modified,"
 
-#: ../yum/__init__.py:5351
+#: ../yum/__init__.py:6670
 msgid " ignoring, as requested. You must redepsolve!"
 msgstr " ignoring, as requested. You must redepsolve!"
 
+#. Debugging output
+#: ../yum/__init__.py:6738 ../yum/__init__.py:6757
+#, python-format
+msgid "%s has been visited already and cannot be removed."
+msgstr "%s has been visited already and cannot be removed."
+
+#. Debugging output
+#: ../yum/__init__.py:6741
+#, python-format
+msgid "Examining revdeps of %s"
+msgstr "Examining revdeps of %s"
+
+#. Debugging output
+#: ../yum/__init__.py:6762
+#, python-format
+msgid "%s has revdep %s which was user-installed."
+msgstr "%s has revdep %s which was user-installed."
+
+#: ../yum/__init__.py:6773 ../yum/__init__.py:6779
+#, python-format
+msgid "%s is needed by a package to be installed."
+msgstr ""
+
+#. Debugging output
+#: ../yum/__init__.py:6793
+#, python-format
+msgid "%s has no user-installed revdeps."
+msgstr "%s has no user-installed revdeps."
+
 #. Mostly copied from YumOutput._outKeyValFill()
-#: ../yum/plugins.py:209
+#: ../yum/plugins.py:212
 msgid "Loaded plugins: "
 msgstr "Loaded plugins: "
 
-#: ../yum/plugins.py:223 ../yum/plugins.py:229
+#: ../yum/plugins.py:226 ../yum/plugins.py:232
 #, python-format
 msgid "No plugin match for: %s"
 msgstr "No plugin match for: %s"
 
-#: ../yum/plugins.py:259
+#: ../yum/plugins.py:262
 #, python-format
 msgid "Not loading \"%s\" plugin, as it is disabled"
 msgstr "Not loading \"%s\" plugin, as it is disabled"
 
 #. Give full backtrace:
-#: ../yum/plugins.py:271
+#: ../yum/plugins.py:274
 #, python-format
 msgid "Plugin \"%s\" can't be imported"
 msgstr "Plugin \"%s\" can't be imported"
 
-#: ../yum/plugins.py:278
+#: ../yum/plugins.py:281
 #, python-format
 msgid "Plugin \"%s\" doesn't specify required API version"
 msgstr "Plugin \"%s\" doesn't specify required API version"
 
-#: ../yum/plugins.py:283
+#: ../yum/plugins.py:286
 #, python-format
 msgid "Plugin \"%s\" requires API %s. Supported API is %s."
 msgstr "Plugin \"%s\" requires API %s. Supported API is %s."
 
-#: ../yum/plugins.py:316
+#: ../yum/plugins.py:319
 #, python-format
 msgid "Loading \"%s\" plugin"
 msgstr "Loading \"%s\" plugin"
 
-#: ../yum/plugins.py:323
+#: ../yum/plugins.py:326
 #, python-format
 msgid "Two or more plugins with the name \"%s\" exist in the plugin search path"
 msgstr "Two or more plugins with the name \"%s\" exist in the plugin search path"
 
-#: ../yum/plugins.py:343
+#: ../yum/plugins.py:346
 #, python-format
 msgid "Configuration file %s not found"
 msgstr "Configuration file %s not found"
 
 #. for
 #. Configuration files for the plugin not found
-#: ../yum/plugins.py:346
+#: ../yum/plugins.py:349
 #, python-format
 msgid "Unable to find configuration file for plugin %s"
 msgstr "Unable to find configuration file for plugin %s"
 
-#: ../yum/plugins.py:508
+#: ../yum/plugins.py:553
 msgid "registration of commands not supported"
 msgstr "registration of commands not supported"
 
-#: ../yum/rpmsack.py:148
+#: ../yum/rpmsack.py:159
 msgid "has missing requires of"
 msgstr "has missing requires of"
 
-#: ../yum/rpmsack.py:151
+#: ../yum/rpmsack.py:162
 msgid "has installed conflicts"
 msgstr "has installed conflicts"
 
-#: ../yum/rpmsack.py:160
+#: ../yum/rpmsack.py:171
 #, python-format
 msgid "%s is a duplicate with %s"
 msgstr "%s is a duplicate with %s"
 
-#: ../yum/rpmsack.py:168
+#: ../yum/rpmsack.py:179
 #, python-format
 msgid "%s is obsoleted by %s"
 msgstr "%s is obsoleted by %s"
 
-#: ../yum/rpmsack.py:176
+#: ../yum/rpmsack.py:187
 #, python-format
 msgid "%s provides %s but it cannot be found"
 msgstr "%s provides %s but it cannot be found"
@@ -3136,6 +3460,23 @@ msgstr "%s provides %s but it cannot be found"
 msgid "Repackaging"
 msgstr "Repackaging"
 
+#: ../yum/rpmtrans.py:149
+#, python-format
+msgid "Verify: %u/%u: %s"
+msgstr "Verify: %u/%u: %s"
+
+#: ../yum/yumRepo.py:919
+#, python-format
+msgid ""
+"Insufficient space in download directory %s\n"
+"    * free   %s\n"
+"    * needed %s"
+msgstr "Insufficient space in download directory %s\n    * free   %s\n    * needed %s"
+
+#: ../yum/yumRepo.py:986
+msgid "Package does not match intended download."
+msgstr ""
+
 #: ../rpmUtils/oldUtils.py:33
 #, python-format
 msgid "Header cannot be opened or does not match %s, %s."
@@ -3148,8 +3489,7 @@ msgstr "RPM %s fails md5 check"
 
 #: ../rpmUtils/oldUtils.py:151
 msgid "Could not open RPM database for reading. Perhaps it is already in use?"
-msgstr ""
-"Could not open RPM database for reading. Perhaps it is already in use?"
+msgstr "Could not open RPM database for reading. Perhaps it is already in use?"
 
 #: ../rpmUtils/oldUtils.py:183
 msgid "Got an empty Header, something has gone wrong"
@@ -3165,5 +3505,3 @@ msgstr "Damaged Header %s"
 #, python-format
 msgid "Error opening rpm %s - error %s"
 msgstr "Error opening rpm %s - error %s"
-
-
diff --git a/po/es.po b/po/es.po
index 2b1397d..443556a 100644
--- a/po/es.po
+++ b/po/es.po
@@ -2,1529 +2,1649 @@
 # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
 # This file is distributed under the same license as the PACKAGE package.
 # 
-# beckerde <domingobecker@gmail.com>, 2011
-# Claudio Rodrigo Pereyra Diaz <elsupergomez@gmail.com>, 2011
+# Translators:
+# Adolfo Jayme Barrientos <fitoschido@gmail.com>, 2013.
+# beckerde <domingobecker@gmail.com>, 2011.
+# Claudio Rodrigo Pereyra Diaz <elsupergomez@gmail.com>, 2011.
+# Dennis Tobar <dennis.tobar@gmail.com>, 2011.
+#   <domingobecker@gmail.com>, 2011-2012.
+#  <ehespinosa@ya.com>, 2013.
 msgid ""
 msgstr ""
 "Project-Id-Version: Yum\n"
-"Report-Msgid-Bugs-To: http://yum.baseurl.org/\n"
-"POT-Creation-Date: 2011-06-06 10:21-0400\n"
-"PO-Revision-Date: 2011-06-06 14:21+0000\n"
-"Last-Translator: skvidal <skvidal@fedoraproject.org>\n"
-"Language-Team: Spanish (Castilian) <trans-es@lists.fedoraproject.org>\n"
+"Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
+"POT-Creation-Date: 2013-01-30 09:08-0500\n"
+"PO-Revision-Date: 2013-02-15 07:51+0000\n"
+"Last-Translator: vareli <ehespinosa@ya.com>\n"
+"Language-Team: Spanish <trans-es@lists.fedoraproject.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Language: es\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: ../callback.py:48 ../output.py:1037 ../yum/rpmtrans.py:73
+#: ../callback.py:45 ../output.py:1502 ../yum/rpmtrans.py:73
 msgid "Updating"
 msgstr "Actualizando"
 
-#: ../callback.py:49 ../yum/rpmtrans.py:74
+#: ../callback.py:46 ../yum/rpmtrans.py:74
 msgid "Erasing"
 msgstr "Eliminando"
 
-#: ../callback.py:50 ../callback.py:51 ../callback.py:53 ../output.py:1036
-#: ../output.py:2218 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
+#: ../callback.py:47 ../callback.py:48 ../callback.py:50 ../output.py:1501
+#: ../output.py:2922 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
 #: ../yum/rpmtrans.py:78
 msgid "Installing"
 msgstr "Instalando"
 
-#: ../callback.py:52 ../callback.py:58 ../output.py:1840 ../yum/rpmtrans.py:77
+#: ../callback.py:49 ../callback.py:55 ../output.py:2379 ../yum/rpmtrans.py:77
 msgid "Obsoleted"
 msgstr "Obsoleto"
 
-#: ../callback.py:54 ../output.py:1169 ../output.py:1686 ../output.py:1847
+#: ../callback.py:51 ../output.py:1670 ../output.py:2222 ../output.py:2386
 msgid "Updated"
 msgstr "Actualizado"
 
-#: ../callback.py:55 ../output.py:1685
+#: ../callback.py:52 ../output.py:2221
 msgid "Erased"
 msgstr "Eliminado"
 
-#: ../callback.py:56 ../callback.py:57 ../callback.py:59 ../output.py:1167
-#: ../output.py:1685 ../output.py:1687 ../output.py:2190
+#: ../callback.py:53 ../callback.py:54 ../callback.py:56 ../output.py:1668
+#: ../output.py:2221 ../output.py:2223 ../output.py:2894
 msgid "Installed"
 msgstr "Instalado"
 
-#: ../callback.py:130
+#: ../callback.py:142
 msgid "No header - huh?"
 msgstr "Sin encabezado - ¿ah?"
 
-#: ../callback.py:168
+#: ../callback.py:180
 msgid "Repackage"
 msgstr "Reempaquetar"
 
-#: ../callback.py:189
+#: ../callback.py:201
 #, python-format
 msgid "Error: invalid output state: %s for %s"
 msgstr "Error: estado de salida no válido: %s de %s"
 
-#: ../callback.py:212
+#: ../callback.py:224
 #, python-format
 msgid "Erased: %s"
 msgstr "Eliminado: %s"
 
-#: ../callback.py:217 ../output.py:1038 ../output.py:2193
+#: ../callback.py:229 ../output.py:1503 ../output.py:2897
 msgid "Removing"
 msgstr "Eliminando"
 
-#: ../callback.py:219 ../yum/rpmtrans.py:79
+#: ../callback.py:231 ../yum/rpmtrans.py:79
 msgid "Cleanup"
 msgstr "Limpieza"
 
-#: ../cli.py:115
+#: ../cli.py:122
 #, python-format
 msgid "Command \"%s\" already defined"
-msgstr "El comando \"%s\" ya ha sido definido"
+msgstr "Ya se ha definido el comando «%s»"
 
-#: ../cli.py:127
+#: ../cli.py:137
 msgid "Setting up repositories"
 msgstr "Configurando los repositorios"
 
-#: ../cli.py:138
+#: ../cli.py:148
 msgid "Reading repository metadata in from local files"
 msgstr "Leyendo en archivos locales los metadatos de los repositorios"
 
-#: ../cli.py:245 ../utils.py:281
+#: ../cli.py:273 ../cli.py:277 ../utils.py:320
 #, python-format
 msgid "Config Error: %s"
 msgstr "Error de configuración: %s"
 
-#: ../cli.py:248 ../cli.py:1584 ../utils.py:284
+#: ../cli.py:280 ../cli.py:2206 ../utils.py:323
 #, python-format
 msgid "Options Error: %s"
 msgstr "Error de opciones: %s"
 
-#: ../cli.py:293
+#: ../cli.py:327
 #, python-format
 msgid "  Installed: %s-%s at %s"
 msgstr "  Instalado: %s-%s en %s"
 
-#: ../cli.py:295
+#: ../cli.py:329
 #, python-format
 msgid "  Built    : %s at %s"
-msgstr "  Construido: %s en %s"
+msgstr "  Compilado    : %s en %s"
 
-#: ../cli.py:297
+#: ../cli.py:331
 #, python-format
 msgid "  Committed: %s at %s"
 msgstr "  Enviado: %s en %s"
 
-#: ../cli.py:336
+#: ../cli.py:372
 msgid "You need to give some command"
 msgstr "Necesita ingresar algún comando"
 
-#: ../cli.py:350
+#: ../cli.py:386
 #, python-format
 msgid "No such command: %s. Please use %s --help"
 msgstr "No existe el comando: %s. Por favor, utilice %s --help"
 
-#: ../cli.py:400
+#: ../cli.py:444
 msgid "Disk Requirements:\n"
 msgstr "Requerimientos de disco:\n"
 
-#: ../cli.py:402
+#: ../cli.py:446
 #, python-format
 msgid "  At least %dMB more space needed on the %s filesystem.\n"
-msgstr "  Como mínimo se necesitan %dMB más en el sistema de archivos %s.\n"
+msgid_plural "  At least %dMB more space needed on the %s filesystem.\n"
+msgstr[0] "  Como mínimo se necesitan %dMB más en el sistema de archivos %s.\n"
+msgstr[1] "  Como mínimo se necesitan %dMB más en el sistema de archivos %s.\n"
 
 #. TODO: simplify the dependency errors?
 #. Fixup the summary
-#: ../cli.py:407
+#: ../cli.py:451
 msgid ""
 "Error Summary\n"
 "-------------\n"
-msgstr ""
-"Resumen de errores\n"
-"-------------\n"
+msgstr "Resumen de errores\n-------------\n"
 
-#: ../cli.py:450
+#: ../cli.py:472
+msgid "Can't create lock file; exiting"
+msgstr "No se puede crear archivo de bloqueo, ya existe uno"
+
+#: ../cli.py:479
+msgid ""
+"Another app is currently holding the yum lock; exiting as configured by "
+"exit_on_lock"
+msgstr "Otra aplicación tiene retenido el bloqueo de Yum; finalizando de acuerdo a la configuración de exit_on_lock"
+
+#: ../cli.py:532
 msgid "Trying to run the transaction but nothing to do. Exiting."
-msgstr ""
-"Se intentó ejecutar la transacción pero no hay nada para hacer. Saliendo."
+msgstr "Se intentó ejecutar la transacción pero no hay nada para hacer. Saliendo."
 
-#: ../cli.py:497
+#: ../cli.py:577
+msgid "future rpmdb ver mismatched saved transaction version,"
+msgstr "futura versión rpmdb no coincide con la versión de transacción guardada."
+
+#: ../cli.py:579 ../yum/__init__.py:6523
+msgid " ignoring, as requested."
+msgstr " ignorando, como fue requerido."
+
+#: ../cli.py:582 ../yum/__init__.py:6526 ../yum/__init__.py:6673
+msgid " aborting."
+msgstr " abortando."
+
+#: ../cli.py:588
 msgid "Exiting on user Command"
 msgstr "Saliendo de acuerdo al comando del usuario"
 
-#: ../cli.py:501
+#: ../cli.py:592
 msgid "Downloading Packages:"
 msgstr "Descargando paquetes:"
 
-#: ../cli.py:506
+#: ../cli.py:597
 msgid "Error Downloading Packages:\n"
 msgstr "Error al descargar los paquetes:\n"
 
-#: ../cli.py:525 ../yum/__init__.py:4967
+#: ../cli.py:616 ../yum/__init__.py:6215
 msgid "Running Transaction Check"
 msgstr "Ejecutando verificación de transacción"
 
-#: ../cli.py:534 ../yum/__init__.py:4976
+#: ../cli.py:625 ../yum/__init__.py:6224
 msgid "ERROR You need to update rpm to handle:"
 msgstr "ERROR Necesita actualizar el rpm para manipular:"
 
-#: ../cli.py:536 ../yum/__init__.py:4979
+#: ../cli.py:627 ../yum/__init__.py:6227
 msgid "ERROR with transaction check vs depsolve:"
 msgstr "ERROR en el chequeo de la transacción vs resolución de dependencias:"
 
-#: ../cli.py:542
+#: ../cli.py:633
 msgid "RPM needs to be updated"
-msgstr "El RPM necesita ser actualizado"
+msgstr "El RPM necesita actualizarse"
 
-#: ../cli.py:543
+#: ../cli.py:634
 #, python-format
 msgid "Please report this error in %s"
-msgstr "Por favor, reporte este error en %s"
+msgstr "Informe de este error en %s"
 
-#: ../cli.py:549
+#: ../cli.py:640
 msgid "Running Transaction Test"
 msgstr "Ejecutando prueba de transacción"
 
-#: ../cli.py:561
+#: ../cli.py:652
 msgid "Transaction Check Error:\n"
 msgstr "Error en la verificación de la transacción:\n"
 
-#: ../cli.py:568
+#: ../cli.py:659
 msgid "Transaction Test Succeeded"
 msgstr "La prueba de transacción ha sido exitosa"
 
-#: ../cli.py:600
+#: ../cli.py:691
 msgid "Running Transaction"
 msgstr "Ejecutando transacción"
 
-#: ../cli.py:630
+#: ../cli.py:724
 msgid ""
 "Refusing to automatically import keys when running unattended.\n"
 "Use \"-y\" to override."
-msgstr ""
-"Se rechaza la importación automática de claves cuando se ejecuta desatendida.\n"
-"Utilice \"-y\" para forzar."
+msgstr "Se rechaza la importación automática de claves cuando se ejecuta desatendida.\nUtilice \"-y\" para forzar."
 
-#: ../cli.py:649 ../cli.py:692
+#: ../cli.py:743 ../cli.py:786
 msgid "  * Maybe you meant: "
 msgstr "  * Tal vez quería decir: "
 
-#: ../cli.py:675 ../cli.py:683
+#: ../cli.py:769 ../cli.py:777
 #, python-format
 msgid "Package(s) %s%s%s available, but not installed."
-msgstr ""
-"El (los) paquete(s) %s%s%s se encuentra(n) disponible(s), pero no se ha(n) "
-"instalado."
+msgstr "El (los) paquete(s) %s%s%s se encuentra(n) disponible(s), pero no se ha(n) instalado."
 
-#: ../cli.py:689 ../cli.py:722 ../cli.py:908
+#: ../cli.py:783 ../cli.py:891 ../cli.py:1158
 #, python-format
 msgid "No package %s%s%s available."
 msgstr "No existe disponible ningún paquete %s%s%s."
 
-#: ../cli.py:729 ../cli.py:973
-msgid "Package(s) to install"
-msgstr "Paquete(s) a instalarse"
+#: ../cli.py:871 ../cli.py:881 ../cli.py:1101 ../cli.py:1111
+#, python-format
+msgid "Bad %s argument %s."
+msgstr "Mal %s argumento %s."
 
-#: ../cli.py:732 ../cli.py:733 ../cli.py:914 ../cli.py:948 ../cli.py:974
-#: ../yumcommands.py:190
+#: ../cli.py:900 ../yumcommands.py:3331
+#, python-format
+msgid "%d package to install"
+msgid_plural "%d packages to install"
+msgstr[0] "%d paquete a instalar"
+msgstr[1] "%d paquetes a instalar"
+
+#: ../cli.py:903 ../cli.py:904 ../cli.py:1169 ../cli.py:1170 ../cli.py:1224
+#: ../cli.py:1225 ../cli.py:1260 ../yumcommands.py:323 ../yumcommands.py:3419
 msgid "Nothing to do"
 msgstr "Nada para hacer"
 
-#: ../cli.py:767
+#: ../cli.py:953
 #, python-format
-msgid "%d packages marked for Update"
-msgstr "%d paquetes han sido seleccionados para ser actualizados"
+msgid "%d package marked for Update"
+msgid_plural "%d packages marked for Update"
+msgstr[0] "%d paquete marcado para ser actualizado"
+msgstr[1] "%d paquetes marcados para ser actualizados"
 
-#: ../cli.py:770
+#: ../cli.py:955
 msgid "No Packages marked for Update"
 msgstr "No se han seleccionando paquetes para ser actualizados"
 
-#: ../cli.py:866
+#: ../cli.py:1067
 #, python-format
-msgid "%d packages marked for Distribution Synchronization"
-msgstr ""
-"%d paquetes han sido seleccionados para Sincronización de distribución"
+msgid "%d package marked for Distribution Synchronization"
+msgid_plural "%d packages marked for Distribution Synchronization"
+msgstr[0] "%d paquete marcado para la Sincronización de Distribución"
+msgstr[1] "%d paquetes marcados para la Sincronización de Distribución"
 
-#: ../cli.py:869
+#: ../cli.py:1069
 msgid "No Packages marked for Distribution Synchronization"
 msgstr "No se han seleccionado paquetes para Sincronización de distribución"
 
-#: ../cli.py:885
+#: ../cli.py:1124
 #, python-format
-msgid "%d packages marked for removal"
-msgstr "%d paquetes han sido seleccionados para ser eliminados"
+msgid "%d package marked for removal"
+msgid_plural "%d packages marked for removal"
+msgstr[0] "%d paquete marcado para ser eliminado"
+msgstr[1] "%d paquetes marcados para ser eliminados"
 
-#: ../cli.py:888
+#: ../cli.py:1126
 msgid "No Packages marked for removal"
 msgstr "No se han seleccionado paquetes para ser eliminados"
 
-#: ../cli.py:913
-msgid "Package(s) to downgrade"
-msgstr "Paquete(s) a desactualizar"
+#: ../cli.py:1166
+#, python-format
+msgid "%d package to downgrade"
+msgid_plural "%d packages to downgrade"
+msgstr[0] "%d paquete a rebajar versión"
+msgstr[1] "%d paquetes a rebajar versión"
 
-#: ../cli.py:938
+#: ../cli.py:1207
 #, python-format
 msgid " (from %s)"
 msgstr " (desde %s)"
 
-#: ../cli.py:939
+#: ../cli.py:1208
 #, python-format
 msgid "Installed package %s%s%s%s not available."
 msgstr "El paquete instalado %s%s%s%s no se encuentra disponible."
 
-#: ../cli.py:947
-msgid "Package(s) to reinstall"
-msgstr "Paquete(s) a reinstalar"
+#: ../cli.py:1221
+#, python-format
+msgid "%d package to reinstall"
+msgid_plural "%d packages to reinstall"
+msgstr[0] "%d paquete a reinstalar"
+msgstr[1] "%d paquetes a reinstalar"
 
-#: ../cli.py:960
+#: ../cli.py:1246
 msgid "No Packages Provided"
 msgstr "No se ha ofrecido ningún paquete"
 
-#: ../cli.py:1058
+#: ../cli.py:1259
+msgid "Package(s) to install"
+msgstr "Paquete(s) a instalarse"
+
+#: ../cli.py:1367
 #, python-format
 msgid "N/S Matched: %s"
 msgstr "Nombre/Resumen que coinciden con: %s"
 
-#: ../cli.py:1075
+#: ../cli.py:1384
 #, python-format
 msgid "  Name and summary matches %sonly%s, use \"search all\" for everything."
-msgstr ""
-"  Nombre y resumen que coinciden con %s y sólo %s, use \"buscar todo\" para "
-"todo."
+msgstr "  Nombre y resumen que coinciden con %s y sólo %s, use \"buscar todo\" para todo."
 
-#: ../cli.py:1077
+#: ../cli.py:1386
 #, python-format
 msgid ""
 "  Full name and summary matches %sonly%s, use \"search all\" for everything."
-msgstr ""
-"  Nombre completo y resumen que coinciden con %s y sólo %s, use \"buscar "
-"todo\" para todo."
+msgstr "  Nombre completo y resumen que coinciden con %s y sólo %s, use \"buscar todo\" para todo."
 
-#: ../cli.py:1095
+#: ../cli.py:1404
 #, python-format
 msgid "Matched: %s"
 msgstr "Concordante: %s"
 
-#: ../cli.py:1102
+#: ../cli.py:1411
 #, python-format
 msgid "  Name and summary matches %smostly%s, use \"search all\" for everything."
-msgstr ""
-"  Nombre y resumen que coinciden con %s y en general con %s, use \"buscar "
-"todo\" para todo."
+msgstr "  Nombre y resumen que coinciden con %s y en general con %s, use \"buscar todo\" para todo."
 
-#: ../cli.py:1106
+#: ../cli.py:1415
 #, python-format
 msgid "Warning: No matches found for: %s"
 msgstr "Aviso: No se ha encontrado ningún resultado para: %s"
 
-#: ../cli.py:1109
+#: ../cli.py:1418
 msgid "No Matches found"
 msgstr "No se ha encontrado ningún resultado"
 
-#: ../cli.py:1174
+#: ../cli.py:1536
 #, python-format
-msgid "No Package Found for %s"
-msgstr "No se ha encontrado ningún paquete para %s"
+msgid ""
+"Error: No Packages found for:\n"
+"  %s"
+msgstr "Error: No han sido encontrados paquetes para:\n  %s"
 
-#: ../cli.py:1184
+#: ../cli.py:1572
 msgid "Cleaning repos: "
-msgstr "Limpiando repositorios:"
+msgstr "Limpiando repositorios: "
 
-#: ../cli.py:1189
+#: ../cli.py:1577
 msgid "Cleaning up Everything"
 msgstr "Limpiando todo"
 
-#: ../cli.py:1205
+#: ../cli.py:1593
 msgid "Cleaning up Headers"
 msgstr "Limpiando encabezados"
 
-#: ../cli.py:1208
+#: ../cli.py:1596
 msgid "Cleaning up Packages"
 msgstr "Limpiando paquetes"
 
-#: ../cli.py:1211
+#: ../cli.py:1599
 msgid "Cleaning up xml metadata"
 msgstr "Limpiando metadatos xml"
 
-#: ../cli.py:1214
+#: ../cli.py:1602
 msgid "Cleaning up database cache"
 msgstr "Limpiando el caché de la base de datos"
 
-#: ../cli.py:1217
+#: ../cli.py:1605
 msgid "Cleaning up expire-cache metadata"
 msgstr "Limpiando metadatos expirados del caché"
 
-#: ../cli.py:1220
+#: ../cli.py:1608
 msgid "Cleaning up cached rpmdb data"
 msgstr "Limpiando datos de rpmdb en el caché"
 
-#: ../cli.py:1223
+#: ../cli.py:1611
 msgid "Cleaning up plugins"
 msgstr "Limpiando complementos"
 
-#: ../cli.py:1247
-#, python-format
-msgid "Warning: No groups match: %s"
-msgstr "Advertencia: No hay grupos coincidentes con: %s"
+#: ../cli.py:1727
+msgid "Installed Environment Groups:"
+msgstr "Grupos de Entorno Instalados:"
 
-#: ../cli.py:1264
+#: ../cli.py:1728
+msgid "Available Environment Groups:"
+msgstr "Grupos de Entorno Disponibles:"
+
+#: ../cli.py:1735
 msgid "Installed Groups:"
 msgstr "Grupos instalados:"
 
-#: ../cli.py:1270
+#: ../cli.py:1742
 msgid "Installed Language Groups:"
 msgstr "Grupos de idioma instalados:"
 
-#: ../cli.py:1276
+#: ../cli.py:1749
 msgid "Available Groups:"
 msgstr "Grupos disponibles:"
 
-#: ../cli.py:1282
+#: ../cli.py:1756
 msgid "Available Language Groups:"
 msgstr "Grupos de idioma disponibles:"
 
-#: ../cli.py:1285
+#: ../cli.py:1759
+#, python-format
+msgid "Warning: No Environments/Groups match: %s"
+msgstr "Advertencia: No hay coincidencia Entornos/Grupos: %s"
+
+#: ../cli.py:1763
 msgid "Done"
 msgstr "Listo"
 
-#: ../cli.py:1296 ../cli.py:1314 ../cli.py:1320 ../yum/__init__.py:3313
+#: ../cli.py:1818
+#, python-format
+msgid "Warning: Group/Environment %s does not exist."
+msgstr "Advertencia: Grupo/Entorno %s no existe."
+
+#: ../cli.py:1859
+#, python-format
+msgid "Warning: Environment %s does not exist."
+msgstr "Advertencia: Entorno %s no existe."
+
+#: ../cli.py:1873 ../cli.py:1879 ../yum/__init__.py:4254
 #, python-format
 msgid "Warning: Group %s does not exist."
 msgstr "Aviso: el grupo %s no existe."
 
-#: ../cli.py:1324
+#: ../cli.py:1883
 msgid "No packages in any requested group available to install or update"
-msgstr ""
-"En los grupos solicitados no existe disponible ningún paquete para ser "
-"instalado o actualizado"
+msgstr "En los grupos solicitados no existe disponible ningún paquete para ser instalado o actualizado"
 
-#: ../cli.py:1326
+#: ../cli.py:1885
 #, python-format
-msgid "%d Package(s) to Install"
-msgstr "%d paquete(s) a instalar"
+msgid "%d package to Install"
+msgid_plural "%d packages to Install"
+msgstr[0] "%d paquete a instalar"
+msgstr[1] "%d paquetes a instalar"
 
-#: ../cli.py:1336 ../yum/__init__.py:3325
+#: ../cli.py:1919 ../yum/__init__.py:3536 ../yum/__init__.py:3766
+#: ../yum/__init__.py:3824
+#, python-format
+msgid "No Environment named %s exists"
+msgstr "No existe Entorno llamado %s"
+
+#: ../cli.py:1935 ../yum/__init__.py:4282
 #, python-format
 msgid "No group named %s exists"
 msgstr "No existe ningún grupo denominado %s"
 
-#: ../cli.py:1342
+#: ../cli.py:1945
 msgid "No packages to remove from groups"
 msgstr "No existen paquetes a eliminarse de los grupos"
 
-#: ../cli.py:1344
+#: ../cli.py:1947 ../yumcommands.py:3351
 #, python-format
-msgid "%d Package(s) to remove"
-msgstr "%d paquete(s) a eliminar"
+msgid "%d package to remove"
+msgid_plural "%d packages to remove"
+msgstr[0] "%d paquete a eliminar"
+msgstr[1] "%d paquetes a eliminar"
 
-#: ../cli.py:1386
+#: ../cli.py:1988
 #, python-format
 msgid "Package %s is already installed, skipping"
 msgstr "Ya se encuentra instalado el paquete %s, ignorando"
 
-#: ../cli.py:1397
+#: ../cli.py:1999
 #, python-format
 msgid "Discarding non-comparable pkg %s.%s"
 msgstr "Descartando paquete no comparable %s.%s"
 
 #. we've not got any installed that match n or n+a
-#: ../cli.py:1423
+#: ../cli.py:2025
 #, python-format
 msgid "No other %s installed, adding to list for potential install"
-msgstr ""
-"No existe instalado otro %s, agregando a la lista para instalación posible"
+msgstr "No existe instalado otro %s, agregando a la lista para instalación posible"
 
-#: ../cli.py:1443
+#: ../cli.py:2045
 msgid "Plugin Options"
 msgstr "Opciones de complementos"
 
-#: ../cli.py:1451
+#: ../cli.py:2057
 #, python-format
 msgid "Command line error: %s"
 msgstr "Error en la línea de comando: %s"
 
-#: ../cli.py:1467
+#: ../cli.py:2079
 #, python-format
 msgid ""
 "\n"
 "\n"
 "%s: %s option requires an argument"
-msgstr ""
-"\n"
-"\n"
-"%s: la opción %s necesita un argumento"
+msgstr "\n\n%s: la opción %s necesita un argumento"
 
-#: ../cli.py:1521
+#: ../cli.py:2147
 msgid "--color takes one of: auto, always, never"
 msgstr "--color acepta una de las siguientes opciones: auto, always, never"
 
 #. We have a relative installroot ... haha
-#: ../cli.py:1596
+#: ../cli.py:2218
 #, python-format
 msgid "--installroot must be an absolute path: %s"
 msgstr "--insallroot debe ser una ruta absoluta: %s"
 
-#: ../cli.py:1642
+#: ../cli.py:2272
 msgid "show this help message and exit"
 msgstr "muestra este mensaje de ayuda y cierra"
 
-#: ../cli.py:1646
+#: ../cli.py:2276
 msgid "be tolerant of errors"
 msgstr "sea tolerante con los errores"
 
-#: ../cli.py:1649
+#: ../cli.py:2279
 msgid "run entirely from system cache, don't update cache"
 msgstr "se ejecuta completamente a partir del caché, pero no lo actualiza"
 
-#: ../cli.py:1652
+#: ../cli.py:2282
 msgid "config file location"
 msgstr "configurar ubicación de archivo"
 
-#: ../cli.py:1655
+#: ../cli.py:2285
 msgid "maximum command wait time"
 msgstr "tiempo máximo de espera del comando"
 
-#: ../cli.py:1657
+#: ../cli.py:2287
 msgid "debugging output level"
 msgstr "nivel de depuración de la salida"
 
-#: ../cli.py:1661
+#: ../cli.py:2291
 msgid "show duplicates, in repos, in list/search commands"
-msgstr ""
-"muestra duplicados en los repositorios, y en los comandos para "
-"mostrar/buscar"
+msgstr "muestra duplicados en los repositorios, y en los comandos para mostrar/buscar"
 
-#: ../cli.py:1663
+#: ../cli.py:2296
 msgid "error output level"
 msgstr "nivel de error de la salida"
 
-#: ../cli.py:1666
+#: ../cli.py:2299
 msgid "debugging output level for rpm"
 msgstr "nivel de depuración de salida para rpm"
 
-#: ../cli.py:1669
+#: ../cli.py:2302
 msgid "quiet operation"
 msgstr "operación discreta"
 
-#: ../cli.py:1671
+#: ../cli.py:2304
 msgid "verbose operation"
 msgstr "operación detallada"
 
-#: ../cli.py:1673
+#: ../cli.py:2306
 msgid "answer yes for all questions"
-msgstr "responde \"si\" a todas las preguntas"
+msgstr "responde \"sí\" a todas las preguntas"
+
+#: ../cli.py:2308
+msgid "answer no for all questions"
+msgstr "responder no para todas las preguntas"
 
-#: ../cli.py:1675
+#: ../cli.py:2312
 msgid "show Yum version and exit"
 msgstr "muestra la versión de Yum y finaliza"
 
-#: ../cli.py:1676
+#: ../cli.py:2313
 msgid "set install root"
 msgstr "define la raíz de instalación"
 
-#: ../cli.py:1680
+#: ../cli.py:2317
 msgid "enable one or more repositories (wildcards allowed)"
 msgstr "activa uno o más repositorios (los comodines son permitidos)"
 
-#: ../cli.py:1684
+#: ../cli.py:2321
 msgid "disable one or more repositories (wildcards allowed)"
 msgstr "desactiva uno o más repositorios (los comodines son permitidos)"
 
-#: ../cli.py:1687
+#: ../cli.py:2324
 msgid "exclude package(s) by name or glob"
 msgstr "excluya paquete(s) de acuerdo a su nombre o glob "
 
-#: ../cli.py:1689
+#: ../cli.py:2326
 msgid "disable exclude from main, for a repo or for everything"
-msgstr ""
-"deshabilita la posibilidad de exclusión desde main, para un repositorio o "
-"para todos"
+msgstr "deshabilita la posibilidad de exclusión desde main, para un repositorio o para todos"
 
-#: ../cli.py:1692
+#: ../cli.py:2329
 msgid "enable obsoletes processing during updates"
 msgstr "habilita el proceso de paquetes obsoletos durante las actualizaciones"
 
-#: ../cli.py:1694
+#: ../cli.py:2331
 msgid "disable Yum plugins"
 msgstr "deshabilita los complementos de Yum"
 
-#: ../cli.py:1696
+#: ../cli.py:2333
 msgid "disable gpg signature checking"
 msgstr "deshabilita la verificación de firmas GPG"
 
-#: ../cli.py:1698
+#: ../cli.py:2335
 msgid "disable plugins by name"
 msgstr "deshabilita complementos de acuerdo a su nombre"
 
-#: ../cli.py:1701
+#: ../cli.py:2338
 msgid "enable plugins by name"
 msgstr "habilita complementos de acuerdo a su nombre"
 
-#: ../cli.py:1704
+#: ../cli.py:2341
 msgid "skip packages with depsolving problems"
 msgstr "ignora paquetes con problemas de resolución de dependencias"
 
-#: ../cli.py:1706
+#: ../cli.py:2343
 msgid "control whether color is used"
 msgstr "controla la utilización de colores"
 
-#: ../cli.py:1708
+#: ../cli.py:2345
 msgid "set value of $releasever in yum config and repo files"
-msgstr ""
-"define el valor de $releasever en los aarchivos de configuración de yum y de"
-" los repositorios"
+msgstr "defina el valor de $releasever en los archivos de configuración de yum y de los repositorios"
+
+#: ../cli.py:2347
+msgid "don't update, just download"
+msgstr "no actualizar, sólo descargar"
 
-#: ../cli.py:1710
+#: ../cli.py:2349
+msgid "specifies an alternate directory to store packages"
+msgstr "especifique un directorio alternativo para almacenar paquetes"
+
+#: ../cli.py:2351
 msgid "set arbitrary config and repo options"
 msgstr "define una configuración arbitraria y opciones de los repositorios"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Jan"
 msgstr "Ene"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Feb"
 msgstr "Feb"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Mar"
 msgstr "Mar"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Apr"
 msgstr "Abr"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "May"
 msgstr "May"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Jun"
 msgstr "Jun"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Jul"
 msgstr "Jul"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Aug"
 msgstr "Ago"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Sep"
 msgstr "Sep"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Oct"
 msgstr "Oct"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Nov"
 msgstr "Nov"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Dec"
 msgstr "Dic"
 
-#: ../output.py:318
+#: ../output.py:473
 msgid "Trying other mirror."
 msgstr "Intentando con otro espejo."
 
-#: ../output.py:581
+#: ../output.py:816
 #, python-format
 msgid "Name        : %s%s%s"
 msgstr "Nombre        : %s%s%s"
 
-#: ../output.py:582
+#: ../output.py:817
 #, python-format
 msgid "Arch        : %s"
 msgstr "Arquitectura        : %s"
 
-#: ../output.py:584
+#: ../output.py:819
 #, python-format
 msgid "Epoch       : %s"
 msgstr "Período       : %s"
 
-#: ../output.py:585
+#: ../output.py:820
 #, python-format
 msgid "Version     : %s"
 msgstr "Versión     : %s"
 
-#: ../output.py:586
+#: ../output.py:821
 #, python-format
 msgid "Release     : %s"
 msgstr "Lanzamiento     : %s"
 
-#: ../output.py:587
+#: ../output.py:822
 #, python-format
 msgid "Size        : %s"
 msgstr "Tamaño        : %s"
 
-#: ../output.py:588 ../output.py:900
+#: ../output.py:823 ../output.py:1329
 #, python-format
 msgid "Repo        : %s"
 msgstr "Repositorio        : %s"
 
-#: ../output.py:590
+#: ../output.py:825
 #, python-format
 msgid "From repo   : %s"
 msgstr "Desde el repositorio   : %s"
 
-#: ../output.py:592
+#: ../output.py:827
 #, python-format
 msgid "Committer   : %s"
 msgstr "Enviado por   : %s"
 
-#: ../output.py:593
+#: ../output.py:828
 #, python-format
 msgid "Committime  : %s"
 msgstr "Horario del envío  : %s"
 
-#: ../output.py:594
+#: ../output.py:829
 #, python-format
 msgid "Buildtime   : %s"
 msgstr "Horario de la construcción   : %s"
 
-#: ../output.py:596
+#: ../output.py:831
 #, python-format
 msgid "Install time: %s"
 msgstr "Horario de la instalación: %s"
 
-#: ../output.py:604
+#: ../output.py:839
 #, python-format
 msgid "Installed by: %s"
 msgstr "Instalado por: %s"
 
-#: ../output.py:611
+#: ../output.py:846
 #, python-format
 msgid "Changed by  : %s"
 msgstr "Modificado por  : %s "
 
-#: ../output.py:612
+#: ../output.py:847
 msgid "Summary     : "
 msgstr "Resumen     : "
 
-#: ../output.py:614 ../output.py:913
+#: ../output.py:849 ../output.py:1345
 #, python-format
 msgid "URL         : %s"
 msgstr "URL         : %s"
 
-#: ../output.py:615
+#: ../output.py:850
 msgid "License     : "
 msgstr "Licencia     : "
 
-#: ../output.py:616 ../output.py:910
+#: ../output.py:851 ../output.py:1342
 msgid "Description : "
 msgstr "Descripción :"
 
-#: ../output.py:684
+#: ../output.py:969
 msgid "y"
 msgstr "s"
 
-#: ../output.py:684
+#: ../output.py:969
 msgid "yes"
-msgstr "si"
+msgstr "sí"
 
-#: ../output.py:685
+#: ../output.py:970
 msgid "n"
 msgstr "n"
 
-#: ../output.py:685
+#: ../output.py:970
 msgid "no"
 msgstr "no"
 
-#: ../output.py:689
+#: ../output.py:974
 msgid "Is this ok [y/N]: "
 msgstr "Está de acuerdo [s/N]:"
 
-#: ../output.py:777
+#: ../output.py:1097
 #, python-format
 msgid ""
 "\n"
 "Group: %s"
-msgstr ""
-"\n"
-"Grupo: %s"
+msgstr "\nGrupo: %s"
 
-#: ../output.py:781
+#: ../output.py:1101
 #, python-format
 msgid " Group-Id: %s"
 msgstr " Group-Id: %s"
 
-#: ../output.py:786
+#: ../output.py:1122 ../output.py:1169
 #, python-format
 msgid " Description: %s"
 msgstr " Descripción: %s"
 
-#: ../output.py:788
+#: ../output.py:1124
 #, python-format
 msgid " Language: %s"
 msgstr " Idioma: %s"
 
-#: ../output.py:790
+#: ../output.py:1126
 msgid " Mandatory Packages:"
 msgstr " Paquetes obligatorios:"
 
-#: ../output.py:791
+#: ../output.py:1127
 msgid " Default Packages:"
 msgstr " Paquetes predeterminados:"
 
-#: ../output.py:792
+#: ../output.py:1128
 msgid " Optional Packages:"
 msgstr " Paquetes opcionales:"
 
-#: ../output.py:793
+#: ../output.py:1129
 msgid " Conditional Packages:"
 msgstr " Paquetes condicionales:"
 
-#: ../output.py:814
+#: ../output.py:1147
+msgid " Installed Packages:"
+msgstr " Paquetes instalados:"
+
+#: ../output.py:1157
+#, python-format
+msgid ""
+"\n"
+"Environment Group: %s"
+msgstr "\nGrupo de Entorno: %s"
+
+#: ../output.py:1158
+#, python-format
+msgid " Environment-Id: %s"
+msgstr "Id de Entorno: %s"
+
+#: ../output.py:1191
+msgid " Mandatory Groups:"
+msgstr "Grupos Obligatorios:"
+
+#: ../output.py:1192
+msgid " Optional Groups:"
+msgstr "Grupos Opcionales:"
+
+#: ../output.py:1205
+msgid " Installed Groups:"
+msgstr "Grupos Instalados:"
+
+#: ../output.py:1217
 #, python-format
 msgid "package: %s"
 msgstr "paquete: %s"
 
-#: ../output.py:816
+#: ../output.py:1219
 msgid "  No dependencies for this package"
 msgstr " No existen dependencias para este paquete"
 
-#: ../output.py:821
+#: ../output.py:1224
 #, python-format
 msgid "  dependency: %s"
 msgstr " dependencia: %s"
 
-#: ../output.py:823
+#: ../output.py:1226
 msgid "   Unsatisfied dependency"
 msgstr " Dependencia no satisfecha"
 
-#: ../output.py:901
+#: ../output.py:1337
 msgid "Matched from:"
 msgstr "Resultado obtenido desde:"
 
-#: ../output.py:916
+#: ../output.py:1348
 #, python-format
 msgid "License     : %s"
 msgstr "Licencia     : %s"
 
-#: ../output.py:919
+#: ../output.py:1351
 #, python-format
 msgid "Filename    : %s"
 msgstr "Nombre del archivo    : %s"
 
-#: ../output.py:923
+#: ../output.py:1360
+msgid "Provides    : "
+msgstr "Ofrece    : "
+
+#: ../output.py:1363
 msgid "Other       : "
 msgstr "Otro       : "
 
-#: ../output.py:966
+#: ../output.py:1426
 msgid "There was an error calculating total download size"
 msgstr "Hubo un error mientras se calculaba el tamaño total de la descarga"
 
-#: ../output.py:971
+#: ../output.py:1431
 #, python-format
 msgid "Total size: %s"
 msgstr "Tamaño total: %s"
 
-#: ../output.py:974
+#: ../output.py:1433
 #, python-format
 msgid "Total download size: %s"
 msgstr "Tamaño total de la descarga: %s"
 
-#: ../output.py:978 ../output.py:998
+#: ../output.py:1436 ../output.py:1459 ../output.py:1463
 #, python-format
 msgid "Installed size: %s"
 msgstr "Tamaño instalado: %s"
 
-#: ../output.py:994
+#: ../output.py:1454
 msgid "There was an error calculating installed size"
 msgstr "Hubo un error mientras se calculaba el tamaño instalado"
 
-#: ../output.py:1039
+#: ../output.py:1504
 msgid "Reinstalling"
 msgstr "Reinstalando"
 
-#: ../output.py:1040
+#: ../output.py:1505
 msgid "Downgrading"
 msgstr "Desactualizando"
 
-#: ../output.py:1041
+#: ../output.py:1506
 msgid "Installing for dependencies"
 msgstr "Instalando para las dependencias"
 
-#: ../output.py:1042
+#: ../output.py:1507
 msgid "Updating for dependencies"
 msgstr "Actualizando para las dependencias"
 
-#: ../output.py:1043
+#: ../output.py:1508
 msgid "Removing for dependencies"
 msgstr "Eliminando para las dependencias"
 
-#: ../output.py:1050 ../output.py:1171
+#: ../output.py:1515 ../output.py:1576 ../output.py:1672
 msgid "Skipped (dependency problems)"
 msgstr "Ignorando (problemas de dependencias)"
 
-#: ../output.py:1052 ../output.py:1687
+#: ../output.py:1517 ../output.py:1577 ../output.py:2223
 msgid "Not installed"
 msgstr "No instalado"
 
-#: ../output.py:1053
+#: ../output.py:1518 ../output.py:1578
 msgid "Not available"
-msgstr ""
+msgstr "No disponible"
 
-#: ../output.py:1075 ../output.py:2024
+#: ../output.py:1540 ../output.py:1588 ../output.py:1604 ../output.py:2581
 msgid "Package"
-msgstr "Paquete"
+msgid_plural "Packages"
+msgstr[0] "Paquete"
+msgstr[1] "Paquetes"
 
-#: ../output.py:1075
+#: ../output.py:1540
 msgid "Arch"
 msgstr "Arquitectura"
 
-#: ../output.py:1076
+#: ../output.py:1541
 msgid "Version"
 msgstr "Versión"
 
-#: ../output.py:1076
+#: ../output.py:1541
 msgid "Repository"
 msgstr "Repositorio"
 
-#: ../output.py:1077
+#: ../output.py:1542
 msgid "Size"
 msgstr "Tamaño"
 
-#: ../output.py:1089
+#: ../output.py:1554
 #, python-format
 msgid "     replacing  %s%s%s.%s %s\n"
 msgstr "     reemplazando  %s%s%s.%s %s\n"
 
-#: ../output.py:1098
+#: ../output.py:1563
 #, python-format
 msgid ""
 "\n"
 "Transaction Summary\n"
 "%s\n"
-msgstr ""
-"\n"
-"Resumen de la transacción\n"
-"%s\n"
+msgstr "\nResumen de la transacción\n%s\n"
 
-#: ../output.py:1109
-#, python-format
-msgid "Install   %5.5s Package(s)\n"
-msgstr "Instalar   %5.5s Paquete(s)\n"
+#: ../output.py:1568 ../output.py:2376 ../output.py:2377
+msgid "Install"
+msgstr "Instalar"
 
-#: ../output.py:1113
-#, python-format
-msgid "Upgrade   %5.5s Package(s)\n"
-msgstr "Actualizar   %5.5s Paquete(s)\n"
+#: ../output.py:1570
+msgid "Upgrade"
+msgstr "Actualizar"
 
-#: ../output.py:1117
-#, python-format
-msgid "Remove    %5.5s Package(s)\n"
-msgstr "Eliminar   %5.5s Paquete(s)\n"
+#: ../output.py:1572
+msgid "Remove"
+msgstr "Eliminar"
 
-#: ../output.py:1121
-#, python-format
-msgid "Reinstall %5.5s Package(s)\n"
-msgstr "Reinstalar %5.5s Paquete(s)\n"
+#: ../output.py:1574 ../output.py:2382
+msgid "Reinstall"
+msgstr "Reinstalar"
 
-#: ../output.py:1125
-#, python-format
-msgid "Downgrade %5.5s Package(s)\n"
-msgstr "Desactualizar %5.5s Paquete(s)\n"
+#: ../output.py:1575 ../output.py:2383
+msgid "Downgrade"
+msgstr "Desactualizar"
+
+#: ../output.py:1606
+msgid "Dependent package"
+msgid_plural "Dependent packages"
+msgstr[0] "Paquete dependiente"
+msgstr[1] "Paquetes dependientes"
 
-#: ../output.py:1165
+#: ../output.py:1666
 msgid "Removed"
 msgstr "Eliminado(s)"
 
-#: ../output.py:1166
+#: ../output.py:1667
 msgid "Dependency Removed"
 msgstr "Dependencia(s) eliminada(s)"
 
-#: ../output.py:1168
+#: ../output.py:1669
 msgid "Dependency Installed"
 msgstr "Dependencia(s) instalada(s)"
 
-#: ../output.py:1170
+#: ../output.py:1671
 msgid "Dependency Updated"
 msgstr "Dependencia(s) actualizada(s)"
 
-#: ../output.py:1172
+#: ../output.py:1673
 msgid "Replaced"
 msgstr "Sustituido(s)"
 
-#: ../output.py:1173
+#: ../output.py:1674
 msgid "Failed"
 msgstr "Falló"
 
 #. Delta between C-c's so we treat as exit
-#: ../output.py:1260
+#: ../output.py:1764
 msgid "two"
 msgstr "dos"
 
 #. For translators: This is output like:
 #. Current download cancelled, interrupt (ctrl-c) again within two seconds
 #. to exit.
-#. Where "interupt (ctrl-c) again" and "two" are highlighted.
-#: ../output.py:1271
+#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
+#: ../output.py:1775
 #, python-format
 msgid ""
 "\n"
 " Current download cancelled, %sinterrupt (ctrl-c) again%s within %s%s%s seconds\n"
 "to exit.\n"
-msgstr ""
-"\n"
-" Se ha cancelado la descarga actual, %sinterrumpa con (ctrl-c) nuevamente%s dentro de %s%s%s segundos\n"
-"para finalizar.\n"
+msgstr "\nSe ha cancelado la descarga actual, %sinterrumpa con (ctrl-c) nuevamente%s dentro de %s%s%s segundos\npara finalizar.\n"
 
-#: ../output.py:1282
+#: ../output.py:1786
 msgid "user interrupt"
 msgstr "interrupción solicitada por el usuario"
 
-#: ../output.py:1300
+#: ../output.py:1812
 msgid "Total"
 msgstr "Total"
 
-#: ../output.py:1322
+#: ../output.py:1834
 msgid "I"
 msgstr "I"
 
-#: ../output.py:1323
+#: ../output.py:1835
 msgid "O"
 msgstr "O"
 
-#: ../output.py:1324
+#: ../output.py:1836
 msgid "E"
 msgstr "E"
 
-#: ../output.py:1325
+#: ../output.py:1837
 msgid "R"
 msgstr "R"
 
-#: ../output.py:1326
+#: ../output.py:1838
 msgid "D"
 msgstr "D"
 
-#: ../output.py:1327
+#: ../output.py:1839
 msgid "U"
 msgstr "U"
 
-#: ../output.py:1341
+#: ../output.py:1853
 msgid "<unset>"
 msgstr "<no definido>"
 
-#: ../output.py:1342
+#: ../output.py:1854
 msgid "System"
 msgstr "Sistema"
 
-#: ../output.py:1411
+#: ../output.py:1923
 #, python-format
 msgid "Skipping merged transaction %d to %d, as it overlaps"
 msgstr "Omitiendo transacción mezclada %d a %d, dado que se superponen"
 
-#: ../output.py:1421 ../output.py:1592
+#: ../output.py:1933 ../output.py:2125
 msgid "No transactions"
 msgstr "Sin transacciones"
 
-#: ../output.py:1446 ../output.py:2013
+#: ../output.py:1958 ../output.py:2570 ../output.py:2660
 msgid "Bad transaction IDs, or package(s), given"
 msgstr "Se ha(n) indicado paquete(s), o IDs de transacciones erróneas"
 
-#: ../output.py:1484
+#: ../output.py:2007
 msgid "Command line"
 msgstr "Linea de comandos"
 
-#: ../output.py:1486 ../output.py:1908
+#: ../output.py:2009 ../output.py:2458
 msgid "Login user"
 msgstr "Registro de usuario"
 
 #. REALLY Needs to use columns!
-#: ../output.py:1487 ../output.py:2022
+#: ../output.py:2010 ../output.py:2579
 msgid "ID"
 msgstr "ID"
 
-#: ../output.py:1489
+#: ../output.py:2012
 msgid "Date and time"
 msgstr "Día y hora"
 
-#: ../output.py:1490 ../output.py:1910 ../output.py:2023
+#: ../output.py:2013 ../output.py:2460 ../output.py:2580
 msgid "Action(s)"
 msgstr "Acción(es)"
 
-#: ../output.py:1491 ../output.py:1911
+#: ../output.py:2014 ../output.py:2461
 msgid "Altered"
 msgstr "Modificado"
 
-#: ../output.py:1538
+#: ../output.py:2061
 msgid "No transaction ID given"
 msgstr "No se ha indicado un ID de transacción"
 
-#: ../output.py:1564 ../output.py:1972
+#: ../output.py:2087 ../output.py:2526
 msgid "Bad transaction ID given"
 msgstr "Se ha indicado un ID de transacción no válido "
 
-#: ../output.py:1569
+#: ../output.py:2092
 msgid "Not found given transaction ID"
 msgstr "No se ha encontrado el ID de transacción indicado"
 
-#: ../output.py:1577
+#: ../output.py:2100
 msgid "Found more than one transaction ID!"
 msgstr "¡Se ha encontrado más de un ID de transacción!"
 
-#: ../output.py:1618 ../output.py:1980
+#: ../output.py:2151 ../output.py:2534
 msgid "No transaction ID, or package, given"
 msgstr "No se ha indicado ningún paquete, o ID de transacción"
 
-#: ../output.py:1686 ../output.py:1845
+#: ../output.py:2222 ../output.py:2384
 msgid "Downgraded"
 msgstr "Desactualizado"
 
-#: ../output.py:1688
+#: ../output.py:2224
 msgid "Older"
 msgstr "Antiguos"
 
-#: ../output.py:1688
+#: ../output.py:2224
 msgid "Newer"
 msgstr "Nuevos"
 
-#: ../output.py:1724 ../output.py:1726
+#: ../output.py:2261 ../output.py:2263 ../output.py:2681
 msgid "Transaction ID :"
 msgstr "ID de transacción :"
 
-#: ../output.py:1728
+#: ../output.py:2265 ../output.py:2683
 msgid "Begin time     :"
 msgstr "Hora inicial     :"
 
-#: ../output.py:1731 ../output.py:1733
+#: ../output.py:2268 ../output.py:2270
 msgid "Begin rpmdb    :"
 msgstr "Rpmdb inicial    :"
 
-#: ../output.py:1749
+#: ../output.py:2286
 #, python-format
 msgid "(%u seconds)"
 msgstr "(%u segundos)"
 
-#: ../output.py:1751
+#: ../output.py:2288
 #, python-format
 msgid "(%u minutes)"
 msgstr "(%u minutos)"
 
-#: ../output.py:1753
+#: ../output.py:2290
 #, python-format
 msgid "(%u hours)"
 msgstr "(%u horas)"
 
-#: ../output.py:1755
+#: ../output.py:2292
 #, python-format
 msgid "(%u days)"
 msgstr "(%u dias)"
 
-#: ../output.py:1756
+#: ../output.py:2293
 msgid "End time       :"
 msgstr "Hora final       : "
 
-#: ../output.py:1759 ../output.py:1761
+#: ../output.py:2296 ../output.py:2298
 msgid "End rpmdb      :"
 msgstr "Rpmdb final      :"
 
-#: ../output.py:1764 ../output.py:1766
+#: ../output.py:2301 ../output.py:2303
 msgid "User           :"
 msgstr "Usuario           :"
 
-#: ../output.py:1770 ../output.py:1773 ../output.py:1775 ../output.py:1777
-#: ../output.py:1779
+#: ../output.py:2307 ../output.py:2310 ../output.py:2312 ../output.py:2314
+#: ../output.py:2316
 msgid "Return-Code    :"
 msgstr "Codigo-obtenido    :"
 
-#: ../output.py:1770 ../output.py:1775
+#: ../output.py:2307 ../output.py:2312
 msgid "Aborted"
 msgstr "Abortado"
 
-#: ../output.py:1773
+#: ../output.py:2310
 msgid "Failures:"
 msgstr "Fallas:"
 
-#: ../output.py:1777
+#: ../output.py:2314
 msgid "Failure:"
 msgstr "Falla:"
 
-#: ../output.py:1779
+#: ../output.py:2316
 msgid "Success"
 msgstr "Exito"
 
-#: ../output.py:1784 ../output.py:1786
+#: ../output.py:2321 ../output.py:2323 ../output.py:2712
 msgid "Command Line   :"
 msgstr "Línea de comando   :"
 
-#: ../output.py:1795
+#: ../output.py:2332
 #, python-format
 msgid "Additional non-default information stored: %d"
 msgstr "Información adicional no predeterminada almacenada: %d"
 
 #. This is _possible_, but not common
-#: ../output.py:1800
+#: ../output.py:2337
 msgid "Transaction performed with:"
 msgstr "Transacción realizada con:"
 
-#: ../output.py:1804
+#: ../output.py:2341
 msgid "Packages Altered:"
 msgstr "Paquetes modificados:"
 
-#: ../output.py:1808
+#: ../output.py:2345
 msgid "Packages Skipped:"
 msgstr "Paquetes ignorados:"
 
-#: ../output.py:1814
+#: ../output.py:2353
 msgid "Rpmdb Problems:"
 msgstr "Problemas en la base de datos RPM: "
 
-#: ../output.py:1825
+#: ../output.py:2364
 msgid "Scriptlet output:"
 msgstr "Información del scriptlet:"
 
-#: ../output.py:1831
+#: ../output.py:2370
 msgid "Errors:"
 msgstr "Errores:"
 
-#: ../output.py:1837 ../output.py:1838
-msgid "Install"
-msgstr "Instalar"
-
-#: ../output.py:1839
+#: ../output.py:2378
 msgid "Dep-Install"
 msgstr "Instalación de dependencias"
 
-#: ../output.py:1841
+#: ../output.py:2380
 msgid "Obsoleting"
 msgstr "Convirtiendo en obsoleto"
 
-#: ../output.py:1842
+#: ../output.py:2381
 msgid "Erase"
 msgstr "Eliminar"
 
-#: ../output.py:1843
-msgid "Reinstall"
-msgstr "Reinstalar"
-
-#: ../output.py:1844
-msgid "Downgrade"
-msgstr "Desactualizar"
-
-#: ../output.py:1846
+#: ../output.py:2385
 msgid "Update"
 msgstr "Actualizar"
 
-#: ../output.py:1909
+#: ../output.py:2459
 msgid "Time"
 msgstr "Hora"
 
-#: ../output.py:1935
+#: ../output.py:2485
 msgid "Last day"
 msgstr "Ultimo día"
 
-#: ../output.py:1936
+#: ../output.py:2486
 msgid "Last week"
 msgstr "Ultima semana"
 
-#: ../output.py:1937
+#: ../output.py:2487
 msgid "Last 2 weeks"
 msgstr "Ultimas 2 semanas"
 
 #. US default :p
-#: ../output.py:1938
+#: ../output.py:2488
 msgid "Last 3 months"
 msgstr "Ultimos 3 meses"
 
-#: ../output.py:1939
+#: ../output.py:2489
 msgid "Last 6 months"
 msgstr "Ultimos 6 meses"
 
-#: ../output.py:1940
+#: ../output.py:2490
 msgid "Last year"
 msgstr "Ultimo año"
 
-#: ../output.py:1941
+#: ../output.py:2491
 msgid "Over a year ago"
 msgstr "Hace más de un año"
 
-#: ../output.py:1984
+#: ../output.py:2538
 #, python-format
 msgid "No Transaction %s found"
 msgstr "No se ha encontrado una transacción %s"
 
-#: ../output.py:1990
+#: ../output.py:2544
 msgid "Transaction ID:"
 msgstr "ID de transacción :"
 
-#: ../output.py:1991
+#: ../output.py:2545
 msgid "Available additional history information:"
 msgstr "Información de historial adicional disponible:"
 
-#: ../output.py:2003
+#: ../output.py:2558
 #, python-format
 msgid "%s: No additional data found by this name"
 msgstr "%s No ha sido encontrada información adicional con este nombre"
 
-#: ../output.py:2106
+#: ../output.py:2684
+msgid "Package        :"
+msgstr "Paquete       :"
+
+#: ../output.py:2685
+msgid "State          :"
+msgstr "Estado         :"
+
+#: ../output.py:2688
+msgid "Size           :"
+msgstr "Tamaño         :"
+
+#: ../output.py:2690
+msgid "Build host     :"
+msgstr "Equipo de construcción:"
+
+#: ../output.py:2693
+msgid "Build time     :"
+msgstr "Fecha de construcción:"
+
+#: ../output.py:2695
+msgid "Packager       :"
+msgstr "Empaquetador   :"
+
+#: ../output.py:2697
+msgid "Vendor         :"
+msgstr "Vendedor       :"
+
+#: ../output.py:2699
+msgid "License        :"
+msgstr "Licencia       :"
+
+#: ../output.py:2701
+msgid "URL            :"
+msgstr "URL            :"
+
+#: ../output.py:2703
+msgid "Source RPM     :"
+msgstr "RPM Fuente     :"
+
+#: ../output.py:2706
+msgid "Commit Time    :"
+msgstr "Fecha de publicación:"
+
+#: ../output.py:2708
+msgid "Committer      :"
+msgstr "Publicador     :"
+
+#: ../output.py:2710
+msgid "Reason         :"
+msgstr "Razón          :"
+
+#: ../output.py:2714
+msgid "From repo      :"
+msgstr "Repositorio    :"
+
+#: ../output.py:2718
+msgid "Installed by   :"
+msgstr "Instalado por  :"
+
+#: ../output.py:2722
+msgid "Changed by     :"
+msgstr "Modificado por :"
+
+#: ../output.py:2767
 msgid "installed"
 msgstr "instalado"
 
-#: ../output.py:2107
+#: ../output.py:2768
 msgid "an update"
 msgstr "una actualización"
 
-#: ../output.py:2108
+#: ../output.py:2769
 msgid "erased"
 msgstr "eliminado"
 
-#: ../output.py:2109
+#: ../output.py:2770
 msgid "reinstalled"
 msgstr "reinstalado"
 
-#: ../output.py:2110
+#: ../output.py:2771
 msgid "a downgrade"
 msgstr "una desactualización"
 
-#: ../output.py:2111
+#: ../output.py:2772
 msgid "obsoleting"
 msgstr "obsoleto"
 
-#: ../output.py:2112
+#: ../output.py:2773
 msgid "updated"
 msgstr "actualizado"
 
-#: ../output.py:2113
+#: ../output.py:2774
 msgid "obsoleted"
 msgstr "obsoleto"
 
-#: ../output.py:2117
+#: ../output.py:2778
 #, python-format
 msgid "---> Package %s.%s %s:%s-%s will be %s"
 msgstr "---> Paquete %s.%s %s:%s-%s debe ser %s"
 
-#: ../output.py:2124
+#: ../output.py:2789
 msgid "--> Running transaction check"
 msgstr "--> Ejecutando prueba de transacción"
 
-#: ../output.py:2129
+#: ../output.py:2795
 msgid "--> Restarting Dependency Resolution with new changes."
-msgstr ""
-"--> Reiniciando la resolución de las dependencias con las nuevas "
-"modificaciones."
+msgstr "--> Reiniciando la resolución de las dependencias con las nuevas modificaciones."
 
-#: ../output.py:2134
+#: ../output.py:2801
 msgid "--> Finished Dependency Resolution"
 msgstr "--> Resolución de dependencias finalizada"
 
-#: ../output.py:2139 ../output.py:2144
+#: ../output.py:2814 ../output.py:2827
 #, python-format
 msgid "--> Processing Dependency: %s for package: %s"
 msgstr "--> Procesando dependencias: %s para el paquete: %s"
 
-#: ../output.py:2149
+#: ../output.py:2841
 #, python-format
-msgid "---> Keeping package: %s"
-msgstr "---> Manteniendo el paquete: %s"
+msgid "---> Keeping package: %s due to %s"
+msgstr "--> Manteniendo paquete: %s debido a %s"
 
-#: ../output.py:2152
+#: ../output.py:2850
 #, python-format
 msgid "--> Unresolved Dependency: %s"
 msgstr "--> Dependencia no resuelta: %s"
 
-#: ../output.py:2163
+#: ../output.py:2867
 #, python-format
 msgid "Package: %s"
 msgstr "Paquete: %s"
 
-#: ../output.py:2165
+#: ../output.py:2869
 #, python-format
 msgid ""
 "\n"
 "    Requires: %s"
-msgstr ""
-"\n"
-"    Necesita: %s"
+msgstr "\n    Necesita: %s"
 
-#: ../output.py:2174
+#: ../output.py:2878
 #, python-format
 msgid ""
 "\n"
 "    %s: %s (%s)"
-msgstr ""
-"\n"
-"    %s: %s (%s)"
+msgstr "\n    %s: %s (%s)"
 
-#: ../output.py:2179
+#: ../output.py:2883
 #, python-format
 msgid ""
 "\n"
 "        %s"
-msgstr ""
-"\n"
-"        %s"
+msgstr "\n        %s"
 
-#: ../output.py:2181
+#: ../output.py:2885
 msgid ""
 "\n"
 "        Not found"
-msgstr ""
-"\n"
-"        No encontrado"
+msgstr "\n        No encontrado"
 
 #. These should be the only three things we care about:
-#: ../output.py:2196
+#: ../output.py:2900
 msgid "Updated By"
 msgstr "Actualizado por"
 
-#: ../output.py:2197
+#: ../output.py:2901
 msgid "Downgraded By"
 msgstr "Desactualizado por"
 
-#: ../output.py:2198
+#: ../output.py:2902
 msgid "Obsoleted By"
 msgstr "Obsoleto por"
 
-#: ../output.py:2216
+#: ../output.py:2920
 msgid "Available"
 msgstr "Disponible"
 
-#: ../output.py:2243 ../output.py:2248
+#: ../output.py:2955 ../output.py:2968
 #, python-format
 msgid "--> Processing Conflict: %s conflicts %s"
 msgstr "--> Procesando conflictos: %s choca con %s"
 
-#: ../output.py:2252
+#: ../output.py:2974
 msgid "--> Populating transaction set with selected packages. Please wait."
-msgstr ""
-"--> Construyendo el conjunto de las transacciones con los paquetes "
-"seleccionados. Por favor aguarde."
+msgstr "--> Construyendo el conjunto de las transacciones con los paquetes seleccionados. Por favor aguarde."
 
-#: ../output.py:2256
+#: ../output.py:2983
 #, python-format
 msgid "---> Downloading header for %s to pack into transaction set."
-msgstr ""
-"---> Descargando el encabezado de %s para incluirlo en el conjunto de "
-"transacciones."
+msgstr "---> Descargando el encabezado de %s para incluirlo en el conjunto de transacciones."
+
+#. self.event(txmbr.name, count, len(base.tsInfo), count, )
+#. (te_current*100L)/te_total
+#: ../output.py:3248
+msgid "Verifying"
+msgstr "Comprobando"
 
-#: ../utils.py:99
+#: ../utils.py:123
 msgid "Running"
 msgstr "Ejecutando"
 
-#: ../utils.py:100
+#: ../utils.py:124
 msgid "Sleeping"
 msgstr "Durmiendo"
 
-#: ../utils.py:101
+#: ../utils.py:125
 msgid "Uninterruptible"
 msgstr "Ininterrumplible"
 
-#: ../utils.py:102
+#: ../utils.py:126
 msgid "Zombie"
 msgstr "Zombi"
 
-#: ../utils.py:103
+#: ../utils.py:127
 msgid "Traced/Stopped"
 msgstr "Rastreado/Detenido"
 
-#: ../utils.py:104 ../yumcommands.py:994
+#: ../utils.py:128 ../yumcommands.py:2193
 msgid "Unknown"
 msgstr "Desconocido"
 
-#: ../utils.py:115
+#: ../utils.py:153
 msgid "  The other application is: PackageKit"
 msgstr "  La otra aplicación es: PackageKit"
 
-#: ../utils.py:117
+#: ../utils.py:155
 #, python-format
 msgid "  The other application is: %s"
 msgstr "  La otra aplicación es: %s"
 
-#: ../utils.py:120
+#: ../utils.py:158
 #, python-format
 msgid "    Memory : %5s RSS (%5sB VSZ)"
 msgstr "    Memoria : %5s RSS (%5sB VSZ)"
 
-#: ../utils.py:125
+#: ../utils.py:163
 #, python-format
 msgid "    Started: %s - %s ago"
 msgstr "    Iniciado: %s - %s atrás"
 
-#: ../utils.py:127
+#: ../utils.py:165
 #, python-format
 msgid "    State  : %s, pid: %d"
 msgstr "    Estado  : %s, pid: %d"
 
-#: ../utils.py:170 ../yummain.py:43
+#: ../utils.py:194 ../yummain.py:43
 msgid ""
 "\n"
 "\n"
 "Exiting on user cancel"
-msgstr ""
-"\n"
-"\n"
-"Saliendo por cancelación del usuario"
+msgstr "\n\nSaliendo por cancelación del usuario"
 
-#: ../utils.py:176 ../yummain.py:49
+#: ../utils.py:206 ../yummain.py:49
 msgid ""
 "\n"
 "\n"
 "Exiting on Broken Pipe"
-msgstr ""
-"\n"
-"\n"
-"Saliendo por tubería rota"
+msgstr "\n\nSaliendo por tubería rota"
 
-#: ../utils.py:178 ../yummain.py:51
+#: ../utils.py:208 ../yummain.py:51
 #, python-format
 msgid ""
 "\n"
 "\n"
 "%s"
-msgstr ""
-"\n"
-"\n"
-"%s"
-
-#: ../utils.py:228 ../yummain.py:123
-msgid ""
-"Another app is currently holding the yum lock; exiting as configured by "
-"exit_on_lock"
-msgstr ""
-"Otra aplicación tiene retenido el bloqueo de Yum; finalizando de acuerdo a "
-"la configuración de exit_on_lock"
+msgstr "\n\n%s"
 
-#: ../utils.py:287
+#: ../utils.py:326
 #, python-format
 msgid "PluginExit Error: %s"
 msgstr "Error de PluginExit: %s"
 
-#: ../utils.py:290
+#: ../utils.py:329
 #, python-format
 msgid "Yum Error: %s"
 msgstr "Error de yum: %s"
 
-#: ../utils.py:342 ../yummain.py:150 ../yummain.py:189
+#: ../utils.py:387 ../yummain.py:147 ../yummain.py:186
 #, python-format
 msgid "Error: %s"
 msgstr "Error: %s"
 
-#: ../utils.py:346 ../yummain.py:194
+#: ../utils.py:391 ../yummain.py:191
 msgid " You could try using --skip-broken to work around the problem"
-msgstr ""
-" Podría intentar utilizar el comando --skip-broken para sortear el problema"
+msgstr " Podría intentar utilizar el comando --skip-broken para sortear el problema"
 
-#: ../utils.py:348 ../yummain.py:87
+#: ../utils.py:393 ../yummain.py:87
 msgid " You could try running: rpm -Va --nofiles --nodigest"
 msgstr "Podría intentar ejecutar: rpm- Va --nofiles --nodigest"
 
-#: ../utils.py:355 ../yummain.py:160 ../yummain.py:202
+#: ../utils.py:400 ../yummain.py:157 ../yummain.py:199
 #, python-format
 msgid "Unknown Error(s): Exit Code: %d:"
 msgstr "Error(es) desconocido(s): Código de salida: %d:"
 
-#: ../utils.py:361 ../yummain.py:208
+#: ../utils.py:406 ../yummain.py:205
 msgid ""
 "\n"
 "Dependencies Resolved"
-msgstr ""
-"\n"
-"Dependencias resueltas"
+msgstr "\nDependencias resueltas"
 
-#: ../utils.py:376 ../yummain.py:234
+#: ../utils.py:422 ../yummain.py:237
 msgid "Complete!"
 msgstr "¡Listo!"
 
@@ -1536,7 +1656,7 @@ msgstr " Minu uso:\n"
 msgid "You need to be root to perform this command."
 msgstr "Necesita ser usuario root para poder ejecutar este comando."
 
-#: ../yumcommands.py:59
+#: ../yumcommands.py:67
 msgid ""
 "\n"
 "You have enabled checking of packages via GPG keys. This is a good thing. \n"
@@ -1551,589 +1671,650 @@ msgid ""
 "will install it for you.\n"
 "\n"
 "For more information contact your distribution or package provider.\n"
-msgstr ""
-"\n"
-"Usted tiene habilitada la verificación de paquetes mediante llaves GPG. Eso es bueno. \n"
-"Sin embargo, usted no tiene ninguna llave pública GPG instalada. Necesita descargar\n"
-"e instalar las llaves de todos los paquetes que desee instalar.\n"
-"Esto puede hacerlo si ejecuta el comando:\n"
-"    rpm --import public.gpg.key\n"
-"\n"
-"\n"
-"También puede indicar la url de la llave del repositorio que desee utilizar\n"
-"en la opción 'gpgkey' en la sección del repositorio, y yum \n"
-"la instalará por usted.\n"
-"\n"
-"Para obtener mayor información, póngase en contacto con su distribución o con su proveedor de paquetes.\n"
+msgstr "\nUsted tiene habilitada la verificación de paquetes mediante llaves GPG. Eso es bueno. \nSin embargo, usted no tiene ninguna llave pública GPG instalada. Necesita descargar\ne instalar las llaves de todos los paquetes que desee instalar.\nEsto puede hacerlo si ejecuta el comando:\n    rpm --import public.gpg.key\n\n\nTambién puede indicar la url de la llave del repositorio que desee utilizar\nen la opción 'gpgkey' en la sección del repositorio, y yum \nla instalará por usted.\n\nPara obtener mayor información, póngase en contacto con su distribución o con su proveedor de paquetes.\n"
 
-#: ../yumcommands.py:74
+#: ../yumcommands.py:82
 #, python-format
 msgid "Problem repository: %s"
-msgstr ""
+msgstr "Problema del repositorio: %s"
 
-#: ../yumcommands.py:80
+#: ../yumcommands.py:96
 #, python-format
 msgid "Error: Need to pass a list of pkgs to %s"
 msgstr "Error: Necesita pasar una lista de paquetes a %s "
 
-#: ../yumcommands.py:86
+#: ../yumcommands.py:114
+#, python-format
+msgid "Error: Need at least two packages to %s"
+msgstr "Error: Necesita al menos dos paquetes para %s"
+
+#: ../yumcommands.py:129
+#, python-format
+msgid "Error: Need to pass a repoid. and command to %s"
+msgstr "Error: Necesita pasar una id de repositorio y comando a %s"
+
+#: ../yumcommands.py:136 ../yumcommands.py:142
+#, python-format
+msgid "Error: Need to pass a single valid repoid. to %s"
+msgstr "Error: Necesita pasar una única id de repositorio válida a %s"
+
+#: ../yumcommands.py:147
+#, python-format
+msgid "Error: Repo %s is not enabled"
+msgstr "Error: Repositorio %s no está habilitado"
+
+#: ../yumcommands.py:164
 msgid "Error: Need an item to match"
 msgstr "Error: Es necesario un ítem con el cual corresponderse"
 
-#: ../yumcommands.py:92
+#: ../yumcommands.py:178
 msgid "Error: Need a group or list of groups"
 msgstr "Error: Es necesario un grupo o una lista de grupos"
 
-#: ../yumcommands.py:101
+#: ../yumcommands.py:195
 #, python-format
 msgid "Error: clean requires an option: %s"
 msgstr "Error: la limpieza necesita una opción: %s"
 
-#: ../yumcommands.py:106
+#: ../yumcommands.py:201
 #, python-format
 msgid "Error: invalid clean argument: %r"
 msgstr "Error: argumento de limpieza no válido: %r"
 
-#: ../yumcommands.py:119
+#: ../yumcommands.py:216
 msgid "No argument to shell"
 msgstr "No hay argumento para el shell"
 
-#: ../yumcommands.py:121
+#: ../yumcommands.py:218
 #, python-format
 msgid "Filename passed to shell: %s"
 msgstr "Nombre de archivo pasado al shell: %s"
 
-#: ../yumcommands.py:125
+#: ../yumcommands.py:222
 #, python-format
 msgid "File %s given as argument to shell does not exist."
 msgstr "El archivo %s indicado como argumento para el shell no existe."
 
-#: ../yumcommands.py:131
+#: ../yumcommands.py:228
 msgid "Error: more than one file given as argument to shell."
 msgstr "Error: se ha indicado más de un archivo como argumento para el shell"
 
-#: ../yumcommands.py:148
+#: ../yumcommands.py:247
 msgid ""
 "There are no enabled repos.\n"
 " Run \"yum repolist all\" to see the repos you have.\n"
 " You can enable repos with yum-config-manager --enable <repo>"
-msgstr ""
-"No existen repositorios habilitados.\n"
-" Ejecute \"yum repolist all\" para conocer los repositorios existentes.\n"
-" Puede habilitarlos con yum-config-manager --enable <repositorio>"
+msgstr "No existen repositorios habilitados.\n Ejecute \"yum repolist all\" para conocer los repositorios existentes.\n Puede habilitarlos con yum-config-manager --enable <repositorio>"
 
-#: ../yumcommands.py:200
+#: ../yumcommands.py:383
 msgid "PACKAGE..."
 msgstr "PAQUETE..."
 
-#: ../yumcommands.py:203
+#: ../yumcommands.py:390
 msgid "Install a package or packages on your system"
 msgstr "Instala uno o varios paquetes en su sistema"
 
-#: ../yumcommands.py:212
+#: ../yumcommands.py:421
 msgid "Setting up Install Process"
 msgstr "Configurando el proceso de instalación"
 
-#: ../yumcommands.py:223 ../yumcommands.py:245
+#: ../yumcommands.py:447 ../yumcommands.py:507
 msgid "[PACKAGE...]"
 msgstr "[PAQUETE...]"
 
-#: ../yumcommands.py:226
+#: ../yumcommands.py:454
 msgid "Update a package or packages on your system"
 msgstr "Actualiza uno o varios paquetes en su sistema"
 
-#: ../yumcommands.py:234
+#: ../yumcommands.py:483
 msgid "Setting up Update Process"
 msgstr "Configurando el proceso de actualización"
 
-#: ../yumcommands.py:248
+#: ../yumcommands.py:514
 msgid "Synchronize installed packages to the latest available versions"
-msgstr ""
-"Sincroniza los paquetes instalados a las últimas versiones disponibles"
+msgstr "Sincroniza los paquetes instalados a las últimas versiones disponibles"
 
-#: ../yumcommands.py:256
+#: ../yumcommands.py:543
 msgid "Setting up Distribution Synchronization Process"
 msgstr "Definiendo el proceso de Sincronización de la distribución"
 
-#: ../yumcommands.py:299
+#: ../yumcommands.py:603
 msgid "Display details about a package or group of packages"
 msgstr "Muestra detalles acerca de un paquete o de un grupo de paquetes"
 
-#: ../yumcommands.py:348
+#: ../yumcommands.py:672
 msgid "Installed Packages"
 msgstr "Paquetes instalados"
 
-#: ../yumcommands.py:356
+#: ../yumcommands.py:682
 msgid "Available Packages"
 msgstr "Paquetes disponibles"
 
-#: ../yumcommands.py:360
+#: ../yumcommands.py:687
 msgid "Extra Packages"
 msgstr "Paquetes extra"
 
-#: ../yumcommands.py:364
+#: ../yumcommands.py:691
 msgid "Updated Packages"
 msgstr "Paquetes actualizados"
 
 #. This only happens in verbose mode
-#: ../yumcommands.py:372 ../yumcommands.py:379 ../yumcommands.py:667
+#: ../yumcommands.py:699 ../yumcommands.py:706 ../yumcommands.py:1539
 msgid "Obsoleting Packages"
 msgstr "Convirtiendo paquetes en obsoletos"
 
-#: ../yumcommands.py:381
+#: ../yumcommands.py:708
 msgid "Recently Added Packages"
 msgstr "Paquetes añadidos recientemente"
 
-#: ../yumcommands.py:388
+#: ../yumcommands.py:715
 msgid "No matching Packages to list"
 msgstr "No hay paquetes que se correspondan con la lista"
 
-#: ../yumcommands.py:402
+#: ../yumcommands.py:766
 msgid "List a package or groups of packages"
 msgstr "Muestra un paquete o grupos de paquete"
 
-#: ../yumcommands.py:414
+#: ../yumcommands.py:797
 msgid "Remove a package or packages from your system"
 msgstr "Elimina uno o varios paquetes de su sistema"
 
-#: ../yumcommands.py:421
+#: ../yumcommands.py:845
 msgid "Setting up Remove Process"
 msgstr "Configurando el proceso de eliminación"
 
-#: ../yumcommands.py:435
+#: ../yumcommands.py:906
+msgid "Display, or use, the groups information"
+msgstr "Muestra, o usa, la información de grupos"
+
+#: ../yumcommands.py:909
 msgid "Setting up Group Process"
 msgstr "Configurando el proceso de grupo"
 
-#: ../yumcommands.py:441
+#: ../yumcommands.py:915
 msgid "No Groups on which to run command"
 msgstr "No existen grupos sobre los cuales ejecutar el comando"
 
-#: ../yumcommands.py:454
-msgid "List available package groups"
-msgstr "Muestra los grupos de paquetes disponibles"
-
-#: ../yumcommands.py:474
-msgid "Install the packages in a group on your system"
-msgstr "Instala los paquetes en un grupo de su sistema"
+#: ../yumcommands.py:985
+#, python-format
+msgid "Invalid groups sub-command, use: %s."
+msgstr "Sub-comando groups invalido, use: %s."
 
-#: ../yumcommands.py:497
-msgid "Remove the packages in a group from your system"
-msgstr "Elimina los paquetes de un grupo de su sistema"
+#: ../yumcommands.py:992
+msgid "There is no installed groups file."
+msgstr "No existe un archivo de grupos instalados."
 
-#: ../yumcommands.py:525
-msgid "Display details about a package group"
-msgstr "Muestra detalles acerca de un grupo de paquetes"
+#: ../yumcommands.py:994
+msgid "You don't have access to the groups DB."
+msgstr "Usted no tiene acceso a la base de datos de grupos."
 
-#: ../yumcommands.py:550
+#: ../yumcommands.py:1256
 msgid "Generate the metadata cache"
 msgstr "Genera el caché de metadatos"
 
-#: ../yumcommands.py:556
+#: ../yumcommands.py:1282
 msgid "Making cache files for all metadata files."
 msgstr "Creando los archivos de caché para todos los archivos de metadatos."
 
-#: ../yumcommands.py:557
+#: ../yumcommands.py:1283
 msgid "This may take a while depending on the speed of this computer"
-msgstr ""
-"Esto podría demorar algún tiempo, dependiendo de la velocidad de su equipo"
+msgstr "Esto podría demorar algún tiempo, dependiendo de la velocidad de su equipo"
 
-#: ../yumcommands.py:578
+#: ../yumcommands.py:1312
 msgid "Metadata Cache Created"
 msgstr "Se ha creado el caché de metadatos"
 
-#: ../yumcommands.py:592
+#: ../yumcommands.py:1350
 msgid "Remove cached data"
 msgstr "Elimina los datos del caché"
 
-#: ../yumcommands.py:613
+#: ../yumcommands.py:1417
 msgid "Find what package provides the given value"
 msgstr "Localiza el paquete que ofrezca el valor indicado"
 
-#: ../yumcommands.py:633
+#: ../yumcommands.py:1485
 msgid "Check for available package updates"
 msgstr "Verifica la existencia de actualizaciones de paquetes"
 
-#: ../yumcommands.py:687
+#: ../yumcommands.py:1587
 msgid "Search package details for the given string"
 msgstr "Busca detalles en los paquetes para la cadena indicada"
 
-#: ../yumcommands.py:693
+#: ../yumcommands.py:1613
 msgid "Searching Packages: "
 msgstr "Buscando paquetes:"
 
-#: ../yumcommands.py:710
+#: ../yumcommands.py:1666
 msgid "Update packages taking obsoletes into account"
 msgstr "Actualiza los paquetes tomando en cuenta los obsoletos"
 
-#: ../yumcommands.py:719
+#: ../yumcommands.py:1696
 msgid "Setting up Upgrade Process"
 msgstr "Configurando el proceso de actualización"
 
-#: ../yumcommands.py:737
+#: ../yumcommands.py:1731
 msgid "Install a local RPM"
 msgstr "Instala un RPM local"
 
-#: ../yumcommands.py:745
+#: ../yumcommands.py:1761
 msgid "Setting up Local Package Process"
 msgstr "Configurando el proceso de instalación local de paquetes"
 
-#: ../yumcommands.py:764
-msgid "Determine which package provides the given dependency"
-msgstr "Determina qué paquetes ofrecen la dependencia indicada"
-
-#: ../yumcommands.py:767
+#: ../yumcommands.py:1825
 msgid "Searching Packages for Dependency:"
 msgstr "Buscando paquetes para la dependencia:"
 
-#: ../yumcommands.py:781
+#: ../yumcommands.py:1867
 msgid "Run an interactive yum shell"
 msgstr "Ejecuta una shell de Yum interactiva "
 
-#: ../yumcommands.py:787
+#: ../yumcommands.py:1893
 msgid "Setting up Yum Shell"
 msgstr "Configurando la shell de Yum"
 
-#: ../yumcommands.py:805
+#: ../yumcommands.py:1936
 msgid "List a package's dependencies"
 msgstr "Muestra las dependencias que necesita un paquete"
 
-#: ../yumcommands.py:811
+#: ../yumcommands.py:1963
 msgid "Finding dependencies: "
 msgstr "Buscando dependencias:"
 
-#: ../yumcommands.py:827
+#: ../yumcommands.py:2005
 msgid "Display the configured software repositories"
 msgstr "Muestra los repositorios de software configurados"
 
-#: ../yumcommands.py:893 ../yumcommands.py:894
+#: ../yumcommands.py:2094 ../yumcommands.py:2095
 msgid "enabled"
 msgstr "habilitado"
 
-#: ../yumcommands.py:920 ../yumcommands.py:921
+#: ../yumcommands.py:2121 ../yumcommands.py:2122
 msgid "disabled"
 msgstr "deshabilitado"
 
-#: ../yumcommands.py:937
+#: ../yumcommands.py:2137
 msgid "Repo-id      : "
 msgstr "Repo-id      : "
 
-#: ../yumcommands.py:938
+#: ../yumcommands.py:2138
 msgid "Repo-name    : "
 msgstr "Repo-name    : "
 
-#: ../yumcommands.py:941
+#: ../yumcommands.py:2141
 msgid "Repo-status  : "
 msgstr "Repo-status  : "
 
-#: ../yumcommands.py:944
+#: ../yumcommands.py:2144
 msgid "Repo-revision: "
 msgstr "Repo-revision: "
 
-#: ../yumcommands.py:948
+#: ../yumcommands.py:2148
 msgid "Repo-tags    : "
 msgstr "Repo-tags    : "
 
-#: ../yumcommands.py:954
+#: ../yumcommands.py:2154
 msgid "Repo-distro-tags: "
 msgstr "Repo-distro-tags: "
 
-#: ../yumcommands.py:959
+#: ../yumcommands.py:2159
 msgid "Repo-updated : "
 msgstr "Repo-updated : "
 
-#: ../yumcommands.py:961
+#: ../yumcommands.py:2161
 msgid "Repo-pkgs    : "
 msgstr "Repo-pkgs    : "
 
-#: ../yumcommands.py:962
+#: ../yumcommands.py:2162
 msgid "Repo-size    : "
 msgstr "Repo-size    : "
 
-#: ../yumcommands.py:969 ../yumcommands.py:990
+#: ../yumcommands.py:2169 ../yumcommands.py:2190
 msgid "Repo-baseurl : "
 msgstr "Repo-baseurl : "
 
-#: ../yumcommands.py:977
+#: ../yumcommands.py:2177
 msgid "Repo-metalink: "
 msgstr "Repo-metalink: "
 
-#: ../yumcommands.py:981
+#: ../yumcommands.py:2181
 msgid "  Updated    : "
 msgstr "  Actualizados    : "
 
-#: ../yumcommands.py:984
+#: ../yumcommands.py:2184
 msgid "Repo-mirrors : "
 msgstr "Repo-mirrors : "
 
-#: ../yumcommands.py:1000
+#: ../yumcommands.py:2199
 #, python-format
 msgid "Never (last: %s)"
 msgstr "Nunca (último: %s)"
 
-#: ../yumcommands.py:1002
+#: ../yumcommands.py:2201
 #, python-format
 msgid "Instant (last: %s)"
 msgstr "Instante (último: %s)"
 
-#: ../yumcommands.py:1005
+#: ../yumcommands.py:2204
 #, python-format
 msgid "%s second(s) (last: %s)"
 msgstr "%s segundo(s) (último: %s)"
 
-#: ../yumcommands.py:1007
+#: ../yumcommands.py:2206
 msgid "Repo-expire  : "
 msgstr "Repo-expire  : "
 
-#: ../yumcommands.py:1010
+#: ../yumcommands.py:2209
 msgid "Repo-exclude : "
 msgstr "Repo-exclude : "
 
-#: ../yumcommands.py:1014
+#: ../yumcommands.py:2213
 msgid "Repo-include : "
 msgstr "Repo-include : "
 
-#: ../yumcommands.py:1018
+#: ../yumcommands.py:2217
 msgid "Repo-excluded: "
 msgstr "Repositorio excluído:"
 
-#: ../yumcommands.py:1022
+#: ../yumcommands.py:2221
 msgid "Repo-filename: "
-msgstr ""
+msgstr "Nombre de archivo del repositorio: "
 
 #. Work out the first (id) and last (enabled/disalbed/count),
 #. then chop the middle (name)...
-#: ../yumcommands.py:1032 ../yumcommands.py:1061
+#: ../yumcommands.py:2230 ../yumcommands.py:2259
 msgid "repo id"
 msgstr "id del repositorio"
 
-#: ../yumcommands.py:1049 ../yumcommands.py:1050 ../yumcommands.py:1068
+#: ../yumcommands.py:2247 ../yumcommands.py:2248 ../yumcommands.py:2266
 msgid "status"
 msgstr "estado"
 
-#: ../yumcommands.py:1062
+#: ../yumcommands.py:2260
 msgid "repo name"
 msgstr "nombre del repositorio"
 
-#: ../yumcommands.py:1099
+#: ../yumcommands.py:2332
 msgid "Display a helpful usage message"
 msgstr "Muestra un mensaje de ayuda del uso"
 
-#: ../yumcommands.py:1133
+#: ../yumcommands.py:2374
 #, python-format
 msgid "No help available for %s"
 msgstr "No existe asistencia disponible para %s"
 
-#: ../yumcommands.py:1138
+#: ../yumcommands.py:2379
 msgid ""
 "\n"
 "\n"
 "aliases: "
-msgstr ""
-"\n"
-"\n"
-"apodos: "
+msgstr "\n\napodos: "
 
-#: ../yumcommands.py:1140
+#: ../yumcommands.py:2381
 msgid ""
 "\n"
 "\n"
 "alias: "
-msgstr ""
-"\n"
-"\n"
-"apodo: "
+msgstr "\n\napodo: "
 
-#: ../yumcommands.py:1168
+#: ../yumcommands.py:2466
 msgid "Setting up Reinstall Process"
 msgstr "Configurando el proceso de reinstalación"
 
-#: ../yumcommands.py:1176
+#: ../yumcommands.py:2478
 msgid "reinstall a package"
 msgstr "reinstalar un paquete"
 
-#: ../yumcommands.py:1195
+#: ../yumcommands.py:2541
 msgid "Setting up Downgrade Process"
 msgstr "Configurando el proceso de desactualización"
 
-#: ../yumcommands.py:1202
+#: ../yumcommands.py:2552
 msgid "downgrade a package"
 msgstr "desactualizar un paquete a una versión anterior"
 
-#: ../yumcommands.py:1216
+#: ../yumcommands.py:2591
 msgid "Display a version for the machine and/or available repos."
 msgstr "Muestra una versión para la máquina y/o los repositorios disponibles."
 
-#: ../yumcommands.py:1255
+#: ../yumcommands.py:2643
 msgid " Yum version groups:"
 msgstr " Grupos de la versión de Yum:"
 
-#: ../yumcommands.py:1265
+#: ../yumcommands.py:2653
 msgid " Group   :"
 msgstr " Grupo   :"
 
-#: ../yumcommands.py:1266
+#: ../yumcommands.py:2654
 msgid " Packages:"
 msgstr " Paquetes:"
 
-#: ../yumcommands.py:1295
+#: ../yumcommands.py:2683
 msgid "Installed:"
 msgstr "Instalado:"
 
-#: ../yumcommands.py:1303
+#: ../yumcommands.py:2691
 msgid "Group-Installed:"
 msgstr "Grupo-Instalado:"
 
-#: ../yumcommands.py:1312
+#: ../yumcommands.py:2700
 msgid "Available:"
 msgstr "Disponible:"
 
-#: ../yumcommands.py:1321
+#: ../yumcommands.py:2709
 msgid "Group-Available:"
 msgstr "Grupo-Disponible:"
 
-#: ../yumcommands.py:1360
+#: ../yumcommands.py:2783
 msgid "Display, or use, the transaction history"
 msgstr "Mostrar, o utilizar, el historial de la transacción"
 
-#: ../yumcommands.py:1432
+#: ../yumcommands.py:2876 ../yumcommands.py:2880
+msgid "Transactions:"
+msgstr "Transacciones:"
+
+#: ../yumcommands.py:2881
+msgid "Begin time  :"
+msgstr "Hora de inicio :"
+
+#: ../yumcommands.py:2882
+msgid "End time    :"
+msgstr "Hora de fin    :"
+
+#: ../yumcommands.py:2883
+msgid "Counts      :"
+msgstr "Conteo         :"
+
+#: ../yumcommands.py:2884
+msgid "  NEVRAC :"
+msgstr "  NEVRAC :"
+
+#: ../yumcommands.py:2885
+msgid "  NEVRA  :"
+msgstr "  NEVRA  :"
+
+#: ../yumcommands.py:2886
+msgid "  NA     :"
+msgstr "  NA     :"
+
+#: ../yumcommands.py:2887
+msgid "  NEVR   :"
+msgstr "  NEVR   :"
+
+#: ../yumcommands.py:2888
+msgid "  rpm DB :"
+msgstr "  rpm DB :"
+
+#: ../yumcommands.py:2889
+msgid "  yum DB :"
+msgstr "  yum DB :"
+
+#: ../yumcommands.py:2922
 #, python-format
 msgid "Invalid history sub-command, use: %s."
 msgstr "Sub-comando de historia no válido, utilice: %s"
 
-#: ../yumcommands.py:1439
+#: ../yumcommands.py:2929
 msgid "You don't have access to the history DB."
 msgstr "No posee acceso a la base de datos del historial."
 
-#: ../yumcommands.py:1487
+#: ../yumcommands.py:3036
 msgid "Check for problems in the rpmdb"
 msgstr "Verifica si hay problemas en la base de datos (rpmdb)"
 
-#: ../yumcommands.py:1514
+#: ../yumcommands.py:3102
 msgid "load a saved transaction from filename"
 msgstr "carga una transacción guardada desde un archivo"
 
-#: ../yumcommands.py:1518
+#: ../yumcommands.py:3119
 msgid "No saved transaction file specified."
 msgstr "No se especificó un archivo de transacción guardada."
 
-#: ../yumcommands.py:1522
+#: ../yumcommands.py:3123
 #, python-format
 msgid "loading transaction from %s"
 msgstr "cargando transacción desde %s"
 
-#: ../yumcommands.py:1528
+#: ../yumcommands.py:3129
 #, python-format
 msgid "Transaction loaded from %s with %s members"
 msgstr "Transacción cargada desde %s con %s miembros."
 
+#: ../yumcommands.py:3169
+msgid "Simple way to swap packages, isntead of using shell"
+msgstr "Manera simple de intercambiar paquetes, en lugar de utilizar shell"
+
+#: ../yumcommands.py:3264
+msgid ""
+"Treat a repo. as a group of packages, so we can install/remove all of them"
+msgstr "Tratar un repositorio como un grupo de paquetes, de este modo instala/borra todos ellos"
+
+#: ../yumcommands.py:3341
+#, python-format
+msgid "%d package to update"
+msgid_plural "%d packages to update"
+msgstr[0] "%d paquete a actualizar"
+msgstr[1] "%d paquetes a actualizar"
+
+#: ../yumcommands.py:3370
+#, python-format
+msgid "%d package to remove/reinstall"
+msgid_plural "%d packages to remove/reinstall"
+msgstr[0] "%d paquete a borrar/instalar"
+msgstr[1] "%d paquetes a borrar/instalar"
+
+#: ../yumcommands.py:3413
+#, python-format
+msgid "%d package to remove/sync"
+msgid_plural "%d packages to remove/sync"
+msgstr[0] "%d paquete a borrar/sincronizar"
+msgstr[1] "%d paquetes a borrar/sincronizar"
+
+#: ../yumcommands.py:3417
+#, python-format
+msgid "Not a valid sub-command of %s"
+msgstr "No hay un subcomando válido de %s"
+
 #. This is mainly for PackageSackError from rpmdb.
 #: ../yummain.py:84
 #, python-format
 msgid " Yum checks failed: %s"
 msgstr " Yum falló verificando: %s"
 
-#: ../yummain.py:114
-msgid ""
-"Another app is currently holding the yum lock; waiting for it to exit..."
-msgstr ""
-"Otra aplicación tiene retenido el bloqueo de Yum; esperándolo para salir... "
+#: ../yummain.py:98
+msgid "No read/execute access in current directory, moving to /"
+msgstr "Sin permiso de lectura/ejecución en el directorio actual, moviendo a /"
 
-#: ../yummain.py:120
-msgid "Can't create lock file; exiting"
-msgstr "No se puede crear archivo de bloqueo, ya existe uno"
+#: ../yummain.py:106
+msgid "No getcwd() access in current directory, moving to /"
+msgstr "No existe accedo getcwd() en el directorio actual, trasladándose a /"
 
 #. Depsolve stage
-#: ../yummain.py:167
+#: ../yummain.py:164
 msgid "Resolving Dependencies"
 msgstr "Resolviendo dependencias"
 
-#: ../yummain.py:230
+#: ../yummain.py:227 ../yummain.py:235
 #, python-format
-msgid "Your transaction was saved, rerun it with: yum load-transaction %s"
-msgstr ""
-"Su transacción fue guardada, ejecutela nuevamente con yum load-transaction "
-"%s"
+msgid ""
+"Your transaction was saved, rerun it with:\n"
+" yum load-transaction %s"
+msgstr "Su transacción fue guardada, vuelva a ejecutarla con:\n yum load-transaction %s"
 
-#: ../yummain.py:288
+#: ../yummain.py:312
 msgid ""
 "\n"
 "\n"
 "Exiting on user cancel."
-msgstr ""
-"\n"
-"\n"
-"Saliendo por cancelación del usuario."
+msgstr "\n\nSaliendo por cancelación del usuario."
 
-#: ../yum/depsolve.py:84
+#: ../yum/depsolve.py:127
 msgid "doTsSetup() will go away in a future version of Yum.\n"
 msgstr "doTsSetup() desaparecerá en alguna versión posterior de Yum.\n"
 
-#: ../yum/depsolve.py:99
+#: ../yum/depsolve.py:143
 msgid "Setting up TransactionSets before config class is up"
-msgstr ""
-"Configurando TransactionSets antes de la activación de clase de "
-"configuración"
+msgstr "Configurando TransactionSets antes de la activación de clase de configuración"
 
-#: ../yum/depsolve.py:153
+#: ../yum/depsolve.py:200
 #, python-format
 msgid "Invalid tsflag in config file: %s"
 msgstr "tsflag no válido en el archivo de configuración: %s"
 
-#: ../yum/depsolve.py:164
+#: ../yum/depsolve.py:218
 #, python-format
 msgid "Searching pkgSack for dep: %s"
 msgstr "Buscando pkgSack para la dependencia: %s"
 
-#: ../yum/depsolve.py:207
+#: ../yum/depsolve.py:269
 #, python-format
 msgid "Member: %s"
 msgstr "Miembro: %s"
 
-#: ../yum/depsolve.py:221 ../yum/depsolve.py:793
+#: ../yum/depsolve.py:283 ../yum/depsolve.py:937
 #, python-format
 msgid "%s converted to install"
 msgstr "%s convertido para instalar"
 
-#: ../yum/depsolve.py:233
+#: ../yum/depsolve.py:295
 #, python-format
 msgid "Adding Package %s in mode %s"
 msgstr "Agregando paquete %s en modo %s"
 
-#: ../yum/depsolve.py:249
+#: ../yum/depsolve.py:311
 #, python-format
 msgid "Removing Package %s"
 msgstr "Eliminando paquete %s"
 
-#: ../yum/depsolve.py:271
+#: ../yum/depsolve.py:333
 #, python-format
 msgid "%s requires: %s"
 msgstr "%s necesita: %s"
 
-#: ../yum/depsolve.py:312
+#: ../yum/depsolve.py:374
 #, python-format
 msgid "%s requires %s"
 msgstr "%s necesita %s"
 
-#: ../yum/depsolve.py:339
+#: ../yum/depsolve.py:401
 msgid "Needed Require has already been looked up, cheating"
 msgstr "El requerimiento que se necesita ya fue buscado, haciendo trampa"
 
-#: ../yum/depsolve.py:349
+#: ../yum/depsolve.py:411
 #, python-format
 msgid "Needed Require is not a package name. Looking up: %s"
 msgstr "El requerimiento necesitado no es un nombre de paquete. Buscando: %s"
 
-#: ../yum/depsolve.py:357
+#: ../yum/depsolve.py:419
 #, python-format
 msgid "Potential Provider: %s"
 msgstr "Proveedor posible: %s"
 
-#: ../yum/depsolve.py:380
+#: ../yum/depsolve.py:442
 #, python-format
 msgid "Mode is %s for provider of %s: %s"
 msgstr "El modo es %s para el proveedor de %s: %s"
 
-#: ../yum/depsolve.py:384
+#: ../yum/depsolve.py:446
 #, python-format
 msgid "Mode for pkg providing %s: %s"
 msgstr "Modo para el paquete que ofrece %s: %s"
@@ -2141,1067 +2322,1140 @@ msgstr "Modo para el paquete que ofrece %s: %s"
 #. the thing it needs is being updated or obsoleted away
 #. try to update the requiring package in hopes that all this problem goes
 #. away :(
-#: ../yum/depsolve.py:389 ../yum/depsolve.py:406
+#: ../yum/depsolve.py:451 ../yum/depsolve.py:486
 #, python-format
 msgid "Trying to update %s to resolve dep"
 msgstr "Intentando actualizar %s para resolver dependencia"
 
-#: ../yum/depsolve.py:400 ../yum/depsolve.py:410
+#: ../yum/depsolve.py:480
 #, python-format
 msgid "No update paths found for %s. Failure!"
 msgstr "No se encontraron rutas de actualización para %s. ¡Fallo!"
 
-#: ../yum/depsolve.py:416
+#: ../yum/depsolve.py:491
+#, python-format
+msgid "No update paths found for %s. Failure due to requirement: %s!"
+msgstr "No se encuentran senderos de actualización para %s. Fallo debido a requisito: %s!"
+
+#: ../yum/depsolve.py:507
+#, python-format
+msgid "Update for %s. Doesn't fix requirement: %s!"
+msgstr "Actualización para %s. No corregir requisito: %s!"
+
+#: ../yum/depsolve.py:514
 #, python-format
 msgid "TSINFO: %s package requiring %s marked as erase"
 msgstr "TSINFO: el paquete %s que necesita %s ha sido marcado para eliminarse"
 
-#: ../yum/depsolve.py:429
+#: ../yum/depsolve.py:527
 #, python-format
 msgid "TSINFO: Obsoleting %s with %s to resolve dep."
-msgstr ""
-"TSINFO: Transformando a %s en obsoleto utilizando %s para resolver la "
-"dependencia."
+msgstr "TSINFO: Transformando a %s en obsoleto utilizando %s para resolver la dependencia."
 
-#: ../yum/depsolve.py:432
+#: ../yum/depsolve.py:530
 #, python-format
 msgid "TSINFO: Updating %s to resolve dep."
 msgstr "TSINFO: Actualizando %s para resolver la dependencia."
 
-#: ../yum/depsolve.py:440
+#: ../yum/depsolve.py:538
 #, python-format
 msgid "Cannot find an update path for dep for: %s"
-msgstr ""
-"No es posible encontrar un camino de actualización para la dependencia para:"
-" %s"
+msgstr "No es posible encontrar una ruta de actualización para la dependencia de: %s"
 
-#: ../yum/depsolve.py:471
+#: ../yum/depsolve.py:569
 #, python-format
 msgid "Quick matched %s to require for %s"
 msgstr "Rápidamente se ha localizado %s al ser requerido por %s"
 
 #. is it already installed?
-#: ../yum/depsolve.py:513
+#: ../yum/depsolve.py:611
 #, python-format
 msgid "%s is in providing packages but it is already installed, removing."
-msgstr ""
-"%s se encuentra entre los paquetes provistos, pero ya está instalado, "
-"eliminando. "
+msgstr "%s se encuentra entre los paquetes provistos, pero ya está instalado, eliminando. "
 
-#: ../yum/depsolve.py:529
+#: ../yum/depsolve.py:627
 #, python-format
 msgid "Potential resolving package %s has newer instance in ts."
 msgstr "El paquete de solución posible %s posee una nueva instancia en ts."
 
-#: ../yum/depsolve.py:540
+#: ../yum/depsolve.py:638
 #, python-format
 msgid "Potential resolving package %s has newer instance installed."
-msgstr ""
-"El paquete de solución posible %s posee una nueva instancia ya instalada."
+msgstr "El paquete de solución posible %s posee una nueva instancia ya instalada."
 
-#: ../yum/depsolve.py:558
+#: ../yum/depsolve.py:656
 #, python-format
 msgid "%s already in ts, skipping this one"
 msgstr "%s ya se encuentra en ts, ignorándolo"
 
-#: ../yum/depsolve.py:607
+#: ../yum/depsolve.py:705
 #, python-format
 msgid "TSINFO: Marking %s as update for %s"
-msgstr "TSINFO: Seleccionado %s como actualización de %s"
+msgstr "TSINFO: Seleccionando %s como actualización de %s"
 
-#: ../yum/depsolve.py:616
+#: ../yum/depsolve.py:714
 #, python-format
 msgid "TSINFO: Marking %s as install for %s"
 msgstr "TSINFO: Seleccionando %s como una instalación para %s"
 
-#: ../yum/depsolve.py:727 ../yum/depsolve.py:819
+#: ../yum/depsolve.py:849 ../yum/depsolve.py:967
 msgid "Success - empty transaction"
 msgstr "Exito - transacción vacía"
 
-#: ../yum/depsolve.py:767 ../yum/depsolve.py:783
+#: ../yum/depsolve.py:889 ../yum/depsolve.py:927
 msgid "Restarting Loop"
 msgstr "Reiniciando el bucle"
 
-#: ../yum/depsolve.py:799
+#: ../yum/depsolve.py:947
 msgid "Dependency Process ending"
 msgstr "Finalizando el proceso de dependencias"
 
-#: ../yum/depsolve.py:821
+#: ../yum/depsolve.py:969
 msgid "Success - deps resolved"
 msgstr "Exito - dependencias resueltas"
 
-#: ../yum/depsolve.py:845
+#: ../yum/depsolve.py:993
 #, python-format
 msgid "Checking deps for %s"
 msgstr "Verificando dependencias para %s"
 
-#: ../yum/depsolve.py:931
+#: ../yum/depsolve.py:1082
 #, python-format
 msgid "looking for %s as a requirement of %s"
 msgstr "localizando a %s como un requerimiento de %s"
 
-#: ../yum/depsolve.py:1169
+#: ../yum/depsolve.py:1349
 #, python-format
 msgid "Running compare_providers() for %s"
 msgstr "Ejecutando compare_providers() para %s"
 
-#: ../yum/depsolve.py:1196 ../yum/depsolve.py:1202
+#: ../yum/depsolve.py:1376 ../yum/depsolve.py:1382
 #, python-format
 msgid "better arch in po %s"
 msgstr "mejor arquitectura en po %s"
 
-#: ../yum/depsolve.py:1298
+#: ../yum/depsolve.py:1496
 #, python-format
 msgid "%s obsoletes %s"
 msgstr "%s hace obsoleto a %s"
 
-#: ../yum/depsolve.py:1310
+#: ../yum/depsolve.py:1508
 #, python-format
 msgid ""
 "archdist compared %s to %s on %s\n"
 "  Winner: %s"
-msgstr ""
-"archdist comparó %s con %s en %s\n"
-"  Vencedor: %s"
+msgstr "archdist comparó %s con %s en %s\n  Vencedor: %s"
 
-#: ../yum/depsolve.py:1318
+#: ../yum/depsolve.py:1516
 #, python-format
 msgid "common sourcerpm %s and %s"
 msgstr "sourcerpm común %s y %s"
 
-#: ../yum/depsolve.py:1322
+#: ../yum/depsolve.py:1520
 #, python-format
 msgid "base package %s is installed for %s"
 msgstr "el paquete principal %s está instalado para %s"
 
-#: ../yum/depsolve.py:1328
+#: ../yum/depsolve.py:1526
 #, python-format
 msgid "common prefix of %s between %s and %s"
 msgstr "prefijo común de %s entre %s y %s"
 
-#: ../yum/depsolve.py:1359
+#: ../yum/depsolve.py:1543
 #, python-format
-msgid "requires minimal: %d"
-msgstr "requires el mínimo: %d"
+msgid "provides vercmp: %s"
+msgstr "ofrece vercmp: %s"
 
-#: ../yum/depsolve.py:1363
+#: ../yum/depsolve.py:1547 ../yum/depsolve.py:1581
 #, python-format
 msgid " Winner: %s"
 msgstr " Ganador: %s"
 
-#: ../yum/depsolve.py:1368
+#: ../yum/depsolve.py:1577
+#, python-format
+msgid "requires minimal: %d"
+msgstr "requires el mínimo: %d"
+
+#: ../yum/depsolve.py:1586
 #, python-format
 msgid " Loser(with %d): %s"
 msgstr " Perdedor(con %d): %s"
 
-#: ../yum/depsolve.py:1384
+#: ../yum/depsolve.py:1602
 #, python-format
 msgid "Best Order: %s"
 msgstr "Mejor orden: %s"
 
-#: ../yum/__init__.py:234
+#: ../yum/__init__.py:274
 msgid "doConfigSetup() will go away in a future version of Yum.\n"
 msgstr "doConfigSetup() desaparecerá en alguna versión posterior de Yum.\n"
 
-#: ../yum/__init__.py:482
+#: ../yum/__init__.py:553
+#, python-format
+msgid "Skipping unreadable repository %s"
+msgstr "Saltando repositorio no legible %s"
+
+#: ../yum/__init__.py:572
 #, python-format
 msgid "Repository %r: Error parsing config: %s"
 msgstr "Repositorio %r: Error analizando la configuración: %s"
 
-#: ../yum/__init__.py:488
+#: ../yum/__init__.py:578
 #, python-format
 msgid "Repository %r is missing name in configuration, using id"
-msgstr ""
-"Al repositorio %r le falta un nombre en su configuración, utilizando el id"
+msgstr "Al repositorio %r le falta un nombre en su configuración, utilizando el id"
 
-#: ../yum/__init__.py:526
+#: ../yum/__init__.py:618
 msgid "plugins already initialised"
 msgstr "los complementos ya se encuentran inicializados"
 
-#: ../yum/__init__.py:533
+#: ../yum/__init__.py:627
 msgid "doRpmDBSetup() will go away in a future version of Yum.\n"
 msgstr "doRpmDBSetup() desaparecerá en alguna versión posterior de Yum.\n"
 
-#: ../yum/__init__.py:544
+#: ../yum/__init__.py:638
 msgid "Reading Local RPMDB"
 msgstr "Leyendo RPDMDB local"
 
-#: ../yum/__init__.py:567
+#: ../yum/__init__.py:668
 msgid "doRepoSetup() will go away in a future version of Yum.\n"
 msgstr "doRepoSetup() desaparecerá en alguna versión posterior de Yum.\n"
 
-#: ../yum/__init__.py:630
+#: ../yum/__init__.py:722
 msgid "doSackSetup() will go away in a future version of Yum.\n"
 msgstr "doSackSetup() desaparecerá en alguna versión posterior de Yum.\n"
 
-#: ../yum/__init__.py:660
+#: ../yum/__init__.py:752
 msgid "Setting up Package Sacks"
 msgstr "Configurando sacos de paquetes"
 
-#: ../yum/__init__.py:705
+#: ../yum/__init__.py:797
 #, python-format
 msgid "repo object for repo %s lacks a _resetSack method\n"
-msgstr ""
-"el objeto del repositorio para el repositorio %s necesita de un método a "
-"_resetSack\n"
+msgstr "el objeto del repositorio para el repositorio %s necesita de un método a _resetSack\n"
 
-#: ../yum/__init__.py:706
+#: ../yum/__init__.py:798
 msgid "therefore this repo cannot be reset.\n"
 msgstr "por lo tanto, este repositorio no puede ser restaurado.\n"
 
-#: ../yum/__init__.py:711
+#: ../yum/__init__.py:806
 msgid "doUpdateSetup() will go away in a future version of Yum.\n"
 msgstr "doUpdateSetup() desaparecerá en alguna versión posterior de Yum.\n"
 
-#: ../yum/__init__.py:723
+#: ../yum/__init__.py:818
 msgid "Building updates object"
 msgstr "Construyendo objeto de actualizaciones"
 
-#: ../yum/__init__.py:765
+#: ../yum/__init__.py:862
 msgid "doGroupSetup() will go away in a future version of Yum.\n"
 msgstr "doGroupSetup() desaparecerá en alguna versión posterior de Yum.\n"
 
-#: ../yum/__init__.py:790
+#: ../yum/__init__.py:887
 msgid "Getting group metadata"
 msgstr "Obteniendo metadatos de grupo"
 
-#: ../yum/__init__.py:816
+#: ../yum/__init__.py:915
 #, python-format
 msgid "Adding group file from repository: %s"
 msgstr "Agregando archivo de grupos desde el repositorio: %s"
 
-#: ../yum/__init__.py:827
+#: ../yum/__init__.py:918
+#, python-format
+msgid "Failed to retrieve group file for repository: %s"
+msgstr "Fallo al recuperar fichero de grupo para repositorio: %s"
+
+#: ../yum/__init__.py:924
 #, python-format
 msgid "Failed to add groups file for repository: %s - %s"
 msgstr "Falló al agregarse el archivo de grupos desde el repositorio: %s - %s"
 
-#: ../yum/__init__.py:833
+#: ../yum/__init__.py:930
 msgid "No Groups Available in any repository"
 msgstr "No hay grupos disponibles en ningún repositorio"
 
-#: ../yum/__init__.py:845
+#: ../yum/__init__.py:945
 msgid "Getting pkgtags metadata"
 msgstr "Obteniendo metadatos de etiquetas de paquete (pkgtags)"
 
-#: ../yum/__init__.py:855
+#: ../yum/__init__.py:955
 #, python-format
 msgid "Adding tags from repository: %s"
 msgstr "Agregando etiquetas del repositorio: %s"
 
-#: ../yum/__init__.py:866
+#: ../yum/__init__.py:966
 #, python-format
 msgid "Failed to add Pkg Tags for repository: %s - %s"
 msgstr "Falló al agregarse etiquetas de paquetes para el repositorio: %s - %s"
 
-#: ../yum/__init__.py:944
+#: ../yum/__init__.py:1059
 msgid "Importing additional filelist information"
 msgstr "Importando información adicional de listas de archivo"
 
-#: ../yum/__init__.py:958
+#: ../yum/__init__.py:1077
 #, python-format
 msgid "The program %s%s%s is found in the yum-utils package."
 msgstr "El programa %s%s%s se encuentra en el paquete yum-utils."
 
-#: ../yum/__init__.py:966
+#: ../yum/__init__.py:1094
 msgid ""
 "There are unfinished transactions remaining. You might consider running yum-"
 "complete-transaction first to finish them."
-msgstr ""
-"Existen transacciones restantes no finalizadas. Podría considerar primero "
-"ejecutar el comando yum-complete-transaction, de modo de poder finalizarlas."
+msgstr "Existen transacciones restantes no finalizadas. Podría considerar primero ejecutar el comando yum-complete-transaction, de modo de poder finalizarlas."
 
-#: ../yum/__init__.py:983
+#: ../yum/__init__.py:1111
 msgid "--> Finding unneeded leftover dependencies"
 msgstr "--> Buscando dependencias sobrantes innecesarias"
 
-#: ../yum/__init__.py:1041
+#: ../yum/__init__.py:1169
 #, python-format
 msgid "Protected multilib versions: %s != %s"
 msgstr "Versiónes multilib protegidas: %s != %s"
 
-#: ../yum/__init__.py:1096
+#. People are confused about protected mutilib ... so give
+#. them a nicer message.
+#: ../yum/__init__.py:1173
+#, python-format
+msgid ""
+" Multilib version problems found. This often means that the root\n"
+"cause is something else and multilib version checking is just\n"
+"pointing out that there is a problem. Eg.:\n"
+"\n"
+"  1. You have an upgrade for %(name)s which is missing some\n"
+"     dependency that another package requires. Yum is trying to\n"
+"     solve this by installing an older version of %(name)s of the\n"
+"     different architecture. If you exclude the bad architecture\n"
+"     yum will tell you what the root cause is (which package\n"
+"     requires what). You can try redoing the upgrade with\n"
+"     --exclude %(name)s.otherarch ... this should give you an error\n"
+"     message showing the root cause of the problem.\n"
+"\n"
+"  2. You have multiple architectures of %(name)s installed, but\n"
+"     yum can only see an upgrade for one of those arcitectures.\n"
+"     If you don't want/need both architectures anymore then you\n"
+"     can remove the one with the missing update and everything\n"
+"     will work.\n"
+"\n"
+"  3. You have duplicate versions of %(name)s installed already.\n"
+"     You can use \"yum check\" to get yum show these errors.\n"
+"\n"
+"...you can also use --setopt=protected_multilib=false to remove\n"
+"this checking, however this is almost never the correct thing to\n"
+"do as something else is very likely to go wrong (often causing\n"
+"much more problems).\n"
+"\n"
+msgstr "Encontrados problemas de versión Multilib. Esto con frecuencia indica que la causa raíz es algo más y la comprobación de la versión multilib sólo indica que hay un problema. Esto es: 1. Usted tiene una actualización para %(name)s que hace desaparecer alguna dependencia que otro paquete requiere. Yum está intentando resolver estos instalando una versión más antigua de %(name)s de la arquitectura diferente. Si usted excliye la arquitectura mala yum le dirá que la causa raíz es (cual paquete requiere que). Usted puede intentar rehacer la actualización con --exclude %(name)s.otherarch ... esto le daría un mensaje de error mostrándole la causa raíz del problema. 2. Usted tiene múltiples arquitecturas de %(name)s instaladas, pero yum sólo puede ver una actualización para una de esas arquitecturas. Si usted no desea/necesita ambas arquitecturas más usted puede borrar la que tiene la actualización desaparecida y todo funcionará. 3. Usted tiene versiones duplicadas de %(name)s instaladas ya. Usted puede usar \"yum check\" para obtener que yum muestre esos errores. ...usted puede usar también --setopt=protected_multilib=false para borrar esta comprobación, sin embargo esto no es lo más correcto de hacer puesto que puede ocasionar que algo vaya mal (causando con frecuencia muchos más problemas). \n"
+
+#: ../yum/__init__.py:1257
 #, python-format
 msgid "Trying to remove \"%s\", which is protected"
 msgstr "Intentando eliminar \"%s\", que está protegido"
 
-#: ../yum/__init__.py:1217
+#: ../yum/__init__.py:1378
 msgid ""
 "\n"
 "Packages skipped because of dependency problems:"
-msgstr ""
-"\n"
-"Paquetes ignorados por problemas de dependencias:"
+msgstr "\nPaquetes ignorados por problemas de dependencias:"
 
-#: ../yum/__init__.py:1221
+#: ../yum/__init__.py:1382
 #, python-format
 msgid "    %s from %s"
 msgstr "    %s de %s"
 
 #. FIXME: _N()
-#: ../yum/__init__.py:1391
+#: ../yum/__init__.py:1556
 #, python-format
 msgid "** Found %d pre-existing rpmdb problem(s), 'yum check' output follows:"
-msgstr ""
-"** Se ha encontrado %d problema(s) pre existentes en la base de datos RPM, "
-"este es el resultado de 'yum check':"
+msgstr "** Se ha encontrado %d problema(s) pre existentes en la base de datos RPM, este es el resultado de 'yum check':"
 
-#: ../yum/__init__.py:1395
+#: ../yum/__init__.py:1560
 msgid "Warning: RPMDB altered outside of yum."
-msgstr ""
-"Advertencia: Las bases de datos (RPMDB) han sido modificadas por un elemento"
-" ajeno a yum."
+msgstr "Advertencia: Las bases de datos (RPMDB) han sido modificadas por un elemento ajeno a yum."
 
-#: ../yum/__init__.py:1407
+#: ../yum/__init__.py:1572
 msgid "missing requires"
 msgstr "no se encuentra necesita"
 
-#: ../yum/__init__.py:1408
+#: ../yum/__init__.py:1573
 msgid "installed conflict"
 msgstr "conflicto instalado"
 
-#: ../yum/__init__.py:1525
+#: ../yum/__init__.py:1709
 msgid ""
 "Warning: scriptlet or other non-fatal errors occurred during transaction."
-msgstr ""
-"Aviso: scriptlet o algún otro tipo de error no fatal ha ocurrido durante la "
-"transacción."
+msgstr "Aviso: scriptlet o algún otro tipo de error no fatal ha ocurrido durante la transacción."
 
-#: ../yum/__init__.py:1535
+#: ../yum/__init__.py:1719
 msgid "Transaction couldn't start:"
 msgstr "La transacción no pudo iniciarse:"
 
 #. should this be 'to_unicoded'?
-#: ../yum/__init__.py:1538
+#: ../yum/__init__.py:1722
 msgid "Could not run transaction."
 msgstr "No se pudo ejecutar la transacción"
 
-#: ../yum/__init__.py:1552
+#: ../yum/__init__.py:1736
 #, python-format
 msgid "Failed to remove transaction file %s"
 msgstr "Falló al eliminar archivo de transacción %s"
 
 #. maybe a file log here, too
 #. but raising an exception is not going to do any good
-#: ../yum/__init__.py:1590
+#: ../yum/__init__.py:1792
 #, python-format
 msgid "%s was supposed to be installed but is not!"
 msgstr "¡se suponía que %s estuviera instalado, pero no lo está! "
 
 #. maybe a file log here, too
 #. but raising an exception is not going to do any good
-#: ../yum/__init__.py:1651
+#. Note: This actually triggers atm. because we can't
+#. always find the erased txmbr to set it when
+#. we should.
+#: ../yum/__init__.py:1869
 #, python-format
 msgid "%s was supposed to be removed but is not!"
 msgstr "¡se suponía que %s estuviera eliminado, pero no lo está! "
 
-#: ../yum/__init__.py:1768
+#. Another copy seems to be running.
+#: ../yum/__init__.py:2004
 #, python-format
-msgid "Could not open lock %s: %s"
-msgstr "No se pudo abrir el bloqueo %s: %s"
+msgid "Existing lock %s: another copy is running as pid %s."
+msgstr "Bloqueo existente en %s: otra copia se encuentra en ejecución como pid %s."
 
 #. Whoa. What the heck happened?
-#: ../yum/__init__.py:1785
+#: ../yum/__init__.py:2053
 #, python-format
-msgid "Unable to check if PID %s is active"
-msgstr "No es posible verificar si se encuentra activo el PID %s"
+msgid "Could not create lock at %s: %s "
+msgstr "No se ha podido crear el bloqueo en %s: %s"
 
-#. Another copy seems to be running.
-#: ../yum/__init__.py:1789
+#: ../yum/__init__.py:2065
 #, python-format
-msgid "Existing lock %s: another copy is running as pid %s."
-msgstr ""
-"Bloqueo existente en %s: otra copia se encuentra en ejecución como pid %s."
+msgid "Could not open lock %s: %s"
+msgstr "No se pudo abrir el bloqueo %s: %s"
 
+#. The pid doesn't exist
 #. Whoa. What the heck happened?
-#: ../yum/__init__.py:1830
+#: ../yum/__init__.py:2082
 #, python-format
-msgid "Could not create lock at %s: %s "
-msgstr "No se ha podido crear el bloqueo en %s: %s"
+msgid "Unable to check if PID %s is active"
+msgstr "No es posible verificar si se encuentra activo el PID %s"
 
-#: ../yum/__init__.py:1875
+#: ../yum/__init__.py:2132
 #, python-format
 msgid ""
 "Package does not match intended download. Suggestion: run yum "
 "--enablerepo=%s clean metadata"
-msgstr ""
-"El paquete no se corresponde con la descarga pretendida. Sugerimos ejecutar "
-"el siguiente comando: yum --enablerepo=%s clean metadata"
+msgstr "El paquete no se corresponde con la descarga pretendida. Sugerimos ejecutar el siguiente comando: yum --enablerepo=%s clean metadata"
 
-#: ../yum/__init__.py:1891
+#: ../yum/__init__.py:2155
 msgid "Could not perform checksum"
 msgstr "No se pudo realizar una suma de verificación"
 
-#: ../yum/__init__.py:1894
+#: ../yum/__init__.py:2158
 msgid "Package does not match checksum"
 msgstr "El paquete no se corresponde con la suma de verificación"
 
-#: ../yum/__init__.py:1946
+#: ../yum/__init__.py:2222
 #, python-format
 msgid "package fails checksum but caching is enabled for %s"
-msgstr ""
-"el paquete no ha superado la suma de verificación, pero el caché se "
-"encuentra habilitado para %s"
+msgstr "el paquete no ha superado la suma de verificación, pero el caché se encuentra habilitado para %s"
 
-#: ../yum/__init__.py:1949 ../yum/__init__.py:1979
+#: ../yum/__init__.py:2225 ../yum/__init__.py:2268
 #, python-format
 msgid "using local copy of %s"
 msgstr "utilizando una copia local de %s"
 
-#: ../yum/__init__.py:1991
-#, python-format
-msgid ""
-"Insufficient space in download directory %s\n"
-"    * free   %s\n"
-"    * needed %s"
-msgstr ""
-"Espacio insuficiente en el directorio de descarga %s\n"
-"    * libre   %s\n"
-"    * necesario %s"
+#. caller handles errors
+#: ../yum/__init__.py:2342
+msgid "exiting because --downloadonly specified"
+msgstr "saliendo porque –se ha especificado sólo descarga"
 
-#: ../yum/__init__.py:2052
+#: ../yum/__init__.py:2371
 msgid "Header is not complete."
 msgstr "El encabezado no está completo."
 
-#: ../yum/__init__.py:2089
+#: ../yum/__init__.py:2411
 #, python-format
 msgid ""
 "Header not in local cache and caching-only mode enabled. Cannot download %s"
-msgstr ""
-"El encabezado no se encuentra en el caché local, y está habilitado el modo "
-"de solo cacheo. No es posible descargar %s"
+msgstr "El encabezado no se encuentra en el caché local, y está habilitado el modo de solo cacheo. No es posible descargar %s"
 
-#: ../yum/__init__.py:2147
+#: ../yum/__init__.py:2471
 #, python-format
 msgid "Public key for %s is not installed"
 msgstr "No se ha instalado la llave pública de %s "
 
-#: ../yum/__init__.py:2151
+#: ../yum/__init__.py:2475
 #, python-format
 msgid "Problem opening package %s"
 msgstr "Problemas abriendo el paquete %s"
 
-#: ../yum/__init__.py:2159
+#: ../yum/__init__.py:2483
 #, python-format
 msgid "Public key for %s is not trusted"
 msgstr "La llave pública de %s no es confiable"
 
-#: ../yum/__init__.py:2163
+#: ../yum/__init__.py:2487
 #, python-format
 msgid "Package %s is not signed"
 msgstr "El paquete %s no está firmado"
 
-#: ../yum/__init__.py:2202
+#: ../yum/__init__.py:2529
 #, python-format
 msgid "Cannot remove %s"
 msgstr "No es posible eliminar %s"
 
-#: ../yum/__init__.py:2206
+#: ../yum/__init__.py:2533
 #, python-format
 msgid "%s removed"
 msgstr "%s eliminado"
 
-#: ../yum/__init__.py:2252
+#: ../yum/__init__.py:2594
 #, python-format
 msgid "Cannot remove %s file %s"
 msgstr "No es posible eliminar %s archivo %s"
 
-#: ../yum/__init__.py:2256
+#: ../yum/__init__.py:2598
 #, python-format
 msgid "%s file %s removed"
 msgstr "%s archivo %s eliminado"
 
-#: ../yum/__init__.py:2258
+#: ../yum/__init__.py:2600
 #, python-format
-msgid "%d %s files removed"
-msgstr "%d %s archivos eliminados"
+msgid "%d %s file removed"
+msgid_plural "%d %s files removed"
+msgstr[0] "%d %s archivo eliminado"
+msgstr[1] "%d %s archivos eliminados"
 
-#: ../yum/__init__.py:2327
+#: ../yum/__init__.py:2712
 #, python-format
 msgid "More than one identical match in sack for %s"
 msgstr "Más de una correspondencia exacta en el saco para %s"
 
-#: ../yum/__init__.py:2333
+#: ../yum/__init__.py:2718
 #, python-format
 msgid "Nothing matches %s.%s %s:%s-%s from update"
 msgstr "Nada se corresponde con %s.%s %s:%s-%s desde la actualización"
 
-#: ../yum/__init__.py:2632
+#: ../yum/__init__.py:3096
 msgid ""
 "searchPackages() will go away in a future version of Yum."
 "                      Use searchGenerator() instead. \n"
-msgstr ""
-"searchPackages() desaparecerá en alguna versión próxima de Yum. En su lugar "
-"utilice searchGenerator(). \n"
+msgstr "searchPackages() desaparecerá en alguna versión próxima de Yum. En su lugar utilice searchGenerator(). \n"
 
-#: ../yum/__init__.py:2675
+#: ../yum/__init__.py:3149
 #, python-format
-msgid "Searching %d packages"
-msgstr "Buscando %d paquetes"
+msgid "Searching %d package"
+msgid_plural "Searching %d packages"
+msgstr[0] "Buscando paquete %d"
+msgstr[1] "Buscando paquetes %d"
 
-#: ../yum/__init__.py:2679
+#: ../yum/__init__.py:3153
 #, python-format
 msgid "searching package %s"
 msgstr "buscando paquete %s"
 
-#: ../yum/__init__.py:2691
+#: ../yum/__init__.py:3165
 msgid "searching in file entries"
 msgstr "buscando en las entradas de archivo"
 
-#: ../yum/__init__.py:2698
+#: ../yum/__init__.py:3172
 msgid "searching in provides entries"
 msgstr "buscando en las entradas \"provee\""
 
-#: ../yum/__init__.py:2777
+#: ../yum/__init__.py:3369
 msgid "No group data available for configured repositories"
-msgstr ""
-"No existen datos de grupo disponibles en los repositorios configurados"
+msgstr "No existen datos de grupo disponibles en los repositorios configurados"
 
-#: ../yum/__init__.py:2808 ../yum/__init__.py:2827 ../yum/__init__.py:2858
-#: ../yum/__init__.py:2864 ../yum/__init__.py:2953 ../yum/__init__.py:2957
-#: ../yum/__init__.py:3339
+#: ../yum/__init__.py:3466 ../yum/__init__.py:3500 ../yum/__init__.py:3576
+#: ../yum/__init__.py:3582 ../yum/__init__.py:3719 ../yum/__init__.py:3723
+#: ../yum/__init__.py:4298
 #, python-format
 msgid "No Group named %s exists"
 msgstr "No existe un grupo denominado %s"
 
-#: ../yum/__init__.py:2839 ../yum/__init__.py:2973
+#: ../yum/__init__.py:3512 ../yum/__init__.py:3740
 #, python-format
 msgid "package %s was not marked in group %s"
 msgstr "el paquete %s no fue marcado en el grupo %s"
 
-#: ../yum/__init__.py:2887
+#. (upgrade and igroup_data[pkg] == 'available')):
+#: ../yum/__init__.py:3622
+#, python-format
+msgid "Skipping package %s from group %s"
+msgstr "Ignorando paquete %s del grupo %s"
+
+#: ../yum/__init__.py:3628
 #, python-format
 msgid "Adding package %s from group %s"
 msgstr "Agregando paquete %s del grupo %s"
 
-#: ../yum/__init__.py:2891
+#: ../yum/__init__.py:3649
 #, python-format
 msgid "No package named %s available to be installed"
 msgstr "No existe un paquete denominado %s disponible para ser instalado"
 
-#: ../yum/__init__.py:2941
+#: ../yum/__init__.py:3702
 #, python-format
-msgid "Warning: Group %s does not have any packages."
-msgstr "Advertencia: Grupo %s no tiene ningun paquete."
+msgid "Warning: Group %s does not have any packages to install."
+msgstr "Advertencia: Grupo %s no tiene ningún paquete que instalar."
 
-#: ../yum/__init__.py:2943
+#: ../yum/__init__.py:3704
 #, python-format
 msgid "Group %s does have %u conditional packages, which may get installed."
 msgstr "El grupo %s tiene %u paquetes condicionales, que pueden instalarse."
 
+#: ../yum/__init__.py:3794
+#, python-format
+msgid "Skipping group %s from environment %s"
+msgstr "Saltando grupo %s desde entorno %s"
+
 #. This can happen due to excludes after .up has
 #. happened.
-#: ../yum/__init__.py:3002
+#: ../yum/__init__.py:3858
 #, python-format
 msgid "Package tuple %s could not be found in packagesack"
 msgstr "La tupla %s de paquetes no pudo ser encontrada en el saco de paquetes"
 
-#: ../yum/__init__.py:3022
+#: ../yum/__init__.py:3886
 #, python-format
 msgid "Package tuple %s could not be found in rpmdb"
 msgstr "La tupla %s de paquetes no pudo ser encontrada en la base de datos"
 
-#: ../yum/__init__.py:3079 ../yum/__init__.py:3129
+#: ../yum/__init__.py:3949 ../yum/__init__.py:4012
 #, python-format
 msgid "Invalid version flag from: %s"
 msgstr "Bandera de versión inválida en: %s"
 
-#: ../yum/__init__.py:3096 ../yum/__init__.py:3101
+#: ../yum/__init__.py:3973 ../yum/__init__.py:3979 ../yum/__init__.py:4036
+#: ../yum/__init__.py:4042
 #, python-format
 msgid "No Package found for %s"
 msgstr "No se ha encontrado ningún paquete para %s"
 
-#: ../yum/__init__.py:3401
+#: ../yum/__init__.py:4245 ../yum/__init__.py:4274
+#, python-format
+msgid "Warning: Environment Group %s does not exist."
+msgstr "Advertencia: Grupo de Entorno %s no existe."
+
+#: ../yum/__init__.py:4397
+#, python-format
+msgid "Package: %s - can't co-install with %s"
+msgstr "Paquete: %s – no se puede instalar con %s"
+
+#: ../yum/__init__.py:4437
 msgid "Package Object was not a package object instance"
 msgstr "El objeto de paquete no era una instancia de objeto de paquete"
 
-#: ../yum/__init__.py:3405
+#: ../yum/__init__.py:4441
 msgid "Nothing specified to install"
 msgstr "No se ha indicado nada para instalar"
 
-#: ../yum/__init__.py:3424 ../yum/__init__.py:4283
+#: ../yum/__init__.py:4465 ../yum/__init__.py:5410
 #, python-format
 msgid "Checking for virtual provide or file-provide for %s"
 msgstr "Verificando la provision virtual o provision de archivo de %s"
 
-#: ../yum/__init__.py:3430 ../yum/__init__.py:3775 ../yum/__init__.py:3969
-#: ../yum/__init__.py:4289
-#, python-format
-msgid "No Match for argument: %s"
-msgstr "No hay nada concordante con el argumento: %s"
-
-#: ../yum/__init__.py:3507
+#: ../yum/__init__.py:4542
 #, python-format
 msgid "Package %s installed and not available"
 msgstr "El paquete %s está instalado y no se encuentra disponible"
 
-#: ../yum/__init__.py:3510
+#: ../yum/__init__.py:4545
 msgid "No package(s) available to install"
 msgstr "No existe(n) paquete(s) disponible(s) para instalar"
 
-#: ../yum/__init__.py:3522
+#: ../yum/__init__.py:4557
 #, python-format
 msgid "Package: %s  - already in transaction set"
 msgstr "Paquete: %s - ya se encuentra en un conjunto de transacción"
 
-#: ../yum/__init__.py:3550
+#: ../yum/__init__.py:4589
 #, python-format
 msgid "Package %s is obsoleted by %s which is already installed"
 msgstr "El paquete %s se hace obsoleto con %s, que ya se encuentra instalado"
 
-#: ../yum/__init__.py:3555
+#: ../yum/__init__.py:4594
 #, python-format
 msgid ""
 "Package %s is obsoleted by %s, but obsoleting package does not provide for "
 "requirements"
-msgstr ""
-"El paquete %s se hace obsoleto con %s, pero el paquete que lo hace obsoleto "
-"no ofrece requerimientos"
+msgstr "El paquete %s se hace obsoleto con %s, pero el paquete que lo hace obsoleto no ofrece requerimientos"
 
-#: ../yum/__init__.py:3558
+#: ../yum/__init__.py:4597
 #, python-format
 msgid "Package %s is obsoleted by %s, trying to install %s instead"
-msgstr ""
-"El paquete %s se hace obsoleto con %s, en su lugar se está intentando "
-"instalar %s"
+msgstr "El paquete %s se hace obsoleto con %s, en su lugar se está intentando instalar %s"
 
-#: ../yum/__init__.py:3566
+#: ../yum/__init__.py:4605
 #, python-format
 msgid "Package %s already installed and latest version"
 msgstr "El paquete %s ya se encuentra instalado con su versión más reciente"
 
-#: ../yum/__init__.py:3580
+#: ../yum/__init__.py:4619
 #, python-format
 msgid "Package matching %s already installed. Checking for update."
-msgstr ""
-"El paquete concordante con %s ya se encuentra instalado. Verificando si "
-"puede actualizarse."
+msgstr "El paquete concordante con %s ya se encuentra instalado. Verificando si puede actualizarse."
 
 #. update everything (the easy case)
-#: ../yum/__init__.py:3684
+#: ../yum/__init__.py:4751
 msgid "Updating Everything"
 msgstr "Actualizando todo"
 
-#: ../yum/__init__.py:3708 ../yum/__init__.py:3849 ../yum/__init__.py:3879
-#: ../yum/__init__.py:3915
+#: ../yum/__init__.py:4775 ../yum/__init__.py:4930 ../yum/__init__.py:4975
+#: ../yum/__init__.py:5011
 #, python-format
 msgid "Not Updating Package that is already obsoleted: %s.%s %s:%s-%s"
 msgstr "Dejando sin actualizar el paquete que ya es obsoleto: %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3753 ../yum/__init__.py:3965
+#: ../yum/__init__.py:4830 ../yum/__init__.py:5072
 #, python-format
 msgid "%s"
 msgstr "%s"
 
-#: ../yum/__init__.py:3838
+#: ../yum/__init__.py:4854 ../yum/__init__.py:5080 ../yum/__init__.py:5416
+#, python-format
+msgid "No Match for argument: %s"
+msgstr "No hay nada concordante con el argumento: %s"
+
+#: ../yum/__init__.py:4872
+#, python-format
+msgid "No package matched to upgrade: %s"
+msgstr "Ningún paquete encontrado para actualizar: %s"
+
+#: ../yum/__init__.py:4919
 #, python-format
 msgid "Package is already obsoleted: %s.%s %s:%s-%s"
 msgstr "El paquete ya es obsoleto: %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3874
+#: ../yum/__init__.py:4970
 #, python-format
 msgid "Not Updating Package that is obsoleted: %s"
 msgstr "Dejando sin actualizar el paquete que ya es obsoleto: %s"
 
-#: ../yum/__init__.py:3883 ../yum/__init__.py:3919
+#: ../yum/__init__.py:4979 ../yum/__init__.py:5015
 #, python-format
 msgid "Not Updating Package that is already updated: %s.%s %s:%s-%s"
-msgstr ""
-"Dejando sin actualizar el paquete que ya se encuentra actualizado: %s.%s "
-"%s:%s-%s"
+msgstr "Dejando sin actualizar el paquete que ya se encuentra actualizado: %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3982
-msgid "No package matched to remove"
-msgstr "No hay paquete correspondiente para ser eliminado"
+#: ../yum/__init__.py:5093
+#, python-format
+msgid "No package matched to remove: %s"
+msgstr "Ningún paquete encontrado para eliminar: %s"
 
-#: ../yum/__init__.py:3988
+#: ../yum/__init__.py:5099
 #, python-format
 msgid "Skipping the running kernel: %s"
 msgstr "Salteando el kernel en ejecución: %s"
 
-#: ../yum/__init__.py:3994
+#: ../yum/__init__.py:5105
 #, python-format
 msgid "Removing %s from the transaction"
 msgstr "Eliminando %s de la transacción"
 
-#: ../yum/__init__.py:4029
+#: ../yum/__init__.py:5142
 #, python-format
 msgid "Cannot open: %s. Skipping."
 msgstr "No es posible abrir: %s. Ignorando."
 
-#: ../yum/__init__.py:4032 ../yum/__init__.py:4150 ../yum/__init__.py:4226
+#: ../yum/__init__.py:5145 ../yum/__init__.py:5262 ../yum/__init__.py:5347
 #, python-format
 msgid "Examining %s: %s"
 msgstr "Examinando %s: %s"
 
-#: ../yum/__init__.py:4036
+#: ../yum/__init__.py:5149
 #, python-format
 msgid "Cannot localinstall deltarpm: %s. Skipping."
-msgstr ""
-"No es posible realizar una instalación local de deltarpm: %s. Ignorando."
+msgstr "No es posible realizar una instalación local de deltarpm: %s. Ignorando."
 
-#: ../yum/__init__.py:4045 ../yum/__init__.py:4153 ../yum/__init__.py:4229
+#: ../yum/__init__.py:5158 ../yum/__init__.py:5265 ../yum/__init__.py:5350
 #, python-format
 msgid ""
 "Cannot add package %s to transaction. Not a compatible architecture: %s"
-msgstr ""
-"No es posible añadir el paquete %s a la transacción. La arquitectura no es "
-"compatible: %s"
+msgstr "No es posible añadir el paquete %s a la transacción. La arquitectura no es compatible: %s"
 
-#: ../yum/__init__.py:4051
+#: ../yum/__init__.py:5164
 #, python-format
 msgid "Cannot install package %s. It is obsoleted by installed package %s"
-msgstr ""
-"No es posible instalar el paquete %s. Se encuentra obsoleto debido al "
-"paquete instalado %s"
+msgstr "No es posible instalar el paquete %s. Se encuentra obsoleto debido al paquete instalado %s"
 
-#: ../yum/__init__.py:4059
+#: ../yum/__init__.py:5172
 #, python-format
 msgid ""
 "Package %s not installed, cannot update it. Run yum install to install it "
 "instead."
-msgstr ""
-"El paquete %s no está instalado, no puede actualizarse. En su lugar, para "
-"instalarlo, ejecute el comando yum install."
+msgstr "El paquete %s no está instalado, no puede actualizarse. En su lugar, para instalarlo, ejecute el comando yum install."
 
-#: ../yum/__init__.py:4078 ../yum/__init__.py:4085
+#: ../yum/__init__.py:5191 ../yum/__init__.py:5198
 #, python-format
 msgid ""
 "Package %s.%s not installed, cannot update it. Run yum install to install it"
 " instead."
-msgstr ""
-"Paquete %s. %s no instalado, no se puede actualizar. En su lugar, ejecute "
-"yum install para instalarlo"
+msgstr "Paquete %s. %s no instalado, no se puede actualizar. En su lugar, ejecute yum install para instalarlo"
 
-#: ../yum/__init__.py:4094 ../yum/__init__.py:4158 ../yum/__init__.py:4234
+#: ../yum/__init__.py:5207 ../yum/__init__.py:5270 ../yum/__init__.py:5355
 #, python-format
 msgid "Excluding %s"
 msgstr "Excluyendo %s"
 
-#: ../yum/__init__.py:4099
+#: ../yum/__init__.py:5212
 #, python-format
 msgid "Marking %s to be installed"
 msgstr "Marcando %s para ser instalado"
 
-#: ../yum/__init__.py:4105
+#: ../yum/__init__.py:5218
 #, python-format
 msgid "Marking %s as an update to %s"
 msgstr "Marcando %s como una actualización de %s"
 
-#: ../yum/__init__.py:4112
+#: ../yum/__init__.py:5225
 #, python-format
 msgid "%s: does not update installed package."
 msgstr "%s: no actualiza el paquete instalado."
 
-#: ../yum/__init__.py:4147 ../yum/__init__.py:4223
+#: ../yum/__init__.py:5259 ../yum/__init__.py:5344
 #, python-format
 msgid "Cannot open file: %s. Skipping."
 msgstr "No es posible abrir el archivo: %s. Ignorando."
 
-#: ../yum/__init__.py:4177
+#: ../yum/__init__.py:5299
 msgid "Problem in reinstall: no package matched to remove"
-msgstr ""
-"Problema al reinstalar: no existe ningún paquete concordante para eliminar"
+msgstr "Problema al reinstalar: no existe ningún paquete concordante para eliminar"
 
-#: ../yum/__init__.py:4203
+#: ../yum/__init__.py:5325
 #, python-format
 msgid "Problem in reinstall: no package %s matched to install"
-msgstr ""
-"Problema al reinstalar: no existe ningún paquete concordante con %s para "
-"instalar"
+msgstr "Problema al reinstalar: no existe ningún paquete concordante con %s para instalar"
 
-#: ../yum/__init__.py:4311
+#: ../yum/__init__.py:5438
 msgid "No package(s) available to downgrade"
 msgstr "No existe(n) paquete(s) disponible(s) para desactualizar"
 
-#: ../yum/__init__.py:4319
+#: ../yum/__init__.py:5446
 #, python-format
 msgid "Package %s is allowed multiple installs, skipping"
 msgstr "El paquete %s permite múltiples instalaciones, ignorando"
 
-#: ../yum/__init__.py:4365
+#: ../yum/__init__.py:5496
 #, python-format
 msgid "No Match for available package: %s"
 msgstr "Ninguna correspondencia disponible para el paquete: %s"
 
-#: ../yum/__init__.py:4372
+#: ../yum/__init__.py:5506
 #, python-format
 msgid "Only Upgrade available on package: %s"
 msgstr "Solo existe la posibilidad de actualizar el paquete: %s"
 
-#: ../yum/__init__.py:4442 ../yum/__init__.py:4479
+#: ../yum/__init__.py:5619 ../yum/__init__.py:5686
 #, python-format
 msgid "Failed to downgrade: %s"
 msgstr "Falló al desactualizar: %s"
 
-#: ../yum/__init__.py:4516
+#: ../yum/__init__.py:5636 ../yum/__init__.py:5692
+#, python-format
+msgid "Failed to upgrade: %s"
+msgstr "Falla al actualizar: %s"
+
+#: ../yum/__init__.py:5725
 #, python-format
 msgid "Retrieving key from %s"
 msgstr "Obteniendo clave desde %s"
 
-#: ../yum/__init__.py:4534
+#: ../yum/__init__.py:5743
 msgid "GPG key retrieval failed: "
 msgstr "La obtención de la llave GPG ha fallado:"
 
 #. if we decide we want to check, even though the sig failed
 #. here is where we would do that
-#: ../yum/__init__.py:4557
+#: ../yum/__init__.py:5766
 #, python-format
 msgid "GPG key signature on key %s does not match CA Key for repo: %s"
-msgstr ""
-"La firma de la clave GPG de %s no conincide con la clave CA del repositorio:"
-" %s"
+msgstr "La firma de la clave GPG de %s no conincide con la clave CA del repositorio: %s"
 
-#: ../yum/__init__.py:4559
+#: ../yum/__init__.py:5768
 msgid "GPG key signature verified against CA Key(s)"
 msgstr "Clave GPG de firma verificada contra clave(s) CA"
 
-#: ../yum/__init__.py:4567
+#: ../yum/__init__.py:5776
 #, python-format
 msgid "Invalid GPG Key from %s: %s"
 msgstr "Llave GPG no válida de %s: %s"
 
-#: ../yum/__init__.py:4576
+#: ../yum/__init__.py:5785
 #, python-format
 msgid "GPG key parsing failed: key does not have value %s"
 msgstr "El análisis de la llave GPG ha fallado: la llave no posee valor %s"
 
-#: ../yum/__init__.py:4592
+#: ../yum/__init__.py:5801
 #, python-format
 msgid ""
 "Importing %s key 0x%s:\n"
-" Userid : %s\n"
-" Package: %s (%s)\n"
-" From   : %s"
-msgstr ""
-"Importando clave %s 0x%s:\n"
-" Id Usuario: %s\n"
-" Paquete: %s (%s)\n"
-" Desde: %s"
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" Package    : %s (%s)\n"
+" From       : %s"
+msgstr "Importando llave %s 0x%s:\n Usuarioid  : \"%s\"\n Huella       : %s\n Paquete    : %s (%s)\n Desde      : %s"
 
-#: ../yum/__init__.py:4600
+#: ../yum/__init__.py:5811
 #, python-format
 msgid ""
 "Importing %s key 0x%s:\n"
-" Userid: \"%s\"\n"
-" From  : %s"
-msgstr ""
-"Importando clave %s 0x%s:\n"
-" Id Usuario:  \"%s\"\n"
-" Desde: %s"
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" From       : %s"
+msgstr "Importando llave %s 0x%s:\n Usuarioid  : \"%s\"\n Huella       : %s\n Desde      : %s"
 
-#: ../yum/__init__.py:4634
+#: ../yum/__init__.py:5839
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" Failing package is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr "\n\n\n El paquete erróneo es: %s\n Las llaves GPG están configuradas como: %s\n"
+
+#: ../yum/__init__.py:5853
 #, python-format
 msgid "GPG key at %s (0x%s) is already installed"
 msgstr "La llave GPG de %s (0x%s) ya se encuentra instalada"
 
-#: ../yum/__init__.py:4671
+#: ../yum/__init__.py:5891
 #, python-format
 msgid "Key import failed (code %d)"
 msgstr "La importación de la llave falló (código %d)"
 
-#: ../yum/__init__.py:4672 ../yum/__init__.py:4755
+#: ../yum/__init__.py:5893 ../yum/__init__.py:5994
 msgid "Key imported successfully"
 msgstr "La llave ha sido importada exitosamente"
 
-#: ../yum/__init__.py:4676
+#: ../yum/__init__.py:5897
 msgid "Didn't install any keys"
 msgstr "No instalar ninguna clave"
 
-#: ../yum/__init__.py:4680
+#: ../yum/__init__.py:5900
 #, python-format
 msgid ""
 "The GPG keys listed for the \"%s\" repository are already installed but they are not correct for this package.\n"
 "Check that the correct key URLs are configured for this repository."
-msgstr ""
-"Las llaves GPG listadas para el repositorio \"%s\" ya se encuentran instaladas, pero con este paquete no son correctas.\n"
-"Verifique que las URLs de la llave para este repositorio estén correctamente configuradas."
+msgstr "Las llaves GPG listadas para el repositorio \"%s\" ya se encuentran instaladas, pero con este paquete no son correctas.\nVerifique que las URLs de la llave para este repositorio estén correctamente configuradas."
 
-#: ../yum/__init__.py:4689
+#: ../yum/__init__.py:5910
 msgid "Import of key(s) didn't help, wrong key(s)?"
-msgstr ""
-"La importación de la(s) llave(s) no funcionó, ¿llave(s) equivocada(s)?"
+msgstr "La importación de la(s) llave(s) no funcionó, ¿llave(s) equivocada(s)?"
+
+#: ../yum/__init__.py:5932
+msgid "No"
+msgstr "No"
+
+#: ../yum/__init__.py:5934
+msgid "Yes"
+msgstr "Si"
+
+#: ../yum/__init__.py:5935
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" CA Key: %s\n"
+" Failing repo is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr "\n\n\n Llave CA: %s\n El repositorio erróneo es: %s\n Las llaves GPG están configuradas como: %s\n"
 
-#: ../yum/__init__.py:4713
+#: ../yum/__init__.py:5948
 #, python-format
 msgid "GPG key at %s (0x%s) is already imported"
 msgstr "La llave GPG de %s (0x%s) ya ha sido importada"
 
-#: ../yum/__init__.py:4754
-msgid "Key import failed"
-msgstr "Falló la importación de la llave"
+#: ../yum/__init__.py:5992
+#, python-format
+msgid "Key %s import failed"
+msgstr "Falló la importación de la llave %s"
 
-#: ../yum/__init__.py:4770
+#: ../yum/__init__.py:6009
 #, python-format
 msgid "Didn't install any keys for repo %s"
 msgstr "No instalar ninguna clave para el repositorio %s"
 
-#: ../yum/__init__.py:4774
+#: ../yum/__init__.py:6014
 #, python-format
 msgid ""
 "The GPG keys listed for the \"%s\" repository are already installed but they are not correct.\n"
 "Check that the correct key URLs are configured for this repository."
-msgstr ""
-"Las llaves GPG listadas para el repositorio \"%s\" ya se encuentran instaladas, pero no son correctas.\n"
-"Verifique que se encuentren correctamente configuradas las URLs de la llave para este repositorio."
+msgstr "Las llaves GPG listadas para el repositorio \"%s\" ya se encuentran instaladas, pero no son correctas.\nVerifique que se encuentren correctamente configuradas las URLs de la llave para este repositorio."
 
-#: ../yum/__init__.py:4924
+#: ../yum/__init__.py:6172
 msgid "Unable to find a suitable mirror."
 msgstr "No es posible encontrar un espejo que funcione."
 
-#: ../yum/__init__.py:4926
+#: ../yum/__init__.py:6174
 msgid "Errors were encountered while downloading packages."
 msgstr "Fueron encontrados errores mientras los paquetes eran descargados."
 
-#: ../yum/__init__.py:4981
+#: ../yum/__init__.py:6229
 #, python-format
 msgid "Please report this error at %s"
 msgstr "Por favor, informe este error en %s"
 
-#: ../yum/__init__.py:4998
+#: ../yum/__init__.py:6246
 msgid "Test Transaction Errors: "
 msgstr "Errores de la prueba de transacción:"
 
-#: ../yum/__init__.py:5098
+#: ../yum/__init__.py:6358
 #, python-format
 msgid "Could not set cachedir: %s"
 msgstr "No se ha podido definir un directorio de chaché: %s"
 
-#: ../yum/__init__.py:5148 ../yum/__init__.py:5150
+#: ../yum/__init__.py:6420 ../yum/__init__.py:6422
 msgid "Dependencies not solved. Will not save unresolved transaction."
-msgstr ""
-"Dependencias no resueltas. No se guardarán las transacciónes no resuletas."
+msgstr "Dependencias no resueltas. No se guardarán las transacciónes no resuletas."
 
-#: ../yum/__init__.py:5179 ../yum/__init__.py:5181
+#: ../yum/__init__.py:6455 ../yum/__init__.py:6457
 #, python-format
 msgid "Could not save transaction file %s: %s"
 msgstr "No se puedo guardar el archivo de transacciones %s: %s"
 
-#: ../yum/__init__.py:5195
+#: ../yum/__init__.py:6483
 #, python-format
 msgid "Could not access/read saved transaction %s : %s"
 msgstr "No se puede acceder/leer el archivo guardado de transacción %s: %s"
 
-#: ../yum/__init__.py:5214
-msgid "rpmdb ver mismatched saved transaction version, "
-msgstr "versión de rpmdb no coincide con versión de transacción guardada, "
-
-#: ../yum/__init__.py:5216
-msgid " ignoring, as requested."
-msgstr " ignorando, como fue requerido."
-
-#: ../yum/__init__.py:5219 ../yum/__init__.py:5354
-msgid " aborting."
-msgstr " abortando."
+#: ../yum/__init__.py:6521
+msgid "rpmdb ver mismatched saved transaction version,"
+msgstr "versión rpmdb no coincide con versión de transacción guardada."
 
-#: ../yum/__init__.py:5228
+#: ../yum/__init__.py:6535
 msgid "cannot find tsflags or tsflags not integer."
 msgstr "no se puede encontrar tsflags o tsflags no es un entero."
 
-#: ../yum/__init__.py:5267
+#: ../yum/__init__.py:6584
 #, python-format
 msgid "Found txmbr in unknown current state: %s"
 msgstr "Encontrado txmbr en estado actual desconocido: %s"
 
-#: ../yum/__init__.py:5271
+#: ../yum/__init__.py:6588
 #, python-format
 msgid "Could not find txmbr: %s in state %s"
 msgstr "No se pudo encontrar txmbr: %s en estado %s"
 
-#: ../yum/__init__.py:5307 ../yum/__init__.py:5324
+#: ../yum/__init__.py:6625 ../yum/__init__.py:6642
 #, python-format
 msgid "Could not find txmbr: %s from origin: %s"
 msgstr "No se pudo encontrar txmbr: %s del origen:%s"
 
-#: ../yum/__init__.py:5349
+#: ../yum/__init__.py:6667
 msgid "Transaction members, relations are missing or ts has been modified,"
-msgstr ""
-"Están faltando los miembros de la transacción y sus relaciones, o ts fue "
-"modificada,"
+msgstr "Están faltando los miembros de la transacción y sus relaciones, o ts fue modificada,"
 
-#: ../yum/__init__.py:5351
+#: ../yum/__init__.py:6670
 msgid " ignoring, as requested. You must redepsolve!"
 msgstr " ignorando, a pedido. ¡Debe resolver dependencias nuevamente!"
 
+#. Debugging output
+#: ../yum/__init__.py:6738 ../yum/__init__.py:6757
+#, python-format
+msgid "%s has been visited already and cannot be removed."
+msgstr "%s ya ha sido visitado y no puede ser removido."
+
+#. Debugging output
+#: ../yum/__init__.py:6741
+#, python-format
+msgid "Examining revdeps of %s"
+msgstr "Examinando revdeps de %s"
+
+#. Debugging output
+#: ../yum/__init__.py:6762
+#, python-format
+msgid "%s has revdep %s which was user-installed."
+msgstr "%s tiene como revdep a %s que fue instalado por el usuario."
+
+#: ../yum/__init__.py:6773 ../yum/__init__.py:6779
+#, python-format
+msgid "%s is needed by a package to be installed."
+msgstr "%s necesita ser instalado por un paquete."
+
+#. Debugging output
+#: ../yum/__init__.py:6793
+#, python-format
+msgid "%s has no user-installed revdeps."
+msgstr "%s no tiene revdeps instaladas por el usuario."
+
 #. Mostly copied from YumOutput._outKeyValFill()
-#: ../yum/plugins.py:209
+#: ../yum/plugins.py:212
 msgid "Loaded plugins: "
 msgstr "Complementos cargados:"
 
-#: ../yum/plugins.py:223 ../yum/plugins.py:229
+#: ../yum/plugins.py:226 ../yum/plugins.py:232
 #, python-format
 msgid "No plugin match for: %s"
 msgstr "No hay un complemento que se corresponda con: %s"
 
-#: ../yum/plugins.py:259
+#: ../yum/plugins.py:262
 #, python-format
 msgid "Not loading \"%s\" plugin, as it is disabled"
-msgstr ""
-"El complemento \"%s\" no será cargado, puesto que se encuentra deshabilitado"
+msgstr "El complemento \"%s\" no será cargado, puesto que se encuentra deshabilitado"
 
 #. Give full backtrace:
-#: ../yum/plugins.py:271
+#: ../yum/plugins.py:274
 #, python-format
 msgid "Plugin \"%s\" can't be imported"
 msgstr "El complemento \"%s\" no puede ser importado"
 
-#: ../yum/plugins.py:278
+#: ../yum/plugins.py:281
 #, python-format
 msgid "Plugin \"%s\" doesn't specify required API version"
 msgstr "El complemento \"%s\" no especifica la versión de API requerida"
 
-#: ../yum/plugins.py:283
+#: ../yum/plugins.py:286
 #, python-format
 msgid "Plugin \"%s\" requires API %s. Supported API is %s."
 msgstr "El complemento \"%s\" requiere el API %s. El API soportado es %s."
 
-#: ../yum/plugins.py:316
+#: ../yum/plugins.py:319
 #, python-format
 msgid "Loading \"%s\" plugin"
 msgstr "Cargando el complemento \"%s\""
 
-#: ../yum/plugins.py:323
+#: ../yum/plugins.py:326
 #, python-format
 msgid "Two or more plugins with the name \"%s\" exist in the plugin search path"
-msgstr ""
-"Existen dos o más complementos con el nombre \"%s\", en la ruta de búsqueda "
-"de complementos "
+msgstr "Existen dos o más complementos con el nombre \"%s\", en la ruta de búsqueda de complementos "
 
-#: ../yum/plugins.py:343
+#: ../yum/plugins.py:346
 #, python-format
 msgid "Configuration file %s not found"
 msgstr "No se encuentra el archivo de configuración %s"
 
 #. for
 #. Configuration files for the plugin not found
-#: ../yum/plugins.py:346
+#: ../yum/plugins.py:349
 #, python-format
 msgid "Unable to find configuration file for plugin %s"
-msgstr ""
-"No es posible encontrar el archivo de configuración para el complemento %s"
+msgstr "No es posible encontrar el archivo de configuración para el complemento %s"
 
-#: ../yum/plugins.py:508
+#: ../yum/plugins.py:553
 msgid "registration of commands not supported"
 msgstr "registro de comando no soportado"
 
-#: ../yum/rpmsack.py:148
+#: ../yum/rpmsack.py:159
 msgid "has missing requires of"
 msgstr "no se encuentran necesita de"
 
-#: ../yum/rpmsack.py:151
+#: ../yum/rpmsack.py:162
 msgid "has installed conflicts"
 msgstr "se ha instalado choca con"
 
-#: ../yum/rpmsack.py:160
+#: ../yum/rpmsack.py:171
 #, python-format
 msgid "%s is a duplicate with %s"
 msgstr "%s es uin duplicado con %s"
 
-#: ../yum/rpmsack.py:168
+#: ../yum/rpmsack.py:179
 #, python-format
 msgid "%s is obsoleted by %s"
 msgstr "%s hace obsoleto a %s"
 
-#: ../yum/rpmsack.py:176
+#: ../yum/rpmsack.py:187
 #, python-format
 msgid "%s provides %s but it cannot be found"
 msgstr "%s ofrece %s, pero no puede ser encontrado"
@@ -3210,6 +3464,23 @@ msgstr "%s ofrece %s, pero no puede ser encontrado"
 msgid "Repackaging"
 msgstr "Reempaquetando"
 
+#: ../yum/rpmtrans.py:149
+#, python-format
+msgid "Verify: %u/%u: %s"
+msgstr "Comprobar: %u/%u: %s"
+
+#: ../yum/yumRepo.py:919
+#, python-format
+msgid ""
+"Insufficient space in download directory %s\n"
+"    * free   %s\n"
+"    * needed %s"
+msgstr "Espacio insuficiente en el directorio de descarga %s\n    * libre   %s\n    * necesario %s"
+
+#: ../yum/yumRepo.py:986
+msgid "Package does not match intended download."
+msgstr "Paquete no coincide con descarga pretendida."
+
 #: ../rpmUtils/oldUtils.py:33
 #, python-format
 msgid "Header cannot be opened or does not match %s, %s."
@@ -3222,9 +3493,7 @@ msgstr "El RPM %s ha fallado la verificación md5"
 
 #: ../rpmUtils/oldUtils.py:151
 msgid "Could not open RPM database for reading. Perhaps it is already in use?"
-msgstr ""
-"No es posible abrir la base de datos de RPM para su lectura. ¿Tal vez se "
-"encuentre en uso?"
+msgstr "No es posible abrir la base de datos de RPM para su lectura. ¿Tal vez se encuentre en uso?"
 
 #: ../rpmUtils/oldUtils.py:183
 msgid "Got an empty Header, something has gone wrong"
@@ -3240,5 +3509,3 @@ msgstr "Encabezado %s dañado"
 #, python-format
 msgid "Error opening rpm %s - error %s"
 msgstr "Error al abrir el rpm %s - error %s"
-
-
diff --git a/po/eu.po b/po/eu.po
index f92862c..1bf107b 100644
--- a/po/eu.po
+++ b/po/eu.po
@@ -2,1514 +2,1645 @@
 # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
 # This file is distributed under the same license as the PACKAGE package.
 # 
-# assar <asiersar@yahoo.com>, 2011
+# Translators:
+#   <asiersar@yahoo.com>, 2012.
+# assar <asiersar@yahoo.com>, 2011.
 msgid ""
 msgstr ""
 "Project-Id-Version: Yum\n"
-"Report-Msgid-Bugs-To: http://yum.baseurl.org/\n"
-"POT-Creation-Date: 2011-06-06 10:21-0400\n"
-"PO-Revision-Date: 2011-06-06 14:21+0000\n"
-"Last-Translator: skvidal <skvidal@fedoraproject.org>\n"
-"Language-Team: Basque (http://www.transifex.net/projects/p/yum/team/eu/)\n"
+"Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
+"POT-Creation-Date: 2013-01-30 09:08-0500\n"
+"PO-Revision-Date: 2013-01-30 14:08+0000\n"
+"Last-Translator: james <james@fedoraproject.org>\n"
+"Language-Team: Basque (http://www.transifex.com/projects/p/yum/language/eu/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Language: eu\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: ../callback.py:48 ../output.py:1037 ../yum/rpmtrans.py:73
+#: ../callback.py:45 ../output.py:1502 ../yum/rpmtrans.py:73
 msgid "Updating"
 msgstr "Eguneratzen"
 
-#: ../callback.py:49 ../yum/rpmtrans.py:74
+#: ../callback.py:46 ../yum/rpmtrans.py:74
 msgid "Erasing"
 msgstr "Ezabatzen"
 
-#: ../callback.py:50 ../callback.py:51 ../callback.py:53 ../output.py:1036
-#: ../output.py:2218 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
+#: ../callback.py:47 ../callback.py:48 ../callback.py:50 ../output.py:1501
+#: ../output.py:2922 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
 #: ../yum/rpmtrans.py:78
 msgid "Installing"
 msgstr "Instalatzen"
 
-#: ../callback.py:52 ../callback.py:58 ../output.py:1840 ../yum/rpmtrans.py:77
+#: ../callback.py:49 ../callback.py:55 ../output.py:2379 ../yum/rpmtrans.py:77
 msgid "Obsoleted"
 msgstr "Zaharkitua"
 
-#: ../callback.py:54 ../output.py:1169 ../output.py:1686 ../output.py:1847
+#: ../callback.py:51 ../output.py:1670 ../output.py:2222 ../output.py:2386
 msgid "Updated"
 msgstr "Eguneratua"
 
-#: ../callback.py:55 ../output.py:1685
+#: ../callback.py:52 ../output.py:2221
 msgid "Erased"
 msgstr "Ezabatua"
 
-#: ../callback.py:56 ../callback.py:57 ../callback.py:59 ../output.py:1167
-#: ../output.py:1685 ../output.py:1687 ../output.py:2190
+#: ../callback.py:53 ../callback.py:54 ../callback.py:56 ../output.py:1668
+#: ../output.py:2221 ../output.py:2223 ../output.py:2894
 msgid "Installed"
 msgstr "Instalatua"
 
-#: ../callback.py:130
+#: ../callback.py:142
 msgid "No header - huh?"
 msgstr "Goibururik ez - eh?"
 
-#: ../callback.py:168
+#: ../callback.py:180
 msgid "Repackage"
 msgstr "Birpaketatu"
 
-#: ../callback.py:189
+#: ../callback.py:201
 #, python-format
 msgid "Error: invalid output state: %s for %s"
 msgstr "Errorea: baliogabeko irteera-egoera: %s %s-(e)rako"
 
-#: ../callback.py:212
+#: ../callback.py:224
 #, python-format
 msgid "Erased: %s"
 msgstr "Ezabatua: %s"
 
-#: ../callback.py:217 ../output.py:1038 ../output.py:2193
+#: ../callback.py:229 ../output.py:1503 ../output.py:2897
 msgid "Removing"
 msgstr "Kentzen"
 
-#: ../callback.py:219 ../yum/rpmtrans.py:79
+#: ../callback.py:231 ../yum/rpmtrans.py:79
 msgid "Cleanup"
 msgstr "Garbitzen"
 
-#: ../cli.py:115
+#: ../cli.py:122
 #, python-format
 msgid "Command \"%s\" already defined"
 msgstr "\"%s\" komandoa jadanik definitua"
 
-#: ../cli.py:127
+#: ../cli.py:137
 msgid "Setting up repositories"
 msgstr "Biltegiak konfiguratzen"
 
-#: ../cli.py:138
+#: ../cli.py:148
 msgid "Reading repository metadata in from local files"
 msgstr "Biltegien metadatuak irakurtzen fitxategi lokaletatik"
 
-#: ../cli.py:245 ../utils.py:281
+#: ../cli.py:273 ../cli.py:277 ../utils.py:320
 #, python-format
 msgid "Config Error: %s"
 msgstr "Konfigurazio-errorea: %s"
 
-#: ../cli.py:248 ../cli.py:1584 ../utils.py:284
+#: ../cli.py:280 ../cli.py:2206 ../utils.py:323
 #, python-format
 msgid "Options Error: %s"
 msgstr "Aukeren errorea: %s"
 
-#: ../cli.py:293
+#: ../cli.py:327
 #, python-format
 msgid "  Installed: %s-%s at %s"
 msgstr "  Instalatua: %s-%s %s-(e)n"
 
-#: ../cli.py:295
+#: ../cli.py:329
 #, python-format
 msgid "  Built    : %s at %s"
 msgstr "  Eraikia    : %s %s-(e)n"
 
-#: ../cli.py:297
+#: ../cli.py:331
 #, python-format
 msgid "  Committed: %s at %s"
 msgstr "  Egikaritua: %s %s-(e)n"
 
-#: ../cli.py:336
+#: ../cli.py:372
 msgid "You need to give some command"
 msgstr "Komandoren bat eman behar duzu"
 
-#: ../cli.py:350
+#: ../cli.py:386
 #, python-format
 msgid "No such command: %s. Please use %s --help"
 msgstr "Ez dago halako komandorik: %s. Erabili %s --help"
 
-#: ../cli.py:400
+#: ../cli.py:444
 msgid "Disk Requirements:\n"
 msgstr "Disko-eskakizunak:\n"
 
-#: ../cli.py:402
+#: ../cli.py:446
 #, python-format
 msgid "  At least %dMB more space needed on the %s filesystem.\n"
-msgstr "  Gutxienez %dMD gehiagoko espazioa behar da %s fitxategi-sisteman.\n"
+msgid_plural "  At least %dMB more space needed on the %s filesystem.\n"
+msgstr[0] "  Gutxienez %dMD gehiagoko espazioa behar da %s fitxategi-sisteman.\n"
+msgstr[1] "  Gutxienez %dMD gehiagoko espazioa behar da %s fitxategi-sisteman.\n"
 
 #. TODO: simplify the dependency errors?
 #. Fixup the summary
-#: ../cli.py:407
+#: ../cli.py:451
 msgid ""
 "Error Summary\n"
 "-------------\n"
-msgstr ""
-"Erroreen laburpena\n"
-"-------------\n"
+msgstr "Erroreen laburpena\n-------------\n"
 
-#: ../cli.py:450
+#: ../cli.py:472
+msgid "Can't create lock file; exiting"
+msgstr "Ezin izan da fitxategia blokeatu; irteten"
+
+#: ../cli.py:479
+msgid ""
+"Another app is currently holding the yum lock; exiting as configured by "
+"exit_on_lock"
+msgstr "Beste aplikazio batek yum blokeatuta dauka; irteten exit_on_lock-en konfiguratuta dagoenari kasu eginez"
+
+#: ../cli.py:532
 msgid "Trying to run the transaction but nothing to do. Exiting."
+msgstr "Transakzioaren exekuzioa saiatzen baina ez dago egiteko ezer. Irteten."
+
+#: ../cli.py:577
+msgid "future rpmdb ver mismatched saved transaction version,"
 msgstr ""
-"Transakzioaren exekuzioa saiatzen baina ez dago egiteko ezer. Irteten."
 
-#: ../cli.py:497
+#: ../cli.py:579 ../yum/__init__.py:6523
+msgid " ignoring, as requested."
+msgstr " ezikusten, eskatu den bezala."
+
+#: ../cli.py:582 ../yum/__init__.py:6526 ../yum/__init__.py:6673
+msgid " aborting."
+msgstr " abortatzen."
+
+#: ../cli.py:588
 msgid "Exiting on user Command"
 msgstr "Irteten erabiltzaile-komandoaren ondoren"
 
-#: ../cli.py:501
+#: ../cli.py:592
 msgid "Downloading Packages:"
 msgstr "Paketeak deskargatzen:"
 
-#: ../cli.py:506
+#: ../cli.py:597
 msgid "Error Downloading Packages:\n"
 msgstr "Errorea paketeak deskargatzean:\n"
 
-#: ../cli.py:525 ../yum/__init__.py:4967
+#: ../cli.py:616 ../yum/__init__.py:6215
 msgid "Running Transaction Check"
 msgstr "Transakzio-egiaztapena exekutatzen"
 
-#: ../cli.py:534 ../yum/__init__.py:4976
+#: ../cli.py:625 ../yum/__init__.py:6224
 msgid "ERROR You need to update rpm to handle:"
 msgstr "ERROREA, rpm eguneratu behar duzu hau maneiatzeko:"
 
-#: ../cli.py:536 ../yum/__init__.py:4979
+#: ../cli.py:627 ../yum/__init__.py:6227
 msgid "ERROR with transaction check vs depsolve:"
 msgstr "ERROREA transakzio-egiaztapena eta depsolve artean:"
 
-#: ../cli.py:542
+#: ../cli.py:633
 msgid "RPM needs to be updated"
 msgstr "RPM eguneratu egin behar da"
 
-#: ../cli.py:543
+#: ../cli.py:634
 #, python-format
 msgid "Please report this error in %s"
 msgstr "Jakinarazi errore hau %s-(e)n"
 
-#: ../cli.py:549
+#: ../cli.py:640
 msgid "Running Transaction Test"
 msgstr "Transakzio-testa exekutatzen"
 
-#: ../cli.py:561
+#: ../cli.py:652
 msgid "Transaction Check Error:\n"
 msgstr "Transakzioaren egiaztapen-errorea:\n"
 
-#: ../cli.py:568
+#: ../cli.py:659
 msgid "Transaction Test Succeeded"
 msgstr "Transakzio-testak arrakasta izan du"
 
-#: ../cli.py:600
+#: ../cli.py:691
 msgid "Running Transaction"
 msgstr "Transakzioa exekutatzen"
 
-#: ../cli.py:630
+#: ../cli.py:724
 msgid ""
 "Refusing to automatically import keys when running unattended.\n"
 "Use \"-y\" to override."
-msgstr ""
-"Baztertzen gakoak automatikoki inportatzea arretarik gabe exekutatzen ari denean.\n"
-"Erabili \"-y\" gainidazteko."
+msgstr "Baztertzen gakoak automatikoki inportatzea arretarik gabe exekutatzen ari denean.\nErabili \"-y\" gainidazteko."
 
-#: ../cli.py:649 ../cli.py:692
+#: ../cli.py:743 ../cli.py:786
 msgid "  * Maybe you meant: "
 msgstr "  * Agian hau esan nahi zenuen: "
 
-#: ../cli.py:675 ../cli.py:683
+#: ../cli.py:769 ../cli.py:777
 #, python-format
 msgid "Package(s) %s%s%s available, but not installed."
 msgstr "%s%s%s paketea(k) eskuragarri, baina ez daude instalatuta."
 
-#: ../cli.py:689 ../cli.py:722 ../cli.py:908
+#: ../cli.py:783 ../cli.py:891 ../cli.py:1158
 #, python-format
 msgid "No package %s%s%s available."
 msgstr "%s%s%s paketea ez dago eskuragarri."
 
-#: ../cli.py:729 ../cli.py:973
-msgid "Package(s) to install"
-msgstr "Instalatzeko paketea(k)"
+#: ../cli.py:871 ../cli.py:881 ../cli.py:1101 ../cli.py:1111
+#, python-format
+msgid "Bad %s argument %s."
+msgstr ""
+
+#: ../cli.py:900 ../yumcommands.py:3331
+#, python-format
+msgid "%d package to install"
+msgid_plural "%d packages to install"
+msgstr[0] "Pakete %d instalatzeko"
+msgstr[1] "%d pakete instalatzeko"
 
-#: ../cli.py:732 ../cli.py:733 ../cli.py:914 ../cli.py:948 ../cli.py:974
-#: ../yumcommands.py:190
+#: ../cli.py:903 ../cli.py:904 ../cli.py:1169 ../cli.py:1170 ../cli.py:1224
+#: ../cli.py:1225 ../cli.py:1260 ../yumcommands.py:323 ../yumcommands.py:3419
 msgid "Nothing to do"
 msgstr "Ez dago egiteko ezer"
 
-#: ../cli.py:767
+#: ../cli.py:953
 #, python-format
-msgid "%d packages marked for Update"
-msgstr "%d pakete markatu dira eguneratuak izateko"
+msgid "%d package marked for Update"
+msgid_plural "%d packages marked for Update"
+msgstr[0] "Pakete %d markatu da eguneratua izateko"
+msgstr[1] "%d pakete markatu dira eguneratuak izateko"
 
-#: ../cli.py:770
+#: ../cli.py:955
 msgid "No Packages marked for Update"
 msgstr "Ez da paketerik markatu eguneratua izateko"
 
-#: ../cli.py:866
+#: ../cli.py:1067
 #, python-format
-msgid "%d packages marked for Distribution Synchronization"
-msgstr "%d pakete markatu dira banaketa sinkronizatzeko"
+msgid "%d package marked for Distribution Synchronization"
+msgid_plural "%d packages marked for Distribution Synchronization"
+msgstr[0] "Pakete %d markatu da banaketa sinkronizatzeko"
+msgstr[1] "%d pakete markatu dira banaketa sinkronizatzeko"
 
-#: ../cli.py:869
+#: ../cli.py:1069
 msgid "No Packages marked for Distribution Synchronization"
 msgstr "Ez da paketerik markatu banaketa sinkronizatzeko"
 
-#: ../cli.py:885
+#: ../cli.py:1124
 #, python-format
-msgid "%d packages marked for removal"
-msgstr "%d pakete markatu dira kenduak izateko"
+msgid "%d package marked for removal"
+msgid_plural "%d packages marked for removal"
+msgstr[0] "Pakete %d markatu da kendua izateko"
+msgstr[1] "%d pakete markatu dira kenduak izateko"
 
-#: ../cli.py:888
+#: ../cli.py:1126
 msgid "No Packages marked for removal"
 msgstr "Ez da paketerik markatu kendua izateko"
 
-#: ../cli.py:913
-msgid "Package(s) to downgrade"
-msgstr "Bertsio zaharragoa instalatzeko paketea(k)"
+#: ../cli.py:1166
+#, python-format
+msgid "%d package to downgrade"
+msgid_plural "%d packages to downgrade"
+msgstr[0] "Pakete %d bertsio zaharragoa instalatzeko"
+msgstr[1] "%d pakete bertsio zaharragoa instalatzeko"
 
-#: ../cli.py:938
+#: ../cli.py:1207
 #, python-format
 msgid " (from %s)"
 msgstr " (%s-(e)tik)"
 
-#: ../cli.py:939
+#: ../cli.py:1208
 #, python-format
 msgid "Installed package %s%s%s%s not available."
 msgstr "%s%s%s%s pakete instalatua ez dago eskuragarri."
 
-#: ../cli.py:947
-msgid "Package(s) to reinstall"
-msgstr "Berrinstalatzeko paketea(k)"
+#: ../cli.py:1221
+#, python-format
+msgid "%d package to reinstall"
+msgid_plural "%d packages to reinstall"
+msgstr[0] "Pakete %d berrinstalatzeko"
+msgstr[1] "%d pakete berrinstalatzeko"
 
-#: ../cli.py:960
+#: ../cli.py:1246
 msgid "No Packages Provided"
 msgstr "Ez da paketerik adierazi"
 
-#: ../cli.py:1058
+#: ../cli.py:1259
+msgid "Package(s) to install"
+msgstr "Instalatzeko paketea(k)"
+
+#: ../cli.py:1367
 #, python-format
 msgid "N/S Matched: %s"
 msgstr "N/S bat etortze: %s"
 
-#: ../cli.py:1075
+#: ../cli.py:1384
 #, python-format
 msgid "  Name and summary matches %sonly%s, use \"search all\" for everything."
-msgstr ""
-"  Izen eta laburpenen bat etortzeak %soilik%s, erabili \"bilatu dena\" "
-"denean bilaketa egiteko."
+msgstr "  Izen eta laburpenen bat etortzeak %ssoilik%s, erabili \"bilatu dena\" denean bilaketa egiteko."
 
-#: ../cli.py:1077
+#: ../cli.py:1386
 #, python-format
 msgid ""
 "  Full name and summary matches %sonly%s, use \"search all\" for everything."
-msgstr ""
-"  Izen osoen eta laburpenen bat etortzeak %soilik%s, erabili \"bilatu dena\""
-" denean bilaketa egiteko."
+msgstr "  Izen osoen eta laburpenen bat etortzeak %ssoilik%s, erabili \"bilatu dena\" denean bilaketa egiteko."
 
-#: ../cli.py:1095
+#: ../cli.py:1404
 #, python-format
 msgid "Matched: %s"
 msgstr "Bat dator: %s"
 
-#: ../cli.py:1102
+#: ../cli.py:1411
 #, python-format
 msgid "  Name and summary matches %smostly%s, use \"search all\" for everything."
-msgstr ""
-"  Izen eta laburpenen bat etortzeak %sgehien bat%s, erabili \"bilatu dena\" "
-"denean bilaketa egiteko."
+msgstr "  Izen eta laburpenen bat etortzeak %sgehien bat%s, erabili \"bilatu dena\" denean bilaketa egiteko."
 
-#: ../cli.py:1106
+#: ../cli.py:1415
 #, python-format
 msgid "Warning: No matches found for: %s"
 msgstr "Abisua: Ez da bat datorrenik aurkitu honentzako: %s"
 
-#: ../cli.py:1109
+#: ../cli.py:1418
 msgid "No Matches found"
 msgstr "Ez da parekatzerik aurkitu"
 
-#: ../cli.py:1174
+#: ../cli.py:1536
 #, python-format
-msgid "No Package Found for %s"
-msgstr "Ez da paketerik aurkitu %s-(e)rako"
+msgid ""
+"Error: No Packages found for:\n"
+"  %s"
+msgstr "Errorea: Ez da paketerik aurkitu honetarako:\n  %s"
 
-#: ../cli.py:1184
+#: ../cli.py:1572
 msgid "Cleaning repos: "
 msgstr "Biltegiak garbitzen: "
 
-#: ../cli.py:1189
+#: ../cli.py:1577
 msgid "Cleaning up Everything"
 msgstr "Dena garbitzen"
 
-#: ../cli.py:1205
+#: ../cli.py:1593
 msgid "Cleaning up Headers"
 msgstr "Goiburuak garbitzen"
 
-#: ../cli.py:1208
+#: ../cli.py:1596
 msgid "Cleaning up Packages"
 msgstr "Paketeak garbitzen"
 
-#: ../cli.py:1211
+#: ../cli.py:1599
 msgid "Cleaning up xml metadata"
 msgstr "XML metadatuak garbitzen"
 
-#: ../cli.py:1214
+#: ../cli.py:1602
 msgid "Cleaning up database cache"
 msgstr "Datu-basearen katxea garbitzen"
 
-#: ../cli.py:1217
+#: ../cli.py:1605
 msgid "Cleaning up expire-cache metadata"
 msgstr "Metadatuen expire-cache garbitzen"
 
-#: ../cli.py:1220
+#: ../cli.py:1608
 msgid "Cleaning up cached rpmdb data"
 msgstr "Katxetutako rpmdb datuak garbitzen"
 
-#: ../cli.py:1223
+#: ../cli.py:1611
 msgid "Cleaning up plugins"
 msgstr "pluginak garbitzen"
 
-#: ../cli.py:1247
-#, python-format
-msgid "Warning: No groups match: %s"
-msgstr "Abisua: Ez dago taldeen bat etortzerik: %s"
+#: ../cli.py:1727
+msgid "Installed Environment Groups:"
+msgstr ""
+
+#: ../cli.py:1728
+msgid "Available Environment Groups:"
+msgstr ""
 
-#: ../cli.py:1264
+#: ../cli.py:1735
 msgid "Installed Groups:"
 msgstr "Talde instalatuak:"
 
-#: ../cli.py:1270
+#: ../cli.py:1742
 msgid "Installed Language Groups:"
 msgstr "Instalatutako hizkuntza-taldeak:"
 
-#: ../cli.py:1276
+#: ../cli.py:1749
 msgid "Available Groups:"
 msgstr "Talde eskuragarriak:"
 
-#: ../cli.py:1282
+#: ../cli.py:1756
 msgid "Available Language Groups:"
 msgstr "Eskuragarri dauden hizkuntza-taldeak:"
 
-#: ../cli.py:1285
+#: ../cli.py:1759
+#, python-format
+msgid "Warning: No Environments/Groups match: %s"
+msgstr ""
+
+#: ../cli.py:1763
 msgid "Done"
 msgstr "Egina"
 
-#: ../cli.py:1296 ../cli.py:1314 ../cli.py:1320 ../yum/__init__.py:3313
+#: ../cli.py:1818
+#, python-format
+msgid "Warning: Group/Environment %s does not exist."
+msgstr ""
+
+#: ../cli.py:1859
+#, python-format
+msgid "Warning: Environment %s does not exist."
+msgstr ""
+
+#: ../cli.py:1873 ../cli.py:1879 ../yum/__init__.py:4254
 #, python-format
 msgid "Warning: Group %s does not exist."
 msgstr "Abisua: %s taldea ez da existitzen."
 
-#: ../cli.py:1324
+#: ../cli.py:1883
 msgid "No packages in any requested group available to install or update"
 msgstr "Eskatutako taldean ez dago paketerik instalatzeko edo eguneratzeko"
 
-#: ../cli.py:1326
+#: ../cli.py:1885
 #, python-format
-msgid "%d Package(s) to Install"
-msgstr "%d pakete instalatzeko"
+msgid "%d package to Install"
+msgid_plural "%d packages to Install"
+msgstr[0] "Pakete %d instalatzeko"
+msgstr[1] "%d pakete instalatzeko"
 
-#: ../cli.py:1336 ../yum/__init__.py:3325
+#: ../cli.py:1919 ../yum/__init__.py:3536 ../yum/__init__.py:3766
+#: ../yum/__init__.py:3824
+#, python-format
+msgid "No Environment named %s exists"
+msgstr ""
+
+#: ../cli.py:1935 ../yum/__init__.py:4282
 #, python-format
 msgid "No group named %s exists"
 msgstr "Ez da existitzen %s izena duen talderik"
 
-#: ../cli.py:1342
+#: ../cli.py:1945
 msgid "No packages to remove from groups"
 msgstr "Ez dago paketerik taldeetatik kentzeko"
 
-#: ../cli.py:1344
+#: ../cli.py:1947 ../yumcommands.py:3351
 #, python-format
-msgid "%d Package(s) to remove"
-msgstr "%d pakete kentzeko"
+msgid "%d package to remove"
+msgid_plural "%d packages to remove"
+msgstr[0] "Pakete %d kentzeko"
+msgstr[1] "%d pakete kentzeko"
 
-#: ../cli.py:1386
+#: ../cli.py:1988
 #, python-format
 msgid "Package %s is already installed, skipping"
 msgstr "%s paketea instalatuta dago, saltatzen"
 
-#: ../cli.py:1397
+#: ../cli.py:1999
 #, python-format
 msgid "Discarding non-comparable pkg %s.%s"
 msgstr "Alderagarria ez den pkg %s.%s baztertzen"
 
 #. we've not got any installed that match n or n+a
-#: ../cli.py:1423
+#: ../cli.py:2025
 #, python-format
 msgid "No other %s installed, adding to list for potential install"
-msgstr ""
-"Ez dago beste %s-(e)rik instalatuta, zerrendara gehitzen balizko instalazio "
-"baterako"
+msgstr "Ez dago beste %s-(e)rik instalatuta, zerrendara gehitzen balizko instalazio baterako"
 
-#: ../cli.py:1443
+#: ../cli.py:2045
 msgid "Plugin Options"
 msgstr "Plugin aukerak"
 
-#: ../cli.py:1451
+#: ../cli.py:2057
 #, python-format
 msgid "Command line error: %s"
 msgstr "Komando-lerroko errorea: %s"
 
-#: ../cli.py:1467
+#: ../cli.py:2079
 #, python-format
 msgid ""
 "\n"
 "\n"
 "%s: %s option requires an argument"
-msgstr ""
-"\n"
-"\n"
-"%s: %s aukerak argumentua behar du"
+msgstr "\n\n%s: %s aukerak argumentua behar du"
 
-#: ../cli.py:1521
+#: ../cli.py:2147
 msgid "--color takes one of: auto, always, never"
 msgstr "--color aukerak hauetako bat hartzen du: auto, always, never"
 
 #. We have a relative installroot ... haha
-#: ../cli.py:1596
+#: ../cli.py:2218
 #, python-format
 msgid "--installroot must be an absolute path: %s"
 msgstr "--installroot-ek bide-izen absolutua izan behar du: %s"
 
-#: ../cli.py:1642
+#: ../cli.py:2272
 msgid "show this help message and exit"
 msgstr "erakutsi laguntza-mezu hau eta irten"
 
-#: ../cli.py:1646
+#: ../cli.py:2276
 msgid "be tolerant of errors"
 msgstr "erroreekiko tolerantea izan"
 
-#: ../cli.py:1649
+#: ../cli.py:2279
 msgid "run entirely from system cache, don't update cache"
 msgstr "exekutatu osorik sistemaren katxetik, ez eguneratu katxea"
 
-#: ../cli.py:1652
+#: ../cli.py:2282
 msgid "config file location"
 msgstr "konfigurazio-fitxategiaren kokapena"
 
-#: ../cli.py:1655
+#: ../cli.py:2285
 msgid "maximum command wait time"
 msgstr "komandoen itxarote-denbora maximoa"
 
-#: ../cli.py:1657
+#: ../cli.py:2287
 msgid "debugging output level"
 msgstr "arazketa-irteeraren maila"
 
-#: ../cli.py:1661
+#: ../cli.py:2291
 msgid "show duplicates, in repos, in list/search commands"
 msgstr "erakutsi bikoiztuak, biltegietan, zerrenda/bilaketa komandoetan"
 
-#: ../cli.py:1663
+#: ../cli.py:2296
 msgid "error output level"
 msgstr "errore-irteeraren maila"
 
-#: ../cli.py:1666
+#: ../cli.py:2299
 msgid "debugging output level for rpm"
 msgstr "arazketa-irteeraren maila rpm-rako"
 
-#: ../cli.py:1669
+#: ../cli.py:2302
 msgid "quiet operation"
 msgstr "eragiketa lasaia"
 
-#: ../cli.py:1671
+#: ../cli.py:2304
 msgid "verbose operation"
 msgstr "eragiketa berritsua"
 
-#: ../cli.py:1673
+#: ../cli.py:2306
 msgid "answer yes for all questions"
 msgstr "erantzun bai galdera guztiei"
 
-#: ../cli.py:1675
+#: ../cli.py:2308
+msgid "answer no for all questions"
+msgstr "erantzun ez galdera guztiei"
+
+#: ../cli.py:2312
 msgid "show Yum version and exit"
 msgstr "erakutsi Yum bertsioa eta irten"
 
-#: ../cli.py:1676
+#: ../cli.py:2313
 msgid "set install root"
 msgstr "ezarri instalazio-erroa"
 
-#: ../cli.py:1680
+#: ../cli.py:2317
 msgid "enable one or more repositories (wildcards allowed)"
 msgstr "gaitu biltegi bat edo gehiago (komodinak onartzen dira)"
 
-#: ../cli.py:1684
+#: ../cli.py:2321
 msgid "disable one or more repositories (wildcards allowed)"
 msgstr "desgaitu biltegi bat edo gehiago (komodinak onartzen dira)"
 
-#: ../cli.py:1687
+#: ../cli.py:2324
 msgid "exclude package(s) by name or glob"
 msgstr "baztertu paketea(k) izenaren edo glob-aren arabera"
 
-#: ../cli.py:1689
+#: ../cli.py:2326
 msgid "disable exclude from main, for a repo or for everything"
 msgstr "desgaitu bazterketa main-etik, biltegi batetik edo denetik"
 
-#: ../cli.py:1692
+#: ../cli.py:2329
 msgid "enable obsoletes processing during updates"
 msgstr "gaitu zaharkituen prozesatzea eguneraketetan"
 
-#: ../cli.py:1694
+#: ../cli.py:2331
 msgid "disable Yum plugins"
 msgstr "desagitu Yum-en pluginak"
 
-#: ../cli.py:1696
+#: ../cli.py:2333
 msgid "disable gpg signature checking"
 msgstr "desgaitu gpg sinaduren egiaztatzea"
 
-#: ../cli.py:1698
+#: ../cli.py:2335
 msgid "disable plugins by name"
 msgstr "desgaitu pluginak izenaren arabera"
 
-#: ../cli.py:1701
+#: ../cli.py:2338
 msgid "enable plugins by name"
 msgstr "gaitu pluginak izenaren arabera"
 
-#: ../cli.py:1704
+#: ../cli.py:2341
 msgid "skip packages with depsolving problems"
 msgstr "saltatu mendekotasun-arazoak dituzten paketeak"
 
-#: ../cli.py:1706
+#: ../cli.py:2343
 msgid "control whether color is used"
 msgstr "kontrolatu kolorea erabiliko den"
 
-#: ../cli.py:1708
+#: ../cli.py:2345
 msgid "set value of $releasever in yum config and repo files"
+msgstr "ezarri $releasever balioa yum-en konfigurazioan eta biltegi-fitxategietan"
+
+#: ../cli.py:2347
+msgid "don't update, just download"
+msgstr ""
+
+#: ../cli.py:2349
+msgid "specifies an alternate directory to store packages"
 msgstr ""
-"ezarri $releasever balioa yum-en konfigurazioan eta biltegi-fitxategietan"
 
-#: ../cli.py:1710
+#: ../cli.py:2351
 msgid "set arbitrary config and repo options"
 msgstr "ezarri konfigurazio- eta biltegi-aukera arbitrarioak"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Jan"
 msgstr "urt."
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Feb"
 msgstr "ots."
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Mar"
 msgstr "mar."
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Apr"
 msgstr "api."
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "May"
 msgstr "mai."
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Jun"
 msgstr "eka."
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Jul"
 msgstr "uzt."
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Aug"
 msgstr "abu."
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Sep"
 msgstr "ira."
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Oct"
 msgstr "urr."
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Nov"
 msgstr "aza."
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Dec"
 msgstr "abe."
 
-#: ../output.py:318
+#: ../output.py:473
 msgid "Trying other mirror."
 msgstr "Beste ispilu bat probatzen."
 
-#: ../output.py:581
+#: ../output.py:816
 #, python-format
 msgid "Name        : %s%s%s"
 msgstr "Izena        : %s%s%s"
 
-#: ../output.py:582
+#: ../output.py:817
 #, python-format
 msgid "Arch        : %s"
 msgstr "Arkitektura        : %s"
 
-#: ../output.py:584
+#: ../output.py:819
 #, python-format
 msgid "Epoch       : %s"
 msgstr "Garaia       : %s"
 
-#: ../output.py:585
+#: ../output.py:820
 #, python-format
 msgid "Version     : %s"
 msgstr "Bertsioa     : %s"
 
-#: ../output.py:586
+#: ../output.py:821
 #, python-format
 msgid "Release     : %s"
 msgstr "Argitalpena     : %s"
 
-#: ../output.py:587
+#: ../output.py:822
 #, python-format
 msgid "Size        : %s"
 msgstr "Tamaina        : %s"
 
-#: ../output.py:588 ../output.py:900
+#: ../output.py:823 ../output.py:1329
 #, python-format
 msgid "Repo        : %s"
 msgstr "Biltegia        : %s"
 
-#: ../output.py:590
+#: ../output.py:825
 #, python-format
 msgid "From repo   : %s"
 msgstr "Biltegitik   : %s"
 
-#: ../output.py:592
+#: ../output.py:827
 #, python-format
 msgid "Committer   : %s"
 msgstr "Bidaltzailea   : %s"
 
-#: ../output.py:593
+#: ../output.py:828
 #, python-format
 msgid "Committime  : %s"
 msgstr "Bidaltze-data  : %s"
 
-#: ../output.py:594
+#: ../output.py:829
 #, python-format
 msgid "Buildtime   : %s"
 msgstr "Eraikitze-data   : %s"
 
-#: ../output.py:596
+#: ../output.py:831
 #, python-format
 msgid "Install time: %s"
 msgstr "Instalazio-ordua: %s"
 
-#: ../output.py:604
+#: ../output.py:839
 #, python-format
 msgid "Installed by: %s"
 msgstr "Instalatzailea: %s"
 
-#: ../output.py:611
+#: ../output.py:846
 #, python-format
 msgid "Changed by  : %s"
 msgstr "Aldatzailea: %s"
 
-#: ../output.py:612
+#: ../output.py:847
 msgid "Summary     : "
 msgstr "Laburpena    : "
 
-#: ../output.py:614 ../output.py:913
+#: ../output.py:849 ../output.py:1345
 #, python-format
 msgid "URL         : %s"
 msgstr "URLa        : %s"
 
-#: ../output.py:615
+#: ../output.py:850
 msgid "License     : "
 msgstr "Lizentzia     : "
 
-#: ../output.py:616 ../output.py:910
+#: ../output.py:851 ../output.py:1342
 msgid "Description : "
 msgstr "Deskribapena: "
 
-#: ../output.py:684
+#: ../output.py:969
 msgid "y"
 msgstr "b"
 
-#: ../output.py:684
+#: ../output.py:969
 msgid "yes"
 msgstr "bai"
 
-#: ../output.py:685
+#: ../output.py:970
 msgid "n"
 msgstr "e"
 
-#: ../output.py:685
+#: ../output.py:970
 msgid "no"
 msgstr "ez"
 
-#: ../output.py:689
+#: ../output.py:974
 msgid "Is this ok [y/N]: "
 msgstr "Ados? [b/E]:  "
 
-#: ../output.py:777
+#: ../output.py:1097
 #, python-format
 msgid ""
 "\n"
 "Group: %s"
-msgstr ""
-"\n"
-"Taldea: %s"
+msgstr "\nTaldea: %s"
 
-#: ../output.py:781
+#: ../output.py:1101
 #, python-format
 msgid " Group-Id: %s"
 msgstr " Talde-IDa: %s"
 
-#: ../output.py:786
+#: ../output.py:1122 ../output.py:1169
 #, python-format
 msgid " Description: %s"
 msgstr " Deskribapena: %s"
 
-#: ../output.py:788
+#: ../output.py:1124
 #, python-format
 msgid " Language: %s"
 msgstr " Hizkuntza: %s"
 
-#: ../output.py:790
+#: ../output.py:1126
 msgid " Mandatory Packages:"
 msgstr " Derrigorrezko paketeak:"
 
-#: ../output.py:791
+#: ../output.py:1127
 msgid " Default Packages:"
 msgstr " Pakete lehenetsiak:"
 
-#: ../output.py:792
+#: ../output.py:1128
 msgid " Optional Packages:"
 msgstr " Hautazko paketeak:"
 
-#: ../output.py:793
+#: ../output.py:1129
 msgid " Conditional Packages:"
 msgstr " Baldintzapeko paketeak:"
 
-#: ../output.py:814
+#: ../output.py:1147
+msgid " Installed Packages:"
+msgstr " Instalatutako paketeak:"
+
+#: ../output.py:1157
+#, python-format
+msgid ""
+"\n"
+"Environment Group: %s"
+msgstr ""
+
+#: ../output.py:1158
+#, python-format
+msgid " Environment-Id: %s"
+msgstr ""
+
+#: ../output.py:1191
+msgid " Mandatory Groups:"
+msgstr ""
+
+#: ../output.py:1192
+msgid " Optional Groups:"
+msgstr ""
+
+#: ../output.py:1205
+msgid " Installed Groups:"
+msgstr ""
+
+#: ../output.py:1217
 #, python-format
 msgid "package: %s"
 msgstr "paketea: %s"
 
-#: ../output.py:816
+#: ../output.py:1219
 msgid "  No dependencies for this package"
 msgstr "  Ez dago mendekotasunik pakete honetarako"
 
-#: ../output.py:821
+#: ../output.py:1224
 #, python-format
 msgid "  dependency: %s"
 msgstr "  mendekotasuna: %s"
 
-#: ../output.py:823
+#: ../output.py:1226
 msgid "   Unsatisfied dependency"
 msgstr "   Bete gabeko mendekotasuna"
 
-#: ../output.py:901
+#: ../output.py:1337
 msgid "Matched from:"
 msgstr "Bat-egitea hemendik:"
 
-#: ../output.py:916
+#: ../output.py:1348
 #, python-format
 msgid "License     : %s"
 msgstr "Lizentzia     : %s"
 
-#: ../output.py:919
+#: ../output.py:1351
 #, python-format
 msgid "Filename    : %s"
 msgstr "Fitxategi-izena    : %s"
 
-#: ../output.py:923
+#: ../output.py:1360
+msgid "Provides    : "
+msgstr "Hornitzen du    : "
+
+#: ../output.py:1363
 msgid "Other       : "
 msgstr "Besterik       : "
 
-#: ../output.py:966
+#: ../output.py:1426
 msgid "There was an error calculating total download size"
 msgstr "Errorea gertatu da deskarga-tamaina osoa kalkulatzean"
 
-#: ../output.py:971
+#: ../output.py:1431
 #, python-format
 msgid "Total size: %s"
 msgstr "Tamaina osoa: %s"
 
-#: ../output.py:974
+#: ../output.py:1433
 #, python-format
 msgid "Total download size: %s"
 msgstr "Deskargaren tamaina osoa: %s"
 
-#: ../output.py:978 ../output.py:998
+#: ../output.py:1436 ../output.py:1459 ../output.py:1463
 #, python-format
 msgid "Installed size: %s"
 msgstr "Tamaina instalatu ondoren: %s"
 
-#: ../output.py:994
+#: ../output.py:1454
 msgid "There was an error calculating installed size"
 msgstr "Errorea gertatu da instalatu ondoren duen tamaina kalkulatzean"
 
-#: ../output.py:1039
+#: ../output.py:1504
 msgid "Reinstalling"
 msgstr "Berrinstalatzen"
 
-#: ../output.py:1040
+#: ../output.py:1505
 msgid "Downgrading"
 msgstr "Bertsio zaharra instalatzen"
 
-#: ../output.py:1041
+#: ../output.py:1506
 msgid "Installing for dependencies"
 msgstr "Mendekotasunengatik instalatzen"
 
-#: ../output.py:1042
+#: ../output.py:1507
 msgid "Updating for dependencies"
 msgstr "Mendekotasunengatik eguneratzen"
 
-#: ../output.py:1043
+#: ../output.py:1508
 msgid "Removing for dependencies"
 msgstr "Mendekotasunengatik kentzen"
 
-#: ../output.py:1050 ../output.py:1171
+#: ../output.py:1515 ../output.py:1576 ../output.py:1672
 msgid "Skipped (dependency problems)"
 msgstr "Saltatu egin da (mendekotasun-arazoak)"
 
-#: ../output.py:1052 ../output.py:1687
+#: ../output.py:1517 ../output.py:1577 ../output.py:2223
 msgid "Not installed"
 msgstr "Ez instalatua"
 
-#: ../output.py:1053
+#: ../output.py:1518 ../output.py:1578
 msgid "Not available"
-msgstr ""
+msgstr "Ez dago eskuragarri"
 
-#: ../output.py:1075 ../output.py:2024
+#: ../output.py:1540 ../output.py:1588 ../output.py:1604 ../output.py:2581
 msgid "Package"
-msgstr "Paketea"
+msgid_plural "Packages"
+msgstr[0] "Pakete"
+msgstr[1] "Pakete"
 
-#: ../output.py:1075
+#: ../output.py:1540
 msgid "Arch"
 msgstr "Arkitektura"
 
-#: ../output.py:1076
+#: ../output.py:1541
 msgid "Version"
 msgstr "Bertsioa"
 
-#: ../output.py:1076
+#: ../output.py:1541
 msgid "Repository"
 msgstr "Biltegia"
 
-#: ../output.py:1077
+#: ../output.py:1542
 msgid "Size"
 msgstr "Tamaina"
 
-#: ../output.py:1089
+#: ../output.py:1554
 #, python-format
 msgid "     replacing  %s%s%s.%s %s\n"
 msgstr "     %s%s%s.%s %s ordezten\n"
 
-#: ../output.py:1098
+#: ../output.py:1563
 #, python-format
 msgid ""
 "\n"
 "Transaction Summary\n"
 "%s\n"
-msgstr ""
-"\n"
-"Transakzio-laburpena\n"
-"%s\n"
+msgstr "\nTransakzio-laburpena\n%s\n"
 
-#: ../output.py:1109
-#, python-format
-msgid "Install   %5.5s Package(s)\n"
-msgstr "Instalatu   %5.5s pakete\n"
+#: ../output.py:1568 ../output.py:2376 ../output.py:2377
+msgid "Install"
+msgstr "Instalatu"
 
-#: ../output.py:1113
-#, python-format
-msgid "Upgrade   %5.5s Package(s)\n"
-msgstr "Eguneratu   %5.5s pakete\n"
+#: ../output.py:1570
+msgid "Upgrade"
+msgstr "Bertsio-berritu"
 
-#: ../output.py:1117
-#, python-format
-msgid "Remove    %5.5s Package(s)\n"
-msgstr "Kendu    %5.5s pakete\n"
+#: ../output.py:1572
+msgid "Remove"
+msgstr "Kendu"
 
-#: ../output.py:1121
-#, python-format
-msgid "Reinstall %5.5s Package(s)\n"
-msgstr "Berrinstalatu   %5.5s pakete\n"
+#: ../output.py:1574 ../output.py:2382
+msgid "Reinstall"
+msgstr "Berrinstalatu"
 
-#: ../output.py:1125
-#, python-format
-msgid "Downgrade %5.5s Package(s)\n"
-msgstr "Instalatu   %5.5s paketeren bertsio zaharragoa\n"
+#: ../output.py:1575 ../output.py:2383
+msgid "Downgrade"
+msgstr "Bertsio zaharra instalatu"
 
-#: ../output.py:1165
+#: ../output.py:1606
+msgid "Dependent package"
+msgid_plural "Dependent packages"
+msgstr[0] "Mendeko pakete"
+msgstr[1] "Mendeko pakete"
+
+#: ../output.py:1666
 msgid "Removed"
 msgstr "Kendua"
 
-#: ../output.py:1166
+#: ../output.py:1667
 msgid "Dependency Removed"
 msgstr "Mendekotasuna kendu da"
 
-#: ../output.py:1168
+#: ../output.py:1669
 msgid "Dependency Installed"
 msgstr "Mendekotasuna instalatu da"
 
-#: ../output.py:1170
+#: ../output.py:1671
 msgid "Dependency Updated"
 msgstr "Mendekotasuna eguneratu da"
 
-#: ../output.py:1172
+#: ../output.py:1673
 msgid "Replaced"
 msgstr "Ordezkatua"
 
-#: ../output.py:1173
+#: ../output.py:1674
 msgid "Failed"
 msgstr "Huts egin du"
 
 #. Delta between C-c's so we treat as exit
-#: ../output.py:1260
+#: ../output.py:1764
 msgid "two"
 msgstr "bi"
 
 #. For translators: This is output like:
 #. Current download cancelled, interrupt (ctrl-c) again within two seconds
 #. to exit.
-#. Where "interupt (ctrl-c) again" and "two" are highlighted.
-#: ../output.py:1271
+#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
+#: ../output.py:1775
 #, python-format
 msgid ""
 "\n"
 " Current download cancelled, %sinterrupt (ctrl-c) again%s within %s%s%s seconds\n"
 "to exit.\n"
-msgstr ""
-"\n"
-" Uneko deskarga bertan behera utzi da, %sinterrupt (ktrl-c) berriro%s  %s%s%s segundotan\n"
+msgstr "\n Uneko deskarga bertan behera utzi da, %sinterrupt (ktrl-c) berriro%s  %s%s%s segundotan\n"
 
-#: ../output.py:1282
+#: ../output.py:1786
 msgid "user interrupt"
 msgstr "erabiltzaileak utzia"
 
-#: ../output.py:1300
+#: ../output.py:1812
 msgid "Total"
 msgstr "Guztira"
 
-#: ../output.py:1322
+#: ../output.py:1834
 msgid "I"
 msgstr "I"
 
-#: ../output.py:1323
+#: ../output.py:1835
 msgid "O"
 msgstr "O"
 
-#: ../output.py:1324
+#: ../output.py:1836
 msgid "E"
 msgstr "E"
 
-#: ../output.py:1325
+#: ../output.py:1837
 msgid "R"
 msgstr "R"
 
-#: ../output.py:1326
+#: ../output.py:1838
 msgid "D"
 msgstr "D"
 
-#: ../output.py:1327
+#: ../output.py:1839
 msgid "U"
 msgstr "U"
 
-#: ../output.py:1341
+#: ../output.py:1853
 msgid "<unset>"
 msgstr "<ezarri gabea>"
 
-#: ../output.py:1342
+#: ../output.py:1854
 msgid "System"
 msgstr "Sistema"
 
-#: ../output.py:1411
+#: ../output.py:1923
 #, python-format
 msgid "Skipping merged transaction %d to %d, as it overlaps"
 msgstr "Batutako %d transakzioa %d-ra saltatzen, teilakatu egiten baitira"
 
-#: ../output.py:1421 ../output.py:1592
+#: ../output.py:1933 ../output.py:2125
 msgid "No transactions"
 msgstr "Ez dago transakziorik"
 
-#: ../output.py:1446 ../output.py:2013
+#: ../output.py:1958 ../output.py:2570 ../output.py:2660
 msgid "Bad transaction IDs, or package(s), given"
 msgstr "Transakzio-ID, edo pakete, okerra(k) eman dira"
 
-#: ../output.py:1484
+#: ../output.py:2007
 msgid "Command line"
 msgstr "Komando-lerroa"
 
-#: ../output.py:1486 ../output.py:1908
+#: ../output.py:2009 ../output.py:2458
 msgid "Login user"
 msgstr "Saioa hasteko erabiltzailea"
 
 #. REALLY Needs to use columns!
-#: ../output.py:1487 ../output.py:2022
+#: ../output.py:2010 ../output.py:2579
 msgid "ID"
 msgstr "IDa"
 
-#: ../output.py:1489
+#: ../output.py:2012
 msgid "Date and time"
 msgstr "Data eta ordua"
 
-#: ../output.py:1490 ../output.py:1910 ../output.py:2023
+#: ../output.py:2013 ../output.py:2460 ../output.py:2580
 msgid "Action(s)"
 msgstr "Ekintza(k)"
 
-#: ../output.py:1491 ../output.py:1911
+#: ../output.py:2014 ../output.py:2461
 msgid "Altered"
 msgstr "Aldatua"
 
-#: ../output.py:1538
+#: ../output.py:2061
 msgid "No transaction ID given"
 msgstr "Ez da transakzio-IDrik eman"
 
-#: ../output.py:1564 ../output.py:1972
+#: ../output.py:2087 ../output.py:2526
 msgid "Bad transaction ID given"
 msgstr "Transakzio-ID okerra eman da"
 
-#: ../output.py:1569
+#: ../output.py:2092
 msgid "Not found given transaction ID"
 msgstr "Ez da aurkitu emandako transakzio-IDarekin"
 
-#: ../output.py:1577
+#: ../output.py:2100
 msgid "Found more than one transaction ID!"
 msgstr "Transakzio-ID bat baino gehiago aurkitu da!"
 
-#: ../output.py:1618 ../output.py:1980
+#: ../output.py:2151 ../output.py:2534
 msgid "No transaction ID, or package, given"
 msgstr "Ez da transakzio-IDrik, edo paketerik, eman"
 
-#: ../output.py:1686 ../output.py:1845
+#: ../output.py:2222 ../output.py:2384
 msgid "Downgraded"
 msgstr "Bertsio zaharra instalatua"
 
-#: ../output.py:1688
+#: ../output.py:2224
 msgid "Older"
 msgstr "Zaharragoa"
 
-#: ../output.py:1688
+#: ../output.py:2224
 msgid "Newer"
 msgstr "Berriagoa"
 
-#: ../output.py:1724 ../output.py:1726
+#: ../output.py:2261 ../output.py:2263 ../output.py:2681
 msgid "Transaction ID :"
 msgstr "Transakzio-IDa :"
 
-#: ../output.py:1728
+#: ../output.py:2265 ../output.py:2683
 msgid "Begin time     :"
 msgstr "Hasiera-ordua     :"
 
-#: ../output.py:1731 ../output.py:1733
+#: ../output.py:2268 ../output.py:2270
 msgid "Begin rpmdb    :"
 msgstr "Hasierako rpmdb-a    :"
 
-#: ../output.py:1749
+#: ../output.py:2286
 #, python-format
 msgid "(%u seconds)"
 msgstr "(%u segundo)"
 
-#: ../output.py:1751
+#: ../output.py:2288
 #, python-format
 msgid "(%u minutes)"
 msgstr "(%u minutu)"
 
-#: ../output.py:1753
+#: ../output.py:2290
 #, python-format
 msgid "(%u hours)"
 msgstr "(%u ordu)"
 
-#: ../output.py:1755
+#: ../output.py:2292
 #, python-format
 msgid "(%u days)"
 msgstr "(%u egun)"
 
-#: ../output.py:1756
+#: ../output.py:2293
 msgid "End time       :"
 msgstr "Amaiera-ordua       :"
 
-#: ../output.py:1759 ../output.py:1761
+#: ../output.py:2296 ../output.py:2298
 msgid "End rpmdb      :"
 msgstr "Amaierako rpmdb-a      :"
 
-#: ../output.py:1764 ../output.py:1766
+#: ../output.py:2301 ../output.py:2303
 msgid "User           :"
 msgstr "Erabiltzailea           :"
 
-#: ../output.py:1770 ../output.py:1773 ../output.py:1775 ../output.py:1777
-#: ../output.py:1779
+#: ../output.py:2307 ../output.py:2310 ../output.py:2312 ../output.py:2314
+#: ../output.py:2316
 msgid "Return-Code    :"
 msgstr "Itzulera-kodea    :"
 
-#: ../output.py:1770 ../output.py:1775
+#: ../output.py:2307 ../output.py:2312
 msgid "Aborted"
 msgstr "Abortatua"
 
-#: ../output.py:1773
+#: ../output.py:2310
 msgid "Failures:"
 msgstr "Hutsegiteak:"
 
-#: ../output.py:1777
+#: ../output.py:2314
 msgid "Failure:"
 msgstr "Hutsegitea:"
 
-#: ../output.py:1779
+#: ../output.py:2316
 msgid "Success"
 msgstr "Arrakasta"
 
-#: ../output.py:1784 ../output.py:1786
+#: ../output.py:2321 ../output.py:2323 ../output.py:2712
 msgid "Command Line   :"
 msgstr "Komando-lerroa   :"
 
-#: ../output.py:1795
+#: ../output.py:2332
 #, python-format
 msgid "Additional non-default information stored: %d"
 msgstr "Informazio gehigarri ez-lehenetsia gorde da: %d"
 
 #. This is _possible_, but not common
-#: ../output.py:1800
+#: ../output.py:2337
 msgid "Transaction performed with:"
 msgstr "Transakzioa honekin burutu da:"
 
-#: ../output.py:1804
+#: ../output.py:2341
 msgid "Packages Altered:"
 msgstr "Aldatutako paketeak:"
 
-#: ../output.py:1808
+#: ../output.py:2345
 msgid "Packages Skipped:"
 msgstr "Saltatutako paketeak:"
 
-#: ../output.py:1814
+#: ../output.py:2353
 msgid "Rpmdb Problems:"
 msgstr "Rpmdb-arazoak:"
 
-#: ../output.py:1825
+#: ../output.py:2364
 msgid "Scriptlet output:"
 msgstr "Scriptlet-irteera:"
 
-#: ../output.py:1831
+#: ../output.py:2370
 msgid "Errors:"
 msgstr "Erroreak:"
 
-#: ../output.py:1837 ../output.py:1838
-msgid "Install"
-msgstr "Instalatu"
-
-#: ../output.py:1839
+#: ../output.py:2378
 msgid "Dep-Install"
 msgstr "Mendekotasunak instalatu"
 
-#: ../output.py:1841
+#: ../output.py:2380
 msgid "Obsoleting"
 msgstr "Zaharkitutzat hartzen"
 
-#: ../output.py:1842
+#: ../output.py:2381
 msgid "Erase"
 msgstr "Ezabatu"
 
-#: ../output.py:1843
-msgid "Reinstall"
-msgstr "Berrinstalatu"
-
-#: ../output.py:1844
-msgid "Downgrade"
-msgstr "Bertsio zaharra instalatu"
-
-#: ../output.py:1846
+#: ../output.py:2385
 msgid "Update"
 msgstr "Eguneratu"
 
-#: ../output.py:1909
+#: ../output.py:2459
 msgid "Time"
 msgstr "Noiz"
 
-#: ../output.py:1935
+#: ../output.py:2485
 msgid "Last day"
 msgstr "Azken eguna"
 
-#: ../output.py:1936
+#: ../output.py:2486
 msgid "Last week"
 msgstr "Azken astea"
 
-#: ../output.py:1937
+#: ../output.py:2487
 msgid "Last 2 weeks"
 msgstr "Azken 2 asteak"
 
 #. US default :p
-#: ../output.py:1938
+#: ../output.py:2488
 msgid "Last 3 months"
 msgstr "Azken 3 hilabeteak"
 
-#: ../output.py:1939
+#: ../output.py:2489
 msgid "Last 6 months"
 msgstr "Azken 6 hilabeteak"
 
-#: ../output.py:1940
+#: ../output.py:2490
 msgid "Last year"
 msgstr "Azken urtea"
 
-#: ../output.py:1941
+#: ../output.py:2491
 msgid "Over a year ago"
 msgstr "Duela urtebete inguru"
 
-#: ../output.py:1984
+#: ../output.py:2538
 #, python-format
 msgid "No Transaction %s found"
 msgstr "Ez da %s transakziorik aurkitu"
 
-#: ../output.py:1990
+#: ../output.py:2544
 msgid "Transaction ID:"
 msgstr "Transakzioaren IDa:"
 
-#: ../output.py:1991
+#: ../output.py:2545
 msgid "Available additional history information:"
 msgstr "Historia-informazio gehigarria eskuragarri:"
 
-#: ../output.py:2003
+#: ../output.py:2558
 #, python-format
 msgid "%s: No additional data found by this name"
 msgstr "%s: Ez da datu gehigarririk aurkitu izen horrekin"
 
-#: ../output.py:2106
+#: ../output.py:2684
+msgid "Package        :"
+msgstr "Paketea        :"
+
+#: ../output.py:2685
+msgid "State          :"
+msgstr "Egoera          :"
+
+#: ../output.py:2688
+msgid "Size           :"
+msgstr "Tamaina        :"
+
+#: ../output.py:2690
+msgid "Build host     :"
+msgstr "Eraikitze-ostalaria :"
+
+#: ../output.py:2693
+msgid "Build time     :"
+msgstr "Eraikitze-ordua :"
+
+#: ../output.py:2695
+msgid "Packager       :"
+msgstr "Paketatzailea  :"
+
+#: ../output.py:2697
+msgid "Vendor         :"
+msgstr "Hornitzailea   :"
+
+#: ../output.py:2699
+msgid "License        :"
+msgstr "Lizentzia      :"
+
+#: ../output.py:2701
+msgid "URL            :"
+msgstr "URLa           :"
+
+#: ../output.py:2703
+msgid "Source RPM     :"
+msgstr "Jatorrizko RPMa :"
+
+#: ../output.py:2706
+msgid "Commit Time    :"
+msgstr "Egikaritze-ordua :"
+
+#: ../output.py:2708
+msgid "Committer      :"
+msgstr "Bidaltzailea   :"
+
+#: ../output.py:2710
+msgid "Reason         :"
+msgstr "Arrazoia       :"
+
+#: ../output.py:2714
+msgid "From repo      :"
+msgstr "Biltegi honetatik :"
+
+#: ../output.py:2718
+msgid "Installed by   :"
+msgstr "Instalatzailea  :"
+
+#: ../output.py:2722
+msgid "Changed by     :"
+msgstr "Aldatzailea    :"
+
+#: ../output.py:2767
 msgid "installed"
-msgstr "instalatua"
+msgstr "instalatu"
 
-#: ../output.py:2107
+#: ../output.py:2768
 msgid "an update"
 msgstr "eguneraketa bat"
 
-#: ../output.py:2108
+#: ../output.py:2769
 msgid "erased"
-msgstr "ezabatua"
+msgstr "ezabatu"
 
-#: ../output.py:2109
+#: ../output.py:2770
 msgid "reinstalled"
-msgstr "berrinstalatua"
+msgstr "berrinstalatu"
 
-#: ../output.py:2110
+#: ../output.py:2771
 msgid "a downgrade"
-msgstr "bertsio-zahartze bat"
+msgstr "bertsio-zahartu"
 
-#: ../output.py:2111
+#: ../output.py:2772
 msgid "obsoleting"
 msgstr "zaharkitzen"
 
-#: ../output.py:2112
+#: ../output.py:2773
 msgid "updated"
 msgstr "eguneratua"
 
-#: ../output.py:2113
+#: ../output.py:2774
 msgid "obsoleted"
-msgstr "zaharkitua"
+msgstr "zaharkitu"
 
-#: ../output.py:2117
+#: ../output.py:2778
 #, python-format
 msgid "---> Package %s.%s %s:%s-%s will be %s"
 msgstr "---> %s.%s %s:%s-%s paketea %s egingo da"
 
-#: ../output.py:2124
+#: ../output.py:2789
 msgid "--> Running transaction check"
 msgstr "--> Transakzio-egiaztapena exekutatzen"
 
-#: ../output.py:2129
+#: ../output.py:2795
 msgid "--> Restarting Dependency Resolution with new changes."
 msgstr "--> Mendekotasun-ebazpena berrabiarazten aldaketa berriekin."
 
-#: ../output.py:2134
+#: ../output.py:2801
 msgid "--> Finished Dependency Resolution"
 msgstr "--> Amaitu da mendekotasunen ebazpena"
 
-#: ../output.py:2139 ../output.py:2144
+#: ../output.py:2814 ../output.py:2827
 #, python-format
 msgid "--> Processing Dependency: %s for package: %s"
 msgstr "--> Mendekotasuna prozesatzen: %s %s paketerako"
 
-#: ../output.py:2149
+#: ../output.py:2841
 #, python-format
-msgid "---> Keeping package: %s"
-msgstr "---> Paketea mantentzen: %s"
+msgid "---> Keeping package: %s due to %s"
+msgstr ""
 
-#: ../output.py:2152
+#: ../output.py:2850
 #, python-format
 msgid "--> Unresolved Dependency: %s"
 msgstr "--> Ebatzi gabeko mendekotasuna: %s"
 
-#: ../output.py:2163
+#: ../output.py:2867
 #, python-format
 msgid "Package: %s"
 msgstr "Paketea: %s"
 
-#: ../output.py:2165
+#: ../output.py:2869
 #, python-format
 msgid ""
 "\n"
 "    Requires: %s"
-msgstr ""
-"\n"
-"    Behar du: %s"
+msgstr "\n    Behar du: %s"
 
-#: ../output.py:2174
+#: ../output.py:2878
 #, python-format
 msgid ""
 "\n"
 "    %s: %s (%s)"
-msgstr ""
-"\n"
-"    %s: %s (%s)"
+msgstr "\n    %s: %s (%s)"
 
-#: ../output.py:2179
+#: ../output.py:2883
 #, python-format
 msgid ""
 "\n"
 "        %s"
-msgstr ""
-"\n"
-"        %s"
+msgstr "\n        %s"
 
-#: ../output.py:2181
+#: ../output.py:2885
 msgid ""
 "\n"
 "        Not found"
-msgstr ""
-"\n"
-"        Ez da aurkitu"
+msgstr "\n        Ez da aurkitu"
 
 #. These should be the only three things we care about:
-#: ../output.py:2196
+#: ../output.py:2900
 msgid "Updated By"
 msgstr "Eguneratu duena"
 
-#: ../output.py:2197
+#: ../output.py:2901
 msgid "Downgraded By"
 msgstr "Bertsio zaharra hobetsi duena"
 
-#: ../output.py:2198
+#: ../output.py:2902
 msgid "Obsoleted By"
 msgstr "Zaharkitutzat hartu duena"
 
-#: ../output.py:2216
+#: ../output.py:2920
 msgid "Available"
 msgstr "Eskuragarri"
 
-#: ../output.py:2243 ../output.py:2248
+#: ../output.py:2955 ../output.py:2968
 #, python-format
 msgid "--> Processing Conflict: %s conflicts %s"
 msgstr "--> Gatazka prozesatzen: %s-(e)k gatazka du %s-(e)kin"
 
-#: ../output.py:2252
+#: ../output.py:2974
 msgid "--> Populating transaction set with selected packages. Please wait."
-msgstr ""
-"--> Transakzio-multzoa sortzen hautatutako paketeekin. Itxaron mesedez."
+msgstr "--> Transakzio-multzoa sortzen hautatutako paketeekin. Itxaron mesedez."
 
-#: ../output.py:2256
+#: ../output.py:2983
 #, python-format
 msgid "---> Downloading header for %s to pack into transaction set."
-msgstr ""
-"---> Goiburua deskargatzen %s-(e)rako, transakzio-multzoan sartua izan "
-"dadin."
+msgstr "---> Goiburua deskargatzen %s-(e)rako, transakzio-multzoan sartua izan dadin."
+
+#. self.event(txmbr.name, count, len(base.tsInfo), count, )
+#. (te_current*100L)/te_total
+#: ../output.py:3248
+msgid "Verifying"
+msgstr "Egiaztatzen"
 
-#: ../utils.py:99
+#: ../utils.py:123
 msgid "Running"
 msgstr "Exekutatzen"
 
-#: ../utils.py:100
+#: ../utils.py:124
 msgid "Sleeping"
 msgstr "Lotan"
 
-#: ../utils.py:101
+#: ../utils.py:125
 msgid "Uninterruptible"
 msgstr "Ezin da eten"
 
-#: ../utils.py:102
+#: ../utils.py:126
 msgid "Zombie"
 msgstr "Zonbia"
 
-#: ../utils.py:103
+#: ../utils.py:127
 msgid "Traced/Stopped"
 msgstr "Aztarnatua/Gelditua"
 
-#: ../utils.py:104 ../yumcommands.py:994
+#: ../utils.py:128 ../yumcommands.py:2193
 msgid "Unknown"
 msgstr "Ezezaguna"
 
-#: ../utils.py:115
+#: ../utils.py:153
 msgid "  The other application is: PackageKit"
 msgstr "  Beste aplikazioa PackageKit da"
 
-#: ../utils.py:117
+#: ../utils.py:155
 #, python-format
 msgid "  The other application is: %s"
 msgstr "  Beste aplikazioa %s da"
 
-#: ../utils.py:120
+#: ../utils.py:158
 #, python-format
 msgid "    Memory : %5s RSS (%5sB VSZ)"
 msgstr "    Memoria: %5s RSS (%5sB VSZ)"
 
-#: ../utils.py:125
+#: ../utils.py:163
 #, python-format
 msgid "    Started: %s - %s ago"
 msgstr "    Hasiera: %s - duela %s"
 
-#: ../utils.py:127
+#: ../utils.py:165
 #, python-format
 msgid "    State  : %s, pid: %d"
 msgstr "    Egoera  : %s, pid: %d"
 
-#: ../utils.py:170 ../yummain.py:43
+#: ../utils.py:194 ../yummain.py:43
 msgid ""
 "\n"
 "\n"
 "Exiting on user cancel"
-msgstr ""
-"\n"
-"\n"
-"Irteten erabiltzaileak bertan behera utzi duelako"
+msgstr "\n\nIrteten erabiltzaileak bertan behera utzi duelako"
 
-#: ../utils.py:176 ../yummain.py:49
+#: ../utils.py:206 ../yummain.py:49
 msgid ""
 "\n"
 "\n"
 "Exiting on Broken Pipe"
-msgstr ""
-"\n"
-"\n"
-"Irteten kanalizazio hautsiagatik"
+msgstr "\n\nIrteten kanalizazio hautsiagatik"
 
-#: ../utils.py:178 ../yummain.py:51
+#: ../utils.py:208 ../yummain.py:51
 #, python-format
 msgid ""
 "\n"
 "\n"
 "%s"
-msgstr ""
-"\n"
-"\n"
-"%s"
+msgstr "\n\n%s"
 
-#: ../utils.py:228 ../yummain.py:123
-msgid ""
-"Another app is currently holding the yum lock; exiting as configured by "
-"exit_on_lock"
-msgstr ""
-"Beste aplikazio batek yum blokeatuta dauka; irteten exit_on_lock-en "
-"konfiguratuta dagoenari kasu eginez"
-
-#: ../utils.py:287
+#: ../utils.py:326
 #, python-format
 msgid "PluginExit Error: %s"
 msgstr "PluginExit errorea: %s"
 
-#: ../utils.py:290
+#: ../utils.py:329
 #, python-format
 msgid "Yum Error: %s"
 msgstr "Yum errorea: %s"
 
-#: ../utils.py:342 ../yummain.py:150 ../yummain.py:189
+#: ../utils.py:387 ../yummain.py:147 ../yummain.py:186
 #, python-format
 msgid "Error: %s"
 msgstr "Errorea: %s"
 
-#: ../utils.py:346 ../yummain.py:194
+#: ../utils.py:391 ../yummain.py:191
 msgid " You could try using --skip-broken to work around the problem"
 msgstr " --skip-broken erabiltzen saia zaitezke arazoa saihesteko"
 
-#: ../utils.py:348 ../yummain.py:87
+#: ../utils.py:393 ../yummain.py:87
 msgid " You could try running: rpm -Va --nofiles --nodigest"
 msgstr " rpm -Va --nofiles --nodigest exekutatzen saia zaitezke"
 
-#: ../utils.py:355 ../yummain.py:160 ../yummain.py:202
+#: ../utils.py:400 ../yummain.py:157 ../yummain.py:199
 #, python-format
 msgid "Unknown Error(s): Exit Code: %d:"
 msgstr "Errore ezezaguna(k): Irteera-kodea: %d:"
 
-#: ../utils.py:361 ../yummain.py:208
+#: ../utils.py:406 ../yummain.py:205
 msgid ""
 "\n"
 "Dependencies Resolved"
-msgstr ""
-"\n"
-"Mendekotasunak ebatzi dira"
+msgstr "\nMendekotasunak ebatzi dira"
 
-#: ../utils.py:376 ../yummain.py:234
+#: ../utils.py:422 ../yummain.py:237
 msgid "Complete!"
 msgstr "Osatua!"
 
@@ -1521,7 +1652,7 @@ msgstr " Mini erabilera:\n"
 msgid "You need to be root to perform this command."
 msgstr "Erroa izan behar duzu komando hau exekutatzeko."
 
-#: ../yumcommands.py:59
+#: ../yumcommands.py:67
 msgid ""
 "\n"
 "You have enabled checking of packages via GPG keys. This is a good thing. \n"
@@ -1536,585 +1667,650 @@ msgid ""
 "will install it for you.\n"
 "\n"
 "For more information contact your distribution or package provider.\n"
-msgstr ""
-"\n"
-"Paketeak GPG gakoen bidez egiazta daitezen gaitu duzu. Hori ongi dago. \n"
-"Hala ere, ez daukazu GPG gako publikorik instalatuta. Instalatu nahi dituzun paketeen\n"
-"gakoak deskargatu behar dituzu eta ondoren instalazioa burutu.\n"
-"Hori egiteko, hurrengo komandoa exekuta dezakezu:\n"
-"    rpm --import public.gpg.key\n"
-"\n"
-"\n"
-"Bestela, biltegi baterako erabili nahiko zenukeen gakoaren URLa zehatz dezakezu biltegi-atalaren 'gpgkey' aukeran eta yum-ek zugatik instalatuko du.\n"
-"\n"
-"Informazio gehiagorako, jarri harremanetan zure banaketa- edo pakete-hornitzailearekin.\n"
+msgstr "\nPaketeak GPG gakoen bidez egiazta daitezen gaitu duzu. Hori ongi dago. \nHala ere, ez daukazu GPG gako publikorik instalatuta. Instalatu nahi dituzun paketeen\ngakoak deskargatu behar dituzu eta ondoren instalazioa burutu.\nHori egiteko, hurrengo komandoa exekuta dezakezu:\n    rpm --import public.gpg.key\n\n\nBestela, biltegi baterako erabili nahiko zenukeen gakoaren URLa zehatz dezakezu biltegi-atalaren 'gpgkey' aukeran eta yum-ek zugatik instalatuko du.\n\nInformazio gehiagorako, jarri harremanetan zure banaketa- edo pakete-hornitzailearekin.\n"
 
-#: ../yumcommands.py:74
+#: ../yumcommands.py:82
 #, python-format
 msgid "Problem repository: %s"
-msgstr ""
+msgstr "Arazoa duen biltegia:  %s"
 
-#: ../yumcommands.py:80
+#: ../yumcommands.py:96
 #, python-format
 msgid "Error: Need to pass a list of pkgs to %s"
 msgstr "Errorea: Pkgs-en zerrenda bat pasatu behar zaio %s-(e)ri"
 
-#: ../yumcommands.py:86
+#: ../yumcommands.py:114
+#, python-format
+msgid "Error: Need at least two packages to %s"
+msgstr ""
+
+#: ../yumcommands.py:129
+#, python-format
+msgid "Error: Need to pass a repoid. and command to %s"
+msgstr ""
+
+#: ../yumcommands.py:136 ../yumcommands.py:142
+#, python-format
+msgid "Error: Need to pass a single valid repoid. to %s"
+msgstr ""
+
+#: ../yumcommands.py:147
+#, python-format
+msgid "Error: Repo %s is not enabled"
+msgstr ""
+
+#: ../yumcommands.py:164
 msgid "Error: Need an item to match"
 msgstr "Errorea: Bat datorren elementu bat behar da"
 
-#: ../yumcommands.py:92
+#: ../yumcommands.py:178
 msgid "Error: Need a group or list of groups"
 msgstr "Errorea: Talde bat edo taldeen zerrenda bat behar da"
 
-#: ../yumcommands.py:101
+#: ../yumcommands.py:195
 #, python-format
 msgid "Error: clean requires an option: %s"
 msgstr "Errorea: Garbiketak aukera bat behar du: %s"
 
-#: ../yumcommands.py:106
+#: ../yumcommands.py:201
 #, python-format
 msgid "Error: invalid clean argument: %r"
 msgstr "Errorea: baliogabeko garbiketa-argumentua: %r"
 
-#: ../yumcommands.py:119
+#: ../yumcommands.py:216
 msgid "No argument to shell"
 msgstr "Ez dago argumenturik shell-arentzako "
 
-#: ../yumcommands.py:121
+#: ../yumcommands.py:218
 #, python-format
 msgid "Filename passed to shell: %s"
 msgstr "Shell-ari pasatutako fitxategi-izena: %s"
 
-#: ../yumcommands.py:125
+#: ../yumcommands.py:222
 #, python-format
 msgid "File %s given as argument to shell does not exist."
 msgstr "Shell-ari argumentu gisa emandako %s fitxategia ez da existitzen."
 
-#: ../yumcommands.py:131
+#: ../yumcommands.py:228
 msgid "Error: more than one file given as argument to shell."
-msgstr ""
-"Errorea: fitxategi bat baino gehiago eman zaio shell-ari argumentu gisa."
+msgstr "Errorea: fitxategi bat baino gehiago eman zaio shell-ari argumentu gisa."
 
-#: ../yumcommands.py:148
+#: ../yumcommands.py:247
 msgid ""
 "There are no enabled repos.\n"
 " Run \"yum repolist all\" to see the repos you have.\n"
 " You can enable repos with yum-config-manager --enable <repo>"
-msgstr ""
-"Ez dago biltegirik gaituta.\n"
-" Exekutatu \"yum repolist all\" dauzkazun biltegiak ikusteko.\n"
-" Biltegiak gaitzeko, yum-config-manager --enable <biltegia> erabil dezakezu"
+msgstr "Ez dago biltegirik gaituta.\n Exekutatu \"yum repolist all\" dauzkazun biltegiak ikusteko.\n Biltegiak gaitzeko, yum-config-manager --enable <biltegia> erabil dezakezu"
 
-#: ../yumcommands.py:200
+#: ../yumcommands.py:383
 msgid "PACKAGE..."
 msgstr "PAKETEA..."
 
-#: ../yumcommands.py:203
+#: ../yumcommands.py:390
 msgid "Install a package or packages on your system"
 msgstr "Instalatu pakete bat edo gehiago zure sisteman"
 
-#: ../yumcommands.py:212
+#: ../yumcommands.py:421
 msgid "Setting up Install Process"
 msgstr "Instalazio-prozesua konfiguratzen"
 
-#: ../yumcommands.py:223 ../yumcommands.py:245
+#: ../yumcommands.py:447 ../yumcommands.py:507
 msgid "[PACKAGE...]"
 msgstr "[PAKETEA...]"
 
-#: ../yumcommands.py:226
+#: ../yumcommands.py:454
 msgid "Update a package or packages on your system"
 msgstr "Eguneratu zure sistemako pakete bat edo gehiago"
 
-#: ../yumcommands.py:234
+#: ../yumcommands.py:483
 msgid "Setting up Update Process"
 msgstr "Eguneraketa-prozesua konfiguratzen"
 
-#: ../yumcommands.py:248
+#: ../yumcommands.py:514
 msgid "Synchronize installed packages to the latest available versions"
-msgstr ""
-"Sinkronizatu instalatutako paketeak eskuragarri dauden azken bertsioetara"
+msgstr "Sinkronizatu instalatutako paketeak eskuragarri dauden azken bertsioetara"
 
-#: ../yumcommands.py:256
+#: ../yumcommands.py:543
 msgid "Setting up Distribution Synchronization Process"
 msgstr "Banaketaren sinkronizazio-prozesua konfiguratzen"
 
-#: ../yumcommands.py:299
+#: ../yumcommands.py:603
 msgid "Display details about a package or group of packages"
 msgstr "Erakutsi pakete bati edo pakete-multzo bati buruzko xehetasunak"
 
-#: ../yumcommands.py:348
+#: ../yumcommands.py:672
 msgid "Installed Packages"
 msgstr "Instalatutako paketeak"
 
-#: ../yumcommands.py:356
+#: ../yumcommands.py:682
 msgid "Available Packages"
 msgstr "Pakete eskuragarriak"
 
-#: ../yumcommands.py:360
+#: ../yumcommands.py:687
 msgid "Extra Packages"
 msgstr "Pakete gehigarriak"
 
-#: ../yumcommands.py:364
+#: ../yumcommands.py:691
 msgid "Updated Packages"
 msgstr "Eguneratutako paketeak"
 
 #. This only happens in verbose mode
-#: ../yumcommands.py:372 ../yumcommands.py:379 ../yumcommands.py:667
+#: ../yumcommands.py:699 ../yumcommands.py:706 ../yumcommands.py:1539
 msgid "Obsoleting Packages"
 msgstr "Paketeak zaharkitutzat hartzen"
 
-#: ../yumcommands.py:381
+#: ../yumcommands.py:708
 msgid "Recently Added Packages"
 msgstr "Berriki gehitutako paketeak"
 
-#: ../yumcommands.py:388
+#: ../yumcommands.py:715
 msgid "No matching Packages to list"
 msgstr "Ez dago bat datorren paketerik zerrendatzeko"
 
-#: ../yumcommands.py:402
+#: ../yumcommands.py:766
 msgid "List a package or groups of packages"
 msgstr "Zerrendatu pakete bat edo pakete-multzo bat"
 
-#: ../yumcommands.py:414
+#: ../yumcommands.py:797
 msgid "Remove a package or packages from your system"
 msgstr "Kendu pakete bat edo gehiago zure sistematik"
 
-#: ../yumcommands.py:421
+#: ../yumcommands.py:845
 msgid "Setting up Remove Process"
 msgstr "Kentze-prozesua konfiguratzen"
 
-#: ../yumcommands.py:435
+#: ../yumcommands.py:906
+msgid "Display, or use, the groups information"
+msgstr "Erakutsi, edo erabili, taldeen informazioa"
+
+#: ../yumcommands.py:909
 msgid "Setting up Group Process"
 msgstr "Talde-prozesua konfiguratzen"
 
-#: ../yumcommands.py:441
+#: ../yumcommands.py:915
 msgid "No Groups on which to run command"
 msgstr "Ez dago talderik komandoa exekutatu ahal izateko"
 
-#: ../yumcommands.py:454
-msgid "List available package groups"
-msgstr "Zerrendatu pakete-talde eskuragarriak"
-
-#: ../yumcommands.py:474
-msgid "Install the packages in a group on your system"
-msgstr "Instalatu talde bateko paketeak zure sisteman"
+#: ../yumcommands.py:985
+#, python-format
+msgid "Invalid groups sub-command, use: %s."
+msgstr "Baliogabeko talde-azpikomandoa, erabili: %s."
 
-#: ../yumcommands.py:497
-msgid "Remove the packages in a group from your system"
-msgstr "Kendu talde bateko paketeak zure sistematik"
+#: ../yumcommands.py:992
+msgid "There is no installed groups file."
+msgstr "Ez dago instalatutako taldeen fitxategirik."
 
-#: ../yumcommands.py:525
-msgid "Display details about a package group"
-msgstr "Erakutsi pakete-talde bati buruzko xehetasunak"
+#: ../yumcommands.py:994
+msgid "You don't have access to the groups DB."
+msgstr "Ez duzu baimenik taldeen DBa ikusteko."
 
-#: ../yumcommands.py:550
+#: ../yumcommands.py:1256
 msgid "Generate the metadata cache"
 msgstr "Sortu metadatuen katxea"
 
-#: ../yumcommands.py:556
+#: ../yumcommands.py:1282
 msgid "Making cache files for all metadata files."
 msgstr "Katxe-fitxategiak egiten metadatu-fitxategi guztietarako"
 
-#: ../yumcommands.py:557
+#: ../yumcommands.py:1283
 msgid "This may take a while depending on the speed of this computer"
 msgstr "Honek denbora behar du, ordenagailu honen abiaduraren araberakoa"
 
-#: ../yumcommands.py:578
+#: ../yumcommands.py:1312
 msgid "Metadata Cache Created"
 msgstr "Metadatuen katxea sortu da"
 
-#: ../yumcommands.py:592
+#: ../yumcommands.py:1350
 msgid "Remove cached data"
 msgstr "kendu katxeatutako datuak"
 
-#: ../yumcommands.py:613
+#: ../yumcommands.py:1417
 msgid "Find what package provides the given value"
 msgstr "Aurkitu zein paketek hornitzen duen emandako balioaz"
 
-#: ../yumcommands.py:633
+#: ../yumcommands.py:1485
 msgid "Check for available package updates"
 msgstr "Egiaztatu pakete-eguneraketarik dagoen eskuragarri"
 
-#: ../yumcommands.py:687
+#: ../yumcommands.py:1587
 msgid "Search package details for the given string"
 msgstr "Bilatu pakete-xehetasunak emandako katetik abiatuz"
 
-#: ../yumcommands.py:693
+#: ../yumcommands.py:1613
 msgid "Searching Packages: "
 msgstr "Paketeak bilatzen: "
 
-#: ../yumcommands.py:710
+#: ../yumcommands.py:1666
 msgid "Update packages taking obsoletes into account"
 msgstr "Eguneratu paketeak zaharkituak kontuan hartuz"
 
-#: ../yumcommands.py:719
+#: ../yumcommands.py:1696
 msgid "Setting up Upgrade Process"
 msgstr "Bertsio-berritzearen prozesua konfiguratzen"
 
-#: ../yumcommands.py:737
+#: ../yumcommands.py:1731
 msgid "Install a local RPM"
 msgstr "Instalatu RPM lokala"
 
-#: ../yumcommands.py:745
+#: ../yumcommands.py:1761
 msgid "Setting up Local Package Process"
 msgstr "Pakete lokalen prozesua konfiguratzen"
 
-#: ../yumcommands.py:764
-msgid "Determine which package provides the given dependency"
-msgstr "Zehaztu zein paketek hornitzen duen emandako mendekotasunaz"
-
-#: ../yumcommands.py:767
+#: ../yumcommands.py:1825
 msgid "Searching Packages for Dependency:"
 msgstr "Mendekotasunetarako paketeak bilatzen:"
 
-#: ../yumcommands.py:781
+#: ../yumcommands.py:1867
 msgid "Run an interactive yum shell"
 msgstr "Exekutatu yum shell interaktiboa"
 
-#: ../yumcommands.py:787
+#: ../yumcommands.py:1893
 msgid "Setting up Yum Shell"
 msgstr "Yum shell konfiguratzen"
 
-#: ../yumcommands.py:805
+#: ../yumcommands.py:1936
 msgid "List a package's dependencies"
 msgstr "Zerrendatu pakete baten mendekotasunak"
 
-#: ../yumcommands.py:811
+#: ../yumcommands.py:1963
 msgid "Finding dependencies: "
 msgstr "Mendekotasunak aurkitzen: "
 
-#: ../yumcommands.py:827
+#: ../yumcommands.py:2005
 msgid "Display the configured software repositories"
 msgstr "Erakutsi konfiguratutako software-biltegiak"
 
-#: ../yumcommands.py:893 ../yumcommands.py:894
+#: ../yumcommands.py:2094 ../yumcommands.py:2095
 msgid "enabled"
 msgstr "gaitua"
 
-#: ../yumcommands.py:920 ../yumcommands.py:921
+#: ../yumcommands.py:2121 ../yumcommands.py:2122
 msgid "disabled"
 msgstr "desgaitua"
 
-#: ../yumcommands.py:937
+#: ../yumcommands.py:2137
 msgid "Repo-id      : "
 msgstr "Biltegi-id      : "
 
-#: ../yumcommands.py:938
+#: ../yumcommands.py:2138
 msgid "Repo-name    : "
 msgstr "Biltegi-izena      : "
 
-#: ../yumcommands.py:941
+#: ../yumcommands.py:2141
 msgid "Repo-status  : "
 msgstr "Biltegi-egoera  : "
 
-#: ../yumcommands.py:944
+#: ../yumcommands.py:2144
 msgid "Repo-revision: "
 msgstr "Biltegi-berrikuspena: "
 
-#: ../yumcommands.py:948
+#: ../yumcommands.py:2148
 msgid "Repo-tags    : "
 msgstr "Biltegi-etiketak    : "
 
-#: ../yumcommands.py:954
+#: ../yumcommands.py:2154
 msgid "Repo-distro-tags: "
 msgstr "Banaketa-biltegi-etiketak: "
 
-#: ../yumcommands.py:959
+#: ../yumcommands.py:2159
 msgid "Repo-updated : "
 msgstr "Biltegi-eguneratua: "
 
-#: ../yumcommands.py:961
+#: ../yumcommands.py:2161
 msgid "Repo-pkgs    : "
 msgstr "Biltegi-pkgs: "
 
-#: ../yumcommands.py:962
+#: ../yumcommands.py:2162
 msgid "Repo-size    : "
 msgstr "Biltegi-tamaina: "
 
-#: ../yumcommands.py:969 ../yumcommands.py:990
+#: ../yumcommands.py:2169 ../yumcommands.py:2190
 msgid "Repo-baseurl : "
 msgstr "Biltegi-baseurl: "
 
-#: ../yumcommands.py:977
+#: ../yumcommands.py:2177
 msgid "Repo-metalink: "
 msgstr "Biltegi-metaesteka: "
 
-#: ../yumcommands.py:981
+#: ../yumcommands.py:2181
 msgid "  Updated    : "
 msgstr "  Eguneratua    : "
 
-#: ../yumcommands.py:984
+#: ../yumcommands.py:2184
 msgid "Repo-mirrors : "
 msgstr "Biltegi-ispiluak: "
 
-#: ../yumcommands.py:1000
+#: ../yumcommands.py:2199
 #, python-format
 msgid "Never (last: %s)"
 msgstr "Inoiz ez (azkena: %s)"
 
-#: ../yumcommands.py:1002
+#: ../yumcommands.py:2201
 #, python-format
 msgid "Instant (last: %s)"
 msgstr "Berehala (azkena: %s)"
 
-#: ../yumcommands.py:1005
+#: ../yumcommands.py:2204
 #, python-format
 msgid "%s second(s) (last: %s)"
 msgstr "%s segundo (azkena: %s)"
 
-#: ../yumcommands.py:1007
+#: ../yumcommands.py:2206
 msgid "Repo-expire  : "
 msgstr "Biltegi-iraungipena: "
 
-#: ../yumcommands.py:1010
+#: ../yumcommands.py:2209
 msgid "Repo-exclude : "
 msgstr "Biltegi-baztertu: "
 
-#: ../yumcommands.py:1014
+#: ../yumcommands.py:2213
 msgid "Repo-include : "
 msgstr "Biltegi-barneratu: "
 
-#: ../yumcommands.py:1018
+#: ../yumcommands.py:2217
 msgid "Repo-excluded: "
 msgstr "Biltegi-baztertua: "
 
-#: ../yumcommands.py:1022
+#: ../yumcommands.py:2221
 msgid "Repo-filename: "
-msgstr ""
+msgstr "Biltegi-izena: "
 
 #. Work out the first (id) and last (enabled/disalbed/count),
 #. then chop the middle (name)...
-#: ../yumcommands.py:1032 ../yumcommands.py:1061
+#: ../yumcommands.py:2230 ../yumcommands.py:2259
 msgid "repo id"
 msgstr "biltegi id-a"
 
-#: ../yumcommands.py:1049 ../yumcommands.py:1050 ../yumcommands.py:1068
+#: ../yumcommands.py:2247 ../yumcommands.py:2248 ../yumcommands.py:2266
 msgid "status"
 msgstr "egoera"
 
-#: ../yumcommands.py:1062
+#: ../yumcommands.py:2260
 msgid "repo name"
 msgstr "biltegi-izena"
 
-#: ../yumcommands.py:1099
+#: ../yumcommands.py:2332
 msgid "Display a helpful usage message"
 msgstr "Erakutsi erabilera-mezu laguntzailea"
 
-#: ../yumcommands.py:1133
+#: ../yumcommands.py:2374
 #, python-format
 msgid "No help available for %s"
 msgstr "Ez dago laguntzarik %s-(e)rako"
 
-#: ../yumcommands.py:1138
+#: ../yumcommands.py:2379
 msgid ""
 "\n"
 "\n"
 "aliases: "
-msgstr ""
-"\n"
-"\n"
-"aliasak: "
+msgstr "\n\naliasak: "
 
-#: ../yumcommands.py:1140
+#: ../yumcommands.py:2381
 msgid ""
 "\n"
 "\n"
 "alias: "
-msgstr ""
-"\n"
-"\n"
-"aliasa: "
+msgstr "\n\naliasa: "
 
-#: ../yumcommands.py:1168
+#: ../yumcommands.py:2466
 msgid "Setting up Reinstall Process"
 msgstr "Berrinstalazio-prozesua konfiguratzen"
 
-#: ../yumcommands.py:1176
+#: ../yumcommands.py:2478
 msgid "reinstall a package"
 msgstr "Berrinstalatu pakete bat"
 
-#: ../yumcommands.py:1195
+#: ../yumcommands.py:2541
 msgid "Setting up Downgrade Process"
 msgstr "Bertsio zaharragoaren instalazio-prozesua konfiguratzen"
 
-#: ../yumcommands.py:1202
+#: ../yumcommands.py:2552
 msgid "downgrade a package"
 msgstr "Pakete baten bertsio zaharragoa instalatu"
 
-#: ../yumcommands.py:1216
+#: ../yumcommands.py:2591
 msgid "Display a version for the machine and/or available repos."
 msgstr "Erakutsi bertsio bat makinarako eta/edo biltegi eskuragarriak."
 
-#: ../yumcommands.py:1255
+#: ../yumcommands.py:2643
 msgid " Yum version groups:"
 msgstr " Yum bertsio-taldeak:"
 
-#: ../yumcommands.py:1265
+#: ../yumcommands.py:2653
 msgid " Group   :"
 msgstr " Taldea   :"
 
-#: ../yumcommands.py:1266
+#: ../yumcommands.py:2654
 msgid " Packages:"
 msgstr " Paketeak:"
 
-#: ../yumcommands.py:1295
+#: ../yumcommands.py:2683
 msgid "Installed:"
 msgstr "Instalatua:"
 
-#: ../yumcommands.py:1303
+#: ../yumcommands.py:2691
 msgid "Group-Installed:"
 msgstr "Talde-instalatua:"
 
-#: ../yumcommands.py:1312
+#: ../yumcommands.py:2700
 msgid "Available:"
 msgstr "Eskuragarri:"
 
-#: ../yumcommands.py:1321
+#: ../yumcommands.py:2709
 msgid "Group-Available:"
 msgstr "Talde-eskuragarri:"
 
-#: ../yumcommands.py:1360
+#: ../yumcommands.py:2783
 msgid "Display, or use, the transaction history"
 msgstr "Erakutsi, edo erabili, transakzio-historia"
 
-#: ../yumcommands.py:1432
+#: ../yumcommands.py:2876 ../yumcommands.py:2880
+msgid "Transactions:"
+msgstr "Transakzioak:"
+
+#: ../yumcommands.py:2881
+msgid "Begin time  :"
+msgstr "Hasiera-ordua     :"
+
+#: ../yumcommands.py:2882
+msgid "End time    :"
+msgstr "Amaiera-ordua       :"
+
+#: ../yumcommands.py:2883
+msgid "Counts      :"
+msgstr "Zenbaketa   :"
+
+#: ../yumcommands.py:2884
+msgid "  NEVRAC :"
+msgstr "  NEVRAC :"
+
+#: ../yumcommands.py:2885
+msgid "  NEVRA  :"
+msgstr "  NEVRA  :"
+
+#: ../yumcommands.py:2886
+msgid "  NA     :"
+msgstr "  NA     :"
+
+#: ../yumcommands.py:2887
+msgid "  NEVR   :"
+msgstr "  NEVR   :"
+
+#: ../yumcommands.py:2888
+msgid "  rpm DB :"
+msgstr "  rpm DB :"
+
+#: ../yumcommands.py:2889
+msgid "  yum DB :"
+msgstr "  yum DB :"
+
+#: ../yumcommands.py:2922
 #, python-format
 msgid "Invalid history sub-command, use: %s."
 msgstr "Baliogabeko historia-azpikomandoa, erabili: %s."
 
-#: ../yumcommands.py:1439
+#: ../yumcommands.py:2929
 msgid "You don't have access to the history DB."
 msgstr "Ez daukazu historiaren DBra sartzeko baimenik."
 
-#: ../yumcommands.py:1487
+#: ../yumcommands.py:3036
 msgid "Check for problems in the rpmdb"
 msgstr "Begiratu arazorik dagoen rpmdb-an"
 
-#: ../yumcommands.py:1514
+#: ../yumcommands.py:3102
 msgid "load a saved transaction from filename"
 msgstr "kargatu gordetako transakzio bat fitxategi-izen batetik"
 
-#: ../yumcommands.py:1518
+#: ../yumcommands.py:3119
 msgid "No saved transaction file specified."
 msgstr "Ez da gordetako transakzioaren fitxategia adierazi."
 
-#: ../yumcommands.py:1522
+#: ../yumcommands.py:3123
 #, python-format
 msgid "loading transaction from %s"
 msgstr "transakzioa kargatzen %s fitxategitik"
 
-#: ../yumcommands.py:1528
+#: ../yumcommands.py:3129
 #, python-format
 msgid "Transaction loaded from %s with %s members"
 msgstr "Transakzioa kargatua %s-(e)tik, %s kide"
 
+#: ../yumcommands.py:3169
+msgid "Simple way to swap packages, isntead of using shell"
+msgstr ""
+
+#: ../yumcommands.py:3264
+msgid ""
+"Treat a repo. as a group of packages, so we can install/remove all of them"
+msgstr ""
+
+#: ../yumcommands.py:3341
+#, python-format
+msgid "%d package to update"
+msgid_plural "%d packages to update"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../yumcommands.py:3370
+#, python-format
+msgid "%d package to remove/reinstall"
+msgid_plural "%d packages to remove/reinstall"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../yumcommands.py:3413
+#, python-format
+msgid "%d package to remove/sync"
+msgid_plural "%d packages to remove/sync"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../yumcommands.py:3417
+#, python-format
+msgid "Not a valid sub-command of %s"
+msgstr ""
+
 #. This is mainly for PackageSackError from rpmdb.
 #: ../yummain.py:84
 #, python-format
 msgid " Yum checks failed: %s"
 msgstr " Yum egiaztapenak huts egin du: %s"
 
-#: ../yummain.py:114
-msgid ""
-"Another app is currently holding the yum lock; waiting for it to exit..."
-msgstr "Beste aplikazio batek yum blokeatuta dauka; irten dadin itxaroten..."
+#: ../yummain.py:98
+msgid "No read/execute access in current directory, moving to /"
+msgstr "Ez dago irakurtzeko/exekutatzeko baimenik uneko direktorioan, errora mugitzen"
 
-#: ../yummain.py:120
-msgid "Can't create lock file; exiting"
-msgstr "Ezin izan da fitxategia blokeatu; irteten"
+#: ../yummain.py:106
+msgid "No getcwd() access in current directory, moving to /"
+msgstr "Ez dago getcwd() atzipenik uneko direktorioan, errora mugitzen"
 
 #. Depsolve stage
-#: ../yummain.py:167
+#: ../yummain.py:164
 msgid "Resolving Dependencies"
 msgstr "Mendekotasunak ebazten"
 
-#: ../yummain.py:230
+#: ../yummain.py:227 ../yummain.py:235
 #, python-format
-msgid "Your transaction was saved, rerun it with: yum load-transaction %s"
-msgstr ""
-"Zure transakzioa gorde egin da, berrexekutatzeko erabili hau: yum load-"
-"transacion %s"
+msgid ""
+"Your transaction was saved, rerun it with:\n"
+" yum load-transaction %s"
+msgstr "Zure transakzioa gorde egin da, berrexekutatzeko erabili hau:\n yum load-transacion %s"
 
-#: ../yummain.py:288
+#: ../yummain.py:312
 msgid ""
 "\n"
 "\n"
 "Exiting on user cancel."
-msgstr ""
-"\n"
-"\n"
-"Irteten erabiltzeileak eragiketa bertan behera utzi duelako."
+msgstr "\n\nIrteten erabiltzeileak eragiketa bertan behera utzi duelako."
 
-#: ../yum/depsolve.py:84
+#: ../yum/depsolve.py:127
 msgid "doTsSetup() will go away in a future version of Yum.\n"
 msgstr "doTsSetup() desagertu egingo da yum-en etorkizuneko bertsio batean.\n"
 
-#: ../yum/depsolve.py:99
+#: ../yum/depsolve.py:143
 msgid "Setting up TransactionSets before config class is up"
-msgstr ""
-"Transakzio-multzoak konfiguratzen konfigurazio-klasea aktibatu baino lehen"
+msgstr "Transakzio-multzoak konfiguratzen konfigurazio-klasea aktibatu baino lehen"
 
-#: ../yum/depsolve.py:153
+#: ../yum/depsolve.py:200
 #, python-format
 msgid "Invalid tsflag in config file: %s"
 msgstr "Baliogabeko tsflag konfigurazio-fitxategian: %s"
 
-#: ../yum/depsolve.py:164
+#: ../yum/depsolve.py:218
 #, python-format
 msgid "Searching pkgSack for dep: %s"
 msgstr "Bilatzen pkgSack mendekotasunetarako: %s"
 
-#: ../yum/depsolve.py:207
+#: ../yum/depsolve.py:269
 #, python-format
 msgid "Member: %s"
 msgstr "Kidea: %s"
 
-#: ../yum/depsolve.py:221 ../yum/depsolve.py:793
+#: ../yum/depsolve.py:283 ../yum/depsolve.py:937
 #, python-format
 msgid "%s converted to install"
 msgstr "%s bihurtu instalatzeko"
 
-#: ../yum/depsolve.py:233
+#: ../yum/depsolve.py:295
 #, python-format
 msgid "Adding Package %s in mode %s"
 msgstr "%s paketea gehitzen %s moduan"
 
-#: ../yum/depsolve.py:249
+#: ../yum/depsolve.py:311
 #, python-format
 msgid "Removing Package %s"
 msgstr "%s paketea kentzen"
 
-#: ../yum/depsolve.py:271
+#: ../yum/depsolve.py:333
 #, python-format
 msgid "%s requires: %s"
 msgstr "%s-(e)k behar du: %s"
 
-#: ../yum/depsolve.py:312
+#: ../yum/depsolve.py:374
 #, python-format
 msgid "%s requires %s"
 msgstr "%s-(e)k %s behar du"
 
-#: ../yum/depsolve.py:339
+#: ../yum/depsolve.py:401
 msgid "Needed Require has already been looked up, cheating"
 msgstr "Beharrezko eskakizuna blokeatu da jadanik"
 
-#: ../yum/depsolve.py:349
+#: ../yum/depsolve.py:411
 #, python-format
 msgid "Needed Require is not a package name. Looking up: %s"
 msgstr "Beharrezko eskakizuna ez da pakete-izena. Bilatzen: %s"
 
-#: ../yum/depsolve.py:357
+#: ../yum/depsolve.py:419
 #, python-format
 msgid "Potential Provider: %s"
 msgstr "Balizko hornitzailea: %s"
 
-#: ../yum/depsolve.py:380
+#: ../yum/depsolve.py:442
 #, python-format
 msgid "Mode is %s for provider of %s: %s"
 msgstr "Modua %s da %s-(r)en hornitzailerako: %s"
 
-#: ../yum/depsolve.py:384
+#: ../yum/depsolve.py:446
 #, python-format
 msgid "Mode for pkg providing %s: %s"
 msgstr "pkg-rako moduak %s-(e)az hornitzen: %s"
@@ -2122,1044 +2318,1140 @@ msgstr "pkg-rako moduak %s-(e)az hornitzen: %s"
 #. the thing it needs is being updated or obsoleted away
 #. try to update the requiring package in hopes that all this problem goes
 #. away :(
-#: ../yum/depsolve.py:389 ../yum/depsolve.py:406
+#: ../yum/depsolve.py:451 ../yum/depsolve.py:486
 #, python-format
 msgid "Trying to update %s to resolve dep"
 msgstr "%s eguneratzen saiatzen dep konpontzeko"
 
-#: ../yum/depsolve.py:400 ../yum/depsolve.py:410
+#: ../yum/depsolve.py:480
 #, python-format
 msgid "No update paths found for %s. Failure!"
 msgstr "Ez da eguneratze-biderik aurkitu %s-(e)rako Hutsegitea!"
 
-#: ../yum/depsolve.py:416
+#: ../yum/depsolve.py:491
+#, python-format
+msgid "No update paths found for %s. Failure due to requirement: %s!"
+msgstr ""
+
+#: ../yum/depsolve.py:507
+#, python-format
+msgid "Update for %s. Doesn't fix requirement: %s!"
+msgstr ""
+
+#: ../yum/depsolve.py:514
 #, python-format
 msgid "TSINFO: %s package requiring %s marked as erase"
 msgstr "TSINFO: %s paketeak behar duen %s ezabatzeko markatu da"
 
-#: ../yum/depsolve.py:429
+#: ../yum/depsolve.py:527
 #, python-format
 msgid "TSINFO: Obsoleting %s with %s to resolve dep."
 msgstr "TSINFO: %s zaharkitu bihurtzen %s ordez, mendekotasuna konpontzeko."
 
-#: ../yum/depsolve.py:432
+#: ../yum/depsolve.py:530
 #, python-format
 msgid "TSINFO: Updating %s to resolve dep."
 msgstr "TSINFO: %s eguneratzen mendekotasuna konpontzeko."
 
-#: ../yum/depsolve.py:440
+#: ../yum/depsolve.py:538
 #, python-format
 msgid "Cannot find an update path for dep for: %s"
 msgstr "Ezin da eguneraketa-biderik aurkitu %s-(e)rako"
 
-#: ../yum/depsolve.py:471
+#: ../yum/depsolve.py:569
 #, python-format
 msgid "Quick matched %s to require for %s"
 msgstr "%s-(r)en bat etortze azkarra %s-(e)rako behar delako"
 
 #. is it already installed?
-#: ../yum/depsolve.py:513
+#: ../yum/depsolve.py:611
 #, python-format
 msgid "%s is in providing packages but it is already installed, removing."
-msgstr ""
-"%s hornitutako paketeetan dago baina jadanik instalatuta dago, kentzen."
+msgstr "%s hornitutako paketeetan dago baina jadanik instalatuta dago, kentzen."
 
-#: ../yum/depsolve.py:529
+#: ../yum/depsolve.py:627
 #, python-format
 msgid "Potential resolving package %s has newer instance in ts."
 msgstr "Konponketak ekar ditzakeen %s paketeak instantzia berria du ts-n."
 
-#: ../yum/depsolve.py:540
+#: ../yum/depsolve.py:638
 #, python-format
 msgid "Potential resolving package %s has newer instance installed."
-msgstr ""
-"Konponketak ekar ditzakeen %s paketeak instantzia berria du instalatuta."
+msgstr "Konponketak ekar ditzakeen %s paketeak instantzia berria du instalatuta."
 
-#: ../yum/depsolve.py:558
+#: ../yum/depsolve.py:656
 #, python-format
 msgid "%s already in ts, skipping this one"
 msgstr "%s jadanik tx-en, saltatzen hau"
 
-#: ../yum/depsolve.py:607
+#: ../yum/depsolve.py:705
 #, python-format
 msgid "TSINFO: Marking %s as update for %s"
 msgstr "TSINFO: %s markatzen %s-(r)en eguneraketa gisa"
 
-#: ../yum/depsolve.py:616
+#: ../yum/depsolve.py:714
 #, python-format
 msgid "TSINFO: Marking %s as install for %s"
 msgstr "TSINFO: %s markatzen %s-(r)en instalazio gisa"
 
-#: ../yum/depsolve.py:727 ../yum/depsolve.py:819
+#: ../yum/depsolve.py:849 ../yum/depsolve.py:967
 msgid "Success - empty transaction"
 msgstr "Arrakasta - transakzio hutsa"
 
-#: ../yum/depsolve.py:767 ../yum/depsolve.py:783
+#: ../yum/depsolve.py:889 ../yum/depsolve.py:927
 msgid "Restarting Loop"
 msgstr "Berrabiarazten begizta"
 
-#: ../yum/depsolve.py:799
+#: ../yum/depsolve.py:947
 msgid "Dependency Process ending"
 msgstr "Amaitzen mendekotasun-prozesatzea"
 
-#: ../yum/depsolve.py:821
+#: ../yum/depsolve.py:969
 msgid "Success - deps resolved"
 msgstr "Arrakasta - mendekotasunak konpondu dira"
 
-#: ../yum/depsolve.py:845
+#: ../yum/depsolve.py:993
 #, python-format
 msgid "Checking deps for %s"
 msgstr "%s-(r)en mendekotasunak egiaztatzen"
 
-#: ../yum/depsolve.py:931
+#: ../yum/depsolve.py:1082
 #, python-format
 msgid "looking for %s as a requirement of %s"
 msgstr "%s bilatzen %s-(e)k behar duelako"
 
-#: ../yum/depsolve.py:1169
+#: ../yum/depsolve.py:1349
 #, python-format
 msgid "Running compare_providers() for %s"
 msgstr "compare_providers() exekutatzen %s-(e)rako"
 
-#: ../yum/depsolve.py:1196 ../yum/depsolve.py:1202
+#: ../yum/depsolve.py:1376 ../yum/depsolve.py:1382
 #, python-format
 msgid "better arch in po %s"
 msgstr "Arkitektura hobea %s po-an"
 
-#: ../yum/depsolve.py:1298
+#: ../yum/depsolve.py:1496
 #, python-format
 msgid "%s obsoletes %s"
 msgstr "%s-(e)k %s zaharkitu bihurtzen du"
 
-#: ../yum/depsolve.py:1310
+#: ../yum/depsolve.py:1508
 #, python-format
 msgid ""
 "archdist compared %s to %s on %s\n"
 "  Winner: %s"
-msgstr ""
-"%s eta %s alderatu dira %s-(e)n\n"
-"  Irabazlea: %s"
+msgstr "%s eta %s alderatu dira %s-(e)n\n  Irabazlea: %s"
 
-#: ../yum/depsolve.py:1318
+#: ../yum/depsolve.py:1516
 #, python-format
 msgid "common sourcerpm %s and %s"
 msgstr "%s eta %s sourcerpm komuna"
 
-#: ../yum/depsolve.py:1322
+#: ../yum/depsolve.py:1520
 #, python-format
 msgid "base package %s is installed for %s"
 msgstr "%s oinarrizko paketea instalatu da %s-(e)rako"
 
-#: ../yum/depsolve.py:1328
+#: ../yum/depsolve.py:1526
 #, python-format
 msgid "common prefix of %s between %s and %s"
 msgstr "%s-(r)en aurrizki komuna %s eta %s artean"
 
-#: ../yum/depsolve.py:1359
+#: ../yum/depsolve.py:1543
 #, python-format
-msgid "requires minimal: %d"
-msgstr "minimoa behar du: %d"
+msgid "provides vercmp: %s"
+msgstr "vercmp hornitzen du: %s"
 
-#: ../yum/depsolve.py:1363
+#: ../yum/depsolve.py:1547 ../yum/depsolve.py:1581
 #, python-format
 msgid " Winner: %s"
 msgstr " Irabazlea: %s"
 
-#: ../yum/depsolve.py:1368
+#: ../yum/depsolve.py:1577
+#, python-format
+msgid "requires minimal: %d"
+msgstr "minimoa behar du: %d"
+
+#: ../yum/depsolve.py:1586
 #, python-format
 msgid " Loser(with %d): %s"
 msgstr " Galtzailea (%d-(r)ekin): %s"
 
-#: ../yum/depsolve.py:1384
+#: ../yum/depsolve.py:1602
 #, python-format
 msgid "Best Order: %s"
 msgstr "Ordenarik onena: %s"
 
-#: ../yum/__init__.py:234
+#: ../yum/__init__.py:274
 msgid "doConfigSetup() will go away in a future version of Yum.\n"
+msgstr "doConfigSetup() desagertu egingo da yum-en etorkizuneko bertsio batean.\n"
+
+#: ../yum/__init__.py:553
+#, python-format
+msgid "Skipping unreadable repository %s"
 msgstr ""
-"doConfigSetup() desagertu egingo da yum-en etorkizuneko bertsio batean.\n"
 
-#: ../yum/__init__.py:482
+#: ../yum/__init__.py:572
 #, python-format
 msgid "Repository %r: Error parsing config: %s"
 msgstr "%r biltegia: Errorea konfigurazioa analizatzean: %s"
 
-#: ../yum/__init__.py:488
+#: ../yum/__init__.py:578
 #, python-format
 msgid "Repository %r is missing name in configuration, using id"
 msgstr "%r biltegiak ez du izenik konfigurazioan, id erabiltzen"
 
-#: ../yum/__init__.py:526
+#: ../yum/__init__.py:618
 msgid "plugins already initialised"
 msgstr "pluginak jadanik hasieratu dira"
 
-#: ../yum/__init__.py:533
+#: ../yum/__init__.py:627
 msgid "doRpmDBSetup() will go away in a future version of Yum.\n"
-msgstr ""
-"doRpmDBSetup() desagertu egingo da yum-en etorkizuneko bertsio batean.\n"
+msgstr "doRpmDBSetup() desagertu egingo da yum-en etorkizuneko bertsio batean.\n"
 
-#: ../yum/__init__.py:544
+#: ../yum/__init__.py:638
 msgid "Reading Local RPMDB"
 msgstr "RPMDB lokala irakurtzen"
 
-#: ../yum/__init__.py:567
+#: ../yum/__init__.py:668
 msgid "doRepoSetup() will go away in a future version of Yum.\n"
 msgstr "doRepoSetup() desagertu egingo da yum-en etorkizuneko bertsio batean.\n"
 
-#: ../yum/__init__.py:630
+#: ../yum/__init__.py:722
 msgid "doSackSetup() will go away in a future version of Yum.\n"
 msgstr "doSackSetup() desagertu egingo da yum-en etorkizuneko bertsio batean.\n"
 
-#: ../yum/__init__.py:660
+#: ../yum/__init__.py:752
 msgid "Setting up Package Sacks"
 msgstr "Pakete-multzoak konfiguratzen"
 
-#: ../yum/__init__.py:705
+#: ../yum/__init__.py:797
 #, python-format
 msgid "repo object for repo %s lacks a _resetSack method\n"
 msgstr "%s biltegiaren biltegi-objektuak ez dauka _resetSack metodorik\n"
 
-#: ../yum/__init__.py:706
+#: ../yum/__init__.py:798
 msgid "therefore this repo cannot be reset.\n"
 msgstr "beraz, biltegi hau ezin da berrezarri.\n"
 
-#: ../yum/__init__.py:711
+#: ../yum/__init__.py:806
 msgid "doUpdateSetup() will go away in a future version of Yum.\n"
-msgstr ""
-"doUpdateSetup() desagertu egingo da yum-en etorkizuneko bertsio batean.\n"
+msgstr "doUpdateSetup() desagertu egingo da yum-en etorkizuneko bertsio batean.\n"
 
-#: ../yum/__init__.py:723
+#: ../yum/__init__.py:818
 msgid "Building updates object"
 msgstr "Eguneraketa-objektua eraikitzen"
 
-#: ../yum/__init__.py:765
+#: ../yum/__init__.py:862
 msgid "doGroupSetup() will go away in a future version of Yum.\n"
-msgstr ""
-"doGroupSetup() desagertu egingo da yum-en etorkizuneko bertsio batean.\n"
+msgstr "doGroupSetup() desagertu egingo da yum-en etorkizuneko bertsio batean.\n"
 
-#: ../yum/__init__.py:790
+#: ../yum/__init__.py:887
 msgid "Getting group metadata"
 msgstr "Taldeen metadatuak eskuratzen"
 
-#: ../yum/__init__.py:816
+#: ../yum/__init__.py:915
 #, python-format
 msgid "Adding group file from repository: %s"
 msgstr "Biltegiko talde-fitxategia gehitzen: %s"
 
-#: ../yum/__init__.py:827
+#: ../yum/__init__.py:918
+#, python-format
+msgid "Failed to retrieve group file for repository: %s"
+msgstr ""
+
+#: ../yum/__init__.py:924
 #, python-format
 msgid "Failed to add groups file for repository: %s - %s"
 msgstr "Taldeen fitxategiak biltegitik gehitzeak huts egin du: %s - %s"
 
-#: ../yum/__init__.py:833
+#: ../yum/__init__.py:930
 msgid "No Groups Available in any repository"
 msgstr "Ez dago talderik eskuragarri biltegietan"
 
-#: ../yum/__init__.py:845
+#: ../yum/__init__.py:945
 msgid "Getting pkgtags metadata"
 msgstr "pkgtags metadatuak eskuratzen"
 
-#: ../yum/__init__.py:855
+#: ../yum/__init__.py:955
 #, python-format
 msgid "Adding tags from repository: %s"
 msgstr "Etiketak gehitzen biltegitik: %s"
 
-#: ../yum/__init__.py:866
+#: ../yum/__init__.py:966
 #, python-format
 msgid "Failed to add Pkg Tags for repository: %s - %s"
 msgstr "Ezin izan dira Pkg etiketak gehitu biltegitik: %s - %s"
 
-#: ../yum/__init__.py:944
+#: ../yum/__init__.py:1059
 msgid "Importing additional filelist information"
 msgstr "Fitxategi-zerrendaren informazio gehigarria inportatzen"
 
-#: ../yum/__init__.py:958
+#: ../yum/__init__.py:1077
 #, python-format
 msgid "The program %s%s%s is found in the yum-utils package."
 msgstr "%s%s%s programa yum-utils paketean dago."
 
-#: ../yum/__init__.py:966
+#: ../yum/__init__.py:1094
 msgid ""
 "There are unfinished transactions remaining. You might consider running yum-"
 "complete-transaction first to finish them."
-msgstr ""
-"Amaitu gabeko transakzioak geratu dira. Lehenengo yum-complete-transaction "
-"exekutatu beharko zenuke haiek amaitzeko."
+msgstr "Amaitu gabeko transakzioak geratu dira. Lehenengo yum-complete-transaction exekutatu beharko zenuke haiek amaitzeko."
 
-#: ../yum/__init__.py:983
+#: ../yum/__init__.py:1111
 msgid "--> Finding unneeded leftover dependencies"
 msgstr "--> Behar ez diren gainerako mendekotasunak aurkitzen"
 
-#: ../yum/__init__.py:1041
+#: ../yum/__init__.py:1169
 #, python-format
 msgid "Protected multilib versions: %s != %s"
 msgstr "Babestutako multilib bertsioak: %s != %s"
 
-#: ../yum/__init__.py:1096
+#. People are confused about protected mutilib ... so give
+#. them a nicer message.
+#: ../yum/__init__.py:1173
+#, python-format
+msgid ""
+" Multilib version problems found. This often means that the root\n"
+"cause is something else and multilib version checking is just\n"
+"pointing out that there is a problem. Eg.:\n"
+"\n"
+"  1. You have an upgrade for %(name)s which is missing some\n"
+"     dependency that another package requires. Yum is trying to\n"
+"     solve this by installing an older version of %(name)s of the\n"
+"     different architecture. If you exclude the bad architecture\n"
+"     yum will tell you what the root cause is (which package\n"
+"     requires what). You can try redoing the upgrade with\n"
+"     --exclude %(name)s.otherarch ... this should give you an error\n"
+"     message showing the root cause of the problem.\n"
+"\n"
+"  2. You have multiple architectures of %(name)s installed, but\n"
+"     yum can only see an upgrade for one of those arcitectures.\n"
+"     If you don't want/need both architectures anymore then you\n"
+"     can remove the one with the missing update and everything\n"
+"     will work.\n"
+"\n"
+"  3. You have duplicate versions of %(name)s installed already.\n"
+"     You can use \"yum check\" to get yum show these errors.\n"
+"\n"
+"...you can also use --setopt=protected_multilib=false to remove\n"
+"this checking, however this is almost never the correct thing to\n"
+"do as something else is very likely to go wrong (often causing\n"
+"much more problems).\n"
+"\n"
+msgstr ""
+
+#: ../yum/__init__.py:1257
 #, python-format
 msgid "Trying to remove \"%s\", which is protected"
 msgstr "Babestuta dagoen \"%s\" kentzen saiatzen"
 
-#: ../yum/__init__.py:1217
+#: ../yum/__init__.py:1378
 msgid ""
 "\n"
 "Packages skipped because of dependency problems:"
-msgstr ""
-"\n"
-"Mendekotasun-arazoengatik saltatutako paketeak:"
+msgstr "\nMendekotasun-arazoengatik saltatutako paketeak:"
 
-#: ../yum/__init__.py:1221
+#: ../yum/__init__.py:1382
 #, python-format
 msgid "    %s from %s"
 msgstr "    %s %s-(e)tik"
 
 #. FIXME: _N()
-#: ../yum/__init__.py:1391
+#: ../yum/__init__.py:1556
 #, python-format
 msgid "** Found %d pre-existing rpmdb problem(s), 'yum check' output follows:"
-msgstr ""
-"** Aurretiaz existitzen ziren %d rpmdb arazo aurkitu dira, 'yum check' "
-"aginduak hurrengoa ematen du:"
+msgstr "** Aurretiaz existitzen ziren %d rpmdb arazo aurkitu dira, 'yum check' aginduak hurrengoa ematen du:"
 
-#: ../yum/__init__.py:1395
+#: ../yum/__init__.py:1560
 msgid "Warning: RPMDB altered outside of yum."
 msgstr "Abisua: RPMDB yum-etik kanpo aldatu da."
 
-#: ../yum/__init__.py:1407
+#: ../yum/__init__.py:1572
 msgid "missing requires"
 msgstr "galdutako betebeharrak"
 
-#: ../yum/__init__.py:1408
+#: ../yum/__init__.py:1573
 msgid "installed conflict"
 msgstr "gatazka instalazioan"
 
-#: ../yum/__init__.py:1525
+#: ../yum/__init__.py:1709
 msgid ""
 "Warning: scriptlet or other non-fatal errors occurred during transaction."
-msgstr ""
-"Abisua: transakzioan zehar erroreak scriptlet-ekin edo beste errore ez-larri"
-" batzuk gertatu dira"
+msgstr "Abisua: transakzioan zehar erroreak scriptlet-ekin edo beste errore ez-larri batzuk gertatu dira"
 
-#: ../yum/__init__.py:1535
+#: ../yum/__init__.py:1719
 msgid "Transaction couldn't start:"
 msgstr "Transakzioa ezin izan da abiarazi:"
 
 #. should this be 'to_unicoded'?
-#: ../yum/__init__.py:1538
+#: ../yum/__init__.py:1722
 msgid "Could not run transaction."
 msgstr "Ezin izan da transakzioa exekutatu."
 
-#: ../yum/__init__.py:1552
+#: ../yum/__init__.py:1736
 #, python-format
 msgid "Failed to remove transaction file %s"
 msgstr "%s transakzio-fitxategia kentzeak huts egin du"
 
 #. maybe a file log here, too
 #. but raising an exception is not going to do any good
-#: ../yum/__init__.py:1590
+#: ../yum/__init__.py:1792
 #, python-format
 msgid "%s was supposed to be installed but is not!"
 msgstr "%s instalatuko zela uste zen baina ez dago instalatuta!"
 
 #. maybe a file log here, too
 #. but raising an exception is not going to do any good
-#: ../yum/__init__.py:1651
+#. Note: This actually triggers atm. because we can't
+#. always find the erased txmbr to set it when
+#. we should.
+#: ../yum/__init__.py:1869
 #, python-format
 msgid "%s was supposed to be removed but is not!"
 msgstr "%s kenduko zela uste zen baina ez da kendu!"
 
-#: ../yum/__init__.py:1768
+#. Another copy seems to be running.
+#: ../yum/__init__.py:2004
 #, python-format
-msgid "Could not open lock %s: %s"
-msgstr "Ezin da %s blokeoa ireki: %s"
+msgid "Existing lock %s: another copy is running as pid %s."
+msgstr "%s blokeoa existitzen da: beste kopia bat %s PIDarekin ari da exekutatzen"
 
 #. Whoa. What the heck happened?
-#: ../yum/__init__.py:1785
+#: ../yum/__init__.py:2053
 #, python-format
-msgid "Unable to check if PID %s is active"
-msgstr "Ezin izan da egiaztatu %s PIDa aktibo dagoen ala ez"
+msgid "Could not create lock at %s: %s "
+msgstr "Ezin izan da blokeoa sortu %s-(e)n: %s "
 
-#. Another copy seems to be running.
-#: ../yum/__init__.py:1789
+#: ../yum/__init__.py:2065
 #, python-format
-msgid "Existing lock %s: another copy is running as pid %s."
-msgstr ""
-"%s blokeoa existitzen da: beste kopia bat %s PIDarekin ari da exekutatzen"
+msgid "Could not open lock %s: %s"
+msgstr "Ezin da %s blokeoa ireki: %s"
 
+#. The pid doesn't exist
 #. Whoa. What the heck happened?
-#: ../yum/__init__.py:1830
+#: ../yum/__init__.py:2082
 #, python-format
-msgid "Could not create lock at %s: %s "
-msgstr "Ezin izan da blokeoa sortu %s-(e)n: %s "
+msgid "Unable to check if PID %s is active"
+msgstr "Ezin izan da egiaztatu %s PIDa aktibo dagoen ala ez"
 
-#: ../yum/__init__.py:1875
+#: ../yum/__init__.py:2132
 #, python-format
 msgid ""
 "Package does not match intended download. Suggestion: run yum "
 "--enablerepo=%s clean metadata"
-msgstr ""
-"Paketea ez dator bat esandako deskargarekin. Iradokizuna: exekutatu yum "
-"--enablerepo=%s clean metadata"
+msgstr "Paketea ez dator bat esandako deskargarekin. Iradokizuna: exekutatu yum --enablerepo=%s clean metadata"
 
-#: ../yum/__init__.py:1891
+#: ../yum/__init__.py:2155
 msgid "Could not perform checksum"
 msgstr "Ezin izan da checksum-a egin"
 
-#: ../yum/__init__.py:1894
+#: ../yum/__init__.py:2158
 msgid "Package does not match checksum"
 msgstr "Paketea ez dator bat checksum-arekin"
 
-#: ../yum/__init__.py:1946
+#: ../yum/__init__.py:2222
 #, python-format
 msgid "package fails checksum but caching is enabled for %s"
-msgstr ""
-"paketeak huts egin du checksum-ean baina katxea gaituta dago %s-(e)rako"
+msgstr "paketeak huts egin du checksum-ean baina katxea gaituta dago %s-(e)rako"
 
-#: ../yum/__init__.py:1949 ../yum/__init__.py:1979
+#: ../yum/__init__.py:2225 ../yum/__init__.py:2268
 #, python-format
 msgid "using local copy of %s"
 msgstr "%s-(r)en kopia lokala erabiltzen"
 
-#: ../yum/__init__.py:1991
-#, python-format
-msgid ""
-"Insufficient space in download directory %s\n"
-"    * free   %s\n"
-"    * needed %s"
+#. caller handles errors
+#: ../yum/__init__.py:2342
+msgid "exiting because --downloadonly specified"
 msgstr ""
-"Ez dago aski espaziorik %s deskarga-direktorioan\n"
-"    *lekua %s\n"
-"    * behar da %s"
 
-#: ../yum/__init__.py:2052
+#: ../yum/__init__.py:2371
 msgid "Header is not complete."
 msgstr "Goiburua ez dago osorik."
 
-#: ../yum/__init__.py:2089
+#: ../yum/__init__.py:2411
 #, python-format
 msgid ""
 "Header not in local cache and caching-only mode enabled. Cannot download %s"
-msgstr ""
-"Goiburua ez dago katxe lokalean eta katxea-bakarrik modua dago gaituta. Ezin"
-" da %s deskargatu"
+msgstr "Goiburua ez dago katxe lokalean eta katxea-bakarrik modua dago gaituta. Ezin da %s deskargatu"
 
-#: ../yum/__init__.py:2147
+#: ../yum/__init__.py:2471
 #, python-format
 msgid "Public key for %s is not installed"
 msgstr "%s-(r)entzako gako publikoa ez dago instalatuta"
 
-#: ../yum/__init__.py:2151
+#: ../yum/__init__.py:2475
 #, python-format
 msgid "Problem opening package %s"
 msgstr "Arazoa %s paketea irekitzen"
 
-#: ../yum/__init__.py:2159
+#: ../yum/__init__.py:2483
 #, python-format
 msgid "Public key for %s is not trusted"
 msgstr "%s-(r)entzako gako publikoa ez da fidagarria"
 
-#: ../yum/__init__.py:2163
+#: ../yum/__init__.py:2487
 #, python-format
 msgid "Package %s is not signed"
 msgstr "%s paketea ez dago sinatuta"
 
-#: ../yum/__init__.py:2202
+#: ../yum/__init__.py:2529
 #, python-format
 msgid "Cannot remove %s"
 msgstr "Ezin da %s kendu"
 
-#: ../yum/__init__.py:2206
+#: ../yum/__init__.py:2533
 #, python-format
 msgid "%s removed"
 msgstr "%s kendu da"
 
-#: ../yum/__init__.py:2252
+#: ../yum/__init__.py:2594
 #, python-format
 msgid "Cannot remove %s file %s"
 msgstr "Ezin da %s fitxategi %s kendu"
 
-#: ../yum/__init__.py:2256
+#: ../yum/__init__.py:2598
 #, python-format
 msgid "%s file %s removed"
 msgstr "%s fitxategi %s kendu da"
 
-#: ../yum/__init__.py:2258
+#: ../yum/__init__.py:2600
 #, python-format
-msgid "%d %s files removed"
-msgstr "%d %s fitxategi kendu dira"
+msgid "%d %s file removed"
+msgid_plural "%d %s files removed"
+msgstr[0] "Fitxategi %d %s kendu da"
+msgstr[1] "%d %s fitxategi kendu dira"
 
-#: ../yum/__init__.py:2327
+#: ../yum/__init__.py:2712
 #, python-format
 msgid "More than one identical match in sack for %s"
 msgstr "Bat etortze bat baino gehiago dago multzoan %s(e)rako"
 
-#: ../yum/__init__.py:2333
+#: ../yum/__init__.py:2718
 #, python-format
 msgid "Nothing matches %s.%s %s:%s-%s from update"
 msgstr "Ezer ez dator bat %s-(r)ekin.%s %s:%s-%s eguneraketatik"
 
-#: ../yum/__init__.py:2632
+#: ../yum/__init__.py:3096
 msgid ""
 "searchPackages() will go away in a future version of Yum."
 "                      Use searchGenerator() instead. \n"
-msgstr ""
-"searchPackages() desagertu egingo da yum-en etorkizuneko bertsio batean."
-"                      Erabili searchGenerator() haren ordez. \n"
+msgstr "searchPackages() desagertu egingo da yum-en etorkizuneko bertsio batean.                      Erabili searchGenerator() haren ordez. \n"
 
-#: ../yum/__init__.py:2675
+#: ../yum/__init__.py:3149
 #, python-format
-msgid "Searching %d packages"
-msgstr "%d pakete bilatzen"
+msgid "Searching %d package"
+msgid_plural "Searching %d packages"
+msgstr[0] "Pakete %d bilatzen"
+msgstr[1] "%d pakete bilatzen"
 
-#: ../yum/__init__.py:2679
+#: ../yum/__init__.py:3153
 #, python-format
 msgid "searching package %s"
 msgstr "Pakete %s bilatzen"
 
-#: ../yum/__init__.py:2691
+#: ../yum/__init__.py:3165
 msgid "searching in file entries"
 msgstr "fitxategi-sarreretan bilatzen"
 
-#: ../yum/__init__.py:2698
+#: ../yum/__init__.py:3172
 msgid "searching in provides entries"
 msgstr "hornitze-sarreretan bilatzen"
 
-#: ../yum/__init__.py:2777
+#: ../yum/__init__.py:3369
 msgid "No group data available for configured repositories"
 msgstr "Ez dago talde-daturik eskuragarri konfiguratutako biltegietarako"
 
-#: ../yum/__init__.py:2808 ../yum/__init__.py:2827 ../yum/__init__.py:2858
-#: ../yum/__init__.py:2864 ../yum/__init__.py:2953 ../yum/__init__.py:2957
-#: ../yum/__init__.py:3339
+#: ../yum/__init__.py:3466 ../yum/__init__.py:3500 ../yum/__init__.py:3576
+#: ../yum/__init__.py:3582 ../yum/__init__.py:3719 ../yum/__init__.py:3723
+#: ../yum/__init__.py:4298
 #, python-format
 msgid "No Group named %s exists"
 msgstr "Ez da existitzen %s deritzon talderik"
 
-#: ../yum/__init__.py:2839 ../yum/__init__.py:2973
+#: ../yum/__init__.py:3512 ../yum/__init__.py:3740
 #, python-format
 msgid "package %s was not marked in group %s"
 msgstr "%s paketea ez da markatua izan %s taldean"
 
-#: ../yum/__init__.py:2887
+#. (upgrade and igroup_data[pkg] == 'available')):
+#: ../yum/__init__.py:3622
+#, python-format
+msgid "Skipping package %s from group %s"
+msgstr "%s paketea (%s taldekoa) saltatzen"
+
+#: ../yum/__init__.py:3628
 #, python-format
 msgid "Adding package %s from group %s"
 msgstr "%s taldeko %s paketea gehitzen"
 
-#: ../yum/__init__.py:2891
+#: ../yum/__init__.py:3649
 #, python-format
 msgid "No package named %s available to be installed"
 msgstr "Ez dago %s izeneko paketerik eskuragarri instalatua izateko"
 
-#: ../yum/__init__.py:2941
+#: ../yum/__init__.py:3702
 #, python-format
-msgid "Warning: Group %s does not have any packages."
-msgstr "Abisua: %s taldeak ez du paketerik."
+msgid "Warning: Group %s does not have any packages to install."
+msgstr ""
 
-#: ../yum/__init__.py:2943
+#: ../yum/__init__.py:3704
 #, python-format
 msgid "Group %s does have %u conditional packages, which may get installed."
 msgstr "%s taldeak %u baldintza-pakete ditu, instalatuak izan daitezkeenak."
 
+#: ../yum/__init__.py:3794
+#, python-format
+msgid "Skipping group %s from environment %s"
+msgstr ""
+
 #. This can happen due to excludes after .up has
 #. happened.
-#: ../yum/__init__.py:3002
+#: ../yum/__init__.py:3858
 #, python-format
 msgid "Package tuple %s could not be found in packagesack"
 msgstr "%s pakete-tuplea ez da aurkitu pakete-multzoan"
 
-#: ../yum/__init__.py:3022
+#: ../yum/__init__.py:3886
 #, python-format
 msgid "Package tuple %s could not be found in rpmdb"
 msgstr "%s pakete-tuplea ez da aurkitu rpmdb-n"
 
-#: ../yum/__init__.py:3079 ../yum/__init__.py:3129
+#: ../yum/__init__.py:3949 ../yum/__init__.py:4012
 #, python-format
 msgid "Invalid version flag from: %s"
 msgstr "Baliogabeko bertsio-bandera: %s"
 
-#: ../yum/__init__.py:3096 ../yum/__init__.py:3101
+#: ../yum/__init__.py:3973 ../yum/__init__.py:3979 ../yum/__init__.py:4036
+#: ../yum/__init__.py:4042
 #, python-format
 msgid "No Package found for %s"
 msgstr "Ez da paketerik aurkitu %s-(e)rako"
 
-#: ../yum/__init__.py:3401
+#: ../yum/__init__.py:4245 ../yum/__init__.py:4274
+#, python-format
+msgid "Warning: Environment Group %s does not exist."
+msgstr ""
+
+#: ../yum/__init__.py:4397
+#, python-format
+msgid "Package: %s - can't co-install with %s"
+msgstr ""
+
+#: ../yum/__init__.py:4437
 msgid "Package Object was not a package object instance"
 msgstr "Package Object ez da pakete-objektuen instantzia bat"
 
-#: ../yum/__init__.py:3405
+#: ../yum/__init__.py:4441
 msgid "Nothing specified to install"
 msgstr "Ez da instalatzeko ezer zehaztu"
 
-#: ../yum/__init__.py:3424 ../yum/__init__.py:4283
+#: ../yum/__init__.py:4465 ../yum/__init__.py:5410
 #, python-format
 msgid "Checking for virtual provide or file-provide for %s"
 msgstr "Hornitze birtualen edo fitxategi-hornitzeen bila %s-(e)rako"
 
-#: ../yum/__init__.py:3430 ../yum/__init__.py:3775 ../yum/__init__.py:3969
-#: ../yum/__init__.py:4289
-#, python-format
-msgid "No Match for argument: %s"
-msgstr "Ez dago bat etortzerik argumenturako: %s"
-
-#: ../yum/__init__.py:3507
+#: ../yum/__init__.py:4542
 #, python-format
 msgid "Package %s installed and not available"
 msgstr "%s paketea instalatuta dago eta ez dago eskuragarri"
 
-#: ../yum/__init__.py:3510
+#: ../yum/__init__.py:4545
 msgid "No package(s) available to install"
 msgstr "Ez dago paketerik eskuragarri instalatua izateko"
 
-#: ../yum/__init__.py:3522
+#: ../yum/__init__.py:4557
 #, python-format
 msgid "Package: %s  - already in transaction set"
 msgstr "Paketea: %s - jadanik transakzio-multzoan"
 
-#: ../yum/__init__.py:3550
+#: ../yum/__init__.py:4589
 #, python-format
 msgid "Package %s is obsoleted by %s which is already installed"
-msgstr ""
-"%s paketea zaharkitua dago, bere ordezkoa den %s paketea instalatuta dago"
+msgstr "%s paketea zaharkitua dago, bere ordezkoa den %s paketea instalatuta dago"
 
-#: ../yum/__init__.py:3555
+#: ../yum/__init__.py:4594
 #, python-format
 msgid ""
 "Package %s is obsoleted by %s, but obsoleting package does not provide for "
 "requirements"
-msgstr ""
-"%s paketea zaharkitua dago, eta bere ordezkoa den %s paketeak ez ditu "
-"eskakizunak betetzen"
+msgstr "%s paketea zaharkitua dago, eta bere ordezkoa den %s paketeak ez ditu eskakizunak betetzen"
 
-#: ../yum/__init__.py:3558
+#: ../yum/__init__.py:4597
 #, python-format
 msgid "Package %s is obsoleted by %s, trying to install %s instead"
-msgstr ""
-"%s paketea zaharkitua dago, bere ordezkoa %s da, %s instalatzen saiatzen"
+msgstr "%s paketea zaharkitua dago, bere ordezkoa %s da, %s instalatzen saiatzen"
 
-#: ../yum/__init__.py:3566
+#: ../yum/__init__.py:4605
 #, python-format
 msgid "Package %s already installed and latest version"
 msgstr "%s paketea jadanik instalatuta dago bere azken bertsioan"
 
-#: ../yum/__init__.py:3580
+#: ../yum/__init__.py:4619
 #, python-format
 msgid "Package matching %s already installed. Checking for update."
-msgstr ""
-"Bat datorren %s paketea jadanik instalatuta dago. Eguneraketak egiaztatzen."
+msgstr "Bat datorren %s paketea jadanik instalatuta dago. Eguneraketak egiaztatzen."
 
 #. update everything (the easy case)
-#: ../yum/__init__.py:3684
+#: ../yum/__init__.py:4751
 msgid "Updating Everything"
 msgstr "Dena eguneratzen"
 
-#: ../yum/__init__.py:3708 ../yum/__init__.py:3849 ../yum/__init__.py:3879
-#: ../yum/__init__.py:3915
+#: ../yum/__init__.py:4775 ../yum/__init__.py:4930 ../yum/__init__.py:4975
+#: ../yum/__init__.py:5011
 #, python-format
 msgid "Not Updating Package that is already obsoleted: %s.%s %s:%s-%s"
 msgstr "Ez eguneratzen jadanik zaharkitua dagoen paketea: %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3753 ../yum/__init__.py:3965
+#: ../yum/__init__.py:4830 ../yum/__init__.py:5072
 #, python-format
 msgid "%s"
 msgstr "%s"
 
-#: ../yum/__init__.py:3838
+#: ../yum/__init__.py:4854 ../yum/__init__.py:5080 ../yum/__init__.py:5416
+#, python-format
+msgid "No Match for argument: %s"
+msgstr "Ez dago bat etortzerik argumenturako: %s"
+
+#: ../yum/__init__.py:4872
+#, python-format
+msgid "No package matched to upgrade: %s"
+msgstr "Ez dago bertsio-berritzeko bat datorren paketerik: %s"
+
+#: ../yum/__init__.py:4919
 #, python-format
 msgid "Package is already obsoleted: %s.%s %s:%s-%s"
 msgstr "Paketea zaharkitua dago jadanik: %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3874
+#: ../yum/__init__.py:4970
 #, python-format
 msgid "Not Updating Package that is obsoleted: %s"
 msgstr "Ez eguneratzen zaharkitua dagoen paketea: %s"
 
-#: ../yum/__init__.py:3883 ../yum/__init__.py:3919
+#: ../yum/__init__.py:4979 ../yum/__init__.py:5015
 #, python-format
 msgid "Not Updating Package that is already updated: %s.%s %s:%s-%s"
 msgstr "Ez eguneratzen jadanik eguneratua dagoen paketea: %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3982
-msgid "No package matched to remove"
-msgstr "Ez dago kentzeko bat datorren paketerik"
+#: ../yum/__init__.py:5093
+#, python-format
+msgid "No package matched to remove: %s"
+msgstr "Ez dago kentzeko bat datorren paketerik: %s"
 
-#: ../yum/__init__.py:3988
+#: ../yum/__init__.py:5099
 #, python-format
 msgid "Skipping the running kernel: %s"
 msgstr "Exekutatzen ari den kernela saltatzen: %s"
 
-#: ../yum/__init__.py:3994
+#: ../yum/__init__.py:5105
 #, python-format
 msgid "Removing %s from the transaction"
 msgstr "%s kentzen transakziotik"
 
-#: ../yum/__init__.py:4029
+#: ../yum/__init__.py:5142
 #, python-format
 msgid "Cannot open: %s. Skipping."
 msgstr "Ezin da ireki: %s. Saltatzen."
 
-#: ../yum/__init__.py:4032 ../yum/__init__.py:4150 ../yum/__init__.py:4226
+#: ../yum/__init__.py:5145 ../yum/__init__.py:5262 ../yum/__init__.py:5347
 #, python-format
 msgid "Examining %s: %s"
 msgstr "%s aztertzen: %s"
 
-#: ../yum/__init__.py:4036
+#: ../yum/__init__.py:5149
 #, python-format
 msgid "Cannot localinstall deltarpm: %s. Skipping."
 msgstr "Ezin da lokalean instalatu deltarpm: %s. Saltatzen."
 
-#: ../yum/__init__.py:4045 ../yum/__init__.py:4153 ../yum/__init__.py:4229
+#: ../yum/__init__.py:5158 ../yum/__init__.py:5265 ../yum/__init__.py:5350
 #, python-format
 msgid ""
 "Cannot add package %s to transaction. Not a compatible architecture: %s"
-msgstr ""
-"Ezin da %s paketea gehitu transakzioari. Arkitektura ez da bateragarri: %s"
+msgstr "Ezin da %s paketea gehitu transakzioari. Arkitektura ez da bateragarri: %s"
 
-#: ../yum/__init__.py:4051
+#: ../yum/__init__.py:5164
 #, python-format
 msgid "Cannot install package %s. It is obsoleted by installed package %s"
-msgstr ""
-"Ezin da %s paketea instalatu. Instalatutako %s paketeak zaharkitu egin du"
+msgstr "Ezin da %s paketea instalatu. Instalatutako %s paketeak zaharkitu egin du"
 
-#: ../yum/__init__.py:4059
+#: ../yum/__init__.py:5172
 #, python-format
 msgid ""
 "Package %s not installed, cannot update it. Run yum install to install it "
 "instead."
-msgstr ""
-"%s paketea ez dago instalatuta, ezin da eguneratu. Exekutatu yum install "
-"hura instalatzeko."
+msgstr "%s paketea ez dago instalatuta, ezin da eguneratu. Exekutatu yum install hura instalatzeko."
 
-#: ../yum/__init__.py:4078 ../yum/__init__.py:4085
+#: ../yum/__init__.py:5191 ../yum/__init__.py:5198
 #, python-format
 msgid ""
 "Package %s.%s not installed, cannot update it. Run yum install to install it"
 " instead."
-msgstr ""
-"%s.%s paketea ez dago instalatua, ezin da eguneratu. Exekutatu yum install "
-"hura instalatzeko."
+msgstr "%s.%s paketea ez dago instalatua, ezin da eguneratu. Exekutatu yum install hura instalatzeko."
 
-#: ../yum/__init__.py:4094 ../yum/__init__.py:4158 ../yum/__init__.py:4234
+#: ../yum/__init__.py:5207 ../yum/__init__.py:5270 ../yum/__init__.py:5355
 #, python-format
 msgid "Excluding %s"
 msgstr "%s baztertzen"
 
-#: ../yum/__init__.py:4099
+#: ../yum/__init__.py:5212
 #, python-format
 msgid "Marking %s to be installed"
 msgstr "%s markatzen instalatua izateko"
 
-#: ../yum/__init__.py:4105
+#: ../yum/__init__.py:5218
 #, python-format
 msgid "Marking %s as an update to %s"
 msgstr "%s markatzen %s(r)en eguneraketa gisa"
 
-#: ../yum/__init__.py:4112
+#: ../yum/__init__.py:5225
 #, python-format
 msgid "%s: does not update installed package."
 msgstr "%s: ez du instalatutako paketea eguneratzen."
 
-#: ../yum/__init__.py:4147 ../yum/__init__.py:4223
+#: ../yum/__init__.py:5259 ../yum/__init__.py:5344
 #, python-format
 msgid "Cannot open file: %s. Skipping."
 msgstr "Ezin da fitxategia ireki: %s. Saltatzen."
 
-#: ../yum/__init__.py:4177
+#: ../yum/__init__.py:5299
 msgid "Problem in reinstall: no package matched to remove"
 msgstr "Arazoa berrinstalatzean: kentzeko paketeak ez datoz bat"
 
-#: ../yum/__init__.py:4203
+#: ../yum/__init__.py:5325
 #, python-format
 msgid "Problem in reinstall: no package %s matched to install"
 msgstr "Arazoa berrinstalatzean: %s paketea ez dator bat instalazioarekin"
 
-#: ../yum/__init__.py:4311
+#: ../yum/__init__.py:5438
 msgid "No package(s) available to downgrade"
 msgstr "Ez dago paketerik eskuragarri bertsio zaharragoa instalatzeko"
 
-#: ../yum/__init__.py:4319
+#: ../yum/__init__.py:5446
 #, python-format
 msgid "Package %s is allowed multiple installs, skipping"
 msgstr "%s paketeari instalazio anitz onartzen zaizkio, saltatzen"
 
-#: ../yum/__init__.py:4365
+#: ../yum/__init__.py:5496
 #, python-format
 msgid "No Match for available package: %s"
 msgstr "Ez dago bat etortzerik eskuragarri dagoen paketerako: %s"
 
-#: ../yum/__init__.py:4372
+#: ../yum/__init__.py:5506
 #, python-format
 msgid "Only Upgrade available on package: %s"
 msgstr "Bertsio-berritzea soilik dago eskuragarri pakete honetarako: %s"
 
-#: ../yum/__init__.py:4442 ../yum/__init__.py:4479
+#: ../yum/__init__.py:5619 ../yum/__init__.py:5686
 #, python-format
 msgid "Failed to downgrade: %s"
 msgstr "Bertsio zaharragoa instalatzeak huts egin du: %s"
 
-#: ../yum/__init__.py:4516
+#: ../yum/__init__.py:5636 ../yum/__init__.py:5692
+#, python-format
+msgid "Failed to upgrade: %s"
+msgstr "Bertsio-berritzeak huts egin du: %s"
+
+#: ../yum/__init__.py:5725
 #, python-format
 msgid "Retrieving key from %s"
 msgstr "Gakoa atzitzen %s-(e)tik"
 
-#: ../yum/__init__.py:4534
+#: ../yum/__init__.py:5743
 msgid "GPG key retrieval failed: "
 msgstr "GPG gakoaren atzipenak huts egin du: "
 
 #. if we decide we want to check, even though the sig failed
 #. here is where we would do that
-#: ../yum/__init__.py:4557
+#: ../yum/__init__.py:5766
 #, python-format
 msgid "GPG key signature on key %s does not match CA Key for repo: %s"
-msgstr ""
-"%s gakoaren GPG gako-sinadura ez dator bat biltegiaren CA gakoarekin: %s"
+msgstr "%s gakoaren GPG gako-sinadura ez dator bat biltegiaren CA gakoarekin: %s"
 
-#: ../yum/__init__.py:4559
+#: ../yum/__init__.py:5768
 msgid "GPG key signature verified against CA Key(s)"
 msgstr "GPG gako-sinadura CA gakoen aurka egiaztatu dira"
 
-#: ../yum/__init__.py:4567
+#: ../yum/__init__.py:5776
 #, python-format
 msgid "Invalid GPG Key from %s: %s"
 msgstr "GPG gako baliogabea %s-(e)tik: %s"
 
-#: ../yum/__init__.py:4576
+#: ../yum/__init__.py:5785
 #, python-format
 msgid "GPG key parsing failed: key does not have value %s"
 msgstr "GPG gakoaren analisiak huts egin du: gakoak ez dauka %s balioa"
 
-#: ../yum/__init__.py:4592
+#: ../yum/__init__.py:5801
 #, python-format
 msgid ""
 "Importing %s key 0x%s:\n"
-" Userid : %s\n"
-" Package: %s (%s)\n"
-" From   : %s"
-msgstr ""
-"%s gakoa inportatzen 0x%s:\n"
-" Erabiltzaile-IDa: %s\n"
-" Paketea: %s (%s)\n"
-" Nondik   : %s"
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" Package    : %s (%s)\n"
+" From       : %s"
+msgstr "%s gakoa inportatzen 0x%s:\n Erabiltzaile-IDa: \"%s\"\n Hatz-marka: %s\n Paketea    : %s (%s)\n Nondik    : %s"
 
-#: ../yum/__init__.py:4600
+#: ../yum/__init__.py:5811
 #, python-format
 msgid ""
 "Importing %s key 0x%s:\n"
-" Userid: \"%s\"\n"
-" From  : %s"
-msgstr ""
-"%s gakoa inportatzen 0x%s:\n"
-" Erabiltzaile-IDa: \"%s\"\n"
-" Nondik  : %s"
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" From       : %s"
+msgstr "%s gakoa inportatzen 0x%s:\n Erabiltzaile-IDa: \"%s\"\n Hatz-marka: %s\n Nondik    : %s"
 
-#: ../yum/__init__.py:4634
+#: ../yum/__init__.py:5839
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" Failing package is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr "\n\n\n Huts egin duen paketea: %s\n GPG gakoak honela daude konfiguratuta: %s\n"
+
+#: ../yum/__init__.py:5853
 #, python-format
 msgid "GPG key at %s (0x%s) is already installed"
 msgstr "%s-(e)ko GPG gakoa (0x%s) jadanik instalatuta dago"
 
-#: ../yum/__init__.py:4671
+#: ../yum/__init__.py:5891
 #, python-format
 msgid "Key import failed (code %d)"
 msgstr "Gakoaren inportazioak huts egin du (%d kodea)"
 
-#: ../yum/__init__.py:4672 ../yum/__init__.py:4755
+#: ../yum/__init__.py:5893 ../yum/__init__.py:5994
 msgid "Key imported successfully"
 msgstr "Gakoa ongi inportatu da"
 
-#: ../yum/__init__.py:4676
+#: ../yum/__init__.py:5897
 msgid "Didn't install any keys"
 msgstr "Ez da gakorik instalatu"
 
-#: ../yum/__init__.py:4680
+#: ../yum/__init__.py:5900
 #, python-format
 msgid ""
 "The GPG keys listed for the \"%s\" repository are already installed but they are not correct for this package.\n"
 "Check that the correct key URLs are configured for this repository."
-msgstr ""
-"\"%s\" biltegirako zerrendatu diren GPG gakoak jadanik instalatuta daude, baina ez dira zuzenak pakete honetarako.\n"
-"Egiaztatu gako URL zuzena konfiguratuta dagoela biltegi honetarako."
+msgstr "\"%s\" biltegirako zerrendatu diren GPG gakoak jadanik instalatuta daude, baina ez dira zuzenak pakete honetarako.\nEgiaztatu gako URL zuzena konfiguratuta dagoela biltegi honetarako."
 
-#: ../yum/__init__.py:4689
+#: ../yum/__init__.py:5910
 msgid "Import of key(s) didn't help, wrong key(s)?"
 msgstr "Gako(ar)en inportazioak ez du balio izan, gako okerra(k)?"
 
-#: ../yum/__init__.py:4713
+#: ../yum/__init__.py:5932
+msgid "No"
+msgstr "Ez"
+
+#: ../yum/__init__.py:5934
+msgid "Yes"
+msgstr "Bai"
+
+#: ../yum/__init__.py:5935
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" CA Key: %s\n"
+" Failing repo is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr "\n\n\n CA gakoa: %s\n Huts egin duen biltegia hau da: %s\n GPG gakoak honela daude konfiguratuta: %s\n"
+
+#: ../yum/__init__.py:5948
 #, python-format
 msgid "GPG key at %s (0x%s) is already imported"
 msgstr "%s (0x%s)-(e)ko GPG gakoa jadanik inportatuta dago"
 
-#: ../yum/__init__.py:4754
-msgid "Key import failed"
-msgstr "Gakoaren inportazioak huts egin du"
+#: ../yum/__init__.py:5992
+#, python-format
+msgid "Key %s import failed"
+msgstr "%s gakoa inportatzeak huts egin du"
 
-#: ../yum/__init__.py:4770
+#: ../yum/__init__.py:6009
 #, python-format
 msgid "Didn't install any keys for repo %s"
 msgstr "Ez da gakorik instalatu %s biltegirako"
 
-#: ../yum/__init__.py:4774
+#: ../yum/__init__.py:6014
 #, python-format
 msgid ""
 "The GPG keys listed for the \"%s\" repository are already installed but they are not correct.\n"
 "Check that the correct key URLs are configured for this repository."
-msgstr ""
-"\"%s\" biltegirako zerrendatu diren GPG gakoak jadanik instalatuta daude, baina ez dira zuzenak.\n"
-"Egiaztatu gako URL zuzena konfiguratuta dagoela biltegi honetarako."
+msgstr "\"%s\" biltegirako zerrendatu diren GPG gakoak jadanik instalatuta daude, baina ez dira zuzenak.\nEgiaztatu gako URL zuzena konfiguratuta dagoela biltegi honetarako."
 
-#: ../yum/__init__.py:4924
+#: ../yum/__init__.py:6172
 msgid "Unable to find a suitable mirror."
 msgstr "Ezin izan da ispilu egokia aurkitu."
 
-#: ../yum/__init__.py:4926
+#: ../yum/__init__.py:6174
 msgid "Errors were encountered while downloading packages."
 msgstr "Erroreak aurkitu dira paketeak deskargatzean."
 
-#: ../yum/__init__.py:4981
+#: ../yum/__init__.py:6229
 #, python-format
 msgid "Please report this error at %s"
 msgstr "Jakinarazi errore hau %s-(e)n"
 
-#: ../yum/__init__.py:4998
+#: ../yum/__init__.py:6246
 msgid "Test Transaction Errors: "
 msgstr "Probatu transakzio-erroreak: "
 
-#: ../yum/__init__.py:5098
+#: ../yum/__init__.py:6358
 #, python-format
 msgid "Could not set cachedir: %s"
 msgstr "Ezin izan da katxe-direktorioa ezarri: %s"
 
-#: ../yum/__init__.py:5148 ../yum/__init__.py:5150
+#: ../yum/__init__.py:6420 ../yum/__init__.py:6422
 msgid "Dependencies not solved. Will not save unresolved transaction."
-msgstr ""
-"Mendekotasunak ez dira konpondu. Ez da gordeko konpondu gabeko transakzioa."
+msgstr "Mendekotasunak ez dira konpondu. Ez da gordeko konpondu gabeko transakzioa."
 
-#: ../yum/__init__.py:5179 ../yum/__init__.py:5181
+#: ../yum/__init__.py:6455 ../yum/__init__.py:6457
 #, python-format
 msgid "Could not save transaction file %s: %s"
 msgstr "Ezin izan da %s transakzio-fitxategia gorde: %s"
 
-#: ../yum/__init__.py:5195
+#: ../yum/__init__.py:6483
 #, python-format
 msgid "Could not access/read saved transaction %s : %s"
 msgstr "Ezin izan da atzitu/irakurri gordetako %s transakzioa: %s"
 
-#: ../yum/__init__.py:5214
-msgid "rpmdb ver mismatched saved transaction version, "
+#: ../yum/__init__.py:6521
+msgid "rpmdb ver mismatched saved transaction version,"
 msgstr ""
 
-#: ../yum/__init__.py:5216
-msgid " ignoring, as requested."
-msgstr " ezikusten, eskatu den bezala."
-
-#: ../yum/__init__.py:5219 ../yum/__init__.py:5354
-msgid " aborting."
-msgstr " abortatzen."
-
-#: ../yum/__init__.py:5228
+#: ../yum/__init__.py:6535
 msgid "cannot find tsflags or tsflags not integer."
 msgstr "ezin da tsflags aurkitu edo tsflags ez da balio osoa."
 
-#: ../yum/__init__.py:5267
+#: ../yum/__init__.py:6584
 #, python-format
 msgid "Found txmbr in unknown current state: %s"
 msgstr "txmbr uneko egoera ezezagunean aurkitu da: %s"
 
-#: ../yum/__init__.py:5271
+#: ../yum/__init__.py:6588
 #, python-format
 msgid "Could not find txmbr: %s in state %s"
 msgstr "Ezin izan da txmbr aurkitu: %s %s egoeran"
 
-#: ../yum/__init__.py:5307 ../yum/__init__.py:5324
+#: ../yum/__init__.py:6625 ../yum/__init__.py:6642
 #, python-format
 msgid "Could not find txmbr: %s from origin: %s"
 msgstr "Ezin izan da txmbr aurkitu: %s jatorritik: %s"
 
-#: ../yum/__init__.py:5349
+#: ../yum/__init__.py:6667
 msgid "Transaction members, relations are missing or ts has been modified,"
 msgstr "Transakzio-kideak, erlazioak galdu dira edo ts aldatua izan da,"
 
-#: ../yum/__init__.py:5351
+#: ../yum/__init__.py:6670
 msgid " ignoring, as requested. You must redepsolve!"
 msgstr " ezikusten, eskatu den bezala. Redepsolve erabili behar duzu!"
 
+#. Debugging output
+#: ../yum/__init__.py:6738 ../yum/__init__.py:6757
+#, python-format
+msgid "%s has been visited already and cannot be removed."
+msgstr "%s jadanik bisitatu da eta ezin da kendu."
+
+#. Debugging output
+#: ../yum/__init__.py:6741
+#, python-format
+msgid "Examining revdeps of %s"
+msgstr "%s paketearen revdep-ak aztertzen"
+
+#. Debugging output
+#: ../yum/__init__.py:6762
+#, python-format
+msgid "%s has revdep %s which was user-installed."
+msgstr "%s paketeak %s revdep-a du, jadanik erabiltzaileak instalatutakoa."
+
+#: ../yum/__init__.py:6773 ../yum/__init__.py:6779
+#, python-format
+msgid "%s is needed by a package to be installed."
+msgstr ""
+
+#. Debugging output
+#: ../yum/__init__.py:6793
+#, python-format
+msgid "%s has no user-installed revdeps."
+msgstr "%s paketeak ez dauka erabiltzaileak instalatutako revdep-ik."
+
 #. Mostly copied from YumOutput._outKeyValFill()
-#: ../yum/plugins.py:209
+#: ../yum/plugins.py:212
 msgid "Loaded plugins: "
 msgstr "Kargatutako pluginak: "
 
-#: ../yum/plugins.py:223 ../yum/plugins.py:229
+#: ../yum/plugins.py:226 ../yum/plugins.py:232
 #, python-format
 msgid "No plugin match for: %s"
 msgstr "Ez dago bat etortzerik pluginerako: %s"
 
-#: ../yum/plugins.py:259
+#: ../yum/plugins.py:262
 #, python-format
 msgid "Not loading \"%s\" plugin, as it is disabled"
 msgstr "\"%s\" plugina ez da kargatuko, desgaituta baitago"
 
 #. Give full backtrace:
-#: ../yum/plugins.py:271
+#: ../yum/plugins.py:274
 #, python-format
 msgid "Plugin \"%s\" can't be imported"
 msgstr "Ezin izan da \"%s\" plugina inportatu"
 
-#: ../yum/plugins.py:278
+#: ../yum/plugins.py:281
 #, python-format
 msgid "Plugin \"%s\" doesn't specify required API version"
 msgstr "\"%s\" pluginak ez du zehaztu behar duen API bertsioa"
 
-#: ../yum/plugins.py:283
+#: ../yum/plugins.py:286
 #, python-format
 msgid "Plugin \"%s\" requires API %s. Supported API is %s."
 msgstr "\"%s\" pluginak APIaren %s bertsioa behar du. Onartutako APIa %s da."
 
-#: ../yum/plugins.py:316
+#: ../yum/plugins.py:319
 #, python-format
 msgid "Loading \"%s\" plugin"
 msgstr "\"%s\" plugina kargatzen"
 
-#: ../yum/plugins.py:323
+#: ../yum/plugins.py:326
 #, python-format
 msgid "Two or more plugins with the name \"%s\" exist in the plugin search path"
-msgstr ""
-"\"%s\" izena duten bi plugin edo gehiago daude pluginak bilatzeko bide-"
-"izenean"
+msgstr "\"%s\" izena duten bi plugin edo gehiago daude pluginak bilatzeko bide-izenean"
 
-#: ../yum/plugins.py:343
+#: ../yum/plugins.py:346
 #, python-format
 msgid "Configuration file %s not found"
 msgstr "Ez da %s konfigurazio-fitxategia aurkitu"
 
 #. for
 #. Configuration files for the plugin not found
-#: ../yum/plugins.py:346
+#: ../yum/plugins.py:349
 #, python-format
 msgid "Unable to find configuration file for plugin %s"
 msgstr "Ezin izan da aurkitu %s pluginaren konfigurazio-fitxategia"
 
-#: ../yum/plugins.py:508
+#: ../yum/plugins.py:553
 msgid "registration of commands not supported"
 msgstr "komandoen erregistroa ez da onartzen"
 
-#: ../yum/rpmsack.py:148
+#: ../yum/rpmsack.py:159
 msgid "has missing requires of"
 msgstr "aurkitzen ez diren betebeharrak ditu"
 
-#: ../yum/rpmsack.py:151
+#: ../yum/rpmsack.py:162
 msgid "has installed conflicts"
 msgstr "instalatutako gatazkak dauzka"
 
-#: ../yum/rpmsack.py:160
+#: ../yum/rpmsack.py:171
 #, python-format
 msgid "%s is a duplicate with %s"
 msgstr "%s %s-(r)en bikoiztua da"
 
-#: ../yum/rpmsack.py:168
+#: ../yum/rpmsack.py:179
 #, python-format
 msgid "%s is obsoleted by %s"
 msgstr "%s zaharkitua utzi du %s-(e)k"
 
-#: ../yum/rpmsack.py:176
+#: ../yum/rpmsack.py:187
 #, python-format
 msgid "%s provides %s but it cannot be found"
 msgstr "%s-(e)k %s hornitzen du baina ezin da aurkitu"
@@ -3168,6 +3460,23 @@ msgstr "%s-(e)k %s hornitzen du baina ezin da aurkitu"
 msgid "Repackaging"
 msgstr "Birpaketatzen"
 
+#: ../yum/rpmtrans.py:149
+#, python-format
+msgid "Verify: %u/%u: %s"
+msgstr "Egiaztatu: %u/%u: %s"
+
+#: ../yum/yumRepo.py:919
+#, python-format
+msgid ""
+"Insufficient space in download directory %s\n"
+"    * free   %s\n"
+"    * needed %s"
+msgstr "Ez dago aski espaziorik %s deskarga-direktorioan\n    *lekua %s\n    * behar da %s"
+
+#: ../yum/yumRepo.py:986
+msgid "Package does not match intended download."
+msgstr ""
+
 #: ../rpmUtils/oldUtils.py:33
 #, python-format
 msgid "Header cannot be opened or does not match %s, %s."
@@ -3180,9 +3489,7 @@ msgstr "%s RPMak ez du md5 egiaztapena gainditu"
 
 #: ../rpmUtils/oldUtils.py:151
 msgid "Could not open RPM database for reading. Perhaps it is already in use?"
-msgstr ""
-"Ezin izan da RPM datu-basea ireki hura irakurtzeko. Agian norbait erabiltzen"
-" al da?"
+msgstr "Ezin izan da RPM datu-basea ireki hura irakurtzeko. Agian norbait erabiltzen al da?"
 
 #: ../rpmUtils/oldUtils.py:183
 msgid "Got an empty Header, something has gone wrong"
@@ -3198,5 +3505,3 @@ msgstr "%s goiburua hondatuta dago"
 #, python-format
 msgid "Error opening rpm %s - error %s"
 msgstr "Errorea %s rpm irekitzean - %s errorea"
-
-
diff --git a/po/fi.po b/po/fi.po
index 269bf15..630253e 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -2,1516 +2,1644 @@
 # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
 # This file is distributed under the same license as the PACKAGE package.
 # 
-# Ville-Pekka Vainio <vpivaini@cs.helsinki.fi>, 2011
+# Translators:
+# Ville-Pekka Vainio <vpivaini@cs.helsinki.fi>, 2011.
 msgid ""
 msgstr ""
 "Project-Id-Version: Yum\n"
-"Report-Msgid-Bugs-To: http://yum.baseurl.org/\n"
-"POT-Creation-Date: 2011-06-06 10:21-0400\n"
-"PO-Revision-Date: 2011-06-06 14:21+0000\n"
-"Last-Translator: skvidal <skvidal@fedoraproject.org>\n"
+"Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
+"POT-Creation-Date: 2013-01-30 09:08-0500\n"
+"PO-Revision-Date: 2013-01-30 14:08+0000\n"
+"Last-Translator: james <james@fedoraproject.org>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Language: fi\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: ../callback.py:48 ../output.py:1037 ../yum/rpmtrans.py:73
+#: ../callback.py:45 ../output.py:1502 ../yum/rpmtrans.py:73
 msgid "Updating"
 msgstr "Päivitetään"
 
-#: ../callback.py:49 ../yum/rpmtrans.py:74
+#: ../callback.py:46 ../yum/rpmtrans.py:74
 msgid "Erasing"
 msgstr "Poistetaan"
 
-#: ../callback.py:50 ../callback.py:51 ../callback.py:53 ../output.py:1036
-#: ../output.py:2218 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
+#: ../callback.py:47 ../callback.py:48 ../callback.py:50 ../output.py:1501
+#: ../output.py:2922 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
 #: ../yum/rpmtrans.py:78
 msgid "Installing"
 msgstr "Asennetaan"
 
-#: ../callback.py:52 ../callback.py:58 ../output.py:1840 ../yum/rpmtrans.py:77
+#: ../callback.py:49 ../callback.py:55 ../output.py:2379 ../yum/rpmtrans.py:77
 msgid "Obsoleted"
 msgstr "Vanhennettu"
 
-#: ../callback.py:54 ../output.py:1169 ../output.py:1686 ../output.py:1847
+#: ../callback.py:51 ../output.py:1670 ../output.py:2222 ../output.py:2386
 msgid "Updated"
 msgstr "Päivitetty"
 
-#: ../callback.py:55 ../output.py:1685
+#: ../callback.py:52 ../output.py:2221
 msgid "Erased"
 msgstr "Poistettu"
 
-#: ../callback.py:56 ../callback.py:57 ../callback.py:59 ../output.py:1167
-#: ../output.py:1685 ../output.py:1687 ../output.py:2190
+#: ../callback.py:53 ../callback.py:54 ../callback.py:56 ../output.py:1668
+#: ../output.py:2221 ../output.py:2223 ../output.py:2894
 msgid "Installed"
 msgstr "Asennettu"
 
-#: ../callback.py:130
+#: ../callback.py:142
 msgid "No header - huh?"
 msgstr "Ei otsaketta – häh?"
 
-#: ../callback.py:168
+#: ../callback.py:180
 msgid "Repackage"
 msgstr "Uudelleenpaketoi"
 
-#: ../callback.py:189
+#: ../callback.py:201
 #, python-format
 msgid "Error: invalid output state: %s for %s"
 msgstr "Virhe: virheellinen tulostetila: %s, paketti %s"
 
-#: ../callback.py:212
+#: ../callback.py:224
 #, python-format
 msgid "Erased: %s"
 msgstr "Poistettiin: %s"
 
-#: ../callback.py:217 ../output.py:1038 ../output.py:2193
+#: ../callback.py:229 ../output.py:1503 ../output.py:2897
 msgid "Removing"
 msgstr "Poistetaan"
 
-#: ../callback.py:219 ../yum/rpmtrans.py:79
+#: ../callback.py:231 ../yum/rpmtrans.py:79
 msgid "Cleanup"
 msgstr "Siivotaan"
 
-#: ../cli.py:115
+#: ../cli.py:122
 #, python-format
 msgid "Command \"%s\" already defined"
 msgstr "Komento ”%s” on jo määritelty"
 
-#: ../cli.py:127
+#: ../cli.py:137
 msgid "Setting up repositories"
 msgstr "Tehdään asennuslähdeasetuksia"
 
-#: ../cli.py:138
+#: ../cli.py:148
 msgid "Reading repository metadata in from local files"
 msgstr "Luetaan asennuslähteiden metadataa paikallisista tiedostoista"
 
-#: ../cli.py:245 ../utils.py:281
+#: ../cli.py:273 ../cli.py:277 ../utils.py:320
 #, python-format
 msgid "Config Error: %s"
 msgstr "Asetusvirhe: %s"
 
-#: ../cli.py:248 ../cli.py:1584 ../utils.py:284
+#: ../cli.py:280 ../cli.py:2206 ../utils.py:323
 #, python-format
 msgid "Options Error: %s"
 msgstr "Valitsinvirhe: %s"
 
-#: ../cli.py:293
+#: ../cli.py:327
 #, python-format
 msgid "  Installed: %s-%s at %s"
 msgstr "  Asennettiin : %s-%s ajassa %s"
 
-#: ../cli.py:295
+#: ../cli.py:329
 #, python-format
 msgid "  Built    : %s at %s"
 msgstr "  Käännettiin : %s ajassa %s"
 
-#: ../cli.py:297
+#: ../cli.py:331
 #, python-format
 msgid "  Committed: %s at %s"
 msgstr "  Suoritettiin: %s ajassa %s"
 
-#: ../cli.py:336
+#: ../cli.py:372
 msgid "You need to give some command"
 msgstr "Jokin komento on annettava"
 
-#: ../cli.py:350
+#: ../cli.py:386
 #, python-format
 msgid "No such command: %s. Please use %s --help"
 msgstr "Komentoa %s ei ole olemassa. Käytä komentoa %s --help"
 
-#: ../cli.py:400
+#: ../cli.py:444
 msgid "Disk Requirements:\n"
 msgstr "Vaadittu levytila:\n"
 
-#: ../cli.py:402
+#: ../cli.py:446
 #, python-format
 msgid "  At least %dMB more space needed on the %s filesystem.\n"
-msgstr "  Vähintään %d Mt levytilaa tarvitaan tiedostojärjestelmällä %s.\n"
+msgid_plural "  At least %dMB more space needed on the %s filesystem.\n"
+msgstr[0] ""
+msgstr[1] "  Vähintään %d Mt levytilaa tarvitaan tiedostojärjestelmällä %s.\n"
 
 #. TODO: simplify the dependency errors?
 #. Fixup the summary
-#: ../cli.py:407
+#: ../cli.py:451
 msgid ""
 "Error Summary\n"
 "-------------\n"
+msgstr "Yhteenveto virheistä\n--------------------\n"
+
+#: ../cli.py:472
+msgid "Can't create lock file; exiting"
 msgstr ""
-"Yhteenveto virheistä\n"
-"--------------------\n"
 
-#: ../cli.py:450
+#: ../cli.py:479
+msgid ""
+"Another app is currently holding the yum lock; exiting as configured by "
+"exit_on_lock"
+msgstr "Toinen ohjelma pitää tällä hetkellä yumin lukkoa. Lopetetaan, kuten exit_on_lock määrää"
+
+#: ../cli.py:532
 msgid "Trying to run the transaction but nothing to do. Exiting."
+msgstr "Yritettiin suorittaa transaktio, mutta ei ole mitään tehtävää. Lopetetaan."
+
+#: ../cli.py:577
+msgid "future rpmdb ver mismatched saved transaction version,"
 msgstr ""
-"Yritettiin suorittaa transaktio, mutta ei ole mitään tehtävää. Lopetetaan."
 
-#: ../cli.py:497
+#: ../cli.py:579 ../yum/__init__.py:6523
+msgid " ignoring, as requested."
+msgstr ""
+
+#: ../cli.py:582 ../yum/__init__.py:6526 ../yum/__init__.py:6673
+msgid " aborting."
+msgstr ""
+
+#: ../cli.py:588
 msgid "Exiting on user Command"
 msgstr "Lopetetaan, käyttäjä antoi lopetuskomennon"
 
-#: ../cli.py:501
+#: ../cli.py:592
 msgid "Downloading Packages:"
 msgstr "Ladataan paketteja:"
 
-#: ../cli.py:506
+#: ../cli.py:597
 msgid "Error Downloading Packages:\n"
 msgstr "Virhe pakettien latauksessa:\n"
 
-#: ../cli.py:525 ../yum/__init__.py:4967
+#: ../cli.py:616 ../yum/__init__.py:6215
 msgid "Running Transaction Check"
 msgstr ""
 
-#: ../cli.py:534 ../yum/__init__.py:4976
+#: ../cli.py:625 ../yum/__init__.py:6224
 msgid "ERROR You need to update rpm to handle:"
 msgstr "VIRHE RPM on päivitettävä, jotta se osaa käsitellä:"
 
-#: ../cli.py:536 ../yum/__init__.py:4979
+#: ../cli.py:627 ../yum/__init__.py:6227
 msgid "ERROR with transaction check vs depsolve:"
 msgstr ""
 
-#: ../cli.py:542
+#: ../cli.py:633
 msgid "RPM needs to be updated"
 msgstr "RPM on päivitettävä"
 
-#: ../cli.py:543
+#: ../cli.py:634
 #, python-format
 msgid "Please report this error in %s"
 msgstr "Ilmoita tästä ongelmasta osoitteeseen %s"
 
-#: ../cli.py:549
+#: ../cli.py:640
 msgid "Running Transaction Test"
 msgstr "Suoritetaan transaktiotestiä"
 
-#: ../cli.py:561
+#: ../cli.py:652
 msgid "Transaction Check Error:\n"
 msgstr "Transaktiotarkistuksen virhe:\n"
 
-#: ../cli.py:568
+#: ../cli.py:659
 msgid "Transaction Test Succeeded"
 msgstr "Transaktiotesti onnistui"
 
-#: ../cli.py:600
+#: ../cli.py:691
 msgid "Running Transaction"
 msgstr "Suoritetaan transaktiota"
 
-#: ../cli.py:630
+#: ../cli.py:724
 msgid ""
 "Refusing to automatically import keys when running unattended.\n"
 "Use \"-y\" to override."
-msgstr ""
-"Avaimia ei tuoda automaattisesti, kun yumia suoritetaan ilman valvontaa.\n"
-"Käytä valitsinta ”-y” tämän muuttamiseksi."
+msgstr "Avaimia ei tuoda automaattisesti, kun yumia suoritetaan ilman valvontaa.\nKäytä valitsinta ”-y” tämän muuttamiseksi."
 
-#: ../cli.py:649 ../cli.py:692
+#: ../cli.py:743 ../cli.py:786
 msgid "  * Maybe you meant: "
 msgstr "  * Tarkoititko: "
 
-#: ../cli.py:675 ../cli.py:683
+#: ../cli.py:769 ../cli.py:777
 #, python-format
 msgid "Package(s) %s%s%s available, but not installed."
-msgstr ""
-"Paketti tai paketit %s%s%s ovat saatavilla, mutta niitä ei ole asennettu."
+msgstr "Paketti tai paketit %s%s%s ovat saatavilla, mutta niitä ei ole asennettu."
 
-#: ../cli.py:689 ../cli.py:722 ../cli.py:908
+#: ../cli.py:783 ../cli.py:891 ../cli.py:1158
 #, python-format
 msgid "No package %s%s%s available."
 msgstr "Pakettia %s%s%s ei ole saatavilla."
 
-#: ../cli.py:729 ../cli.py:973
-msgid "Package(s) to install"
-msgstr "Asennettavat paketit"
+#: ../cli.py:871 ../cli.py:881 ../cli.py:1101 ../cli.py:1111
+#, python-format
+msgid "Bad %s argument %s."
+msgstr ""
+
+#: ../cli.py:900 ../yumcommands.py:3331
+#, python-format
+msgid "%d package to install"
+msgid_plural "%d packages to install"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:732 ../cli.py:733 ../cli.py:914 ../cli.py:948 ../cli.py:974
-#: ../yumcommands.py:190
+#: ../cli.py:903 ../cli.py:904 ../cli.py:1169 ../cli.py:1170 ../cli.py:1224
+#: ../cli.py:1225 ../cli.py:1260 ../yumcommands.py:323 ../yumcommands.py:3419
 msgid "Nothing to do"
 msgstr "Ei mitään tehtävää"
 
-#: ../cli.py:767
+#: ../cli.py:953
 #, python-format
-msgid "%d packages marked for Update"
-msgstr "%d pakettia merkitty päivitettäväksi"
+msgid "%d package marked for Update"
+msgid_plural "%d packages marked for Update"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:770
+#: ../cli.py:955
 msgid "No Packages marked for Update"
 msgstr "Yhtään pakettia ei ole merkitty päivitettäväksi"
 
-#: ../cli.py:866
+#: ../cli.py:1067
 #, python-format
-msgid "%d packages marked for Distribution Synchronization"
-msgstr "%d pakettia merkitty jakelusynkronointia varten"
+msgid "%d package marked for Distribution Synchronization"
+msgid_plural "%d packages marked for Distribution Synchronization"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:869
+#: ../cli.py:1069
 msgid "No Packages marked for Distribution Synchronization"
 msgstr "Yhtään pakettia ei ole merkitty jakelusynkronointia varten"
 
-#: ../cli.py:885
+#: ../cli.py:1124
 #, python-format
-msgid "%d packages marked for removal"
-msgstr "%d pakettia merkitty poistettavaksi"
+msgid "%d package marked for removal"
+msgid_plural "%d packages marked for removal"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:888
+#: ../cli.py:1126
 msgid "No Packages marked for removal"
 msgstr "Yhtään pakettia ei ole merkitty poistettavaksi"
 
-#: ../cli.py:913
-msgid "Package(s) to downgrade"
-msgstr "Vanhennettavat paketit"
+#: ../cli.py:1166
+#, python-format
+msgid "%d package to downgrade"
+msgid_plural "%d packages to downgrade"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:938
+#: ../cli.py:1207
 #, python-format
 msgid " (from %s)"
 msgstr " (asennuslähteestä %s)"
 
-#: ../cli.py:939
+#: ../cli.py:1208
 #, python-format
 msgid "Installed package %s%s%s%s not available."
 msgstr "Asennettua pakettia %s%s%s%s ei ole saatavilla."
 
-#: ../cli.py:947
-msgid "Package(s) to reinstall"
-msgstr "Uudelleenasennettavat paketit"
+#: ../cli.py:1221
+#, python-format
+msgid "%d package to reinstall"
+msgid_plural "%d packages to reinstall"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:960
+#: ../cli.py:1246
 msgid "No Packages Provided"
 msgstr "Yhtään pakettia ei annettu"
 
-#: ../cli.py:1058
+#: ../cli.py:1259
+msgid "Package(s) to install"
+msgstr "Asennettavat paketit"
+
+#: ../cli.py:1367
 #, python-format
 msgid "N/S Matched: %s"
 msgstr ""
 
-#: ../cli.py:1075
+#: ../cli.py:1384
 #, python-format
 msgid "  Name and summary matches %sonly%s, use \"search all\" for everything."
 msgstr ""
 
-#: ../cli.py:1077
+#: ../cli.py:1386
 #, python-format
 msgid ""
 "  Full name and summary matches %sonly%s, use \"search all\" for everything."
 msgstr ""
 
-#: ../cli.py:1095
+#: ../cli.py:1404
 #, python-format
 msgid "Matched: %s"
 msgstr "Löytyi: %s"
 
-#: ../cli.py:1102
+#: ../cli.py:1411
 #, python-format
 msgid "  Name and summary matches %smostly%s, use \"search all\" for everything."
 msgstr ""
 
-#: ../cli.py:1106
+#: ../cli.py:1415
 #, python-format
 msgid "Warning: No matches found for: %s"
 msgstr "Varoitus: hakutuloksia ei löytynyt hakusanalle %s"
 
-#: ../cli.py:1109
+#: ../cli.py:1418
 msgid "No Matches found"
 msgstr "Hakutuloksia ei löytynyt"
 
-#: ../cli.py:1174
+#: ../cli.py:1536
 #, python-format
-msgid "No Package Found for %s"
-msgstr "Hakusanalla %s ei löytynyt pakettia"
+msgid ""
+"Error: No Packages found for:\n"
+"  %s"
+msgstr ""
 
-#: ../cli.py:1184
+#: ../cli.py:1572
 msgid "Cleaning repos: "
 msgstr "Siivotaan asennuslähteitä:"
 
-#: ../cli.py:1189
+#: ../cli.py:1577
 msgid "Cleaning up Everything"
 msgstr "Siivotaan kaikki"
 
-#: ../cli.py:1205
+#: ../cli.py:1593
 msgid "Cleaning up Headers"
 msgstr "Siivotaan otsakkeet"
 
-#: ../cli.py:1208
+#: ../cli.py:1596
 msgid "Cleaning up Packages"
 msgstr "Siivotaan paketit"
 
-#: ../cli.py:1211
+#: ../cli.py:1599
 msgid "Cleaning up xml metadata"
 msgstr "Siivotaan XML-metadata"
 
-#: ../cli.py:1214
+#: ../cli.py:1602
 msgid "Cleaning up database cache"
 msgstr "Siivotaan tiedokannan välimuisti"
 
-#: ../cli.py:1217
+#: ../cli.py:1605
 msgid "Cleaning up expire-cache metadata"
 msgstr "Siivotaan välimuistin vanhentumiseen liittyvä metadata"
 
-#: ../cli.py:1220
+#: ../cli.py:1608
 msgid "Cleaning up cached rpmdb data"
 msgstr "Siivotaan välimuistissa oleva rpm-tietokannan data"
 
-#: ../cli.py:1223
+#: ../cli.py:1611
 msgid "Cleaning up plugins"
 msgstr "Siivotaan liitännäiset"
 
-#: ../cli.py:1247
-#, python-format
-msgid "Warning: No groups match: %s"
+#: ../cli.py:1727
+msgid "Installed Environment Groups:"
+msgstr ""
+
+#: ../cli.py:1728
+msgid "Available Environment Groups:"
 msgstr ""
 
-#: ../cli.py:1264
+#: ../cli.py:1735
 msgid "Installed Groups:"
 msgstr "Asennetut ryhmät:"
 
-#: ../cli.py:1270
+#: ../cli.py:1742
 msgid "Installed Language Groups:"
 msgstr ""
 
-#: ../cli.py:1276
+#: ../cli.py:1749
 msgid "Available Groups:"
 msgstr "Saatavilla olevat ryhmät:"
 
-#: ../cli.py:1282
+#: ../cli.py:1756
 msgid "Available Language Groups:"
 msgstr ""
 
-#: ../cli.py:1285
+#: ../cli.py:1759
+#, python-format
+msgid "Warning: No Environments/Groups match: %s"
+msgstr ""
+
+#: ../cli.py:1763
 msgid "Done"
 msgstr "Valmis"
 
-#: ../cli.py:1296 ../cli.py:1314 ../cli.py:1320 ../yum/__init__.py:3313
+#: ../cli.py:1818
+#, python-format
+msgid "Warning: Group/Environment %s does not exist."
+msgstr ""
+
+#: ../cli.py:1859
+#, python-format
+msgid "Warning: Environment %s does not exist."
+msgstr ""
+
+#: ../cli.py:1873 ../cli.py:1879 ../yum/__init__.py:4254
 #, python-format
 msgid "Warning: Group %s does not exist."
 msgstr "Varoitus: Ryhmää %s ei ole olemassa."
 
-#: ../cli.py:1324
+#: ../cli.py:1883
 msgid "No packages in any requested group available to install or update"
-msgstr ""
-"Missään pyydetyssä ryhmässä ei ole yhtään asennettavaa tai päivitettävää "
-"pakettia"
+msgstr "Missään pyydetyssä ryhmässä ei ole yhtään asennettavaa tai päivitettävää pakettia"
 
-#: ../cli.py:1326
+#: ../cli.py:1885
 #, python-format
-msgid "%d Package(s) to Install"
-msgstr "%d pakettia asennettavana"
+msgid "%d package to Install"
+msgid_plural "%d packages to Install"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../cli.py:1919 ../yum/__init__.py:3536 ../yum/__init__.py:3766
+#: ../yum/__init__.py:3824
+#, python-format
+msgid "No Environment named %s exists"
+msgstr ""
 
-#: ../cli.py:1336 ../yum/__init__.py:3325
+#: ../cli.py:1935 ../yum/__init__.py:4282
 #, python-format
 msgid "No group named %s exists"
 msgstr "Ryhmää nimeltä %s ei ole olemassa"
 
-#: ../cli.py:1342
+#: ../cli.py:1945
 msgid "No packages to remove from groups"
 msgstr "Ei yhtään poistettavaa pakettia ryhmien perusteella"
 
-#: ../cli.py:1344
+#: ../cli.py:1947 ../yumcommands.py:3351
 #, python-format
-msgid "%d Package(s) to remove"
-msgstr "%d poistettavaa pakettia"
+msgid "%d package to remove"
+msgid_plural "%d packages to remove"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:1386
+#: ../cli.py:1988
 #, python-format
 msgid "Package %s is already installed, skipping"
 msgstr "Paketti %s on jo asennettu, ohitetaan"
 
-#: ../cli.py:1397
+#: ../cli.py:1999
 #, python-format
 msgid "Discarding non-comparable pkg %s.%s"
 msgstr "Hylätään paketti %s.%s, jota ei voi verrata"
 
 #. we've not got any installed that match n or n+a
-#: ../cli.py:1423
+#: ../cli.py:2025
 #, python-format
 msgid "No other %s installed, adding to list for potential install"
-msgstr ""
-"Toista pakettia nimeltä %s ei ole asennettuna, lisätään mahdollisesti "
-"asennettavien luetteloon"
+msgstr "Toista pakettia nimeltä %s ei ole asennettuna, lisätään mahdollisesti asennettavien luetteloon"
 
-#: ../cli.py:1443
+#: ../cli.py:2045
 msgid "Plugin Options"
 msgstr "Liitännäisten valitsimet"
 
-#: ../cli.py:1451
+#: ../cli.py:2057
 #, python-format
 msgid "Command line error: %s"
 msgstr "Komentorivivirhe: %s"
 
-#: ../cli.py:1467
+#: ../cli.py:2079
 #, python-format
 msgid ""
 "\n"
 "\n"
 "%s: %s option requires an argument"
-msgstr ""
-"\n"
-"\n"
-"%s: valitsin %s vaatii argumentin"
+msgstr "\n\n%s: valitsin %s vaatii argumentin"
 
-#: ../cli.py:1521
+#: ../cli.py:2147
 msgid "--color takes one of: auto, always, never"
 msgstr "--color vaatii yhden seuraavista argumenteista: auto, always, never"
 
 #. We have a relative installroot ... haha
-#: ../cli.py:1596
+#: ../cli.py:2218
 #, python-format
 msgid "--installroot must be an absolute path: %s"
 msgstr ""
 
-#: ../cli.py:1642
+#: ../cli.py:2272
 msgid "show this help message and exit"
 msgstr "näytä tämä ohjeviesti ja lopeta"
 
-#: ../cli.py:1646
+#: ../cli.py:2276
 msgid "be tolerant of errors"
 msgstr "hyväksy virheet"
 
-#: ../cli.py:1649
+#: ../cli.py:2279
 msgid "run entirely from system cache, don't update cache"
 msgstr "toimi kokonaan välimuistista, älä päivitä sitä"
 
-#: ../cli.py:1652
+#: ../cli.py:2282
 msgid "config file location"
 msgstr "asetustiedoston sijainti"
 
-#: ../cli.py:1655
+#: ../cli.py:2285
 msgid "maximum command wait time"
 msgstr "komennon suurin odotusaika"
 
-#: ../cli.py:1657
+#: ../cli.py:2287
 msgid "debugging output level"
 msgstr "virheenjäljitystulosteiden taso"
 
-#: ../cli.py:1661
+#: ../cli.py:2291
 msgid "show duplicates, in repos, in list/search commands"
 msgstr "näytä duplikaatit asennuslähteissä ja list/search-komennoissa"
 
-#: ../cli.py:1663
+#: ../cli.py:2296
 msgid "error output level"
 msgstr "virhetulostustaso"
 
-#: ../cli.py:1666
+#: ../cli.py:2299
 msgid "debugging output level for rpm"
 msgstr "rpm:n virheenjäljitystulosteiden taso"
 
-#: ../cli.py:1669
+#: ../cli.py:2302
 msgid "quiet operation"
 msgstr "hiljainen toiminta"
 
-#: ../cli.py:1671
+#: ../cli.py:2304
 msgid "verbose operation"
 msgstr "yksityiskohtaset tulosteet"
 
-#: ../cli.py:1673
+#: ../cli.py:2306
 msgid "answer yes for all questions"
 msgstr "vastaa kyllä kaikkiin kysymyksiin"
 
-#: ../cli.py:1675
+#: ../cli.py:2308
+msgid "answer no for all questions"
+msgstr ""
+
+#: ../cli.py:2312
 msgid "show Yum version and exit"
 msgstr "näytä Yumin versio ja lopeta"
 
-#: ../cli.py:1676
+#: ../cli.py:2313
 msgid "set install root"
 msgstr "aseta asennusjuuri"
 
-#: ../cli.py:1680
+#: ../cli.py:2317
 msgid "enable one or more repositories (wildcards allowed)"
-msgstr ""
-"ota käyttöön yksi tai usempi asennuslähde (jokerimerkit ovat sallittuja)"
+msgstr "ota käyttöön yksi tai usempi asennuslähde (jokerimerkit ovat sallittuja)"
 
-#: ../cli.py:1684
+#: ../cli.py:2321
 msgid "disable one or more repositories (wildcards allowed)"
-msgstr ""
-"poista käytöstä yksi tai usempi asennuslähde (jokerimerkit ovat sallittuja)"
+msgstr "poista käytöstä yksi tai usempi asennuslähde (jokerimerkit ovat sallittuja)"
 
-#: ../cli.py:1687
+#: ../cli.py:2324
 msgid "exclude package(s) by name or glob"
 msgstr "jätä pois paketteja nimen tai jokerimerkkien perusteella"
 
-#: ../cli.py:1689
+#: ../cli.py:2326
 msgid "disable exclude from main, for a repo or for everything"
-msgstr ""
-"ota pakettien pois jättäminen pois käytöstä pääasetuksille, jollekin "
-"asennuslähteelle tai kaikelle"
+msgstr "ota pakettien pois jättäminen pois käytöstä pääasetuksille, jollekin asennuslähteelle tai kaikelle"
 
-#: ../cli.py:1692
+#: ../cli.py:2329
 msgid "enable obsoletes processing during updates"
 msgstr "ota käyttöön vanhentuneiden pakettien käsittely päivitysten aikana"
 
-#: ../cli.py:1694
+#: ../cli.py:2331
 msgid "disable Yum plugins"
 msgstr "poista Yumin liitännäiset käytöstä"
 
-#: ../cli.py:1696
+#: ../cli.py:2333
 msgid "disable gpg signature checking"
 msgstr "poista GPG-allekirjoitusten tarkistus käytöstä"
 
-#: ../cli.py:1698
+#: ../cli.py:2335
 msgid "disable plugins by name"
 msgstr "poista liitännäisiä käytöstä nimen perusteella"
 
-#: ../cli.py:1701
+#: ../cli.py:2338
 msgid "enable plugins by name"
 msgstr "ota liitännäisiä käyttöön nimen perusteella"
 
-#: ../cli.py:1704
+#: ../cli.py:2341
 msgid "skip packages with depsolving problems"
 msgstr "ohita paketit, joilla on riippuvuusongelmia"
 
-#: ../cli.py:1706
+#: ../cli.py:2343
 msgid "control whether color is used"
 msgstr "käytetäänkö värejä"
 
-#: ../cli.py:1708
+#: ../cli.py:2345
 msgid "set value of $releasever in yum config and repo files"
+msgstr "aseta $releasever-muuttujan arvo yumin asetuksissa ja asennuslähdetiedostoissa"
+
+#: ../cli.py:2347
+msgid "don't update, just download"
+msgstr ""
+
+#: ../cli.py:2349
+msgid "specifies an alternate directory to store packages"
 msgstr ""
-"aseta $releasever-muuttujan arvo yumin asetuksissa ja "
-"asennuslähdetiedostoissa"
 
-#: ../cli.py:1710
+#: ../cli.py:2351
 msgid "set arbitrary config and repo options"
 msgstr "aseta mielivaltaisia asetus- ja asennuslähdevalitsimia"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Jan"
 msgstr "tammi"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Feb"
 msgstr "helmi"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Mar"
 msgstr "maalis"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Apr"
 msgstr "huhti"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "May"
 msgstr "touko"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Jun"
 msgstr "kesä"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Jul"
 msgstr "heinä"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Aug"
 msgstr "elo"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Sep"
 msgstr "syys"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Oct"
 msgstr "loka"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Nov"
 msgstr "marras"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Dec"
 msgstr "joulu"
 
-#: ../output.py:318
+#: ../output.py:473
 msgid "Trying other mirror."
 msgstr "Kokeillaan toista peilipalvelinta."
 
-#: ../output.py:581
+#: ../output.py:816
 #, python-format
 msgid "Name        : %s%s%s"
 msgstr "Nimi            : %s%s%s"
 
-#: ../output.py:582
+#: ../output.py:817
 #, python-format
 msgid "Arch        : %s"
 msgstr "Arkkitehtuuri   : %s"
 
-#: ../output.py:584
+#: ../output.py:819
 #, python-format
 msgid "Epoch       : %s"
 msgstr "Epoch           : %s"
 
-#: ../output.py:585
+#: ../output.py:820
 #, python-format
 msgid "Version     : %s"
 msgstr "Versio          : %s"
 
-#: ../output.py:586
+#: ../output.py:821
 #, python-format
 msgid "Release     : %s"
 msgstr "Julkaisu        : %s"
 
-#: ../output.py:587
+#: ../output.py:822
 #, python-format
 msgid "Size        : %s"
 msgstr "Koko            : %s"
 
-#: ../output.py:588 ../output.py:900
+#: ../output.py:823 ../output.py:1329
 #, python-format
 msgid "Repo        : %s"
 msgstr "Asennuslähde    : %s"
 
-#: ../output.py:590
+#: ../output.py:825
 #, python-format
 msgid "From repo   : %s"
 msgstr "Asennuslähteestä: %s"
 
-#: ../output.py:592
+#: ../output.py:827
 #, python-format
 msgid "Committer   : %s"
 msgstr "Toimittaja      : %s"
 
-#: ../output.py:593
+#: ../output.py:828
 #, python-format
 msgid "Committime  : %s"
 msgstr "Toimitusaika    : %s"
 
-#: ../output.py:594
+#: ../output.py:829
 #, python-format
 msgid "Buildtime   : %s"
 msgstr "Käännösaika     : %s"
 
-#: ../output.py:596
+#: ../output.py:831
 #, python-format
 msgid "Install time: %s"
 msgstr "Asennusaika     : %s"
 
-#: ../output.py:604
+#: ../output.py:839
 #, python-format
 msgid "Installed by: %s"
 msgstr "Asentaja        : %s"
 
-#: ../output.py:611
+#: ../output.py:846
 #, python-format
 msgid "Changed by  : %s"
 msgstr "Muuttanut       : %s"
 
-#: ../output.py:612
+#: ../output.py:847
 msgid "Summary     : "
 msgstr "Yhteenveto      :"
 
-#: ../output.py:614 ../output.py:913
+#: ../output.py:849 ../output.py:1345
 #, python-format
 msgid "URL         : %s"
 msgstr "URL             : %s"
 
-#: ../output.py:615
+#: ../output.py:850
 msgid "License     : "
 msgstr "Lisenssi        :"
 
-#: ../output.py:616 ../output.py:910
+#: ../output.py:851 ../output.py:1342
 msgid "Description : "
 msgstr "Kuvaus          : "
 
-#: ../output.py:684
+#: ../output.py:969
 msgid "y"
 msgstr "k"
 
-#: ../output.py:684
+#: ../output.py:969
 msgid "yes"
 msgstr "kyllä"
 
-#: ../output.py:685
+#: ../output.py:970
 msgid "n"
 msgstr "e"
 
-#: ../output.py:685
+#: ../output.py:970
 msgid "no"
 msgstr "ei"
 
-#: ../output.py:689
+#: ../output.py:974
 msgid "Is this ok [y/N]: "
 msgstr "Onko tämä ok [k/E]: "
 
-#: ../output.py:777
+#: ../output.py:1097
 #, python-format
 msgid ""
 "\n"
 "Group: %s"
-msgstr ""
-"\n"
-"Ryhmä: %s"
+msgstr "\nRyhmä: %s"
 
-#: ../output.py:781
+#: ../output.py:1101
 #, python-format
 msgid " Group-Id: %s"
 msgstr " Ryhmätunnus: %s"
 
-#: ../output.py:786
+#: ../output.py:1122 ../output.py:1169
 #, python-format
 msgid " Description: %s"
 msgstr " Kuvaus: %s"
 
-#: ../output.py:788
+#: ../output.py:1124
 #, python-format
 msgid " Language: %s"
 msgstr ""
 
-#: ../output.py:790
+#: ../output.py:1126
 msgid " Mandatory Packages:"
 msgstr " Pakolliset paketit:"
 
-#: ../output.py:791
+#: ../output.py:1127
 msgid " Default Packages:"
 msgstr " Oletuspaketit:"
 
-#: ../output.py:792
+#: ../output.py:1128
 msgid " Optional Packages:"
 msgstr " Valinnaiset paketit:"
 
-#: ../output.py:793
+#: ../output.py:1129
 msgid " Conditional Packages:"
 msgstr " Ehdolliset paketit:"
 
-#: ../output.py:814
+#: ../output.py:1147
+msgid " Installed Packages:"
+msgstr ""
+
+#: ../output.py:1157
+#, python-format
+msgid ""
+"\n"
+"Environment Group: %s"
+msgstr ""
+
+#: ../output.py:1158
+#, python-format
+msgid " Environment-Id: %s"
+msgstr ""
+
+#: ../output.py:1191
+msgid " Mandatory Groups:"
+msgstr ""
+
+#: ../output.py:1192
+msgid " Optional Groups:"
+msgstr ""
+
+#: ../output.py:1205
+msgid " Installed Groups:"
+msgstr ""
+
+#: ../output.py:1217
 #, python-format
 msgid "package: %s"
 msgstr "paketti: %s"
 
-#: ../output.py:816
+#: ../output.py:1219
 msgid "  No dependencies for this package"
 msgstr "  Tällä paketilla ei ole riippuvuuksia"
 
-#: ../output.py:821
+#: ../output.py:1224
 #, python-format
 msgid "  dependency: %s"
 msgstr "  riippuvuus: %s"
 
-#: ../output.py:823
+#: ../output.py:1226
 msgid "   Unsatisfied dependency"
 msgstr "   Toteutumaton riippuvuus"
 
-#: ../output.py:901
+#: ../output.py:1337
 msgid "Matched from:"
 msgstr "Vastaavuus  :"
 
-#: ../output.py:916
+#: ../output.py:1348
 #, python-format
 msgid "License     : %s"
 msgstr "Lisenssi    : %s"
 
-#: ../output.py:919
+#: ../output.py:1351
 #, python-format
 msgid "Filename    : %s"
 msgstr "Tiedostonimi: %s"
 
-#: ../output.py:923
+#: ../output.py:1360
+msgid "Provides    : "
+msgstr ""
+
+#: ../output.py:1363
 msgid "Other       : "
 msgstr "Muuta       : "
 
-#: ../output.py:966
+#: ../output.py:1426
 msgid "There was an error calculating total download size"
 msgstr "Kokonaislatausmäärää laskettaessa tapahtui virhe"
 
-#: ../output.py:971
+#: ../output.py:1431
 #, python-format
 msgid "Total size: %s"
 msgstr "Koko yhteensä: %s"
 
-#: ../output.py:974
+#: ../output.py:1433
 #, python-format
 msgid "Total download size: %s"
 msgstr "Ladattavaa yhteensä: %s"
 
-#: ../output.py:978 ../output.py:998
+#: ../output.py:1436 ../output.py:1459 ../output.py:1463
 #, python-format
 msgid "Installed size: %s"
 msgstr "Koko asennettuna: %s"
 
-#: ../output.py:994
+#: ../output.py:1454
 msgid "There was an error calculating installed size"
 msgstr "Asennuskokoa laskettaessa tapahtui virhe"
 
-#: ../output.py:1039
+#: ../output.py:1504
 msgid "Reinstalling"
 msgstr "Asennetaan uudelleen"
 
-#: ../output.py:1040
+#: ../output.py:1505
 msgid "Downgrading"
 msgstr "Varhennetaan"
 
-#: ../output.py:1041
+#: ../output.py:1506
 msgid "Installing for dependencies"
 msgstr "Asennetaan riippuvuuksien vuoksi"
 
-#: ../output.py:1042
+#: ../output.py:1507
 msgid "Updating for dependencies"
 msgstr "Päivitetään riippuvuuksien vuoksi"
 
-#: ../output.py:1043
+#: ../output.py:1508
 msgid "Removing for dependencies"
 msgstr "Poistetaan riippuvuuksien vuoksi"
 
-#: ../output.py:1050 ../output.py:1171
+#: ../output.py:1515 ../output.py:1576 ../output.py:1672
 msgid "Skipped (dependency problems)"
 msgstr "Ohitettiin (riippuvuusongelmia)"
 
-#: ../output.py:1052 ../output.py:1687
+#: ../output.py:1517 ../output.py:1577 ../output.py:2223
 msgid "Not installed"
 msgstr "Ei asennettu"
 
-#: ../output.py:1053
+#: ../output.py:1518 ../output.py:1578
 msgid "Not available"
 msgstr ""
 
-#: ../output.py:1075 ../output.py:2024
+#: ../output.py:1540 ../output.py:1588 ../output.py:1604 ../output.py:2581
 msgid "Package"
-msgstr "Paketti"
+msgid_plural "Packages"
+msgstr[0] ""
+msgstr[1] "Paketti"
 
-#: ../output.py:1075
+#: ../output.py:1540
 msgid "Arch"
 msgstr "Arkkitehtuuri"
 
-#: ../output.py:1076
+#: ../output.py:1541
 msgid "Version"
 msgstr "Versio"
 
-#: ../output.py:1076
+#: ../output.py:1541
 msgid "Repository"
 msgstr "Asennuslähde"
 
-#: ../output.py:1077
+#: ../output.py:1542
 msgid "Size"
 msgstr "Koko"
 
-#: ../output.py:1089
+#: ../output.py:1554
 #, python-format
 msgid "     replacing  %s%s%s.%s %s\n"
 msgstr "     korvaa  %s%s%s.%s %s\n"
 
-#: ../output.py:1098
+#: ../output.py:1563
 #, python-format
 msgid ""
 "\n"
 "Transaction Summary\n"
 "%s\n"
-msgstr ""
-"\n"
-"Transaktion yhteenveto\n"
-"%s\n"
+msgstr "\nTransaktion yhteenveto\n%s\n"
 
-#: ../output.py:1109
-#, python-format
-msgid "Install   %5.5s Package(s)\n"
-msgstr "Asennetaan           %5.5s paketti(a)\n"
+#: ../output.py:1568 ../output.py:2376 ../output.py:2377
+msgid "Install"
+msgstr "Asennus"
 
-#: ../output.py:1113
-#, python-format
-msgid "Upgrade   %5.5s Package(s)\n"
-msgstr "Päivitetään          %5.5s paketti(a)\n"
+#: ../output.py:1570
+msgid "Upgrade"
+msgstr ""
 
-#: ../output.py:1117
-#, python-format
-msgid "Remove    %5.5s Package(s)\n"
-msgstr "Poistetaan           %5.5s paketti(a)\n"
+#: ../output.py:1572
+msgid "Remove"
+msgstr ""
 
-#: ../output.py:1121
-#, python-format
-msgid "Reinstall %5.5s Package(s)\n"
-msgstr "Asennetaan uudelleen %5.5s paketti(a)\n"
+#: ../output.py:1574 ../output.py:2382
+msgid "Reinstall"
+msgstr "Uudelleenasennus"
 
-#: ../output.py:1125
-#, python-format
-msgid "Downgrade %5.5s Package(s)\n"
-msgstr "Varhennetaan         %5.5s paketti(a)\n"
+#: ../output.py:1575 ../output.py:2383
+msgid "Downgrade"
+msgstr "Varhennus"
 
-#: ../output.py:1165
+#: ../output.py:1606
+msgid "Dependent package"
+msgid_plural "Dependent packages"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../output.py:1666
 msgid "Removed"
 msgstr "Poistettu"
 
-#: ../output.py:1166
+#: ../output.py:1667
 msgid "Dependency Removed"
 msgstr "Poistettu riippuvuuksia"
 
-#: ../output.py:1168
+#: ../output.py:1669
 msgid "Dependency Installed"
 msgstr "Asennettu riippuvuuksia"
 
-#: ../output.py:1170
+#: ../output.py:1671
 msgid "Dependency Updated"
 msgstr "Päivitetty riippuvuuksia"
 
-#: ../output.py:1172
+#: ../output.py:1673
 msgid "Replaced"
 msgstr "Korvattu"
 
-#: ../output.py:1173
+#: ../output.py:1674
 msgid "Failed"
 msgstr "Epäonnistui"
 
 #. Delta between C-c's so we treat as exit
-#: ../output.py:1260
+#: ../output.py:1764
 msgid "two"
 msgstr "kahden"
 
 #. For translators: This is output like:
 #. Current download cancelled, interrupt (ctrl-c) again within two seconds
 #. to exit.
-#. Where "interupt (ctrl-c) again" and "two" are highlighted.
-#: ../output.py:1271
+#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
+#: ../output.py:1775
 #, python-format
 msgid ""
 "\n"
 " Current download cancelled, %sinterrupt (ctrl-c) again%s within %s%s%s seconds\n"
 "to exit.\n"
-msgstr ""
-"\n"
-" Nykyinen lataus peruttiin, %skeskeytä (ctrl-c) uudelleen%s %s%s%s sekunnin aikana\n"
-"ohjelman lopettamiseksi.\n"
+msgstr "\n Nykyinen lataus peruttiin, %skeskeytä (ctrl-c) uudelleen%s %s%s%s sekunnin aikana\nohjelman lopettamiseksi.\n"
 
-#: ../output.py:1282
+#: ../output.py:1786
 msgid "user interrupt"
 msgstr "käyttäjä keskeytti"
 
-#: ../output.py:1300
+#: ../output.py:1812
 msgid "Total"
 msgstr "Yhteensä"
 
-#: ../output.py:1322
+#: ../output.py:1834
 msgid "I"
 msgstr "A"
 
-#: ../output.py:1323
+#: ../output.py:1835
 msgid "O"
 msgstr "Vanh."
 
-#: ../output.py:1324
+#: ../output.py:1836
 msgid "E"
 msgstr "P"
 
-#: ../output.py:1325
+#: ../output.py:1837
 msgid "R"
 msgstr "U"
 
-#: ../output.py:1326
+#: ../output.py:1838
 msgid "D"
 msgstr "Varh."
 
-#: ../output.py:1327
+#: ../output.py:1839
 msgid "U"
 msgstr "P"
 
-#: ../output.py:1341
+#: ../output.py:1853
 msgid "<unset>"
 msgstr "<ei asetettu>"
 
-#: ../output.py:1342
+#: ../output.py:1854
 msgid "System"
 msgstr "Järjestelmä"
 
-#: ../output.py:1411
+#: ../output.py:1923
 #, python-format
 msgid "Skipping merged transaction %d to %d, as it overlaps"
 msgstr ""
 
-#: ../output.py:1421 ../output.py:1592
+#: ../output.py:1933 ../output.py:2125
 msgid "No transactions"
 msgstr ""
 
-#: ../output.py:1446 ../output.py:2013
+#: ../output.py:1958 ../output.py:2570 ../output.py:2660
 msgid "Bad transaction IDs, or package(s), given"
 msgstr "Annettu virheellinen transaktiotunnus tai paketit"
 
-#: ../output.py:1484
+#: ../output.py:2007
 msgid "Command line"
 msgstr ""
 
-#: ../output.py:1486 ../output.py:1908
+#: ../output.py:2009 ../output.py:2458
 msgid "Login user"
 msgstr "Kirjautunut käyttäjä"
 
 #. REALLY Needs to use columns!
-#: ../output.py:1487 ../output.py:2022
+#: ../output.py:2010 ../output.py:2579
 msgid "ID"
 msgstr "Tunniste"
 
-#: ../output.py:1489
+#: ../output.py:2012
 msgid "Date and time"
 msgstr "﻿Päivämäärä ja kellonaika"
 
-#: ../output.py:1490 ../output.py:1910 ../output.py:2023
+#: ../output.py:2013 ../output.py:2460 ../output.py:2580
 msgid "Action(s)"
 msgstr "Toiminnot"
 
-#: ../output.py:1491 ../output.py:1911
+#: ../output.py:2014 ../output.py:2461
 msgid "Altered"
 msgstr "Muutettu"
 
-#: ../output.py:1538
+#: ../output.py:2061
 msgid "No transaction ID given"
 msgstr "Transaktiotunnusta ei annettu"
 
-#: ../output.py:1564 ../output.py:1972
+#: ../output.py:2087 ../output.py:2526
 msgid "Bad transaction ID given"
 msgstr "Annettiin virheellinen transaktiotunnus"
 
-#: ../output.py:1569
+#: ../output.py:2092
 msgid "Not found given transaction ID"
 msgstr "Annettua transaktiotunnusta ei löytynyt"
 
-#: ../output.py:1577
+#: ../output.py:2100
 msgid "Found more than one transaction ID!"
 msgstr "Löytyi useampi kuin yksi transaktiotunnus!"
 
-#: ../output.py:1618 ../output.py:1980
+#: ../output.py:2151 ../output.py:2534
 msgid "No transaction ID, or package, given"
 msgstr "Transaktiotunnusta tai pakettia ei annettu"
 
-#: ../output.py:1686 ../output.py:1845
+#: ../output.py:2222 ../output.py:2384
 msgid "Downgraded"
 msgstr "Varhennettu"
 
-#: ../output.py:1688
+#: ../output.py:2224
 msgid "Older"
 msgstr "Vanhempi"
 
-#: ../output.py:1688
+#: ../output.py:2224
 msgid "Newer"
 msgstr "Uudempi"
 
-#: ../output.py:1724 ../output.py:1726
+#: ../output.py:2261 ../output.py:2263 ../output.py:2681
 msgid "Transaction ID :"
 msgstr "Transaktiotunnus      :"
 
-#: ../output.py:1728
+#: ../output.py:2265 ../output.py:2683
 msgid "Begin time     :"
 msgstr "Aloitusaika           :"
 
-#: ../output.py:1731 ../output.py:1733
+#: ../output.py:2268 ../output.py:2270
 msgid "Begin rpmdb    :"
 msgstr "RPM-tietokanta alussa :"
 
-#: ../output.py:1749
+#: ../output.py:2286
 #, python-format
 msgid "(%u seconds)"
 msgstr ""
 
-#: ../output.py:1751
+#: ../output.py:2288
 #, python-format
 msgid "(%u minutes)"
 msgstr ""
 
-#: ../output.py:1753
+#: ../output.py:2290
 #, python-format
 msgid "(%u hours)"
 msgstr ""
 
-#: ../output.py:1755
+#: ../output.py:2292
 #, python-format
 msgid "(%u days)"
 msgstr ""
 
-#: ../output.py:1756
+#: ../output.py:2293
 msgid "End time       :"
 msgstr "Lopetusaika           :"
 
-#: ../output.py:1759 ../output.py:1761
+#: ../output.py:2296 ../output.py:2298
 msgid "End rpmdb      :"
 msgstr "RPM-tietokanta lopussa:"
 
-#: ../output.py:1764 ../output.py:1766
+#: ../output.py:2301 ../output.py:2303
 msgid "User           :"
 msgstr "Käyttäjä              :"
 
-#: ../output.py:1770 ../output.py:1773 ../output.py:1775 ../output.py:1777
-#: ../output.py:1779
+#: ../output.py:2307 ../output.py:2310 ../output.py:2312 ../output.py:2314
+#: ../output.py:2316
 msgid "Return-Code    :"
 msgstr "Lopetuskoodi          :"
 
-#: ../output.py:1770 ../output.py:1775
+#: ../output.py:2307 ../output.py:2312
 msgid "Aborted"
 msgstr "Keskeytetty"
 
-#: ../output.py:1773
+#: ../output.py:2310
 msgid "Failures:"
 msgstr ""
 
-#: ../output.py:1777
+#: ../output.py:2314
 msgid "Failure:"
 msgstr "Epäonnistui:"
 
-#: ../output.py:1779
+#: ../output.py:2316
 msgid "Success"
 msgstr "Onnistui"
 
-#: ../output.py:1784 ../output.py:1786
+#: ../output.py:2321 ../output.py:2323 ../output.py:2712
 msgid "Command Line   :"
 msgstr "Komentorivi           :"
 
-#: ../output.py:1795
+#: ../output.py:2332
 #, python-format
 msgid "Additional non-default information stored: %d"
 msgstr "Tallennetut lisätiedot: %d"
 
 #. This is _possible_, but not common
-#: ../output.py:1800
+#: ../output.py:2337
 msgid "Transaction performed with:"
 msgstr "Transaktio suoritettiin:"
 
-#: ../output.py:1804
+#: ../output.py:2341
 msgid "Packages Altered:"
 msgstr "Muutetut paketit:"
 
-#: ../output.py:1808
+#: ../output.py:2345
 msgid "Packages Skipped:"
 msgstr "Ohitetut paketit:"
 
-#: ../output.py:1814
+#: ../output.py:2353
 msgid "Rpmdb Problems:"
 msgstr "Rpmdb:n ongelmia:"
 
-#: ../output.py:1825
+#: ../output.py:2364
 msgid "Scriptlet output:"
 msgstr "Sovelman tuloste:"
 
-#: ../output.py:1831
+#: ../output.py:2370
 msgid "Errors:"
 msgstr "Virheet:"
 
-#: ../output.py:1837 ../output.py:1838
-msgid "Install"
-msgstr "Asennus"
-
-#: ../output.py:1839
+#: ../output.py:2378
 msgid "Dep-Install"
 msgstr "Riippuvuuden asennus"
 
-#: ../output.py:1841
+#: ../output.py:2380
 msgid "Obsoleting"
 msgstr "Vanhentava"
 
-#: ../output.py:1842
+#: ../output.py:2381
 msgid "Erase"
 msgstr "Poisto"
 
-#: ../output.py:1843
-msgid "Reinstall"
-msgstr "Uudelleenasennus"
-
-#: ../output.py:1844
-msgid "Downgrade"
-msgstr "Varhennus"
-
-#: ../output.py:1846
+#: ../output.py:2385
 msgid "Update"
 msgstr "Päivitys"
 
-#: ../output.py:1909
+#: ../output.py:2459
 msgid "Time"
 msgstr "﻿Aika"
 
-#: ../output.py:1935
+#: ../output.py:2485
 msgid "Last day"
 msgstr "Eilen"
 
-#: ../output.py:1936
+#: ../output.py:2486
 msgid "Last week"
 msgstr "Viime viikolla"
 
-#: ../output.py:1937
+#: ../output.py:2487
 msgid "Last 2 weeks"
 msgstr "Viimeisen kahden viikon aikana"
 
 #. US default :p
-#: ../output.py:1938
+#: ../output.py:2488
 msgid "Last 3 months"
 msgstr "Viimeisen kolmen kuukauden aikana"
 
-#: ../output.py:1939
+#: ../output.py:2489
 msgid "Last 6 months"
 msgstr "Viimeisen kuuden kuukauden aikana"
 
-#: ../output.py:1940
+#: ../output.py:2490
 msgid "Last year"
 msgstr "Viime vuonna"
 
-#: ../output.py:1941
+#: ../output.py:2491
 msgid "Over a year ago"
 msgstr "Yli vuosi sitten"
 
-#: ../output.py:1984
+#: ../output.py:2538
 #, python-format
 msgid "No Transaction %s found"
 msgstr "Transaktiota %s ei löytynyt"
 
-#: ../output.py:1990
+#: ../output.py:2544
 msgid "Transaction ID:"
 msgstr "Transaktiotunnus:"
 
-#: ../output.py:1991
+#: ../output.py:2545
 msgid "Available additional history information:"
 msgstr "Käytettävissä olevaa historiatietoa:"
 
-#: ../output.py:2003
+#: ../output.py:2558
 #, python-format
 msgid "%s: No additional data found by this name"
 msgstr "%s: Lisätietoja ei löytynyt tällä nimellä"
 
-#: ../output.py:2106
+#: ../output.py:2684
+msgid "Package        :"
+msgstr ""
+
+#: ../output.py:2685
+msgid "State          :"
+msgstr ""
+
+#: ../output.py:2688
+msgid "Size           :"
+msgstr ""
+
+#: ../output.py:2690
+msgid "Build host     :"
+msgstr ""
+
+#: ../output.py:2693
+msgid "Build time     :"
+msgstr ""
+
+#: ../output.py:2695
+msgid "Packager       :"
+msgstr ""
+
+#: ../output.py:2697
+msgid "Vendor         :"
+msgstr ""
+
+#: ../output.py:2699
+msgid "License        :"
+msgstr ""
+
+#: ../output.py:2701
+msgid "URL            :"
+msgstr ""
+
+#: ../output.py:2703
+msgid "Source RPM     :"
+msgstr ""
+
+#: ../output.py:2706
+msgid "Commit Time    :"
+msgstr ""
+
+#: ../output.py:2708
+msgid "Committer      :"
+msgstr ""
+
+#: ../output.py:2710
+msgid "Reason         :"
+msgstr ""
+
+#: ../output.py:2714
+msgid "From repo      :"
+msgstr ""
+
+#: ../output.py:2718
+msgid "Installed by   :"
+msgstr ""
+
+#: ../output.py:2722
+msgid "Changed by     :"
+msgstr ""
+
+#: ../output.py:2767
 msgid "installed"
 msgstr "asennettavaksi"
 
-#: ../output.py:2107
+#: ../output.py:2768
 msgid "an update"
 msgstr ""
 
-#: ../output.py:2108
+#: ../output.py:2769
 msgid "erased"
 msgstr "poistettavaksi"
 
-#: ../output.py:2109
+#: ../output.py:2770
 msgid "reinstalled"
 msgstr "asennettavaksi uudelleen"
 
-#: ../output.py:2110
+#: ../output.py:2771
 msgid "a downgrade"
 msgstr ""
 
-#: ../output.py:2111
+#: ../output.py:2772
 msgid "obsoleting"
 msgstr ""
 
-#: ../output.py:2112
+#: ../output.py:2773
 msgid "updated"
 msgstr "päivitettäväksi"
 
-#: ../output.py:2113
+#: ../output.py:2774
 msgid "obsoleted"
 msgstr "vanhennettavaksi"
 
-#: ../output.py:2117
+#: ../output.py:2778
 #, python-format
 msgid "---> Package %s.%s %s:%s-%s will be %s"
 msgstr ""
 
-#: ../output.py:2124
+#: ../output.py:2789
 msgid "--> Running transaction check"
 msgstr "--> Suoritetaan transaktiotarkistusta"
 
-#: ../output.py:2129
+#: ../output.py:2795
 msgid "--> Restarting Dependency Resolution with new changes."
-msgstr ""
-"--> Aloitetaan riippuvuuksien tarkistus uudelleen uusien muutosten kanssa."
+msgstr "--> Aloitetaan riippuvuuksien tarkistus uudelleen uusien muutosten kanssa."
 
-#: ../output.py:2134
+#: ../output.py:2801
 msgid "--> Finished Dependency Resolution"
 msgstr "--> Riippuvuuksien tarkistus valmistui"
 
-#: ../output.py:2139 ../output.py:2144
+#: ../output.py:2814 ../output.py:2827
 #, python-format
 msgid "--> Processing Dependency: %s for package: %s"
 msgstr "--> Käsitellään riipuvuutta: %s paketille: %s"
 
-#: ../output.py:2149
+#: ../output.py:2841
 #, python-format
-msgid "---> Keeping package: %s"
-msgstr "---> Pidetään paketti: %s"
+msgid "---> Keeping package: %s due to %s"
+msgstr ""
 
-#: ../output.py:2152
+#: ../output.py:2850
 #, python-format
 msgid "--> Unresolved Dependency: %s"
 msgstr "--> Ratkaisematon riippuvuus: %s"
 
-#: ../output.py:2163
+#: ../output.py:2867
 #, python-format
 msgid "Package: %s"
 msgstr "Paketti: %s"
 
-#: ../output.py:2165
+#: ../output.py:2869
 #, python-format
 msgid ""
 "\n"
 "    Requires: %s"
-msgstr ""
-"\n"
-"    Vaatii: %s"
+msgstr "\n    Vaatii: %s"
 
-#: ../output.py:2174
+#: ../output.py:2878
 #, python-format
 msgid ""
 "\n"
 "    %s: %s (%s)"
-msgstr ""
-"\n"
-"    %s: %s (%s)"
+msgstr "\n    %s: %s (%s)"
 
-#: ../output.py:2179
+#: ../output.py:2883
 #, python-format
 msgid ""
 "\n"
 "        %s"
-msgstr ""
-"\n"
-"        %s"
+msgstr "\n        %s"
 
-#: ../output.py:2181
+#: ../output.py:2885
 msgid ""
 "\n"
 "        Not found"
-msgstr ""
-"\n"
-"        Ei löytynyt"
+msgstr "\n        Ei löytynyt"
 
 #. These should be the only three things we care about:
-#: ../output.py:2196
+#: ../output.py:2900
 msgid "Updated By"
 msgstr "Päivittää"
 
-#: ../output.py:2197
+#: ../output.py:2901
 msgid "Downgraded By"
 msgstr "Varhentaa"
 
-#: ../output.py:2198
+#: ../output.py:2902
 msgid "Obsoleted By"
 msgstr "Vanhentaa"
 
-#: ../output.py:2216
+#: ../output.py:2920
 msgid "Available"
 msgstr "Saatavilla"
 
-#: ../output.py:2243 ../output.py:2248
+#: ../output.py:2955 ../output.py:2968
 #, python-format
 msgid "--> Processing Conflict: %s conflicts %s"
 msgstr "--> Käsitellään ristiriitaa: %s on ristiriidassa paketin %s kanssa"
 
-#: ../output.py:2252
+#: ../output.py:2974
 msgid "--> Populating transaction set with selected packages. Please wait."
 msgstr "--> Täytetään transaktiojoukkoa valituilla paketeilla. Odota hetki."
 
-#: ../output.py:2256
+#: ../output.py:2983
 #, python-format
 msgid "---> Downloading header for %s to pack into transaction set."
 msgstr "---> Ladataan paketin %s otsaketta transaktiojoukkoon lisäämseksi."
 
-#: ../utils.py:99
+#. self.event(txmbr.name, count, len(base.tsInfo), count, )
+#. (te_current*100L)/te_total
+#: ../output.py:3248
+msgid "Verifying"
+msgstr ""
+
+#: ../utils.py:123
 msgid "Running"
 msgstr "Suoritetaan"
 
-#: ../utils.py:100
+#: ../utils.py:124
 msgid "Sleeping"
 msgstr "Unessa"
 
-#: ../utils.py:101
+#: ../utils.py:125
 msgid "Uninterruptible"
 msgstr "Ei voi keskeyttää"
 
-#: ../utils.py:102
+#: ../utils.py:126
 msgid "Zombie"
 msgstr "Zombi"
 
-#: ../utils.py:103
+#: ../utils.py:127
 msgid "Traced/Stopped"
 msgstr "Jäljitetään/Pysäytetty"
 
-#: ../utils.py:104 ../yumcommands.py:994
+#: ../utils.py:128 ../yumcommands.py:2193
 msgid "Unknown"
 msgstr "Tuntematon"
 
-#: ../utils.py:115
+#: ../utils.py:153
 msgid "  The other application is: PackageKit"
 msgstr "  Toinen ohjelma on: PackageKit"
 
-#: ../utils.py:117
+#: ../utils.py:155
 #, python-format
 msgid "  The other application is: %s"
 msgstr "  Toinen ohjelma on: %s"
 
-#: ../utils.py:120
+#: ../utils.py:158
 #, python-format
 msgid "    Memory : %5s RSS (%5sB VSZ)"
 msgstr "    Muisti    : %5s RSS (%5sB VSZ)"
 
-#: ../utils.py:125
+#: ../utils.py:163
 #, python-format
 msgid "    Started: %s - %s ago"
 msgstr "    Aloitettu : %s - %s sitten"
 
-#: ../utils.py:127
+#: ../utils.py:165
 #, python-format
 msgid "    State  : %s, pid: %d"
 msgstr "    Tila      : %s, pid: %d"
 
-#: ../utils.py:170 ../yummain.py:43
+#: ../utils.py:194 ../yummain.py:43
 msgid ""
 "\n"
 "\n"
 "Exiting on user cancel"
-msgstr ""
-"\n"
-"\n"
-"Lopetetaan käyttäjän peruttua"
+msgstr "\n\nLopetetaan käyttäjän peruttua"
 
-#: ../utils.py:176 ../yummain.py:49
+#: ../utils.py:206 ../yummain.py:49
 msgid ""
 "\n"
 "\n"
 "Exiting on Broken Pipe"
-msgstr ""
-"\n"
-"\n"
-"Lopetetaan putken katkettua"
+msgstr "\n\nLopetetaan putken katkettua"
 
-#: ../utils.py:178 ../yummain.py:51
+#: ../utils.py:208 ../yummain.py:51
 #, python-format
 msgid ""
 "\n"
 "\n"
 "%s"
-msgstr ""
-"\n"
-"\n"
-"%s"
+msgstr "\n\n%s"
 
-#: ../utils.py:228 ../yummain.py:123
-msgid ""
-"Another app is currently holding the yum lock; exiting as configured by "
-"exit_on_lock"
-msgstr ""
-"Toinen ohjelma pitää tällä hetkellä yumin lukkoa. Lopetetaan, kuten "
-"exit_on_lock määrää"
-
-#: ../utils.py:287
+#: ../utils.py:326
 #, python-format
 msgid "PluginExit Error: %s"
 msgstr "﻿PluginExit-virhe: %s"
 
-#: ../utils.py:290
+#: ../utils.py:329
 #, python-format
 msgid "Yum Error: %s"
 msgstr "﻿Yum-virhe: %s"
 
-#: ../utils.py:342 ../yummain.py:150 ../yummain.py:189
+#: ../utils.py:387 ../yummain.py:147 ../yummain.py:186
 #, python-format
 msgid "Error: %s"
 msgstr "Virhe: %s"
 
-#: ../utils.py:346 ../yummain.py:194
+#: ../utils.py:391 ../yummain.py:191
 msgid " You could try using --skip-broken to work around the problem"
 msgstr " Ongelman pystyy ehkä kiertämään valitsimella --skip-broken"
 
-#: ../utils.py:348 ../yummain.py:87
+#: ../utils.py:393 ../yummain.py:87
 msgid " You could try running: rpm -Va --nofiles --nodigest"
-msgstr ""
-" Kannattaa myös kokeilla komennon rpm -Va --nofiles --nodigest suorittamista"
+msgstr " Kannattaa myös kokeilla komennon rpm -Va --nofiles --nodigest suorittamista"
 
-#: ../utils.py:355 ../yummain.py:160 ../yummain.py:202
+#: ../utils.py:400 ../yummain.py:157 ../yummain.py:199
 #, python-format
 msgid "Unknown Error(s): Exit Code: %d:"
 msgstr "Tuntematon virhe: lopetuskoodi: %d:"
 
-#: ../utils.py:361 ../yummain.py:208
+#: ../utils.py:406 ../yummain.py:205
 msgid ""
 "\n"
 "Dependencies Resolved"
-msgstr ""
-"\n"
-"Riippuvuudet on ratkaistu"
+msgstr "\nRiippuvuudet on ratkaistu"
 
-#: ../utils.py:376 ../yummain.py:234
+#: ../utils.py:422 ../yummain.py:237
 msgid "Complete!"
 msgstr "Valmis!"
 
@@ -1523,7 +1651,7 @@ msgstr ""
 msgid "You need to be root to perform this command."
 msgstr "Vain pääkäyttäjä voi suorittaa tämän komennon."
 
-#: ../yumcommands.py:59
+#: ../yumcommands.py:67
 msgid ""
 "\n"
 "You have enabled checking of packages via GPG keys. This is a good thing. \n"
@@ -1538,585 +1666,650 @@ msgid ""
 "will install it for you.\n"
 "\n"
 "For more information contact your distribution or package provider.\n"
-msgstr ""
-"\n"
-"Pakettien tarkistaminen GPG-avainten avulla on käytössä, se on hyvä.\n"
-"Yhtään GPG-avainta ei kuitenkaan ole asennettuna. Asennettavaksi aiottuja\n"
-"paketteja varten on ladattava ja asennettava GPG-avaimet.\n"
-"Avaimet voi asentaa suorittamalla komennon:\n"
-"    rpm --import julkinen.gpg.avain\n"
-"\n"
-"\n"
-"Käytettävän avaimen URL:n voi määritellä asennuslähteen asetusten\n"
-"”gpgkey”-valitsimella. Tällöin yum asentaa avaimen automaattisesti.\n"
-"\n"
-"Lisätietoja saattaa olla jakelun tai pakettien tarjoajan ohjeissa.\n"
+msgstr "\nPakettien tarkistaminen GPG-avainten avulla on käytössä, se on hyvä.\nYhtään GPG-avainta ei kuitenkaan ole asennettuna. Asennettavaksi aiottuja\npaketteja varten on ladattava ja asennettava GPG-avaimet.\nAvaimet voi asentaa suorittamalla komennon:\n    rpm --import julkinen.gpg.avain\n\n\nKäytettävän avaimen URL:n voi määritellä asennuslähteen asetusten\n”gpgkey”-valitsimella. Tällöin yum asentaa avaimen automaattisesti.\n\nLisätietoja saattaa olla jakelun tai pakettien tarjoajan ohjeissa.\n"
 
-#: ../yumcommands.py:74
+#: ../yumcommands.py:82
 #, python-format
 msgid "Problem repository: %s"
 msgstr ""
 
-#: ../yumcommands.py:80
+#: ../yumcommands.py:96
 #, python-format
 msgid "Error: Need to pass a list of pkgs to %s"
 msgstr "Virhe: komennolle %s on annettava luettelo paketeista"
 
-#: ../yumcommands.py:86
+#: ../yumcommands.py:114
+#, python-format
+msgid "Error: Need at least two packages to %s"
+msgstr ""
+
+#: ../yumcommands.py:129
+#, python-format
+msgid "Error: Need to pass a repoid. and command to %s"
+msgstr ""
+
+#: ../yumcommands.py:136 ../yumcommands.py:142
+#, python-format
+msgid "Error: Need to pass a single valid repoid. to %s"
+msgstr ""
+
+#: ../yumcommands.py:147
+#, python-format
+msgid "Error: Repo %s is not enabled"
+msgstr ""
+
+#: ../yumcommands.py:164
 msgid "Error: Need an item to match"
 msgstr "Virhe: Tarvitaan vastaava kohta"
 
-#: ../yumcommands.py:92
+#: ../yumcommands.py:178
 msgid "Error: Need a group or list of groups"
 msgstr "Virhe: Tarvitaan ryhmä tai ryhmäluettelo"
 
-#: ../yumcommands.py:101
+#: ../yumcommands.py:195
 #, python-format
 msgid "Error: clean requires an option: %s"
 msgstr "Virhe: clean vaatii valitsimen: %s"
 
-#: ../yumcommands.py:106
+#: ../yumcommands.py:201
 #, python-format
 msgid "Error: invalid clean argument: %r"
 msgstr "Virhe: virheellinen clean-argumentti: %r"
 
-#: ../yumcommands.py:119
+#: ../yumcommands.py:216
 msgid "No argument to shell"
 msgstr "shellille ei annettu argumenttia"
 
-#: ../yumcommands.py:121
+#: ../yumcommands.py:218
 #, python-format
 msgid "Filename passed to shell: %s"
 msgstr "Tiedostonimi välitettiin shellille: %s"
 
-#: ../yumcommands.py:125
+#: ../yumcommands.py:222
 #, python-format
 msgid "File %s given as argument to shell does not exist."
-msgstr ""
-"Tiedosto %s annettiin argumenttina shellille, mutta sitä ei ole olemassa."
+msgstr "Tiedosto %s annettiin argumenttina shellille, mutta sitä ei ole olemassa."
 
-#: ../yumcommands.py:131
+#: ../yumcommands.py:228
 msgid "Error: more than one file given as argument to shell."
 msgstr "Virhe: useampi kuin yksi tiedosto annettiin argumenttina shellille."
 
-#: ../yumcommands.py:148
+#: ../yumcommands.py:247
 msgid ""
 "There are no enabled repos.\n"
 " Run \"yum repolist all\" to see the repos you have.\n"
 " You can enable repos with yum-config-manager --enable <repo>"
-msgstr ""
-"Yhtään asennuslähdettä ei ole käytössä.\n"
-" Suorita ”yum repolist all” kaikkien asennuslähteiden luettelemiseksi.\n"
-" Voit ottaa asennuslähteitä käyttöön komennolla yum-config-manager --enable <asennuslähde>"
+msgstr "Yhtään asennuslähdettä ei ole käytössä.\n Suorita ”yum repolist all” kaikkien asennuslähteiden luettelemiseksi.\n Voit ottaa asennuslähteitä käyttöön komennolla yum-config-manager --enable <asennuslähde>"
 
-#: ../yumcommands.py:200
+#: ../yumcommands.py:383
 msgid "PACKAGE..."
 msgstr "PAKETTI..."
 
-#: ../yumcommands.py:203
+#: ../yumcommands.py:390
 msgid "Install a package or packages on your system"
 msgstr "Asenna paketti tai paketteja järjestelmään"
 
-#: ../yumcommands.py:212
+#: ../yumcommands.py:421
 msgid "Setting up Install Process"
 msgstr "Aloitetaan asennusprosessi"
 
-#: ../yumcommands.py:223 ../yumcommands.py:245
+#: ../yumcommands.py:447 ../yumcommands.py:507
 msgid "[PACKAGE...]"
 msgstr "[PAKETTI...]"
 
-#: ../yumcommands.py:226
+#: ../yumcommands.py:454
 msgid "Update a package or packages on your system"
 msgstr "Päivitä paketti tai paketteja järjestelmään"
 
-#: ../yumcommands.py:234
+#: ../yumcommands.py:483
 msgid "Setting up Update Process"
 msgstr "Aloitetaan päivitysprosessi"
 
-#: ../yumcommands.py:248
+#: ../yumcommands.py:514
 msgid "Synchronize installed packages to the latest available versions"
 msgstr "Synkronoi asennetut paketit uusimpiin saatavilla oleviin versioihin"
 
-#: ../yumcommands.py:256
+#: ../yumcommands.py:543
 msgid "Setting up Distribution Synchronization Process"
 msgstr "Aloitetaan jakelusynkronointiprosessi"
 
-#: ../yumcommands.py:299
+#: ../yumcommands.py:603
 msgid "Display details about a package or group of packages"
 msgstr "Näytä tietoja paketista tai pakettiryhmästä"
 
-#: ../yumcommands.py:348
+#: ../yumcommands.py:672
 msgid "Installed Packages"
 msgstr "Asennetut paketit"
 
-#: ../yumcommands.py:356
+#: ../yumcommands.py:682
 msgid "Available Packages"
 msgstr "Saatavilla olevat paketit"
 
-#: ../yumcommands.py:360
+#: ../yumcommands.py:687
 msgid "Extra Packages"
 msgstr "Lisäpaketit"
 
-#: ../yumcommands.py:364
+#: ../yumcommands.py:691
 msgid "Updated Packages"
 msgstr "Päivitetyt paketit"
 
 #. This only happens in verbose mode
-#: ../yumcommands.py:372 ../yumcommands.py:379 ../yumcommands.py:667
+#: ../yumcommands.py:699 ../yumcommands.py:706 ../yumcommands.py:1539
 msgid "Obsoleting Packages"
 msgstr "Vanhentavat paketit"
 
-#: ../yumcommands.py:381
+#: ../yumcommands.py:708
 msgid "Recently Added Packages"
 msgstr "Äskettäin lisätyt paketit"
 
-#: ../yumcommands.py:388
+#: ../yumcommands.py:715
 msgid "No matching Packages to list"
 msgstr "Ei yhtään vastaavaa pakettia lueteltavaksi"
 
-#: ../yumcommands.py:402
+#: ../yumcommands.py:766
 msgid "List a package or groups of packages"
 msgstr "Luettele paketti tai pakettiryhmä"
 
-#: ../yumcommands.py:414
+#: ../yumcommands.py:797
 msgid "Remove a package or packages from your system"
 msgstr "Poista paketti tai paketteja järjestelmästä"
 
-#: ../yumcommands.py:421
+#: ../yumcommands.py:845
 msgid "Setting up Remove Process"
 msgstr "Aloitetaan poistoprosessi"
 
-#: ../yumcommands.py:435
+#: ../yumcommands.py:906
+msgid "Display, or use, the groups information"
+msgstr ""
+
+#: ../yumcommands.py:909
 msgid "Setting up Group Process"
 msgstr "Aloitetaan ryhmäprosessi"
 
-#: ../yumcommands.py:441
+#: ../yumcommands.py:915
 msgid "No Groups on which to run command"
 msgstr "Ei ryhmiä joille suorittaa komentoa"
 
-#: ../yumcommands.py:454
-msgid "List available package groups"
-msgstr "Luettele saatavilla olevat pakettiryhmät"
-
-#: ../yumcommands.py:474
-msgid "Install the packages in a group on your system"
-msgstr "Asenna ryhmään kuuluvat paketit järjestelmään"
+#: ../yumcommands.py:985
+#, python-format
+msgid "Invalid groups sub-command, use: %s."
+msgstr ""
 
-#: ../yumcommands.py:497
-msgid "Remove the packages in a group from your system"
-msgstr "Poista ryhmään kuuluvat paketit järjestelmästä"
+#: ../yumcommands.py:992
+msgid "There is no installed groups file."
+msgstr ""
 
-#: ../yumcommands.py:525
-msgid "Display details about a package group"
-msgstr "Näytä tietoja pakettiryhmästä"
+#: ../yumcommands.py:994
+msgid "You don't have access to the groups DB."
+msgstr ""
 
-#: ../yumcommands.py:550
+#: ../yumcommands.py:1256
 msgid "Generate the metadata cache"
 msgstr "Luo metadatavälimuisti"
 
-#: ../yumcommands.py:556
+#: ../yumcommands.py:1282
 msgid "Making cache files for all metadata files."
 msgstr "Luodaan välimuistitiedostoja kaikille metadatatiedostoille"
 
-#: ../yumcommands.py:557
+#: ../yumcommands.py:1283
 msgid "This may take a while depending on the speed of this computer"
 msgstr "Tämä voi kestää jonkin aikaa riippuen tietokoneen nopeudesta"
 
-#: ../yumcommands.py:578
+#: ../yumcommands.py:1312
 msgid "Metadata Cache Created"
 msgstr "Metadatavälimuisti on luotu"
 
-#: ../yumcommands.py:592
+#: ../yumcommands.py:1350
 msgid "Remove cached data"
 msgstr "Poista välimuistissa oleva data"
 
-#: ../yumcommands.py:613
+#: ../yumcommands.py:1417
 msgid "Find what package provides the given value"
 msgstr "Etsi annetun arvon tarjoava paketti"
 
-#: ../yumcommands.py:633
+#: ../yumcommands.py:1485
 msgid "Check for available package updates"
 msgstr "Etsi saatavilla olevia pakettipäivityksiä"
 
-#: ../yumcommands.py:687
+#: ../yumcommands.py:1587
 msgid "Search package details for the given string"
 msgstr "Etsi pakettitiedoista annettua merkkijonoa"
 
-#: ../yumcommands.py:693
+#: ../yumcommands.py:1613
 msgid "Searching Packages: "
 msgstr "Etsitään paketteja: "
 
-#: ../yumcommands.py:710
+#: ../yumcommands.py:1666
 msgid "Update packages taking obsoletes into account"
 msgstr "Päivitä paketit ottaen vanhennukset huomioon"
 
-#: ../yumcommands.py:719
+#: ../yumcommands.py:1696
 msgid "Setting up Upgrade Process"
 msgstr "Aloitetaan päivitysprosessi"
 
-#: ../yumcommands.py:737
+#: ../yumcommands.py:1731
 msgid "Install a local RPM"
 msgstr "Asenna paikallinen RPM-tiedosto"
 
-#: ../yumcommands.py:745
+#: ../yumcommands.py:1761
 msgid "Setting up Local Package Process"
 msgstr "Aloitetaan paikallinen pakettiprosessi"
 
-#: ../yumcommands.py:764
-msgid "Determine which package provides the given dependency"
-msgstr "Selvitä mikä paketti tarjoaa annetun riippuvuuden"
-
-#: ../yumcommands.py:767
+#: ../yumcommands.py:1825
 msgid "Searching Packages for Dependency:"
 msgstr "Etsitään riippuvuutta paketeista:"
 
-#: ../yumcommands.py:781
+#: ../yumcommands.py:1867
 msgid "Run an interactive yum shell"
 msgstr "Suorita interaktiivinen yum-komentorivi"
 
-#: ../yumcommands.py:787
+#: ../yumcommands.py:1893
 msgid "Setting up Yum Shell"
 msgstr "Asetetaan Yum-komentoriviä"
 
-#: ../yumcommands.py:805
+#: ../yumcommands.py:1936
 msgid "List a package's dependencies"
 msgstr "Luettele paketin riippuvuudet"
 
-#: ../yumcommands.py:811
+#: ../yumcommands.py:1963
 msgid "Finding dependencies: "
 msgstr "Etsitään riippuvuuksia: "
 
-#: ../yumcommands.py:827
+#: ../yumcommands.py:2005
 msgid "Display the configured software repositories"
 msgstr "Näytä asetetut asennuslähteet"
 
-#: ../yumcommands.py:893 ../yumcommands.py:894
+#: ../yumcommands.py:2094 ../yumcommands.py:2095
 msgid "enabled"
 msgstr "käytössä"
 
-#: ../yumcommands.py:920 ../yumcommands.py:921
+#: ../yumcommands.py:2121 ../yumcommands.py:2122
 msgid "disabled"
 msgstr "poissa käytöstä"
 
-#: ../yumcommands.py:937
+#: ../yumcommands.py:2137
 msgid "Repo-id      : "
 msgstr "Lähdetunnus        : "
 
-#: ../yumcommands.py:938
+#: ../yumcommands.py:2138
 msgid "Repo-name    : "
 msgstr "Lähdenimi          : "
 
-#: ../yumcommands.py:941
+#: ../yumcommands.py:2141
 msgid "Repo-status  : "
 msgstr "Lähteen tila       : "
 
-#: ../yumcommands.py:944
+#: ../yumcommands.py:2144
 msgid "Repo-revision: "
 msgstr "Lähderevisio      : "
 
-#: ../yumcommands.py:948
+#: ../yumcommands.py:2148
 msgid "Repo-tags    : "
 msgstr "Lähteen tagit      : "
 
-#: ../yumcommands.py:954
+#: ../yumcommands.py:2154
 msgid "Repo-distro-tags: "
 msgstr "Lähteen jakelutagit: "
 
-#: ../yumcommands.py:959
+#: ../yumcommands.py:2159
 msgid "Repo-updated : "
 msgstr "Lähde päivitetty   : "
 
-#: ../yumcommands.py:961
+#: ../yumcommands.py:2161
 msgid "Repo-pkgs    : "
 msgstr "Lähteen paketit    : "
 
-#: ../yumcommands.py:962
+#: ../yumcommands.py:2162
 msgid "Repo-size    : "
 msgstr "Lähteen koko       : "
 
-#: ../yumcommands.py:969 ../yumcommands.py:990
+#: ../yumcommands.py:2169 ../yumcommands.py:2190
 msgid "Repo-baseurl : "
 msgstr "Lähteen baseurl    : "
 
-#: ../yumcommands.py:977
+#: ../yumcommands.py:2177
 msgid "Repo-metalink: "
 msgstr "Lähteen metalink   : "
 
-#: ../yumcommands.py:981
+#: ../yumcommands.py:2181
 msgid "  Updated    : "
 msgstr "  Päivitetty       : "
 
-#: ../yumcommands.py:984
+#: ../yumcommands.py:2184
 msgid "Repo-mirrors : "
 msgstr "Lähteen peilit     : "
 
-#: ../yumcommands.py:1000
+#: ../yumcommands.py:2199
 #, python-format
 msgid "Never (last: %s)"
 msgstr "Ei koskaan (viimeksi: %s)"
 
-#: ../yumcommands.py:1002
+#: ../yumcommands.py:2201
 #, python-format
 msgid "Instant (last: %s)"
 msgstr "Heti (viimeksi: %s)"
 
-#: ../yumcommands.py:1005
+#: ../yumcommands.py:2204
 #, python-format
 msgid "%s second(s) (last: %s)"
 msgstr "%s sekunti(a) (viimeksi: %s)"
 
-#: ../yumcommands.py:1007
+#: ../yumcommands.py:2206
 msgid "Repo-expire  : "
 msgstr "Lähde vanhentuu    : "
 
-#: ../yumcommands.py:1010
+#: ../yumcommands.py:2209
 msgid "Repo-exclude : "
 msgstr "Lähde ohittaa      : "
 
-#: ../yumcommands.py:1014
+#: ../yumcommands.py:2213
 msgid "Repo-include : "
 msgstr "Lähde sisältää     : "
 
-#: ../yumcommands.py:1018
+#: ../yumcommands.py:2217
 msgid "Repo-excluded: "
 msgstr "Lähde ohitettu     : "
 
-#: ../yumcommands.py:1022
+#: ../yumcommands.py:2221
 msgid "Repo-filename: "
 msgstr ""
 
 #. Work out the first (id) and last (enabled/disalbed/count),
 #. then chop the middle (name)...
-#: ../yumcommands.py:1032 ../yumcommands.py:1061
+#: ../yumcommands.py:2230 ../yumcommands.py:2259
 msgid "repo id"
 msgstr "lähdetunnus"
 
-#: ../yumcommands.py:1049 ../yumcommands.py:1050 ../yumcommands.py:1068
+#: ../yumcommands.py:2247 ../yumcommands.py:2248 ../yumcommands.py:2266
 msgid "status"
 msgstr "tila"
 
-#: ../yumcommands.py:1062
+#: ../yumcommands.py:2260
 msgid "repo name"
 msgstr "lähdenimi"
 
-#: ../yumcommands.py:1099
+#: ../yumcommands.py:2332
 msgid "Display a helpful usage message"
 msgstr "Näytä käyttöohjeviesti"
 
-#: ../yumcommands.py:1133
+#: ../yumcommands.py:2374
 #, python-format
 msgid "No help available for %s"
 msgstr "Ei ohjeita komennolle %s"
 
-#: ../yumcommands.py:1138
+#: ../yumcommands.py:2379
 msgid ""
 "\n"
 "\n"
 "aliases: "
-msgstr ""
-"\n"
-"\n"
-"muut nimet: "
+msgstr "\n\nmuut nimet: "
 
-#: ../yumcommands.py:1140
+#: ../yumcommands.py:2381
 msgid ""
 "\n"
 "\n"
 "alias: "
-msgstr ""
-"\n"
-"\n"
-"toinen nimi: "
+msgstr "\n\ntoinen nimi: "
 
-#: ../yumcommands.py:1168
+#: ../yumcommands.py:2466
 msgid "Setting up Reinstall Process"
 msgstr "Aloitetaan uudelleenasennusprosessi"
 
-#: ../yumcommands.py:1176
+#: ../yumcommands.py:2478
 msgid "reinstall a package"
 msgstr "asenna paketti uudelleen"
 
-#: ../yumcommands.py:1195
+#: ../yumcommands.py:2541
 msgid "Setting up Downgrade Process"
 msgstr "Aloitetaan varhennusprosessi"
 
-#: ../yumcommands.py:1202
+#: ../yumcommands.py:2552
 msgid "downgrade a package"
 msgstr "varhenna paketti"
 
-#: ../yumcommands.py:1216
+#: ../yumcommands.py:2591
 msgid "Display a version for the machine and/or available repos."
-msgstr ""
-"Näytä koneella ja/tai käytettävissä olevissa asennuslähteissä oleva versio"
+msgstr "Näytä koneella ja/tai käytettävissä olevissa asennuslähteissä oleva versio"
 
-#: ../yumcommands.py:1255
+#: ../yumcommands.py:2643
 msgid " Yum version groups:"
 msgstr " Yum-versioryhmät:"
 
-#: ../yumcommands.py:1265
+#: ../yumcommands.py:2653
 msgid " Group   :"
 msgstr " Ryhmä:"
 
-#: ../yumcommands.py:1266
+#: ../yumcommands.py:2654
 msgid " Packages:"
 msgstr " Paketit:"
 
-#: ../yumcommands.py:1295
+#: ../yumcommands.py:2683
 msgid "Installed:"
 msgstr "Asennettu:"
 
-#: ../yumcommands.py:1303
+#: ../yumcommands.py:2691
 msgid "Group-Installed:"
 msgstr "Asennettu ryhmässä:"
 
-#: ../yumcommands.py:1312
+#: ../yumcommands.py:2700
 msgid "Available:"
 msgstr "Saatavilla:"
 
-#: ../yumcommands.py:1321
+#: ../yumcommands.py:2709
 msgid "Group-Available:"
 msgstr "Saatavilla ryhmässä:"
 
-#: ../yumcommands.py:1360
+#: ../yumcommands.py:2783
 msgid "Display, or use, the transaction history"
 msgstr "Näytä tai käytä transaktiohistoriaa"
 
-#: ../yumcommands.py:1432
+#: ../yumcommands.py:2876 ../yumcommands.py:2880
+msgid "Transactions:"
+msgstr ""
+
+#: ../yumcommands.py:2881
+msgid "Begin time  :"
+msgstr ""
+
+#: ../yumcommands.py:2882
+msgid "End time    :"
+msgstr ""
+
+#: ../yumcommands.py:2883
+msgid "Counts      :"
+msgstr ""
+
+#: ../yumcommands.py:2884
+msgid "  NEVRAC :"
+msgstr ""
+
+#: ../yumcommands.py:2885
+msgid "  NEVRA  :"
+msgstr ""
+
+#: ../yumcommands.py:2886
+msgid "  NA     :"
+msgstr ""
+
+#: ../yumcommands.py:2887
+msgid "  NEVR   :"
+msgstr ""
+
+#: ../yumcommands.py:2888
+msgid "  rpm DB :"
+msgstr ""
+
+#: ../yumcommands.py:2889
+msgid "  yum DB :"
+msgstr ""
+
+#: ../yumcommands.py:2922
 #, python-format
 msgid "Invalid history sub-command, use: %s."
 msgstr "Virheellinen historyn alikomento, käytä: %s."
 
-#: ../yumcommands.py:1439
+#: ../yumcommands.py:2929
 msgid "You don't have access to the history DB."
 msgstr "Sinulla ei ole historiatietokannan käyttöoikeutta"
 
-#: ../yumcommands.py:1487
+#: ../yumcommands.py:3036
 msgid "Check for problems in the rpmdb"
 msgstr "Etsi ongelmia rpm-tietokannasta"
 
-#: ../yumcommands.py:1514
+#: ../yumcommands.py:3102
 msgid "load a saved transaction from filename"
 msgstr ""
 
-#: ../yumcommands.py:1518
+#: ../yumcommands.py:3119
 msgid "No saved transaction file specified."
 msgstr ""
 
-#: ../yumcommands.py:1522
+#: ../yumcommands.py:3123
 #, python-format
 msgid "loading transaction from %s"
 msgstr ""
 
-#: ../yumcommands.py:1528
+#: ../yumcommands.py:3129
 #, python-format
 msgid "Transaction loaded from %s with %s members"
 msgstr ""
 
+#: ../yumcommands.py:3169
+msgid "Simple way to swap packages, isntead of using shell"
+msgstr ""
+
+#: ../yumcommands.py:3264
+msgid ""
+"Treat a repo. as a group of packages, so we can install/remove all of them"
+msgstr ""
+
+#: ../yumcommands.py:3341
+#, python-format
+msgid "%d package to update"
+msgid_plural "%d packages to update"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../yumcommands.py:3370
+#, python-format
+msgid "%d package to remove/reinstall"
+msgid_plural "%d packages to remove/reinstall"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../yumcommands.py:3413
+#, python-format
+msgid "%d package to remove/sync"
+msgid_plural "%d packages to remove/sync"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../yumcommands.py:3417
+#, python-format
+msgid "Not a valid sub-command of %s"
+msgstr ""
+
 #. This is mainly for PackageSackError from rpmdb.
 #: ../yummain.py:84
 #, python-format
 msgid " Yum checks failed: %s"
 msgstr ""
 
-#: ../yummain.py:114
-msgid ""
-"Another app is currently holding the yum lock; waiting for it to exit..."
+#: ../yummain.py:98
+msgid "No read/execute access in current directory, moving to /"
 msgstr ""
-"Toinen ohjelma pitää tällä hetkellä yumin lukkoa, odotetaan että se "
-"lopettaa..."
 
-#: ../yummain.py:120
-msgid "Can't create lock file; exiting"
+#: ../yummain.py:106
+msgid "No getcwd() access in current directory, moving to /"
 msgstr ""
 
 #. Depsolve stage
-#: ../yummain.py:167
+#: ../yummain.py:164
 msgid "Resolving Dependencies"
 msgstr "Ratkaistaan riippuvuuksia"
 
-#: ../yummain.py:230
+#: ../yummain.py:227 ../yummain.py:235
 #, python-format
-msgid "Your transaction was saved, rerun it with: yum load-transaction %s"
+msgid ""
+"Your transaction was saved, rerun it with:\n"
+" yum load-transaction %s"
 msgstr ""
 
-#: ../yummain.py:288
+#: ../yummain.py:312
 msgid ""
 "\n"
 "\n"
 "Exiting on user cancel."
-msgstr ""
-"\n"
-"\n"
-"Lopetetaan käyttäjän peruttua."
+msgstr "\n\nLopetetaan käyttäjän peruttua."
 
-#: ../yum/depsolve.py:84
+#: ../yum/depsolve.py:127
 msgid "doTsSetup() will go away in a future version of Yum.\n"
 msgstr "doTsSetup() poistetaan jossakin Yumin tulevassa versiossa.\n"
 
-#: ../yum/depsolve.py:99
+#: ../yum/depsolve.py:143
 msgid "Setting up TransactionSets before config class is up"
 msgstr "Asetetaan TransactionSetsit ennen kuin asetusluokka on käytössä"
 
-#: ../yum/depsolve.py:153
+#: ../yum/depsolve.py:200
 #, python-format
 msgid "Invalid tsflag in config file: %s"
 msgstr "Virheellinen tsflag asetustiedostossa: %s"
 
-#: ../yum/depsolve.py:164
+#: ../yum/depsolve.py:218
 #, python-format
 msgid "Searching pkgSack for dep: %s"
 msgstr "Etsitään pkgSackista riippuvuutta: %s"
 
-#: ../yum/depsolve.py:207
+#: ../yum/depsolve.py:269
 #, python-format
 msgid "Member: %s"
 msgstr "Jäsen: %s"
 
-#: ../yum/depsolve.py:221 ../yum/depsolve.py:793
+#: ../yum/depsolve.py:283 ../yum/depsolve.py:937
 #, python-format
 msgid "%s converted to install"
 msgstr "%s muutettu asennukseksi"
 
-#: ../yum/depsolve.py:233
+#: ../yum/depsolve.py:295
 #, python-format
 msgid "Adding Package %s in mode %s"
 msgstr "Lisätään paketti %s tilassa %s"
 
-#: ../yum/depsolve.py:249
+#: ../yum/depsolve.py:311
 #, python-format
 msgid "Removing Package %s"
 msgstr "Poistetaan paketti %s"
 
-#: ../yum/depsolve.py:271
+#: ../yum/depsolve.py:333
 #, python-format
 msgid "%s requires: %s"
 msgstr "%s vaatii: %s"
 
-#: ../yum/depsolve.py:312
+#: ../yum/depsolve.py:374
 #, python-format
 msgid "%s requires %s"
 msgstr "%s vaatii %s"
 
-#: ../yum/depsolve.py:339
+#: ../yum/depsolve.py:401
 msgid "Needed Require has already been looked up, cheating"
 msgstr "Tarvittava vaatimus on jo etsitty, huijataan"
 
-#: ../yum/depsolve.py:349
+#: ../yum/depsolve.py:411
 #, python-format
 msgid "Needed Require is not a package name. Looking up: %s"
 msgstr "Tarvittava vaatimus ei ole pakettinimi. Etsitään: %s"
 
-#: ../yum/depsolve.py:357
+#: ../yum/depsolve.py:419
 #, python-format
 msgid "Potential Provider: %s"
 msgstr "Mahdollinen tarjoaja: %s"
 
-#: ../yum/depsolve.py:380
+#: ../yum/depsolve.py:442
 #, python-format
 msgid "Mode is %s for provider of %s: %s"
 msgstr "Tila %s riippuvuuden %s: %s tarjoajalla"
 
-#: ../yum/depsolve.py:384
+#: ../yum/depsolve.py:446
 #, python-format
 msgid "Mode for pkg providing %s: %s"
 msgstr "Riippuvuuden %s: %s tarjoavan paketin tila"
@@ -2124,1025 +2317,1140 @@ msgstr "Riippuvuuden %s: %s tarjoavan paketin tila"
 #. the thing it needs is being updated or obsoleted away
 #. try to update the requiring package in hopes that all this problem goes
 #. away :(
-#: ../yum/depsolve.py:389 ../yum/depsolve.py:406
+#: ../yum/depsolve.py:451 ../yum/depsolve.py:486
 #, python-format
 msgid "Trying to update %s to resolve dep"
 msgstr ""
 
-#: ../yum/depsolve.py:400 ../yum/depsolve.py:410
+#: ../yum/depsolve.py:480
 #, python-format
 msgid "No update paths found for %s. Failure!"
 msgstr ""
 
-#: ../yum/depsolve.py:416
+#: ../yum/depsolve.py:491
 #, python-format
-msgid "TSINFO: %s package requiring %s marked as erase"
+msgid "No update paths found for %s. Failure due to requirement: %s!"
 msgstr ""
-"TSINFO: paketti %s, joka vaatii riippuvuuden %s on merkitty poistettavaksi"
 
-#: ../yum/depsolve.py:429
+#: ../yum/depsolve.py:507
 #, python-format
-msgid "TSINFO: Obsoleting %s with %s to resolve dep."
+msgid "Update for %s. Doesn't fix requirement: %s!"
 msgstr ""
-"TSINFO: Vanhennetaan paketti %s paketilla %s riippuvuuden ratkaisemiseksi."
 
-#: ../yum/depsolve.py:432
+#: ../yum/depsolve.py:514
+#, python-format
+msgid "TSINFO: %s package requiring %s marked as erase"
+msgstr "TSINFO: paketti %s, joka vaatii riippuvuuden %s on merkitty poistettavaksi"
+
+#: ../yum/depsolve.py:527
+#, python-format
+msgid "TSINFO: Obsoleting %s with %s to resolve dep."
+msgstr "TSINFO: Vanhennetaan paketti %s paketilla %s riippuvuuden ratkaisemiseksi."
+
+#: ../yum/depsolve.py:530
 #, python-format
 msgid "TSINFO: Updating %s to resolve dep."
 msgstr "TSINFO: Päivitetään paketti %s riippuvuuden ratkaisemiseksi."
 
-#: ../yum/depsolve.py:440
+#: ../yum/depsolve.py:538
 #, python-format
 msgid "Cannot find an update path for dep for: %s"
 msgstr "Päivityspolkua ei löydetty riippuvuudelle: %s"
 
-#: ../yum/depsolve.py:471
+#: ../yum/depsolve.py:569
 #, python-format
 msgid "Quick matched %s to require for %s"
 msgstr "Pikavastaavuus %s vaatimukselle %s"
 
 #. is it already installed?
-#: ../yum/depsolve.py:513
+#: ../yum/depsolve.py:611
 #, python-format
 msgid "%s is in providing packages but it is already installed, removing."
 msgstr "%s on tarjoavissa paketeissa, mutta se on jo asennettuna, poistetaan."
 
-#: ../yum/depsolve.py:529
+#: ../yum/depsolve.py:627
 #, python-format
 msgid "Potential resolving package %s has newer instance in ts."
 msgstr "Mahdollisella ratkaisevalla paketilla %s on uudempi instanssi ts:ssä."
 
-#: ../yum/depsolve.py:540
+#: ../yum/depsolve.py:638
 #, python-format
 msgid "Potential resolving package %s has newer instance installed."
-msgstr ""
-"Mahdollisella ratkaisevalla paketilla %s on uudempi instanssi asennettuna."
+msgstr "Mahdollisella ratkaisevalla paketilla %s on uudempi instanssi asennettuna."
 
-#: ../yum/depsolve.py:558
+#: ../yum/depsolve.py:656
 #, python-format
 msgid "%s already in ts, skipping this one"
 msgstr "paketti %s on jo ts:ssä, ohitetaan"
 
-#: ../yum/depsolve.py:607
+#: ../yum/depsolve.py:705
 #, python-format
 msgid "TSINFO: Marking %s as update for %s"
 msgstr "TSINFO: Merkitään paketti %s päivitykseksi paketille %s"
 
-#: ../yum/depsolve.py:616
+#: ../yum/depsolve.py:714
 #, python-format
 msgid "TSINFO: Marking %s as install for %s"
 msgstr "TSINFO: Merkitään %s asennukseksi paketille %s"
 
-#: ../yum/depsolve.py:727 ../yum/depsolve.py:819
+#: ../yum/depsolve.py:849 ../yum/depsolve.py:967
 msgid "Success - empty transaction"
 msgstr "Onnistui - tyhjä transaktio"
 
-#: ../yum/depsolve.py:767 ../yum/depsolve.py:783
+#: ../yum/depsolve.py:889 ../yum/depsolve.py:927
 msgid "Restarting Loop"
 msgstr "Käynnistetään silmukka uudelleen"
 
-#: ../yum/depsolve.py:799
+#: ../yum/depsolve.py:947
 msgid "Dependency Process ending"
 msgstr "Riippuvuuksien käsittely päättyy"
 
-#: ../yum/depsolve.py:821
+#: ../yum/depsolve.py:969
 msgid "Success - deps resolved"
 msgstr "Onnistui – riippuvuudet on ratkaistu"
 
-#: ../yum/depsolve.py:845
+#: ../yum/depsolve.py:993
 #, python-format
 msgid "Checking deps for %s"
 msgstr "Tarkistetaan paketin %s riippuvuuksia"
 
-#: ../yum/depsolve.py:931
+#: ../yum/depsolve.py:1082
 #, python-format
 msgid "looking for %s as a requirement of %s"
 msgstr "etsitään riippuvuutta %s paketille %s"
 
-#: ../yum/depsolve.py:1169
+#: ../yum/depsolve.py:1349
 #, python-format
 msgid "Running compare_providers() for %s"
 msgstr "Suoritetaan compare_providers() paketeille %s"
 
-#: ../yum/depsolve.py:1196 ../yum/depsolve.py:1202
+#: ../yum/depsolve.py:1376 ../yum/depsolve.py:1382
 #, python-format
 msgid "better arch in po %s"
 msgstr "po:ssa %s on parempi arkkitehtuuri"
 
-#: ../yum/depsolve.py:1298
+#: ../yum/depsolve.py:1496
 #, python-format
 msgid "%s obsoletes %s"
 msgstr "paketti %s vanhentaa paketin %s"
 
-#: ../yum/depsolve.py:1310
+#: ../yum/depsolve.py:1508
 #, python-format
 msgid ""
 "archdist compared %s to %s on %s\n"
 "  Winner: %s"
-msgstr ""
-"archdist vertasi paketteja %s ja %s arkkitehtuurilla %s\n"
-"  Voittaja: %s"
+msgstr "archdist vertasi paketteja %s ja %s arkkitehtuurilla %s\n  Voittaja: %s"
 
-#: ../yum/depsolve.py:1318
+#: ../yum/depsolve.py:1516
 #, python-format
 msgid "common sourcerpm %s and %s"
 msgstr "paketeilla %s ja %s on yhteinen lähde-RPM"
 
-#: ../yum/depsolve.py:1322
+#: ../yum/depsolve.py:1520
 #, python-format
 msgid "base package %s is installed for %s"
 msgstr "peruspaketti %s on asennettu paketille %s"
 
-#: ../yum/depsolve.py:1328
+#: ../yum/depsolve.py:1526
 #, python-format
 msgid "common prefix of %s between %s and %s"
 msgstr "yhteinen %s merkin mittainen etuliite paketeilla %s ja %s"
 
-#: ../yum/depsolve.py:1359
+#: ../yum/depsolve.py:1543
 #, python-format
-msgid "requires minimal: %d"
-msgstr "vaatii vähintään: %d"
+msgid "provides vercmp: %s"
+msgstr ""
 
-#: ../yum/depsolve.py:1363
+#: ../yum/depsolve.py:1547 ../yum/depsolve.py:1581
 #, python-format
 msgid " Winner: %s"
 msgstr " Voittaja: %s"
 
-#: ../yum/depsolve.py:1368
+#: ../yum/depsolve.py:1577
+#, python-format
+msgid "requires minimal: %d"
+msgstr "vaatii vähintään: %d"
+
+#: ../yum/depsolve.py:1586
 #, python-format
 msgid " Loser(with %d): %s"
 msgstr " Häviäjä (arvolla %d): %s"
 
-#: ../yum/depsolve.py:1384
+#: ../yum/depsolve.py:1602
 #, python-format
 msgid "Best Order: %s"
 msgstr "Paras järjestys %s"
 
-#: ../yum/__init__.py:234
+#: ../yum/__init__.py:274
 msgid "doConfigSetup() will go away in a future version of Yum.\n"
 msgstr "doConfigSetup() poistetaan jossakin Yumin tulevassa versiossa.\n"
 
-#: ../yum/__init__.py:482
+#: ../yum/__init__.py:553
+#, python-format
+msgid "Skipping unreadable repository %s"
+msgstr ""
+
+#: ../yum/__init__.py:572
 #, python-format
 msgid "Repository %r: Error parsing config: %s"
 msgstr "Asennuslähde %r: Virhe jäsennettäessä asetuksia: %s"
 
-#: ../yum/__init__.py:488
+#: ../yum/__init__.py:578
 #, python-format
 msgid "Repository %r is missing name in configuration, using id"
 msgstr "Asennuslähteen %r asetuksista puuttuu nimi, käytetään tunnistetta"
 
-#: ../yum/__init__.py:526
+#: ../yum/__init__.py:618
 msgid "plugins already initialised"
 msgstr "liitännäiset on jo alustettu"
 
-#: ../yum/__init__.py:533
+#: ../yum/__init__.py:627
 msgid "doRpmDBSetup() will go away in a future version of Yum.\n"
 msgstr "doRpmSetup() poistetaan jossakin Yumin tulevassa versiossa.\n"
 
-#: ../yum/__init__.py:544
+#: ../yum/__init__.py:638
 msgid "Reading Local RPMDB"
 msgstr "Luetaan paikallista RPM-tietokantaa"
 
-#: ../yum/__init__.py:567
+#: ../yum/__init__.py:668
 msgid "doRepoSetup() will go away in a future version of Yum.\n"
 msgstr "doRepoSetup() poistetaan jossakin Yumin tulevassa versiossa.\n"
 
-#: ../yum/__init__.py:630
+#: ../yum/__init__.py:722
 msgid "doSackSetup() will go away in a future version of Yum.\n"
 msgstr "doSackSetup() poistetaan jossakin Yumin tulevassa versiossa.\n"
 
-#: ../yum/__init__.py:660
+#: ../yum/__init__.py:752
 msgid "Setting up Package Sacks"
 msgstr "Asetetaan pakettisäkkejä"
 
-#: ../yum/__init__.py:705
+#: ../yum/__init__.py:797
 #, python-format
 msgid "repo object for repo %s lacks a _resetSack method\n"
 msgstr "asennuslähteen %s oliosta puuttuu _resetSack-metodi\n"
 
-#: ../yum/__init__.py:706
+#: ../yum/__init__.py:798
 msgid "therefore this repo cannot be reset.\n"
 msgstr "siksi tätä asennuslähdettä ei voi palauttaa alkutilaan.\n"
 
-#: ../yum/__init__.py:711
+#: ../yum/__init__.py:806
 msgid "doUpdateSetup() will go away in a future version of Yum.\n"
 msgstr "doUpdateSetup() poistetaan jossakin Yumin tulevassa versiossa.\n"
 
-#: ../yum/__init__.py:723
+#: ../yum/__init__.py:818
 msgid "Building updates object"
 msgstr "Rakennetaan päivitysoliota"
 
-#: ../yum/__init__.py:765
+#: ../yum/__init__.py:862
 msgid "doGroupSetup() will go away in a future version of Yum.\n"
 msgstr "doGroupSetup() poistetaan jossakin Yumin tulevassa versiossa.\n"
 
-#: ../yum/__init__.py:790
+#: ../yum/__init__.py:887
 msgid "Getting group metadata"
 msgstr "Haetaan ryhmien metadataa"
 
-#: ../yum/__init__.py:816
+#: ../yum/__init__.py:915
 #, python-format
 msgid "Adding group file from repository: %s"
 msgstr "Lisätään ryhmätiedosto asennuslähteestä: %s"
 
-#: ../yum/__init__.py:827
+#: ../yum/__init__.py:918
+#, python-format
+msgid "Failed to retrieve group file for repository: %s"
+msgstr ""
+
+#: ../yum/__init__.py:924
 #, python-format
 msgid "Failed to add groups file for repository: %s - %s"
 msgstr "Ryhmätiedoston lisääminen asennuslähteelle epäonnistui: %s - %s"
 
-#: ../yum/__init__.py:833
+#: ../yum/__init__.py:930
 msgid "No Groups Available in any repository"
 msgstr "Yhtään ryhmää ei ole saatavilla mistään asennuslähteestä"
 
-#: ../yum/__init__.py:845
+#: ../yum/__init__.py:945
 msgid "Getting pkgtags metadata"
 msgstr "Haetaan pakettitagien metadataa"
 
-#: ../yum/__init__.py:855
+#: ../yum/__init__.py:955
 #, python-format
 msgid "Adding tags from repository: %s"
 msgstr "Lisätään tagit asennuslähteestä: %s"
 
-#: ../yum/__init__.py:866
+#: ../yum/__init__.py:966
 #, python-format
 msgid "Failed to add Pkg Tags for repository: %s - %s"
 msgstr "Pakettitagien lisääminen asennuslähteelle epäonnistui: %s - %s"
 
-#: ../yum/__init__.py:944
+#: ../yum/__init__.py:1059
 msgid "Importing additional filelist information"
 msgstr "Tuodaan lisää tiedostoluettelotietoa"
 
-#: ../yum/__init__.py:958
+#: ../yum/__init__.py:1077
 #, python-format
 msgid "The program %s%s%s is found in the yum-utils package."
 msgstr "Ohjelma %s%s%s on paketissa yum-utils."
 
-#: ../yum/__init__.py:966
+#: ../yum/__init__.py:1094
 msgid ""
 "There are unfinished transactions remaining. You might consider running yum-"
 "complete-transaction first to finish them."
-msgstr ""
-"Keskeneräisiä transaktioita on jäljellä. Niiden päättämiseksi on suositeltua"
-" suorittaa ensin yum-complete-transaction."
+msgstr "Keskeneräisiä transaktioita on jäljellä. Niiden päättämiseksi on suositeltua suorittaa ensin yum-complete-transaction."
 
-#: ../yum/__init__.py:983
+#: ../yum/__init__.py:1111
 msgid "--> Finding unneeded leftover dependencies"
 msgstr ""
 
-#: ../yum/__init__.py:1041
+#: ../yum/__init__.py:1169
 #, python-format
 msgid "Protected multilib versions: %s != %s"
 msgstr ""
 
-#: ../yum/__init__.py:1096
+#. People are confused about protected mutilib ... so give
+#. them a nicer message.
+#: ../yum/__init__.py:1173
+#, python-format
+msgid ""
+" Multilib version problems found. This often means that the root\n"
+"cause is something else and multilib version checking is just\n"
+"pointing out that there is a problem. Eg.:\n"
+"\n"
+"  1. You have an upgrade for %(name)s which is missing some\n"
+"     dependency that another package requires. Yum is trying to\n"
+"     solve this by installing an older version of %(name)s of the\n"
+"     different architecture. If you exclude the bad architecture\n"
+"     yum will tell you what the root cause is (which package\n"
+"     requires what). You can try redoing the upgrade with\n"
+"     --exclude %(name)s.otherarch ... this should give you an error\n"
+"     message showing the root cause of the problem.\n"
+"\n"
+"  2. You have multiple architectures of %(name)s installed, but\n"
+"     yum can only see an upgrade for one of those arcitectures.\n"
+"     If you don't want/need both architectures anymore then you\n"
+"     can remove the one with the missing update and everything\n"
+"     will work.\n"
+"\n"
+"  3. You have duplicate versions of %(name)s installed already.\n"
+"     You can use \"yum check\" to get yum show these errors.\n"
+"\n"
+"...you can also use --setopt=protected_multilib=false to remove\n"
+"this checking, however this is almost never the correct thing to\n"
+"do as something else is very likely to go wrong (often causing\n"
+"much more problems).\n"
+"\n"
+msgstr ""
+
+#: ../yum/__init__.py:1257
 #, python-format
 msgid "Trying to remove \"%s\", which is protected"
 msgstr "Yritettiin poistaa paketti ”%s”, mutta se on suojattu"
 
-#: ../yum/__init__.py:1217
+#: ../yum/__init__.py:1378
 msgid ""
 "\n"
 "Packages skipped because of dependency problems:"
-msgstr ""
-"\n"
-"Riippuvuusongelmien vuoksi ohitetut paketit:"
+msgstr "\nRiippuvuusongelmien vuoksi ohitetut paketit:"
 
-#: ../yum/__init__.py:1221
+#: ../yum/__init__.py:1382
 #, python-format
 msgid "    %s from %s"
 msgstr "    %s asennuslähteestä %s"
 
 #. FIXME: _N()
-#: ../yum/__init__.py:1391
+#: ../yum/__init__.py:1556
 #, python-format
 msgid "** Found %d pre-existing rpmdb problem(s), 'yum check' output follows:"
 msgstr "** Löytyi %d rpmdb-ongelma(a), ”yum check” -tuloste:"
 
-#: ../yum/__init__.py:1395
+#: ../yum/__init__.py:1560
 msgid "Warning: RPMDB altered outside of yum."
 msgstr "Varoitus: RPM-tietokantaa on muutettu yumin ulkopuolella."
 
-#: ../yum/__init__.py:1407
+#: ../yum/__init__.py:1572
 msgid "missing requires"
 msgstr "puuttuvia riippuvuuksia"
 
-#: ../yum/__init__.py:1408
+#: ../yum/__init__.py:1573
 msgid "installed conflict"
 msgstr "asennettu konflikti"
 
-#: ../yum/__init__.py:1525
+#: ../yum/__init__.py:1709
 msgid ""
 "Warning: scriptlet or other non-fatal errors occurred during transaction."
-msgstr ""
-"Varoitus: sovelmien virheitä tai muita virheitä, jotka eivät ole vakavia, "
-"tapahtui transaktion aikana."
+msgstr "Varoitus: sovelmien virheitä tai muita virheitä, jotka eivät ole vakavia, tapahtui transaktion aikana."
 
-#: ../yum/__init__.py:1535
+#: ../yum/__init__.py:1719
 msgid "Transaction couldn't start:"
 msgstr "Transaktiota ei voitu aloittaa:"
 
 #. should this be 'to_unicoded'?
-#: ../yum/__init__.py:1538
+#: ../yum/__init__.py:1722
 msgid "Could not run transaction."
 msgstr "Transaktiota ei voitu suorittaa."
 
-#: ../yum/__init__.py:1552
+#: ../yum/__init__.py:1736
 #, python-format
 msgid "Failed to remove transaction file %s"
 msgstr "Transaktiotiedoston %s poistaminen epäonnistui"
 
 #. maybe a file log here, too
 #. but raising an exception is not going to do any good
-#: ../yum/__init__.py:1590
+#: ../yum/__init__.py:1792
 #, python-format
 msgid "%s was supposed to be installed but is not!"
 msgstr "%s piti olla asennettuna, mutta se ei ole!"
 
 #. maybe a file log here, too
 #. but raising an exception is not going to do any good
-#: ../yum/__init__.py:1651
+#. Note: This actually triggers atm. because we can't
+#. always find the erased txmbr to set it when
+#. we should.
+#: ../yum/__init__.py:1869
 #, python-format
 msgid "%s was supposed to be removed but is not!"
 msgstr "%s piti olla poistettu, mutta se ei ole!"
 
-#: ../yum/__init__.py:1768
-#, python-format
-msgid "Could not open lock %s: %s"
-msgstr "Lukkoa %s ei voitu avata: %s"
-
-#. Whoa. What the heck happened?
-#: ../yum/__init__.py:1785
-#, python-format
-msgid "Unable to check if PID %s is active"
-msgstr "Ei voida tarkistaa onko PID %s aktiivinen"
-
 #. Another copy seems to be running.
-#: ../yum/__init__.py:1789
+#: ../yum/__init__.py:2004
 #, python-format
 msgid "Existing lock %s: another copy is running as pid %s."
 msgstr "Lukko %s on olemassa: toinen kopio on suorituksessa pidillä %s."
 
 #. Whoa. What the heck happened?
-#: ../yum/__init__.py:1830
+#: ../yum/__init__.py:2053
 #, python-format
 msgid "Could not create lock at %s: %s "
 msgstr "Ei voitu luoda lukkoa sijaintiin %s: %s"
 
-#: ../yum/__init__.py:1875
+#: ../yum/__init__.py:2065
+#, python-format
+msgid "Could not open lock %s: %s"
+msgstr "Lukkoa %s ei voitu avata: %s"
+
+#. The pid doesn't exist
+#. Whoa. What the heck happened?
+#: ../yum/__init__.py:2082
+#, python-format
+msgid "Unable to check if PID %s is active"
+msgstr "Ei voida tarkistaa onko PID %s aktiivinen"
+
+#: ../yum/__init__.py:2132
 #, python-format
 msgid ""
 "Package does not match intended download. Suggestion: run yum "
 "--enablerepo=%s clean metadata"
-msgstr ""
-"Paketti ei vastaa odotettua latausta. Ehdotus: suorita yum --enablerepo=%s "
-"clean metadata"
+msgstr "Paketti ei vastaa odotettua latausta. Ehdotus: suorita yum --enablerepo=%s clean metadata"
 
-#: ../yum/__init__.py:1891
+#: ../yum/__init__.py:2155
 msgid "Could not perform checksum"
 msgstr "Ei voitu laskea tarkistussummaa"
 
-#: ../yum/__init__.py:1894
+#: ../yum/__init__.py:2158
 msgid "Package does not match checksum"
 msgstr "Paketti ei vastaa tarkistussummaa"
 
-#: ../yum/__init__.py:1946
+#: ../yum/__init__.py:2222
 #, python-format
 msgid "package fails checksum but caching is enabled for %s"
-msgstr ""
-"paketti ei vastaa tarkistussummaa, mutta välimuisti on käytössä kohteelle %s"
+msgstr "paketti ei vastaa tarkistussummaa, mutta välimuisti on käytössä kohteelle %s"
 
-#: ../yum/__init__.py:1949 ../yum/__init__.py:1979
+#: ../yum/__init__.py:2225 ../yum/__init__.py:2268
 #, python-format
 msgid "using local copy of %s"
 msgstr "käytetään paikallista kopiota paketista %s"
 
-#: ../yum/__init__.py:1991
-#, python-format
-msgid ""
-"Insufficient space in download directory %s\n"
-"    * free   %s\n"
-"    * needed %s"
+#. caller handles errors
+#: ../yum/__init__.py:2342
+msgid "exiting because --downloadonly specified"
 msgstr ""
-"Lataushakemistossa %s ei ole tarpeeksi vapaata tilaa\n"
-"    * vapaana   %s\n"
-"    * tarvitaan %s"
 
-#: ../yum/__init__.py:2052
+#: ../yum/__init__.py:2371
 msgid "Header is not complete."
 msgstr "Otsake ei ole täydellinen."
 
-#: ../yum/__init__.py:2089
+#: ../yum/__init__.py:2411
 #, python-format
 msgid ""
 "Header not in local cache and caching-only mode enabled. Cannot download %s"
-msgstr ""
-"Otsake ei ole paikallisessa välimuistissa ja pelkästä välimuistista toimiva "
-"tila on käytössä. Ei voida ladata otsaketta %s"
+msgstr "Otsake ei ole paikallisessa välimuistissa ja pelkästä välimuistista toimiva tila on käytössä. Ei voida ladata otsaketta %s"
 
-#: ../yum/__init__.py:2147
+#: ../yum/__init__.py:2471
 #, python-format
 msgid "Public key for %s is not installed"
 msgstr "Julkista avainta pakettia %s varten ei ole asennettu"
 
-#: ../yum/__init__.py:2151
+#: ../yum/__init__.py:2475
 #, python-format
 msgid "Problem opening package %s"
 msgstr "Ongelma paketin %s avaamisessa"
 
-#: ../yum/__init__.py:2159
+#: ../yum/__init__.py:2483
 #, python-format
 msgid "Public key for %s is not trusted"
 msgstr "Paketin %s julkiseen avaimeen ei luoteta"
 
-#: ../yum/__init__.py:2163
+#: ../yum/__init__.py:2487
 #, python-format
 msgid "Package %s is not signed"
 msgstr "Pakettia %s ei ole allekirjoitettu"
 
-#: ../yum/__init__.py:2202
+#: ../yum/__init__.py:2529
 #, python-format
 msgid "Cannot remove %s"
 msgstr "Ei voida poistaa tiedostoa %s"
 
-#: ../yum/__init__.py:2206
+#: ../yum/__init__.py:2533
 #, python-format
 msgid "%s removed"
 msgstr "tiedosto %s on poistettu"
 
-#: ../yum/__init__.py:2252
+#: ../yum/__init__.py:2594
 #, python-format
 msgid "Cannot remove %s file %s"
 msgstr "Ei voida poistaa %s-tyyppistä tiedostoa %s"
 
-#: ../yum/__init__.py:2256
+#: ../yum/__init__.py:2598
 #, python-format
 msgid "%s file %s removed"
 msgstr "%s-tyyppinen tiedosto %s on poistettu"
 
-#: ../yum/__init__.py:2258
+#: ../yum/__init__.py:2600
 #, python-format
-msgid "%d %s files removed"
-msgstr "%d %s-tyyppistä tiedostoa on poistettu"
+msgid "%d %s file removed"
+msgid_plural "%d %s files removed"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../yum/__init__.py:2327
+#: ../yum/__init__.py:2712
 #, python-format
 msgid "More than one identical match in sack for %s"
 msgstr "Säkissä on useampi kuin yksi identtinen vastaavuus haulle %s"
 
-#: ../yum/__init__.py:2333
+#: ../yum/__init__.py:2718
 #, python-format
 msgid "Nothing matches %s.%s %s:%s-%s from update"
 msgstr "Mikään ei vastaa päivityksen pakettia %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:2632
+#: ../yum/__init__.py:3096
 msgid ""
 "searchPackages() will go away in a future version of Yum."
 "                      Use searchGenerator() instead. \n"
-msgstr ""
-"searchPackages() poistetaan jossakin Yumin tulevassa versiossa. Käytä sen "
-"sijaan searchGenerator()-metodia.\n"
+msgstr "searchPackages() poistetaan jossakin Yumin tulevassa versiossa. Käytä sen sijaan searchGenerator()-metodia.\n"
 
-#: ../yum/__init__.py:2675
+#: ../yum/__init__.py:3149
 #, python-format
-msgid "Searching %d packages"
-msgstr "Etsitään %d pakettia"
+msgid "Searching %d package"
+msgid_plural "Searching %d packages"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../yum/__init__.py:2679
+#: ../yum/__init__.py:3153
 #, python-format
 msgid "searching package %s"
 msgstr "etsitään pakettia %s"
 
-#: ../yum/__init__.py:2691
+#: ../yum/__init__.py:3165
 msgid "searching in file entries"
 msgstr "etsitään tiedostoista"
 
-#: ../yum/__init__.py:2698
+#: ../yum/__init__.py:3172
 msgid "searching in provides entries"
 msgstr "etsitään tarjoajista"
 
-#: ../yum/__init__.py:2777
+#: ../yum/__init__.py:3369
 msgid "No group data available for configured repositories"
 msgstr "Asetetuille asennuslähteille ei ole saatavilla ryhmädataa"
 
-#: ../yum/__init__.py:2808 ../yum/__init__.py:2827 ../yum/__init__.py:2858
-#: ../yum/__init__.py:2864 ../yum/__init__.py:2953 ../yum/__init__.py:2957
-#: ../yum/__init__.py:3339
+#: ../yum/__init__.py:3466 ../yum/__init__.py:3500 ../yum/__init__.py:3576
+#: ../yum/__init__.py:3582 ../yum/__init__.py:3719 ../yum/__init__.py:3723
+#: ../yum/__init__.py:4298
 #, python-format
 msgid "No Group named %s exists"
 msgstr "Ryhmää nimeltä %s ei ole olemassa"
 
-#: ../yum/__init__.py:2839 ../yum/__init__.py:2973
+#: ../yum/__init__.py:3512 ../yum/__init__.py:3740
 #, python-format
 msgid "package %s was not marked in group %s"
 msgstr "pakettia %s ei ollut merkitty kuuluvaksi ryhmään %s"
 
-#: ../yum/__init__.py:2887
+#. (upgrade and igroup_data[pkg] == 'available')):
+#: ../yum/__init__.py:3622
+#, python-format
+msgid "Skipping package %s from group %s"
+msgstr ""
+
+#: ../yum/__init__.py:3628
 #, python-format
 msgid "Adding package %s from group %s"
 msgstr "Lisätään paketti %s ryhmästä %s"
 
-#: ../yum/__init__.py:2891
+#: ../yum/__init__.py:3649
 #, python-format
 msgid "No package named %s available to be installed"
 msgstr "Pakettia nimeltä %s ei ole saatavilla asennusta varten"
 
-#: ../yum/__init__.py:2941
+#: ../yum/__init__.py:3702
 #, python-format
-msgid "Warning: Group %s does not have any packages."
+msgid "Warning: Group %s does not have any packages to install."
 msgstr ""
 
-#: ../yum/__init__.py:2943
+#: ../yum/__init__.py:3704
 #, python-format
 msgid "Group %s does have %u conditional packages, which may get installed."
 msgstr ""
 
+#: ../yum/__init__.py:3794
+#, python-format
+msgid "Skipping group %s from environment %s"
+msgstr ""
+
 #. This can happen due to excludes after .up has
 #. happened.
-#: ../yum/__init__.py:3002
+#: ../yum/__init__.py:3858
 #, python-format
 msgid "Package tuple %s could not be found in packagesack"
 msgstr "Paketti-tuplea %s ei löytynyt pakettisäkistä"
 
-#: ../yum/__init__.py:3022
+#: ../yum/__init__.py:3886
 #, python-format
 msgid "Package tuple %s could not be found in rpmdb"
 msgstr "Paketti-tuplea %s ei löytynyt RPM-tietokannasta"
 
-#: ../yum/__init__.py:3079 ../yum/__init__.py:3129
+#: ../yum/__init__.py:3949 ../yum/__init__.py:4012
 #, python-format
 msgid "Invalid version flag from: %s"
 msgstr ""
 
-#: ../yum/__init__.py:3096 ../yum/__init__.py:3101
+#: ../yum/__init__.py:3973 ../yum/__init__.py:3979 ../yum/__init__.py:4036
+#: ../yum/__init__.py:4042
 #, python-format
 msgid "No Package found for %s"
 msgstr "Riippuvuudelle %s ei löytynyt pakettia"
 
-#: ../yum/__init__.py:3401
+#: ../yum/__init__.py:4245 ../yum/__init__.py:4274
+#, python-format
+msgid "Warning: Environment Group %s does not exist."
+msgstr ""
+
+#: ../yum/__init__.py:4397
+#, python-format
+msgid "Package: %s - can't co-install with %s"
+msgstr ""
+
+#: ../yum/__init__.py:4437
 msgid "Package Object was not a package object instance"
 msgstr "Pakettiolio ei ollutkaan pakettiolioinstanssi"
 
-#: ../yum/__init__.py:3405
+#: ../yum/__init__.py:4441
 msgid "Nothing specified to install"
 msgstr "Mitään ei määritelty asennettavaksi"
 
-#: ../yum/__init__.py:3424 ../yum/__init__.py:4283
+#: ../yum/__init__.py:4465 ../yum/__init__.py:5410
 #, python-format
 msgid "Checking for virtual provide or file-provide for %s"
 msgstr "Etsitään virtuaalista tai tiedostotarjoajaa argumentille %s"
 
-#: ../yum/__init__.py:3430 ../yum/__init__.py:3775 ../yum/__init__.py:3969
-#: ../yum/__init__.py:4289
-#, python-format
-msgid "No Match for argument: %s"
-msgstr "Mikään ei vastaa argumenttia: %s"
-
-#: ../yum/__init__.py:3507
+#: ../yum/__init__.py:4542
 #, python-format
 msgid "Package %s installed and not available"
 msgstr "Paketti %s on asennettu, mutta ei saatavilla"
 
-#: ../yum/__init__.py:3510
+#: ../yum/__init__.py:4545
 msgid "No package(s) available to install"
 msgstr "Yhtään pakettia ei ole saatavilla asennettavaksi"
 
-#: ../yum/__init__.py:3522
+#: ../yum/__init__.py:4557
 #, python-format
 msgid "Package: %s  - already in transaction set"
 msgstr "Paketti: %s – on jo transaktiojoukossa"
 
-#: ../yum/__init__.py:3550
+#: ../yum/__init__.py:4589
 #, python-format
 msgid "Package %s is obsoleted by %s which is already installed"
 msgstr "Paketin %s vanhentaa paketti %s, joka on jo asennettuna"
 
-#: ../yum/__init__.py:3555
+#: ../yum/__init__.py:4594
 #, python-format
 msgid ""
 "Package %s is obsoleted by %s, but obsoleting package does not provide for "
 "requirements"
-msgstr ""
-"Paketin %s vanhentaa paketti %s, mutta vanhentava paketti ei tarjoa "
-"riippuvuuksia"
+msgstr "Paketin %s vanhentaa paketti %s, mutta vanhentava paketti ei tarjoa riippuvuuksia"
 
-#: ../yum/__init__.py:3558
+#: ../yum/__init__.py:4597
 #, python-format
 msgid "Package %s is obsoleted by %s, trying to install %s instead"
 msgstr "Paketin %s vanhentaa paketti %s, yritetään paketti %s sen sijaan"
 
-#: ../yum/__init__.py:3566
+#: ../yum/__init__.py:4605
 #, python-format
 msgid "Package %s already installed and latest version"
 msgstr "Paketti %s on jo asennettuna ja uusin versio"
 
-#: ../yum/__init__.py:3580
+#: ../yum/__init__.py:4619
 #, python-format
 msgid "Package matching %s already installed. Checking for update."
-msgstr ""
-"Pakettia %s vastaava paketti on jo asennettuna. Tarkistetaan päivitykset."
+msgstr "Pakettia %s vastaava paketti on jo asennettuna. Tarkistetaan päivitykset."
 
 #. update everything (the easy case)
-#: ../yum/__init__.py:3684
+#: ../yum/__init__.py:4751
 msgid "Updating Everything"
 msgstr "Päivitetään kaikki"
 
-#: ../yum/__init__.py:3708 ../yum/__init__.py:3849 ../yum/__init__.py:3879
-#: ../yum/__init__.py:3915
+#: ../yum/__init__.py:4775 ../yum/__init__.py:4930 ../yum/__init__.py:4975
+#: ../yum/__init__.py:5011
 #, python-format
 msgid "Not Updating Package that is already obsoleted: %s.%s %s:%s-%s"
 msgstr "Vanhennettua pakettia ei päivitetä: %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3753 ../yum/__init__.py:3965
+#: ../yum/__init__.py:4830 ../yum/__init__.py:5072
 #, python-format
 msgid "%s"
 msgstr "%s"
 
-#: ../yum/__init__.py:3838
+#: ../yum/__init__.py:4854 ../yum/__init__.py:5080 ../yum/__init__.py:5416
+#, python-format
+msgid "No Match for argument: %s"
+msgstr "Mikään ei vastaa argumenttia: %s"
+
+#: ../yum/__init__.py:4872
+#, python-format
+msgid "No package matched to upgrade: %s"
+msgstr ""
+
+#: ../yum/__init__.py:4919
 #, python-format
 msgid "Package is already obsoleted: %s.%s %s:%s-%s"
 msgstr "Paketti on jo vanhennettu: %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3874
+#: ../yum/__init__.py:4970
 #, python-format
 msgid "Not Updating Package that is obsoleted: %s"
 msgstr "Ei päivitetä vanhennettua pakettia: %s"
 
-#: ../yum/__init__.py:3883 ../yum/__init__.py:3919
+#: ../yum/__init__.py:4979 ../yum/__init__.py:5015
 #, python-format
 msgid "Not Updating Package that is already updated: %s.%s %s:%s-%s"
 msgstr "Jo päivitettyä pakettia ei enää päivitetä: %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3982
-msgid "No package matched to remove"
-msgstr "Yhtään poistopyyntöä vastaavaa pakettia ei ole"
+#: ../yum/__init__.py:5093
+#, python-format
+msgid "No package matched to remove: %s"
+msgstr ""
 
-#: ../yum/__init__.py:3988
+#: ../yum/__init__.py:5099
 #, python-format
 msgid "Skipping the running kernel: %s"
 msgstr "Ohitetaan käytössä oleva ydin: %s"
 
-#: ../yum/__init__.py:3994
+#: ../yum/__init__.py:5105
 #, python-format
 msgid "Removing %s from the transaction"
 msgstr "Poistetaan %s transaktiosta"
 
-#: ../yum/__init__.py:4029
+#: ../yum/__init__.py:5142
 #, python-format
 msgid "Cannot open: %s. Skipping."
 msgstr "Ei voida avata pakettia: %s. Ohitetaan."
 
-#: ../yum/__init__.py:4032 ../yum/__init__.py:4150 ../yum/__init__.py:4226
+#: ../yum/__init__.py:5145 ../yum/__init__.py:5262 ../yum/__init__.py:5347
 #, python-format
 msgid "Examining %s: %s"
 msgstr "Tutkitaan %s: %s"
 
-#: ../yum/__init__.py:4036
+#: ../yum/__init__.py:5149
 #, python-format
 msgid "Cannot localinstall deltarpm: %s. Skipping."
 msgstr "Deltarpm:ää %s ei voi asentaa paikallisesti. Ohitetaan."
 
-#: ../yum/__init__.py:4045 ../yum/__init__.py:4153 ../yum/__init__.py:4229
+#: ../yum/__init__.py:5158 ../yum/__init__.py:5265 ../yum/__init__.py:5350
 #, python-format
 msgid ""
 "Cannot add package %s to transaction. Not a compatible architecture: %s"
-msgstr ""
-"Pakettia %s ei voida lisätä transaktioon. Arkkitehtuuri ei ole yhteensopiva:"
-" %s"
+msgstr "Pakettia %s ei voida lisätä transaktioon. Arkkitehtuuri ei ole yhteensopiva: %s"
 
-#: ../yum/__init__.py:4051
+#: ../yum/__init__.py:5164
 #, python-format
 msgid "Cannot install package %s. It is obsoleted by installed package %s"
 msgstr "Pakettia %s ei voi asentaa. Asennettu paketti %s vanhentaa sen."
 
-#: ../yum/__init__.py:4059
+#: ../yum/__init__.py:5172
 #, python-format
 msgid ""
 "Package %s not installed, cannot update it. Run yum install to install it "
 "instead."
-msgstr ""
-"Pakettia %s ei ole asennettu, sitä ei voida päivittää. Suorita yum install "
-"-komento paketin asentamiseksi."
+msgstr "Pakettia %s ei ole asennettu, sitä ei voida päivittää. Suorita yum install -komento paketin asentamiseksi."
 
-#: ../yum/__init__.py:4078 ../yum/__init__.py:4085
+#: ../yum/__init__.py:5191 ../yum/__init__.py:5198
 #, python-format
 msgid ""
 "Package %s.%s not installed, cannot update it. Run yum install to install it"
 " instead."
 msgstr ""
 
-#: ../yum/__init__.py:4094 ../yum/__init__.py:4158 ../yum/__init__.py:4234
+#: ../yum/__init__.py:5207 ../yum/__init__.py:5270 ../yum/__init__.py:5355
 #, python-format
 msgid "Excluding %s"
 msgstr "Ohitetaan paketti %s"
 
-#: ../yum/__init__.py:4099
+#: ../yum/__init__.py:5212
 #, python-format
 msgid "Marking %s to be installed"
 msgstr "Merkitään paketti %s asennettavaksi"
 
-#: ../yum/__init__.py:4105
+#: ../yum/__init__.py:5218
 #, python-format
 msgid "Marking %s as an update to %s"
 msgstr "Merkitään paketti %s päivitykseksi paketille %s"
 
-#: ../yum/__init__.py:4112
+#: ../yum/__init__.py:5225
 #, python-format
 msgid "%s: does not update installed package."
 msgstr "%s: ei päivitä asennettua pakettia"
 
-#: ../yum/__init__.py:4147 ../yum/__init__.py:4223
+#: ../yum/__init__.py:5259 ../yum/__init__.py:5344
 #, python-format
 msgid "Cannot open file: %s. Skipping."
 msgstr "Ei voida avata tiedostoa: %s. Ohitetaan."
 
-#: ../yum/__init__.py:4177
+#: ../yum/__init__.py:5299
 msgid "Problem in reinstall: no package matched to remove"
-msgstr ""
-"Ongelma uudelleenasennuksessa: poistopyyntöä vastaavaa pakettia ei ole"
+msgstr "Ongelma uudelleenasennuksessa: poistopyyntöä vastaavaa pakettia ei ole"
 
-#: ../yum/__init__.py:4203
+#: ../yum/__init__.py:5325
 #, python-format
 msgid "Problem in reinstall: no package %s matched to install"
-msgstr ""
-"Ongelma uudelleenasennuksessa: asennuspyyntöä vastaavaa pakettia %s ei ole"
+msgstr "Ongelma uudelleenasennuksessa: asennuspyyntöä vastaavaa pakettia %s ei ole"
 
-#: ../yum/__init__.py:4311
+#: ../yum/__init__.py:5438
 msgid "No package(s) available to downgrade"
 msgstr "Yhtään pakettia ei ole saatavilla varhennettavaksi"
 
-#: ../yum/__init__.py:4319
+#: ../yum/__init__.py:5446
 #, python-format
 msgid "Package %s is allowed multiple installs, skipping"
 msgstr "Paketille %s sallitaan useita asennuksia, ohitetaan."
 
-#: ../yum/__init__.py:4365
+#: ../yum/__init__.py:5496
 #, python-format
 msgid "No Match for available package: %s"
 msgstr "Ei vastaavuutta saatavilla olevalle paketille: %s"
 
-#: ../yum/__init__.py:4372
+#: ../yum/__init__.py:5506
 #, python-format
 msgid "Only Upgrade available on package: %s"
 msgstr "Vain päivitys saatavilla paketille: %s"
 
-#: ../yum/__init__.py:4442 ../yum/__init__.py:4479
+#: ../yum/__init__.py:5619 ../yum/__init__.py:5686
 #, python-format
 msgid "Failed to downgrade: %s"
 msgstr "Varhentaminen epäonnistui: %s"
 
-#: ../yum/__init__.py:4516
+#: ../yum/__init__.py:5636 ../yum/__init__.py:5692
+#, python-format
+msgid "Failed to upgrade: %s"
+msgstr ""
+
+#: ../yum/__init__.py:5725
 #, python-format
 msgid "Retrieving key from %s"
 msgstr ""
 
-#: ../yum/__init__.py:4534
+#: ../yum/__init__.py:5743
 msgid "GPG key retrieval failed: "
 msgstr "GPG-avaimen nouto epäonnistui: "
 
 #. if we decide we want to check, even though the sig failed
 #. here is where we would do that
-#: ../yum/__init__.py:4557
+#: ../yum/__init__.py:5766
 #, python-format
 msgid "GPG key signature on key %s does not match CA Key for repo: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4559
+#: ../yum/__init__.py:5768
 msgid "GPG key signature verified against CA Key(s)"
 msgstr ""
 
-#: ../yum/__init__.py:4567
+#: ../yum/__init__.py:5776
 #, python-format
 msgid "Invalid GPG Key from %s: %s"
 msgstr "Virheellinen GPG-avain osoitteesta %s: %s"
 
-#: ../yum/__init__.py:4576
+#: ../yum/__init__.py:5785
 #, python-format
 msgid "GPG key parsing failed: key does not have value %s"
 msgstr "GPG-avaimen jäsentäminen epäonnistui: avaimessa ei ole arvoa %s"
 
-#: ../yum/__init__.py:4592
+#: ../yum/__init__.py:5801
 #, python-format
 msgid ""
 "Importing %s key 0x%s:\n"
-" Userid : %s\n"
-" Package: %s (%s)\n"
-" From   : %s"
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" Package    : %s (%s)\n"
+" From       : %s"
 msgstr ""
 
-#: ../yum/__init__.py:4600
+#: ../yum/__init__.py:5811
 #, python-format
 msgid ""
 "Importing %s key 0x%s:\n"
-" Userid: \"%s\"\n"
-" From  : %s"
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" From       : %s"
 msgstr ""
 
-#: ../yum/__init__.py:4634
+#: ../yum/__init__.py:5839
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" Failing package is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr ""
+
+#: ../yum/__init__.py:5853
 #, python-format
 msgid "GPG key at %s (0x%s) is already installed"
 msgstr "Osoitteesta %s ladattu GPG-avain (0x%s) on jo asennetuna"
 
-#: ../yum/__init__.py:4671
+#: ../yum/__init__.py:5891
 #, python-format
 msgid "Key import failed (code %d)"
 msgstr "Avaimen tuonti epäonnistui (koodi %d)"
 
-#: ../yum/__init__.py:4672 ../yum/__init__.py:4755
+#: ../yum/__init__.py:5893 ../yum/__init__.py:5994
 msgid "Key imported successfully"
 msgstr "Avaimen tuonti onnistui"
 
-#: ../yum/__init__.py:4676
+#: ../yum/__init__.py:5897
 msgid "Didn't install any keys"
 msgstr ""
 
-#: ../yum/__init__.py:4680
+#: ../yum/__init__.py:5900
 #, python-format
 msgid ""
 "The GPG keys listed for the \"%s\" repository are already installed but they are not correct for this package.\n"
 "Check that the correct key URLs are configured for this repository."
-msgstr ""
-"Asennuslähteelle ”%s” luetellut GPG-avaimet on jo asennettu, mutta ne eivät vastaa tätä pakettia.\n"
-"Tarkista että tälle asennuslähteelle on asetettu oikeat avainten URL:t."
+msgstr "Asennuslähteelle ”%s” luetellut GPG-avaimet on jo asennettu, mutta ne eivät vastaa tätä pakettia.\nTarkista että tälle asennuslähteelle on asetettu oikeat avainten URL:t."
 
-#: ../yum/__init__.py:4689
+#: ../yum/__init__.py:5910
 msgid "Import of key(s) didn't help, wrong key(s)?"
 msgstr "Avainten tuonti ei auttanut, ovatko avaimet vääriä?"
 
-#: ../yum/__init__.py:4713
+#: ../yum/__init__.py:5932
+msgid "No"
+msgstr ""
+
+#: ../yum/__init__.py:5934
+msgid "Yes"
+msgstr ""
+
+#: ../yum/__init__.py:5935
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" CA Key: %s\n"
+" Failing repo is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr ""
+
+#: ../yum/__init__.py:5948
 #, python-format
 msgid "GPG key at %s (0x%s) is already imported"
 msgstr "Osoitteesta %s ladattu GPG-avain (0x%s) on jo tuotu"
 
-#: ../yum/__init__.py:4754
-msgid "Key import failed"
-msgstr "Avaimen tuonti epäonnistui"
+#: ../yum/__init__.py:5992
+#, python-format
+msgid "Key %s import failed"
+msgstr ""
 
-#: ../yum/__init__.py:4770
+#: ../yum/__init__.py:6009
 #, python-format
 msgid "Didn't install any keys for repo %s"
 msgstr ""
 
-#: ../yum/__init__.py:4774
+#: ../yum/__init__.py:6014
 #, python-format
 msgid ""
 "The GPG keys listed for the \"%s\" repository are already installed but they are not correct.\n"
 "Check that the correct key URLs are configured for this repository."
-msgstr ""
-"Asennuslähteelle ”%s” luetellut GPG-avaimet on jo asennettu, mutta ne ovat virheelliset.\n"
-"Tarkista että tälle asennuslähteelle on asetettu oikeat avainten URL:t."
+msgstr "Asennuslähteelle ”%s” luetellut GPG-avaimet on jo asennettu, mutta ne ovat virheelliset.\nTarkista että tälle asennuslähteelle on asetettu oikeat avainten URL:t."
 
-#: ../yum/__init__.py:4924
+#: ../yum/__init__.py:6172
 msgid "Unable to find a suitable mirror."
 msgstr "Sopivaa peilipalvelinta ei löytynyt."
 
-#: ../yum/__init__.py:4926
+#: ../yum/__init__.py:6174
 msgid "Errors were encountered while downloading packages."
 msgstr "Paketteja ladatessa tapahtui virheitä."
 
-#: ../yum/__init__.py:4981
+#: ../yum/__init__.py:6229
 #, python-format
 msgid "Please report this error at %s"
 msgstr "Ilmoita tästä ongelmasta: %s"
 
-#: ../yum/__init__.py:4998
+#: ../yum/__init__.py:6246
 msgid "Test Transaction Errors: "
 msgstr "Testitransaktion virheitä: "
 
-#: ../yum/__init__.py:5098
+#: ../yum/__init__.py:6358
 #, python-format
 msgid "Could not set cachedir: %s"
 msgstr "Välimuistihakemiston asettaminen epäonnistui %s"
 
-#: ../yum/__init__.py:5148 ../yum/__init__.py:5150
+#: ../yum/__init__.py:6420 ../yum/__init__.py:6422
 msgid "Dependencies not solved. Will not save unresolved transaction."
 msgstr ""
 
-#: ../yum/__init__.py:5179 ../yum/__init__.py:5181
+#: ../yum/__init__.py:6455 ../yum/__init__.py:6457
 #, python-format
 msgid "Could not save transaction file %s: %s"
 msgstr ""
 
-#: ../yum/__init__.py:5195
+#: ../yum/__init__.py:6483
 #, python-format
 msgid "Could not access/read saved transaction %s : %s"
 msgstr ""
 
-#: ../yum/__init__.py:5214
-msgid "rpmdb ver mismatched saved transaction version, "
+#: ../yum/__init__.py:6521
+msgid "rpmdb ver mismatched saved transaction version,"
 msgstr ""
 
-#: ../yum/__init__.py:5216
-msgid " ignoring, as requested."
-msgstr ""
-
-#: ../yum/__init__.py:5219 ../yum/__init__.py:5354
-msgid " aborting."
-msgstr ""
-
-#: ../yum/__init__.py:5228
+#: ../yum/__init__.py:6535
 msgid "cannot find tsflags or tsflags not integer."
 msgstr ""
 
-#: ../yum/__init__.py:5267
+#: ../yum/__init__.py:6584
 #, python-format
 msgid "Found txmbr in unknown current state: %s"
 msgstr ""
 
-#: ../yum/__init__.py:5271
+#: ../yum/__init__.py:6588
 #, python-format
 msgid "Could not find txmbr: %s in state %s"
 msgstr ""
 
-#: ../yum/__init__.py:5307 ../yum/__init__.py:5324
+#: ../yum/__init__.py:6625 ../yum/__init__.py:6642
 #, python-format
 msgid "Could not find txmbr: %s from origin: %s"
 msgstr ""
 
-#: ../yum/__init__.py:5349
+#: ../yum/__init__.py:6667
 msgid "Transaction members, relations are missing or ts has been modified,"
 msgstr ""
 
-#: ../yum/__init__.py:5351
+#: ../yum/__init__.py:6670
 msgid " ignoring, as requested. You must redepsolve!"
 msgstr ""
 
+#. Debugging output
+#: ../yum/__init__.py:6738 ../yum/__init__.py:6757
+#, python-format
+msgid "%s has been visited already and cannot be removed."
+msgstr ""
+
+#. Debugging output
+#: ../yum/__init__.py:6741
+#, python-format
+msgid "Examining revdeps of %s"
+msgstr ""
+
+#. Debugging output
+#: ../yum/__init__.py:6762
+#, python-format
+msgid "%s has revdep %s which was user-installed."
+msgstr ""
+
+#: ../yum/__init__.py:6773 ../yum/__init__.py:6779
+#, python-format
+msgid "%s is needed by a package to be installed."
+msgstr ""
+
+#. Debugging output
+#: ../yum/__init__.py:6793
+#, python-format
+msgid "%s has no user-installed revdeps."
+msgstr ""
+
 #. Mostly copied from YumOutput._outKeyValFill()
-#: ../yum/plugins.py:209
+#: ../yum/plugins.py:212
 msgid "Loaded plugins: "
 msgstr "Ladatut liitännäiset: "
 
-#: ../yum/plugins.py:223 ../yum/plugins.py:229
+#: ../yum/plugins.py:226 ../yum/plugins.py:232
 #, python-format
 msgid "No plugin match for: %s"
 msgstr "Ei vastaavaa liitännäistä pyynnölle: %s"
 
-#: ../yum/plugins.py:259
+#: ../yum/plugins.py:262
 #, python-format
 msgid "Not loading \"%s\" plugin, as it is disabled"
 msgstr "Ei ladata liitännäistä ”%s”, koska se on poissa käytöstä"
 
 #. Give full backtrace:
-#: ../yum/plugins.py:271
+#: ../yum/plugins.py:274
 #, python-format
 msgid "Plugin \"%s\" can't be imported"
 msgstr "Liitännäistä ”%s” ei voi tuoda"
 
-#: ../yum/plugins.py:278
+#: ../yum/plugins.py:281
 #, python-format
 msgid "Plugin \"%s\" doesn't specify required API version"
 msgstr "Liitännäinen ”%s” ei määrittele vaadittua API-versiota"
 
-#: ../yum/plugins.py:283
+#: ../yum/plugins.py:286
 #, python-format
 msgid "Plugin \"%s\" requires API %s. Supported API is %s."
 msgstr "Liitännäinen ”%s” vaatii API:n %s. Tuettu API on %s."
 
-#: ../yum/plugins.py:316
+#: ../yum/plugins.py:319
 #, python-format
 msgid "Loading \"%s\" plugin"
 msgstr "Ladataan liitännäinen ”%s”"
 
-#: ../yum/plugins.py:323
+#: ../yum/plugins.py:326
 #, python-format
 msgid "Two or more plugins with the name \"%s\" exist in the plugin search path"
 msgstr "Liitännäisten hakupolussa on useita liitännäisiä nimeltä ”%s”"
 
-#: ../yum/plugins.py:343
+#: ../yum/plugins.py:346
 #, python-format
 msgid "Configuration file %s not found"
 msgstr "Asetustiedostoa %s ei löytynyt"
 
 #. for
 #. Configuration files for the plugin not found
-#: ../yum/plugins.py:346
+#: ../yum/plugins.py:349
 #, python-format
 msgid "Unable to find configuration file for plugin %s"
 msgstr "Liitännäisen %s asetustiedostoa ei löytynyt"
 
-#: ../yum/plugins.py:508
+#: ../yum/plugins.py:553
 msgid "registration of commands not supported"
 msgstr "komentojen rekisteröintiä ei tueta"
 
-#: ../yum/rpmsack.py:148
+#: ../yum/rpmsack.py:159
 msgid "has missing requires of"
 msgstr "on puuttuvia riippuvuuksia"
 
-#: ../yum/rpmsack.py:151
+#: ../yum/rpmsack.py:162
 msgid "has installed conflicts"
 msgstr "on asennettuja konflikteja"
 
-#: ../yum/rpmsack.py:160
+#: ../yum/rpmsack.py:171
 #, python-format
 msgid "%s is a duplicate with %s"
 msgstr "paketti %s on paketin %s duplikaatti"
 
-#: ../yum/rpmsack.py:168
+#: ../yum/rpmsack.py:179
 #, python-format
 msgid "%s is obsoleted by %s"
 msgstr "paketin %s vanhentaa paketti %s"
 
-#: ../yum/rpmsack.py:176
+#: ../yum/rpmsack.py:187
 #, python-format
 msgid "%s provides %s but it cannot be found"
 msgstr "%s tarjoaa %s, mutta sitä ei löydy"
@@ -3151,11 +3459,27 @@ msgstr "%s tarjoaa %s, mutta sitä ei löydy"
 msgid "Repackaging"
 msgstr "Paketoidaan uudelleen"
 
+#: ../yum/rpmtrans.py:149
+#, python-format
+msgid "Verify: %u/%u: %s"
+msgstr ""
+
+#: ../yum/yumRepo.py:919
+#, python-format
+msgid ""
+"Insufficient space in download directory %s\n"
+"    * free   %s\n"
+"    * needed %s"
+msgstr "Lataushakemistossa %s ei ole tarpeeksi vapaata tilaa\n    * vapaana   %s\n    * tarvitaan %s"
+
+#: ../yum/yumRepo.py:986
+msgid "Package does not match intended download."
+msgstr ""
+
 #: ../rpmUtils/oldUtils.py:33
 #, python-format
 msgid "Header cannot be opened or does not match %s, %s."
-msgstr ""
-"Otsaketta ei voi avata tai se ei vastaa nimeä ja arkkitehtuuria %s, %s"
+msgstr "Otsaketta ei voi avata tai se ei vastaa nimeä ja arkkitehtuuria %s, %s"
 
 #: ../rpmUtils/oldUtils.py:53
 #, python-format
@@ -3180,5 +3504,3 @@ msgstr "Vioittunut otsake %s"
 #, python-format
 msgid "Error opening rpm %s - error %s"
 msgstr "Virhe avattaessa RPM:ää %s – virhe %s"
-
-
diff --git a/po/fr.po b/po/fr.po
index 4636b15..29a20af 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -2,1530 +2,1646 @@
 # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
 # This file is distributed under the same license as the PACKAGE package.
 # 
-# Kévin Raymond <shaiton@fedoraproject.org>, 2011
+# Translators:
+# Dominique Bribanick <chepioq@gmail.com>, 2011.
+# Kévin Raymond <shaiton@fedoraproject.org>, 2011-2012.
+# Mathieu LEFEBVRE Mathdabomb <mathdabomb@gmail.com>, 2012.
 msgid ""
 msgstr ""
 "Project-Id-Version: Yum\n"
-"Report-Msgid-Bugs-To: http://yum.baseurl.org/\n"
-"POT-Creation-Date: 2011-06-06 10:21-0400\n"
-"PO-Revision-Date: 2011-06-06 14:21+0000\n"
-"Last-Translator: skvidal <skvidal@fedoraproject.org>\n"
-"Language-Team: French (http://www.transifex.net/projects/p/yum/team/fr/)\n"
+"Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
+"POT-Creation-Date: 2013-01-30 09:08-0500\n"
+"PO-Revision-Date: 2013-02-15 00:01+0000\n"
+"Last-Translator: Kévin Raymond <shaiton@fedoraproject.org>\n"
+"Language-Team: French (http://www.transifex.com/projects/p/yum/language/fr/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Language: fr\n"
-"Plural-Forms: nplurals=2; plural=(n > 1)\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
 
-#: ../callback.py:48 ../output.py:1037 ../yum/rpmtrans.py:73
+#: ../callback.py:45 ../output.py:1502 ../yum/rpmtrans.py:73
 msgid "Updating"
 msgstr "Mise à jour "
 
-#: ../callback.py:49 ../yum/rpmtrans.py:74
+#: ../callback.py:46 ../yum/rpmtrans.py:74
 msgid "Erasing"
 msgstr "Suppression "
 
-#: ../callback.py:50 ../callback.py:51 ../callback.py:53 ../output.py:1036
-#: ../output.py:2218 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
+#: ../callback.py:47 ../callback.py:48 ../callback.py:50 ../output.py:1501
+#: ../output.py:2922 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
 #: ../yum/rpmtrans.py:78
 msgid "Installing"
-msgstr "Installation de"
+msgstr "Installation "
 
-#: ../callback.py:52 ../callback.py:58 ../output.py:1840 ../yum/rpmtrans.py:77
+#: ../callback.py:49 ../callback.py:55 ../output.py:2379 ../yum/rpmtrans.py:77
 msgid "Obsoleted"
 msgstr "Obsolète "
 
-#: ../callback.py:54 ../output.py:1169 ../output.py:1686 ../output.py:1847
+#: ../callback.py:51 ../output.py:1670 ../output.py:2222 ../output.py:2386
 msgid "Updated"
 msgstr "Mis à jour "
 
-#: ../callback.py:55 ../output.py:1685
+#: ../callback.py:52 ../output.py:2221
 msgid "Erased"
 msgstr "Supprimés "
 
-#: ../callback.py:56 ../callback.py:57 ../callback.py:59 ../output.py:1167
-#: ../output.py:1685 ../output.py:1687 ../output.py:2190
+#: ../callback.py:53 ../callback.py:54 ../callback.py:56 ../output.py:1668
+#: ../output.py:2221 ../output.py:2223 ../output.py:2894
 msgid "Installed"
-msgstr "Installé "
+msgstr "Installé "
 
-#: ../callback.py:130
+#: ../callback.py:142
 msgid "No header - huh?"
 msgstr "Aucun en-tête - heu ?"
 
-#: ../callback.py:168
+#: ../callback.py:180
 msgid "Repackage"
 msgstr "Réempaquetage "
 
-#: ../callback.py:189
+#: ../callback.py:201
 #, python-format
 msgid "Error: invalid output state: %s for %s"
 msgstr "Erreur : statut de sortie invalide : %s pour %s"
 
-#: ../callback.py:212
+#: ../callback.py:224
 #, python-format
 msgid "Erased: %s"
 msgstr "Supprimé : %s"
 
-#: ../callback.py:217 ../output.py:1038 ../output.py:2193
+#: ../callback.py:229 ../output.py:1503 ../output.py:2897
 msgid "Removing"
 msgstr "Suppression "
 
-#: ../callback.py:219 ../yum/rpmtrans.py:79
+#: ../callback.py:231 ../yum/rpmtrans.py:79
 msgid "Cleanup"
 msgstr "Nettoyage "
 
-#: ../cli.py:115
+#: ../cli.py:122
 #, python-format
 msgid "Command \"%s\" already defined"
 msgstr "Commande « %s » déjà définie"
 
-#: ../cli.py:127
+#: ../cli.py:137
 msgid "Setting up repositories"
 msgstr "Configuration des dépôts"
 
-#: ../cli.py:138
+#: ../cli.py:148
 msgid "Reading repository metadata in from local files"
 msgstr "Lecture des méta données du dépôt depuis les fichiers locaux"
 
-#: ../cli.py:245 ../utils.py:281
+#: ../cli.py:273 ../cli.py:277 ../utils.py:320
 #, python-format
 msgid "Config Error: %s"
 msgstr "Erreur de configuration : %s"
 
-#: ../cli.py:248 ../cli.py:1584 ../utils.py:284
+#: ../cli.py:280 ../cli.py:2206 ../utils.py:323
 #, python-format
 msgid "Options Error: %s"
 msgstr "Erreur d'options : %s"
 
-#: ../cli.py:293
+#: ../cli.py:327
 #, python-format
 msgid "  Installed: %s-%s at %s"
 msgstr "  Installés : %s-%s à %s"
 
-#: ../cli.py:295
+#: ../cli.py:329
 #, python-format
 msgid "  Built    : %s at %s"
-msgstr "  Compilé    : %s à %s"
+msgstr "  Compilé   : %s à %s"
 
-#: ../cli.py:297
+#: ../cli.py:331
 #, python-format
 msgid "  Committed: %s at %s"
-msgstr "  Commité : %s à %s"
+msgstr "  Commité   : %s à %s"
 
-#: ../cli.py:336
+#: ../cli.py:372
 msgid "You need to give some command"
 msgstr "Vous devez spécifier des commandes"
 
-#: ../cli.py:350
+#: ../cli.py:386
 #, python-format
 msgid "No such command: %s. Please use %s --help"
 msgstr "Aucune commande telle que : %s. Veuillez utiliser %s --help"
 
-#: ../cli.py:400
+#: ../cli.py:444
 msgid "Disk Requirements:\n"
 msgstr "Besoins en espace disque :\n"
 
-#: ../cli.py:402
+#: ../cli.py:446
 #, python-format
 msgid "  At least %dMB more space needed on the %s filesystem.\n"
-msgstr "  Au moins %d Mio requis sur le système de fichiers %s.\n"
+msgid_plural "  At least %dMB more space needed on the %s filesystem.\n"
+msgstr[0] "  Au moins %d Mio requis sur le système de fichiers %s.\n"
+msgstr[1] "  Au moins %d Mio requis sur le système de fichiers %s.\n"
 
 #. TODO: simplify the dependency errors?
 #. Fixup the summary
-#: ../cli.py:407
+#: ../cli.py:451
 msgid ""
 "Error Summary\n"
 "-------------\n"
-msgstr ""
-"Résumé des erreurs\n"
-"-------------\n"
+msgstr "Résumé des erreurs\n-------------\n"
 
-#: ../cli.py:450
+#: ../cli.py:472
+msgid "Can't create lock file; exiting"
+msgstr "Impossible de créer le fichier verrou, arrêt"
+
+#: ../cli.py:479
+msgid ""
+"Another app is currently holding the yum lock; exiting as configured by "
+"exit_on_lock"
+msgstr "Une autre application verrouille actuellement l'utilisation de yum ; fermeture en cours conformément à la configuration de exit_on_lock"
+
+#: ../cli.py:532
 msgid "Trying to run the transaction but nothing to do. Exiting."
+msgstr "Tentative d'exécution de la transaction mais aucune tâche à effectuer. Sortie."
+
+#: ../cli.py:577
+msgid "future rpmdb ver mismatched saved transaction version,"
 msgstr ""
-"Tentative d'exécution de la transaction mais aucune tâche à effectuer. "
-"Sortie."
 
-#: ../cli.py:497
+#: ../cli.py:579 ../yum/__init__.py:6523
+msgid " ignoring, as requested."
+msgstr " ignoré, comme spécifié."
+
+#: ../cli.py:582 ../yum/__init__.py:6526 ../yum/__init__.py:6673
+msgid " aborting."
+msgstr " arrêt."
+
+#: ../cli.py:588
 msgid "Exiting on user Command"
 msgstr "Arrêt à la demande de l'utilisateur"
 
-#: ../cli.py:501
+#: ../cli.py:592
 msgid "Downloading Packages:"
 msgstr "Téléchargement des paquets :"
 
-#: ../cli.py:506
+#: ../cli.py:597
 msgid "Error Downloading Packages:\n"
 msgstr "Erreur durant le téléchargement des paquets :\n"
 
-#: ../cli.py:525 ../yum/__init__.py:4967
+#: ../cli.py:616 ../yum/__init__.py:6215
 msgid "Running Transaction Check"
 msgstr "Test de la transaction en cours"
 
-#: ../cli.py:534 ../yum/__init__.py:4976
+#: ../cli.py:625 ../yum/__init__.py:6224
 msgid "ERROR You need to update rpm to handle:"
 msgstr "ERREUR Vous devez mettre à jour rpm pour manipuler :"
 
-#: ../cli.py:536 ../yum/__init__.py:4979
+#: ../cli.py:627 ../yum/__init__.py:6227
 msgid "ERROR with transaction check vs depsolve:"
-msgstr ""
-"ERREUR lors de la vérification de la transaction avec les dépendances :"
+msgstr "ERREUR lors de la vérification de la transaction avec les dépendances :"
 
-#: ../cli.py:542
+#: ../cli.py:633
 msgid "RPM needs to be updated"
 msgstr "RPM doit être mis à jour"
 
-#: ../cli.py:543
+#: ../cli.py:634
 #, python-format
 msgid "Please report this error in %s"
 msgstr "Veuillez reporter cette erreur dans %s"
 
-#: ../cli.py:549
+#: ../cli.py:640
 msgid "Running Transaction Test"
 msgstr "Lancement de la transaction de test"
 
-#: ../cli.py:561
+#: ../cli.py:652
 msgid "Transaction Check Error:\n"
 msgstr "Erreur du contrôle de transaction :\n"
 
-#: ../cli.py:568
+#: ../cli.py:659
 msgid "Transaction Test Succeeded"
 msgstr "Transaction de test réussie"
 
-#: ../cli.py:600
+#: ../cli.py:691
 msgid "Running Transaction"
 msgstr "Lancement de la transaction"
 
-#: ../cli.py:630
+#: ../cli.py:724
 msgid ""
 "Refusing to automatically import keys when running unattended.\n"
 "Use \"-y\" to override."
-msgstr ""
-"Refus de l'importation automatique des clés lors d'une exécution inattendue.\n"
-"Utilisez l'option « -y » pour passer outre."
+msgstr "Refus de l'importation automatique des clés lors d'une exécution inattendue.\nUtilisez l'option « -y » pour passer outre."
 
-#: ../cli.py:649 ../cli.py:692
+#: ../cli.py:743 ../cli.py:786
 msgid "  * Maybe you meant: "
 msgstr "  * Vouliez-vous dire : "
 
-#: ../cli.py:675 ../cli.py:683
+#: ../cli.py:769 ../cli.py:777
 #, python-format
 msgid "Package(s) %s%s%s available, but not installed."
 msgstr "Le ou les paquets %s%s%s sont disponibles, mais non installés."
 
-#: ../cli.py:689 ../cli.py:722 ../cli.py:908
+#: ../cli.py:783 ../cli.py:891 ../cli.py:1158
 #, python-format
 msgid "No package %s%s%s available."
 msgstr "Aucun paquet %s%s%s disponible."
 
-#: ../cli.py:729 ../cli.py:973
-msgid "Package(s) to install"
-msgstr "Paquets à installer"
+#: ../cli.py:871 ../cli.py:881 ../cli.py:1101 ../cli.py:1111
+#, python-format
+msgid "Bad %s argument %s."
+msgstr ""
 
-#: ../cli.py:732 ../cli.py:733 ../cli.py:914 ../cli.py:948 ../cli.py:974
-#: ../yumcommands.py:190
+#: ../cli.py:900 ../yumcommands.py:3331
+#, python-format
+msgid "%d package to install"
+msgid_plural "%d packages to install"
+msgstr[0] "%d paquet à installer"
+msgstr[1] "%d paquets à installer"
+
+#: ../cli.py:903 ../cli.py:904 ../cli.py:1169 ../cli.py:1170 ../cli.py:1224
+#: ../cli.py:1225 ../cli.py:1260 ../yumcommands.py:323 ../yumcommands.py:3419
 msgid "Nothing to do"
 msgstr "Rien à faire"
 
-#: ../cli.py:767
+#: ../cli.py:953
 #, python-format
-msgid "%d packages marked for Update"
-msgstr "%d paquets marqués pour mise à jour"
+msgid "%d package marked for Update"
+msgid_plural "%d packages marked for Update"
+msgstr[0] "%d paquet à mettre à jour"
+msgstr[1] "%d paquets à mettre à jour"
 
-#: ../cli.py:770
+#: ../cli.py:955
 msgid "No Packages marked for Update"
 msgstr "Aucun paquet marqué pour mise à jour"
 
-#: ../cli.py:866
+#: ../cli.py:1067
 #, python-format
-msgid "%d packages marked for Distribution Synchronization"
-msgstr "%d paquets marqués pour la synchronisation de la distribution"
+msgid "%d package marked for Distribution Synchronization"
+msgid_plural "%d packages marked for Distribution Synchronization"
+msgstr[0] "%d paquet marqué pour une synchronisation de distribution"
+msgstr[1] "%d paquets marqués pour une synchronisation de distribution"
 
-#: ../cli.py:869
+#: ../cli.py:1069
 msgid "No Packages marked for Distribution Synchronization"
 msgstr "Aucun paquet marqué pour la synchronisation de la distribution"
 
-#: ../cli.py:885
+#: ../cli.py:1124
 #, python-format
-msgid "%d packages marked for removal"
-msgstr "%d paquets marqués pour suppression"
+msgid "%d package marked for removal"
+msgid_plural "%d packages marked for removal"
+msgstr[0] "%d paquet à supprimer"
+msgstr[1] "%d paquets à supprimer"
 
-#: ../cli.py:888
+#: ../cli.py:1126
 msgid "No Packages marked for removal"
 msgstr "Aucun paquet marqué pour suppression"
 
-#: ../cli.py:913
-msgid "Package(s) to downgrade"
-msgstr "Paquets à rétrograder"
+#: ../cli.py:1166
+#, python-format
+msgid "%d package to downgrade"
+msgid_plural "%d packages to downgrade"
+msgstr[0] "%d paquet à passer à une version antérieur"
+msgstr[1] "%d paquets à passer à une version antérieur"
 
-#: ../cli.py:938
+#: ../cli.py:1207
 #, python-format
 msgid " (from %s)"
 msgstr "(depuis %s)"
 
-#: ../cli.py:939
+#: ../cli.py:1208
 #, python-format
 msgid "Installed package %s%s%s%s not available."
 msgstr "Paquets installés %s%s%s%s indisponibles."
 
-#: ../cli.py:947
-msgid "Package(s) to reinstall"
-msgstr "Paquets à réinstaller"
+#: ../cli.py:1221
+#, python-format
+msgid "%d package to reinstall"
+msgid_plural "%d packages to reinstall"
+msgstr[0] "%d paquet à réinstaller"
+msgstr[1] "%d paquets à réinstaller"
 
-#: ../cli.py:960
+#: ../cli.py:1246
 msgid "No Packages Provided"
 msgstr "Pas de paquet fourni"
 
-#: ../cli.py:1058
+#: ../cli.py:1259
+msgid "Package(s) to install"
+msgstr "Paquets à installer"
+
+#: ../cli.py:1367
 #, python-format
 msgid "N/S Matched: %s"
 msgstr "Non spécifié, correspond à : %s"
 
-#: ../cli.py:1075
+#: ../cli.py:1384
 #, python-format
 msgid "  Name and summary matches %sonly%s, use \"search all\" for everything."
-msgstr ""
-"  Correspondance dans les noms et résumés %suniquement%s, utilisez « search "
-"all » pour une recherche complète."
+msgstr "  Correspondance avec le nom ou le résumé %suniquement%s, utilisez « search all » pour une recherche complète."
 
-#: ../cli.py:1077
+#: ../cli.py:1386
 #, python-format
 msgid ""
 "  Full name and summary matches %sonly%s, use \"search all\" for everything."
-msgstr ""
-"  Correspondance complète dans les noms et résumés %suniquement%s, utilisez "
-"« search all » pour une recherche complète."
+msgstr "  Correspondance complète avec le nom et le résumé %suniquement%s, utilisez « search all » pour une recherche complète."
 
-#: ../cli.py:1095
+#: ../cli.py:1404
 #, python-format
 msgid "Matched: %s"
-msgstr " Marqués : %s"
+msgstr "Marqués : %s"
 
-#: ../cli.py:1102
+#: ../cli.py:1411
 #, python-format
 msgid "  Name and summary matches %smostly%s, use \"search all\" for everything."
-msgstr ""
-"  Correspondance dans les noms et résumés %sprincipalementt%s, utilisez « "
-"search all » pour une recherche complète."
+msgstr "  Correspondance %sapproximative%s avec le nom et le résumé, utilisez « search all » pour une recherche complète."
 
-#: ../cli.py:1106
+#: ../cli.py:1415
 #, python-format
 msgid "Warning: No matches found for: %s"
 msgstr "Attention : aucune correspondance trouvée pour : %s"
 
-#: ../cli.py:1109
+#: ../cli.py:1418
 msgid "No Matches found"
 msgstr "Aucune correspondance trouvée"
 
-#: ../cli.py:1174
+#: ../cli.py:1536
 #, python-format
-msgid "No Package Found for %s"
-msgstr "Aucun paquet trouvé pour %s"
+msgid ""
+"Error: No Packages found for:\n"
+"  %s"
+msgstr "Erreur : aucun paquet trouvé pour :\n  %s"
 
-#: ../cli.py:1184
+#: ../cli.py:1572
 msgid "Cleaning repos: "
 msgstr "Nettoyage des dépôts : "
 
-#: ../cli.py:1189
+#: ../cli.py:1577
 msgid "Cleaning up Everything"
 msgstr "Nettoyage complet"
 
-#: ../cli.py:1205
+#: ../cli.py:1593
 msgid "Cleaning up Headers"
 msgstr "Nettoyage des en-têtes"
 
-#: ../cli.py:1208
+#: ../cli.py:1596
 msgid "Cleaning up Packages"
 msgstr "Nettoyage des paquets"
 
-#: ../cli.py:1211
+#: ../cli.py:1599
 msgid "Cleaning up xml metadata"
 msgstr "Nettoyage des méta données xml"
 
-#: ../cli.py:1214
+#: ../cli.py:1602
 msgid "Cleaning up database cache"
 msgstr "Nettoyage du cache de la base de données"
 
-#: ../cli.py:1217
+#: ../cli.py:1605
 msgid "Cleaning up expire-cache metadata"
 msgstr "Nettoyage des méta données expirées dans le cache"
 
-#: ../cli.py:1220
+#: ../cli.py:1608
 msgid "Cleaning up cached rpmdb data"
 msgstr "Nettoyage des données du cache de RPMDB"
 
-#: ../cli.py:1223
+#: ../cli.py:1611
 msgid "Cleaning up plugins"
 msgstr "Nettoyage des modules complémentaires"
 
-#: ../cli.py:1247
-#, python-format
-msgid "Warning: No groups match: %s"
-msgstr "Attention : aucun groupe ne correspond : %s"
+#: ../cli.py:1727
+msgid "Installed Environment Groups:"
+msgstr ""
+
+#: ../cli.py:1728
+msgid "Available Environment Groups:"
+msgstr ""
 
-#: ../cli.py:1264
+#: ../cli.py:1735
 msgid "Installed Groups:"
 msgstr "Groupes installés :"
 
-#: ../cli.py:1270
+#: ../cli.py:1742
 msgid "Installed Language Groups:"
 msgstr "Groupes de langues installés :"
 
-#: ../cli.py:1276
+#: ../cli.py:1749
 msgid "Available Groups:"
 msgstr "Groupes disponibles :"
 
-#: ../cli.py:1282
+#: ../cli.py:1756
 msgid "Available Language Groups:"
 msgstr "Groupes de langues disponibles :"
 
-#: ../cli.py:1285
+#: ../cli.py:1759
+#, python-format
+msgid "Warning: No Environments/Groups match: %s"
+msgstr ""
+
+#: ../cli.py:1763
 msgid "Done"
 msgstr "Effectué"
 
-#: ../cli.py:1296 ../cli.py:1314 ../cli.py:1320 ../yum/__init__.py:3313
+#: ../cli.py:1818
+#, python-format
+msgid "Warning: Group/Environment %s does not exist."
+msgstr ""
+
+#: ../cli.py:1859
+#, python-format
+msgid "Warning: Environment %s does not exist."
+msgstr ""
+
+#: ../cli.py:1873 ../cli.py:1879 ../yum/__init__.py:4254
 #, python-format
 msgid "Warning: Group %s does not exist."
 msgstr "Attention : le groupe %s n'existe pas."
 
-#: ../cli.py:1324
+#: ../cli.py:1883
 msgid "No packages in any requested group available to install or update"
-msgstr ""
-"Aucun paquet disponible pour installation ou mise à jour dans les groupes "
-"demandés"
+msgstr "Aucun paquet disponible pour installation ou mise à jour dans les groupes demandés"
+
+#: ../cli.py:1885
+#, python-format
+msgid "%d package to Install"
+msgid_plural "%d packages to Install"
+msgstr[0] "%d paquet à installer"
+msgstr[1] "%d paquets à installer"
 
-#: ../cli.py:1326
+#: ../cli.py:1919 ../yum/__init__.py:3536 ../yum/__init__.py:3766
+#: ../yum/__init__.py:3824
 #, python-format
-msgid "%d Package(s) to Install"
-msgstr "%d paquet(s) à installer"
+msgid "No Environment named %s exists"
+msgstr ""
 
-#: ../cli.py:1336 ../yum/__init__.py:3325
+#: ../cli.py:1935 ../yum/__init__.py:4282
 #, python-format
 msgid "No group named %s exists"
 msgstr "Aucun groupe nommé %s n'existe"
 
-#: ../cli.py:1342
+#: ../cli.py:1945
 msgid "No packages to remove from groups"
 msgstr "Aucun paquet du groupe à supprimer"
 
-#: ../cli.py:1344
+#: ../cli.py:1947 ../yumcommands.py:3351
 #, python-format
-msgid "%d Package(s) to remove"
-msgstr "%d paquet(s) à supprimer"
+msgid "%d package to remove"
+msgid_plural "%d packages to remove"
+msgstr[0] "%d paquet à désinstaller"
+msgstr[1] "%d paquets à désinstaller"
 
-#: ../cli.py:1386
+#: ../cli.py:1988
 #, python-format
 msgid "Package %s is already installed, skipping"
 msgstr "Le paquet %s est déjà installé, omission"
 
-#: ../cli.py:1397
+#: ../cli.py:1999
 #, python-format
 msgid "Discarding non-comparable pkg %s.%s"
 msgstr "Rejet du paquet non comparable %s.%s"
 
 #. we've not got any installed that match n or n+a
-#: ../cli.py:1423
+#: ../cli.py:2025
 #, python-format
 msgid "No other %s installed, adding to list for potential install"
-msgstr ""
-"Pas d'autre %s installé, ajout à la liste pour installation potentielle"
+msgstr "Pas d'autre %s installé, ajout à la liste pour installation potentielle"
 
-#: ../cli.py:1443
+#: ../cli.py:2045
 msgid "Plugin Options"
 msgstr "Options du plugin"
 
-#: ../cli.py:1451
+#: ../cli.py:2057
 #, python-format
 msgid "Command line error: %s"
 msgstr "Erreur sur la ligne de commande : %s"
 
-#: ../cli.py:1467
+#: ../cli.py:2079
 #, python-format
 msgid ""
 "\n"
 "\n"
 "%s: %s option requires an argument"
-msgstr ""
-"\n"
-"\n"
-"%s : l'option %s requiert un argument"
+msgstr "\n\n%s : l'option %s requiert un argument"
 
-#: ../cli.py:1521
+#: ../cli.py:2147
 msgid "--color takes one of: auto, always, never"
 msgstr "--color accepte les paramètres : auto, always, never"
 
 #. We have a relative installroot ... haha
-#: ../cli.py:1596
+#: ../cli.py:2218
 #, python-format
 msgid "--installroot must be an absolute path: %s"
 msgstr "--installroot doit correspondre à un chemin absolu : %s"
 
-#: ../cli.py:1642
+#: ../cli.py:2272
 msgid "show this help message and exit"
 msgstr "affiche ce message d'aide et quitte"
 
-#: ../cli.py:1646
+#: ../cli.py:2276
 msgid "be tolerant of errors"
 msgstr "tolère les erreurs"
 
-#: ../cli.py:1649
+#: ../cli.py:2279
 msgid "run entirely from system cache, don't update cache"
 msgstr "exécute entièrement depuis le cache, sans le mettre à jour"
 
-#: ../cli.py:1652
+#: ../cli.py:2282
 msgid "config file location"
 msgstr "emplacement du fichier de configuration"
 
-#: ../cli.py:1655
+#: ../cli.py:2285
 msgid "maximum command wait time"
 msgstr "temps d'attente maximum de la commande"
 
-#: ../cli.py:1657
+#: ../cli.py:2287
 msgid "debugging output level"
 msgstr "niveau de déboguage pour la sortie"
 
-#: ../cli.py:1661
+#: ../cli.py:2291
 msgid "show duplicates, in repos, in list/search commands"
 msgstr "affiche les doublons dans les dépôts, pour les commandes list/search"
 
-#: ../cli.py:1663
+#: ../cli.py:2296
 msgid "error output level"
 msgstr "niveau d'erreur pour la sortie"
 
-#: ../cli.py:1666
+#: ../cli.py:2299
 msgid "debugging output level for rpm"
 msgstr "niveau de déboguage pour rpm"
 
-#: ../cli.py:1669
+#: ../cli.py:2302
 msgid "quiet operation"
 msgstr "opération silencieuse"
 
-#: ../cli.py:1671
+#: ../cli.py:2304
 msgid "verbose operation"
 msgstr "opération verbeuse"
 
-#: ../cli.py:1673
+#: ../cli.py:2306
 msgid "answer yes for all questions"
 msgstr "répondre oui à toutes les questions"
 
-#: ../cli.py:1675
+#: ../cli.py:2308
+msgid "answer no for all questions"
+msgstr "répondre non à toutes les questions"
+
+#: ../cli.py:2312
 msgid "show Yum version and exit"
 msgstr "affiche la version de Yum et quitte"
 
-#: ../cli.py:1676
+#: ../cli.py:2313
 msgid "set install root"
 msgstr "définit la racine d'installation"
 
-#: ../cli.py:1680
+#: ../cli.py:2317
 msgid "enable one or more repositories (wildcards allowed)"
 msgstr "active un ou plusieurs dépôts (jokers autorisés)"
 
-#: ../cli.py:1684
+#: ../cli.py:2321
 msgid "disable one or more repositories (wildcards allowed)"
 msgstr "désactive un ou plusieurs dépôts (jokers autorisés)"
 
-#: ../cli.py:1687
+#: ../cli.py:2324
 msgid "exclude package(s) by name or glob"
-msgstr ""
-"exclut des paquets par leur nom (le caractère * générique peut être utilisé)"
+msgstr "exclut des paquets par leur nom (le caractère * générique peut être utilisé)"
 
-#: ../cli.py:1689
+#: ../cli.py:2326
 msgid "disable exclude from main, for a repo or for everything"
-msgstr ""
-"désactive l'exclusion pour le dépôt principal, pour un dépôt particulier ou "
-"pour tout"
+msgstr "désactive l'exclusion pour le dépôt principal, pour un dépôt particulier ou pour tout"
 
-#: ../cli.py:1692
+#: ../cli.py:2329
 msgid "enable obsoletes processing during updates"
 msgstr "active le traitement des paquets obsolètes pendant les mises à jour"
 
-#: ../cli.py:1694
+#: ../cli.py:2331
 msgid "disable Yum plugins"
 msgstr "désactive les modules complémentaires Yum"
 
-#: ../cli.py:1696
+#: ../cli.py:2333
 msgid "disable gpg signature checking"
 msgstr "désactive la vérification de clé gpg"
 
-#: ../cli.py:1698
+#: ../cli.py:2335
 msgid "disable plugins by name"
 msgstr "désactive les modules complémentaires par nom"
 
-#: ../cli.py:1701
+#: ../cli.py:2338
 msgid "enable plugins by name"
 msgstr "active les modules complémentaires par nom"
 
-#: ../cli.py:1704
+#: ../cli.py:2341
 msgid "skip packages with depsolving problems"
 msgstr "omettre les paquets qui ont des problèmes de dépendances"
 
-#: ../cli.py:1706
+#: ../cli.py:2343
 msgid "control whether color is used"
 msgstr "contrôle l'utilisation de la couleur"
 
-#: ../cli.py:1708
+#: ../cli.py:2345
 msgid "set value of $releasever in yum config and repo files"
+msgstr "configuration de la valeur de $releasever dans le fichier de configuration de yum et dans les fichiers des dépôts"
+
+#: ../cli.py:2347
+msgid "don't update, just download"
+msgstr ""
+
+#: ../cli.py:2349
+msgid "specifies an alternate directory to store packages"
 msgstr ""
-"configuration de la valeur de $releasever dans le fichier de configuration "
-"de yum et dans les fichiers des dépôts"
 
-#: ../cli.py:1710
+#: ../cli.py:2351
 msgid "set arbitrary config and repo options"
 msgstr "réinitialise la configuration ainsi que les options des dépôts"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Jan"
 msgstr "Jan"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Feb"
 msgstr "Fév"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Mar"
 msgstr "Mars"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Apr"
 msgstr "Avr"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "May"
 msgstr "Mai"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Jun"
 msgstr "Juin"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Jul"
 msgstr "Jui"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Aug"
 msgstr "Août"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Sep"
 msgstr "Sep"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Oct"
 msgstr "Oct"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Nov"
 msgstr "Nov"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Dec"
 msgstr "Déc"
 
-#: ../output.py:318
+#: ../output.py:473
 msgid "Trying other mirror."
 msgstr "Essai d'un autre miroir."
 
-#: ../output.py:581
+#: ../output.py:816
 #, python-format
 msgid "Name        : %s%s%s"
-msgstr "Nom        : %s%s%s"
+msgstr "Nom                 : %s%s%s"
 
-#: ../output.py:582
+#: ../output.py:817
 #, python-format
 msgid "Arch        : %s"
 msgstr "Architecture        : %s"
 
-#: ../output.py:584
+#: ../output.py:819
 #, python-format
 msgid "Epoch       : %s"
-msgstr "Date       : %s"
+msgstr "Date                : %s"
 
-#: ../output.py:585
+#: ../output.py:820
 #, python-format
 msgid "Version     : %s"
-msgstr "Version     : %s"
+msgstr "Version             : %s"
 
-#: ../output.py:586
+#: ../output.py:821
 #, python-format
 msgid "Release     : %s"
-msgstr "Révision     : %s"
+msgstr "Révision            : %s"
 
-#: ../output.py:587
+#: ../output.py:822
 #, python-format
 msgid "Size        : %s"
-msgstr "Taille        : %s"
+msgstr "Taille              : %s"
 
-#: ../output.py:588 ../output.py:900
+#: ../output.py:823 ../output.py:1329
 #, python-format
 msgid "Repo        : %s"
-msgstr "Dépôt         : %s"
+msgstr "Dépôt               : %s"
 
-#: ../output.py:590
+#: ../output.py:825
 #, python-format
 msgid "From repo   : %s"
-msgstr "Depuis le dépôt   : %s"
+msgstr "Depuis le dépôt     : %s"
 
-#: ../output.py:592
+#: ../output.py:827
 #, python-format
 msgid "Committer   : %s"
-msgstr "Auteur   : %s"
+msgstr "Auteur              : %s"
 
-#: ../output.py:593
+#: ../output.py:828
 #, python-format
 msgid "Committime  : %s"
 msgstr "Date de validation  : %s"
 
-#: ../output.py:594
+#: ../output.py:829
 #, python-format
 msgid "Buildtime   : %s"
-msgstr "Date de compilation   : %s"
+msgstr "Date de compilation : %s"
 
-#: ../output.py:596
+#: ../output.py:831
 #, python-format
 msgid "Install time: %s"
 msgstr "Date d'installation : %s"
 
-#: ../output.py:604
+#: ../output.py:839
 #, python-format
 msgid "Installed by: %s"
-msgstr "Installés par : %s"
+msgstr "Installés par       : %s"
 
-#: ../output.py:611
+#: ../output.py:846
 #, python-format
 msgid "Changed by  : %s"
-msgstr "Modifié par  : %s"
+msgstr "Modifié par         : %s"
 
-#: ../output.py:612
+#: ../output.py:847
 msgid "Summary     : "
-msgstr "Résumé        : "
+msgstr "Résumé              : "
 
-#: ../output.py:614 ../output.py:913
+#: ../output.py:849 ../output.py:1345
 #, python-format
 msgid "URL         : %s"
-msgstr "URL         : %s"
+msgstr "URL                 : %s"
 
-#: ../output.py:615
+#: ../output.py:850
 msgid "License     : "
-msgstr "Licence       : "
+msgstr "Licence             : "
 
-#: ../output.py:616 ../output.py:910
+#: ../output.py:851 ../output.py:1342
 msgid "Description : "
-msgstr "Description : "
+msgstr "Description         : "
 
-#: ../output.py:684
+#: ../output.py:969
 msgid "y"
 msgstr "o"
 
-#: ../output.py:684
+#: ../output.py:969
 msgid "yes"
 msgstr "oui"
 
-#: ../output.py:685
+#: ../output.py:970
 msgid "n"
 msgstr "n"
 
-#: ../output.py:685
+#: ../output.py:970
 msgid "no"
 msgstr "non"
 
-#: ../output.py:689
+#: ../output.py:974
 msgid "Is this ok [y/N]: "
 msgstr "Est-ce correct [o/N] : "
 
-#: ../output.py:777
+#: ../output.py:1097
 #, python-format
 msgid ""
 "\n"
 "Group: %s"
-msgstr ""
-"\n"
-"Groupe : %s"
+msgstr "\nGroupe : %s"
 
-#: ../output.py:781
+#: ../output.py:1101
 #, python-format
 msgid " Group-Id: %s"
-msgstr " Id du g : %s"
+msgstr " ID du groupe : %s"
 
-#: ../output.py:786
+#: ../output.py:1122 ../output.py:1169
 #, python-format
 msgid " Description: %s"
-msgstr " Description : %s"
+msgstr " Description : %s"
 
-#: ../output.py:788
+#: ../output.py:1124
 #, python-format
 msgid " Language: %s"
 msgstr " Langue : %s"
 
-#: ../output.py:790
+#: ../output.py:1126
 msgid " Mandatory Packages:"
-msgstr " Paquets mandataires :"
+msgstr " Paquets obligatoires :"
 
-#: ../output.py:791
+#: ../output.py:1127
 msgid " Default Packages:"
 msgstr " Paquets par défaut :"
 
-#: ../output.py:792
+#: ../output.py:1128
 msgid " Optional Packages:"
 msgstr " Paquets optionnels :"
 
-#: ../output.py:793
+#: ../output.py:1129
 msgid " Conditional Packages:"
 msgstr " Paquets conditionnels :"
 
-#: ../output.py:814
+#: ../output.py:1147
+msgid " Installed Packages:"
+msgstr " Paquets installés :"
+
+#: ../output.py:1157
+#, python-format
+msgid ""
+"\n"
+"Environment Group: %s"
+msgstr ""
+
+#: ../output.py:1158
+#, python-format
+msgid " Environment-Id: %s"
+msgstr ""
+
+#: ../output.py:1191
+msgid " Mandatory Groups:"
+msgstr ""
+
+#: ../output.py:1192
+msgid " Optional Groups:"
+msgstr ""
+
+#: ../output.py:1205
+msgid " Installed Groups:"
+msgstr ""
+
+#: ../output.py:1217
 #, python-format
 msgid "package: %s"
 msgstr "paquet : %s"
 
-#: ../output.py:816
+#: ../output.py:1219
 msgid "  No dependencies for this package"
 msgstr "  Pas de dépendances pour ce paquet"
 
-#: ../output.py:821
+#: ../output.py:1224
 #, python-format
 msgid "  dependency: %s"
-msgstr "  dépendance : %s"
+msgstr "  dépendance   : %s"
 
-#: ../output.py:823
+#: ../output.py:1226
 msgid "   Unsatisfied dependency"
 msgstr "   Dépendance non satisfaite"
 
-#: ../output.py:901
+#: ../output.py:1337
 msgid "Matched from:"
 msgstr "Correspondance depuis :"
 
-#: ../output.py:916
+#: ../output.py:1348
 #, python-format
 msgid "License     : %s"
-msgstr "Licence       : %s"
+msgstr "Licence        : %s"
 
-#: ../output.py:919
+#: ../output.py:1351
 #, python-format
 msgid "Filename    : %s"
-msgstr "Nom de fichier      : %s"
+msgstr "Nom de fichier : %s"
+
+#: ../output.py:1360
+msgid "Provides    : "
+msgstr "Fournit        : "
 
-#: ../output.py:923
+#: ../output.py:1363
 msgid "Other       : "
-msgstr "Autre           :"
+msgstr "Autre          :"
 
-#: ../output.py:966
+#: ../output.py:1426
 msgid "There was an error calculating total download size"
-msgstr ""
-"Une erreur est survenue pendant le calcul de la taille totale des "
-"téléchargements"
+msgstr "Une erreur est survenue pendant le calcul de la taille totale des téléchargements"
 
-#: ../output.py:971
+#: ../output.py:1431
 #, python-format
 msgid "Total size: %s"
-msgstr "Taille totale : %s"
+msgstr "Taille totale  : %s"
 
-#: ../output.py:974
+#: ../output.py:1433
 #, python-format
 msgid "Total download size: %s"
 msgstr "Taille totale des téléchargements : %s"
 
-#: ../output.py:978 ../output.py:998
+#: ../output.py:1436 ../output.py:1459 ../output.py:1463
 #, python-format
 msgid "Installed size: %s"
 msgstr "Taille d'installation : %s"
 
-#: ../output.py:994
+#: ../output.py:1454
 msgid "There was an error calculating installed size"
-msgstr ""
-"Une erreur est survenue pendant le calcul de la taille des données "
-"installées"
+msgstr "Une erreur est survenue pendant le calcul de la taille des données installées"
 
-#: ../output.py:1039
+#: ../output.py:1504
 msgid "Reinstalling"
 msgstr "Réinstallation "
 
-#: ../output.py:1040
+#: ../output.py:1505
 msgid "Downgrading"
-msgstr "Retour à la version précédente"
+msgstr "Retour à la version précédente "
 
-#: ../output.py:1041
+#: ../output.py:1506
 msgid "Installing for dependencies"
 msgstr "Installation pour dépendances "
 
-#: ../output.py:1042
+#: ../output.py:1507
 msgid "Updating for dependencies"
 msgstr "Mise à jour pour dépendances "
 
-#: ../output.py:1043
+#: ../output.py:1508
 msgid "Removing for dependencies"
 msgstr "Suppression pour dépendances "
 
-#: ../output.py:1050 ../output.py:1171
+#: ../output.py:1515 ../output.py:1576 ../output.py:1672
 msgid "Skipped (dependency problems)"
 msgstr "Omis (problèmes de dépendances) "
 
-#: ../output.py:1052 ../output.py:1687
+#: ../output.py:1517 ../output.py:1577 ../output.py:2223
 msgid "Not installed"
 msgstr "Non installé"
 
-#: ../output.py:1053
+#: ../output.py:1518 ../output.py:1578
 msgid "Not available"
-msgstr ""
+msgstr "Indisponible"
 
-#: ../output.py:1075 ../output.py:2024
+#: ../output.py:1540 ../output.py:1588 ../output.py:1604 ../output.py:2581
 msgid "Package"
-msgstr "Paquet"
+msgid_plural "Packages"
+msgstr[0] "Paquet"
+msgstr[1] "Paquets"
 
-#: ../output.py:1075
+#: ../output.py:1540
 msgid "Arch"
 msgstr "Architecture"
 
-#: ../output.py:1076
+#: ../output.py:1541
 msgid "Version"
 msgstr "Version"
 
-#: ../output.py:1076
+#: ../output.py:1541
 msgid "Repository"
 msgstr "Dépôt"
 
-#: ../output.py:1077
+#: ../output.py:1542
 msgid "Size"
-msgstr "Taille "
+msgstr "Taille"
 
-#: ../output.py:1089
+#: ../output.py:1554
 #, python-format
 msgid "     replacing  %s%s%s.%s %s\n"
 msgstr "     remplacement de  %s%s%s.%s %s\n"
 
-#: ../output.py:1098
+#: ../output.py:1563
 #, python-format
 msgid ""
 "\n"
 "Transaction Summary\n"
 "%s\n"
-msgstr ""
-"\n"
-"Résumé de la transaction\n"
-"%s\n"
+msgstr "\nRésumé de la transaction\n%s\n"
 
-#: ../output.py:1109
-#, python-format
-msgid "Install   %5.5s Package(s)\n"
-msgstr "Installation de   %5.5s paquets\n"
+#: ../output.py:1568 ../output.py:2376 ../output.py:2377
+msgid "Install"
+msgstr "Installation "
 
-#: ../output.py:1113
-#, python-format
-msgid "Upgrade   %5.5s Package(s)\n"
-msgstr "Mise à jour de    %5.5s paquets\n"
+#: ../output.py:1570
+msgid "Upgrade"
+msgstr "Mettre à jour"
 
-#: ../output.py:1117
-#, python-format
-msgid "Remove    %5.5s Package(s)\n"
-msgstr "Suppression de    %5.5s paquets\n"
+#: ../output.py:1572
+msgid "Remove"
+msgstr "Supprimer"
 
-#: ../output.py:1121
-#, python-format
-msgid "Reinstall %5.5s Package(s)\n"
-msgstr "Réinstallation de %5.5s paquets\n"
+#: ../output.py:1574 ../output.py:2382
+msgid "Reinstall"
+msgstr "Réinstallation"
 
-#: ../output.py:1125
-#, python-format
-msgid "Downgrade %5.5s Package(s)\n"
-msgstr "Retour à une version antérieur de %5.5s paquets\n"
+#: ../output.py:1575 ../output.py:2383
+msgid "Downgrade"
+msgstr "Retour à la version précédente"
+
+#: ../output.py:1606
+msgid "Dependent package"
+msgid_plural "Dependent packages"
+msgstr[0] "Paquet en dépendance"
+msgstr[1] "Paquets en dépendance"
 
-#: ../output.py:1165
+#: ../output.py:1666
 msgid "Removed"
-msgstr "Supprimés "
+msgstr "Supprimé "
 
-#: ../output.py:1166
+#: ../output.py:1667
 msgid "Dependency Removed"
 msgstr "Dépendances supprimées "
 
-#: ../output.py:1168
+#: ../output.py:1669
 msgid "Dependency Installed"
 msgstr "Dépendances installées "
 
-#: ../output.py:1170
+#: ../output.py:1671
 msgid "Dependency Updated"
 msgstr "Dépendances mises à jour "
 
-#: ../output.py:1172
+#: ../output.py:1673
 msgid "Replaced"
-msgstr "Remplacés "
+msgstr "Remplacé "
 
-#: ../output.py:1173
+#: ../output.py:1674
 msgid "Failed"
 msgstr "Échec"
 
 #. Delta between C-c's so we treat as exit
-#: ../output.py:1260
+#: ../output.py:1764
 msgid "two"
 msgstr "deux"
 
 #. For translators: This is output like:
 #. Current download cancelled, interrupt (ctrl-c) again within two seconds
 #. to exit.
-#. Where "interupt (ctrl-c) again" and "two" are highlighted.
-#: ../output.py:1271
+#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
+#: ../output.py:1775
 #, python-format
 msgid ""
 "\n"
 " Current download cancelled, %sinterrupt (ctrl-c) again%s within %s%s%s seconds\n"
 "to exit.\n"
-msgstr ""
-"\n"
-"Téléchargement courant annulé, demandez de nouveau l%sinterruption (crtl-c)%s dans %s%s%s secondes\n"
-"pour quitter.\n"
+msgstr "\nTéléchargement courant annulé, demandez de nouveau l'%sinterruption (crtl-c)%s dans %s%s%s secondes\npour quitter.\n"
 
-#: ../output.py:1282
+#: ../output.py:1786
 msgid "user interrupt"
 msgstr "interruption par l'utilisateur"
 
-#: ../output.py:1300
+#: ../output.py:1812
 msgid "Total"
 msgstr "Total"
 
-#: ../output.py:1322
+#: ../output.py:1834
 msgid "I"
 msgstr "I"
 
-#: ../output.py:1323
+#: ../output.py:1835
 msgid "O"
 msgstr "O"
 
-#: ../output.py:1324
+#: ../output.py:1836
 msgid "E"
 msgstr "E"
 
-#: ../output.py:1325
+#: ../output.py:1837
 msgid "R"
 msgstr "R"
 
-#: ../output.py:1326
+#: ../output.py:1838
 msgid "D"
 msgstr "D"
 
-#: ../output.py:1327
+#: ../output.py:1839
 msgid "U"
 msgstr "U"
 
-#: ../output.py:1341
+#: ../output.py:1853
 msgid "<unset>"
 msgstr "<indéfini>"
 
-#: ../output.py:1342
+#: ../output.py:1854
 msgid "System"
 msgstr "Système"
 
-#: ../output.py:1411
+#: ../output.py:1923
 #, python-format
 msgid "Skipping merged transaction %d to %d, as it overlaps"
-msgstr ""
-"Omission des transactions regroupées de %d à %d, puisqu'elles se superposent"
+msgstr "Omission des transactions regroupées de %d à %d, puisqu'elles se superposent"
 
-#: ../output.py:1421 ../output.py:1592
+#: ../output.py:1933 ../output.py:2125
 msgid "No transactions"
 msgstr "Pas de transaction"
 
-#: ../output.py:1446 ../output.py:2013
+#: ../output.py:1958 ../output.py:2570 ../output.py:2660
 msgid "Bad transaction IDs, or package(s), given"
 msgstr "Le ou les paquets ou identifiants de transaction fournis sont erronés"
 
-#: ../output.py:1484
+#: ../output.py:2007
 msgid "Command line"
 msgstr "Ligne de commande"
 
-#: ../output.py:1486 ../output.py:1908
+#: ../output.py:2009 ../output.py:2458
 msgid "Login user"
 msgstr "Identifiant utilisateur"
 
 #. REALLY Needs to use columns!
-#: ../output.py:1487 ../output.py:2022
+#: ../output.py:2010 ../output.py:2579
 msgid "ID"
-msgstr "Id"
+msgstr "ID"
 
-#: ../output.py:1489
+#: ../output.py:2012
 msgid "Date and time"
 msgstr "Date et heure"
 
-#: ../output.py:1490 ../output.py:1910 ../output.py:2023
+#: ../output.py:2013 ../output.py:2460 ../output.py:2580
 msgid "Action(s)"
 msgstr "Action"
 
-#: ../output.py:1491 ../output.py:1911
+#: ../output.py:2014 ../output.py:2461
 msgid "Altered"
 msgstr "Modifié"
 
-#: ../output.py:1538
+#: ../output.py:2061
 msgid "No transaction ID given"
 msgstr "Aucun identifiant de transaction n'a été fourni"
 
-#: ../output.py:1564 ../output.py:1972
+#: ../output.py:2087 ../output.py:2526
 msgid "Bad transaction ID given"
 msgstr "L'identifiant de transaction fourni est erroné"
 
-#: ../output.py:1569
+#: ../output.py:2092
 msgid "Not found given transaction ID"
 msgstr "L'identifiant de transaction fourni est introuvable"
 
-#: ../output.py:1577
+#: ../output.py:2100
 msgid "Found more than one transaction ID!"
 msgstr "Plus d'un identifiant de transaction a été trouvé !"
 
-#: ../output.py:1618 ../output.py:1980
+#: ../output.py:2151 ../output.py:2534
 msgid "No transaction ID, or package, given"
 msgstr "Le paquet ou l'identifiant de transaction fourni sont absents"
 
-#: ../output.py:1686 ../output.py:1845
+#: ../output.py:2222 ../output.py:2384
 msgid "Downgraded"
 msgstr "Rétrogradé"
 
-#: ../output.py:1688
+#: ../output.py:2224
 msgid "Older"
 msgstr "Plus ancien"
 
-#: ../output.py:1688
+#: ../output.py:2224
 msgid "Newer"
 msgstr "Plus récent"
 
-#: ../output.py:1724 ../output.py:1726
+#: ../output.py:2261 ../output.py:2263 ../output.py:2681
 msgid "Transaction ID :"
-msgstr "Identifiant de transaction :"
+msgstr "ID de transaction :"
 
-#: ../output.py:1728
+#: ../output.py:2265 ../output.py:2683
 msgid "Begin time     :"
-msgstr "Temps de début :"
+msgstr "Temps de début    :"
 
-#: ../output.py:1731 ../output.py:1733
+#: ../output.py:2268 ../output.py:2270
 msgid "Begin rpmdb    :"
-msgstr "Début de RPMDB :"
+msgstr "Début de RPMDB    :"
 
-#: ../output.py:1749
+#: ../output.py:2286
 #, python-format
 msgid "(%u seconds)"
 msgstr "(%u secondes)"
 
-#: ../output.py:1751
+#: ../output.py:2288
 #, python-format
 msgid "(%u minutes)"
 msgstr "(%u minutes)"
 
-#: ../output.py:1753
+#: ../output.py:2290
 #, python-format
 msgid "(%u hours)"
 msgstr "(%u heures)"
 
-#: ../output.py:1755
+#: ../output.py:2292
 #, python-format
 msgid "(%u days)"
 msgstr "(%u jours)"
 
-#: ../output.py:1756
+#: ../output.py:2293
 msgid "End time       :"
 msgstr "Temps de fin :"
 
-#: ../output.py:1759 ../output.py:1761
+#: ../output.py:2296 ../output.py:2298
 msgid "End rpmdb      :"
 msgstr "Fin de RPMDB :"
 
-#: ../output.py:1764 ../output.py:1766
+#: ../output.py:2301 ../output.py:2303
 msgid "User           :"
-msgstr "Utilisateur :"
+msgstr "Utilisateur  :"
 
-#: ../output.py:1770 ../output.py:1773 ../output.py:1775 ../output.py:1777
-#: ../output.py:1779
+#: ../output.py:2307 ../output.py:2310 ../output.py:2312 ../output.py:2314
+#: ../output.py:2316
 msgid "Return-Code    :"
-msgstr "Code retour :"
+msgstr "Code retour  :"
 
-#: ../output.py:1770 ../output.py:1775
+#: ../output.py:2307 ../output.py:2312
 msgid "Aborted"
 msgstr "Avorté"
 
-#: ../output.py:1773
+#: ../output.py:2310
 msgid "Failures:"
 msgstr "Échecs :"
 
-#: ../output.py:1777
+#: ../output.py:2314
 msgid "Failure:"
 msgstr "Échec :"
 
-#: ../output.py:1779
+#: ../output.py:2316
 msgid "Success"
 msgstr "Réussi"
 
-#: ../output.py:1784 ../output.py:1786
+#: ../output.py:2321 ../output.py:2323 ../output.py:2712
 msgid "Command Line   :"
 msgstr "Ligne de commande :"
 
-#: ../output.py:1795
+#: ../output.py:2332
 #, python-format
 msgid "Additional non-default information stored: %d"
 msgstr "Informations supplémentaires stockées : %d"
 
 #. This is _possible_, but not common
-#: ../output.py:1800
+#: ../output.py:2337
 msgid "Transaction performed with:"
 msgstr "Transaction effectuée avec :"
 
-#: ../output.py:1804
+#: ../output.py:2341
 msgid "Packages Altered:"
 msgstr "Paquets modifiés :"
 
-#: ../output.py:1808
+#: ../output.py:2345
 msgid "Packages Skipped:"
 msgstr "Paquets ignorés :"
 
-#: ../output.py:1814
+#: ../output.py:2353
 msgid "Rpmdb Problems:"
 msgstr "Problèmes RPMDB :"
 
-#: ../output.py:1825
+#: ../output.py:2364
 msgid "Scriptlet output:"
 msgstr "Sortie du scriplet :"
 
-#: ../output.py:1831
+#: ../output.py:2370
 msgid "Errors:"
 msgstr "Erreurs :"
 
-#: ../output.py:1837 ../output.py:1838
-msgid "Install"
-msgstr "Installation "
-
-#: ../output.py:1839
+#: ../output.py:2378
 msgid "Dep-Install"
 msgstr "Installation déps."
 
-#: ../output.py:1841
+#: ../output.py:2380
 msgid "Obsoleting"
-msgstr "Obsolète"
+msgstr "Rendre obsolète"
 
-#: ../output.py:1842
+#: ../output.py:2381
 msgid "Erase"
 msgstr "Supprimé"
 
-#: ../output.py:1843
-msgid "Reinstall"
-msgstr "Réinstallation"
-
-#: ../output.py:1844
-msgid "Downgrade"
-msgstr "Retour à la version précédente"
-
-#: ../output.py:1846
+#: ../output.py:2385
 msgid "Update"
 msgstr "Mise à jour"
 
-#: ../output.py:1909
+#: ../output.py:2459
 msgid "Time"
 msgstr "Heure"
 
-#: ../output.py:1935
+#: ../output.py:2485
 msgid "Last day"
 msgstr "Dernier jour"
 
-#: ../output.py:1936
+#: ../output.py:2486
 msgid "Last week"
 msgstr "Semaine dernière"
 
-#: ../output.py:1937
+#: ../output.py:2487
 msgid "Last 2 weeks"
 msgstr "Deux dernières semaines"
 
 #. US default :p
-#: ../output.py:1938
+#: ../output.py:2488
 msgid "Last 3 months"
 msgstr "Trois derniers mois"
 
-#: ../output.py:1939
+#: ../output.py:2489
 msgid "Last 6 months"
 msgstr "Six derniers mois"
 
-#: ../output.py:1940
+#: ../output.py:2490
 msgid "Last year"
 msgstr "L'année dernière"
 
-#: ../output.py:1941
+#: ../output.py:2491
 msgid "Over a year ago"
 msgstr "Il y a plus d'un an"
 
-#: ../output.py:1984
+#: ../output.py:2538
 #, python-format
 msgid "No Transaction %s found"
 msgstr "Aucune transaction %s n'a été trouvée"
 
-#: ../output.py:1990
+#: ../output.py:2544
 msgid "Transaction ID:"
 msgstr "Identifiant de transaction :"
 
-#: ../output.py:1991
+#: ../output.py:2545
 msgid "Available additional history information:"
 msgstr "Informations additionnelles disponibles dans l'historique :"
 
-#: ../output.py:2003
+#: ../output.py:2558
 #, python-format
 msgid "%s: No additional data found by this name"
 msgstr "%s : aucune donnée supplémentaire trouvée avec ce nom"
 
-#: ../output.py:2106
+#: ../output.py:2684
+msgid "Package        :"
+msgstr "Paquet             :"
+
+#: ../output.py:2685
+msgid "State          :"
+msgstr "État                 :"
+
+#: ../output.py:2688
+msgid "Size           :"
+msgstr "Taille               :"
+
+#: ../output.py:2690
+msgid "Build host     :"
+msgstr "Hôte de construction :"
+
+#: ../output.py:2693
+msgid "Build time     :"
+msgstr "Date de compilation  :"
+
+#: ../output.py:2695
+msgid "Packager       :"
+msgstr "Empaqueteur          :"
+
+#: ../output.py:2697
+msgid "Vendor         :"
+msgstr "Vendeur              :"
+
+#: ../output.py:2699
+msgid "License        :"
+msgstr "Licence              :"
+
+#: ../output.py:2701
+msgid "URL            :"
+msgstr "URL                  :"
+
+#: ../output.py:2703
+msgid "Source RPM     :"
+msgstr "source du RPM        :"
+
+#: ../output.py:2706
+msgid "Commit Time    :"
+msgstr "Heure de commit      :"
+
+#: ../output.py:2708
+msgid "Committer      :"
+msgstr "Committer            :"
+
+#: ../output.py:2710
+msgid "Reason         :"
+msgstr "Raison               :"
+
+#: ../output.py:2714
+msgid "From repo      :"
+msgstr "Depuis le dépôt      :"
+
+#: ../output.py:2718
+msgid "Installed by   :"
+msgstr "Installé par         :"
+
+#: ../output.py:2722
+msgid "Changed by     :"
+msgstr "Modifié par          :"
+
+#: ../output.py:2767
 msgid "installed"
 msgstr "installé"
 
-#: ../output.py:2107
+#: ../output.py:2768
 msgid "an update"
-msgstr "la mise à jour"
+msgstr "utilisé"
 
-#: ../output.py:2108
+#: ../output.py:2769
 msgid "erased"
 msgstr "effacé"
 
-#: ../output.py:2109
+#: ../output.py:2770
 msgid "reinstalled"
 msgstr "réinstallé"
 
-#: ../output.py:2110
+#: ../output.py:2771
 msgid "a downgrade"
 msgstr "une rétrogradation"
 
-#: ../output.py:2111
+#: ../output.py:2772
 msgid "obsoleting"
 msgstr "obsolète"
 
-#: ../output.py:2112
+#: ../output.py:2773
 msgid "updated"
 msgstr "mis à jour"
 
-#: ../output.py:2113
+#: ../output.py:2774
 msgid "obsoleted"
 msgstr "obsolète"
 
-#: ../output.py:2117
+#: ../output.py:2778
 #, python-format
 msgid "---> Package %s.%s %s:%s-%s will be %s"
 msgstr "---> Le paquet %s.%s %s:%s-%s sera %s"
 
-#: ../output.py:2124
+#: ../output.py:2789
 msgid "--> Running transaction check"
 msgstr "--> Lancement de la transaction de test"
 
-#: ../output.py:2129
+#: ../output.py:2795
 msgid "--> Restarting Dependency Resolution with new changes."
-msgstr ""
-"--> Redémarrage de la résolution des dépendances avec les nouveaux "
-"changements."
+msgstr "--> Redémarrage de la résolution des dépendances avec les nouveaux changements."
 
-#: ../output.py:2134
+#: ../output.py:2801
 msgid "--> Finished Dependency Resolution"
 msgstr "--> Résolution des dépendances terminée"
 
-#: ../output.py:2139 ../output.py:2144
+#: ../output.py:2814 ../output.py:2827
 #, python-format
 msgid "--> Processing Dependency: %s for package: %s"
 msgstr "--> Traitement de la dépendance : %s pour le paquet : %s"
 
-#: ../output.py:2149
+#: ../output.py:2841
 #, python-format
-msgid "---> Keeping package: %s"
-msgstr "---> Conservation du paquet : %s"
+msgid "---> Keeping package: %s due to %s"
+msgstr "---> On garde le paquet : %s à cause de %s"
 
-#: ../output.py:2152
+#: ../output.py:2850
 #, python-format
 msgid "--> Unresolved Dependency: %s"
 msgstr "--> Dépendance non résolue : %s"
 
-#: ../output.py:2163
+#: ../output.py:2867
 #, python-format
 msgid "Package: %s"
 msgstr "Paquet : %s"
 
-#: ../output.py:2165
+#: ../output.py:2869
 #, python-format
 msgid ""
 "\n"
 "    Requires: %s"
-msgstr ""
-"\n"
-"    Requiert : %s"
+msgstr "\n    Requiert : %s"
 
-#: ../output.py:2174
+#: ../output.py:2878
 #, python-format
 msgid ""
 "\n"
 "    %s: %s (%s)"
-msgstr ""
-"\n"
-"    %s : %s (%s)"
+msgstr "\n    %s : %s (%s)"
 
-#: ../output.py:2179
+#: ../output.py:2883
 #, python-format
 msgid ""
 "\n"
 "        %s"
-msgstr ""
-"\n"
-"        %s"
+msgstr "\n        %s"
 
-#: ../output.py:2181
+#: ../output.py:2885
 msgid ""
 "\n"
 "        Not found"
-msgstr ""
-"\n"
-"        Non trouvé"
+msgstr "\n        Non trouvé"
 
 #. These should be the only three things we care about:
-#: ../output.py:2196
+#: ../output.py:2900
 msgid "Updated By"
 msgstr "Mis à jour par"
 
-#: ../output.py:2197
+#: ../output.py:2901
 msgid "Downgraded By"
 msgstr "Rétrogradé par"
 
-#: ../output.py:2198
+#: ../output.py:2902
 msgid "Obsoleted By"
 msgstr "Rendu obsolète par"
 
-#: ../output.py:2216
+#: ../output.py:2920
 msgid "Available"
 msgstr "Disponible"
 
-#: ../output.py:2243 ../output.py:2248
+#: ../output.py:2955 ../output.py:2968
 #, python-format
 msgid "--> Processing Conflict: %s conflicts %s"
 msgstr "--> Traitement du conflit : %s entre en conflit avec %s"
 
-#: ../output.py:2252
+#: ../output.py:2974
 msgid "--> Populating transaction set with selected packages. Please wait."
-msgstr ""
-"--> Peuplement du jeu de transaction avec les paquets sélectionnés. Merci de"
-" patienter."
+msgstr "--> Peuplement du jeu de transaction avec les paquets sélectionnés. Merci de patienter."
 
-#: ../output.py:2256
+#: ../output.py:2983
 #, python-format
 msgid "---> Downloading header for %s to pack into transaction set."
-msgstr ""
-"--> Téléchargement de l'en-tête de %s pour l'ajouter à la transaction."
+msgstr "---> Téléchargement de l'en-tête de %s pour l'ajouter à la transaction."
+
+#. self.event(txmbr.name, count, len(base.tsInfo), count, )
+#. (te_current*100L)/te_total
+#: ../output.py:3248
+msgid "Verifying"
+msgstr "Vérification"
 
-#: ../utils.py:99
+#: ../utils.py:123
 msgid "Running"
 msgstr "Exécution"
 
-#: ../utils.py:100
+#: ../utils.py:124
 msgid "Sleeping"
 msgstr "Mise en attente"
 
-#: ../utils.py:101
+#: ../utils.py:125
 msgid "Uninterruptible"
-msgstr "Impossible d'interrompre"
+msgstr "Interruption impossible"
 
-#: ../utils.py:102
+#: ../utils.py:126
 msgid "Zombie"
 msgstr "Zombie"
 
-#: ../utils.py:103
+#: ../utils.py:127
 msgid "Traced/Stopped"
 msgstr "Tracé/Stoppé"
 
-#: ../utils.py:104 ../yumcommands.py:994
+#: ../utils.py:128 ../yumcommands.py:2193
 msgid "Unknown"
 msgstr "Inconnu"
 
-#: ../utils.py:115
+#: ../utils.py:153
 msgid "  The other application is: PackageKit"
-msgstr "  L'autre application est : PackageKit"
+msgstr "Il s'agit de PackageKit"
 
-#: ../utils.py:117
+#: ../utils.py:155
 #, python-format
 msgid "  The other application is: %s"
-msgstr "  L'autre application est : %s"
+msgstr "Il s'agit de %s"
 
-#: ../utils.py:120
+#: ../utils.py:158
 #, python-format
 msgid "    Memory : %5s RSS (%5sB VSZ)"
 msgstr "    Mémoire : %5s RSS (%5sB VSZ)"
 
-#: ../utils.py:125
+#: ../utils.py:163
 #, python-format
 msgid "    Started: %s - %s ago"
-msgstr "    Débuté : il y a %s - %s"
+msgstr "    Débuté  : %s - il y a %s"
 
-#: ../utils.py:127
+#: ../utils.py:165
 #, python-format
 msgid "    State  : %s, pid: %d"
-msgstr "    État : %s, pid : %d"
+msgstr "    État    : %s, pid : %d"
 
-#: ../utils.py:170 ../yummain.py:43
+#: ../utils.py:194 ../yummain.py:43
 msgid ""
 "\n"
 "\n"
 "Exiting on user cancel"
-msgstr ""
-"\n"
-"\n"
-"Sortie sur annulation par l'utilisateur"
+msgstr "\n\nSortie sur annulation par l'utilisateur"
 
-#: ../utils.py:176 ../yummain.py:49
+#: ../utils.py:206 ../yummain.py:49
 msgid ""
 "\n"
 "\n"
 "Exiting on Broken Pipe"
-msgstr ""
-"\n"
-"\n"
-"Sortie suite à une redirection cassée"
+msgstr "\n\nSortie suite à une redirection cassée"
 
-#: ../utils.py:178 ../yummain.py:51
+#: ../utils.py:208 ../yummain.py:51
 #, python-format
 msgid ""
 "\n"
 "\n"
 "%s"
-msgstr ""
-"\n"
-"\n"
-"%s"
+msgstr "\n\n%s"
 
-#: ../utils.py:228 ../yummain.py:123
-msgid ""
-"Another app is currently holding the yum lock; exiting as configured by "
-"exit_on_lock"
-msgstr ""
-"Une autre application verrouille actuellement l'utilisation de yum ; "
-"fermeture en cours conformément à la configuration de exit_on_lock"
-
-#: ../utils.py:287
+#: ../utils.py:326
 #, python-format
 msgid "PluginExit Error: %s"
 msgstr "Erreur de PluginExit : %s"
 
-#: ../utils.py:290
+#: ../utils.py:329
 #, python-format
 msgid "Yum Error: %s"
 msgstr "Erreur de yum : %s"
 
-#: ../utils.py:342 ../yummain.py:150 ../yummain.py:189
+#: ../utils.py:387 ../yummain.py:147 ../yummain.py:186
 #, python-format
 msgid "Error: %s"
 msgstr "Erreur : %s"
 
-#: ../utils.py:346 ../yummain.py:194
+#: ../utils.py:391 ../yummain.py:191
 msgid " You could try using --skip-broken to work around the problem"
-msgstr ""
-" Vous pouvez essayer d'utiliser --skip-broken pour contourner le problème"
+msgstr " Vous pouvez essayer d'utiliser --skip-broken pour contourner le problème"
 
-#: ../utils.py:348 ../yummain.py:87
+#: ../utils.py:393 ../yummain.py:87
 msgid " You could try running: rpm -Va --nofiles --nodigest"
 msgstr " Vous pouvez essayer d'exécuter : rpm -Va --nofiles --nodigest"
 
-#: ../utils.py:355 ../yummain.py:160 ../yummain.py:202
+#: ../utils.py:400 ../yummain.py:157 ../yummain.py:199
 #, python-format
 msgid "Unknown Error(s): Exit Code: %d:"
 msgstr "Erreur inconnue : code de sortie %d :"
 
-#: ../utils.py:361 ../yummain.py:208
+#: ../utils.py:406 ../yummain.py:205
 msgid ""
 "\n"
 "Dependencies Resolved"
-msgstr ""
-"\n"
-"Dépendances résolues"
+msgstr "\nDépendances résolues"
 
-#: ../utils.py:376 ../yummain.py:234
+#: ../utils.py:422 ../yummain.py:237
 msgid "Complete!"
 msgstr "Terminé !"
 
@@ -1535,9 +1651,9 @@ msgstr " Usage minimal :\n"
 
 #: ../yumcommands.py:52
 msgid "You need to be root to perform this command."
-msgstr "Vous devez être super-utilisateur pour lancer cette commande."
+msgstr "Vous devez être super-utilisateur pour exécuter cette commande."
 
-#: ../yumcommands.py:59
+#: ../yumcommands.py:67
 msgid ""
 "\n"
 "You have enabled checking of packages via GPG keys. This is a good thing. \n"
@@ -1552,589 +1668,650 @@ msgid ""
 "will install it for you.\n"
 "\n"
 "For more information contact your distribution or package provider.\n"
-msgstr ""
-"\n"
-"Vous avez activé la vérification des paquets via clés GPG. C'est une bonne chose. \n"
-"Cependant, vous n'avez aucune clé GPG publique installée. Vous devez télécharger\n"
-"et installer les clés pour les paquets que vous souhaitez installer..\n"
-"Vous pouvez le faire en lançant la commande :\n"
-"    rpm --import public.gpg.key\n"
-"\n"
-"\n"
-"Alternativement, vous pouvez spécifier l'URL de la clé que vous souhaitez utiliser\n"
-"pour un dépôt dans l'option 'gpgkey' dans une section du dépôt et yum\n"
-"l'installera pour vous.\n"
-"\n"
-"Pour plus de renseignements, contactez le fournisseur de paquets de votre distribution.\n"
+msgstr "\nVous avez activé la vérification des paquets via clés GPG. C'est une bonne chose. \nCependant, vous n'avez aucune clé GPG publique installée. Vous devez télécharger\net installer les clés pour les paquets que vous souhaitez installer..\nVous pouvez le faire en lançant la commande :\n    rpm --import public.gpg.key\n\n\nAlternativement, vous pouvez spécifier l'URL de la clé que vous souhaitez utiliser\npour un dépôt dans l'option 'gpgkey' dans une section du dépôt et yum\nl'installera pour vous.\n\nPour plus de renseignements, contactez le fournisseur de paquets de votre distribution.\n"
 
-#: ../yumcommands.py:74
+#: ../yumcommands.py:82
 #, python-format
 msgid "Problem repository: %s"
-msgstr ""
+msgstr "Problème avec le dépôt : %s"
 
-#: ../yumcommands.py:80
+#: ../yumcommands.py:96
 #, python-format
 msgid "Error: Need to pass a list of pkgs to %s"
 msgstr "Erreur : il faut passer une liste de paquets à %s"
 
-#: ../yumcommands.py:86
+#: ../yumcommands.py:114
+#, python-format
+msgid "Error: Need at least two packages to %s"
+msgstr ""
+
+#: ../yumcommands.py:129
+#, python-format
+msgid "Error: Need to pass a repoid. and command to %s"
+msgstr ""
+
+#: ../yumcommands.py:136 ../yumcommands.py:142
+#, python-format
+msgid "Error: Need to pass a single valid repoid. to %s"
+msgstr ""
+
+#: ../yumcommands.py:147
+#, python-format
+msgid "Error: Repo %s is not enabled"
+msgstr ""
+
+#: ../yumcommands.py:164
 msgid "Error: Need an item to match"
 msgstr "Erreur : un élément de correspondance est requis"
 
-#: ../yumcommands.py:92
+#: ../yumcommands.py:178
 msgid "Error: Need a group or list of groups"
 msgstr "Erreur : un groupe ou une liste de groupes est requise"
 
-#: ../yumcommands.py:101
+#: ../yumcommands.py:195
 #, python-format
 msgid "Error: clean requires an option: %s"
 msgstr "Erreur : clean requiert une option : %s"
 
-#: ../yumcommands.py:106
+#: ../yumcommands.py:201
 #, python-format
 msgid "Error: invalid clean argument: %r"
 msgstr "Erreur : argument invalide pour clean : %r"
 
-#: ../yumcommands.py:119
+#: ../yumcommands.py:216
 msgid "No argument to shell"
 msgstr "Pas d'options à passer au terminal"
 
-#: ../yumcommands.py:121
+#: ../yumcommands.py:218
 #, python-format
 msgid "Filename passed to shell: %s"
 msgstr "Nom de fichier passé au terminal : %s"
 
-#: ../yumcommands.py:125
+#: ../yumcommands.py:222
 #, python-format
 msgid "File %s given as argument to shell does not exist."
 msgstr "Le fichier %s passé en argument au shell n'existe pas."
 
-#: ../yumcommands.py:131
+#: ../yumcommands.py:228
 msgid "Error: more than one file given as argument to shell."
 msgstr "Erreur : plus d'un fichier passé en argument au shell."
 
-#: ../yumcommands.py:148
+#: ../yumcommands.py:247
 msgid ""
 "There are no enabled repos.\n"
 " Run \"yum repolist all\" to see the repos you have.\n"
 " You can enable repos with yum-config-manager --enable <repo>"
-msgstr ""
-"Aucun dépôt n'est activé.\n"
-" Exécutez « yum repolist all » pour consulter la liste des dépôts installés.\n"
-" Vous pouvez activer des dépôts avec la commande yum-config-manager --enable <repo>"
+msgstr "Aucun dépôt n'est activé.\n Exécutez « yum repolist all » pour consulter la liste des dépôts installés.\n Vous pouvez activer des dépôts avec la commande yum-config-manager --enable <repo>"
 
-#: ../yumcommands.py:200
+#: ../yumcommands.py:383
 msgid "PACKAGE..."
-msgstr "PAQUETAGE..."
+msgstr "PAQUETS..."
 
-#: ../yumcommands.py:203
+#: ../yumcommands.py:390
 msgid "Install a package or packages on your system"
 msgstr "Installe un ou plusieurs paquets sur votre système"
 
-#: ../yumcommands.py:212
+#: ../yumcommands.py:421
 msgid "Setting up Install Process"
 msgstr "Configuration du processus d'installation"
 
-#: ../yumcommands.py:223 ../yumcommands.py:245
+#: ../yumcommands.py:447 ../yumcommands.py:507
 msgid "[PACKAGE...]"
 msgstr "[PAQUET…]"
 
-#: ../yumcommands.py:226
+#: ../yumcommands.py:454
 msgid "Update a package or packages on your system"
 msgstr "Met à jour un ou plusieurs paquets sur votre système"
 
-#: ../yumcommands.py:234
+#: ../yumcommands.py:483
 msgid "Setting up Update Process"
 msgstr "Configuration du processus de mise à jour"
 
-#: ../yumcommands.py:248
+#: ../yumcommands.py:514
 msgid "Synchronize installed packages to the latest available versions"
-msgstr ""
-"Synchronise les paquets installés vers leurs versions les plus récentes"
+msgstr "Synchronise les paquets installés vers leurs versions les plus récentes"
 
-#: ../yumcommands.py:256
+#: ../yumcommands.py:543
 msgid "Setting up Distribution Synchronization Process"
 msgstr "Configuration du processus de synchronisation de la distribution"
 
-#: ../yumcommands.py:299
+#: ../yumcommands.py:603
 msgid "Display details about a package or group of packages"
 msgstr "Affiche les détails d'un paquet ou d'un groupe de paquets"
 
-#: ../yumcommands.py:348
+#: ../yumcommands.py:672
 msgid "Installed Packages"
 msgstr "Paquets installés"
 
-#: ../yumcommands.py:356
+#: ../yumcommands.py:682
 msgid "Available Packages"
 msgstr "Paquets disponibles"
 
-#: ../yumcommands.py:360
+#: ../yumcommands.py:687
 msgid "Extra Packages"
 msgstr "Paquets supplémentaires"
 
-#: ../yumcommands.py:364
+#: ../yumcommands.py:691
 msgid "Updated Packages"
 msgstr "Paquets mis à jour"
 
 #. This only happens in verbose mode
-#: ../yumcommands.py:372 ../yumcommands.py:379 ../yumcommands.py:667
+#: ../yumcommands.py:699 ../yumcommands.py:706 ../yumcommands.py:1539
 msgid "Obsoleting Packages"
 msgstr "Obsolescence des paquets"
 
-#: ../yumcommands.py:381
+#: ../yumcommands.py:708
 msgid "Recently Added Packages"
 msgstr "Paquets récemment ajoutés"
 
-#: ../yumcommands.py:388
+#: ../yumcommands.py:715
 msgid "No matching Packages to list"
 msgstr "Aucun paquet correspondant à lister"
 
-#: ../yumcommands.py:402
+#: ../yumcommands.py:766
 msgid "List a package or groups of packages"
 msgstr "Liste un paquet ou un groupe de paquets"
 
-#: ../yumcommands.py:414
+#: ../yumcommands.py:797
 msgid "Remove a package or packages from your system"
 msgstr "Supprime un ou plusieurs paquets de votre système"
 
-#: ../yumcommands.py:421
+#: ../yumcommands.py:845
 msgid "Setting up Remove Process"
 msgstr "Configuration du processus de suppression"
 
-#: ../yumcommands.py:435
+#: ../yumcommands.py:906
+msgid "Display, or use, the groups information"
+msgstr "Affiche ou utilise les informations des groupes"
+
+#: ../yumcommands.py:909
 msgid "Setting up Group Process"
 msgstr "Configuration du processus de gestion des groupes"
 
-#: ../yumcommands.py:441
+#: ../yumcommands.py:915
 msgid "No Groups on which to run command"
-msgstr "Aucun groupe sur lequel lancer la commande"
-
-#: ../yumcommands.py:454
-msgid "List available package groups"
-msgstr "Liste les groupes de paquets disponibles"
+msgstr "Aucun groupe sur lequel exécuter la commande"
 
-#: ../yumcommands.py:474
-msgid "Install the packages in a group on your system"
-msgstr "Installe les paquets d'un groupe sur votre système"
+#: ../yumcommands.py:985
+#, python-format
+msgid "Invalid groups sub-command, use: %s."
+msgstr "Sous-commande de groupe invalide : %s."
 
-#: ../yumcommands.py:497
-msgid "Remove the packages in a group from your system"
-msgstr "Supprime les paquets d'un groupe de votre système"
+#: ../yumcommands.py:992
+msgid "There is no installed groups file."
+msgstr "Aucun fichier de groupe n'est installé."
 
-#: ../yumcommands.py:525
-msgid "Display details about a package group"
-msgstr "Affiche des détails sur un groupe de paquets"
+#: ../yumcommands.py:994
+msgid "You don't have access to the groups DB."
+msgstr "Vous n'avez pas accès à la base de données des groupes."
 
-#: ../yumcommands.py:550
+#: ../yumcommands.py:1256
 msgid "Generate the metadata cache"
 msgstr "Génère le cache des méta données"
 
-#: ../yumcommands.py:556
+#: ../yumcommands.py:1282
 msgid "Making cache files for all metadata files."
-msgstr ""
-"Création des fichiers de cache pour tous les fichiers de méta données."
+msgstr "Création des fichiers de cache pour tous les fichiers de méta données."
 
-#: ../yumcommands.py:557
+#: ../yumcommands.py:1283
 msgid "This may take a while depending on the speed of this computer"
-msgstr ""
-"Cela peut prendre du temps en fonction de la vitesse de cet ordinateur"
+msgstr "Cela peut prendre du temps en fonction de la vitesse de cet ordinateur"
 
-#: ../yumcommands.py:578
+#: ../yumcommands.py:1312
 msgid "Metadata Cache Created"
 msgstr "Cache des méta données créé"
 
-#: ../yumcommands.py:592
+#: ../yumcommands.py:1350
 msgid "Remove cached data"
 msgstr "Supprime les données en cache"
 
-#: ../yumcommands.py:613
+#: ../yumcommands.py:1417
 msgid "Find what package provides the given value"
 msgstr "Cherche à quel paquet correspond la valeur donnée"
 
-#: ../yumcommands.py:633
+#: ../yumcommands.py:1485
 msgid "Check for available package updates"
 msgstr "Cherche les mises à jour de paquets disponibles"
 
-#: ../yumcommands.py:687
+#: ../yumcommands.py:1587
 msgid "Search package details for the given string"
 msgstr "Cherche les détails du paquet en fonction de la chaîne entrée"
 
-#: ../yumcommands.py:693
+#: ../yumcommands.py:1613
 msgid "Searching Packages: "
 msgstr "Recherche dans les paquets :"
 
-#: ../yumcommands.py:710
+#: ../yumcommands.py:1666
 msgid "Update packages taking obsoletes into account"
 msgstr "Met à jour en tenant compte des paquets obsolètes"
 
-#: ../yumcommands.py:719
+#: ../yumcommands.py:1696
 msgid "Setting up Upgrade Process"
 msgstr "Configuration du processus de mise à jour"
 
-#: ../yumcommands.py:737
+#: ../yumcommands.py:1731
 msgid "Install a local RPM"
 msgstr "Installe un RPM local"
 
-#: ../yumcommands.py:745
+#: ../yumcommands.py:1761
 msgid "Setting up Local Package Process"
 msgstr "Configuration du processus de paquets locaux"
 
-#: ../yumcommands.py:764
-msgid "Determine which package provides the given dependency"
-msgstr "Détermine quel paquet fournit une dépendance donnée"
-
-#: ../yumcommands.py:767
+#: ../yumcommands.py:1825
 msgid "Searching Packages for Dependency:"
 msgstr "Recherche dans les paquets pour la dépendance :"
 
-#: ../yumcommands.py:781
+#: ../yumcommands.py:1867
 msgid "Run an interactive yum shell"
 msgstr "Lance un shell yum interactif"
 
-#: ../yumcommands.py:787
+#: ../yumcommands.py:1893
 msgid "Setting up Yum Shell"
 msgstr "Configuration du shell Yum"
 
-#: ../yumcommands.py:805
+#: ../yumcommands.py:1936
 msgid "List a package's dependencies"
 msgstr "Liste les dépendances d'un paquet"
 
-#: ../yumcommands.py:811
+#: ../yumcommands.py:1963
 msgid "Finding dependencies: "
 msgstr "Recherche de dépendances :"
 
-#: ../yumcommands.py:827
+#: ../yumcommands.py:2005
 msgid "Display the configured software repositories"
 msgstr "Affiche les dépôts logiciels configurés"
 
-#: ../yumcommands.py:893 ../yumcommands.py:894
+#: ../yumcommands.py:2094 ../yumcommands.py:2095
 msgid "enabled"
 msgstr "activé"
 
-#: ../yumcommands.py:920 ../yumcommands.py:921
+#: ../yumcommands.py:2121 ../yumcommands.py:2122
 msgid "disabled"
 msgstr "désactivé"
 
-#: ../yumcommands.py:937
+#: ../yumcommands.py:2137
 msgid "Repo-id      : "
-msgstr "Id du dépôt      : "
+msgstr "Id du dépôt          : "
 
-#: ../yumcommands.py:938
+#: ../yumcommands.py:2138
 msgid "Repo-name    : "
-msgstr "Nom du dépôt    : "
+msgstr "Nom du dépôt         : "
 
-#: ../yumcommands.py:941
+#: ../yumcommands.py:2141
 msgid "Repo-status  : "
-msgstr "État du dépôt  : "
+msgstr "État du dépôt        : "
 
-#: ../yumcommands.py:944
+#: ../yumcommands.py:2144
 msgid "Repo-revision: "
-msgstr "Révision du dépôt :"
+msgstr "Révision du dépôt    : "
 
-#: ../yumcommands.py:948
+#: ../yumcommands.py:2148
 msgid "Repo-tags    : "
-msgstr "Tags du dépôt    :"
+msgstr "Tags du dépôt        : "
 
-#: ../yumcommands.py:954
+#: ../yumcommands.py:2154
 msgid "Repo-distro-tags: "
-msgstr "Repo-distro-tags : "
+msgstr "Repo-distro-tags     : "
 
-#: ../yumcommands.py:959
+#: ../yumcommands.py:2159
 msgid "Repo-updated : "
-msgstr "Mise à jour du dépôt :"
+msgstr "Mise à jour du dépôt : "
 
-#: ../yumcommands.py:961
+#: ../yumcommands.py:2161
 msgid "Repo-pkgs    : "
-msgstr "Paquets du dépôt    : "
+msgstr "Paquets du dépôt     : "
 
-#: ../yumcommands.py:962
+#: ../yumcommands.py:2162
 msgid "Repo-size    : "
-msgstr "Taille du dépôt    : "
+msgstr "Taille du dépôt      : "
 
-#: ../yumcommands.py:969 ../yumcommands.py:990
+#: ../yumcommands.py:2169 ../yumcommands.py:2190
 msgid "Repo-baseurl : "
-msgstr "Baseurl du dépôt : "
+msgstr "Baseurl du dépôt     : "
 
-#: ../yumcommands.py:977
+#: ../yumcommands.py:2177
 msgid "Repo-metalink: "
-msgstr "Méta-lien du dépôt :"
+msgstr "Méta-lien du dépôt   : "
 
-#: ../yumcommands.py:981
+#: ../yumcommands.py:2181
 msgid "  Updated    : "
-msgstr "  Mis à jour    : "
+msgstr "  Mis à jour         : "
 
-#: ../yumcommands.py:984
+#: ../yumcommands.py:2184
 msgid "Repo-mirrors : "
-msgstr "Miroirs du dépôt :"
+msgstr "Miroirs du dépôt     : "
 
-#: ../yumcommands.py:1000
+#: ../yumcommands.py:2199
 #, python-format
 msgid "Never (last: %s)"
 msgstr "Jamais (dernier : %s)"
 
-#: ../yumcommands.py:1002
+#: ../yumcommands.py:2201
 #, python-format
 msgid "Instant (last: %s)"
 msgstr "Instant (dernier : %s)"
 
-#: ../yumcommands.py:1005
+#: ../yumcommands.py:2204
 #, python-format
 msgid "%s second(s) (last: %s)"
 msgstr "%s secondes (en date du : %s)"
 
-#: ../yumcommands.py:1007
+#: ../yumcommands.py:2206
 msgid "Repo-expire  : "
-msgstr "Expiration du dépôt : "
+msgstr "Expiration du dépôt  : "
 
-#: ../yumcommands.py:1010
+#: ../yumcommands.py:2209
 msgid "Repo-exclude : "
-msgstr "Exclus du dépôt :"
+msgstr "Exclus du dépôt      : "
 
-#: ../yumcommands.py:1014
+#: ../yumcommands.py:2213
 msgid "Repo-include : "
-msgstr "Inclus au dépôt :"
+msgstr "Inclus au dépôt      : "
 
-#: ../yumcommands.py:1018
+#: ../yumcommands.py:2217
 msgid "Repo-excluded: "
-msgstr "Exclus du dépôt : "
+msgstr "Exclus du dépôt      : "
 
-#: ../yumcommands.py:1022
+#: ../yumcommands.py:2221
 msgid "Repo-filename: "
-msgstr ""
+msgstr "Nom du dépôt         : "
 
 #. Work out the first (id) and last (enabled/disalbed/count),
 #. then chop the middle (name)...
-#: ../yumcommands.py:1032 ../yumcommands.py:1061
+#: ../yumcommands.py:2230 ../yumcommands.py:2259
 msgid "repo id"
 msgstr "id du dépôt"
 
-#: ../yumcommands.py:1049 ../yumcommands.py:1050 ../yumcommands.py:1068
+#: ../yumcommands.py:2247 ../yumcommands.py:2248 ../yumcommands.py:2266
 msgid "status"
 msgstr "statut"
 
-#: ../yumcommands.py:1062
+#: ../yumcommands.py:2260
 msgid "repo name"
 msgstr "nom du dépôt"
 
-#: ../yumcommands.py:1099
+#: ../yumcommands.py:2332
 msgid "Display a helpful usage message"
 msgstr "Affiche un message d'aide à l'utilisation"
 
-#: ../yumcommands.py:1133
+#: ../yumcommands.py:2374
 #, python-format
 msgid "No help available for %s"
 msgstr "Aucune aide disponible pour %s"
 
-#: ../yumcommands.py:1138
+#: ../yumcommands.py:2379
 msgid ""
 "\n"
 "\n"
 "aliases: "
-msgstr ""
-"\n"
-"\n"
-"alias : "
+msgstr "\n\nalias : "
 
-#: ../yumcommands.py:1140
+#: ../yumcommands.py:2381
 msgid ""
 "\n"
 "\n"
 "alias: "
-msgstr ""
-"\n"
-"\n"
-"alias : "
+msgstr "\n\nalias : "
 
-#: ../yumcommands.py:1168
+#: ../yumcommands.py:2466
 msgid "Setting up Reinstall Process"
 msgstr "Configuration du processus de réinstallation"
 
-#: ../yumcommands.py:1176
+#: ../yumcommands.py:2478
 msgid "reinstall a package"
 msgstr "Réinstaller un paquet"
 
-#: ../yumcommands.py:1195
+#: ../yumcommands.py:2541
 msgid "Setting up Downgrade Process"
 msgstr "Configuration du processus de retour à une version antérieure"
 
-#: ../yumcommands.py:1202
+#: ../yumcommands.py:2552
 msgid "downgrade a package"
 msgstr "Restaure un paquet à une version antérieure"
 
-#: ../yumcommands.py:1216
+#: ../yumcommands.py:2591
 msgid "Display a version for the machine and/or available repos."
 msgstr "Affiche une version de la machine ou des dépôts disponibles"
 
-#: ../yumcommands.py:1255
+#: ../yumcommands.py:2643
 msgid " Yum version groups:"
 msgstr "Groupes de version de yum :"
 
-#: ../yumcommands.py:1265
+#: ../yumcommands.py:2653
 msgid " Group   :"
-msgstr "Groupe   :"
+msgstr " Groupe    :"
 
-#: ../yumcommands.py:1266
+#: ../yumcommands.py:2654
 msgid " Packages:"
-msgstr "Paquets :"
+msgstr " Paquets   :"
 
-#: ../yumcommands.py:1295
+#: ../yumcommands.py:2683
 msgid "Installed:"
-msgstr "Installés :"
+msgstr "Installés  :"
 
-#: ../yumcommands.py:1303
+#: ../yumcommands.py:2691
 msgid "Group-Installed:"
-msgstr "Groupe installé :"
+msgstr "Groupes installés :"
 
-#: ../yumcommands.py:1312
+#: ../yumcommands.py:2700
 msgid "Available:"
 msgstr "Disponible :"
 
-#: ../yumcommands.py:1321
+#: ../yumcommands.py:2709
 msgid "Group-Available:"
 msgstr "Groupes disponibles :"
 
-#: ../yumcommands.py:1360
+#: ../yumcommands.py:2783
 msgid "Display, or use, the transaction history"
 msgstr "Affiche ou utilise l'historique de transaction"
 
-#: ../yumcommands.py:1432
+#: ../yumcommands.py:2876 ../yumcommands.py:2880
+msgid "Transactions:"
+msgstr "Transactions :"
+
+#: ../yumcommands.py:2881
+msgid "Begin time  :"
+msgstr "Début  :"
+
+#: ../yumcommands.py:2882
+msgid "End time    :"
+msgstr "Fin    :"
+
+#: ../yumcommands.py:2883
+msgid "Counts      :"
+msgstr "Nombre :"
+
+#: ../yumcommands.py:2884
+msgid "  NEVRAC :"
+msgstr "  NEVRAC :"
+
+#: ../yumcommands.py:2885
+msgid "  NEVRA  :"
+msgstr "  NEVRA  :"
+
+#: ../yumcommands.py:2886
+msgid "  NA     :"
+msgstr "  NA     :"
+
+#: ../yumcommands.py:2887
+msgid "  NEVR   :"
+msgstr "  NEVR   :"
+
+#: ../yumcommands.py:2888
+msgid "  rpm DB :"
+msgstr "  rpm DB :"
+
+#: ../yumcommands.py:2889
+msgid "  yum DB :"
+msgstr "  yum DB :"
+
+#: ../yumcommands.py:2922
 #, python-format
 msgid "Invalid history sub-command, use: %s."
 msgstr "Sous-commande de l'historique invalide, utilisez : %s."
 
-#: ../yumcommands.py:1439
+#: ../yumcommands.py:2929
 msgid "You don't have access to the history DB."
 msgstr "Vous n'avez pas accès à la base de données de l'historique."
 
-#: ../yumcommands.py:1487
+#: ../yumcommands.py:3036
 msgid "Check for problems in the rpmdb"
 msgstr "Recherche des problèmes dans RPMDB"
 
-#: ../yumcommands.py:1514
+#: ../yumcommands.py:3102
 msgid "load a saved transaction from filename"
 msgstr "charge une transaction sauvegardée à partir d'un nom de fichier"
 
-#: ../yumcommands.py:1518
+#: ../yumcommands.py:3119
 msgid "No saved transaction file specified."
 msgstr "Aucun fichier de sauvegarde de transaction spécifié."
 
-#: ../yumcommands.py:1522
+#: ../yumcommands.py:3123
 #, python-format
 msgid "loading transaction from %s"
 msgstr "Chargement de la transaction à partir de %s"
 
-#: ../yumcommands.py:1528
+#: ../yumcommands.py:3129
 #, python-format
 msgid "Transaction loaded from %s with %s members"
 msgstr "Transaction chargée à partir de %s avec %s membres"
 
+#: ../yumcommands.py:3169
+msgid "Simple way to swap packages, isntead of using shell"
+msgstr ""
+
+#: ../yumcommands.py:3264
+msgid ""
+"Treat a repo. as a group of packages, so we can install/remove all of them"
+msgstr ""
+
+#: ../yumcommands.py:3341
+#, python-format
+msgid "%d package to update"
+msgid_plural "%d packages to update"
+msgstr[0] "%d paquet à mettre à jour"
+msgstr[1] "%d paquets à mettre à jour"
+
+#: ../yumcommands.py:3370
+#, python-format
+msgid "%d package to remove/reinstall"
+msgid_plural "%d packages to remove/reinstall"
+msgstr[0] "%d paquet à supprimer ou réinstaller"
+msgstr[1] "%d paquets à supprimer ou réinstaller"
+
+#: ../yumcommands.py:3413
+#, python-format
+msgid "%d package to remove/sync"
+msgid_plural "%d packages to remove/sync"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../yumcommands.py:3417
+#, python-format
+msgid "Not a valid sub-command of %s"
+msgstr ""
+
 #. This is mainly for PackageSackError from rpmdb.
 #: ../yummain.py:84
 #, python-format
 msgid " Yum checks failed: %s"
 msgstr " Échec du vérificateur de Yum : %s"
 
-#: ../yummain.py:114
-msgid ""
-"Another app is currently holding the yum lock; waiting for it to exit..."
-msgstr ""
-"Une autre application verrouille actuellement l'utilisation de yum ; attente"
-" de déverrouillage..."
+#: ../yummain.py:98
+msgid "No read/execute access in current directory, moving to /"
+msgstr "Pas d'accès en lecture/écriture sur le répertoire courant, on se déblace dans /"
 
-#: ../yummain.py:120
-msgid "Can't create lock file; exiting"
-msgstr "Impossible de créer le fichier verrou, arrêt"
+#: ../yummain.py:106
+msgid "No getcwd() access in current directory, moving to /"
+msgstr "getcwd() n'est pas accessible dans ce répertoire, on se déplace dans /"
 
 #. Depsolve stage
-#: ../yummain.py:167
+#: ../yummain.py:164
 msgid "Resolving Dependencies"
 msgstr "Résolution des dépendances"
 
-#: ../yummain.py:230
+#: ../yummain.py:227 ../yummain.py:235
 #, python-format
-msgid "Your transaction was saved, rerun it with: yum load-transaction %s"
-msgstr ""
-"Votre transaction a été sauvegardée, relancez-là avec : yum load-transaction"
-" %s"
+msgid ""
+"Your transaction was saved, rerun it with:\n"
+" yum load-transaction %s"
+msgstr "Votre transaction a été enregistrée, relancez-la avec :\n yum load-transaction %s"
 
-#: ../yummain.py:288
+#: ../yummain.py:312
 msgid ""
 "\n"
 "\n"
 "Exiting on user cancel."
-msgstr ""
-"\n"
-"\n"
-"Sortie sur annulation par l'utilisateur."
+msgstr "\n\nSortie sur annulation par l'utilisateur."
 
-#: ../yum/depsolve.py:84
+#: ../yum/depsolve.py:127
 msgid "doTsSetup() will go away in a future version of Yum.\n"
 msgstr "doTsSetup() sera supprimé dans une future version de Yum.\n"
 
-#: ../yum/depsolve.py:99
+#: ../yum/depsolve.py:143
 msgid "Setting up TransactionSets before config class is up"
 msgstr "Mise en place de l'ensemble des transactions avant configuration"
 
-#: ../yum/depsolve.py:153
+#: ../yum/depsolve.py:200
 #, python-format
 msgid "Invalid tsflag in config file: %s"
 msgstr "tsflag invalide dans le fichier de configuration : %s"
 
-#: ../yum/depsolve.py:164
+#: ../yum/depsolve.py:218
 #, python-format
 msgid "Searching pkgSack for dep: %s"
 msgstr "Recherche dans le regroupement pour la dépendance : %s"
 
-#: ../yum/depsolve.py:207
+#: ../yum/depsolve.py:269
 #, python-format
 msgid "Member: %s"
 msgstr "Membre : %s"
 
-#: ../yum/depsolve.py:221 ../yum/depsolve.py:793
+#: ../yum/depsolve.py:283 ../yum/depsolve.py:937
 #, python-format
 msgid "%s converted to install"
 msgstr "%s converti pour installation"
 
-#: ../yum/depsolve.py:233
+#: ../yum/depsolve.py:295
 #, python-format
 msgid "Adding Package %s in mode %s"
 msgstr "Ajout du paquet %s en mode %s"
 
-#: ../yum/depsolve.py:249
+#: ../yum/depsolve.py:311
 #, python-format
 msgid "Removing Package %s"
 msgstr "Suppression du paquet %s"
 
-#: ../yum/depsolve.py:271
+#: ../yum/depsolve.py:333
 #, python-format
 msgid "%s requires: %s"
 msgstr "%s requiert : %s"
 
-#: ../yum/depsolve.py:312
+#: ../yum/depsolve.py:374
 #, python-format
 msgid "%s requires %s"
 msgstr "%s requiert %s"
 
-#: ../yum/depsolve.py:339
+#: ../yum/depsolve.py:401
 msgid "Needed Require has already been looked up, cheating"
 msgstr "Le prérequis a déjà été trouvé, on triche"
 
-#: ../yum/depsolve.py:349
+#: ../yum/depsolve.py:411
 #, python-format
 msgid "Needed Require is not a package name. Looking up: %s"
 msgstr "Le prérequis n'est pas un nom de paquet. Recherche de : %s "
 
-#: ../yum/depsolve.py:357
+#: ../yum/depsolve.py:419
 #, python-format
 msgid "Potential Provider: %s"
 msgstr "Fournisseur potentiel : %s"
 
-#: ../yum/depsolve.py:380
+#: ../yum/depsolve.py:442
 #, python-format
 msgid "Mode is %s for provider of %s: %s"
 msgstr "Le mode est %s pour le fournisseur de %s : %s"
 
-#: ../yum/depsolve.py:384
+#: ../yum/depsolve.py:446
 #, python-format
 msgid "Mode for pkg providing %s: %s"
 msgstr "Mode pour le paquet qui fournit %s : %s"
@@ -2142,1067 +2319,1140 @@ msgstr "Mode pour le paquet qui fournit %s : %s"
 #. the thing it needs is being updated or obsoleted away
 #. try to update the requiring package in hopes that all this problem goes
 #. away :(
-#: ../yum/depsolve.py:389 ../yum/depsolve.py:406
+#: ../yum/depsolve.py:451 ../yum/depsolve.py:486
 #, python-format
 msgid "Trying to update %s to resolve dep"
 msgstr "Éssai de mise à jour de %s pour résoudre les dépendances"
 
-#: ../yum/depsolve.py:400 ../yum/depsolve.py:410
+#: ../yum/depsolve.py:480
 #, python-format
 msgid "No update paths found for %s. Failure!"
 msgstr "Pas de chemin de mise à jour pour %s. Échec !"
 
-#: ../yum/depsolve.py:416
+#: ../yum/depsolve.py:491
+#, python-format
+msgid "No update paths found for %s. Failure due to requirement: %s!"
+msgstr ""
+
+#: ../yum/depsolve.py:507
+#, python-format
+msgid "Update for %s. Doesn't fix requirement: %s!"
+msgstr ""
+
+#: ../yum/depsolve.py:514
 #, python-format
 msgid "TSINFO: %s package requiring %s marked as erase"
 msgstr "TSINFO : le paquet %s requiert la suppression de %s"
 
-#: ../yum/depsolve.py:429
+#: ../yum/depsolve.py:527
 #, python-format
 msgid "TSINFO: Obsoleting %s with %s to resolve dep."
-msgstr "TSINFO : Obsolescence de %s avec %s pour résoudre les dépendances."
+msgstr "TSINFO : obsolescence de %s avec %s pour résoudre les dépendances."
 
-#: ../yum/depsolve.py:432
+#: ../yum/depsolve.py:530
 #, python-format
 msgid "TSINFO: Updating %s to resolve dep."
-msgstr "TSINFO : Mise à jour de %s pour la résolution des dépendances."
+msgstr "TSINFO : mise à jour de %s pour la résolution des dépendances."
 
-#: ../yum/depsolve.py:440
+#: ../yum/depsolve.py:538
 #, python-format
 msgid "Cannot find an update path for dep for: %s"
-msgstr ""
-"Impossible de trouver un chemin de mise à jour pour la dépendance de : %s"
+msgstr "Impossible de trouver un chemin de mise à jour pour la dépendance de : %s"
 
-#: ../yum/depsolve.py:471
+#: ../yum/depsolve.py:569
 #, python-format
 msgid "Quick matched %s to require for %s"
 msgstr "Correspondance %s trouvée pour %s "
 
 #. is it already installed?
-#: ../yum/depsolve.py:513
+#: ../yum/depsolve.py:611
 #, python-format
 msgid "%s is in providing packages but it is already installed, removing."
 msgstr "%s est dans les paquets fournis mais est déjà installé, suppression."
 
-#: ../yum/depsolve.py:529
+#: ../yum/depsolve.py:627
 #, python-format
 msgid "Potential resolving package %s has newer instance in ts."
-msgstr ""
-"ts contient une version plus récente du paquet %s susceptible de résoudre la"
-" dépendance."
+msgstr "ts contient une version plus récente du paquet %s susceptible de résoudre la dépendance."
 
-#: ../yum/depsolve.py:540
+#: ../yum/depsolve.py:638
 #, python-format
 msgid "Potential resolving package %s has newer instance installed."
-msgstr ""
-"Le paquet susceptible de résoudre la dépedence %s est déjà installé dans une"
-" version plus récente."
+msgstr "Le paquet susceptible de résoudre la dépedence %s est déjà installé dans une version plus récente."
 
-#: ../yum/depsolve.py:558
+#: ../yum/depsolve.py:656
 #, python-format
 msgid "%s already in ts, skipping this one"
 msgstr "%s déjà dans ts, omission de celui-ci"
 
-#: ../yum/depsolve.py:607
+#: ../yum/depsolve.py:705
 #, python-format
 msgid "TSINFO: Marking %s as update for %s"
-msgstr "TSINFO : Sélection de %s pour mise à jour de %s"
+msgstr "TSINFO : sélection de %s pour mise à jour de %s"
 
-#: ../yum/depsolve.py:616
+#: ../yum/depsolve.py:714
 #, python-format
 msgid "TSINFO: Marking %s as install for %s"
-msgstr "TSINFO : Sélection de %s pour installation de %s"
+msgstr "TSINFO : sélection de %s pour installation de %s"
 
-#: ../yum/depsolve.py:727 ../yum/depsolve.py:819
+#: ../yum/depsolve.py:849 ../yum/depsolve.py:967
 msgid "Success - empty transaction"
 msgstr "Succès - transaction vide"
 
-#: ../yum/depsolve.py:767 ../yum/depsolve.py:783
+#: ../yum/depsolve.py:889 ../yum/depsolve.py:927
 msgid "Restarting Loop"
 msgstr "Re-démarrage de la boucle"
 
-#: ../yum/depsolve.py:799
+#: ../yum/depsolve.py:947
 msgid "Dependency Process ending"
 msgstr "Finalisation du processus de dépendance"
 
-#: ../yum/depsolve.py:821
+#: ../yum/depsolve.py:969
 msgid "Success - deps resolved"
 msgstr "Succès - dépendances résolues"
 
-#: ../yum/depsolve.py:845
+#: ../yum/depsolve.py:993
 #, python-format
 msgid "Checking deps for %s"
 msgstr "Recherche des dépendances pour %s"
 
-#: ../yum/depsolve.py:931
+#: ../yum/depsolve.py:1082
 #, python-format
 msgid "looking for %s as a requirement of %s"
 msgstr "recherche de %s comme prérequis de %s"
 
-#: ../yum/depsolve.py:1169
+#: ../yum/depsolve.py:1349
 #, python-format
 msgid "Running compare_providers() for %s"
 msgstr "Lancement de compare_providers() pour %s"
 
-#: ../yum/depsolve.py:1196 ../yum/depsolve.py:1202
+#: ../yum/depsolve.py:1376 ../yum/depsolve.py:1382
 #, python-format
 msgid "better arch in po %s"
 msgstr "meilleure architecture dans l'objet paquet %s"
 
-#: ../yum/depsolve.py:1298
+#: ../yum/depsolve.py:1496
 #, python-format
 msgid "%s obsoletes %s"
 msgstr "%s rend obsolète %s"
 
-#: ../yum/depsolve.py:1310
+#: ../yum/depsolve.py:1508
 #, python-format
 msgid ""
 "archdist compared %s to %s on %s\n"
 "  Winner: %s"
-msgstr ""
-"architecture %s comparée à %s sur %s\n"
-"  Gagnant : %s"
+msgstr "architecture %s comparée à %s sur %s\n  Vainqueur : %s"
 
-#: ../yum/depsolve.py:1318
+#: ../yum/depsolve.py:1516
 #, python-format
 msgid "common sourcerpm %s and %s"
 msgstr "rpm source commun pour %s et %s"
 
-#: ../yum/depsolve.py:1322
+#: ../yum/depsolve.py:1520
 #, python-format
 msgid "base package %s is installed for %s"
 msgstr "le paquet de base %s est installé pour %s"
 
-#: ../yum/depsolve.py:1328
+#: ../yum/depsolve.py:1526
 #, python-format
 msgid "common prefix of %s between %s and %s"
 msgstr "préfixe commun %s entre %s et %s"
 
-#: ../yum/depsolve.py:1359
+#: ../yum/depsolve.py:1543
 #, python-format
-msgid "requires minimal: %d"
-msgstr "requiert au minimum : %d"
+msgid "provides vercmp: %s"
+msgstr "fournit vercmp : %s"
 
-#: ../yum/depsolve.py:1363
+#: ../yum/depsolve.py:1547 ../yum/depsolve.py:1581
 #, python-format
 msgid " Winner: %s"
 msgstr " Vainqueur : %s"
 
-#: ../yum/depsolve.py:1368
+#: ../yum/depsolve.py:1577
+#, python-format
+msgid "requires minimal: %d"
+msgstr "requiert au minimum : %d"
+
+#: ../yum/depsolve.py:1586
 #, python-format
 msgid " Loser(with %d): %s"
 msgstr " Perdant (avec %d) : %s"
 
-#: ../yum/depsolve.py:1384
+#: ../yum/depsolve.py:1602
 #, python-format
 msgid "Best Order: %s"
 msgstr "Meilleur ordre : %s"
 
-#: ../yum/__init__.py:234
+#: ../yum/__init__.py:274
 msgid "doConfigSetup() will go away in a future version of Yum.\n"
 msgstr "doConfigSetup() sera supprimé dans une future version de Yum.\n"
 
-#: ../yum/__init__.py:482
+#: ../yum/__init__.py:553
+#, python-format
+msgid "Skipping unreadable repository %s"
+msgstr ""
+
+#: ../yum/__init__.py:572
 #, python-format
 msgid "Repository %r: Error parsing config: %s"
 msgstr "Dépôt %r : erreur lors de l'analyse de la configuration : %s"
 
-#: ../yum/__init__.py:488
+#: ../yum/__init__.py:578
 #, python-format
 msgid "Repository %r is missing name in configuration, using id"
-msgstr ""
-"Il manque le nom du dépôt %r dans la configuration, utilisation de "
-"l'identifiant"
+msgstr "Il manque le nom du dépôt %r dans la configuration, utilisation de l'identifiant"
 
-#: ../yum/__init__.py:526
+#: ../yum/__init__.py:618
 msgid "plugins already initialised"
 msgstr "modules complémentaires déjà initialisés"
 
-#: ../yum/__init__.py:533
+#: ../yum/__init__.py:627
 msgid "doRpmDBSetup() will go away in a future version of Yum.\n"
 msgstr "doRpmDBSetup() sera supprimé dans une future version de Yum.\n"
 
-#: ../yum/__init__.py:544
+#: ../yum/__init__.py:638
 msgid "Reading Local RPMDB"
 msgstr "Lecture de la base de données RPM locale"
 
-#: ../yum/__init__.py:567
+#: ../yum/__init__.py:668
 msgid "doRepoSetup() will go away in a future version of Yum.\n"
 msgstr "doRepoSetup() sera supprimé dans une future version de Yum.\n"
 
-#: ../yum/__init__.py:630
+#: ../yum/__init__.py:722
 msgid "doSackSetup() will go away in a future version of Yum.\n"
 msgstr "doSackSetup() sera supprimé dans une future version de Yum.\n"
 
-#: ../yum/__init__.py:660
+#: ../yum/__init__.py:752
 msgid "Setting up Package Sacks"
 msgstr "Configuration du groupe de paquets"
 
-#: ../yum/__init__.py:705
+#: ../yum/__init__.py:797
 #, python-format
 msgid "repo object for repo %s lacks a _resetSack method\n"
 msgstr "une méthode _resetSack est manquante pour l'objet dépôt du dépôt %s\n"
 
-#: ../yum/__init__.py:706
+#: ../yum/__init__.py:798
 msgid "therefore this repo cannot be reset.\n"
 msgstr "en conséquence ce dépôt ne peut être réinitialisé.\n"
 
-#: ../yum/__init__.py:711
+#: ../yum/__init__.py:806
 msgid "doUpdateSetup() will go away in a future version of Yum.\n"
 msgstr "doUpdateSetup() sera supprimé dans une future version de Yum.\n"
 
-#: ../yum/__init__.py:723
+#: ../yum/__init__.py:818
 msgid "Building updates object"
 msgstr "Construction de l'objet de mises à jour"
 
-#: ../yum/__init__.py:765
+#: ../yum/__init__.py:862
 msgid "doGroupSetup() will go away in a future version of Yum.\n"
 msgstr "doGroupSetup() sera supprimé dans une future version de Yum.\n"
 
-#: ../yum/__init__.py:790
+#: ../yum/__init__.py:887
 msgid "Getting group metadata"
 msgstr "Obtention des méta données du groupe"
 
-#: ../yum/__init__.py:816
+#: ../yum/__init__.py:915
 #, python-format
 msgid "Adding group file from repository: %s"
 msgstr "Ajout du ficher de groupes depuis le dépôt : %s"
 
-#: ../yum/__init__.py:827
+#: ../yum/__init__.py:918
+#, python-format
+msgid "Failed to retrieve group file for repository: %s"
+msgstr ""
+
+#: ../yum/__init__.py:924
 #, python-format
 msgid "Failed to add groups file for repository: %s - %s"
 msgstr "Échec d'ajout du fichier de groupes pour le dépôt : %s - %s"
 
-#: ../yum/__init__.py:833
+#: ../yum/__init__.py:930
 msgid "No Groups Available in any repository"
 msgstr "Aucun groupe disponible dans les dépôts"
 
-#: ../yum/__init__.py:845
+#: ../yum/__init__.py:945
 msgid "Getting pkgtags metadata"
 msgstr "Obtention des méta-données de pkgtags"
 
-#: ../yum/__init__.py:855
+#: ../yum/__init__.py:955
 #, python-format
 msgid "Adding tags from repository: %s"
 msgstr "Ajout des tags depuis le dépôt : %s"
 
-#: ../yum/__init__.py:866
+#: ../yum/__init__.py:966
 #, python-format
 msgid "Failed to add Pkg Tags for repository: %s - %s"
 msgstr "Échec d'ajout des tags du paquet pour le dépôt : %s - %s"
 
-#: ../yum/__init__.py:944
+#: ../yum/__init__.py:1059
 msgid "Importing additional filelist information"
 msgstr "Import d'informations additionnelles sur la liste de fichiers"
 
-#: ../yum/__init__.py:958
+#: ../yum/__init__.py:1077
 #, python-format
 msgid "The program %s%s%s is found in the yum-utils package."
 msgstr "Le programme %s%s%s est présent dans le paquet yum-utils."
 
-#: ../yum/__init__.py:966
+#: ../yum/__init__.py:1094
 msgid ""
 "There are unfinished transactions remaining. You might consider running yum-"
 "complete-transaction first to finish them."
-msgstr ""
-"Il reste des transactions non terminées. Vous devriez envisager de lancer de"
-" yum-complete-transaction pour les terminer."
+msgstr "Il reste des transactions non terminées. Vous devriez envisager d'exécuter yum-complete-transaction pour les terminer."
 
-#: ../yum/__init__.py:983
+#: ../yum/__init__.py:1111
 msgid "--> Finding unneeded leftover dependencies"
 msgstr "--> Recherche de dépendances inutiles"
 
-#: ../yum/__init__.py:1041
+#: ../yum/__init__.py:1169
 #, python-format
 msgid "Protected multilib versions: %s != %s"
+msgstr "protection contre les différentes versions de bibliothèques : %s != %s"
+
+#. People are confused about protected mutilib ... so give
+#. them a nicer message.
+#: ../yum/__init__.py:1173
+#, python-format
+msgid ""
+" Multilib version problems found. This often means that the root\n"
+"cause is something else and multilib version checking is just\n"
+"pointing out that there is a problem. Eg.:\n"
+"\n"
+"  1. You have an upgrade for %(name)s which is missing some\n"
+"     dependency that another package requires. Yum is trying to\n"
+"     solve this by installing an older version of %(name)s of the\n"
+"     different architecture. If you exclude the bad architecture\n"
+"     yum will tell you what the root cause is (which package\n"
+"     requires what). You can try redoing the upgrade with\n"
+"     --exclude %(name)s.otherarch ... this should give you an error\n"
+"     message showing the root cause of the problem.\n"
+"\n"
+"  2. You have multiple architectures of %(name)s installed, but\n"
+"     yum can only see an upgrade for one of those arcitectures.\n"
+"     If you don't want/need both architectures anymore then you\n"
+"     can remove the one with the missing update and everything\n"
+"     will work.\n"
+"\n"
+"  3. You have duplicate versions of %(name)s installed already.\n"
+"     You can use \"yum check\" to get yum show these errors.\n"
+"\n"
+"...you can also use --setopt=protected_multilib=false to remove\n"
+"this checking, however this is almost never the correct thing to\n"
+"do as something else is very likely to go wrong (often causing\n"
+"much more problems).\n"
+"\n"
 msgstr ""
-"protection contre les différentes versions de bibliothèques : %s != %s"
 
-#: ../yum/__init__.py:1096
+#: ../yum/__init__.py:1257
 #, python-format
 msgid "Trying to remove \"%s\", which is protected"
 msgstr "Tentative de retrait de « %s », qui est protégé"
 
-#: ../yum/__init__.py:1217
+#: ../yum/__init__.py:1378
 msgid ""
 "\n"
 "Packages skipped because of dependency problems:"
-msgstr ""
-"\n"
-"Paquets omis en raison de problèmes de dépendances :"
+msgstr "\nPaquets omis en raison de problèmes de dépendances :"
 
-#: ../yum/__init__.py:1221
+#: ../yum/__init__.py:1382
 #, python-format
 msgid "    %s from %s"
 msgstr "    %s depuis %s"
 
 #. FIXME: _N()
-#: ../yum/__init__.py:1391
+#: ../yum/__init__.py:1556
 #, python-format
 msgid "** Found %d pre-existing rpmdb problem(s), 'yum check' output follows:"
-msgstr ""
-"** %d problèmes RPMDB préexistants trouvés, la sortie de « yum check » est "
-"la suivante :"
+msgstr "** %d problèmes RPMDB préexistants trouvés, la sortie de « yum check » est la suivante :"
 
-#: ../yum/__init__.py:1395
+#: ../yum/__init__.py:1560
 msgid "Warning: RPMDB altered outside of yum."
-msgstr ""
-"Avertissement : RPMDB a été modifiée par une autre application que yum."
+msgstr "Avertissement : RPMDB a été modifiée par une autre application que yum."
 
-#: ../yum/__init__.py:1407
+#: ../yum/__init__.py:1572
 msgid "missing requires"
 msgstr "dépendances manquantes"
 
-#: ../yum/__init__.py:1408
+#: ../yum/__init__.py:1573
 msgid "installed conflict"
 msgstr "conflit installé"
 
-#: ../yum/__init__.py:1525
+#: ../yum/__init__.py:1709
 msgid ""
 "Warning: scriptlet or other non-fatal errors occurred during transaction."
-msgstr ""
-"Attention : scriptlet ou autres erreurs non fatales pendant la transaction."
+msgstr "Attention : scriptlet ou autres erreurs non fatales apparues pendant la transaction."
 
-#: ../yum/__init__.py:1535
+#: ../yum/__init__.py:1719
 msgid "Transaction couldn't start:"
 msgstr "La transaction n'a pas pu démarrer :"
 
 #. should this be 'to_unicoded'?
-#: ../yum/__init__.py:1538
+#: ../yum/__init__.py:1722
 msgid "Could not run transaction."
 msgstr "Impossible d'exécuter la transaction."
 
-#: ../yum/__init__.py:1552
+#: ../yum/__init__.py:1736
 #, python-format
 msgid "Failed to remove transaction file %s"
 msgstr "Échec de la suppression du fichier de transaction %s"
 
 #. maybe a file log here, too
 #. but raising an exception is not going to do any good
-#: ../yum/__init__.py:1590
+#: ../yum/__init__.py:1792
 #, python-format
 msgid "%s was supposed to be installed but is not!"
 msgstr "%s est censé être installé, mais ne l'est pas !"
 
 #. maybe a file log here, too
 #. but raising an exception is not going to do any good
-#: ../yum/__init__.py:1651
+#. Note: This actually triggers atm. because we can't
+#. always find the erased txmbr to set it when
+#. we should.
+#: ../yum/__init__.py:1869
 #, python-format
 msgid "%s was supposed to be removed but is not!"
 msgstr "%s est censé être supprimé, mais ne l'est pas !"
 
-#: ../yum/__init__.py:1768
-#, python-format
-msgid "Could not open lock %s: %s"
-msgstr "Impossible de libérer le verrou %s : %s"
-
-#. Whoa. What the heck happened?
-#: ../yum/__init__.py:1785
-#, python-format
-msgid "Unable to check if PID %s is active"
-msgstr "Impossible de vérifier si le PID %s est actif"
-
 #. Another copy seems to be running.
-#: ../yum/__init__.py:1789
+#: ../yum/__init__.py:2004
 #, python-format
 msgid "Existing lock %s: another copy is running as pid %s."
 msgstr "Verrou %s existant : une autre copie est lancée avec le pid %s."
 
 #. Whoa. What the heck happened?
-#: ../yum/__init__.py:1830
+#: ../yum/__init__.py:2053
 #, python-format
 msgid "Could not create lock at %s: %s "
 msgstr "Impossible de créer le verrou sur %s : %s"
 
-#: ../yum/__init__.py:1875
+#: ../yum/__init__.py:2065
+#, python-format
+msgid "Could not open lock %s: %s"
+msgstr "Impossible de libérer le verrou %s : %s"
+
+#. The pid doesn't exist
+#. Whoa. What the heck happened?
+#: ../yum/__init__.py:2082
+#, python-format
+msgid "Unable to check if PID %s is active"
+msgstr "Impossible de vérifier si le PID %s est actif"
+
+#: ../yum/__init__.py:2132
 #, python-format
 msgid ""
 "Package does not match intended download. Suggestion: run yum "
 "--enablerepo=%s clean metadata"
-msgstr ""
-"Le paquet ne correspond pas au téléchargement attendu. Suggestion : exécutez"
-" yum --enablerepo=%s clean metadata"
+msgstr "Le paquet ne correspond pas au téléchargement attendu. Suggestion : exécutez yum --enablerepo=%s clean metadata"
 
-#: ../yum/__init__.py:1891
+#: ../yum/__init__.py:2155
 msgid "Could not perform checksum"
 msgstr "Ne peut procéder à la vérification des sommes de contrôle"
 
-#: ../yum/__init__.py:1894
+#: ../yum/__init__.py:2158
 msgid "Package does not match checksum"
 msgstr "Le paquet ne correspond pas à sa somme de contrôle"
 
-#: ../yum/__init__.py:1946
+#: ../yum/__init__.py:2222
 #, python-format
 msgid "package fails checksum but caching is enabled for %s"
-msgstr ""
-"Le paquet ne correspond pas à la somme de contrôle mais le cache est activé "
-"pour %s"
+msgstr "Le paquet ne correspond pas à la somme de contrôle mais le cache est activé pour %s"
 
-#: ../yum/__init__.py:1949 ../yum/__init__.py:1979
+#: ../yum/__init__.py:2225 ../yum/__init__.py:2268
 #, python-format
 msgid "using local copy of %s"
 msgstr "utilisation de la copie locale de %s"
 
-#: ../yum/__init__.py:1991
-#, python-format
-msgid ""
-"Insufficient space in download directory %s\n"
-"    * free   %s\n"
-"    * needed %s"
+#. caller handles errors
+#: ../yum/__init__.py:2342
+msgid "exiting because --downloadonly specified"
 msgstr ""
-"Espace disque insuffisant dans le dossier de téléchargement %s\n"
-"    * libre   %s\n"
-"    * nécessaire %s"
 
-#: ../yum/__init__.py:2052
+#: ../yum/__init__.py:2371
 msgid "Header is not complete."
 msgstr "L'en-tête est incomplet."
 
-#: ../yum/__init__.py:2089
+#: ../yum/__init__.py:2411
 #, python-format
 msgid ""
 "Header not in local cache and caching-only mode enabled. Cannot download %s"
-msgstr ""
-"L'en-tête n'est pas dans le cache et le mode cache uniquement est activé. "
-"Impossible de télécharger %s"
+msgstr "L'en-tête n'est pas dans le cache et le mode cache uniquement est activé. Impossible de télécharger %s"
 
-#: ../yum/__init__.py:2147
+#: ../yum/__init__.py:2471
 #, python-format
 msgid "Public key for %s is not installed"
 msgstr "La clé publique pour %s n'est pas installée"
 
-#: ../yum/__init__.py:2151
+#: ../yum/__init__.py:2475
 #, python-format
 msgid "Problem opening package %s"
 msgstr "Problème à l'ouverture du paquet %s"
 
-#: ../yum/__init__.py:2159
+#: ../yum/__init__.py:2483
 #, python-format
 msgid "Public key for %s is not trusted"
 msgstr "La clé publique pour %s n'est pas de confiance"
 
-#: ../yum/__init__.py:2163
+#: ../yum/__init__.py:2487
 #, python-format
 msgid "Package %s is not signed"
 msgstr "Le paquet %s n'est pas signé"
 
-#: ../yum/__init__.py:2202
+#: ../yum/__init__.py:2529
 #, python-format
 msgid "Cannot remove %s"
 msgstr "Impossible de supprimer %s"
 
-#: ../yum/__init__.py:2206
+#: ../yum/__init__.py:2533
 #, python-format
 msgid "%s removed"
 msgstr "%s supprimé"
 
-#: ../yum/__init__.py:2252
+#: ../yum/__init__.py:2594
 #, python-format
 msgid "Cannot remove %s file %s"
 msgstr "Impossible de supprimer depuis %s le fichier %s"
 
-#: ../yum/__init__.py:2256
+#: ../yum/__init__.py:2598
 #, python-format
 msgid "%s file %s removed"
 msgstr "fichier de %s : %s supprimé"
 
-#: ../yum/__init__.py:2258
+#: ../yum/__init__.py:2600
 #, python-format
-msgid "%d %s files removed"
-msgstr "%d fichiers de %s supprimés"
+msgid "%d %s file removed"
+msgid_plural "%d %s files removed"
+msgstr[0] "%d %s fichier supprimé"
+msgstr[1] "%d %s fichiers supprimés"
 
-#: ../yum/__init__.py:2327
+#: ../yum/__init__.py:2712
 #, python-format
 msgid "More than one identical match in sack for %s"
 msgstr "Plus d'une correspondance identique dans le regroupement pour %s"
 
-#: ../yum/__init__.py:2333
+#: ../yum/__init__.py:2718
 #, python-format
 msgid "Nothing matches %s.%s %s:%s-%s from update"
 msgstr "Rien ne correspond à %s.%s %s:%s-%s dans la mise à jour"
 
-#: ../yum/__init__.py:2632
+#: ../yum/__init__.py:3096
 msgid ""
 "searchPackages() will go away in a future version of Yum."
 "                      Use searchGenerator() instead. \n"
-msgstr ""
-"searchPackages() sera supprimé dans une future version de Yum."
-"                      Utilisez searchGenerator() à la place. \n"
+msgstr "searchPackages() sera supprimé dans une future version de Yum.                      Utilisez searchGenerator() à la place. \n"
 
-#: ../yum/__init__.py:2675
+#: ../yum/__init__.py:3149
 #, python-format
-msgid "Searching %d packages"
-msgstr "Recherche de %d paquets"
+msgid "Searching %d package"
+msgid_plural "Searching %d packages"
+msgstr[0] "Recherche de %d paquet"
+msgstr[1] "Recherche de %d paquets"
 
-#: ../yum/__init__.py:2679
+#: ../yum/__init__.py:3153
 #, python-format
 msgid "searching package %s"
 msgstr "recherche du paquet %s"
 
-#: ../yum/__init__.py:2691
+#: ../yum/__init__.py:3165
 msgid "searching in file entries"
 msgstr "recherche dans les entrées de fichiers"
 
-#: ../yum/__init__.py:2698
+#: ../yum/__init__.py:3172
 msgid "searching in provides entries"
 msgstr "recherche dans les entrées de correspondance"
 
-#: ../yum/__init__.py:2777
+#: ../yum/__init__.py:3369
 msgid "No group data available for configured repositories"
 msgstr "Aucune donnée sur les groupes disponible pour les dépôts configurés"
 
-#: ../yum/__init__.py:2808 ../yum/__init__.py:2827 ../yum/__init__.py:2858
-#: ../yum/__init__.py:2864 ../yum/__init__.py:2953 ../yum/__init__.py:2957
-#: ../yum/__init__.py:3339
+#: ../yum/__init__.py:3466 ../yum/__init__.py:3500 ../yum/__init__.py:3576
+#: ../yum/__init__.py:3582 ../yum/__init__.py:3719 ../yum/__init__.py:3723
+#: ../yum/__init__.py:4298
 #, python-format
 msgid "No Group named %s exists"
 msgstr "Aucun groupe nommé %s n'existe"
 
-#: ../yum/__init__.py:2839 ../yum/__init__.py:2973
+#: ../yum/__init__.py:3512 ../yum/__init__.py:3740
 #, python-format
 msgid "package %s was not marked in group %s"
 msgstr "le paquet %s n'a pas été marqué dans le groupe %s"
 
-#: ../yum/__init__.py:2887
+#. (upgrade and igroup_data[pkg] == 'available')):
+#: ../yum/__init__.py:3622
+#, python-format
+msgid "Skipping package %s from group %s"
+msgstr "Omission du paquet %s du groupe %s"
+
+#: ../yum/__init__.py:3628
 #, python-format
 msgid "Adding package %s from group %s"
 msgstr "Ajout du paquet %s pour le groupe %s"
 
-#: ../yum/__init__.py:2891
+#: ../yum/__init__.py:3649
 #, python-format
 msgid "No package named %s available to be installed"
 msgstr "Aucun paquet nommé %s n'est disponible pour installation"
 
-#: ../yum/__init__.py:2941
+#: ../yum/__init__.py:3702
 #, python-format
-msgid "Warning: Group %s does not have any packages."
-msgstr "Attention : le goupe %s ne contient aucun paquets."
+msgid "Warning: Group %s does not have any packages to install."
+msgstr ""
 
-#: ../yum/__init__.py:2943
+#: ../yum/__init__.py:3704
 #, python-format
 msgid "Group %s does have %u conditional packages, which may get installed."
+msgstr "Le groupe %s contient %u paquets conditionnels, qui sont susceptibles d'être installés."
+
+#: ../yum/__init__.py:3794
+#, python-format
+msgid "Skipping group %s from environment %s"
 msgstr ""
-"Le groupe %s contient %u paquets conditionnels, qui sont susceptibles d'être"
-" installés."
 
 #. This can happen due to excludes after .up has
 #. happened.
-#: ../yum/__init__.py:3002
+#: ../yum/__init__.py:3858
 #, python-format
 msgid "Package tuple %s could not be found in packagesack"
 msgstr "Impossible de trouver le tuple de paquet %s dans le regroupement"
 
-#: ../yum/__init__.py:3022
+#: ../yum/__init__.py:3886
 #, python-format
 msgid "Package tuple %s could not be found in rpmdb"
 msgstr "Impossible de trouver le tuple de paquet %s dans RPMDB"
 
-#: ../yum/__init__.py:3079 ../yum/__init__.py:3129
+#: ../yum/__init__.py:3949 ../yum/__init__.py:4012
 #, python-format
 msgid "Invalid version flag from: %s"
 msgstr "Version de drapeau invalide : %s"
 
-#: ../yum/__init__.py:3096 ../yum/__init__.py:3101
+#: ../yum/__init__.py:3973 ../yum/__init__.py:3979 ../yum/__init__.py:4036
+#: ../yum/__init__.py:4042
 #, python-format
 msgid "No Package found for %s"
 msgstr "Aucun paquet trouvé pour %s"
 
-#: ../yum/__init__.py:3401
+#: ../yum/__init__.py:4245 ../yum/__init__.py:4274
+#, python-format
+msgid "Warning: Environment Group %s does not exist."
+msgstr ""
+
+#: ../yum/__init__.py:4397
+#, python-format
+msgid "Package: %s - can't co-install with %s"
+msgstr ""
+
+#: ../yum/__init__.py:4437
 msgid "Package Object was not a package object instance"
 msgstr "L'objet paquet n'était pas une instance correcte d'objet paquet"
 
-#: ../yum/__init__.py:3405
+#: ../yum/__init__.py:4441
 msgid "Nothing specified to install"
 msgstr "Rien de spécifié pour installation"
 
-#: ../yum/__init__.py:3424 ../yum/__init__.py:4283
+#: ../yum/__init__.py:4465 ../yum/__init__.py:5410
 #, python-format
 msgid "Checking for virtual provide or file-provide for %s"
-msgstr ""
-"Recherche de correspondance virtuelle ou de correspondance fichier pour %s"
+msgstr "Recherche de correspondance virtuelle ou de correspondance fichier pour %s"
 
-#: ../yum/__init__.py:3430 ../yum/__init__.py:3775 ../yum/__init__.py:3969
-#: ../yum/__init__.py:4289
-#, python-format
-msgid "No Match for argument: %s"
-msgstr "Aucune correspondance pour l'argument : %s"
-
-#: ../yum/__init__.py:3507
+#: ../yum/__init__.py:4542
 #, python-format
 msgid "Package %s installed and not available"
 msgstr "Le paquet %s est installé et n'est pas disponible"
 
-#: ../yum/__init__.py:3510
+#: ../yum/__init__.py:4545
 msgid "No package(s) available to install"
 msgstr "Aucun paquet disponible pour installation"
 
-#: ../yum/__init__.py:3522
+#: ../yum/__init__.py:4557
 #, python-format
 msgid "Package: %s  - already in transaction set"
 msgstr "Paquet : %s - déjà dans le jeu de transaction"
 
-#: ../yum/__init__.py:3550
+#: ../yum/__init__.py:4589
 #, python-format
 msgid "Package %s is obsoleted by %s which is already installed"
 msgstr "Le paquet %s est rendu obsolète par %s qui est déjà installé"
 
-#: ../yum/__init__.py:3555
+#: ../yum/__init__.py:4594
 #, python-format
 msgid ""
 "Package %s is obsoleted by %s, but obsoleting package does not provide for "
 "requirements"
-msgstr ""
-"Le paquet %s est rendu obsolète par %s, mais l'obsolescence n'affecte pas "
-"les dépendances"
+msgstr "Le paquet %s est rendu obsolète par %s, mais l'obsolescence n'affecte pas les dépendances"
 
-#: ../yum/__init__.py:3558
+#: ../yum/__init__.py:4597
 #, python-format
 msgid "Package %s is obsoleted by %s, trying to install %s instead"
-msgstr ""
-"Le paquet %s est rendu obsolète par %s, tentative d'installation de %s à la "
-"place"
+msgstr "Le paquet %s est rendu obsolète par %s, tentative d'installation de %s à la place"
 
-#: ../yum/__init__.py:3566
+#: ../yum/__init__.py:4605
 #, python-format
 msgid "Package %s already installed and latest version"
 msgstr "Le paquet %s est déjà installé dans sa dernière version"
 
-#: ../yum/__init__.py:3580
+#: ../yum/__init__.py:4619
 #, python-format
 msgid "Package matching %s already installed. Checking for update."
-msgstr ""
-"Le paquet qui correspond à %s est déjà installé. Recherche d'une mise à "
-"jour."
+msgstr "Le paquet qui correspond à %s est déjà installé. Recherche d'une mise à jour."
 
 #. update everything (the easy case)
-#: ../yum/__init__.py:3684
+#: ../yum/__init__.py:4751
 msgid "Updating Everything"
 msgstr "Mise à jour complète"
 
-#: ../yum/__init__.py:3708 ../yum/__init__.py:3849 ../yum/__init__.py:3879
-#: ../yum/__init__.py:3915
+#: ../yum/__init__.py:4775 ../yum/__init__.py:4930 ../yum/__init__.py:4975
+#: ../yum/__init__.py:5011
 #, python-format
 msgid "Not Updating Package that is already obsoleted: %s.%s %s:%s-%s"
-msgstr ""
-"Pas de mise à jour des paquets qui ont déjà été rendus obsolètes : %s.%s "
-"%s:%s-%s"
+msgstr "Pas de mise à jour des paquets qui ont déjà été rendus obsolètes : %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3753 ../yum/__init__.py:3965
+#: ../yum/__init__.py:4830 ../yum/__init__.py:5072
 #, python-format
 msgid "%s"
 msgstr "%s"
 
-#: ../yum/__init__.py:3838
+#: ../yum/__init__.py:4854 ../yum/__init__.py:5080 ../yum/__init__.py:5416
+#, python-format
+msgid "No Match for argument: %s"
+msgstr "Aucune correspondance pour l'argument : %s"
+
+#: ../yum/__init__.py:4872
+#, python-format
+msgid "No package matched to upgrade: %s"
+msgstr "Aucun paquet correspondant à mettre à jour : %s"
+
+#: ../yum/__init__.py:4919
 #, python-format
 msgid "Package is already obsoleted: %s.%s %s:%s-%s"
 msgstr "Paquet déjà rendu obsolète : %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3874
+#: ../yum/__init__.py:4970
 #, python-format
 msgid "Not Updating Package that is obsoleted: %s"
 msgstr "Pas de mise à jour du paquet qui est obsolète : %s"
 
-#: ../yum/__init__.py:3883 ../yum/__init__.py:3919
+#: ../yum/__init__.py:4979 ../yum/__init__.py:5015
 #, python-format
 msgid "Not Updating Package that is already updated: %s.%s %s:%s-%s"
-msgstr ""
-"Pas de mise à jour des paquets qui ont déjà été mis à jour : %s.%s %s:%s-%s"
+msgstr "Pas de mise à jour des paquets qui ont déjà été mis à jour : %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3982
-msgid "No package matched to remove"
-msgstr "Aucun paquet sélectionné pour suppression"
+#: ../yum/__init__.py:5093
+#, python-format
+msgid "No package matched to remove: %s"
+msgstr "Aucun paquet correspondant à désinstaller : %s"
 
-#: ../yum/__init__.py:3988
+#: ../yum/__init__.py:5099
 #, python-format
 msgid "Skipping the running kernel: %s"
 msgstr "Omission du noyau en cours d'exécution : %s"
 
-#: ../yum/__init__.py:3994
+#: ../yum/__init__.py:5105
 #, python-format
 msgid "Removing %s from the transaction"
 msgstr "Suppression de %s de la transaction"
 
-#: ../yum/__init__.py:4029
+#: ../yum/__init__.py:5142
 #, python-format
 msgid "Cannot open: %s. Skipping."
 msgstr "Impossible d'ouvrir : %s. Omission."
 
-#: ../yum/__init__.py:4032 ../yum/__init__.py:4150 ../yum/__init__.py:4226
+#: ../yum/__init__.py:5145 ../yum/__init__.py:5262 ../yum/__init__.py:5347
 #, python-format
 msgid "Examining %s: %s"
 msgstr "Examen de %s : %s"
 
-#: ../yum/__init__.py:4036
+#: ../yum/__init__.py:5149
 #, python-format
 msgid "Cannot localinstall deltarpm: %s. Skipping."
 msgstr "Impossible d'exécuter localinstall sur le deltarpm : %s. Omission."
 
-#: ../yum/__init__.py:4045 ../yum/__init__.py:4153 ../yum/__init__.py:4229
+#: ../yum/__init__.py:5158 ../yum/__init__.py:5265 ../yum/__init__.py:5350
 #, python-format
 msgid ""
 "Cannot add package %s to transaction. Not a compatible architecture: %s"
-msgstr ""
-"Impossible d'ajouter le paquet %s à la transaction. Architecture "
-"incompatible : %s"
+msgstr "Impossible d'ajouter le paquet %s à la transaction. Architecture incompatible : %s"
 
-#: ../yum/__init__.py:4051
+#: ../yum/__init__.py:5164
 #, python-format
 msgid "Cannot install package %s. It is obsoleted by installed package %s"
-msgstr ""
-"Impossible d'installer le paquet %s. Il est rendu obsolète par le paquet %s "
-"installé"
+msgstr "Impossible d'installer le paquet %s. Il est rendu obsolète par le paquet %s installé"
 
-#: ../yum/__init__.py:4059
+#: ../yum/__init__.py:5172
 #, python-format
 msgid ""
 "Package %s not installed, cannot update it. Run yum install to install it "
 "instead."
-msgstr ""
-"Le paquet %s n'est pas installé, il est impossible de le mettre à jour. "
-"Lancez plutôt yum install pour l'installer."
+msgstr "Le paquet %s n'est pas installé, il est impossible de le mettre à jour. Lancez plutôt yum install pour l'installer."
 
-#: ../yum/__init__.py:4078 ../yum/__init__.py:4085
+#: ../yum/__init__.py:5191 ../yum/__init__.py:5198
 #, python-format
 msgid ""
 "Package %s.%s not installed, cannot update it. Run yum install to install it"
 " instead."
-msgstr ""
-"Le paquet %s.%s n'est pas installé, il ne peut pas être mis à jour. Utilisez"
-" « yum install » pour l'installer."
+msgstr "Le paquet %s.%s n'est pas installé, il ne peut pas être mis à jour. Utilisez « yum install » pour l'installer."
 
-#: ../yum/__init__.py:4094 ../yum/__init__.py:4158 ../yum/__init__.py:4234
+#: ../yum/__init__.py:5207 ../yum/__init__.py:5270 ../yum/__init__.py:5355
 #, python-format
 msgid "Excluding %s"
 msgstr "Exclusion de %s"
 
-#: ../yum/__init__.py:4099
+#: ../yum/__init__.py:5212
 #, python-format
 msgid "Marking %s to be installed"
 msgstr "Sélection de %s pour installation "
 
-#: ../yum/__init__.py:4105
+#: ../yum/__init__.py:5218
 #, python-format
 msgid "Marking %s as an update to %s"
 msgstr "Sélection de %s pour mise à jour de %s"
 
-#: ../yum/__init__.py:4112
+#: ../yum/__init__.py:5225
 #, python-format
 msgid "%s: does not update installed package."
 msgstr "%s : ne met pas à jour le paquet installé."
 
-#: ../yum/__init__.py:4147 ../yum/__init__.py:4223
+#: ../yum/__init__.py:5259 ../yum/__init__.py:5344
 #, python-format
 msgid "Cannot open file: %s. Skipping."
 msgstr "Impossible d'ouvrir le fichier : %s. Omission."
 
-#: ../yum/__init__.py:4177
+#: ../yum/__init__.py:5299
 msgid "Problem in reinstall: no package matched to remove"
-msgstr ""
-"Problème dans la réinstallation : aucun paquet correspondant à supprimer"
+msgstr "Problème dans la réinstallation : aucun paquet correspondant à supprimer"
 
-#: ../yum/__init__.py:4203
+#: ../yum/__init__.py:5325
 #, python-format
 msgid "Problem in reinstall: no package %s matched to install"
-msgstr ""
-"Problème dans la réinstallation : aucun paquet %s correspondant à installer"
+msgstr "Problème dans la réinstallation : aucun paquet %s correspondant à installer"
 
-#: ../yum/__init__.py:4311
+#: ../yum/__init__.py:5438
 msgid "No package(s) available to downgrade"
 msgstr "Aucun paquet disponible pour retour à une version antérieure"
 
-#: ../yum/__init__.py:4319
+#: ../yum/__init__.py:5446
 #, python-format
 msgid "Package %s is allowed multiple installs, skipping"
 msgstr "Le paquet %s autorise des installations multiples, omission"
 
-#: ../yum/__init__.py:4365
+#: ../yum/__init__.py:5496
 #, python-format
 msgid "No Match for available package: %s"
 msgstr "Aucune correspondance pour le paquet disponible : %s"
 
-#: ../yum/__init__.py:4372
+#: ../yum/__init__.py:5506
 #, python-format
 msgid "Only Upgrade available on package: %s"
 msgstr "Mise à jour uniquement disponible pour le paquet : %s"
 
-#: ../yum/__init__.py:4442 ../yum/__init__.py:4479
+#: ../yum/__init__.py:5619 ../yum/__init__.py:5686
 #, python-format
 msgid "Failed to downgrade: %s"
 msgstr "Échec lors du lors du retour à la version précédente : %s"
 
-#: ../yum/__init__.py:4516
+#: ../yum/__init__.py:5636 ../yum/__init__.py:5692
+#, python-format
+msgid "Failed to upgrade: %s"
+msgstr "Erreur lors de la mise à jour : %s"
+
+#: ../yum/__init__.py:5725
 #, python-format
 msgid "Retrieving key from %s"
 msgstr "Récupération de la clé à partir de %s"
 
-#: ../yum/__init__.py:4534
+#: ../yum/__init__.py:5743
 msgid "GPG key retrieval failed: "
 msgstr "Échec de la récupération de la clé GPG : "
 
 #. if we decide we want to check, even though the sig failed
 #. here is where we would do that
-#: ../yum/__init__.py:4557
+#: ../yum/__init__.py:5766
 #, python-format
 msgid "GPG key signature on key %s does not match CA Key for repo: %s"
 msgstr "La signature de la clé GPG %s ne correspond pas à celle du dépôt : %s"
 
-#: ../yum/__init__.py:4559
+#: ../yum/__init__.py:5768
 msgid "GPG key signature verified against CA Key(s)"
 msgstr "Signature de clé GPG vérifiée avec un certificat d'autorité de clés."
 
-#: ../yum/__init__.py:4567
+#: ../yum/__init__.py:5776
 #, python-format
 msgid "Invalid GPG Key from %s: %s"
 msgstr "Clé GPG invalide depuis %s :%s"
 
-#: ../yum/__init__.py:4576
+#: ../yum/__init__.py:5785
 #, python-format
 msgid "GPG key parsing failed: key does not have value %s"
 msgstr "Échec d'analyse de la clé GPG : la clé n'a pas de valeur %s"
 
-#: ../yum/__init__.py:4592
+#: ../yum/__init__.py:5801
 #, python-format
 msgid ""
 "Importing %s key 0x%s:\n"
-" Userid : %s\n"
-" Package: %s (%s)\n"
-" From   : %s"
-msgstr ""
-"Importation de la clé %s 0x%s :\n"
-" Utilisateur : %s\n"
-" Paquet       : %s (%s)\n"
-" À partir de : %s"
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" Package    : %s (%s)\n"
+" From       : %s"
+msgstr "Importation de la clef %s 0x%s :\nID utilisateur : « %s »\nEmpreinte      : %s\nPaquet         : %s (%s)\nProvient de    : %s"
 
-#: ../yum/__init__.py:4600
+#: ../yum/__init__.py:5811
 #, python-format
 msgid ""
 "Importing %s key 0x%s:\n"
-" Userid: \"%s\"\n"
-" From  : %s"
-msgstr ""
-"Importation de la clé %s 0x%s :\n"
-" Utilisateur : « %s »\n"
-" À partir de : %s"
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" From       : %s"
+msgstr "Importation de la clef %s 0x%s :\nID utilisateur : « %s »\nEmpreinte      : %s\nProvient de    : %s"
 
-#: ../yum/__init__.py:4634
+#: ../yum/__init__.py:5839
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" Failing package is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr "\n\n\n Échec avec le paquet : %s\n Les clés GPG sont configurées comme : %s\n"
+
+#: ../yum/__init__.py:5853
 #, python-format
 msgid "GPG key at %s (0x%s) is already installed"
 msgstr "La clé GPG %s (0x%s) est déjà installée"
 
-#: ../yum/__init__.py:4671
+#: ../yum/__init__.py:5891
 #, python-format
 msgid "Key import failed (code %d)"
 msgstr "L'import de la clé à échoué (code %d)"
 
-#: ../yum/__init__.py:4672 ../yum/__init__.py:4755
+#: ../yum/__init__.py:5893 ../yum/__init__.py:5994
 msgid "Key imported successfully"
 msgstr "La clé a été importée avec succès"
 
-#: ../yum/__init__.py:4676
+#: ../yum/__init__.py:5897
 msgid "Didn't install any keys"
 msgstr "Toutes les clés n'ont pas été installées"
 
-#: ../yum/__init__.py:4680
+#: ../yum/__init__.py:5900
 #, python-format
 msgid ""
 "The GPG keys listed for the \"%s\" repository are already installed but they are not correct for this package.\n"
 "Check that the correct key URLs are configured for this repository."
-msgstr ""
-"Les clés GPG listées pour le dépôt « %s » sont déjà installées mais sont incorrectes pour ce paquet.\n"
-"Vérifiez que les URL des clés pour ce dépôt soient correctes."
+msgstr "Les clés GPG listées pour le dépôt « %s » sont déjà installées mais sont incorrectes pour ce paquet.\nVérifiez que les URL des clés pour ce dépôt soient correctes."
 
-#: ../yum/__init__.py:4689
+#: ../yum/__init__.py:5910
 msgid "Import of key(s) didn't help, wrong key(s)?"
-msgstr ""
-"L'import de la ou des clés n'a pas résolu le problème, clés incorrectes ?"
+msgstr "L'import de la ou des clés n'a pas résolu le problème, clés incorrectes ?"
 
-#: ../yum/__init__.py:4713
+#: ../yum/__init__.py:5932
+msgid "No"
+msgstr "Non"
+
+#: ../yum/__init__.py:5934
+msgid "Yes"
+msgstr "Oui"
+
+#: ../yum/__init__.py:5935
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" CA Key: %s\n"
+" Failing repo is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr "\n\n\n Clé du CA : %s\n Échec avec le dépôt : %s\n Les clés GPG sont configurées comme : %s\n"
+
+#: ../yum/__init__.py:5948
 #, python-format
 msgid "GPG key at %s (0x%s) is already imported"
 msgstr "La clé GPG %s (0x%s) est déjà importée"
 
-#: ../yum/__init__.py:4754
-msgid "Key import failed"
-msgstr "L'import de la clé à échoué"
+#: ../yum/__init__.py:5992
+#, python-format
+msgid "Key %s import failed"
+msgstr "L'import de la clé %s à échoué"
 
-#: ../yum/__init__.py:4770
+#: ../yum/__init__.py:6009
 #, python-format
 msgid "Didn't install any keys for repo %s"
 msgstr "Aucune clé n'a été installée pour le dépôt %s"
 
-#: ../yum/__init__.py:4774
+#: ../yum/__init__.py:6014
 #, python-format
 msgid ""
 "The GPG keys listed for the \"%s\" repository are already installed but they are not correct.\n"
 "Check that the correct key URLs are configured for this repository."
-msgstr ""
-"Les clés GPG listées pour le dépôt « %s » sont déjà installées mais sont incorrectes.\n"
-"Vérifiez que les URL des clés pour ce dépôt soient correctes."
+msgstr "Les clés GPG listées pour le dépôt « %s » sont déjà installées mais sont incorrectes.\nVérifiez que les URL des clés pour ce dépôt soient correctes."
 
-#: ../yum/__init__.py:4924
+#: ../yum/__init__.py:6172
 msgid "Unable to find a suitable mirror."
 msgstr "Impossible de trouver un miroir adapté."
 
-#: ../yum/__init__.py:4926
+#: ../yum/__init__.py:6174
 msgid "Errors were encountered while downloading packages."
 msgstr "Des erreurs ont été rencontrée durant le téléchargement des paquets."
 
-#: ../yum/__init__.py:4981
+#: ../yum/__init__.py:6229
 #, python-format
 msgid "Please report this error at %s"
 msgstr "Veuillez reporter cette erreur dans %s"
 
-#: ../yum/__init__.py:4998
+#: ../yum/__init__.py:6246
 msgid "Test Transaction Errors: "
 msgstr "Erreurs de la transaction de test : "
 
-#: ../yum/__init__.py:5098
+#: ../yum/__init__.py:6358
 #, python-format
 msgid "Could not set cachedir: %s"
 msgstr "Impossible de configurer cachedir : %s"
 
-#: ../yum/__init__.py:5148 ../yum/__init__.py:5150
+#: ../yum/__init__.py:6420 ../yum/__init__.py:6422
 msgid "Dependencies not solved. Will not save unresolved transaction."
-msgstr ""
-"Les dépendances ne sont pas résolues. Les transactions non résolues ne "
-"seront pas sauvegardées."
+msgstr "Les dépendances ne sont pas résolues. Les transactions non résolues ne seront pas sauvegardées."
 
-#: ../yum/__init__.py:5179 ../yum/__init__.py:5181
+#: ../yum/__init__.py:6455 ../yum/__init__.py:6457
 #, python-format
 msgid "Could not save transaction file %s: %s"
 msgstr "Impossible de sauvegarder le fichier de transaction %s : %s"
 
-#: ../yum/__init__.py:5195
+#: ../yum/__init__.py:6483
 #, python-format
 msgid "Could not access/read saved transaction %s : %s"
 msgstr "Impossible de lire le fichier de transaction sauvegardé %s : %s"
 
-#: ../yum/__init__.py:5214
-msgid "rpmdb ver mismatched saved transaction version, "
+#: ../yum/__init__.py:6521
+msgid "rpmdb ver mismatched saved transaction version,"
 msgstr ""
-"La version de rpmdb ne correspond pas à la version de la transaction "
-"enregistrée,"
 
-#: ../yum/__init__.py:5216
-msgid " ignoring, as requested."
-msgstr " ignoré, comme spécifié."
-
-#: ../yum/__init__.py:5219 ../yum/__init__.py:5354
-msgid " aborting."
-msgstr " arrêt."
-
-#: ../yum/__init__.py:5228
+#: ../yum/__init__.py:6535
 msgid "cannot find tsflags or tsflags not integer."
 msgstr "impossible de trouver de tsflags, ou alors ce n'est pas un entier."
 
-#: ../yum/__init__.py:5267
+#: ../yum/__init__.py:6584
 #, python-format
 msgid "Found txmbr in unknown current state: %s"
 msgstr "txmbr est dans un état inconnu : %s"
 
-#: ../yum/__init__.py:5271
+#: ../yum/__init__.py:6588
 #, python-format
 msgid "Could not find txmbr: %s in state %s"
 msgstr "Impossible de trouver txmbr : %s dans l'état %s"
 
-#: ../yum/__init__.py:5307 ../yum/__init__.py:5324
+#: ../yum/__init__.py:6625 ../yum/__init__.py:6642
 #, python-format
 msgid "Could not find txmbr: %s from origin: %s"
 msgstr "Impossible de trouver txmbr : %s depuis : %s"
 
-#: ../yum/__init__.py:5349
+#: ../yum/__init__.py:6667
 msgid "Transaction members, relations are missing or ts has been modified,"
-msgstr ""
-"Des composants ou relations de la transactions sont manquant, ou la "
-"transaction a été modifiée,"
+msgstr "Des composants ou relations de la transactions sont manquant, ou la transaction a été modifiée,"
 
-#: ../yum/__init__.py:5351
+#: ../yum/__init__.py:6670
 msgid " ignoring, as requested. You must redepsolve!"
+msgstr " ignoré, comme spécifié. Vous devez résoudre les dépendances à nouveau !"
+
+#. Debugging output
+#: ../yum/__init__.py:6738 ../yum/__init__.py:6757
+#, python-format
+msgid "%s has been visited already and cannot be removed."
+msgstr "%s a déjà été consulté et ne peut donc pas être supprimé."
+
+#. Debugging output
+#: ../yum/__init__.py:6741
+#, python-format
+msgid "Examining revdeps of %s"
+msgstr "Examination des dépendances inverses de %s"
+
+#. Debugging output
+#: ../yum/__init__.py:6762
+#, python-format
+msgid "%s has revdep %s which was user-installed."
+msgstr "%s a %s en tant que dépendance inverse qui a été installé par l'utilisateur."
+
+#: ../yum/__init__.py:6773 ../yum/__init__.py:6779
+#, python-format
+msgid "%s is needed by a package to be installed."
 msgstr ""
-" ignoré, comme spécifié. Vous devez résoudre les dépendances à nouveau !"
+
+#. Debugging output
+#: ../yum/__init__.py:6793
+#, python-format
+msgid "%s has no user-installed revdeps."
+msgstr "%s n'a pas de dépendances inverses installées par l'utilisateur."
 
 #. Mostly copied from YumOutput._outKeyValFill()
-#: ../yum/plugins.py:209
+#: ../yum/plugins.py:212
 msgid "Loaded plugins: "
 msgstr "Modules complémentaires chargés : "
 
-#: ../yum/plugins.py:223 ../yum/plugins.py:229
+#: ../yum/plugins.py:226 ../yum/plugins.py:232
 #, python-format
 msgid "No plugin match for: %s"
 msgstr "Aucun plugin correspondant pour : %s"
 
-#: ../yum/plugins.py:259
+#: ../yum/plugins.py:262
 #, python-format
 msgid "Not loading \"%s\" plugin, as it is disabled"
 msgstr "Le module complémentaire « %s » est désactivé, il ne sera pas chargé"
 
 #. Give full backtrace:
-#: ../yum/plugins.py:271
+#: ../yum/plugins.py:274
 #, python-format
 msgid "Plugin \"%s\" can't be imported"
 msgstr "L'extension « %s » ne peut pas être importé"
 
-#: ../yum/plugins.py:278
+#: ../yum/plugins.py:281
 #, python-format
 msgid "Plugin \"%s\" doesn't specify required API version"
-msgstr ""
-"Le module complémentaire « %s » ne spécifie pas la version de l'API requise"
+msgstr "Le module complémentaire « %s » ne spécifie pas la version de l'API requise"
 
-#: ../yum/plugins.py:283
+#: ../yum/plugins.py:286
 #, python-format
 msgid "Plugin \"%s\" requires API %s. Supported API is %s."
-msgstr ""
-"Le module complémentaire « %s » requiert l'API %s. L'API supportée est %s."
+msgstr "Le module complémentaire « %s » requiert l'API %s. L'API supportée est %s."
 
-#: ../yum/plugins.py:316
+#: ../yum/plugins.py:319
 #, python-format
 msgid "Loading \"%s\" plugin"
 msgstr "Chargement du module complémentaire « %s »"
 
-#: ../yum/plugins.py:323
+#: ../yum/plugins.py:326
 #, python-format
 msgid "Two or more plugins with the name \"%s\" exist in the plugin search path"
-msgstr ""
-"Au moins deux modules complémentaires avec le même nom « %s » existent dans "
-"le chemin de recherche des modules complémentaires"
+msgstr "Au moins deux modules complémentaires avec le même nom « %s » existent dans le chemin de recherche des modules complémentaires"
 
-#: ../yum/plugins.py:343
+#: ../yum/plugins.py:346
 #, python-format
 msgid "Configuration file %s not found"
 msgstr "Fichier de configuration %s non trouvé"
 
 #. for
 #. Configuration files for the plugin not found
-#: ../yum/plugins.py:346
+#: ../yum/plugins.py:349
 #, python-format
 msgid "Unable to find configuration file for plugin %s"
-msgstr ""
-"Impossible de trouver le fichier de configuration pour le module "
-"complémentaire %s"
+msgstr "Impossible de trouver le fichier de configuration pour le module complémentaire %s"
 
-#: ../yum/plugins.py:508
+#: ../yum/plugins.py:553
 msgid "registration of commands not supported"
 msgstr "enregistrement de commandes non supporté"
 
-#: ../yum/rpmsack.py:148
+#: ../yum/rpmsack.py:159
 msgid "has missing requires of"
 msgstr "a des dépendances manquantes de"
 
-#: ../yum/rpmsack.py:151
+#: ../yum/rpmsack.py:162
 msgid "has installed conflicts"
 msgstr "des conflits sont installés"
 
-#: ../yum/rpmsack.py:160
+#: ../yum/rpmsack.py:171
 #, python-format
 msgid "%s is a duplicate with %s"
 msgstr "%s est un doublon de %s"
 
-#: ../yum/rpmsack.py:168
+#: ../yum/rpmsack.py:179
 #, python-format
 msgid "%s is obsoleted by %s"
 msgstr "%s est rendu obsolète par %s"
 
-#: ../yum/rpmsack.py:176
+#: ../yum/rpmsack.py:187
 #, python-format
 msgid "%s provides %s but it cannot be found"
 msgstr "%s fournit %s mais est introuvable"
@@ -3211,6 +3461,23 @@ msgstr "%s fournit %s mais est introuvable"
 msgid "Repackaging"
 msgstr "Réempaquetage"
 
+#: ../yum/rpmtrans.py:149
+#, python-format
+msgid "Verify: %u/%u: %s"
+msgstr "Vérification : %u/%u : %s"
+
+#: ../yum/yumRepo.py:919
+#, python-format
+msgid ""
+"Insufficient space in download directory %s\n"
+"    * free   %s\n"
+"    * needed %s"
+msgstr "Espace disque insuffisant dans le dossier de téléchargement %s\n    * libre   %s\n    * nécessaire %s"
+
+#: ../yum/yumRepo.py:986
+msgid "Package does not match intended download."
+msgstr ""
+
 #: ../rpmUtils/oldUtils.py:33
 #, python-format
 msgid "Header cannot be opened or does not match %s, %s."
@@ -3223,9 +3490,7 @@ msgstr "Échec du contrôle MD5 pour le RPM %s"
 
 #: ../rpmUtils/oldUtils.py:151
 msgid "Could not open RPM database for reading. Perhaps it is already in use?"
-msgstr ""
-"Impossible de lire la base de données RPM. Peut être est-elle déjà utilisée "
-"?"
+msgstr "Impossible de lire la base de données RPM. Peut être est-elle déjà utilisée ?"
 
 #: ../rpmUtils/oldUtils.py:183
 msgid "Got an empty Header, something has gone wrong"
@@ -3241,5 +3506,3 @@ msgstr "En-tête endommagée %s"
 #, python-format
 msgid "Error opening rpm %s - error %s"
 msgstr "Erreur d'ouverture du rpm %s - erreur %s"
-
-
diff --git a/po/gu.po b/po/gu.po
index e9ad955..8a97d66 100644
--- a/po/gu.po
+++ b/po/gu.po
@@ -2,875 +2,992 @@
 # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
 # This file is distributed under the same license as the PACKAGE package.
 # 
-# sweta <swkothar@redhat.com>, 2011
+# Translators:
+# sweta <swkothar@redhat.com>, 2011.
 msgid ""
 msgstr ""
 "Project-Id-Version: Yum\n"
-"Report-Msgid-Bugs-To: http://yum.baseurl.org/\n"
-"POT-Creation-Date: 2011-06-06 10:21-0400\n"
-"PO-Revision-Date: 2011-06-06 14:21+0000\n"
-"Last-Translator: skvidal <skvidal@fedoraproject.org>\n"
-"Language-Team: Gujarati (http://www.transifex.net/projects/p/yum/team/gu/)\n"
+"Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
+"POT-Creation-Date: 2013-01-30 09:08-0500\n"
+"PO-Revision-Date: 2013-01-30 14:08+0000\n"
+"Last-Translator: james <james@fedoraproject.org>\n"
+"Language-Team: Gujarati (http://www.transifex.com/projects/p/yum/language/gu/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Language: gu\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: ../callback.py:48 ../output.py:1037 ../yum/rpmtrans.py:73
+#: ../callback.py:45 ../output.py:1502 ../yum/rpmtrans.py:73
 msgid "Updating"
 msgstr "સુધારી રહ્યા છે"
 
-#: ../callback.py:49 ../yum/rpmtrans.py:74
+#: ../callback.py:46 ../yum/rpmtrans.py:74
 msgid "Erasing"
 msgstr "દૂર કરી રહ્યા છે"
 
-#: ../callback.py:50 ../callback.py:51 ../callback.py:53 ../output.py:1036
-#: ../output.py:2218 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
+#: ../callback.py:47 ../callback.py:48 ../callback.py:50 ../output.py:1501
+#: ../output.py:2922 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
 #: ../yum/rpmtrans.py:78
 msgid "Installing"
 msgstr "સ્થાપિત કરી રહ્યા છે"
 
-#: ../callback.py:52 ../callback.py:58 ../output.py:1840 ../yum/rpmtrans.py:77
+#: ../callback.py:49 ../callback.py:55 ../output.py:2379 ../yum/rpmtrans.py:77
 msgid "Obsoleted"
 msgstr "અપ્રચલિત થયેલ"
 
-#: ../callback.py:54 ../output.py:1169 ../output.py:1686 ../output.py:1847
+#: ../callback.py:51 ../output.py:1670 ../output.py:2222 ../output.py:2386
 msgid "Updated"
 msgstr "સુધારેલ"
 
-#: ../callback.py:55 ../output.py:1685
+#: ../callback.py:52 ../output.py:2221
 msgid "Erased"
 msgstr "દૂર કરેલ"
 
-#: ../callback.py:56 ../callback.py:57 ../callback.py:59 ../output.py:1167
-#: ../output.py:1685 ../output.py:1687 ../output.py:2190
+#: ../callback.py:53 ../callback.py:54 ../callback.py:56 ../output.py:1668
+#: ../output.py:2221 ../output.py:2223 ../output.py:2894
 msgid "Installed"
 msgstr "સ્થાપિત થયેલ"
 
-#: ../callback.py:130
+#: ../callback.py:142
 msgid "No header - huh?"
 msgstr ""
 
-#: ../callback.py:168
+#: ../callback.py:180
 msgid "Repackage"
 msgstr ""
 
-#: ../callback.py:189
+#: ../callback.py:201
 #, python-format
 msgid "Error: invalid output state: %s for %s"
 msgstr "ભૂલ: અયોગ્ય આઉટપુટ સ્થિતિ: %s માટે %s"
 
-#: ../callback.py:212
+#: ../callback.py:224
 #, python-format
 msgid "Erased: %s"
 msgstr "દૂર કરેલ: %s"
 
-#: ../callback.py:217 ../output.py:1038 ../output.py:2193
+#: ../callback.py:229 ../output.py:1503 ../output.py:2897
 msgid "Removing"
 msgstr "દૂર કરી રહ્યા છે"
 
-#: ../callback.py:219 ../yum/rpmtrans.py:79
+#: ../callback.py:231 ../yum/rpmtrans.py:79
 msgid "Cleanup"
 msgstr "સાફ કરો"
 
-#: ../cli.py:115
+#: ../cli.py:122
 #, python-format
 msgid "Command \"%s\" already defined"
 msgstr "આદેશ \"%s\" પહેલેથી જ વ્યાખ્યાયિત થયેલ છે"
 
-#: ../cli.py:127
+#: ../cli.py:137
 msgid "Setting up repositories"
 msgstr "રિપોઝીટરીઓને સુયોજિત કરી રહ્યા છીએ"
 
-#: ../cli.py:138
+#: ../cli.py:148
 msgid "Reading repository metadata in from local files"
 msgstr "સ્થાનિય ફાઇલોમાંથી રિપોઝીટરી મેટાડેટાને વાંચી રહ્યા છે"
 
-#: ../cli.py:245 ../utils.py:281
+#: ../cli.py:273 ../cli.py:277 ../utils.py:320
 #, python-format
 msgid "Config Error: %s"
 msgstr "રૂપરેખાંકન ભૂલ: %s"
 
-#: ../cli.py:248 ../cli.py:1584 ../utils.py:284
+#: ../cli.py:280 ../cli.py:2206 ../utils.py:323
 #, python-format
 msgid "Options Error: %s"
 msgstr "વિકલ્પો ભૂલ: %s"
 
-#: ../cli.py:293
+#: ../cli.py:327
 #, python-format
 msgid "  Installed: %s-%s at %s"
 msgstr "  સ્થાપિત થયેલ: %s-%s પર %s"
 
-#: ../cli.py:295
+#: ../cli.py:329
 #, python-format
 msgid "  Built    : %s at %s"
 msgstr ""
 
-#: ../cli.py:297
+#: ../cli.py:331
 #, python-format
 msgid "  Committed: %s at %s"
 msgstr ""
 
-#: ../cli.py:336
+#: ../cli.py:372
 msgid "You need to give some command"
 msgstr "તમારે અમુક આદેશને આપવાની જરૂર છે"
 
-#: ../cli.py:350
+#: ../cli.py:386
 #, python-format
 msgid "No such command: %s. Please use %s --help"
 msgstr "આવો આદેશ નથી: %s. મહેરબાની કરીને %s --help વાપરો"
 
-#: ../cli.py:400
+#: ../cli.py:444
 msgid "Disk Requirements:\n"
 msgstr "ડિસ્ક જરૂરિયાતો:\n"
 
-#: ../cli.py:402
+#: ../cli.py:446
 #, python-format
 msgid "  At least %dMB more space needed on the %s filesystem.\n"
-msgstr ""
+msgid_plural "  At least %dMB more space needed on the %s filesystem.\n"
+msgstr[0] ""
+msgstr[1] ""
 
 #. TODO: simplify the dependency errors?
 #. Fixup the summary
-#: ../cli.py:407
+#: ../cli.py:451
 msgid ""
 "Error Summary\n"
 "-------------\n"
+msgstr "ભૂલ સારાંશ\n-------------\n"
+
+#: ../cli.py:472
+msgid "Can't create lock file; exiting"
+msgstr ""
+
+#: ../cli.py:479
+msgid ""
+"Another app is currently holding the yum lock; exiting as configured by "
+"exit_on_lock"
 msgstr ""
-"ભૂલ સારાંશ\n"
-"-------------\n"
 
-#: ../cli.py:450
+#: ../cli.py:532
 msgid "Trying to run the transaction but nothing to do. Exiting."
 msgstr ""
 
-#: ../cli.py:497
+#: ../cli.py:577
+msgid "future rpmdb ver mismatched saved transaction version,"
+msgstr ""
+
+#: ../cli.py:579 ../yum/__init__.py:6523
+msgid " ignoring, as requested."
+msgstr ""
+
+#: ../cli.py:582 ../yum/__init__.py:6526 ../yum/__init__.py:6673
+msgid " aborting."
+msgstr ""
+
+#: ../cli.py:588
 msgid "Exiting on user Command"
 msgstr "વપરાશકર્તા આદેશ પર બહાર નીકળી રહ્યા છે"
 
-#: ../cli.py:501
+#: ../cli.py:592
 msgid "Downloading Packages:"
 msgstr "પેકેજોને ડાઉનલોડ કરી રહ્યા છે:"
 
-#: ../cli.py:506
+#: ../cli.py:597
 msgid "Error Downloading Packages:\n"
 msgstr "પેકેજોને ડાઉનલોડ કરતી વખતે ભૂલ:\n"
 
-#: ../cli.py:525 ../yum/__init__.py:4967
+#: ../cli.py:616 ../yum/__init__.py:6215
 msgid "Running Transaction Check"
 msgstr ""
 
-#: ../cli.py:534 ../yum/__init__.py:4976
+#: ../cli.py:625 ../yum/__init__.py:6224
 msgid "ERROR You need to update rpm to handle:"
 msgstr ""
 
-#: ../cli.py:536 ../yum/__init__.py:4979
+#: ../cli.py:627 ../yum/__init__.py:6227
 msgid "ERROR with transaction check vs depsolve:"
 msgstr ""
 
-#: ../cli.py:542
+#: ../cli.py:633
 msgid "RPM needs to be updated"
 msgstr "RPM ને સુધારવાની જરૂર છે"
 
-#: ../cli.py:543
+#: ../cli.py:634
 #, python-format
 msgid "Please report this error in %s"
 msgstr "મહેરબાની કરીને %s માં આ ભૂલનો અહેવાલ કરો"
 
-#: ../cli.py:549
+#: ../cli.py:640
 msgid "Running Transaction Test"
 msgstr ""
 
-#: ../cli.py:561
+#: ../cli.py:652
 msgid "Transaction Check Error:\n"
 msgstr ""
 
-#: ../cli.py:568
+#: ../cli.py:659
 msgid "Transaction Test Succeeded"
 msgstr ""
 
-#: ../cli.py:600
+#: ../cli.py:691
 msgid "Running Transaction"
 msgstr ""
 
-#: ../cli.py:630
+#: ../cli.py:724
 msgid ""
 "Refusing to automatically import keys when running unattended.\n"
 "Use \"-y\" to override."
 msgstr ""
 
-#: ../cli.py:649 ../cli.py:692
+#: ../cli.py:743 ../cli.py:786
 msgid "  * Maybe you meant: "
 msgstr ""
 
-#: ../cli.py:675 ../cli.py:683
+#: ../cli.py:769 ../cli.py:777
 #, python-format
 msgid "Package(s) %s%s%s available, but not installed."
 msgstr "પેકેજ(ઓ) %s%s%s ઉપલબ્ધ છે, પરંતુ સ્થાપિત થયેલ છે."
 
-#: ../cli.py:689 ../cli.py:722 ../cli.py:908
+#: ../cli.py:783 ../cli.py:891 ../cli.py:1158
 #, python-format
 msgid "No package %s%s%s available."
 msgstr "પેકેજ %s%s%s ઉપલબ્ધ નથી."
 
-#: ../cli.py:729 ../cli.py:973
-msgid "Package(s) to install"
-msgstr "સ્થાપિત કરવા માટે પેકેજ (ઓ)"
+#: ../cli.py:871 ../cli.py:881 ../cli.py:1101 ../cli.py:1111
+#, python-format
+msgid "Bad %s argument %s."
+msgstr ""
 
-#: ../cli.py:732 ../cli.py:733 ../cli.py:914 ../cli.py:948 ../cli.py:974
-#: ../yumcommands.py:190
+#: ../cli.py:900 ../yumcommands.py:3331
+#, python-format
+msgid "%d package to install"
+msgid_plural "%d packages to install"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../cli.py:903 ../cli.py:904 ../cli.py:1169 ../cli.py:1170 ../cli.py:1224
+#: ../cli.py:1225 ../cli.py:1260 ../yumcommands.py:323 ../yumcommands.py:3419
 msgid "Nothing to do"
 msgstr "કંઇ કરવાનુ નથી"
 
-#: ../cli.py:767
+#: ../cli.py:953
 #, python-format
-msgid "%d packages marked for Update"
-msgstr "સુધારવા માટે %d પેકેજો ચિહ્નિત થયેલ છે"
+msgid "%d package marked for Update"
+msgid_plural "%d packages marked for Update"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:770
+#: ../cli.py:955
 msgid "No Packages marked for Update"
 msgstr "સુધારવા માટે પેકેજો ચિહ્નિત થયેલ નથી"
 
-#: ../cli.py:866
+#: ../cli.py:1067
 #, python-format
-msgid "%d packages marked for Distribution Synchronization"
-msgstr ""
+msgid "%d package marked for Distribution Synchronization"
+msgid_plural "%d packages marked for Distribution Synchronization"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:869
+#: ../cli.py:1069
 msgid "No Packages marked for Distribution Synchronization"
 msgstr ""
 
-#: ../cli.py:885
+#: ../cli.py:1124
 #, python-format
-msgid "%d packages marked for removal"
-msgstr "દૂર કરવા માટે %d પેકેજો ચિહ્નિત થયેવ છે"
+msgid "%d package marked for removal"
+msgid_plural "%d packages marked for removal"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:888
+#: ../cli.py:1126
 msgid "No Packages marked for removal"
 msgstr "દૂર કરવા માટે પેકેજો ચિહ્નિત થયેલ નથી"
 
-#: ../cli.py:913
-msgid "Package(s) to downgrade"
-msgstr ""
+#: ../cli.py:1166
+#, python-format
+msgid "%d package to downgrade"
+msgid_plural "%d packages to downgrade"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:938
+#: ../cli.py:1207
 #, python-format
 msgid " (from %s)"
 msgstr " (%s માંથી)"
 
-#: ../cli.py:939
+#: ../cli.py:1208
 #, python-format
 msgid "Installed package %s%s%s%s not available."
 msgstr "સ્થાપિત થયેલ પેકેજ %s%s%s%s ઉપલબ્ધ નથી."
 
-#: ../cli.py:947
-msgid "Package(s) to reinstall"
-msgstr "પુન:સ્થાપિત કરવા માટે પેકેજ (ઓ)"
+#: ../cli.py:1221
+#, python-format
+msgid "%d package to reinstall"
+msgid_plural "%d packages to reinstall"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:960
+#: ../cli.py:1246
 msgid "No Packages Provided"
 msgstr "પેકેજો પૂરા પાડેલ નથી"
 
-#: ../cli.py:1058
+#: ../cli.py:1259
+msgid "Package(s) to install"
+msgstr "સ્થાપિત કરવા માટે પેકેજ (ઓ)"
+
+#: ../cli.py:1367
 #, python-format
 msgid "N/S Matched: %s"
 msgstr ""
 
-#: ../cli.py:1075
+#: ../cli.py:1384
 #, python-format
 msgid "  Name and summary matches %sonly%s, use \"search all\" for everything."
 msgstr ""
 
-#: ../cli.py:1077
+#: ../cli.py:1386
 #, python-format
 msgid ""
 "  Full name and summary matches %sonly%s, use \"search all\" for everything."
 msgstr ""
 
-#: ../cli.py:1095
+#: ../cli.py:1404
 #, python-format
 msgid "Matched: %s"
 msgstr ""
 
-#: ../cli.py:1102
+#: ../cli.py:1411
 #, python-format
 msgid "  Name and summary matches %smostly%s, use \"search all\" for everything."
 msgstr ""
 
-#: ../cli.py:1106
+#: ../cli.py:1415
 #, python-format
 msgid "Warning: No matches found for: %s"
 msgstr "ચેતવણી: તેની માટે બંધબેસતુ મળ્યુ નથી: %s"
 
-#: ../cli.py:1109
+#: ../cli.py:1418
 msgid "No Matches found"
 msgstr ""
 
-#: ../cli.py:1174
+#: ../cli.py:1536
 #, python-format
-msgid "No Package Found for %s"
-msgstr "%s માટે પેકેજ મળ્યુ નથી"
+msgid ""
+"Error: No Packages found for:\n"
+"  %s"
+msgstr ""
 
-#: ../cli.py:1184
+#: ../cli.py:1572
 msgid "Cleaning repos: "
 msgstr ""
 
-#: ../cli.py:1189
+#: ../cli.py:1577
 msgid "Cleaning up Everything"
 msgstr "બધુ જ સાફ કરી રહ્યા છે"
 
-#: ../cli.py:1205
+#: ../cli.py:1593
 msgid "Cleaning up Headers"
 msgstr "હેડરો સાફ કરી રહ્યા છે"
 
-#: ../cli.py:1208
+#: ../cli.py:1596
 msgid "Cleaning up Packages"
 msgstr "પેકેજો સાફ કરી રહ્યા છે"
 
-#: ../cli.py:1211
+#: ../cli.py:1599
 msgid "Cleaning up xml metadata"
 msgstr "xml મેટાડેટા સાફ કરી રહ્યા છે"
 
-#: ../cli.py:1214
+#: ../cli.py:1602
 msgid "Cleaning up database cache"
 msgstr "ડેટાબેઝ કેશ સાફ કરી રહ્યા છે"
 
-#: ../cli.py:1217
+#: ../cli.py:1605
 msgid "Cleaning up expire-cache metadata"
 msgstr ""
 
-#: ../cli.py:1220
+#: ../cli.py:1608
 msgid "Cleaning up cached rpmdb data"
 msgstr ""
 
-#: ../cli.py:1223
+#: ../cli.py:1611
 msgid "Cleaning up plugins"
 msgstr "પ્લગઇનને સાફ કરી રહ્યા છે"
 
-#: ../cli.py:1247
-#, python-format
-msgid "Warning: No groups match: %s"
+#: ../cli.py:1727
+msgid "Installed Environment Groups:"
+msgstr ""
+
+#: ../cli.py:1728
+msgid "Available Environment Groups:"
 msgstr ""
 
-#: ../cli.py:1264
+#: ../cli.py:1735
 msgid "Installed Groups:"
 msgstr "સ્થાપિત થયેલ જૂથો:"
 
-#: ../cli.py:1270
+#: ../cli.py:1742
 msgid "Installed Language Groups:"
 msgstr ""
 
-#: ../cli.py:1276
+#: ../cli.py:1749
 msgid "Available Groups:"
 msgstr "ઉપલબ્ધ જૂથો:"
 
-#: ../cli.py:1282
+#: ../cli.py:1756
 msgid "Available Language Groups:"
 msgstr ""
 
-#: ../cli.py:1285
+#: ../cli.py:1759
+#, python-format
+msgid "Warning: No Environments/Groups match: %s"
+msgstr ""
+
+#: ../cli.py:1763
 msgid "Done"
 msgstr ""
 
-#: ../cli.py:1296 ../cli.py:1314 ../cli.py:1320 ../yum/__init__.py:3313
+#: ../cli.py:1818
+#, python-format
+msgid "Warning: Group/Environment %s does not exist."
+msgstr ""
+
+#: ../cli.py:1859
+#, python-format
+msgid "Warning: Environment %s does not exist."
+msgstr ""
+
+#: ../cli.py:1873 ../cli.py:1879 ../yum/__init__.py:4254
 #, python-format
 msgid "Warning: Group %s does not exist."
 msgstr "ચેતવણી: જૂથ %s અસ્તિત્વ ધરાવતુ નથી."
 
-#: ../cli.py:1324
+#: ../cli.py:1883
 msgid "No packages in any requested group available to install or update"
 msgstr "સ્થાપિત અથવા સુધારવા ઉપલબ્ધ કોઇપણ સૂચિત થયેલ જૂથમાં પેકેજો નથી"
 
-#: ../cli.py:1326
+#: ../cli.py:1885
+#, python-format
+msgid "%d package to Install"
+msgid_plural "%d packages to Install"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../cli.py:1919 ../yum/__init__.py:3536 ../yum/__init__.py:3766
+#: ../yum/__init__.py:3824
 #, python-format
-msgid "%d Package(s) to Install"
-msgstr "સ્થાપિત કરવા માટે %d પેકેજ(ઓ)"
+msgid "No Environment named %s exists"
+msgstr ""
 
-#: ../cli.py:1336 ../yum/__init__.py:3325
+#: ../cli.py:1935 ../yum/__init__.py:4282
 #, python-format
 msgid "No group named %s exists"
 msgstr ""
 
-#: ../cli.py:1342
+#: ../cli.py:1945
 msgid "No packages to remove from groups"
 msgstr "જૂથોમાંથી દૂર કરવા માટે પેકેજો નથી"
 
-#: ../cli.py:1344
+#: ../cli.py:1947 ../yumcommands.py:3351
 #, python-format
-msgid "%d Package(s) to remove"
-msgstr "દૂર કરવા માટે %d પેકેજ(ઓ)"
+msgid "%d package to remove"
+msgid_plural "%d packages to remove"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:1386
+#: ../cli.py:1988
 #, python-format
 msgid "Package %s is already installed, skipping"
 msgstr "પેકેજ %s પહેલેથી જ સ્થાપિત થયેલ છે, છોડી રહ્યા છે"
 
-#: ../cli.py:1397
+#: ../cli.py:1999
 #, python-format
 msgid "Discarding non-comparable pkg %s.%s"
 msgstr ""
 
 #. we've not got any installed that match n or n+a
-#: ../cli.py:1423
+#: ../cli.py:2025
 #, python-format
 msgid "No other %s installed, adding to list for potential install"
 msgstr ""
 
-#: ../cli.py:1443
+#: ../cli.py:2045
 msgid "Plugin Options"
 msgstr "પ્લગઇન વિકલ્પો"
 
-#: ../cli.py:1451
+#: ../cli.py:2057
 #, python-format
 msgid "Command line error: %s"
 msgstr "આદેશ વાક્ય ભૂલ: %s"
 
-#: ../cli.py:1467
+#: ../cli.py:2079
 #, python-format
 msgid ""
 "\n"
 "\n"
 "%s: %s option requires an argument"
-msgstr ""
-"\n"
-"\n"
-"%s: %s વિકલ્પને દલીલની જરૂર છે"
+msgstr "\n\n%s: %s વિકલ્પને દલીલની જરૂર છે"
 
-#: ../cli.py:1521
+#: ../cli.py:2147
 msgid "--color takes one of: auto, always, never"
 msgstr ""
 
 #. We have a relative installroot ... haha
-#: ../cli.py:1596
+#: ../cli.py:2218
 #, python-format
 msgid "--installroot must be an absolute path: %s"
 msgstr ""
 
-#: ../cli.py:1642
+#: ../cli.py:2272
 msgid "show this help message and exit"
 msgstr ""
 
-#: ../cli.py:1646
+#: ../cli.py:2276
 msgid "be tolerant of errors"
 msgstr ""
 
-#: ../cli.py:1649
+#: ../cli.py:2279
 msgid "run entirely from system cache, don't update cache"
 msgstr ""
 
-#: ../cli.py:1652
+#: ../cli.py:2282
 msgid "config file location"
 msgstr "રૂપરેખાંકન ફાઇલ સ્થાન"
 
-#: ../cli.py:1655
+#: ../cli.py:2285
 msgid "maximum command wait time"
 msgstr ""
 
-#: ../cli.py:1657
+#: ../cli.py:2287
 msgid "debugging output level"
 msgstr "ડિબગીંગ આઉટપુટ લેવલ"
 
-#: ../cli.py:1661
+#: ../cli.py:2291
 msgid "show duplicates, in repos, in list/search commands"
 msgstr ""
 
-#: ../cli.py:1663
+#: ../cli.py:2296
 msgid "error output level"
 msgstr "ભૂલ આઉટપુટ લેવલ"
 
-#: ../cli.py:1666
+#: ../cli.py:2299
 msgid "debugging output level for rpm"
 msgstr "rpm માટે ડિબગીંગ આઉટપુટ લેવલ"
 
-#: ../cli.py:1669
+#: ../cli.py:2302
 msgid "quiet operation"
 msgstr ""
 
-#: ../cli.py:1671
+#: ../cli.py:2304
 msgid "verbose operation"
 msgstr ""
 
-#: ../cli.py:1673
+#: ../cli.py:2306
 msgid "answer yes for all questions"
 msgstr "બધા પ્રશ્ર્નો માટે જવાબ હાં"
 
-#: ../cli.py:1675
+#: ../cli.py:2308
+msgid "answer no for all questions"
+msgstr ""
+
+#: ../cli.py:2312
 msgid "show Yum version and exit"
 msgstr "Yum આવૃત્તિ બતાવો અને બહાર નીકળો"
 
-#: ../cli.py:1676
+#: ../cli.py:2313
 msgid "set install root"
 msgstr "સ્થાપન રુટ સુયોજિત કરો"
 
-#: ../cli.py:1680
+#: ../cli.py:2317
 msgid "enable one or more repositories (wildcards allowed)"
 msgstr "એક અથવા વધારે રિપોઝીટરીઓને સક્રિય કરો (વાઇલ્ડકાર્ડને પરવાનગી આપેલ છે)"
 
-#: ../cli.py:1684
+#: ../cli.py:2321
 msgid "disable one or more repositories (wildcards allowed)"
-msgstr ""
-"એક અથવા વધારે રિપોઝીટરીઓને નિષ્ક્રિય કરો (વાઇલ્ડકાર્ડને પરવાનગી આપેલ છે)"
+msgstr "એક અથવા વધારે રિપોઝીટરીઓને નિષ્ક્રિય કરો (વાઇલ્ડકાર્ડને પરવાનગી આપેલ છે)"
 
-#: ../cli.py:1687
+#: ../cli.py:2324
 msgid "exclude package(s) by name or glob"
 msgstr ""
 
-#: ../cli.py:1689
+#: ../cli.py:2326
 msgid "disable exclude from main, for a repo or for everything"
 msgstr ""
 
-#: ../cli.py:1692
+#: ../cli.py:2329
 msgid "enable obsoletes processing during updates"
 msgstr ""
 
-#: ../cli.py:1694
+#: ../cli.py:2331
 msgid "disable Yum plugins"
 msgstr "Yum પ્લગઇનને નિષ્ક્રિય કરો"
 
-#: ../cli.py:1696
+#: ../cli.py:2333
 msgid "disable gpg signature checking"
 msgstr ""
 
-#: ../cli.py:1698
+#: ../cli.py:2335
 msgid "disable plugins by name"
 msgstr "નામ પ્રમાણે પ્લગઇનને નિષ્ક્રિય કરો"
 
-#: ../cli.py:1701
+#: ../cli.py:2338
 msgid "enable plugins by name"
 msgstr "નામ પ્રમાણે પ્લગઇનને સક્રિય કરો"
 
-#: ../cli.py:1704
+#: ../cli.py:2341
 msgid "skip packages with depsolving problems"
 msgstr ""
 
-#: ../cli.py:1706
+#: ../cli.py:2343
 msgid "control whether color is used"
 msgstr ""
 
-#: ../cli.py:1708
+#: ../cli.py:2345
 msgid "set value of $releasever in yum config and repo files"
 msgstr ""
 
-#: ../cli.py:1710
+#: ../cli.py:2347
+msgid "don't update, just download"
+msgstr ""
+
+#: ../cli.py:2349
+msgid "specifies an alternate directory to store packages"
+msgstr ""
+
+#: ../cli.py:2351
 msgid "set arbitrary config and repo options"
 msgstr ""
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Jan"
 msgstr "જાન્યુઆરી"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Feb"
 msgstr "ફેબ્રુઆરી"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Mar"
 msgstr "માર્ચ"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Apr"
 msgstr "એપ્રિલ"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "May"
 msgstr "મે"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Jun"
 msgstr "જુન"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Jul"
 msgstr "જુલાઇ"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Aug"
 msgstr "ઑગસ્ટ"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Sep"
 msgstr "સપ્ટેમ્બર"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Oct"
 msgstr "ઑક્ટોમ્બર"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Nov"
 msgstr "નવેમ્બર"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Dec"
 msgstr "ડિસેમ્બર"
 
-#: ../output.py:318
+#: ../output.py:473
 msgid "Trying other mirror."
 msgstr "બીજા મિરર માટે પ્રયત્ન કરી રહ્યા છે."
 
-#: ../output.py:581
+#: ../output.py:816
 #, python-format
 msgid "Name        : %s%s%s"
 msgstr "નામ        : %s%s%s"
 
-#: ../output.py:582
+#: ../output.py:817
 #, python-format
 msgid "Arch        : %s"
 msgstr ""
 
-#: ../output.py:584
+#: ../output.py:819
 #, python-format
 msgid "Epoch       : %s"
 msgstr ""
 
-#: ../output.py:585
+#: ../output.py:820
 #, python-format
 msgid "Version     : %s"
 msgstr "આવૃત્તિ     : %s"
 
-#: ../output.py:586
+#: ../output.py:821
 #, python-format
 msgid "Release     : %s"
 msgstr ""
 
-#: ../output.py:587
+#: ../output.py:822
 #, python-format
 msgid "Size        : %s"
 msgstr "માપ        : %s"
 
-#: ../output.py:588 ../output.py:900
+#: ../output.py:823 ../output.py:1329
 #, python-format
 msgid "Repo        : %s"
 msgstr ""
 
-#: ../output.py:590
+#: ../output.py:825
 #, python-format
 msgid "From repo   : %s"
 msgstr ""
 
-#: ../output.py:592
+#: ../output.py:827
 #, python-format
 msgid "Committer   : %s"
 msgstr ""
 
-#: ../output.py:593
+#: ../output.py:828
 #, python-format
 msgid "Committime  : %s"
 msgstr ""
 
-#: ../output.py:594
+#: ../output.py:829
 #, python-format
 msgid "Buildtime   : %s"
 msgstr ""
 
-#: ../output.py:596
+#: ../output.py:831
 #, python-format
 msgid "Install time: %s"
 msgstr ""
 
-#: ../output.py:604
+#: ../output.py:839
 #, python-format
 msgid "Installed by: %s"
 msgstr ""
 
-#: ../output.py:611
+#: ../output.py:846
 #, python-format
 msgid "Changed by  : %s"
 msgstr ""
 
-#: ../output.py:612
+#: ../output.py:847
 msgid "Summary     : "
 msgstr "સારાંશ     : "
 
-#: ../output.py:614 ../output.py:913
+#: ../output.py:849 ../output.py:1345
 #, python-format
 msgid "URL         : %s"
 msgstr "URL         : %s"
 
-#: ../output.py:615
+#: ../output.py:850
 msgid "License     : "
 msgstr "લાઇસન્સ     : "
 
-#: ../output.py:616 ../output.py:910
+#: ../output.py:851 ../output.py:1342
 msgid "Description : "
 msgstr "વર્ણન : "
 
-#: ../output.py:684
+#: ../output.py:969
 msgid "y"
 msgstr "y"
 
-#: ../output.py:684
+#: ../output.py:969
 msgid "yes"
 msgstr "હાં"
 
-#: ../output.py:685
+#: ../output.py:970
 msgid "n"
 msgstr "n"
 
-#: ../output.py:685
+#: ../output.py:970
 msgid "no"
 msgstr "નાં"
 
-#: ../output.py:689
+#: ../output.py:974
 msgid "Is this ok [y/N]: "
 msgstr "શું આ બરાબર છે [y/N]: "
 
-#: ../output.py:777
+#: ../output.py:1097
 #, python-format
 msgid ""
 "\n"
 "Group: %s"
-msgstr ""
-"\n"
-"જૂથ: %s"
+msgstr "\nજૂથ: %s"
 
-#: ../output.py:781
+#: ../output.py:1101
 #, python-format
 msgid " Group-Id: %s"
 msgstr " જૂથ-Id: %s"
 
-#: ../output.py:786
+#: ../output.py:1122 ../output.py:1169
 #, python-format
 msgid " Description: %s"
 msgstr " વર્ણન: %s"
 
-#: ../output.py:788
+#: ../output.py:1124
 #, python-format
 msgid " Language: %s"
 msgstr ""
 
-#: ../output.py:790
+#: ../output.py:1126
 msgid " Mandatory Packages:"
 msgstr " ફરજિયાત પેકેજો:"
 
-#: ../output.py:791
+#: ../output.py:1127
 msgid " Default Packages:"
 msgstr " મૂળભૂત પેકેજો:"
 
-#: ../output.py:792
+#: ../output.py:1128
 msgid " Optional Packages:"
 msgstr " વૈકલ્પિક પેકેજો:"
 
-#: ../output.py:793
+#: ../output.py:1129
 msgid " Conditional Packages:"
 msgstr " શરતી પેકેજો:"
 
-#: ../output.py:814
+#: ../output.py:1147
+msgid " Installed Packages:"
+msgstr ""
+
+#: ../output.py:1157
+#, python-format
+msgid ""
+"\n"
+"Environment Group: %s"
+msgstr ""
+
+#: ../output.py:1158
+#, python-format
+msgid " Environment-Id: %s"
+msgstr ""
+
+#: ../output.py:1191
+msgid " Mandatory Groups:"
+msgstr ""
+
+#: ../output.py:1192
+msgid " Optional Groups:"
+msgstr ""
+
+#: ../output.py:1205
+msgid " Installed Groups:"
+msgstr ""
+
+#: ../output.py:1217
 #, python-format
 msgid "package: %s"
 msgstr "પેકેજ: %s"
 
-#: ../output.py:816
+#: ../output.py:1219
 msgid "  No dependencies for this package"
 msgstr ""
 
-#: ../output.py:821
+#: ../output.py:1224
 #, python-format
 msgid "  dependency: %s"
 msgstr ""
 
-#: ../output.py:823
+#: ../output.py:1226
 msgid "   Unsatisfied dependency"
 msgstr ""
 
-#: ../output.py:901
+#: ../output.py:1337
 msgid "Matched from:"
 msgstr ""
 
-#: ../output.py:916
+#: ../output.py:1348
 #, python-format
 msgid "License     : %s"
 msgstr "લાઇસન્સ     : %s"
 
-#: ../output.py:919
+#: ../output.py:1351
 #, python-format
 msgid "Filename    : %s"
 msgstr "ફાઇલનામ    : %s"
 
-#: ../output.py:923
+#: ../output.py:1360
+msgid "Provides    : "
+msgstr ""
+
+#: ../output.py:1363
 msgid "Other       : "
 msgstr "બીજા       : "
 
-#: ../output.py:966
+#: ../output.py:1426
 msgid "There was an error calculating total download size"
 msgstr ""
 
-#: ../output.py:971
+#: ../output.py:1431
 #, python-format
 msgid "Total size: %s"
 msgstr "કુલ માપ: %s"
 
-#: ../output.py:974
+#: ../output.py:1433
 #, python-format
 msgid "Total download size: %s"
 msgstr "કુલ ડાઉનલોડ માપ: %s"
 
-#: ../output.py:978 ../output.py:998
+#: ../output.py:1436 ../output.py:1459 ../output.py:1463
 #, python-format
 msgid "Installed size: %s"
 msgstr "સ્થાપિત થયેલ માપ: %s"
 
-#: ../output.py:994
+#: ../output.py:1454
 msgid "There was an error calculating installed size"
 msgstr ""
 
-#: ../output.py:1039
+#: ../output.py:1504
 msgid "Reinstalling"
 msgstr "પુન:સ્થાપિત કરી રહ્યા છે"
 
-#: ../output.py:1040
+#: ../output.py:1505
 msgid "Downgrading"
 msgstr ""
 
-#: ../output.py:1041
+#: ../output.py:1506
 msgid "Installing for dependencies"
 msgstr ""
 
-#: ../output.py:1042
+#: ../output.py:1507
 msgid "Updating for dependencies"
 msgstr ""
 
-#: ../output.py:1043
+#: ../output.py:1508
 msgid "Removing for dependencies"
 msgstr ""
 
-#: ../output.py:1050 ../output.py:1171
+#: ../output.py:1515 ../output.py:1576 ../output.py:1672
 msgid "Skipped (dependency problems)"
 msgstr ""
 
-#: ../output.py:1052 ../output.py:1687
+#: ../output.py:1517 ../output.py:1577 ../output.py:2223
 msgid "Not installed"
 msgstr "સ્થાપિત થયેલ નથી"
 
-#: ../output.py:1053
+#: ../output.py:1518 ../output.py:1578
 msgid "Not available"
 msgstr ""
 
-#: ../output.py:1075 ../output.py:2024
+#: ../output.py:1540 ../output.py:1588 ../output.py:1604 ../output.py:2581
 msgid "Package"
-msgstr "પેકેજ"
+msgid_plural "Packages"
+msgstr[0] ""
+msgstr[1] "પેકેજ"
 
-#: ../output.py:1075
+#: ../output.py:1540
 msgid "Arch"
 msgstr ""
 
-#: ../output.py:1076
+#: ../output.py:1541
 msgid "Version"
 msgstr "આવૃત્તિ"
 
-#: ../output.py:1076
+#: ../output.py:1541
 msgid "Repository"
 msgstr "રિપોઝીટરી"
 
-#: ../output.py:1077
+#: ../output.py:1542
 msgid "Size"
 msgstr "માપ"
 
-#: ../output.py:1089
+#: ../output.py:1554
 #, python-format
 msgid "     replacing  %s%s%s.%s %s\n"
 msgstr ""
 
-#: ../output.py:1098
+#: ../output.py:1563
 #, python-format
 msgid ""
 "\n"
@@ -878,65 +995,66 @@ msgid ""
 "%s\n"
 msgstr ""
 
-#: ../output.py:1109
-#, python-format
-msgid "Install   %5.5s Package(s)\n"
+#: ../output.py:1568 ../output.py:2376 ../output.py:2377
+msgid "Install"
 msgstr ""
 
-#: ../output.py:1113
-#, python-format
-msgid "Upgrade   %5.5s Package(s)\n"
+#: ../output.py:1570
+msgid "Upgrade"
 msgstr ""
 
-#: ../output.py:1117
-#, python-format
-msgid "Remove    %5.5s Package(s)\n"
+#: ../output.py:1572
+msgid "Remove"
 msgstr ""
 
-#: ../output.py:1121
-#, python-format
-msgid "Reinstall %5.5s Package(s)\n"
-msgstr ""
+#: ../output.py:1574 ../output.py:2382
+msgid "Reinstall"
+msgstr "પુન:સ્થાપિત કરો"
 
-#: ../output.py:1125
-#, python-format
-msgid "Downgrade %5.5s Package(s)\n"
+#: ../output.py:1575 ../output.py:2383
+msgid "Downgrade"
 msgstr ""
 
-#: ../output.py:1165
+#: ../output.py:1606
+msgid "Dependent package"
+msgid_plural "Dependent packages"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../output.py:1666
 msgid "Removed"
 msgstr "દૂર કરેલ"
 
-#: ../output.py:1166
+#: ../output.py:1667
 msgid "Dependency Removed"
 msgstr ""
 
-#: ../output.py:1168
+#: ../output.py:1669
 msgid "Dependency Installed"
 msgstr ""
 
-#: ../output.py:1170
+#: ../output.py:1671
 msgid "Dependency Updated"
 msgstr ""
 
-#: ../output.py:1172
+#: ../output.py:1673
 msgid "Replaced"
 msgstr ""
 
-#: ../output.py:1173
+#: ../output.py:1674
 msgid "Failed"
 msgstr "નિષ્ફળ"
 
 #. Delta between C-c's so we treat as exit
-#: ../output.py:1260
+#: ../output.py:1764
 msgid "two"
 msgstr "બે"
 
 #. For translators: This is output like:
 #. Current download cancelled, interrupt (ctrl-c) again within two seconds
 #. to exit.
-#. Where "interupt (ctrl-c) again" and "two" are highlighted.
-#: ../output.py:1271
+#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
+#: ../output.py:1775
 #, python-format
 msgid ""
 "\n"
@@ -944,541 +1062,584 @@ msgid ""
 "to exit.\n"
 msgstr ""
 
-#: ../output.py:1282
+#: ../output.py:1786
 msgid "user interrupt"
 msgstr ""
 
-#: ../output.py:1300
+#: ../output.py:1812
 msgid "Total"
 msgstr "કુલ"
 
-#: ../output.py:1322
+#: ../output.py:1834
 msgid "I"
 msgstr "I"
 
-#: ../output.py:1323
+#: ../output.py:1835
 msgid "O"
 msgstr "O"
 
-#: ../output.py:1324
+#: ../output.py:1836
 msgid "E"
 msgstr "E"
 
-#: ../output.py:1325
+#: ../output.py:1837
 msgid "R"
 msgstr "R"
 
-#: ../output.py:1326
+#: ../output.py:1838
 msgid "D"
 msgstr "D"
 
-#: ../output.py:1327
+#: ../output.py:1839
 msgid "U"
 msgstr "U"
 
-#: ../output.py:1341
+#: ../output.py:1853
 msgid "<unset>"
 msgstr "<unset>"
 
-#: ../output.py:1342
+#: ../output.py:1854
 msgid "System"
 msgstr "સિસ્ટમ"
 
-#: ../output.py:1411
+#: ../output.py:1923
 #, python-format
 msgid "Skipping merged transaction %d to %d, as it overlaps"
 msgstr ""
 
-#: ../output.py:1421 ../output.py:1592
+#: ../output.py:1933 ../output.py:2125
 msgid "No transactions"
 msgstr ""
 
-#: ../output.py:1446 ../output.py:2013
+#: ../output.py:1958 ../output.py:2570 ../output.py:2660
 msgid "Bad transaction IDs, or package(s), given"
 msgstr ""
 
-#: ../output.py:1484
+#: ../output.py:2007
 msgid "Command line"
 msgstr ""
 
-#: ../output.py:1486 ../output.py:1908
+#: ../output.py:2009 ../output.py:2458
 msgid "Login user"
 msgstr ""
 
 #. REALLY Needs to use columns!
-#: ../output.py:1487 ../output.py:2022
+#: ../output.py:2010 ../output.py:2579
 msgid "ID"
 msgstr "ID"
 
-#: ../output.py:1489
+#: ../output.py:2012
 msgid "Date and time"
 msgstr "તારીખ અને સમય"
 
-#: ../output.py:1490 ../output.py:1910 ../output.py:2023
+#: ../output.py:2013 ../output.py:2460 ../output.py:2580
 msgid "Action(s)"
 msgstr "ક્રિયા (ઓ)"
 
-#: ../output.py:1491 ../output.py:1911
+#: ../output.py:2014 ../output.py:2461
 msgid "Altered"
 msgstr ""
 
-#: ../output.py:1538
+#: ../output.py:2061
 msgid "No transaction ID given"
 msgstr ""
 
-#: ../output.py:1564 ../output.py:1972
+#: ../output.py:2087 ../output.py:2526
 msgid "Bad transaction ID given"
 msgstr ""
 
-#: ../output.py:1569
+#: ../output.py:2092
 msgid "Not found given transaction ID"
 msgstr ""
 
-#: ../output.py:1577
+#: ../output.py:2100
 msgid "Found more than one transaction ID!"
 msgstr ""
 
-#: ../output.py:1618 ../output.py:1980
+#: ../output.py:2151 ../output.py:2534
 msgid "No transaction ID, or package, given"
 msgstr ""
 
-#: ../output.py:1686 ../output.py:1845
+#: ../output.py:2222 ../output.py:2384
 msgid "Downgraded"
 msgstr ""
 
-#: ../output.py:1688
+#: ../output.py:2224
 msgid "Older"
 msgstr ""
 
-#: ../output.py:1688
+#: ../output.py:2224
 msgid "Newer"
 msgstr ""
 
-#: ../output.py:1724 ../output.py:1726
+#: ../output.py:2261 ../output.py:2263 ../output.py:2681
 msgid "Transaction ID :"
 msgstr ""
 
-#: ../output.py:1728
+#: ../output.py:2265 ../output.py:2683
 msgid "Begin time     :"
 msgstr ""
 
-#: ../output.py:1731 ../output.py:1733
+#: ../output.py:2268 ../output.py:2270
 msgid "Begin rpmdb    :"
 msgstr ""
 
-#: ../output.py:1749
+#: ../output.py:2286
 #, python-format
 msgid "(%u seconds)"
 msgstr ""
 
-#: ../output.py:1751
+#: ../output.py:2288
 #, python-format
 msgid "(%u minutes)"
 msgstr ""
 
-#: ../output.py:1753
+#: ../output.py:2290
 #, python-format
 msgid "(%u hours)"
 msgstr ""
 
-#: ../output.py:1755
+#: ../output.py:2292
 #, python-format
 msgid "(%u days)"
 msgstr ""
 
-#: ../output.py:1756
+#: ../output.py:2293
 msgid "End time       :"
 msgstr ""
 
-#: ../output.py:1759 ../output.py:1761
+#: ../output.py:2296 ../output.py:2298
 msgid "End rpmdb      :"
 msgstr ""
 
-#: ../output.py:1764 ../output.py:1766
+#: ../output.py:2301 ../output.py:2303
 msgid "User           :"
 msgstr "વપરાશકર્તા           :"
 
-#: ../output.py:1770 ../output.py:1773 ../output.py:1775 ../output.py:1777
-#: ../output.py:1779
+#: ../output.py:2307 ../output.py:2310 ../output.py:2312 ../output.py:2314
+#: ../output.py:2316
 msgid "Return-Code    :"
 msgstr ""
 
-#: ../output.py:1770 ../output.py:1775
+#: ../output.py:2307 ../output.py:2312
 msgid "Aborted"
 msgstr ""
 
-#: ../output.py:1773
+#: ../output.py:2310
 msgid "Failures:"
 msgstr ""
 
-#: ../output.py:1777
+#: ../output.py:2314
 msgid "Failure:"
 msgstr "નિષ્ફળતા:"
 
-#: ../output.py:1779
+#: ../output.py:2316
 msgid "Success"
 msgstr "સફળતા"
 
-#: ../output.py:1784 ../output.py:1786
+#: ../output.py:2321 ../output.py:2323 ../output.py:2712
 msgid "Command Line   :"
 msgstr "આદેશ વાક્ય   :"
 
-#: ../output.py:1795
+#: ../output.py:2332
 #, python-format
 msgid "Additional non-default information stored: %d"
 msgstr ""
 
 #. This is _possible_, but not common
-#: ../output.py:1800
+#: ../output.py:2337
 msgid "Transaction performed with:"
 msgstr ""
 
-#: ../output.py:1804
+#: ../output.py:2341
 msgid "Packages Altered:"
 msgstr ""
 
-#: ../output.py:1808
+#: ../output.py:2345
 msgid "Packages Skipped:"
 msgstr ""
 
-#: ../output.py:1814
+#: ../output.py:2353
 msgid "Rpmdb Problems:"
 msgstr "Rpmdb સમસ્યાઓ:"
 
-#: ../output.py:1825
+#: ../output.py:2364
 msgid "Scriptlet output:"
 msgstr ""
 
-#: ../output.py:1831
+#: ../output.py:2370
 msgid "Errors:"
 msgstr "ભૂલો:"
 
-#: ../output.py:1837 ../output.py:1838
-msgid "Install"
-msgstr ""
-
-#: ../output.py:1839
+#: ../output.py:2378
 msgid "Dep-Install"
 msgstr ""
 
-#: ../output.py:1841
+#: ../output.py:2380
 msgid "Obsoleting"
 msgstr ""
 
-#: ../output.py:1842
+#: ../output.py:2381
 msgid "Erase"
 msgstr "ભૂંસી નાખો"
 
-#: ../output.py:1843
-msgid "Reinstall"
-msgstr "પુન:સ્થાપિત કરો"
-
-#: ../output.py:1844
-msgid "Downgrade"
-msgstr ""
-
-#: ../output.py:1846
+#: ../output.py:2385
 msgid "Update"
 msgstr "સુધારવું"
 
-#: ../output.py:1909
+#: ../output.py:2459
 msgid "Time"
 msgstr "સમય"
 
-#: ../output.py:1935
+#: ../output.py:2485
 msgid "Last day"
 msgstr "છેલ્લો દિવસ"
 
-#: ../output.py:1936
+#: ../output.py:2486
 msgid "Last week"
 msgstr "છેલ્લુ અઠવાડિયું"
 
-#: ../output.py:1937
+#: ../output.py:2487
 msgid "Last 2 weeks"
 msgstr "છેલ્લા 2 અઠવાડિયાઓ"
 
 #. US default :p
-#: ../output.py:1938
+#: ../output.py:2488
 msgid "Last 3 months"
 msgstr "છેલ્લા 3 મહિનાઓ"
 
-#: ../output.py:1939
+#: ../output.py:2489
 msgid "Last 6 months"
 msgstr "છેલ્લા 6 મહિનાઓ"
 
-#: ../output.py:1940
+#: ../output.py:2490
 msgid "Last year"
 msgstr "છેલ્લુ વર્ષ"
 
-#: ../output.py:1941
+#: ../output.py:2491
 msgid "Over a year ago"
 msgstr ""
 
-#: ../output.py:1984
+#: ../output.py:2538
 #, python-format
 msgid "No Transaction %s found"
 msgstr ""
 
-#: ../output.py:1990
+#: ../output.py:2544
 msgid "Transaction ID:"
 msgstr ""
 
-#: ../output.py:1991
+#: ../output.py:2545
 msgid "Available additional history information:"
 msgstr "ઉપલબ્ધ વધારાની ઇતિહાસ જાણકારી:"
 
-#: ../output.py:2003
+#: ../output.py:2558
 #, python-format
 msgid "%s: No additional data found by this name"
 msgstr "%s: આ નામ પ્રમાણે વધારાની માહિતી મળી નથી"
 
-#: ../output.py:2106
+#: ../output.py:2684
+msgid "Package        :"
+msgstr ""
+
+#: ../output.py:2685
+msgid "State          :"
+msgstr ""
+
+#: ../output.py:2688
+msgid "Size           :"
+msgstr ""
+
+#: ../output.py:2690
+msgid "Build host     :"
+msgstr ""
+
+#: ../output.py:2693
+msgid "Build time     :"
+msgstr ""
+
+#: ../output.py:2695
+msgid "Packager       :"
+msgstr ""
+
+#: ../output.py:2697
+msgid "Vendor         :"
+msgstr ""
+
+#: ../output.py:2699
+msgid "License        :"
+msgstr ""
+
+#: ../output.py:2701
+msgid "URL            :"
+msgstr ""
+
+#: ../output.py:2703
+msgid "Source RPM     :"
+msgstr ""
+
+#: ../output.py:2706
+msgid "Commit Time    :"
+msgstr ""
+
+#: ../output.py:2708
+msgid "Committer      :"
+msgstr ""
+
+#: ../output.py:2710
+msgid "Reason         :"
+msgstr ""
+
+#: ../output.py:2714
+msgid "From repo      :"
+msgstr ""
+
+#: ../output.py:2718
+msgid "Installed by   :"
+msgstr ""
+
+#: ../output.py:2722
+msgid "Changed by     :"
+msgstr ""
+
+#: ../output.py:2767
 msgid "installed"
 msgstr "સ્થાપિત થયેલ"
 
-#: ../output.py:2107
+#: ../output.py:2768
 msgid "an update"
 msgstr ""
 
-#: ../output.py:2108
+#: ../output.py:2769
 msgid "erased"
 msgstr "ભૂંસી નાખેલ"
 
-#: ../output.py:2109
+#: ../output.py:2770
 msgid "reinstalled"
 msgstr "પુન:સ્થાપિત થયેલ"
 
-#: ../output.py:2110
+#: ../output.py:2771
 msgid "a downgrade"
 msgstr ""
 
-#: ../output.py:2111
+#: ../output.py:2772
 msgid "obsoleting"
 msgstr ""
 
-#: ../output.py:2112
+#: ../output.py:2773
 msgid "updated"
 msgstr "સુધારેલ"
 
-#: ../output.py:2113
+#: ../output.py:2774
 msgid "obsoleted"
 msgstr "અપ્રચલિત થયેલ"
 
-#: ../output.py:2117
+#: ../output.py:2778
 #, python-format
 msgid "---> Package %s.%s %s:%s-%s will be %s"
 msgstr ""
 
-#: ../output.py:2124
+#: ../output.py:2789
 msgid "--> Running transaction check"
 msgstr ""
 
-#: ../output.py:2129
+#: ../output.py:2795
 msgid "--> Restarting Dependency Resolution with new changes."
 msgstr ""
 
-#: ../output.py:2134
+#: ../output.py:2801
 msgid "--> Finished Dependency Resolution"
 msgstr ""
 
-#: ../output.py:2139 ../output.py:2144
+#: ../output.py:2814 ../output.py:2827
 #, python-format
 msgid "--> Processing Dependency: %s for package: %s"
 msgstr ""
 
-#: ../output.py:2149
+#: ../output.py:2841
 #, python-format
-msgid "---> Keeping package: %s"
-msgstr "---> પેકેજને રાખી રહ્યા છે: %s"
+msgid "---> Keeping package: %s due to %s"
+msgstr ""
 
-#: ../output.py:2152
+#: ../output.py:2850
 #, python-format
 msgid "--> Unresolved Dependency: %s"
 msgstr ""
 
-#: ../output.py:2163
+#: ../output.py:2867
 #, python-format
 msgid "Package: %s"
 msgstr "પેકેજ: %s"
 
-#: ../output.py:2165
+#: ../output.py:2869
 #, python-format
 msgid ""
 "\n"
 "    Requires: %s"
 msgstr ""
 
-#: ../output.py:2174
+#: ../output.py:2878
 #, python-format
 msgid ""
 "\n"
 "    %s: %s (%s)"
-msgstr ""
-"\n"
-"    %s: %s (%s)"
+msgstr "\n    %s: %s (%s)"
 
-#: ../output.py:2179
+#: ../output.py:2883
 #, python-format
 msgid ""
 "\n"
 "        %s"
-msgstr ""
-"\n"
-"        %s"
+msgstr "\n        %s"
 
-#: ../output.py:2181
+#: ../output.py:2885
 msgid ""
 "\n"
 "        Not found"
-msgstr ""
-"\n"
-"        મળ્યુ નથી"
+msgstr "\n        મળ્યુ નથી"
 
 #. These should be the only three things we care about:
-#: ../output.py:2196
+#: ../output.py:2900
 msgid "Updated By"
 msgstr ""
 
-#: ../output.py:2197
+#: ../output.py:2901
 msgid "Downgraded By"
 msgstr ""
 
-#: ../output.py:2198
+#: ../output.py:2902
 msgid "Obsoleted By"
 msgstr ""
 
-#: ../output.py:2216
+#: ../output.py:2920
 msgid "Available"
 msgstr "ઉપલબ્ધ"
 
-#: ../output.py:2243 ../output.py:2248
+#: ../output.py:2955 ../output.py:2968
 #, python-format
 msgid "--> Processing Conflict: %s conflicts %s"
 msgstr ""
 
-#: ../output.py:2252
+#: ../output.py:2974
 msgid "--> Populating transaction set with selected packages. Please wait."
 msgstr ""
 
-#: ../output.py:2256
+#: ../output.py:2983
 #, python-format
 msgid "---> Downloading header for %s to pack into transaction set."
 msgstr ""
 
-#: ../utils.py:99
+#. self.event(txmbr.name, count, len(base.tsInfo), count, )
+#. (te_current*100L)/te_total
+#: ../output.py:3248
+msgid "Verifying"
+msgstr ""
+
+#: ../utils.py:123
 msgid "Running"
 msgstr "ચાલી રહ્યુ છે"
 
-#: ../utils.py:100
+#: ../utils.py:124
 msgid "Sleeping"
 msgstr ""
 
-#: ../utils.py:101
+#: ../utils.py:125
 msgid "Uninterruptible"
 msgstr ""
 
-#: ../utils.py:102
+#: ../utils.py:126
 msgid "Zombie"
 msgstr ""
 
-#: ../utils.py:103
+#: ../utils.py:127
 msgid "Traced/Stopped"
 msgstr ""
 
-#: ../utils.py:104 ../yumcommands.py:994
+#: ../utils.py:128 ../yumcommands.py:2193
 msgid "Unknown"
 msgstr "અજ્ઞાત"
 
-#: ../utils.py:115
+#: ../utils.py:153
 msgid "  The other application is: PackageKit"
 msgstr ""
 
-#: ../utils.py:117
+#: ../utils.py:155
 #, python-format
 msgid "  The other application is: %s"
 msgstr ""
 
-#: ../utils.py:120
+#: ../utils.py:158
 #, python-format
 msgid "    Memory : %5s RSS (%5sB VSZ)"
 msgstr "    મેમરી : %5s RSS (%5sB VSZ)"
 
-#: ../utils.py:125
+#: ../utils.py:163
 #, python-format
 msgid "    Started: %s - %s ago"
 msgstr ""
 
-#: ../utils.py:127
+#: ../utils.py:165
 #, python-format
 msgid "    State  : %s, pid: %d"
 msgstr ""
 
-#: ../utils.py:170 ../yummain.py:43
+#: ../utils.py:194 ../yummain.py:43
 msgid ""
 "\n"
 "\n"
 "Exiting on user cancel"
 msgstr ""
 
-#: ../utils.py:176 ../yummain.py:49
+#: ../utils.py:206 ../yummain.py:49
 msgid ""
 "\n"
 "\n"
 "Exiting on Broken Pipe"
 msgstr ""
 
-#: ../utils.py:178 ../yummain.py:51
+#: ../utils.py:208 ../yummain.py:51
 #, python-format
 msgid ""
 "\n"
 "\n"
 "%s"
-msgstr ""
-"\n"
-"\n"
-"%s"
-
-#: ../utils.py:228 ../yummain.py:123
-msgid ""
-"Another app is currently holding the yum lock; exiting as configured by "
-"exit_on_lock"
-msgstr ""
+msgstr "\n\n%s"
 
-#: ../utils.py:287
+#: ../utils.py:326
 #, python-format
 msgid "PluginExit Error: %s"
 msgstr "PluginExit ભૂલ: %s"
 
-#: ../utils.py:290
+#: ../utils.py:329
 #, python-format
 msgid "Yum Error: %s"
 msgstr "Yum ભૂલ: %s"
 
-#: ../utils.py:342 ../yummain.py:150 ../yummain.py:189
+#: ../utils.py:387 ../yummain.py:147 ../yummain.py:186
 #, python-format
 msgid "Error: %s"
 msgstr "ભૂલ: %s"
 
-#: ../utils.py:346 ../yummain.py:194
+#: ../utils.py:391 ../yummain.py:191
 msgid " You could try using --skip-broken to work around the problem"
 msgstr ""
 
-#: ../utils.py:348 ../yummain.py:87
+#: ../utils.py:393 ../yummain.py:87
 msgid " You could try running: rpm -Va --nofiles --nodigest"
 msgstr ""
 
-#: ../utils.py:355 ../yummain.py:160 ../yummain.py:202
+#: ../utils.py:400 ../yummain.py:157 ../yummain.py:199
 #, python-format
 msgid "Unknown Error(s): Exit Code: %d:"
 msgstr ""
 
-#: ../utils.py:361 ../yummain.py:208
+#: ../utils.py:406 ../yummain.py:205
 msgid ""
 "\n"
 "Dependencies Resolved"
 msgstr ""
 
-#: ../utils.py:376 ../yummain.py:234
+#: ../utils.py:422 ../yummain.py:237
 msgid "Complete!"
 msgstr "સમાપ્ત!"
 
@@ -1490,7 +1651,7 @@ msgstr ""
 msgid "You need to be root to perform this command."
 msgstr "આ આદેશને ચલાવવા માટે તમારે રુટમાં હોવુ જરૂરી છે."
 
-#: ../yumcommands.py:59
+#: ../yumcommands.py:67
 msgid ""
 "\n"
 "You have enabled checking of packages via GPG keys. This is a good thing. \n"
@@ -1507,555 +1668,648 @@ msgid ""
 "For more information contact your distribution or package provider.\n"
 msgstr ""
 
-#: ../yumcommands.py:74
+#: ../yumcommands.py:82
 #, python-format
 msgid "Problem repository: %s"
 msgstr ""
 
-#: ../yumcommands.py:80
+#: ../yumcommands.py:96
 #, python-format
 msgid "Error: Need to pass a list of pkgs to %s"
 msgstr ""
 
-#: ../yumcommands.py:86
+#: ../yumcommands.py:114
+#, python-format
+msgid "Error: Need at least two packages to %s"
+msgstr ""
+
+#: ../yumcommands.py:129
+#, python-format
+msgid "Error: Need to pass a repoid. and command to %s"
+msgstr ""
+
+#: ../yumcommands.py:136 ../yumcommands.py:142
+#, python-format
+msgid "Error: Need to pass a single valid repoid. to %s"
+msgstr ""
+
+#: ../yumcommands.py:147
+#, python-format
+msgid "Error: Repo %s is not enabled"
+msgstr ""
+
+#: ../yumcommands.py:164
 msgid "Error: Need an item to match"
 msgstr ""
 
-#: ../yumcommands.py:92
+#: ../yumcommands.py:178
 msgid "Error: Need a group or list of groups"
 msgstr ""
 
-#: ../yumcommands.py:101
+#: ../yumcommands.py:195
 #, python-format
 msgid "Error: clean requires an option: %s"
 msgstr ""
 
-#: ../yumcommands.py:106
+#: ../yumcommands.py:201
 #, python-format
 msgid "Error: invalid clean argument: %r"
 msgstr ""
 
-#: ../yumcommands.py:119
+#: ../yumcommands.py:216
 msgid "No argument to shell"
 msgstr ""
 
-#: ../yumcommands.py:121
+#: ../yumcommands.py:218
 #, python-format
 msgid "Filename passed to shell: %s"
 msgstr ""
 
-#: ../yumcommands.py:125
+#: ../yumcommands.py:222
 #, python-format
 msgid "File %s given as argument to shell does not exist."
 msgstr ""
 
-#: ../yumcommands.py:131
+#: ../yumcommands.py:228
 msgid "Error: more than one file given as argument to shell."
 msgstr ""
 
-#: ../yumcommands.py:148
+#: ../yumcommands.py:247
 msgid ""
 "There are no enabled repos.\n"
 " Run \"yum repolist all\" to see the repos you have.\n"
 " You can enable repos with yum-config-manager --enable <repo>"
 msgstr ""
 
-#: ../yumcommands.py:200
+#: ../yumcommands.py:383
 msgid "PACKAGE..."
 msgstr "PACKAGE..."
 
-#: ../yumcommands.py:203
+#: ../yumcommands.py:390
 msgid "Install a package or packages on your system"
 msgstr "તમારી સિસ્ટમ પર પેકેજ અથવા પેકેજોને સ્થાપિત કરો"
 
-#: ../yumcommands.py:212
+#: ../yumcommands.py:421
 msgid "Setting up Install Process"
 msgstr "સ્થાપન પ્રક્રિયાને સુયોજિત કરી રહ્યા છે"
 
-#: ../yumcommands.py:223 ../yumcommands.py:245
+#: ../yumcommands.py:447 ../yumcommands.py:507
 msgid "[PACKAGE...]"
 msgstr "[PACKAGE...]"
 
-#: ../yumcommands.py:226
+#: ../yumcommands.py:454
 msgid "Update a package or packages on your system"
 msgstr "તમારી સિસ્ટમ પર પેકેજ અથવા પેકેજોને સુધારવું"
 
-#: ../yumcommands.py:234
+#: ../yumcommands.py:483
 msgid "Setting up Update Process"
 msgstr "સુધારવાની પ્રક્રિયાને સુયોજિત કરી રહ્યા છીએ"
 
-#: ../yumcommands.py:248
+#: ../yumcommands.py:514
 msgid "Synchronize installed packages to the latest available versions"
 msgstr ""
 
-#: ../yumcommands.py:256
+#: ../yumcommands.py:543
 msgid "Setting up Distribution Synchronization Process"
 msgstr ""
 
-#: ../yumcommands.py:299
+#: ../yumcommands.py:603
 msgid "Display details about a package or group of packages"
 msgstr ""
 
-#: ../yumcommands.py:348
+#: ../yumcommands.py:672
 msgid "Installed Packages"
 msgstr "સ્થાપિત થયેલ પેકેજો"
 
-#: ../yumcommands.py:356
+#: ../yumcommands.py:682
 msgid "Available Packages"
 msgstr "ઉપલબ્ધ પેકેજો"
 
-#: ../yumcommands.py:360
+#: ../yumcommands.py:687
 msgid "Extra Packages"
 msgstr "વધારાનાં પેકેજો"
 
-#: ../yumcommands.py:364
+#: ../yumcommands.py:691
 msgid "Updated Packages"
 msgstr "સુધારેલ પેકેજો"
 
 #. This only happens in verbose mode
-#: ../yumcommands.py:372 ../yumcommands.py:379 ../yumcommands.py:667
+#: ../yumcommands.py:699 ../yumcommands.py:706 ../yumcommands.py:1539
 msgid "Obsoleting Packages"
 msgstr "પેકેજોને અપ્રચલિત કરી રહ્યા છે"
 
-#: ../yumcommands.py:381
+#: ../yumcommands.py:708
 msgid "Recently Added Packages"
 msgstr "હમણાંજ ઉમેરેલ પેકેજો"
 
-#: ../yumcommands.py:388
+#: ../yumcommands.py:715
 msgid "No matching Packages to list"
 msgstr ""
 
-#: ../yumcommands.py:402
+#: ../yumcommands.py:766
 msgid "List a package or groups of packages"
 msgstr ""
 
-#: ../yumcommands.py:414
+#: ../yumcommands.py:797
 msgid "Remove a package or packages from your system"
 msgstr ""
 
-#: ../yumcommands.py:421
+#: ../yumcommands.py:845
 msgid "Setting up Remove Process"
 msgstr "દૂર કરવાની પ્રક્રિયાને સુયોજિત કરી રહ્યા છીએ"
 
-#: ../yumcommands.py:435
+#: ../yumcommands.py:906
+msgid "Display, or use, the groups information"
+msgstr ""
+
+#: ../yumcommands.py:909
 msgid "Setting up Group Process"
 msgstr "જૂથ પ્રક્રિયાને સુયોજિત કરી રહ્યા છીએ"
 
-#: ../yumcommands.py:441
+#: ../yumcommands.py:915
 msgid "No Groups on which to run command"
 msgstr ""
 
-#: ../yumcommands.py:454
-msgid "List available package groups"
-msgstr "ઉપલબ્ધ પેકેજ જૂથોની યાદી કરો"
-
-#: ../yumcommands.py:474
-msgid "Install the packages in a group on your system"
-msgstr "તમારી સિસ્ટમ પર જૂથમાં પેકેજોને સ્થાપિત કરો"
+#: ../yumcommands.py:985
+#, python-format
+msgid "Invalid groups sub-command, use: %s."
+msgstr ""
 
-#: ../yumcommands.py:497
-msgid "Remove the packages in a group from your system"
-msgstr "તમારી સિસ્ટમમાંથી જૂથમાં પેકેજોને દૂર કરો"
+#: ../yumcommands.py:992
+msgid "There is no installed groups file."
+msgstr ""
 
-#: ../yumcommands.py:525
-msgid "Display details about a package group"
-msgstr "પેકેજ જૂથ વિશે વિગતોને દર્શાવો"
+#: ../yumcommands.py:994
+msgid "You don't have access to the groups DB."
+msgstr ""
 
-#: ../yumcommands.py:550
+#: ../yumcommands.py:1256
 msgid "Generate the metadata cache"
 msgstr ""
 
-#: ../yumcommands.py:556
+#: ../yumcommands.py:1282
 msgid "Making cache files for all metadata files."
 msgstr "બધી મેટાડેટા ફાઇલો માટે કેશ ફાઇલો બનાવી રહ્યા છે."
 
-#: ../yumcommands.py:557
+#: ../yumcommands.py:1283
 msgid "This may take a while depending on the speed of this computer"
 msgstr ""
 
-#: ../yumcommands.py:578
+#: ../yumcommands.py:1312
 msgid "Metadata Cache Created"
 msgstr "મેટાડેટા કેશ બનાવી"
 
-#: ../yumcommands.py:592
+#: ../yumcommands.py:1350
 msgid "Remove cached data"
 msgstr "કેશ થયેલ માહિતીને દૂર કરો"
 
-#: ../yumcommands.py:613
+#: ../yumcommands.py:1417
 msgid "Find what package provides the given value"
 msgstr ""
 
-#: ../yumcommands.py:633
+#: ../yumcommands.py:1485
 msgid "Check for available package updates"
 msgstr "ઉપલબ્ધ પેકેજ સુધારાઓ માટે ચકાસો"
 
-#: ../yumcommands.py:687
+#: ../yumcommands.py:1587
 msgid "Search package details for the given string"
 msgstr ""
 
-#: ../yumcommands.py:693
+#: ../yumcommands.py:1613
 msgid "Searching Packages: "
 msgstr "પેકેજોને શોધી રહ્યા છે: "
 
-#: ../yumcommands.py:710
+#: ../yumcommands.py:1666
 msgid "Update packages taking obsoletes into account"
 msgstr ""
 
-#: ../yumcommands.py:719
+#: ../yumcommands.py:1696
 msgid "Setting up Upgrade Process"
 msgstr "અદ્યતન બનાવવાની પ્રક્રિયા સુયોજિત કરી રહ્યા છીએ"
 
-#: ../yumcommands.py:737
+#: ../yumcommands.py:1731
 msgid "Install a local RPM"
 msgstr "સ્થાનિય RPM ને સ્થાપિત કરો"
 
-#: ../yumcommands.py:745
+#: ../yumcommands.py:1761
 msgid "Setting up Local Package Process"
 msgstr "સ્થાનિય પેકેજ પ્રક્રિયાને સુયોજિત કરી રહ્યા છીએ"
 
-#: ../yumcommands.py:764
-msgid "Determine which package provides the given dependency"
-msgstr ""
-
-#: ../yumcommands.py:767
+#: ../yumcommands.py:1825
 msgid "Searching Packages for Dependency:"
 msgstr ""
 
-#: ../yumcommands.py:781
+#: ../yumcommands.py:1867
 msgid "Run an interactive yum shell"
 msgstr ""
 
-#: ../yumcommands.py:787
+#: ../yumcommands.py:1893
 msgid "Setting up Yum Shell"
 msgstr "Yum Shell ને સુયોજિત કરી રહ્યા છીએ"
 
-#: ../yumcommands.py:805
+#: ../yumcommands.py:1936
 msgid "List a package's dependencies"
 msgstr ""
 
-#: ../yumcommands.py:811
+#: ../yumcommands.py:1963
 msgid "Finding dependencies: "
 msgstr ""
 
-#: ../yumcommands.py:827
+#: ../yumcommands.py:2005
 msgid "Display the configured software repositories"
 msgstr "રૂપરેખાંકિત થયેલ સોફ્ટવેર રિપોઝીટરીઓને દર્શાવો"
 
-#: ../yumcommands.py:893 ../yumcommands.py:894
+#: ../yumcommands.py:2094 ../yumcommands.py:2095
 msgid "enabled"
 msgstr "સક્રિય"
 
-#: ../yumcommands.py:920 ../yumcommands.py:921
+#: ../yumcommands.py:2121 ../yumcommands.py:2122
 msgid "disabled"
 msgstr "નિષ્ક્રિય"
 
-#: ../yumcommands.py:937
+#: ../yumcommands.py:2137
 msgid "Repo-id      : "
 msgstr ""
 
-#: ../yumcommands.py:938
+#: ../yumcommands.py:2138
 msgid "Repo-name    : "
 msgstr ""
 
-#: ../yumcommands.py:941
+#: ../yumcommands.py:2141
 msgid "Repo-status  : "
 msgstr ""
 
-#: ../yumcommands.py:944
+#: ../yumcommands.py:2144
 msgid "Repo-revision: "
 msgstr ""
 
-#: ../yumcommands.py:948
+#: ../yumcommands.py:2148
 msgid "Repo-tags    : "
 msgstr ""
 
-#: ../yumcommands.py:954
+#: ../yumcommands.py:2154
 msgid "Repo-distro-tags: "
 msgstr ""
 
-#: ../yumcommands.py:959
+#: ../yumcommands.py:2159
 msgid "Repo-updated : "
 msgstr ""
 
-#: ../yumcommands.py:961
+#: ../yumcommands.py:2161
 msgid "Repo-pkgs    : "
 msgstr ""
 
-#: ../yumcommands.py:962
+#: ../yumcommands.py:2162
 msgid "Repo-size    : "
 msgstr ""
 
-#: ../yumcommands.py:969 ../yumcommands.py:990
+#: ../yumcommands.py:2169 ../yumcommands.py:2190
 msgid "Repo-baseurl : "
 msgstr ""
 
-#: ../yumcommands.py:977
+#: ../yumcommands.py:2177
 msgid "Repo-metalink: "
 msgstr ""
 
-#: ../yumcommands.py:981
+#: ../yumcommands.py:2181
 msgid "  Updated    : "
 msgstr ""
 
-#: ../yumcommands.py:984
+#: ../yumcommands.py:2184
 msgid "Repo-mirrors : "
 msgstr ""
 
-#: ../yumcommands.py:1000
+#: ../yumcommands.py:2199
 #, python-format
 msgid "Never (last: %s)"
 msgstr ""
 
-#: ../yumcommands.py:1002
+#: ../yumcommands.py:2201
 #, python-format
 msgid "Instant (last: %s)"
 msgstr ""
 
-#: ../yumcommands.py:1005
+#: ../yumcommands.py:2204
 #, python-format
 msgid "%s second(s) (last: %s)"
 msgstr ""
 
-#: ../yumcommands.py:1007
+#: ../yumcommands.py:2206
 msgid "Repo-expire  : "
 msgstr ""
 
-#: ../yumcommands.py:1010
+#: ../yumcommands.py:2209
 msgid "Repo-exclude : "
 msgstr ""
 
-#: ../yumcommands.py:1014
+#: ../yumcommands.py:2213
 msgid "Repo-include : "
 msgstr ""
 
-#: ../yumcommands.py:1018
+#: ../yumcommands.py:2217
 msgid "Repo-excluded: "
 msgstr ""
 
-#: ../yumcommands.py:1022
+#: ../yumcommands.py:2221
 msgid "Repo-filename: "
 msgstr ""
 
 #. Work out the first (id) and last (enabled/disalbed/count),
 #. then chop the middle (name)...
-#: ../yumcommands.py:1032 ../yumcommands.py:1061
+#: ../yumcommands.py:2230 ../yumcommands.py:2259
 msgid "repo id"
 msgstr ""
 
-#: ../yumcommands.py:1049 ../yumcommands.py:1050 ../yumcommands.py:1068
+#: ../yumcommands.py:2247 ../yumcommands.py:2248 ../yumcommands.py:2266
 msgid "status"
 msgstr "પરિસ્થિતિ"
 
-#: ../yumcommands.py:1062
+#: ../yumcommands.py:2260
 msgid "repo name"
 msgstr "રિપોઝીટરી નામ"
 
-#: ../yumcommands.py:1099
+#: ../yumcommands.py:2332
 msgid "Display a helpful usage message"
 msgstr ""
 
-#: ../yumcommands.py:1133
+#: ../yumcommands.py:2374
 #, python-format
 msgid "No help available for %s"
 msgstr "%s માટે ઉપલબ્ધ મદદ નથી"
 
-#: ../yumcommands.py:1138
+#: ../yumcommands.py:2379
 msgid ""
 "\n"
 "\n"
 "aliases: "
 msgstr ""
 
-#: ../yumcommands.py:1140
+#: ../yumcommands.py:2381
 msgid ""
 "\n"
 "\n"
 "alias: "
 msgstr ""
 
-#: ../yumcommands.py:1168
+#: ../yumcommands.py:2466
 msgid "Setting up Reinstall Process"
 msgstr ""
 
-#: ../yumcommands.py:1176
+#: ../yumcommands.py:2478
 msgid "reinstall a package"
 msgstr "પેકેજને પુન:સ્થાપિત કરો"
 
-#: ../yumcommands.py:1195
+#: ../yumcommands.py:2541
 msgid "Setting up Downgrade Process"
 msgstr ""
 
-#: ../yumcommands.py:1202
+#: ../yumcommands.py:2552
 msgid "downgrade a package"
 msgstr ""
 
-#: ../yumcommands.py:1216
+#: ../yumcommands.py:2591
 msgid "Display a version for the machine and/or available repos."
 msgstr ""
 
-#: ../yumcommands.py:1255
+#: ../yumcommands.py:2643
 msgid " Yum version groups:"
 msgstr " Yum આવૃત્તિ જૂથો:"
 
-#: ../yumcommands.py:1265
+#: ../yumcommands.py:2653
 msgid " Group   :"
 msgstr " જૂથ   :"
 
-#: ../yumcommands.py:1266
+#: ../yumcommands.py:2654
 msgid " Packages:"
 msgstr " પેકેજો:"
 
-#: ../yumcommands.py:1295
+#: ../yumcommands.py:2683
 msgid "Installed:"
 msgstr "સ્થાપિત થયેલ:"
 
-#: ../yumcommands.py:1303
+#: ../yumcommands.py:2691
 msgid "Group-Installed:"
 msgstr ""
 
-#: ../yumcommands.py:1312
+#: ../yumcommands.py:2700
 msgid "Available:"
 msgstr "ઉપલબ્ધ:"
 
-#: ../yumcommands.py:1321
+#: ../yumcommands.py:2709
 msgid "Group-Available:"
 msgstr "જૂથ-ઉપલબ્ધ:"
 
-#: ../yumcommands.py:1360
+#: ../yumcommands.py:2783
 msgid "Display, or use, the transaction history"
 msgstr ""
 
-#: ../yumcommands.py:1432
+#: ../yumcommands.py:2876 ../yumcommands.py:2880
+msgid "Transactions:"
+msgstr ""
+
+#: ../yumcommands.py:2881
+msgid "Begin time  :"
+msgstr ""
+
+#: ../yumcommands.py:2882
+msgid "End time    :"
+msgstr ""
+
+#: ../yumcommands.py:2883
+msgid "Counts      :"
+msgstr ""
+
+#: ../yumcommands.py:2884
+msgid "  NEVRAC :"
+msgstr ""
+
+#: ../yumcommands.py:2885
+msgid "  NEVRA  :"
+msgstr ""
+
+#: ../yumcommands.py:2886
+msgid "  NA     :"
+msgstr ""
+
+#: ../yumcommands.py:2887
+msgid "  NEVR   :"
+msgstr ""
+
+#: ../yumcommands.py:2888
+msgid "  rpm DB :"
+msgstr ""
+
+#: ../yumcommands.py:2889
+msgid "  yum DB :"
+msgstr ""
+
+#: ../yumcommands.py:2922
 #, python-format
 msgid "Invalid history sub-command, use: %s."
 msgstr ""
 
-#: ../yumcommands.py:1439
+#: ../yumcommands.py:2929
 msgid "You don't have access to the history DB."
 msgstr ""
 
-#: ../yumcommands.py:1487
+#: ../yumcommands.py:3036
 msgid "Check for problems in the rpmdb"
 msgstr "rpmdb માં સમસ્યાઓ માટે ચકાસો"
 
-#: ../yumcommands.py:1514
+#: ../yumcommands.py:3102
 msgid "load a saved transaction from filename"
 msgstr ""
 
-#: ../yumcommands.py:1518
+#: ../yumcommands.py:3119
 msgid "No saved transaction file specified."
 msgstr ""
 
-#: ../yumcommands.py:1522
+#: ../yumcommands.py:3123
 #, python-format
 msgid "loading transaction from %s"
 msgstr ""
 
-#: ../yumcommands.py:1528
+#: ../yumcommands.py:3129
 #, python-format
 msgid "Transaction loaded from %s with %s members"
 msgstr ""
 
+#: ../yumcommands.py:3169
+msgid "Simple way to swap packages, isntead of using shell"
+msgstr ""
+
+#: ../yumcommands.py:3264
+msgid ""
+"Treat a repo. as a group of packages, so we can install/remove all of them"
+msgstr ""
+
+#: ../yumcommands.py:3341
+#, python-format
+msgid "%d package to update"
+msgid_plural "%d packages to update"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../yumcommands.py:3370
+#, python-format
+msgid "%d package to remove/reinstall"
+msgid_plural "%d packages to remove/reinstall"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../yumcommands.py:3413
+#, python-format
+msgid "%d package to remove/sync"
+msgid_plural "%d packages to remove/sync"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../yumcommands.py:3417
+#, python-format
+msgid "Not a valid sub-command of %s"
+msgstr ""
+
 #. This is mainly for PackageSackError from rpmdb.
 #: ../yummain.py:84
 #, python-format
 msgid " Yum checks failed: %s"
 msgstr ""
 
-#: ../yummain.py:114
-msgid ""
-"Another app is currently holding the yum lock; waiting for it to exit..."
+#: ../yummain.py:98
+msgid "No read/execute access in current directory, moving to /"
 msgstr ""
 
-#: ../yummain.py:120
-msgid "Can't create lock file; exiting"
+#: ../yummain.py:106
+msgid "No getcwd() access in current directory, moving to /"
 msgstr ""
 
 #. Depsolve stage
-#: ../yummain.py:167
+#: ../yummain.py:164
 msgid "Resolving Dependencies"
 msgstr ""
 
-#: ../yummain.py:230
+#: ../yummain.py:227 ../yummain.py:235
 #, python-format
-msgid "Your transaction was saved, rerun it with: yum load-transaction %s"
+msgid ""
+"Your transaction was saved, rerun it with:\n"
+" yum load-transaction %s"
 msgstr ""
 
-#: ../yummain.py:288
+#: ../yummain.py:312
 msgid ""
 "\n"
 "\n"
 "Exiting on user cancel."
 msgstr ""
 
-#: ../yum/depsolve.py:84
+#: ../yum/depsolve.py:127
 msgid "doTsSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/depsolve.py:99
+#: ../yum/depsolve.py:143
 msgid "Setting up TransactionSets before config class is up"
 msgstr ""
 
-#: ../yum/depsolve.py:153
+#: ../yum/depsolve.py:200
 #, python-format
 msgid "Invalid tsflag in config file: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:164
+#: ../yum/depsolve.py:218
 #, python-format
 msgid "Searching pkgSack for dep: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:207
+#: ../yum/depsolve.py:269
 #, python-format
 msgid "Member: %s"
 msgstr "સભ્ય: %s"
 
-#: ../yum/depsolve.py:221 ../yum/depsolve.py:793
+#: ../yum/depsolve.py:283 ../yum/depsolve.py:937
 #, python-format
 msgid "%s converted to install"
 msgstr ""
 
-#: ../yum/depsolve.py:233
+#: ../yum/depsolve.py:295
 #, python-format
 msgid "Adding Package %s in mode %s"
 msgstr ""
 
-#: ../yum/depsolve.py:249
+#: ../yum/depsolve.py:311
 #, python-format
 msgid "Removing Package %s"
 msgstr "પેકેજ %s ને દૂર કરી રહ્યા છે"
 
-#: ../yum/depsolve.py:271
+#: ../yum/depsolve.py:333
 #, python-format
 msgid "%s requires: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:312
+#: ../yum/depsolve.py:374
 #, python-format
 msgid "%s requires %s"
 msgstr ""
 
-#: ../yum/depsolve.py:339
+#: ../yum/depsolve.py:401
 msgid "Needed Require has already been looked up, cheating"
 msgstr ""
 
-#: ../yum/depsolve.py:349
+#: ../yum/depsolve.py:411
 #, python-format
 msgid "Needed Require is not a package name. Looking up: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:357
+#: ../yum/depsolve.py:419
 #, python-format
 msgid "Potential Provider: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:380
+#: ../yum/depsolve.py:442
 #, python-format
 msgid "Mode is %s for provider of %s: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:384
+#: ../yum/depsolve.py:446
 #, python-format
 msgid "Mode for pkg providing %s: %s"
 msgstr ""
@@ -2063,991 +2317,1140 @@ msgstr ""
 #. the thing it needs is being updated or obsoleted away
 #. try to update the requiring package in hopes that all this problem goes
 #. away :(
-#: ../yum/depsolve.py:389 ../yum/depsolve.py:406
+#: ../yum/depsolve.py:451 ../yum/depsolve.py:486
 #, python-format
 msgid "Trying to update %s to resolve dep"
 msgstr ""
 
-#: ../yum/depsolve.py:400 ../yum/depsolve.py:410
+#: ../yum/depsolve.py:480
 #, python-format
 msgid "No update paths found for %s. Failure!"
 msgstr ""
 
-#: ../yum/depsolve.py:416
+#: ../yum/depsolve.py:491
+#, python-format
+msgid "No update paths found for %s. Failure due to requirement: %s!"
+msgstr ""
+
+#: ../yum/depsolve.py:507
+#, python-format
+msgid "Update for %s. Doesn't fix requirement: %s!"
+msgstr ""
+
+#: ../yum/depsolve.py:514
 #, python-format
 msgid "TSINFO: %s package requiring %s marked as erase"
 msgstr ""
 
-#: ../yum/depsolve.py:429
+#: ../yum/depsolve.py:527
 #, python-format
 msgid "TSINFO: Obsoleting %s with %s to resolve dep."
 msgstr ""
 
-#: ../yum/depsolve.py:432
+#: ../yum/depsolve.py:530
 #, python-format
 msgid "TSINFO: Updating %s to resolve dep."
 msgstr ""
 
-#: ../yum/depsolve.py:440
+#: ../yum/depsolve.py:538
 #, python-format
 msgid "Cannot find an update path for dep for: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:471
+#: ../yum/depsolve.py:569
 #, python-format
 msgid "Quick matched %s to require for %s"
 msgstr ""
 
 #. is it already installed?
-#: ../yum/depsolve.py:513
+#: ../yum/depsolve.py:611
 #, python-format
 msgid "%s is in providing packages but it is already installed, removing."
 msgstr ""
 
-#: ../yum/depsolve.py:529
+#: ../yum/depsolve.py:627
 #, python-format
 msgid "Potential resolving package %s has newer instance in ts."
 msgstr ""
 
-#: ../yum/depsolve.py:540
+#: ../yum/depsolve.py:638
 #, python-format
 msgid "Potential resolving package %s has newer instance installed."
 msgstr ""
 
-#: ../yum/depsolve.py:558
+#: ../yum/depsolve.py:656
 #, python-format
 msgid "%s already in ts, skipping this one"
 msgstr ""
 
-#: ../yum/depsolve.py:607
+#: ../yum/depsolve.py:705
 #, python-format
 msgid "TSINFO: Marking %s as update for %s"
 msgstr ""
 
-#: ../yum/depsolve.py:616
+#: ../yum/depsolve.py:714
 #, python-format
 msgid "TSINFO: Marking %s as install for %s"
 msgstr ""
 
-#: ../yum/depsolve.py:727 ../yum/depsolve.py:819
+#: ../yum/depsolve.py:849 ../yum/depsolve.py:967
 msgid "Success - empty transaction"
 msgstr ""
 
-#: ../yum/depsolve.py:767 ../yum/depsolve.py:783
+#: ../yum/depsolve.py:889 ../yum/depsolve.py:927
 msgid "Restarting Loop"
 msgstr "લુપ પુન:શરૂ કરી રહ્યા છે"
 
-#: ../yum/depsolve.py:799
+#: ../yum/depsolve.py:947
 msgid "Dependency Process ending"
 msgstr ""
 
-#: ../yum/depsolve.py:821
+#: ../yum/depsolve.py:969
 msgid "Success - deps resolved"
 msgstr ""
 
-#: ../yum/depsolve.py:845
+#: ../yum/depsolve.py:993
 #, python-format
 msgid "Checking deps for %s"
 msgstr ""
 
-#: ../yum/depsolve.py:931
+#: ../yum/depsolve.py:1082
 #, python-format
 msgid "looking for %s as a requirement of %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1169
+#: ../yum/depsolve.py:1349
 #, python-format
 msgid "Running compare_providers() for %s"
 msgstr "%s માટે compare_providers() ચલાવી રહ્યા છે"
 
-#: ../yum/depsolve.py:1196 ../yum/depsolve.py:1202
+#: ../yum/depsolve.py:1376 ../yum/depsolve.py:1382
 #, python-format
 msgid "better arch in po %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1298
+#: ../yum/depsolve.py:1496
 #, python-format
 msgid "%s obsoletes %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1310
+#: ../yum/depsolve.py:1508
 #, python-format
 msgid ""
 "archdist compared %s to %s on %s\n"
 "  Winner: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1318
+#: ../yum/depsolve.py:1516
 #, python-format
 msgid "common sourcerpm %s and %s"
 msgstr "સામાન્ય sourcerpm %s અને %s"
 
-#: ../yum/depsolve.py:1322
+#: ../yum/depsolve.py:1520
 #, python-format
 msgid "base package %s is installed for %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1328
+#: ../yum/depsolve.py:1526
 #, python-format
 msgid "common prefix of %s between %s and %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1359
+#: ../yum/depsolve.py:1543
 #, python-format
-msgid "requires minimal: %d"
+msgid "provides vercmp: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1363
+#: ../yum/depsolve.py:1547 ../yum/depsolve.py:1581
 #, python-format
 msgid " Winner: %s"
 msgstr " વિજેતા: %s"
 
-#: ../yum/depsolve.py:1368
+#: ../yum/depsolve.py:1577
+#, python-format
+msgid "requires minimal: %d"
+msgstr ""
+
+#: ../yum/depsolve.py:1586
 #, python-format
 msgid " Loser(with %d): %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1384
+#: ../yum/depsolve.py:1602
 #, python-format
 msgid "Best Order: %s"
 msgstr ""
 
-#: ../yum/__init__.py:234
+#: ../yum/__init__.py:274
 msgid "doConfigSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/__init__.py:482
+#: ../yum/__init__.py:553
+#, python-format
+msgid "Skipping unreadable repository %s"
+msgstr ""
+
+#: ../yum/__init__.py:572
 #, python-format
 msgid "Repository %r: Error parsing config: %s"
 msgstr ""
 
-#: ../yum/__init__.py:488
+#: ../yum/__init__.py:578
 #, python-format
 msgid "Repository %r is missing name in configuration, using id"
 msgstr ""
 
-#: ../yum/__init__.py:526
+#: ../yum/__init__.py:618
 msgid "plugins already initialised"
 msgstr "પ્લગઇન પહેલેથી જ પ્રારંભ થયેલ છે"
 
-#: ../yum/__init__.py:533
+#: ../yum/__init__.py:627
 msgid "doRpmDBSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/__init__.py:544
+#: ../yum/__init__.py:638
 msgid "Reading Local RPMDB"
 msgstr "સ્થાનિય RPMDB ને વાંચી રહ્યા છે"
 
-#: ../yum/__init__.py:567
+#: ../yum/__init__.py:668
 msgid "doRepoSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/__init__.py:630
+#: ../yum/__init__.py:722
 msgid "doSackSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/__init__.py:660
+#: ../yum/__init__.py:752
 msgid "Setting up Package Sacks"
 msgstr ""
 
-#: ../yum/__init__.py:705
+#: ../yum/__init__.py:797
 #, python-format
 msgid "repo object for repo %s lacks a _resetSack method\n"
 msgstr ""
 
-#: ../yum/__init__.py:706
+#: ../yum/__init__.py:798
 msgid "therefore this repo cannot be reset.\n"
 msgstr ""
 
-#: ../yum/__init__.py:711
+#: ../yum/__init__.py:806
 msgid "doUpdateSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/__init__.py:723
+#: ../yum/__init__.py:818
 msgid "Building updates object"
 msgstr ""
 
-#: ../yum/__init__.py:765
+#: ../yum/__init__.py:862
 msgid "doGroupSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/__init__.py:790
+#: ../yum/__init__.py:887
 msgid "Getting group metadata"
 msgstr "જૂથ મેટાડેટાને મેળવી રહ્યા છે"
 
-#: ../yum/__init__.py:816
+#: ../yum/__init__.py:915
 #, python-format
 msgid "Adding group file from repository: %s"
 msgstr "રિપોઝીટરી માથી જૂથ ફાઇલને ઉમેરી રહ્યા છે: %s"
 
-#: ../yum/__init__.py:827
+#: ../yum/__init__.py:918
+#, python-format
+msgid "Failed to retrieve group file for repository: %s"
+msgstr ""
+
+#: ../yum/__init__.py:924
 #, python-format
 msgid "Failed to add groups file for repository: %s - %s"
 msgstr ""
 
-#: ../yum/__init__.py:833
+#: ../yum/__init__.py:930
 msgid "No Groups Available in any repository"
 msgstr "કોઇપણ રિપોઝીટરીમાં જૂથો ઉપલબ્ધ નથી"
 
-#: ../yum/__init__.py:845
+#: ../yum/__init__.py:945
 msgid "Getting pkgtags metadata"
 msgstr ""
 
-#: ../yum/__init__.py:855
+#: ../yum/__init__.py:955
 #, python-format
 msgid "Adding tags from repository: %s"
 msgstr "રિપોઝીટરીમાંથી ટૅગને ઉમેરી રહ્યા છે: %s"
 
-#: ../yum/__init__.py:866
+#: ../yum/__init__.py:966
 #, python-format
 msgid "Failed to add Pkg Tags for repository: %s - %s"
 msgstr ""
 
-#: ../yum/__init__.py:944
+#: ../yum/__init__.py:1059
 msgid "Importing additional filelist information"
 msgstr "વધારાની ફાઇલયાદી જાણકારીને આયાત કરી રહ્યા છે"
 
-#: ../yum/__init__.py:958
+#: ../yum/__init__.py:1077
 #, python-format
 msgid "The program %s%s%s is found in the yum-utils package."
 msgstr ""
 
-#: ../yum/__init__.py:966
+#: ../yum/__init__.py:1094
 msgid ""
 "There are unfinished transactions remaining. You might consider running yum-"
 "complete-transaction first to finish them."
 msgstr ""
 
-#: ../yum/__init__.py:983
+#: ../yum/__init__.py:1111
 msgid "--> Finding unneeded leftover dependencies"
 msgstr ""
 
-#: ../yum/__init__.py:1041
+#: ../yum/__init__.py:1169
 #, python-format
 msgid "Protected multilib versions: %s != %s"
 msgstr ""
 
-#: ../yum/__init__.py:1096
+#. People are confused about protected mutilib ... so give
+#. them a nicer message.
+#: ../yum/__init__.py:1173
+#, python-format
+msgid ""
+" Multilib version problems found. This often means that the root\n"
+"cause is something else and multilib version checking is just\n"
+"pointing out that there is a problem. Eg.:\n"
+"\n"
+"  1. You have an upgrade for %(name)s which is missing some\n"
+"     dependency that another package requires. Yum is trying to\n"
+"     solve this by installing an older version of %(name)s of the\n"
+"     different architecture. If you exclude the bad architecture\n"
+"     yum will tell you what the root cause is (which package\n"
+"     requires what). You can try redoing the upgrade with\n"
+"     --exclude %(name)s.otherarch ... this should give you an error\n"
+"     message showing the root cause of the problem.\n"
+"\n"
+"  2. You have multiple architectures of %(name)s installed, but\n"
+"     yum can only see an upgrade for one of those arcitectures.\n"
+"     If you don't want/need both architectures anymore then you\n"
+"     can remove the one with the missing update and everything\n"
+"     will work.\n"
+"\n"
+"  3. You have duplicate versions of %(name)s installed already.\n"
+"     You can use \"yum check\" to get yum show these errors.\n"
+"\n"
+"...you can also use --setopt=protected_multilib=false to remove\n"
+"this checking, however this is almost never the correct thing to\n"
+"do as something else is very likely to go wrong (often causing\n"
+"much more problems).\n"
+"\n"
+msgstr ""
+
+#: ../yum/__init__.py:1257
 #, python-format
 msgid "Trying to remove \"%s\", which is protected"
 msgstr "\"%s\" દૂર કરવા માટે પ્રયત્ન કરી રહ્યા છે, કે જે સુરક્ષિત થયેલ છે"
 
-#: ../yum/__init__.py:1217
+#: ../yum/__init__.py:1378
 msgid ""
 "\n"
 "Packages skipped because of dependency problems:"
 msgstr ""
 
-#: ../yum/__init__.py:1221
+#: ../yum/__init__.py:1382
 #, python-format
 msgid "    %s from %s"
 msgstr ""
 
 #. FIXME: _N()
-#: ../yum/__init__.py:1391
+#: ../yum/__init__.py:1556
 #, python-format
 msgid "** Found %d pre-existing rpmdb problem(s), 'yum check' output follows:"
 msgstr ""
 
-#: ../yum/__init__.py:1395
+#: ../yum/__init__.py:1560
 msgid "Warning: RPMDB altered outside of yum."
 msgstr ""
 
-#: ../yum/__init__.py:1407
+#: ../yum/__init__.py:1572
 msgid "missing requires"
 msgstr ""
 
-#: ../yum/__init__.py:1408
+#: ../yum/__init__.py:1573
 msgid "installed conflict"
 msgstr ""
 
-#: ../yum/__init__.py:1525
+#: ../yum/__init__.py:1709
 msgid ""
 "Warning: scriptlet or other non-fatal errors occurred during transaction."
 msgstr ""
 
-#: ../yum/__init__.py:1535
+#: ../yum/__init__.py:1719
 msgid "Transaction couldn't start:"
 msgstr ""
 
 #. should this be 'to_unicoded'?
-#: ../yum/__init__.py:1538
+#: ../yum/__init__.py:1722
 msgid "Could not run transaction."
 msgstr ""
 
-#: ../yum/__init__.py:1552
+#: ../yum/__init__.py:1736
 #, python-format
 msgid "Failed to remove transaction file %s"
 msgstr ""
 
 #. maybe a file log here, too
 #. but raising an exception is not going to do any good
-#: ../yum/__init__.py:1590
+#: ../yum/__init__.py:1792
 #, python-format
 msgid "%s was supposed to be installed but is not!"
 msgstr ""
 
 #. maybe a file log here, too
 #. but raising an exception is not going to do any good
-#: ../yum/__init__.py:1651
+#. Note: This actually triggers atm. because we can't
+#. always find the erased txmbr to set it when
+#. we should.
+#: ../yum/__init__.py:1869
 #, python-format
 msgid "%s was supposed to be removed but is not!"
 msgstr ""
 
-#: ../yum/__init__.py:1768
-#, python-format
-msgid "Could not open lock %s: %s"
-msgstr "તાળુ %s ને ખોલી શક્યા નહિં: %s"
-
-#. Whoa. What the heck happened?
-#: ../yum/__init__.py:1785
-#, python-format
-msgid "Unable to check if PID %s is active"
-msgstr "ચકાસવાનું અસમર્થ જો PID %s સક્રિય છે"
-
 #. Another copy seems to be running.
-#: ../yum/__init__.py:1789
+#: ../yum/__init__.py:2004
 #, python-format
 msgid "Existing lock %s: another copy is running as pid %s."
 msgstr ""
 
 #. Whoa. What the heck happened?
-#: ../yum/__init__.py:1830
+#: ../yum/__init__.py:2053
 #, python-format
 msgid "Could not create lock at %s: %s "
 msgstr ""
 
-#: ../yum/__init__.py:1875
+#: ../yum/__init__.py:2065
+#, python-format
+msgid "Could not open lock %s: %s"
+msgstr "તાળુ %s ને ખોલી શક્યા નહિં: %s"
+
+#. The pid doesn't exist
+#. Whoa. What the heck happened?
+#: ../yum/__init__.py:2082
+#, python-format
+msgid "Unable to check if PID %s is active"
+msgstr "ચકાસવાનું અસમર્થ જો PID %s સક્રિય છે"
+
+#: ../yum/__init__.py:2132
 #, python-format
 msgid ""
 "Package does not match intended download. Suggestion: run yum "
 "--enablerepo=%s clean metadata"
 msgstr ""
 
-#: ../yum/__init__.py:1891
+#: ../yum/__init__.py:2155
 msgid "Could not perform checksum"
 msgstr ""
 
-#: ../yum/__init__.py:1894
+#: ../yum/__init__.py:2158
 msgid "Package does not match checksum"
 msgstr ""
 
-#: ../yum/__init__.py:1946
+#: ../yum/__init__.py:2222
 #, python-format
 msgid "package fails checksum but caching is enabled for %s"
 msgstr ""
 
-#: ../yum/__init__.py:1949 ../yum/__init__.py:1979
+#: ../yum/__init__.py:2225 ../yum/__init__.py:2268
 #, python-format
 msgid "using local copy of %s"
 msgstr "%s ની સ્થાનિક નકલને વાપરી રહ્યા છે"
 
-#: ../yum/__init__.py:1991
-#, python-format
-msgid ""
-"Insufficient space in download directory %s\n"
-"    * free   %s\n"
-"    * needed %s"
+#. caller handles errors
+#: ../yum/__init__.py:2342
+msgid "exiting because --downloadonly specified"
 msgstr ""
 
-#: ../yum/__init__.py:2052
+#: ../yum/__init__.py:2371
 msgid "Header is not complete."
 msgstr "હેડર પૂર્ણ નથી."
 
-#: ../yum/__init__.py:2089
+#: ../yum/__init__.py:2411
 #, python-format
 msgid ""
 "Header not in local cache and caching-only mode enabled. Cannot download %s"
 msgstr ""
 
-#: ../yum/__init__.py:2147
+#: ../yum/__init__.py:2471
 #, python-format
 msgid "Public key for %s is not installed"
 msgstr "%s માટે સાર્વજનિક કી સ્થાપિત થયેલ નથી"
 
-#: ../yum/__init__.py:2151
+#: ../yum/__init__.py:2475
 #, python-format
 msgid "Problem opening package %s"
 msgstr "પેકેજ %s ને ખોલી રહ્યા હોય ત્યારે સમસ્યા"
 
-#: ../yum/__init__.py:2159
+#: ../yum/__init__.py:2483
 #, python-format
 msgid "Public key for %s is not trusted"
 msgstr ""
 
-#: ../yum/__init__.py:2163
+#: ../yum/__init__.py:2487
 #, python-format
 msgid "Package %s is not signed"
 msgstr "પેકેજ %s હસ્તાક્ષર થયેલ નથી"
 
-#: ../yum/__init__.py:2202
+#: ../yum/__init__.py:2529
 #, python-format
 msgid "Cannot remove %s"
 msgstr "%s ને દૂર કરી શકાતુ નથી"
 
-#: ../yum/__init__.py:2206
+#: ../yum/__init__.py:2533
 #, python-format
 msgid "%s removed"
 msgstr "%s દૂર થયેલ છે"
 
-#: ../yum/__init__.py:2252
+#: ../yum/__init__.py:2594
 #, python-format
 msgid "Cannot remove %s file %s"
 msgstr ""
 
-#: ../yum/__init__.py:2256
+#: ../yum/__init__.py:2598
 #, python-format
 msgid "%s file %s removed"
 msgstr ""
 
-#: ../yum/__init__.py:2258
+#: ../yum/__init__.py:2600
 #, python-format
-msgid "%d %s files removed"
-msgstr "%d %s ફાઇલો દૂર થયેલ છે"
+msgid "%d %s file removed"
+msgid_plural "%d %s files removed"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../yum/__init__.py:2327
+#: ../yum/__init__.py:2712
 #, python-format
 msgid "More than one identical match in sack for %s"
 msgstr ""
 
-#: ../yum/__init__.py:2333
+#: ../yum/__init__.py:2718
 #, python-format
 msgid "Nothing matches %s.%s %s:%s-%s from update"
 msgstr ""
 
-#: ../yum/__init__.py:2632
+#: ../yum/__init__.py:3096
 msgid ""
 "searchPackages() will go away in a future version of Yum."
 "                      Use searchGenerator() instead. \n"
 msgstr ""
 
-#: ../yum/__init__.py:2675
+#: ../yum/__init__.py:3149
 #, python-format
-msgid "Searching %d packages"
-msgstr "%d પેકેજોને શોધી રહ્યા છે"
+msgid "Searching %d package"
+msgid_plural "Searching %d packages"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../yum/__init__.py:2679
+#: ../yum/__init__.py:3153
 #, python-format
 msgid "searching package %s"
 msgstr "પેકેજ %s ને શોધી રહ્યા છે"
 
-#: ../yum/__init__.py:2691
+#: ../yum/__init__.py:3165
 msgid "searching in file entries"
 msgstr ""
 
-#: ../yum/__init__.py:2698
+#: ../yum/__init__.py:3172
 msgid "searching in provides entries"
 msgstr ""
 
-#: ../yum/__init__.py:2777
+#: ../yum/__init__.py:3369
 msgid "No group data available for configured repositories"
 msgstr "રૂપરેખાંકિત થયેલ રિપોઝીટરીઓ માટે ઉપલબ્ધ જૂથ માહિતી નથી"
 
-#: ../yum/__init__.py:2808 ../yum/__init__.py:2827 ../yum/__init__.py:2858
-#: ../yum/__init__.py:2864 ../yum/__init__.py:2953 ../yum/__init__.py:2957
-#: ../yum/__init__.py:3339
+#: ../yum/__init__.py:3466 ../yum/__init__.py:3500 ../yum/__init__.py:3576
+#: ../yum/__init__.py:3582 ../yum/__init__.py:3719 ../yum/__init__.py:3723
+#: ../yum/__init__.py:4298
 #, python-format
 msgid "No Group named %s exists"
 msgstr "નામ થયેલ જૂથ %s અસ્તિત્વ ધરાવતુ નથી"
 
-#: ../yum/__init__.py:2839 ../yum/__init__.py:2973
+#: ../yum/__init__.py:3512 ../yum/__init__.py:3740
 #, python-format
 msgid "package %s was not marked in group %s"
 msgstr ""
 
-#: ../yum/__init__.py:2887
+#. (upgrade and igroup_data[pkg] == 'available')):
+#: ../yum/__init__.py:3622
+#, python-format
+msgid "Skipping package %s from group %s"
+msgstr ""
+
+#: ../yum/__init__.py:3628
 #, python-format
 msgid "Adding package %s from group %s"
 msgstr "જૂથ %s માંથી પેકેજ %s ને ઉમેરી રહ્યા છે"
 
-#: ../yum/__init__.py:2891
+#: ../yum/__init__.py:3649
 #, python-format
 msgid "No package named %s available to be installed"
 msgstr "સ્થાપિત કરવા માટે નામ થયેલ પેકેજ %s ઉપલબ્ધ નથી"
 
-#: ../yum/__init__.py:2941
+#: ../yum/__init__.py:3702
 #, python-format
-msgid "Warning: Group %s does not have any packages."
+msgid "Warning: Group %s does not have any packages to install."
 msgstr ""
 
-#: ../yum/__init__.py:2943
+#: ../yum/__init__.py:3704
 #, python-format
 msgid "Group %s does have %u conditional packages, which may get installed."
 msgstr ""
 
+#: ../yum/__init__.py:3794
+#, python-format
+msgid "Skipping group %s from environment %s"
+msgstr ""
+
 #. This can happen due to excludes after .up has
 #. happened.
-#: ../yum/__init__.py:3002
+#: ../yum/__init__.py:3858
 #, python-format
 msgid "Package tuple %s could not be found in packagesack"
 msgstr ""
 
-#: ../yum/__init__.py:3022
+#: ../yum/__init__.py:3886
 #, python-format
 msgid "Package tuple %s could not be found in rpmdb"
 msgstr ""
 
-#: ../yum/__init__.py:3079 ../yum/__init__.py:3129
+#: ../yum/__init__.py:3949 ../yum/__init__.py:4012
 #, python-format
 msgid "Invalid version flag from: %s"
 msgstr ""
 
-#: ../yum/__init__.py:3096 ../yum/__init__.py:3101
+#: ../yum/__init__.py:3973 ../yum/__init__.py:3979 ../yum/__init__.py:4036
+#: ../yum/__init__.py:4042
 #, python-format
 msgid "No Package found for %s"
 msgstr "%s માટે પેકેજ મળ્યુ નથી"
 
-#: ../yum/__init__.py:3401
+#: ../yum/__init__.py:4245 ../yum/__init__.py:4274
+#, python-format
+msgid "Warning: Environment Group %s does not exist."
+msgstr ""
+
+#: ../yum/__init__.py:4397
+#, python-format
+msgid "Package: %s - can't co-install with %s"
+msgstr ""
+
+#: ../yum/__init__.py:4437
 msgid "Package Object was not a package object instance"
 msgstr ""
 
-#: ../yum/__init__.py:3405
+#: ../yum/__init__.py:4441
 msgid "Nothing specified to install"
 msgstr "સ્થાપિત કરવા માટે કઇ જ સ્પષ્ટ થયેલ નથી"
 
-#: ../yum/__init__.py:3424 ../yum/__init__.py:4283
+#: ../yum/__init__.py:4465 ../yum/__init__.py:5410
 #, python-format
 msgid "Checking for virtual provide or file-provide for %s"
 msgstr ""
 
-#: ../yum/__init__.py:3430 ../yum/__init__.py:3775 ../yum/__init__.py:3969
-#: ../yum/__init__.py:4289
-#, python-format
-msgid "No Match for argument: %s"
-msgstr ""
-
-#: ../yum/__init__.py:3507
+#: ../yum/__init__.py:4542
 #, python-format
 msgid "Package %s installed and not available"
 msgstr "પેકેજ %s સ્થાપિત થયેલ છે અને ઉપલબ્ધ નથી"
 
-#: ../yum/__init__.py:3510
+#: ../yum/__init__.py:4545
 msgid "No package(s) available to install"
 msgstr "સ્થાપિત કરવા માટે પેકેજ (ઓ) ઉપલબ્ધ નથી"
 
-#: ../yum/__init__.py:3522
+#: ../yum/__init__.py:4557
 #, python-format
 msgid "Package: %s  - already in transaction set"
 msgstr ""
 
-#: ../yum/__init__.py:3550
+#: ../yum/__init__.py:4589
 #, python-format
 msgid "Package %s is obsoleted by %s which is already installed"
 msgstr ""
 
-#: ../yum/__init__.py:3555
+#: ../yum/__init__.py:4594
 #, python-format
 msgid ""
 "Package %s is obsoleted by %s, but obsoleting package does not provide for "
 "requirements"
 msgstr ""
 
-#: ../yum/__init__.py:3558
+#: ../yum/__init__.py:4597
 #, python-format
 msgid "Package %s is obsoleted by %s, trying to install %s instead"
 msgstr ""
 
-#: ../yum/__init__.py:3566
+#: ../yum/__init__.py:4605
 #, python-format
 msgid "Package %s already installed and latest version"
 msgstr ""
 
-#: ../yum/__init__.py:3580
+#: ../yum/__init__.py:4619
 #, python-format
 msgid "Package matching %s already installed. Checking for update."
 msgstr ""
 
 #. update everything (the easy case)
-#: ../yum/__init__.py:3684
+#: ../yum/__init__.py:4751
 msgid "Updating Everything"
 msgstr "બધુ જ સુધારી રહ્યા છે"
 
-#: ../yum/__init__.py:3708 ../yum/__init__.py:3849 ../yum/__init__.py:3879
-#: ../yum/__init__.py:3915
+#: ../yum/__init__.py:4775 ../yum/__init__.py:4930 ../yum/__init__.py:4975
+#: ../yum/__init__.py:5011
 #, python-format
 msgid "Not Updating Package that is already obsoleted: %s.%s %s:%s-%s"
 msgstr ""
 
-#: ../yum/__init__.py:3753 ../yum/__init__.py:3965
+#: ../yum/__init__.py:4830 ../yum/__init__.py:5072
 #, python-format
 msgid "%s"
 msgstr "%s"
 
-#: ../yum/__init__.py:3838
+#: ../yum/__init__.py:4854 ../yum/__init__.py:5080 ../yum/__init__.py:5416
+#, python-format
+msgid "No Match for argument: %s"
+msgstr ""
+
+#: ../yum/__init__.py:4872
+#, python-format
+msgid "No package matched to upgrade: %s"
+msgstr ""
+
+#: ../yum/__init__.py:4919
 #, python-format
 msgid "Package is already obsoleted: %s.%s %s:%s-%s"
 msgstr "પેકેજ પહેલેથી જ અપ્રચલિત થયેલ છે: %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3874
+#: ../yum/__init__.py:4970
 #, python-format
 msgid "Not Updating Package that is obsoleted: %s"
 msgstr "પેકેજને સુધારી રહ્યા નથી કે જે અપ્રચલિત થયેલ છે: %s"
 
-#: ../yum/__init__.py:3883 ../yum/__init__.py:3919
+#: ../yum/__init__.py:4979 ../yum/__init__.py:5015
 #, python-format
 msgid "Not Updating Package that is already updated: %s.%s %s:%s-%s"
 msgstr "પેકેજને સુધારી રહ્યા નથી કે જે પહેલેથી જ સુધારેલ છે: %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3982
-msgid "No package matched to remove"
+#: ../yum/__init__.py:5093
+#, python-format
+msgid "No package matched to remove: %s"
 msgstr ""
 
-#: ../yum/__init__.py:3988
+#: ../yum/__init__.py:5099
 #, python-format
 msgid "Skipping the running kernel: %s"
 msgstr ""
 
-#: ../yum/__init__.py:3994
+#: ../yum/__init__.py:5105
 #, python-format
 msgid "Removing %s from the transaction"
 msgstr ""
 
-#: ../yum/__init__.py:4029
+#: ../yum/__init__.py:5142
 #, python-format
 msgid "Cannot open: %s. Skipping."
 msgstr ""
 
-#: ../yum/__init__.py:4032 ../yum/__init__.py:4150 ../yum/__init__.py:4226
+#: ../yum/__init__.py:5145 ../yum/__init__.py:5262 ../yum/__init__.py:5347
 #, python-format
 msgid "Examining %s: %s"
 msgstr "%s નું પરિક્ષણ કરી રહ્યા છે: %s"
 
-#: ../yum/__init__.py:4036
+#: ../yum/__init__.py:5149
 #, python-format
 msgid "Cannot localinstall deltarpm: %s. Skipping."
 msgstr ""
 
-#: ../yum/__init__.py:4045 ../yum/__init__.py:4153 ../yum/__init__.py:4229
+#: ../yum/__init__.py:5158 ../yum/__init__.py:5265 ../yum/__init__.py:5350
 #, python-format
 msgid ""
 "Cannot add package %s to transaction. Not a compatible architecture: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4051
+#: ../yum/__init__.py:5164
 #, python-format
 msgid "Cannot install package %s. It is obsoleted by installed package %s"
 msgstr ""
 
-#: ../yum/__init__.py:4059
+#: ../yum/__init__.py:5172
 #, python-format
 msgid ""
 "Package %s not installed, cannot update it. Run yum install to install it "
 "instead."
 msgstr ""
 
-#: ../yum/__init__.py:4078 ../yum/__init__.py:4085
+#: ../yum/__init__.py:5191 ../yum/__init__.py:5198
 #, python-format
 msgid ""
 "Package %s.%s not installed, cannot update it. Run yum install to install it"
 " instead."
 msgstr ""
 
-#: ../yum/__init__.py:4094 ../yum/__init__.py:4158 ../yum/__init__.py:4234
+#: ../yum/__init__.py:5207 ../yum/__init__.py:5270 ../yum/__init__.py:5355
 #, python-format
 msgid "Excluding %s"
 msgstr ""
 
-#: ../yum/__init__.py:4099
+#: ../yum/__init__.py:5212
 #, python-format
 msgid "Marking %s to be installed"
 msgstr ""
 
-#: ../yum/__init__.py:4105
+#: ../yum/__init__.py:5218
 #, python-format
 msgid "Marking %s as an update to %s"
 msgstr ""
 
-#: ../yum/__init__.py:4112
+#: ../yum/__init__.py:5225
 #, python-format
 msgid "%s: does not update installed package."
 msgstr "%s: સ્થાપિત પેકેજોને સુધારાતુ નથી."
 
-#: ../yum/__init__.py:4147 ../yum/__init__.py:4223
+#: ../yum/__init__.py:5259 ../yum/__init__.py:5344
 #, python-format
 msgid "Cannot open file: %s. Skipping."
 msgstr ""
 
-#: ../yum/__init__.py:4177
+#: ../yum/__init__.py:5299
 msgid "Problem in reinstall: no package matched to remove"
 msgstr ""
 
-#: ../yum/__init__.py:4203
+#: ../yum/__init__.py:5325
 #, python-format
 msgid "Problem in reinstall: no package %s matched to install"
 msgstr ""
 
-#: ../yum/__init__.py:4311
+#: ../yum/__init__.py:5438
 msgid "No package(s) available to downgrade"
 msgstr ""
 
-#: ../yum/__init__.py:4319
+#: ../yum/__init__.py:5446
 #, python-format
 msgid "Package %s is allowed multiple installs, skipping"
 msgstr ""
 
-#: ../yum/__init__.py:4365
+#: ../yum/__init__.py:5496
 #, python-format
 msgid "No Match for available package: %s"
 msgstr "ઉપલબ્ધ પેકેજ માટે બંધબેસતુ નથી: %s"
 
-#: ../yum/__init__.py:4372
+#: ../yum/__init__.py:5506
 #, python-format
 msgid "Only Upgrade available on package: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4442 ../yum/__init__.py:4479
+#: ../yum/__init__.py:5619 ../yum/__init__.py:5686
 #, python-format
 msgid "Failed to downgrade: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4516
+#: ../yum/__init__.py:5636 ../yum/__init__.py:5692
+#, python-format
+msgid "Failed to upgrade: %s"
+msgstr ""
+
+#: ../yum/__init__.py:5725
 #, python-format
 msgid "Retrieving key from %s"
 msgstr ""
 
-#: ../yum/__init__.py:4534
+#: ../yum/__init__.py:5743
 msgid "GPG key retrieval failed: "
 msgstr ""
 
 #. if we decide we want to check, even though the sig failed
 #. here is where we would do that
-#: ../yum/__init__.py:4557
+#: ../yum/__init__.py:5766
 #, python-format
 msgid "GPG key signature on key %s does not match CA Key for repo: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4559
+#: ../yum/__init__.py:5768
 msgid "GPG key signature verified against CA Key(s)"
 msgstr ""
 
-#: ../yum/__init__.py:4567
+#: ../yum/__init__.py:5776
 #, python-format
 msgid "Invalid GPG Key from %s: %s"
 msgstr "%s માંથી અયોગ્ય GPG કી: %s"
 
-#: ../yum/__init__.py:4576
+#: ../yum/__init__.py:5785
 #, python-format
 msgid "GPG key parsing failed: key does not have value %s"
 msgstr ""
 
-#: ../yum/__init__.py:4592
+#: ../yum/__init__.py:5801
 #, python-format
 msgid ""
 "Importing %s key 0x%s:\n"
-" Userid : %s\n"
-" Package: %s (%s)\n"
-" From   : %s"
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" Package    : %s (%s)\n"
+" From       : %s"
 msgstr ""
 
-#: ../yum/__init__.py:4600
+#: ../yum/__init__.py:5811
 #, python-format
 msgid ""
 "Importing %s key 0x%s:\n"
-" Userid: \"%s\"\n"
-" From  : %s"
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" From       : %s"
 msgstr ""
 
-#: ../yum/__init__.py:4634
+#: ../yum/__init__.py:5839
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" Failing package is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr ""
+
+#: ../yum/__init__.py:5853
 #, python-format
 msgid "GPG key at %s (0x%s) is already installed"
 msgstr ""
 
-#: ../yum/__init__.py:4671
+#: ../yum/__init__.py:5891
 #, python-format
 msgid "Key import failed (code %d)"
 msgstr ""
 
-#: ../yum/__init__.py:4672 ../yum/__init__.py:4755
+#: ../yum/__init__.py:5893 ../yum/__init__.py:5994
 msgid "Key imported successfully"
 msgstr ""
 
-#: ../yum/__init__.py:4676
+#: ../yum/__init__.py:5897
 msgid "Didn't install any keys"
 msgstr ""
 
-#: ../yum/__init__.py:4680
+#: ../yum/__init__.py:5900
 #, python-format
 msgid ""
 "The GPG keys listed for the \"%s\" repository are already installed but they are not correct for this package.\n"
 "Check that the correct key URLs are configured for this repository."
 msgstr ""
 
-#: ../yum/__init__.py:4689
+#: ../yum/__init__.py:5910
 msgid "Import of key(s) didn't help, wrong key(s)?"
 msgstr ""
 
-#: ../yum/__init__.py:4713
+#: ../yum/__init__.py:5932
+msgid "No"
+msgstr ""
+
+#: ../yum/__init__.py:5934
+msgid "Yes"
+msgstr ""
+
+#: ../yum/__init__.py:5935
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" CA Key: %s\n"
+" Failing repo is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr ""
+
+#: ../yum/__init__.py:5948
 #, python-format
 msgid "GPG key at %s (0x%s) is already imported"
 msgstr ""
 
-#: ../yum/__init__.py:4754
-msgid "Key import failed"
+#: ../yum/__init__.py:5992
+#, python-format
+msgid "Key %s import failed"
 msgstr ""
 
-#: ../yum/__init__.py:4770
+#: ../yum/__init__.py:6009
 #, python-format
 msgid "Didn't install any keys for repo %s"
 msgstr ""
 
-#: ../yum/__init__.py:4774
+#: ../yum/__init__.py:6014
 #, python-format
 msgid ""
 "The GPG keys listed for the \"%s\" repository are already installed but they are not correct.\n"
 "Check that the correct key URLs are configured for this repository."
 msgstr ""
 
-#: ../yum/__init__.py:4924
+#: ../yum/__init__.py:6172
 msgid "Unable to find a suitable mirror."
 msgstr ""
 
-#: ../yum/__init__.py:4926
+#: ../yum/__init__.py:6174
 msgid "Errors were encountered while downloading packages."
 msgstr ""
 
-#: ../yum/__init__.py:4981
+#: ../yum/__init__.py:6229
 #, python-format
 msgid "Please report this error at %s"
 msgstr ""
 
-#: ../yum/__init__.py:4998
+#: ../yum/__init__.py:6246
 msgid "Test Transaction Errors: "
 msgstr ""
 
-#: ../yum/__init__.py:5098
+#: ../yum/__init__.py:6358
 #, python-format
 msgid "Could not set cachedir: %s"
 msgstr "cachedir ને સુયોજિત કરી શક્યા નહિં: %s"
 
-#: ../yum/__init__.py:5148 ../yum/__init__.py:5150
+#: ../yum/__init__.py:6420 ../yum/__init__.py:6422
 msgid "Dependencies not solved. Will not save unresolved transaction."
 msgstr ""
 
-#: ../yum/__init__.py:5179 ../yum/__init__.py:5181
+#: ../yum/__init__.py:6455 ../yum/__init__.py:6457
 #, python-format
 msgid "Could not save transaction file %s: %s"
 msgstr ""
 
-#: ../yum/__init__.py:5195
+#: ../yum/__init__.py:6483
 #, python-format
 msgid "Could not access/read saved transaction %s : %s"
 msgstr ""
 
-#: ../yum/__init__.py:5214
-msgid "rpmdb ver mismatched saved transaction version, "
-msgstr ""
-
-#: ../yum/__init__.py:5216
-msgid " ignoring, as requested."
+#: ../yum/__init__.py:6521
+msgid "rpmdb ver mismatched saved transaction version,"
 msgstr ""
 
-#: ../yum/__init__.py:5219 ../yum/__init__.py:5354
-msgid " aborting."
-msgstr ""
-
-#: ../yum/__init__.py:5228
+#: ../yum/__init__.py:6535
 msgid "cannot find tsflags or tsflags not integer."
 msgstr ""
 
-#: ../yum/__init__.py:5267
+#: ../yum/__init__.py:6584
 #, python-format
 msgid "Found txmbr in unknown current state: %s"
 msgstr ""
 
-#: ../yum/__init__.py:5271
+#: ../yum/__init__.py:6588
 #, python-format
 msgid "Could not find txmbr: %s in state %s"
 msgstr ""
 
-#: ../yum/__init__.py:5307 ../yum/__init__.py:5324
+#: ../yum/__init__.py:6625 ../yum/__init__.py:6642
 #, python-format
 msgid "Could not find txmbr: %s from origin: %s"
 msgstr ""
 
-#: ../yum/__init__.py:5349
+#: ../yum/__init__.py:6667
 msgid "Transaction members, relations are missing or ts has been modified,"
 msgstr ""
 
-#: ../yum/__init__.py:5351
+#: ../yum/__init__.py:6670
 msgid " ignoring, as requested. You must redepsolve!"
 msgstr ""
 
+#. Debugging output
+#: ../yum/__init__.py:6738 ../yum/__init__.py:6757
+#, python-format
+msgid "%s has been visited already and cannot be removed."
+msgstr ""
+
+#. Debugging output
+#: ../yum/__init__.py:6741
+#, python-format
+msgid "Examining revdeps of %s"
+msgstr ""
+
+#. Debugging output
+#: ../yum/__init__.py:6762
+#, python-format
+msgid "%s has revdep %s which was user-installed."
+msgstr ""
+
+#: ../yum/__init__.py:6773 ../yum/__init__.py:6779
+#, python-format
+msgid "%s is needed by a package to be installed."
+msgstr ""
+
+#. Debugging output
+#: ../yum/__init__.py:6793
+#, python-format
+msgid "%s has no user-installed revdeps."
+msgstr ""
+
 #. Mostly copied from YumOutput._outKeyValFill()
-#: ../yum/plugins.py:209
+#: ../yum/plugins.py:212
 msgid "Loaded plugins: "
 msgstr "લોડ થયેલ પ્લગઇન: "
 
-#: ../yum/plugins.py:223 ../yum/plugins.py:229
+#: ../yum/plugins.py:226 ../yum/plugins.py:232
 #, python-format
 msgid "No plugin match for: %s"
 msgstr ""
 
-#: ../yum/plugins.py:259
+#: ../yum/plugins.py:262
 #, python-format
 msgid "Not loading \"%s\" plugin, as it is disabled"
 msgstr ""
 
 #. Give full backtrace:
-#: ../yum/plugins.py:271
+#: ../yum/plugins.py:274
 #, python-format
 msgid "Plugin \"%s\" can't be imported"
 msgstr "પ્લગઇન \"%s\" ને આયાત કરી શકાતુ નથી"
 
-#: ../yum/plugins.py:278
+#: ../yum/plugins.py:281
 #, python-format
 msgid "Plugin \"%s\" doesn't specify required API version"
 msgstr ""
 
-#: ../yum/plugins.py:283
+#: ../yum/plugins.py:286
 #, python-format
 msgid "Plugin \"%s\" requires API %s. Supported API is %s."
 msgstr ""
 
-#: ../yum/plugins.py:316
+#: ../yum/plugins.py:319
 #, python-format
 msgid "Loading \"%s\" plugin"
 msgstr "\"%s\" પ્લગઇનને લાવી રહ્યા છે"
 
-#: ../yum/plugins.py:323
+#: ../yum/plugins.py:326
 #, python-format
 msgid "Two or more plugins with the name \"%s\" exist in the plugin search path"
 msgstr ""
 
-#: ../yum/plugins.py:343
+#: ../yum/plugins.py:346
 #, python-format
 msgid "Configuration file %s not found"
 msgstr "રૂપરેખાંકન ફાઇલ %s મળ્યુ નથી"
 
 #. for
 #. Configuration files for the plugin not found
-#: ../yum/plugins.py:346
+#: ../yum/plugins.py:349
 #, python-format
 msgid "Unable to find configuration file for plugin %s"
 msgstr "પ્લગઇન %s માટે રૂપરેખાંકન ફાઇલ શોધવામાં અસમર્થ"
 
-#: ../yum/plugins.py:508
+#: ../yum/plugins.py:553
 msgid "registration of commands not supported"
 msgstr "આદેશોનું રજીસ્ટ્રેશન આધારભૂત નથી"
 
-#: ../yum/rpmsack.py:148
+#: ../yum/rpmsack.py:159
 msgid "has missing requires of"
 msgstr ""
 
-#: ../yum/rpmsack.py:151
+#: ../yum/rpmsack.py:162
 msgid "has installed conflicts"
 msgstr ""
 
-#: ../yum/rpmsack.py:160
+#: ../yum/rpmsack.py:171
 #, python-format
 msgid "%s is a duplicate with %s"
 msgstr ""
 
-#: ../yum/rpmsack.py:168
+#: ../yum/rpmsack.py:179
 #, python-format
 msgid "%s is obsoleted by %s"
 msgstr ""
 
-#: ../yum/rpmsack.py:176
+#: ../yum/rpmsack.py:187
 #, python-format
 msgid "%s provides %s but it cannot be found"
 msgstr ""
@@ -3056,6 +3459,23 @@ msgstr ""
 msgid "Repackaging"
 msgstr ""
 
+#: ../yum/rpmtrans.py:149
+#, python-format
+msgid "Verify: %u/%u: %s"
+msgstr ""
+
+#: ../yum/yumRepo.py:919
+#, python-format
+msgid ""
+"Insufficient space in download directory %s\n"
+"    * free   %s\n"
+"    * needed %s"
+msgstr ""
+
+#: ../yum/yumRepo.py:986
+msgid "Package does not match intended download."
+msgstr ""
+
 #: ../rpmUtils/oldUtils.py:33
 #, python-format
 msgid "Header cannot be opened or does not match %s, %s."
@@ -3084,5 +3504,3 @@ msgstr ""
 #, python-format
 msgid "Error opening rpm %s - error %s"
 msgstr ""
-
-
diff --git a/po/hi.po b/po/hi.po
index 988a7a5..8de5599 100644
--- a/po/hi.po
+++ b/po/hi.po
@@ -2,427 +2,506 @@
 # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
 # This file is distributed under the same license as the PACKAGE package.
 # 
+# Translators:
 msgid ""
 msgstr ""
 "Project-Id-Version: Yum\n"
-"Report-Msgid-Bugs-To: http://yum.baseurl.org/\n"
-"POT-Creation-Date: 2011-06-06 10:21-0400\n"
-"PO-Revision-Date: 2011-06-06 14:21+0000\n"
-"Last-Translator: skvidal <skvidal@fedoraproject.org>\n"
-"Language-Team: Hindi (http://www.transifex.net/projects/p/yum/team/hi/)\n"
+"Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
+"POT-Creation-Date: 2013-01-30 09:08-0500\n"
+"PO-Revision-Date: 2013-01-30 14:08+0000\n"
+"Last-Translator: james <james@fedoraproject.org>\n"
+"Language-Team: Hindi (http://www.transifex.com/projects/p/yum/language/hi/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Language: hi\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: ../callback.py:48 ../output.py:1037 ../yum/rpmtrans.py:73
+#: ../callback.py:45 ../output.py:1502 ../yum/rpmtrans.py:73
 msgid "Updating"
 msgstr ""
 
-#: ../callback.py:49 ../yum/rpmtrans.py:74
+#: ../callback.py:46 ../yum/rpmtrans.py:74
 msgid "Erasing"
 msgstr ""
 
-#: ../callback.py:50 ../callback.py:51 ../callback.py:53 ../output.py:1036
-#: ../output.py:2218 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
+#: ../callback.py:47 ../callback.py:48 ../callback.py:50 ../output.py:1501
+#: ../output.py:2922 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
 #: ../yum/rpmtrans.py:78
 msgid "Installing"
 msgstr ""
 
-#: ../callback.py:52 ../callback.py:58 ../output.py:1840 ../yum/rpmtrans.py:77
+#: ../callback.py:49 ../callback.py:55 ../output.py:2379 ../yum/rpmtrans.py:77
 msgid "Obsoleted"
 msgstr ""
 
-#: ../callback.py:54 ../output.py:1169 ../output.py:1686 ../output.py:1847
+#: ../callback.py:51 ../output.py:1670 ../output.py:2222 ../output.py:2386
 msgid "Updated"
 msgstr ""
 
-#: ../callback.py:55 ../output.py:1685
+#: ../callback.py:52 ../output.py:2221
 msgid "Erased"
 msgstr ""
 
-#: ../callback.py:56 ../callback.py:57 ../callback.py:59 ../output.py:1167
-#: ../output.py:1685 ../output.py:1687 ../output.py:2190
+#: ../callback.py:53 ../callback.py:54 ../callback.py:56 ../output.py:1668
+#: ../output.py:2221 ../output.py:2223 ../output.py:2894
 msgid "Installed"
 msgstr ""
 
-#: ../callback.py:130
+#: ../callback.py:142
 msgid "No header - huh?"
 msgstr ""
 
-#: ../callback.py:168
+#: ../callback.py:180
 msgid "Repackage"
 msgstr ""
 
-#: ../callback.py:189
+#: ../callback.py:201
 #, python-format
 msgid "Error: invalid output state: %s for %s"
 msgstr ""
 
-#: ../callback.py:212
+#: ../callback.py:224
 #, python-format
 msgid "Erased: %s"
 msgstr ""
 
-#: ../callback.py:217 ../output.py:1038 ../output.py:2193
+#: ../callback.py:229 ../output.py:1503 ../output.py:2897
 msgid "Removing"
 msgstr ""
 
-#: ../callback.py:219 ../yum/rpmtrans.py:79
+#: ../callback.py:231 ../yum/rpmtrans.py:79
 msgid "Cleanup"
 msgstr ""
 
-#: ../cli.py:115
+#: ../cli.py:122
 #, python-format
 msgid "Command \"%s\" already defined"
 msgstr ""
 
-#: ../cli.py:127
+#: ../cli.py:137
 msgid "Setting up repositories"
 msgstr ""
 
-#: ../cli.py:138
+#: ../cli.py:148
 msgid "Reading repository metadata in from local files"
 msgstr ""
 
-#: ../cli.py:245 ../utils.py:281
+#: ../cli.py:273 ../cli.py:277 ../utils.py:320
 #, python-format
 msgid "Config Error: %s"
 msgstr ""
 
-#: ../cli.py:248 ../cli.py:1584 ../utils.py:284
+#: ../cli.py:280 ../cli.py:2206 ../utils.py:323
 #, python-format
 msgid "Options Error: %s"
 msgstr ""
 
-#: ../cli.py:293
+#: ../cli.py:327
 #, python-format
 msgid "  Installed: %s-%s at %s"
 msgstr ""
 
-#: ../cli.py:295
+#: ../cli.py:329
 #, python-format
 msgid "  Built    : %s at %s"
 msgstr ""
 
-#: ../cli.py:297
+#: ../cli.py:331
 #, python-format
 msgid "  Committed: %s at %s"
 msgstr ""
 
-#: ../cli.py:336
+#: ../cli.py:372
 msgid "You need to give some command"
 msgstr ""
 
-#: ../cli.py:350
+#: ../cli.py:386
 #, python-format
 msgid "No such command: %s. Please use %s --help"
 msgstr ""
 
-#: ../cli.py:400
+#: ../cli.py:444
 msgid "Disk Requirements:\n"
 msgstr ""
 
-#: ../cli.py:402
+#: ../cli.py:446
 #, python-format
 msgid "  At least %dMB more space needed on the %s filesystem.\n"
-msgstr ""
+msgid_plural "  At least %dMB more space needed on the %s filesystem.\n"
+msgstr[0] ""
+msgstr[1] ""
 
 #. TODO: simplify the dependency errors?
 #. Fixup the summary
-#: ../cli.py:407
+#: ../cli.py:451
 msgid ""
 "Error Summary\n"
 "-------------\n"
 msgstr ""
 
-#: ../cli.py:450
+#: ../cli.py:472
+msgid "Can't create lock file; exiting"
+msgstr ""
+
+#: ../cli.py:479
+msgid ""
+"Another app is currently holding the yum lock; exiting as configured by "
+"exit_on_lock"
+msgstr ""
+
+#: ../cli.py:532
 msgid "Trying to run the transaction but nothing to do. Exiting."
 msgstr ""
 
-#: ../cli.py:497
+#: ../cli.py:577
+msgid "future rpmdb ver mismatched saved transaction version,"
+msgstr ""
+
+#: ../cli.py:579 ../yum/__init__.py:6523
+msgid " ignoring, as requested."
+msgstr ""
+
+#: ../cli.py:582 ../yum/__init__.py:6526 ../yum/__init__.py:6673
+msgid " aborting."
+msgstr ""
+
+#: ../cli.py:588
 msgid "Exiting on user Command"
 msgstr ""
 
-#: ../cli.py:501
+#: ../cli.py:592
 msgid "Downloading Packages:"
 msgstr ""
 
-#: ../cli.py:506
+#: ../cli.py:597
 msgid "Error Downloading Packages:\n"
 msgstr ""
 
-#: ../cli.py:525 ../yum/__init__.py:4967
+#: ../cli.py:616 ../yum/__init__.py:6215
 msgid "Running Transaction Check"
 msgstr ""
 
-#: ../cli.py:534 ../yum/__init__.py:4976
+#: ../cli.py:625 ../yum/__init__.py:6224
 msgid "ERROR You need to update rpm to handle:"
 msgstr ""
 
-#: ../cli.py:536 ../yum/__init__.py:4979
+#: ../cli.py:627 ../yum/__init__.py:6227
 msgid "ERROR with transaction check vs depsolve:"
 msgstr ""
 
-#: ../cli.py:542
+#: ../cli.py:633
 msgid "RPM needs to be updated"
 msgstr ""
 
-#: ../cli.py:543
+#: ../cli.py:634
 #, python-format
 msgid "Please report this error in %s"
 msgstr ""
 
-#: ../cli.py:549
+#: ../cli.py:640
 msgid "Running Transaction Test"
 msgstr ""
 
-#: ../cli.py:561
+#: ../cli.py:652
 msgid "Transaction Check Error:\n"
 msgstr ""
 
-#: ../cli.py:568
+#: ../cli.py:659
 msgid "Transaction Test Succeeded"
 msgstr ""
 
-#: ../cli.py:600
+#: ../cli.py:691
 msgid "Running Transaction"
 msgstr ""
 
-#: ../cli.py:630
+#: ../cli.py:724
 msgid ""
 "Refusing to automatically import keys when running unattended.\n"
 "Use \"-y\" to override."
 msgstr ""
 
-#: ../cli.py:649 ../cli.py:692
+#: ../cli.py:743 ../cli.py:786
 msgid "  * Maybe you meant: "
 msgstr ""
 
-#: ../cli.py:675 ../cli.py:683
+#: ../cli.py:769 ../cli.py:777
 #, python-format
 msgid "Package(s) %s%s%s available, but not installed."
 msgstr ""
 
-#: ../cli.py:689 ../cli.py:722 ../cli.py:908
+#: ../cli.py:783 ../cli.py:891 ../cli.py:1158
 #, python-format
 msgid "No package %s%s%s available."
 msgstr ""
 
-#: ../cli.py:729 ../cli.py:973
-msgid "Package(s) to install"
+#: ../cli.py:871 ../cli.py:881 ../cli.py:1101 ../cli.py:1111
+#, python-format
+msgid "Bad %s argument %s."
 msgstr ""
 
-#: ../cli.py:732 ../cli.py:733 ../cli.py:914 ../cli.py:948 ../cli.py:974
-#: ../yumcommands.py:190
+#: ../cli.py:900 ../yumcommands.py:3331
+#, python-format
+msgid "%d package to install"
+msgid_plural "%d packages to install"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../cli.py:903 ../cli.py:904 ../cli.py:1169 ../cli.py:1170 ../cli.py:1224
+#: ../cli.py:1225 ../cli.py:1260 ../yumcommands.py:323 ../yumcommands.py:3419
 msgid "Nothing to do"
 msgstr ""
 
-#: ../cli.py:767
+#: ../cli.py:953
 #, python-format
-msgid "%d packages marked for Update"
-msgstr ""
+msgid "%d package marked for Update"
+msgid_plural "%d packages marked for Update"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:770
+#: ../cli.py:955
 msgid "No Packages marked for Update"
 msgstr ""
 
-#: ../cli.py:866
+#: ../cli.py:1067
 #, python-format
-msgid "%d packages marked for Distribution Synchronization"
-msgstr ""
+msgid "%d package marked for Distribution Synchronization"
+msgid_plural "%d packages marked for Distribution Synchronization"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:869
+#: ../cli.py:1069
 msgid "No Packages marked for Distribution Synchronization"
 msgstr ""
 
-#: ../cli.py:885
+#: ../cli.py:1124
 #, python-format
-msgid "%d packages marked for removal"
-msgstr ""
+msgid "%d package marked for removal"
+msgid_plural "%d packages marked for removal"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:888
+#: ../cli.py:1126
 msgid "No Packages marked for removal"
 msgstr ""
 
-#: ../cli.py:913
-msgid "Package(s) to downgrade"
-msgstr ""
+#: ../cli.py:1166
+#, python-format
+msgid "%d package to downgrade"
+msgid_plural "%d packages to downgrade"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:938
+#: ../cli.py:1207
 #, python-format
 msgid " (from %s)"
 msgstr ""
 
-#: ../cli.py:939
+#: ../cli.py:1208
 #, python-format
 msgid "Installed package %s%s%s%s not available."
 msgstr ""
 
-#: ../cli.py:947
-msgid "Package(s) to reinstall"
-msgstr ""
+#: ../cli.py:1221
+#, python-format
+msgid "%d package to reinstall"
+msgid_plural "%d packages to reinstall"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:960
+#: ../cli.py:1246
 msgid "No Packages Provided"
 msgstr ""
 
-#: ../cli.py:1058
+#: ../cli.py:1259
+msgid "Package(s) to install"
+msgstr ""
+
+#: ../cli.py:1367
 #, python-format
 msgid "N/S Matched: %s"
 msgstr ""
 
-#: ../cli.py:1075
+#: ../cli.py:1384
 #, python-format
 msgid "  Name and summary matches %sonly%s, use \"search all\" for everything."
 msgstr ""
 
-#: ../cli.py:1077
+#: ../cli.py:1386
 #, python-format
 msgid ""
 "  Full name and summary matches %sonly%s, use \"search all\" for everything."
 msgstr ""
 
-#: ../cli.py:1095
+#: ../cli.py:1404
 #, python-format
 msgid "Matched: %s"
 msgstr ""
 
-#: ../cli.py:1102
+#: ../cli.py:1411
 #, python-format
 msgid "  Name and summary matches %smostly%s, use \"search all\" for everything."
 msgstr ""
 
-#: ../cli.py:1106
+#: ../cli.py:1415
 #, python-format
 msgid "Warning: No matches found for: %s"
 msgstr ""
 
-#: ../cli.py:1109
+#: ../cli.py:1418
 msgid "No Matches found"
 msgstr ""
 
-#: ../cli.py:1174
+#: ../cli.py:1536
 #, python-format
-msgid "No Package Found for %s"
+msgid ""
+"Error: No Packages found for:\n"
+"  %s"
 msgstr ""
 
-#: ../cli.py:1184
+#: ../cli.py:1572
 msgid "Cleaning repos: "
 msgstr ""
 
-#: ../cli.py:1189
+#: ../cli.py:1577
 msgid "Cleaning up Everything"
 msgstr ""
 
-#: ../cli.py:1205
+#: ../cli.py:1593
 msgid "Cleaning up Headers"
 msgstr ""
 
-#: ../cli.py:1208
+#: ../cli.py:1596
 msgid "Cleaning up Packages"
 msgstr ""
 
-#: ../cli.py:1211
+#: ../cli.py:1599
 msgid "Cleaning up xml metadata"
 msgstr ""
 
-#: ../cli.py:1214
+#: ../cli.py:1602
 msgid "Cleaning up database cache"
 msgstr ""
 
-#: ../cli.py:1217
+#: ../cli.py:1605
 msgid "Cleaning up expire-cache metadata"
 msgstr ""
 
-#: ../cli.py:1220
+#: ../cli.py:1608
 msgid "Cleaning up cached rpmdb data"
 msgstr ""
 
-#: ../cli.py:1223
+#: ../cli.py:1611
 msgid "Cleaning up plugins"
 msgstr ""
 
-#: ../cli.py:1247
-#, python-format
-msgid "Warning: No groups match: %s"
+#: ../cli.py:1727
+msgid "Installed Environment Groups:"
+msgstr ""
+
+#: ../cli.py:1728
+msgid "Available Environment Groups:"
 msgstr ""
 
-#: ../cli.py:1264
+#: ../cli.py:1735
 msgid "Installed Groups:"
 msgstr ""
 
-#: ../cli.py:1270
+#: ../cli.py:1742
 msgid "Installed Language Groups:"
 msgstr ""
 
-#: ../cli.py:1276
+#: ../cli.py:1749
 msgid "Available Groups:"
 msgstr ""
 
-#: ../cli.py:1282
+#: ../cli.py:1756
 msgid "Available Language Groups:"
 msgstr ""
 
-#: ../cli.py:1285
+#: ../cli.py:1759
+#, python-format
+msgid "Warning: No Environments/Groups match: %s"
+msgstr ""
+
+#: ../cli.py:1763
 msgid "Done"
 msgstr ""
 
-#: ../cli.py:1296 ../cli.py:1314 ../cli.py:1320 ../yum/__init__.py:3313
+#: ../cli.py:1818
+#, python-format
+msgid "Warning: Group/Environment %s does not exist."
+msgstr ""
+
+#: ../cli.py:1859
+#, python-format
+msgid "Warning: Environment %s does not exist."
+msgstr ""
+
+#: ../cli.py:1873 ../cli.py:1879 ../yum/__init__.py:4254
 #, python-format
 msgid "Warning: Group %s does not exist."
 msgstr ""
 
-#: ../cli.py:1324
+#: ../cli.py:1883
 msgid "No packages in any requested group available to install or update"
 msgstr ""
 
-#: ../cli.py:1326
+#: ../cli.py:1885
 #, python-format
-msgid "%d Package(s) to Install"
+msgid "%d package to Install"
+msgid_plural "%d packages to Install"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../cli.py:1919 ../yum/__init__.py:3536 ../yum/__init__.py:3766
+#: ../yum/__init__.py:3824
+#, python-format
+msgid "No Environment named %s exists"
 msgstr ""
 
-#: ../cli.py:1336 ../yum/__init__.py:3325
+#: ../cli.py:1935 ../yum/__init__.py:4282
 #, python-format
 msgid "No group named %s exists"
 msgstr ""
 
-#: ../cli.py:1342
+#: ../cli.py:1945
 msgid "No packages to remove from groups"
 msgstr ""
 
-#: ../cli.py:1344
+#: ../cli.py:1947 ../yumcommands.py:3351
 #, python-format
-msgid "%d Package(s) to remove"
-msgstr ""
+msgid "%d package to remove"
+msgid_plural "%d packages to remove"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:1386
+#: ../cli.py:1988
 #, python-format
 msgid "Package %s is already installed, skipping"
 msgstr ""
 
-#: ../cli.py:1397
+#: ../cli.py:1999
 #, python-format
 msgid "Discarding non-comparable pkg %s.%s"
 msgstr ""
 
 #. we've not got any installed that match n or n+a
-#: ../cli.py:1423
+#: ../cli.py:2025
 #, python-format
 msgid "No other %s installed, adding to list for potential install"
 msgstr ""
 
-#: ../cli.py:1443
+#: ../cli.py:2045
 msgid "Plugin Options"
 msgstr ""
 
-#: ../cli.py:1451
+#: ../cli.py:2057
 #, python-format
 msgid "Command line error: %s"
 msgstr ""
 
-#: ../cli.py:1467
+#: ../cli.py:2079
 #, python-format
 msgid ""
 "\n"
@@ -430,438 +509,484 @@ msgid ""
 "%s: %s option requires an argument"
 msgstr ""
 
-#: ../cli.py:1521
+#: ../cli.py:2147
 msgid "--color takes one of: auto, always, never"
 msgstr ""
 
 #. We have a relative installroot ... haha
-#: ../cli.py:1596
+#: ../cli.py:2218
 #, python-format
 msgid "--installroot must be an absolute path: %s"
 msgstr ""
 
-#: ../cli.py:1642
+#: ../cli.py:2272
 msgid "show this help message and exit"
 msgstr ""
 
-#: ../cli.py:1646
+#: ../cli.py:2276
 msgid "be tolerant of errors"
 msgstr ""
 
-#: ../cli.py:1649
+#: ../cli.py:2279
 msgid "run entirely from system cache, don't update cache"
 msgstr ""
 
-#: ../cli.py:1652
+#: ../cli.py:2282
 msgid "config file location"
 msgstr ""
 
-#: ../cli.py:1655
+#: ../cli.py:2285
 msgid "maximum command wait time"
 msgstr ""
 
-#: ../cli.py:1657
+#: ../cli.py:2287
 msgid "debugging output level"
 msgstr ""
 
-#: ../cli.py:1661
+#: ../cli.py:2291
 msgid "show duplicates, in repos, in list/search commands"
 msgstr ""
 
-#: ../cli.py:1663
+#: ../cli.py:2296
 msgid "error output level"
 msgstr ""
 
-#: ../cli.py:1666
+#: ../cli.py:2299
 msgid "debugging output level for rpm"
 msgstr ""
 
-#: ../cli.py:1669
+#: ../cli.py:2302
 msgid "quiet operation"
 msgstr ""
 
-#: ../cli.py:1671
+#: ../cli.py:2304
 msgid "verbose operation"
 msgstr ""
 
-#: ../cli.py:1673
+#: ../cli.py:2306
 msgid "answer yes for all questions"
 msgstr ""
 
-#: ../cli.py:1675
+#: ../cli.py:2308
+msgid "answer no for all questions"
+msgstr ""
+
+#: ../cli.py:2312
 msgid "show Yum version and exit"
 msgstr ""
 
-#: ../cli.py:1676
+#: ../cli.py:2313
 msgid "set install root"
 msgstr ""
 
-#: ../cli.py:1680
+#: ../cli.py:2317
 msgid "enable one or more repositories (wildcards allowed)"
 msgstr ""
 
-#: ../cli.py:1684
+#: ../cli.py:2321
 msgid "disable one or more repositories (wildcards allowed)"
 msgstr ""
 
-#: ../cli.py:1687
+#: ../cli.py:2324
 msgid "exclude package(s) by name or glob"
 msgstr ""
 
-#: ../cli.py:1689
+#: ../cli.py:2326
 msgid "disable exclude from main, for a repo or for everything"
 msgstr ""
 
-#: ../cli.py:1692
+#: ../cli.py:2329
 msgid "enable obsoletes processing during updates"
 msgstr ""
 
-#: ../cli.py:1694
+#: ../cli.py:2331
 msgid "disable Yum plugins"
 msgstr ""
 
-#: ../cli.py:1696
+#: ../cli.py:2333
 msgid "disable gpg signature checking"
 msgstr ""
 
-#: ../cli.py:1698
+#: ../cli.py:2335
 msgid "disable plugins by name"
 msgstr ""
 
-#: ../cli.py:1701
+#: ../cli.py:2338
 msgid "enable plugins by name"
 msgstr ""
 
-#: ../cli.py:1704
+#: ../cli.py:2341
 msgid "skip packages with depsolving problems"
 msgstr ""
 
-#: ../cli.py:1706
+#: ../cli.py:2343
 msgid "control whether color is used"
 msgstr ""
 
-#: ../cli.py:1708
+#: ../cli.py:2345
 msgid "set value of $releasever in yum config and repo files"
 msgstr ""
 
-#: ../cli.py:1710
+#: ../cli.py:2347
+msgid "don't update, just download"
+msgstr ""
+
+#: ../cli.py:2349
+msgid "specifies an alternate directory to store packages"
+msgstr ""
+
+#: ../cli.py:2351
 msgid "set arbitrary config and repo options"
 msgstr ""
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Jan"
 msgstr ""
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Feb"
 msgstr ""
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Mar"
 msgstr ""
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Apr"
 msgstr ""
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "May"
 msgstr ""
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Jun"
 msgstr ""
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Jul"
 msgstr ""
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Aug"
 msgstr ""
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Sep"
 msgstr ""
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Oct"
 msgstr ""
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Nov"
 msgstr ""
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Dec"
 msgstr ""
 
-#: ../output.py:318
+#: ../output.py:473
 msgid "Trying other mirror."
 msgstr ""
 
-#: ../output.py:581
+#: ../output.py:816
 #, python-format
 msgid "Name        : %s%s%s"
 msgstr ""
 
-#: ../output.py:582
+#: ../output.py:817
 #, python-format
 msgid "Arch        : %s"
 msgstr ""
 
-#: ../output.py:584
+#: ../output.py:819
 #, python-format
 msgid "Epoch       : %s"
 msgstr ""
 
-#: ../output.py:585
+#: ../output.py:820
 #, python-format
 msgid "Version     : %s"
 msgstr ""
 
-#: ../output.py:586
+#: ../output.py:821
 #, python-format
 msgid "Release     : %s"
 msgstr ""
 
-#: ../output.py:587
+#: ../output.py:822
 #, python-format
 msgid "Size        : %s"
 msgstr ""
 
-#: ../output.py:588 ../output.py:900
+#: ../output.py:823 ../output.py:1329
 #, python-format
 msgid "Repo        : %s"
 msgstr ""
 
-#: ../output.py:590
+#: ../output.py:825
 #, python-format
 msgid "From repo   : %s"
 msgstr ""
 
-#: ../output.py:592
+#: ../output.py:827
 #, python-format
 msgid "Committer   : %s"
 msgstr ""
 
-#: ../output.py:593
+#: ../output.py:828
 #, python-format
 msgid "Committime  : %s"
 msgstr ""
 
-#: ../output.py:594
+#: ../output.py:829
 #, python-format
 msgid "Buildtime   : %s"
 msgstr ""
 
-#: ../output.py:596
+#: ../output.py:831
 #, python-format
 msgid "Install time: %s"
 msgstr ""
 
-#: ../output.py:604
+#: ../output.py:839
 #, python-format
 msgid "Installed by: %s"
 msgstr ""
 
-#: ../output.py:611
+#: ../output.py:846
 #, python-format
 msgid "Changed by  : %s"
 msgstr ""
 
-#: ../output.py:612
+#: ../output.py:847
 msgid "Summary     : "
 msgstr ""
 
-#: ../output.py:614 ../output.py:913
+#: ../output.py:849 ../output.py:1345
 #, python-format
 msgid "URL         : %s"
 msgstr ""
 
-#: ../output.py:615
+#: ../output.py:850
 msgid "License     : "
 msgstr ""
 
-#: ../output.py:616 ../output.py:910
+#: ../output.py:851 ../output.py:1342
 msgid "Description : "
 msgstr ""
 
-#: ../output.py:684
+#: ../output.py:969
 msgid "y"
 msgstr ""
 
-#: ../output.py:684
+#: ../output.py:969
 msgid "yes"
 msgstr ""
 
-#: ../output.py:685
+#: ../output.py:970
 msgid "n"
 msgstr ""
 
-#: ../output.py:685
+#: ../output.py:970
 msgid "no"
 msgstr ""
 
-#: ../output.py:689
+#: ../output.py:974
 msgid "Is this ok [y/N]: "
 msgstr ""
 
-#: ../output.py:777
+#: ../output.py:1097
 #, python-format
 msgid ""
 "\n"
 "Group: %s"
 msgstr ""
 
-#: ../output.py:781
+#: ../output.py:1101
 #, python-format
 msgid " Group-Id: %s"
 msgstr ""
 
-#: ../output.py:786
+#: ../output.py:1122 ../output.py:1169
 #, python-format
 msgid " Description: %s"
 msgstr ""
 
-#: ../output.py:788
+#: ../output.py:1124
 #, python-format
 msgid " Language: %s"
 msgstr ""
 
-#: ../output.py:790
+#: ../output.py:1126
 msgid " Mandatory Packages:"
 msgstr ""
 
-#: ../output.py:791
+#: ../output.py:1127
 msgid " Default Packages:"
 msgstr ""
 
-#: ../output.py:792
+#: ../output.py:1128
 msgid " Optional Packages:"
 msgstr ""
 
-#: ../output.py:793
+#: ../output.py:1129
 msgid " Conditional Packages:"
 msgstr ""
 
-#: ../output.py:814
+#: ../output.py:1147
+msgid " Installed Packages:"
+msgstr ""
+
+#: ../output.py:1157
+#, python-format
+msgid ""
+"\n"
+"Environment Group: %s"
+msgstr ""
+
+#: ../output.py:1158
+#, python-format
+msgid " Environment-Id: %s"
+msgstr ""
+
+#: ../output.py:1191
+msgid " Mandatory Groups:"
+msgstr ""
+
+#: ../output.py:1192
+msgid " Optional Groups:"
+msgstr ""
+
+#: ../output.py:1205
+msgid " Installed Groups:"
+msgstr ""
+
+#: ../output.py:1217
 #, python-format
 msgid "package: %s"
 msgstr ""
 
-#: ../output.py:816
+#: ../output.py:1219
 msgid "  No dependencies for this package"
 msgstr ""
 
-#: ../output.py:821
+#: ../output.py:1224
 #, python-format
 msgid "  dependency: %s"
 msgstr ""
 
-#: ../output.py:823
+#: ../output.py:1226
 msgid "   Unsatisfied dependency"
 msgstr ""
 
-#: ../output.py:901
+#: ../output.py:1337
 msgid "Matched from:"
 msgstr ""
 
-#: ../output.py:916
+#: ../output.py:1348
 #, python-format
 msgid "License     : %s"
 msgstr ""
 
-#: ../output.py:919
+#: ../output.py:1351
 #, python-format
 msgid "Filename    : %s"
 msgstr ""
 
-#: ../output.py:923
+#: ../output.py:1360
+msgid "Provides    : "
+msgstr ""
+
+#: ../output.py:1363
 msgid "Other       : "
 msgstr ""
 
-#: ../output.py:966
+#: ../output.py:1426
 msgid "There was an error calculating total download size"
 msgstr ""
 
-#: ../output.py:971
+#: ../output.py:1431
 #, python-format
 msgid "Total size: %s"
 msgstr ""
 
-#: ../output.py:974
+#: ../output.py:1433
 #, python-format
 msgid "Total download size: %s"
 msgstr ""
 
-#: ../output.py:978 ../output.py:998
+#: ../output.py:1436 ../output.py:1459 ../output.py:1463
 #, python-format
 msgid "Installed size: %s"
 msgstr ""
 
-#: ../output.py:994
+#: ../output.py:1454
 msgid "There was an error calculating installed size"
 msgstr ""
 
-#: ../output.py:1039
+#: ../output.py:1504
 msgid "Reinstalling"
 msgstr ""
 
-#: ../output.py:1040
+#: ../output.py:1505
 msgid "Downgrading"
 msgstr ""
 
-#: ../output.py:1041
+#: ../output.py:1506
 msgid "Installing for dependencies"
 msgstr ""
 
-#: ../output.py:1042
+#: ../output.py:1507
 msgid "Updating for dependencies"
 msgstr ""
 
-#: ../output.py:1043
+#: ../output.py:1508
 msgid "Removing for dependencies"
 msgstr ""
 
-#: ../output.py:1050 ../output.py:1171
+#: ../output.py:1515 ../output.py:1576 ../output.py:1672
 msgid "Skipped (dependency problems)"
 msgstr ""
 
-#: ../output.py:1052 ../output.py:1687
+#: ../output.py:1517 ../output.py:1577 ../output.py:2223
 msgid "Not installed"
 msgstr ""
 
-#: ../output.py:1053
+#: ../output.py:1518 ../output.py:1578
 msgid "Not available"
 msgstr ""
 
-#: ../output.py:1075 ../output.py:2024
+#: ../output.py:1540 ../output.py:1588 ../output.py:1604 ../output.py:2581
 msgid "Package"
-msgstr ""
+msgid_plural "Packages"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../output.py:1075
+#: ../output.py:1540
 msgid "Arch"
 msgstr ""
 
-#: ../output.py:1076
+#: ../output.py:1541
 msgid "Version"
 msgstr ""
 
-#: ../output.py:1076
+#: ../output.py:1541
 msgid "Repository"
 msgstr ""
 
-#: ../output.py:1077
+#: ../output.py:1542
 msgid "Size"
 msgstr ""
 
-#: ../output.py:1089
+#: ../output.py:1554
 #, python-format
 msgid "     replacing  %s%s%s.%s %s\n"
 msgstr ""
 
-#: ../output.py:1098
+#: ../output.py:1563
 #, python-format
 msgid ""
 "\n"
@@ -869,65 +994,66 @@ msgid ""
 "%s\n"
 msgstr ""
 
-#: ../output.py:1109
-#, python-format
-msgid "Install   %5.5s Package(s)\n"
+#: ../output.py:1568 ../output.py:2376 ../output.py:2377
+msgid "Install"
 msgstr ""
 
-#: ../output.py:1113
-#, python-format
-msgid "Upgrade   %5.5s Package(s)\n"
+#: ../output.py:1570
+msgid "Upgrade"
 msgstr ""
 
-#: ../output.py:1117
-#, python-format
-msgid "Remove    %5.5s Package(s)\n"
+#: ../output.py:1572
+msgid "Remove"
 msgstr ""
 
-#: ../output.py:1121
-#, python-format
-msgid "Reinstall %5.5s Package(s)\n"
+#: ../output.py:1574 ../output.py:2382
+msgid "Reinstall"
 msgstr ""
 
-#: ../output.py:1125
-#, python-format
-msgid "Downgrade %5.5s Package(s)\n"
+#: ../output.py:1575 ../output.py:2383
+msgid "Downgrade"
 msgstr ""
 
-#: ../output.py:1165
+#: ../output.py:1606
+msgid "Dependent package"
+msgid_plural "Dependent packages"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../output.py:1666
 msgid "Removed"
 msgstr ""
 
-#: ../output.py:1166
+#: ../output.py:1667
 msgid "Dependency Removed"
 msgstr ""
 
-#: ../output.py:1168
+#: ../output.py:1669
 msgid "Dependency Installed"
 msgstr ""
 
-#: ../output.py:1170
+#: ../output.py:1671
 msgid "Dependency Updated"
 msgstr ""
 
-#: ../output.py:1172
+#: ../output.py:1673
 msgid "Replaced"
 msgstr ""
 
-#: ../output.py:1173
+#: ../output.py:1674
 msgid "Failed"
 msgstr ""
 
 #. Delta between C-c's so we treat as exit
-#: ../output.py:1260
+#: ../output.py:1764
 msgid "two"
 msgstr ""
 
 #. For translators: This is output like:
 #. Current download cancelled, interrupt (ctrl-c) again within two seconds
 #. to exit.
-#. Where "interupt (ctrl-c) again" and "two" are highlighted.
-#: ../output.py:1271
+#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
+#: ../output.py:1775
 #, python-format
 msgid ""
 "\n"
@@ -935,484 +1061,542 @@ msgid ""
 "to exit.\n"
 msgstr ""
 
-#: ../output.py:1282
+#: ../output.py:1786
 msgid "user interrupt"
 msgstr ""
 
-#: ../output.py:1300
+#: ../output.py:1812
 msgid "Total"
 msgstr ""
 
-#: ../output.py:1322
+#: ../output.py:1834
 msgid "I"
 msgstr ""
 
-#: ../output.py:1323
+#: ../output.py:1835
 msgid "O"
 msgstr ""
 
-#: ../output.py:1324
+#: ../output.py:1836
 msgid "E"
 msgstr ""
 
-#: ../output.py:1325
+#: ../output.py:1837
 msgid "R"
 msgstr ""
 
-#: ../output.py:1326
+#: ../output.py:1838
 msgid "D"
 msgstr ""
 
-#: ../output.py:1327
+#: ../output.py:1839
 msgid "U"
 msgstr ""
 
-#: ../output.py:1341
+#: ../output.py:1853
 msgid "<unset>"
 msgstr ""
 
-#: ../output.py:1342
+#: ../output.py:1854
 msgid "System"
 msgstr ""
 
-#: ../output.py:1411
+#: ../output.py:1923
 #, python-format
 msgid "Skipping merged transaction %d to %d, as it overlaps"
 msgstr ""
 
-#: ../output.py:1421 ../output.py:1592
+#: ../output.py:1933 ../output.py:2125
 msgid "No transactions"
 msgstr ""
 
-#: ../output.py:1446 ../output.py:2013
+#: ../output.py:1958 ../output.py:2570 ../output.py:2660
 msgid "Bad transaction IDs, or package(s), given"
 msgstr ""
 
-#: ../output.py:1484
+#: ../output.py:2007
 msgid "Command line"
 msgstr ""
 
-#: ../output.py:1486 ../output.py:1908
+#: ../output.py:2009 ../output.py:2458
 msgid "Login user"
 msgstr ""
 
 #. REALLY Needs to use columns!
-#: ../output.py:1487 ../output.py:2022
+#: ../output.py:2010 ../output.py:2579
 msgid "ID"
 msgstr ""
 
-#: ../output.py:1489
+#: ../output.py:2012
 msgid "Date and time"
 msgstr ""
 
-#: ../output.py:1490 ../output.py:1910 ../output.py:2023
+#: ../output.py:2013 ../output.py:2460 ../output.py:2580
 msgid "Action(s)"
 msgstr ""
 
-#: ../output.py:1491 ../output.py:1911
+#: ../output.py:2014 ../output.py:2461
 msgid "Altered"
 msgstr ""
 
-#: ../output.py:1538
+#: ../output.py:2061
 msgid "No transaction ID given"
 msgstr ""
 
-#: ../output.py:1564 ../output.py:1972
+#: ../output.py:2087 ../output.py:2526
 msgid "Bad transaction ID given"
 msgstr ""
 
-#: ../output.py:1569
+#: ../output.py:2092
 msgid "Not found given transaction ID"
 msgstr ""
 
-#: ../output.py:1577
+#: ../output.py:2100
 msgid "Found more than one transaction ID!"
 msgstr ""
 
-#: ../output.py:1618 ../output.py:1980
+#: ../output.py:2151 ../output.py:2534
 msgid "No transaction ID, or package, given"
 msgstr ""
 
-#: ../output.py:1686 ../output.py:1845
+#: ../output.py:2222 ../output.py:2384
 msgid "Downgraded"
 msgstr ""
 
-#: ../output.py:1688
+#: ../output.py:2224
 msgid "Older"
 msgstr ""
 
-#: ../output.py:1688
+#: ../output.py:2224
 msgid "Newer"
 msgstr ""
 
-#: ../output.py:1724 ../output.py:1726
+#: ../output.py:2261 ../output.py:2263 ../output.py:2681
 msgid "Transaction ID :"
 msgstr ""
 
-#: ../output.py:1728
+#: ../output.py:2265 ../output.py:2683
 msgid "Begin time     :"
 msgstr ""
 
-#: ../output.py:1731 ../output.py:1733
+#: ../output.py:2268 ../output.py:2270
 msgid "Begin rpmdb    :"
 msgstr ""
 
-#: ../output.py:1749
+#: ../output.py:2286
 #, python-format
 msgid "(%u seconds)"
 msgstr ""
 
-#: ../output.py:1751
+#: ../output.py:2288
 #, python-format
 msgid "(%u minutes)"
 msgstr ""
 
-#: ../output.py:1753
+#: ../output.py:2290
 #, python-format
 msgid "(%u hours)"
 msgstr ""
 
-#: ../output.py:1755
+#: ../output.py:2292
 #, python-format
 msgid "(%u days)"
 msgstr ""
 
-#: ../output.py:1756
+#: ../output.py:2293
 msgid "End time       :"
 msgstr ""
 
-#: ../output.py:1759 ../output.py:1761
+#: ../output.py:2296 ../output.py:2298
 msgid "End rpmdb      :"
 msgstr ""
 
-#: ../output.py:1764 ../output.py:1766
+#: ../output.py:2301 ../output.py:2303
 msgid "User           :"
 msgstr ""
 
-#: ../output.py:1770 ../output.py:1773 ../output.py:1775 ../output.py:1777
-#: ../output.py:1779
+#: ../output.py:2307 ../output.py:2310 ../output.py:2312 ../output.py:2314
+#: ../output.py:2316
 msgid "Return-Code    :"
 msgstr ""
 
-#: ../output.py:1770 ../output.py:1775
+#: ../output.py:2307 ../output.py:2312
 msgid "Aborted"
 msgstr ""
 
-#: ../output.py:1773
+#: ../output.py:2310
 msgid "Failures:"
 msgstr ""
 
-#: ../output.py:1777
+#: ../output.py:2314
 msgid "Failure:"
 msgstr ""
 
-#: ../output.py:1779
+#: ../output.py:2316
 msgid "Success"
 msgstr ""
 
-#: ../output.py:1784 ../output.py:1786
+#: ../output.py:2321 ../output.py:2323 ../output.py:2712
 msgid "Command Line   :"
 msgstr ""
 
-#: ../output.py:1795
+#: ../output.py:2332
 #, python-format
 msgid "Additional non-default information stored: %d"
 msgstr ""
 
 #. This is _possible_, but not common
-#: ../output.py:1800
+#: ../output.py:2337
 msgid "Transaction performed with:"
 msgstr ""
 
-#: ../output.py:1804
+#: ../output.py:2341
 msgid "Packages Altered:"
 msgstr ""
 
-#: ../output.py:1808
+#: ../output.py:2345
 msgid "Packages Skipped:"
 msgstr ""
 
-#: ../output.py:1814
+#: ../output.py:2353
 msgid "Rpmdb Problems:"
 msgstr ""
 
-#: ../output.py:1825
+#: ../output.py:2364
 msgid "Scriptlet output:"
 msgstr ""
 
-#: ../output.py:1831
+#: ../output.py:2370
 msgid "Errors:"
 msgstr ""
 
-#: ../output.py:1837 ../output.py:1838
-msgid "Install"
-msgstr ""
-
-#: ../output.py:1839
+#: ../output.py:2378
 msgid "Dep-Install"
 msgstr ""
 
-#: ../output.py:1841
+#: ../output.py:2380
 msgid "Obsoleting"
 msgstr ""
 
-#: ../output.py:1842
+#: ../output.py:2381
 msgid "Erase"
 msgstr ""
 
-#: ../output.py:1843
-msgid "Reinstall"
-msgstr ""
-
-#: ../output.py:1844
-msgid "Downgrade"
-msgstr ""
-
-#: ../output.py:1846
+#: ../output.py:2385
 msgid "Update"
 msgstr ""
 
-#: ../output.py:1909
+#: ../output.py:2459
 msgid "Time"
 msgstr ""
 
-#: ../output.py:1935
+#: ../output.py:2485
 msgid "Last day"
 msgstr ""
 
-#: ../output.py:1936
+#: ../output.py:2486
 msgid "Last week"
 msgstr ""
 
-#: ../output.py:1937
+#: ../output.py:2487
 msgid "Last 2 weeks"
 msgstr ""
 
 #. US default :p
-#: ../output.py:1938
+#: ../output.py:2488
 msgid "Last 3 months"
 msgstr ""
 
-#: ../output.py:1939
+#: ../output.py:2489
 msgid "Last 6 months"
 msgstr ""
 
-#: ../output.py:1940
+#: ../output.py:2490
 msgid "Last year"
 msgstr ""
 
-#: ../output.py:1941
+#: ../output.py:2491
 msgid "Over a year ago"
 msgstr ""
 
-#: ../output.py:1984
+#: ../output.py:2538
 #, python-format
 msgid "No Transaction %s found"
 msgstr ""
 
-#: ../output.py:1990
+#: ../output.py:2544
 msgid "Transaction ID:"
 msgstr ""
 
-#: ../output.py:1991
+#: ../output.py:2545
 msgid "Available additional history information:"
 msgstr ""
 
-#: ../output.py:2003
+#: ../output.py:2558
 #, python-format
 msgid "%s: No additional data found by this name"
 msgstr ""
 
-#: ../output.py:2106
+#: ../output.py:2684
+msgid "Package        :"
+msgstr ""
+
+#: ../output.py:2685
+msgid "State          :"
+msgstr ""
+
+#: ../output.py:2688
+msgid "Size           :"
+msgstr ""
+
+#: ../output.py:2690
+msgid "Build host     :"
+msgstr ""
+
+#: ../output.py:2693
+msgid "Build time     :"
+msgstr ""
+
+#: ../output.py:2695
+msgid "Packager       :"
+msgstr ""
+
+#: ../output.py:2697
+msgid "Vendor         :"
+msgstr ""
+
+#: ../output.py:2699
+msgid "License        :"
+msgstr ""
+
+#: ../output.py:2701
+msgid "URL            :"
+msgstr ""
+
+#: ../output.py:2703
+msgid "Source RPM     :"
+msgstr ""
+
+#: ../output.py:2706
+msgid "Commit Time    :"
+msgstr ""
+
+#: ../output.py:2708
+msgid "Committer      :"
+msgstr ""
+
+#: ../output.py:2710
+msgid "Reason         :"
+msgstr ""
+
+#: ../output.py:2714
+msgid "From repo      :"
+msgstr ""
+
+#: ../output.py:2718
+msgid "Installed by   :"
+msgstr ""
+
+#: ../output.py:2722
+msgid "Changed by     :"
+msgstr ""
+
+#: ../output.py:2767
 msgid "installed"
 msgstr ""
 
-#: ../output.py:2107
+#: ../output.py:2768
 msgid "an update"
 msgstr ""
 
-#: ../output.py:2108
+#: ../output.py:2769
 msgid "erased"
 msgstr ""
 
-#: ../output.py:2109
+#: ../output.py:2770
 msgid "reinstalled"
 msgstr ""
 
-#: ../output.py:2110
+#: ../output.py:2771
 msgid "a downgrade"
 msgstr ""
 
-#: ../output.py:2111
+#: ../output.py:2772
 msgid "obsoleting"
 msgstr ""
 
-#: ../output.py:2112
+#: ../output.py:2773
 msgid "updated"
 msgstr ""
 
-#: ../output.py:2113
+#: ../output.py:2774
 msgid "obsoleted"
 msgstr ""
 
-#: ../output.py:2117
+#: ../output.py:2778
 #, python-format
 msgid "---> Package %s.%s %s:%s-%s will be %s"
 msgstr ""
 
-#: ../output.py:2124
+#: ../output.py:2789
 msgid "--> Running transaction check"
 msgstr ""
 
-#: ../output.py:2129
+#: ../output.py:2795
 msgid "--> Restarting Dependency Resolution with new changes."
 msgstr ""
 
-#: ../output.py:2134
+#: ../output.py:2801
 msgid "--> Finished Dependency Resolution"
 msgstr ""
 
-#: ../output.py:2139 ../output.py:2144
+#: ../output.py:2814 ../output.py:2827
 #, python-format
 msgid "--> Processing Dependency: %s for package: %s"
 msgstr ""
 
-#: ../output.py:2149
+#: ../output.py:2841
 #, python-format
-msgid "---> Keeping package: %s"
+msgid "---> Keeping package: %s due to %s"
 msgstr ""
 
-#: ../output.py:2152
+#: ../output.py:2850
 #, python-format
 msgid "--> Unresolved Dependency: %s"
 msgstr ""
 
-#: ../output.py:2163
+#: ../output.py:2867
 #, python-format
 msgid "Package: %s"
 msgstr ""
 
-#: ../output.py:2165
+#: ../output.py:2869
 #, python-format
 msgid ""
 "\n"
 "    Requires: %s"
 msgstr ""
 
-#: ../output.py:2174
+#: ../output.py:2878
 #, python-format
 msgid ""
 "\n"
 "    %s: %s (%s)"
 msgstr ""
 
-#: ../output.py:2179
+#: ../output.py:2883
 #, python-format
 msgid ""
 "\n"
 "        %s"
 msgstr ""
 
-#: ../output.py:2181
+#: ../output.py:2885
 msgid ""
 "\n"
 "        Not found"
 msgstr ""
 
 #. These should be the only three things we care about:
-#: ../output.py:2196
+#: ../output.py:2900
 msgid "Updated By"
 msgstr ""
 
-#: ../output.py:2197
+#: ../output.py:2901
 msgid "Downgraded By"
 msgstr ""
 
-#: ../output.py:2198
+#: ../output.py:2902
 msgid "Obsoleted By"
 msgstr ""
 
-#: ../output.py:2216
+#: ../output.py:2920
 msgid "Available"
 msgstr ""
 
-#: ../output.py:2243 ../output.py:2248
+#: ../output.py:2955 ../output.py:2968
 #, python-format
 msgid "--> Processing Conflict: %s conflicts %s"
 msgstr ""
 
-#: ../output.py:2252
+#: ../output.py:2974
 msgid "--> Populating transaction set with selected packages. Please wait."
 msgstr ""
 
-#: ../output.py:2256
+#: ../output.py:2983
 #, python-format
 msgid "---> Downloading header for %s to pack into transaction set."
 msgstr ""
 
-#: ../utils.py:99
+#. self.event(txmbr.name, count, len(base.tsInfo), count, )
+#. (te_current*100L)/te_total
+#: ../output.py:3248
+msgid "Verifying"
+msgstr ""
+
+#: ../utils.py:123
 msgid "Running"
 msgstr ""
 
-#: ../utils.py:100
+#: ../utils.py:124
 msgid "Sleeping"
 msgstr ""
 
-#: ../utils.py:101
+#: ../utils.py:125
 msgid "Uninterruptible"
 msgstr ""
 
-#: ../utils.py:102
+#: ../utils.py:126
 msgid "Zombie"
 msgstr ""
 
-#: ../utils.py:103
+#: ../utils.py:127
 msgid "Traced/Stopped"
 msgstr ""
 
-#: ../utils.py:104 ../yumcommands.py:994
+#: ../utils.py:128 ../yumcommands.py:2193
 msgid "Unknown"
 msgstr ""
 
-#: ../utils.py:115
+#: ../utils.py:153
 msgid "  The other application is: PackageKit"
 msgstr ""
 
-#: ../utils.py:117
+#: ../utils.py:155
 #, python-format
 msgid "  The other application is: %s"
 msgstr ""
 
-#: ../utils.py:120
+#: ../utils.py:158
 #, python-format
 msgid "    Memory : %5s RSS (%5sB VSZ)"
 msgstr ""
 
-#: ../utils.py:125
+#: ../utils.py:163
 #, python-format
 msgid "    Started: %s - %s ago"
 msgstr ""
 
-#: ../utils.py:127
+#: ../utils.py:165
 #, python-format
 msgid "    State  : %s, pid: %d"
 msgstr ""
 
-#: ../utils.py:170 ../yummain.py:43
+#: ../utils.py:194 ../yummain.py:43
 msgid ""
 "\n"
 "\n"
 "Exiting on user cancel"
 msgstr ""
 
-#: ../utils.py:176 ../yummain.py:49
+#: ../utils.py:206 ../yummain.py:49
 msgid ""
 "\n"
 "\n"
 "Exiting on Broken Pipe"
 msgstr ""
 
-#: ../utils.py:178 ../yummain.py:51
+#: ../utils.py:208 ../yummain.py:51
 #, python-format
 msgid ""
 "\n"
@@ -1420,47 +1604,41 @@ msgid ""
 "%s"
 msgstr ""
 
-#: ../utils.py:228 ../yummain.py:123
-msgid ""
-"Another app is currently holding the yum lock; exiting as configured by "
-"exit_on_lock"
-msgstr ""
-
-#: ../utils.py:287
+#: ../utils.py:326
 #, python-format
 msgid "PluginExit Error: %s"
 msgstr ""
 
-#: ../utils.py:290
+#: ../utils.py:329
 #, python-format
 msgid "Yum Error: %s"
 msgstr ""
 
-#: ../utils.py:342 ../yummain.py:150 ../yummain.py:189
+#: ../utils.py:387 ../yummain.py:147 ../yummain.py:186
 #, python-format
 msgid "Error: %s"
 msgstr ""
 
-#: ../utils.py:346 ../yummain.py:194
+#: ../utils.py:391 ../yummain.py:191
 msgid " You could try using --skip-broken to work around the problem"
 msgstr ""
 
-#: ../utils.py:348 ../yummain.py:87
+#: ../utils.py:393 ../yummain.py:87
 msgid " You could try running: rpm -Va --nofiles --nodigest"
 msgstr ""
 
-#: ../utils.py:355 ../yummain.py:160 ../yummain.py:202
+#: ../utils.py:400 ../yummain.py:157 ../yummain.py:199
 #, python-format
 msgid "Unknown Error(s): Exit Code: %d:"
 msgstr ""
 
-#: ../utils.py:361 ../yummain.py:208
+#: ../utils.py:406 ../yummain.py:205
 msgid ""
 "\n"
 "Dependencies Resolved"
 msgstr ""
 
-#: ../utils.py:376 ../yummain.py:234
+#: ../utils.py:422 ../yummain.py:237
 msgid "Complete!"
 msgstr ""
 
@@ -1472,7 +1650,7 @@ msgstr ""
 msgid "You need to be root to perform this command."
 msgstr ""
 
-#: ../yumcommands.py:59
+#: ../yumcommands.py:67
 msgid ""
 "\n"
 "You have enabled checking of packages via GPG keys. This is a good thing. \n"
@@ -1489,555 +1667,648 @@ msgid ""
 "For more information contact your distribution or package provider.\n"
 msgstr ""
 
-#: ../yumcommands.py:74
+#: ../yumcommands.py:82
 #, python-format
 msgid "Problem repository: %s"
 msgstr ""
 
-#: ../yumcommands.py:80
+#: ../yumcommands.py:96
 #, python-format
 msgid "Error: Need to pass a list of pkgs to %s"
 msgstr ""
 
-#: ../yumcommands.py:86
+#: ../yumcommands.py:114
+#, python-format
+msgid "Error: Need at least two packages to %s"
+msgstr ""
+
+#: ../yumcommands.py:129
+#, python-format
+msgid "Error: Need to pass a repoid. and command to %s"
+msgstr ""
+
+#: ../yumcommands.py:136 ../yumcommands.py:142
+#, python-format
+msgid "Error: Need to pass a single valid repoid. to %s"
+msgstr ""
+
+#: ../yumcommands.py:147
+#, python-format
+msgid "Error: Repo %s is not enabled"
+msgstr ""
+
+#: ../yumcommands.py:164
 msgid "Error: Need an item to match"
 msgstr ""
 
-#: ../yumcommands.py:92
+#: ../yumcommands.py:178
 msgid "Error: Need a group or list of groups"
 msgstr ""
 
-#: ../yumcommands.py:101
+#: ../yumcommands.py:195
 #, python-format
 msgid "Error: clean requires an option: %s"
 msgstr ""
 
-#: ../yumcommands.py:106
+#: ../yumcommands.py:201
 #, python-format
 msgid "Error: invalid clean argument: %r"
 msgstr ""
 
-#: ../yumcommands.py:119
+#: ../yumcommands.py:216
 msgid "No argument to shell"
 msgstr ""
 
-#: ../yumcommands.py:121
+#: ../yumcommands.py:218
 #, python-format
 msgid "Filename passed to shell: %s"
 msgstr ""
 
-#: ../yumcommands.py:125
+#: ../yumcommands.py:222
 #, python-format
 msgid "File %s given as argument to shell does not exist."
 msgstr ""
 
-#: ../yumcommands.py:131
+#: ../yumcommands.py:228
 msgid "Error: more than one file given as argument to shell."
 msgstr ""
 
-#: ../yumcommands.py:148
+#: ../yumcommands.py:247
 msgid ""
 "There are no enabled repos.\n"
 " Run \"yum repolist all\" to see the repos you have.\n"
 " You can enable repos with yum-config-manager --enable <repo>"
 msgstr ""
 
-#: ../yumcommands.py:200
+#: ../yumcommands.py:383
 msgid "PACKAGE..."
 msgstr ""
 
-#: ../yumcommands.py:203
+#: ../yumcommands.py:390
 msgid "Install a package or packages on your system"
 msgstr ""
 
-#: ../yumcommands.py:212
+#: ../yumcommands.py:421
 msgid "Setting up Install Process"
 msgstr ""
 
-#: ../yumcommands.py:223 ../yumcommands.py:245
+#: ../yumcommands.py:447 ../yumcommands.py:507
 msgid "[PACKAGE...]"
 msgstr ""
 
-#: ../yumcommands.py:226
+#: ../yumcommands.py:454
 msgid "Update a package or packages on your system"
 msgstr ""
 
-#: ../yumcommands.py:234
+#: ../yumcommands.py:483
 msgid "Setting up Update Process"
 msgstr ""
 
-#: ../yumcommands.py:248
+#: ../yumcommands.py:514
 msgid "Synchronize installed packages to the latest available versions"
 msgstr ""
 
-#: ../yumcommands.py:256
+#: ../yumcommands.py:543
 msgid "Setting up Distribution Synchronization Process"
 msgstr ""
 
-#: ../yumcommands.py:299
+#: ../yumcommands.py:603
 msgid "Display details about a package or group of packages"
 msgstr ""
 
-#: ../yumcommands.py:348
+#: ../yumcommands.py:672
 msgid "Installed Packages"
 msgstr ""
 
-#: ../yumcommands.py:356
+#: ../yumcommands.py:682
 msgid "Available Packages"
 msgstr ""
 
-#: ../yumcommands.py:360
+#: ../yumcommands.py:687
 msgid "Extra Packages"
 msgstr ""
 
-#: ../yumcommands.py:364
+#: ../yumcommands.py:691
 msgid "Updated Packages"
 msgstr ""
 
 #. This only happens in verbose mode
-#: ../yumcommands.py:372 ../yumcommands.py:379 ../yumcommands.py:667
+#: ../yumcommands.py:699 ../yumcommands.py:706 ../yumcommands.py:1539
 msgid "Obsoleting Packages"
 msgstr ""
 
-#: ../yumcommands.py:381
+#: ../yumcommands.py:708
 msgid "Recently Added Packages"
 msgstr ""
 
-#: ../yumcommands.py:388
+#: ../yumcommands.py:715
 msgid "No matching Packages to list"
 msgstr ""
 
-#: ../yumcommands.py:402
+#: ../yumcommands.py:766
 msgid "List a package or groups of packages"
 msgstr ""
 
-#: ../yumcommands.py:414
+#: ../yumcommands.py:797
 msgid "Remove a package or packages from your system"
 msgstr ""
 
-#: ../yumcommands.py:421
+#: ../yumcommands.py:845
 msgid "Setting up Remove Process"
 msgstr ""
 
-#: ../yumcommands.py:435
-msgid "Setting up Group Process"
+#: ../yumcommands.py:906
+msgid "Display, or use, the groups information"
 msgstr ""
 
-#: ../yumcommands.py:441
-msgid "No Groups on which to run command"
+#: ../yumcommands.py:909
+msgid "Setting up Group Process"
 msgstr ""
 
-#: ../yumcommands.py:454
-msgid "List available package groups"
+#: ../yumcommands.py:915
+msgid "No Groups on which to run command"
 msgstr ""
 
-#: ../yumcommands.py:474
-msgid "Install the packages in a group on your system"
+#: ../yumcommands.py:985
+#, python-format
+msgid "Invalid groups sub-command, use: %s."
 msgstr ""
 
-#: ../yumcommands.py:497
-msgid "Remove the packages in a group from your system"
+#: ../yumcommands.py:992
+msgid "There is no installed groups file."
 msgstr ""
 
-#: ../yumcommands.py:525
-msgid "Display details about a package group"
+#: ../yumcommands.py:994
+msgid "You don't have access to the groups DB."
 msgstr ""
 
-#: ../yumcommands.py:550
+#: ../yumcommands.py:1256
 msgid "Generate the metadata cache"
 msgstr ""
 
-#: ../yumcommands.py:556
+#: ../yumcommands.py:1282
 msgid "Making cache files for all metadata files."
 msgstr ""
 
-#: ../yumcommands.py:557
+#: ../yumcommands.py:1283
 msgid "This may take a while depending on the speed of this computer"
 msgstr ""
 
-#: ../yumcommands.py:578
+#: ../yumcommands.py:1312
 msgid "Metadata Cache Created"
 msgstr ""
 
-#: ../yumcommands.py:592
+#: ../yumcommands.py:1350
 msgid "Remove cached data"
 msgstr ""
 
-#: ../yumcommands.py:613
+#: ../yumcommands.py:1417
 msgid "Find what package provides the given value"
 msgstr ""
 
-#: ../yumcommands.py:633
+#: ../yumcommands.py:1485
 msgid "Check for available package updates"
 msgstr ""
 
-#: ../yumcommands.py:687
+#: ../yumcommands.py:1587
 msgid "Search package details for the given string"
 msgstr ""
 
-#: ../yumcommands.py:693
+#: ../yumcommands.py:1613
 msgid "Searching Packages: "
 msgstr ""
 
-#: ../yumcommands.py:710
+#: ../yumcommands.py:1666
 msgid "Update packages taking obsoletes into account"
 msgstr ""
 
-#: ../yumcommands.py:719
+#: ../yumcommands.py:1696
 msgid "Setting up Upgrade Process"
 msgstr ""
 
-#: ../yumcommands.py:737
+#: ../yumcommands.py:1731
 msgid "Install a local RPM"
 msgstr ""
 
-#: ../yumcommands.py:745
+#: ../yumcommands.py:1761
 msgid "Setting up Local Package Process"
 msgstr ""
 
-#: ../yumcommands.py:764
-msgid "Determine which package provides the given dependency"
-msgstr ""
-
-#: ../yumcommands.py:767
+#: ../yumcommands.py:1825
 msgid "Searching Packages for Dependency:"
 msgstr ""
 
-#: ../yumcommands.py:781
+#: ../yumcommands.py:1867
 msgid "Run an interactive yum shell"
 msgstr ""
 
-#: ../yumcommands.py:787
+#: ../yumcommands.py:1893
 msgid "Setting up Yum Shell"
 msgstr ""
 
-#: ../yumcommands.py:805
+#: ../yumcommands.py:1936
 msgid "List a package's dependencies"
 msgstr ""
 
-#: ../yumcommands.py:811
+#: ../yumcommands.py:1963
 msgid "Finding dependencies: "
 msgstr ""
 
-#: ../yumcommands.py:827
+#: ../yumcommands.py:2005
 msgid "Display the configured software repositories"
 msgstr ""
 
-#: ../yumcommands.py:893 ../yumcommands.py:894
+#: ../yumcommands.py:2094 ../yumcommands.py:2095
 msgid "enabled"
 msgstr ""
 
-#: ../yumcommands.py:920 ../yumcommands.py:921
+#: ../yumcommands.py:2121 ../yumcommands.py:2122
 msgid "disabled"
 msgstr ""
 
-#: ../yumcommands.py:937
+#: ../yumcommands.py:2137
 msgid "Repo-id      : "
 msgstr ""
 
-#: ../yumcommands.py:938
+#: ../yumcommands.py:2138
 msgid "Repo-name    : "
 msgstr ""
 
-#: ../yumcommands.py:941
+#: ../yumcommands.py:2141
 msgid "Repo-status  : "
 msgstr ""
 
-#: ../yumcommands.py:944
+#: ../yumcommands.py:2144
 msgid "Repo-revision: "
 msgstr ""
 
-#: ../yumcommands.py:948
+#: ../yumcommands.py:2148
 msgid "Repo-tags    : "
 msgstr ""
 
-#: ../yumcommands.py:954
+#: ../yumcommands.py:2154
 msgid "Repo-distro-tags: "
 msgstr ""
 
-#: ../yumcommands.py:959
+#: ../yumcommands.py:2159
 msgid "Repo-updated : "
 msgstr ""
 
-#: ../yumcommands.py:961
+#: ../yumcommands.py:2161
 msgid "Repo-pkgs    : "
 msgstr ""
 
-#: ../yumcommands.py:962
+#: ../yumcommands.py:2162
 msgid "Repo-size    : "
 msgstr ""
 
-#: ../yumcommands.py:969 ../yumcommands.py:990
+#: ../yumcommands.py:2169 ../yumcommands.py:2190
 msgid "Repo-baseurl : "
 msgstr ""
 
-#: ../yumcommands.py:977
+#: ../yumcommands.py:2177
 msgid "Repo-metalink: "
 msgstr ""
 
-#: ../yumcommands.py:981
+#: ../yumcommands.py:2181
 msgid "  Updated    : "
 msgstr ""
 
-#: ../yumcommands.py:984
+#: ../yumcommands.py:2184
 msgid "Repo-mirrors : "
 msgstr ""
 
-#: ../yumcommands.py:1000
+#: ../yumcommands.py:2199
 #, python-format
 msgid "Never (last: %s)"
 msgstr ""
 
-#: ../yumcommands.py:1002
+#: ../yumcommands.py:2201
 #, python-format
 msgid "Instant (last: %s)"
 msgstr ""
 
-#: ../yumcommands.py:1005
+#: ../yumcommands.py:2204
 #, python-format
 msgid "%s second(s) (last: %s)"
 msgstr ""
 
-#: ../yumcommands.py:1007
+#: ../yumcommands.py:2206
 msgid "Repo-expire  : "
 msgstr ""
 
-#: ../yumcommands.py:1010
+#: ../yumcommands.py:2209
 msgid "Repo-exclude : "
 msgstr ""
 
-#: ../yumcommands.py:1014
+#: ../yumcommands.py:2213
 msgid "Repo-include : "
 msgstr ""
 
-#: ../yumcommands.py:1018
+#: ../yumcommands.py:2217
 msgid "Repo-excluded: "
 msgstr ""
 
-#: ../yumcommands.py:1022
+#: ../yumcommands.py:2221
 msgid "Repo-filename: "
 msgstr ""
 
 #. Work out the first (id) and last (enabled/disalbed/count),
 #. then chop the middle (name)...
-#: ../yumcommands.py:1032 ../yumcommands.py:1061
+#: ../yumcommands.py:2230 ../yumcommands.py:2259
 msgid "repo id"
 msgstr ""
 
-#: ../yumcommands.py:1049 ../yumcommands.py:1050 ../yumcommands.py:1068
+#: ../yumcommands.py:2247 ../yumcommands.py:2248 ../yumcommands.py:2266
 msgid "status"
 msgstr ""
 
-#: ../yumcommands.py:1062
+#: ../yumcommands.py:2260
 msgid "repo name"
 msgstr ""
 
-#: ../yumcommands.py:1099
+#: ../yumcommands.py:2332
 msgid "Display a helpful usage message"
 msgstr ""
 
-#: ../yumcommands.py:1133
+#: ../yumcommands.py:2374
 #, python-format
 msgid "No help available for %s"
 msgstr ""
 
-#: ../yumcommands.py:1138
+#: ../yumcommands.py:2379
 msgid ""
 "\n"
 "\n"
 "aliases: "
 msgstr ""
 
-#: ../yumcommands.py:1140
+#: ../yumcommands.py:2381
 msgid ""
 "\n"
 "\n"
 "alias: "
 msgstr ""
 
-#: ../yumcommands.py:1168
+#: ../yumcommands.py:2466
 msgid "Setting up Reinstall Process"
 msgstr ""
 
-#: ../yumcommands.py:1176
+#: ../yumcommands.py:2478
 msgid "reinstall a package"
 msgstr ""
 
-#: ../yumcommands.py:1195
+#: ../yumcommands.py:2541
 msgid "Setting up Downgrade Process"
 msgstr ""
 
-#: ../yumcommands.py:1202
+#: ../yumcommands.py:2552
 msgid "downgrade a package"
 msgstr ""
 
-#: ../yumcommands.py:1216
+#: ../yumcommands.py:2591
 msgid "Display a version for the machine and/or available repos."
 msgstr ""
 
-#: ../yumcommands.py:1255
+#: ../yumcommands.py:2643
 msgid " Yum version groups:"
 msgstr ""
 
-#: ../yumcommands.py:1265
+#: ../yumcommands.py:2653
 msgid " Group   :"
 msgstr ""
 
-#: ../yumcommands.py:1266
+#: ../yumcommands.py:2654
 msgid " Packages:"
 msgstr ""
 
-#: ../yumcommands.py:1295
+#: ../yumcommands.py:2683
 msgid "Installed:"
 msgstr ""
 
-#: ../yumcommands.py:1303
+#: ../yumcommands.py:2691
 msgid "Group-Installed:"
 msgstr ""
 
-#: ../yumcommands.py:1312
+#: ../yumcommands.py:2700
 msgid "Available:"
 msgstr ""
 
-#: ../yumcommands.py:1321
+#: ../yumcommands.py:2709
 msgid "Group-Available:"
 msgstr ""
 
-#: ../yumcommands.py:1360
+#: ../yumcommands.py:2783
 msgid "Display, or use, the transaction history"
 msgstr ""
 
-#: ../yumcommands.py:1432
+#: ../yumcommands.py:2876 ../yumcommands.py:2880
+msgid "Transactions:"
+msgstr ""
+
+#: ../yumcommands.py:2881
+msgid "Begin time  :"
+msgstr ""
+
+#: ../yumcommands.py:2882
+msgid "End time    :"
+msgstr ""
+
+#: ../yumcommands.py:2883
+msgid "Counts      :"
+msgstr ""
+
+#: ../yumcommands.py:2884
+msgid "  NEVRAC :"
+msgstr ""
+
+#: ../yumcommands.py:2885
+msgid "  NEVRA  :"
+msgstr ""
+
+#: ../yumcommands.py:2886
+msgid "  NA     :"
+msgstr ""
+
+#: ../yumcommands.py:2887
+msgid "  NEVR   :"
+msgstr ""
+
+#: ../yumcommands.py:2888
+msgid "  rpm DB :"
+msgstr ""
+
+#: ../yumcommands.py:2889
+msgid "  yum DB :"
+msgstr ""
+
+#: ../yumcommands.py:2922
 #, python-format
 msgid "Invalid history sub-command, use: %s."
 msgstr ""
 
-#: ../yumcommands.py:1439
+#: ../yumcommands.py:2929
 msgid "You don't have access to the history DB."
 msgstr ""
 
-#: ../yumcommands.py:1487
+#: ../yumcommands.py:3036
 msgid "Check for problems in the rpmdb"
 msgstr ""
 
-#: ../yumcommands.py:1514
+#: ../yumcommands.py:3102
 msgid "load a saved transaction from filename"
 msgstr ""
 
-#: ../yumcommands.py:1518
+#: ../yumcommands.py:3119
 msgid "No saved transaction file specified."
 msgstr ""
 
-#: ../yumcommands.py:1522
+#: ../yumcommands.py:3123
 #, python-format
 msgid "loading transaction from %s"
 msgstr ""
 
-#: ../yumcommands.py:1528
+#: ../yumcommands.py:3129
 #, python-format
 msgid "Transaction loaded from %s with %s members"
 msgstr ""
 
+#: ../yumcommands.py:3169
+msgid "Simple way to swap packages, isntead of using shell"
+msgstr ""
+
+#: ../yumcommands.py:3264
+msgid ""
+"Treat a repo. as a group of packages, so we can install/remove all of them"
+msgstr ""
+
+#: ../yumcommands.py:3341
+#, python-format
+msgid "%d package to update"
+msgid_plural "%d packages to update"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../yumcommands.py:3370
+#, python-format
+msgid "%d package to remove/reinstall"
+msgid_plural "%d packages to remove/reinstall"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../yumcommands.py:3413
+#, python-format
+msgid "%d package to remove/sync"
+msgid_plural "%d packages to remove/sync"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../yumcommands.py:3417
+#, python-format
+msgid "Not a valid sub-command of %s"
+msgstr ""
+
 #. This is mainly for PackageSackError from rpmdb.
 #: ../yummain.py:84
 #, python-format
 msgid " Yum checks failed: %s"
 msgstr ""
 
-#: ../yummain.py:114
-msgid ""
-"Another app is currently holding the yum lock; waiting for it to exit..."
+#: ../yummain.py:98
+msgid "No read/execute access in current directory, moving to /"
 msgstr ""
 
-#: ../yummain.py:120
-msgid "Can't create lock file; exiting"
+#: ../yummain.py:106
+msgid "No getcwd() access in current directory, moving to /"
 msgstr ""
 
 #. Depsolve stage
-#: ../yummain.py:167
+#: ../yummain.py:164
 msgid "Resolving Dependencies"
 msgstr ""
 
-#: ../yummain.py:230
+#: ../yummain.py:227 ../yummain.py:235
 #, python-format
-msgid "Your transaction was saved, rerun it with: yum load-transaction %s"
+msgid ""
+"Your transaction was saved, rerun it with:\n"
+" yum load-transaction %s"
 msgstr ""
 
-#: ../yummain.py:288
+#: ../yummain.py:312
 msgid ""
 "\n"
 "\n"
 "Exiting on user cancel."
 msgstr ""
 
-#: ../yum/depsolve.py:84
+#: ../yum/depsolve.py:127
 msgid "doTsSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/depsolve.py:99
+#: ../yum/depsolve.py:143
 msgid "Setting up TransactionSets before config class is up"
 msgstr ""
 
-#: ../yum/depsolve.py:153
+#: ../yum/depsolve.py:200
 #, python-format
 msgid "Invalid tsflag in config file: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:164
+#: ../yum/depsolve.py:218
 #, python-format
 msgid "Searching pkgSack for dep: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:207
+#: ../yum/depsolve.py:269
 #, python-format
 msgid "Member: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:221 ../yum/depsolve.py:793
+#: ../yum/depsolve.py:283 ../yum/depsolve.py:937
 #, python-format
 msgid "%s converted to install"
 msgstr ""
 
-#: ../yum/depsolve.py:233
+#: ../yum/depsolve.py:295
 #, python-format
 msgid "Adding Package %s in mode %s"
 msgstr ""
 
-#: ../yum/depsolve.py:249
+#: ../yum/depsolve.py:311
 #, python-format
 msgid "Removing Package %s"
 msgstr ""
 
-#: ../yum/depsolve.py:271
+#: ../yum/depsolve.py:333
 #, python-format
 msgid "%s requires: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:312
+#: ../yum/depsolve.py:374
 #, python-format
 msgid "%s requires %s"
 msgstr ""
 
-#: ../yum/depsolve.py:339
+#: ../yum/depsolve.py:401
 msgid "Needed Require has already been looked up, cheating"
 msgstr ""
 
-#: ../yum/depsolve.py:349
+#: ../yum/depsolve.py:411
 #, python-format
 msgid "Needed Require is not a package name. Looking up: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:357
+#: ../yum/depsolve.py:419
 #, python-format
 msgid "Potential Provider: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:380
+#: ../yum/depsolve.py:442
 #, python-format
 msgid "Mode is %s for provider of %s: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:384
+#: ../yum/depsolve.py:446
 #, python-format
 msgid "Mode for pkg providing %s: %s"
 msgstr ""
@@ -2045,991 +2316,1140 @@ msgstr ""
 #. the thing it needs is being updated or obsoleted away
 #. try to update the requiring package in hopes that all this problem goes
 #. away :(
-#: ../yum/depsolve.py:389 ../yum/depsolve.py:406
+#: ../yum/depsolve.py:451 ../yum/depsolve.py:486
 #, python-format
 msgid "Trying to update %s to resolve dep"
 msgstr ""
 
-#: ../yum/depsolve.py:400 ../yum/depsolve.py:410
+#: ../yum/depsolve.py:480
 #, python-format
 msgid "No update paths found for %s. Failure!"
 msgstr ""
 
-#: ../yum/depsolve.py:416
+#: ../yum/depsolve.py:491
+#, python-format
+msgid "No update paths found for %s. Failure due to requirement: %s!"
+msgstr ""
+
+#: ../yum/depsolve.py:507
+#, python-format
+msgid "Update for %s. Doesn't fix requirement: %s!"
+msgstr ""
+
+#: ../yum/depsolve.py:514
 #, python-format
 msgid "TSINFO: %s package requiring %s marked as erase"
 msgstr ""
 
-#: ../yum/depsolve.py:429
+#: ../yum/depsolve.py:527
 #, python-format
 msgid "TSINFO: Obsoleting %s with %s to resolve dep."
 msgstr ""
 
-#: ../yum/depsolve.py:432
+#: ../yum/depsolve.py:530
 #, python-format
 msgid "TSINFO: Updating %s to resolve dep."
 msgstr ""
 
-#: ../yum/depsolve.py:440
+#: ../yum/depsolve.py:538
 #, python-format
 msgid "Cannot find an update path for dep for: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:471
+#: ../yum/depsolve.py:569
 #, python-format
 msgid "Quick matched %s to require for %s"
 msgstr ""
 
 #. is it already installed?
-#: ../yum/depsolve.py:513
+#: ../yum/depsolve.py:611
 #, python-format
 msgid "%s is in providing packages but it is already installed, removing."
 msgstr ""
 
-#: ../yum/depsolve.py:529
+#: ../yum/depsolve.py:627
 #, python-format
 msgid "Potential resolving package %s has newer instance in ts."
 msgstr ""
 
-#: ../yum/depsolve.py:540
+#: ../yum/depsolve.py:638
 #, python-format
 msgid "Potential resolving package %s has newer instance installed."
 msgstr ""
 
-#: ../yum/depsolve.py:558
+#: ../yum/depsolve.py:656
 #, python-format
 msgid "%s already in ts, skipping this one"
 msgstr ""
 
-#: ../yum/depsolve.py:607
+#: ../yum/depsolve.py:705
 #, python-format
 msgid "TSINFO: Marking %s as update for %s"
 msgstr ""
 
-#: ../yum/depsolve.py:616
+#: ../yum/depsolve.py:714
 #, python-format
 msgid "TSINFO: Marking %s as install for %s"
 msgstr ""
 
-#: ../yum/depsolve.py:727 ../yum/depsolve.py:819
+#: ../yum/depsolve.py:849 ../yum/depsolve.py:967
 msgid "Success - empty transaction"
 msgstr ""
 
-#: ../yum/depsolve.py:767 ../yum/depsolve.py:783
+#: ../yum/depsolve.py:889 ../yum/depsolve.py:927
 msgid "Restarting Loop"
 msgstr ""
 
-#: ../yum/depsolve.py:799
+#: ../yum/depsolve.py:947
 msgid "Dependency Process ending"
 msgstr ""
 
-#: ../yum/depsolve.py:821
+#: ../yum/depsolve.py:969
 msgid "Success - deps resolved"
 msgstr ""
 
-#: ../yum/depsolve.py:845
+#: ../yum/depsolve.py:993
 #, python-format
 msgid "Checking deps for %s"
 msgstr ""
 
-#: ../yum/depsolve.py:931
+#: ../yum/depsolve.py:1082
 #, python-format
 msgid "looking for %s as a requirement of %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1169
+#: ../yum/depsolve.py:1349
 #, python-format
 msgid "Running compare_providers() for %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1196 ../yum/depsolve.py:1202
+#: ../yum/depsolve.py:1376 ../yum/depsolve.py:1382
 #, python-format
 msgid "better arch in po %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1298
+#: ../yum/depsolve.py:1496
 #, python-format
 msgid "%s obsoletes %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1310
+#: ../yum/depsolve.py:1508
 #, python-format
 msgid ""
 "archdist compared %s to %s on %s\n"
 "  Winner: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1318
+#: ../yum/depsolve.py:1516
 #, python-format
 msgid "common sourcerpm %s and %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1322
+#: ../yum/depsolve.py:1520
 #, python-format
 msgid "base package %s is installed for %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1328
+#: ../yum/depsolve.py:1526
 #, python-format
 msgid "common prefix of %s between %s and %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1359
+#: ../yum/depsolve.py:1543
 #, python-format
-msgid "requires minimal: %d"
+msgid "provides vercmp: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1363
+#: ../yum/depsolve.py:1547 ../yum/depsolve.py:1581
 #, python-format
 msgid " Winner: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1368
+#: ../yum/depsolve.py:1577
+#, python-format
+msgid "requires minimal: %d"
+msgstr ""
+
+#: ../yum/depsolve.py:1586
 #, python-format
 msgid " Loser(with %d): %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1384
+#: ../yum/depsolve.py:1602
 #, python-format
 msgid "Best Order: %s"
 msgstr ""
 
-#: ../yum/__init__.py:234
+#: ../yum/__init__.py:274
 msgid "doConfigSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/__init__.py:482
+#: ../yum/__init__.py:553
+#, python-format
+msgid "Skipping unreadable repository %s"
+msgstr ""
+
+#: ../yum/__init__.py:572
 #, python-format
 msgid "Repository %r: Error parsing config: %s"
 msgstr ""
 
-#: ../yum/__init__.py:488
+#: ../yum/__init__.py:578
 #, python-format
 msgid "Repository %r is missing name in configuration, using id"
 msgstr ""
 
-#: ../yum/__init__.py:526
+#: ../yum/__init__.py:618
 msgid "plugins already initialised"
 msgstr ""
 
-#: ../yum/__init__.py:533
+#: ../yum/__init__.py:627
 msgid "doRpmDBSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/__init__.py:544
+#: ../yum/__init__.py:638
 msgid "Reading Local RPMDB"
 msgstr ""
 
-#: ../yum/__init__.py:567
+#: ../yum/__init__.py:668
 msgid "doRepoSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/__init__.py:630
+#: ../yum/__init__.py:722
 msgid "doSackSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/__init__.py:660
+#: ../yum/__init__.py:752
 msgid "Setting up Package Sacks"
 msgstr ""
 
-#: ../yum/__init__.py:705
+#: ../yum/__init__.py:797
 #, python-format
 msgid "repo object for repo %s lacks a _resetSack method\n"
 msgstr ""
 
-#: ../yum/__init__.py:706
+#: ../yum/__init__.py:798
 msgid "therefore this repo cannot be reset.\n"
 msgstr ""
 
-#: ../yum/__init__.py:711
+#: ../yum/__init__.py:806
 msgid "doUpdateSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/__init__.py:723
+#: ../yum/__init__.py:818
 msgid "Building updates object"
 msgstr ""
 
-#: ../yum/__init__.py:765
+#: ../yum/__init__.py:862
 msgid "doGroupSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/__init__.py:790
+#: ../yum/__init__.py:887
 msgid "Getting group metadata"
 msgstr ""
 
-#: ../yum/__init__.py:816
+#: ../yum/__init__.py:915
 #, python-format
 msgid "Adding group file from repository: %s"
 msgstr ""
 
-#: ../yum/__init__.py:827
+#: ../yum/__init__.py:918
+#, python-format
+msgid "Failed to retrieve group file for repository: %s"
+msgstr ""
+
+#: ../yum/__init__.py:924
 #, python-format
 msgid "Failed to add groups file for repository: %s - %s"
 msgstr ""
 
-#: ../yum/__init__.py:833
+#: ../yum/__init__.py:930
 msgid "No Groups Available in any repository"
 msgstr ""
 
-#: ../yum/__init__.py:845
+#: ../yum/__init__.py:945
 msgid "Getting pkgtags metadata"
 msgstr ""
 
-#: ../yum/__init__.py:855
+#: ../yum/__init__.py:955
 #, python-format
 msgid "Adding tags from repository: %s"
 msgstr ""
 
-#: ../yum/__init__.py:866
+#: ../yum/__init__.py:966
 #, python-format
 msgid "Failed to add Pkg Tags for repository: %s - %s"
 msgstr ""
 
-#: ../yum/__init__.py:944
+#: ../yum/__init__.py:1059
 msgid "Importing additional filelist information"
 msgstr ""
 
-#: ../yum/__init__.py:958
+#: ../yum/__init__.py:1077
 #, python-format
 msgid "The program %s%s%s is found in the yum-utils package."
 msgstr ""
 
-#: ../yum/__init__.py:966
+#: ../yum/__init__.py:1094
 msgid ""
 "There are unfinished transactions remaining. You might consider running yum-"
 "complete-transaction first to finish them."
 msgstr ""
 
-#: ../yum/__init__.py:983
+#: ../yum/__init__.py:1111
 msgid "--> Finding unneeded leftover dependencies"
 msgstr ""
 
-#: ../yum/__init__.py:1041
+#: ../yum/__init__.py:1169
 #, python-format
 msgid "Protected multilib versions: %s != %s"
 msgstr ""
 
-#: ../yum/__init__.py:1096
+#. People are confused about protected mutilib ... so give
+#. them a nicer message.
+#: ../yum/__init__.py:1173
+#, python-format
+msgid ""
+" Multilib version problems found. This often means that the root\n"
+"cause is something else and multilib version checking is just\n"
+"pointing out that there is a problem. Eg.:\n"
+"\n"
+"  1. You have an upgrade for %(name)s which is missing some\n"
+"     dependency that another package requires. Yum is trying to\n"
+"     solve this by installing an older version of %(name)s of the\n"
+"     different architecture. If you exclude the bad architecture\n"
+"     yum will tell you what the root cause is (which package\n"
+"     requires what). You can try redoing the upgrade with\n"
+"     --exclude %(name)s.otherarch ... this should give you an error\n"
+"     message showing the root cause of the problem.\n"
+"\n"
+"  2. You have multiple architectures of %(name)s installed, but\n"
+"     yum can only see an upgrade for one of those arcitectures.\n"
+"     If you don't want/need both architectures anymore then you\n"
+"     can remove the one with the missing update and everything\n"
+"     will work.\n"
+"\n"
+"  3. You have duplicate versions of %(name)s installed already.\n"
+"     You can use \"yum check\" to get yum show these errors.\n"
+"\n"
+"...you can also use --setopt=protected_multilib=false to remove\n"
+"this checking, however this is almost never the correct thing to\n"
+"do as something else is very likely to go wrong (often causing\n"
+"much more problems).\n"
+"\n"
+msgstr ""
+
+#: ../yum/__init__.py:1257
 #, python-format
 msgid "Trying to remove \"%s\", which is protected"
 msgstr ""
 
-#: ../yum/__init__.py:1217
+#: ../yum/__init__.py:1378
 msgid ""
 "\n"
 "Packages skipped because of dependency problems:"
 msgstr ""
 
-#: ../yum/__init__.py:1221
+#: ../yum/__init__.py:1382
 #, python-format
 msgid "    %s from %s"
 msgstr ""
 
 #. FIXME: _N()
-#: ../yum/__init__.py:1391
+#: ../yum/__init__.py:1556
 #, python-format
 msgid "** Found %d pre-existing rpmdb problem(s), 'yum check' output follows:"
 msgstr ""
 
-#: ../yum/__init__.py:1395
+#: ../yum/__init__.py:1560
 msgid "Warning: RPMDB altered outside of yum."
 msgstr ""
 
-#: ../yum/__init__.py:1407
+#: ../yum/__init__.py:1572
 msgid "missing requires"
 msgstr ""
 
-#: ../yum/__init__.py:1408
+#: ../yum/__init__.py:1573
 msgid "installed conflict"
 msgstr ""
 
-#: ../yum/__init__.py:1525
+#: ../yum/__init__.py:1709
 msgid ""
 "Warning: scriptlet or other non-fatal errors occurred during transaction."
 msgstr ""
 
-#: ../yum/__init__.py:1535
+#: ../yum/__init__.py:1719
 msgid "Transaction couldn't start:"
 msgstr ""
 
 #. should this be 'to_unicoded'?
-#: ../yum/__init__.py:1538
+#: ../yum/__init__.py:1722
 msgid "Could not run transaction."
 msgstr ""
 
-#: ../yum/__init__.py:1552
+#: ../yum/__init__.py:1736
 #, python-format
 msgid "Failed to remove transaction file %s"
 msgstr ""
 
 #. maybe a file log here, too
 #. but raising an exception is not going to do any good
-#: ../yum/__init__.py:1590
+#: ../yum/__init__.py:1792
 #, python-format
 msgid "%s was supposed to be installed but is not!"
 msgstr ""
 
 #. maybe a file log here, too
 #. but raising an exception is not going to do any good
-#: ../yum/__init__.py:1651
+#. Note: This actually triggers atm. because we can't
+#. always find the erased txmbr to set it when
+#. we should.
+#: ../yum/__init__.py:1869
 #, python-format
 msgid "%s was supposed to be removed but is not!"
 msgstr ""
 
-#: ../yum/__init__.py:1768
+#. Another copy seems to be running.
+#: ../yum/__init__.py:2004
 #, python-format
-msgid "Could not open lock %s: %s"
+msgid "Existing lock %s: another copy is running as pid %s."
 msgstr ""
 
 #. Whoa. What the heck happened?
-#: ../yum/__init__.py:1785
+#: ../yum/__init__.py:2053
 #, python-format
-msgid "Unable to check if PID %s is active"
+msgid "Could not create lock at %s: %s "
 msgstr ""
 
-#. Another copy seems to be running.
-#: ../yum/__init__.py:1789
+#: ../yum/__init__.py:2065
 #, python-format
-msgid "Existing lock %s: another copy is running as pid %s."
+msgid "Could not open lock %s: %s"
 msgstr ""
 
+#. The pid doesn't exist
 #. Whoa. What the heck happened?
-#: ../yum/__init__.py:1830
+#: ../yum/__init__.py:2082
 #, python-format
-msgid "Could not create lock at %s: %s "
+msgid "Unable to check if PID %s is active"
 msgstr ""
 
-#: ../yum/__init__.py:1875
+#: ../yum/__init__.py:2132
 #, python-format
 msgid ""
 "Package does not match intended download. Suggestion: run yum "
 "--enablerepo=%s clean metadata"
 msgstr ""
 
-#: ../yum/__init__.py:1891
+#: ../yum/__init__.py:2155
 msgid "Could not perform checksum"
 msgstr ""
 
-#: ../yum/__init__.py:1894
+#: ../yum/__init__.py:2158
 msgid "Package does not match checksum"
 msgstr ""
 
-#: ../yum/__init__.py:1946
+#: ../yum/__init__.py:2222
 #, python-format
 msgid "package fails checksum but caching is enabled for %s"
 msgstr ""
 
-#: ../yum/__init__.py:1949 ../yum/__init__.py:1979
+#: ../yum/__init__.py:2225 ../yum/__init__.py:2268
 #, python-format
 msgid "using local copy of %s"
 msgstr ""
 
-#: ../yum/__init__.py:1991
-#, python-format
-msgid ""
-"Insufficient space in download directory %s\n"
-"    * free   %s\n"
-"    * needed %s"
+#. caller handles errors
+#: ../yum/__init__.py:2342
+msgid "exiting because --downloadonly specified"
 msgstr ""
 
-#: ../yum/__init__.py:2052
+#: ../yum/__init__.py:2371
 msgid "Header is not complete."
 msgstr ""
 
-#: ../yum/__init__.py:2089
+#: ../yum/__init__.py:2411
 #, python-format
 msgid ""
 "Header not in local cache and caching-only mode enabled. Cannot download %s"
 msgstr ""
 
-#: ../yum/__init__.py:2147
+#: ../yum/__init__.py:2471
 #, python-format
 msgid "Public key for %s is not installed"
 msgstr ""
 
-#: ../yum/__init__.py:2151
+#: ../yum/__init__.py:2475
 #, python-format
 msgid "Problem opening package %s"
 msgstr ""
 
-#: ../yum/__init__.py:2159
+#: ../yum/__init__.py:2483
 #, python-format
 msgid "Public key for %s is not trusted"
 msgstr ""
 
-#: ../yum/__init__.py:2163
+#: ../yum/__init__.py:2487
 #, python-format
 msgid "Package %s is not signed"
 msgstr ""
 
-#: ../yum/__init__.py:2202
+#: ../yum/__init__.py:2529
 #, python-format
 msgid "Cannot remove %s"
 msgstr ""
 
-#: ../yum/__init__.py:2206
+#: ../yum/__init__.py:2533
 #, python-format
 msgid "%s removed"
 msgstr ""
 
-#: ../yum/__init__.py:2252
+#: ../yum/__init__.py:2594
 #, python-format
 msgid "Cannot remove %s file %s"
 msgstr ""
 
-#: ../yum/__init__.py:2256
+#: ../yum/__init__.py:2598
 #, python-format
 msgid "%s file %s removed"
 msgstr ""
 
-#: ../yum/__init__.py:2258
+#: ../yum/__init__.py:2600
 #, python-format
-msgid "%d %s files removed"
-msgstr ""
+msgid "%d %s file removed"
+msgid_plural "%d %s files removed"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../yum/__init__.py:2327
+#: ../yum/__init__.py:2712
 #, python-format
 msgid "More than one identical match in sack for %s"
 msgstr ""
 
-#: ../yum/__init__.py:2333
+#: ../yum/__init__.py:2718
 #, python-format
 msgid "Nothing matches %s.%s %s:%s-%s from update"
 msgstr ""
 
-#: ../yum/__init__.py:2632
+#: ../yum/__init__.py:3096
 msgid ""
 "searchPackages() will go away in a future version of Yum."
 "                      Use searchGenerator() instead. \n"
 msgstr ""
 
-#: ../yum/__init__.py:2675
+#: ../yum/__init__.py:3149
 #, python-format
-msgid "Searching %d packages"
-msgstr ""
+msgid "Searching %d package"
+msgid_plural "Searching %d packages"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../yum/__init__.py:2679
+#: ../yum/__init__.py:3153
 #, python-format
 msgid "searching package %s"
 msgstr ""
 
-#: ../yum/__init__.py:2691
+#: ../yum/__init__.py:3165
 msgid "searching in file entries"
 msgstr ""
 
-#: ../yum/__init__.py:2698
+#: ../yum/__init__.py:3172
 msgid "searching in provides entries"
 msgstr ""
 
-#: ../yum/__init__.py:2777
+#: ../yum/__init__.py:3369
 msgid "No group data available for configured repositories"
 msgstr ""
 
-#: ../yum/__init__.py:2808 ../yum/__init__.py:2827 ../yum/__init__.py:2858
-#: ../yum/__init__.py:2864 ../yum/__init__.py:2953 ../yum/__init__.py:2957
-#: ../yum/__init__.py:3339
+#: ../yum/__init__.py:3466 ../yum/__init__.py:3500 ../yum/__init__.py:3576
+#: ../yum/__init__.py:3582 ../yum/__init__.py:3719 ../yum/__init__.py:3723
+#: ../yum/__init__.py:4298
 #, python-format
 msgid "No Group named %s exists"
 msgstr ""
 
-#: ../yum/__init__.py:2839 ../yum/__init__.py:2973
+#: ../yum/__init__.py:3512 ../yum/__init__.py:3740
 #, python-format
 msgid "package %s was not marked in group %s"
 msgstr ""
 
-#: ../yum/__init__.py:2887
+#. (upgrade and igroup_data[pkg] == 'available')):
+#: ../yum/__init__.py:3622
+#, python-format
+msgid "Skipping package %s from group %s"
+msgstr ""
+
+#: ../yum/__init__.py:3628
 #, python-format
 msgid "Adding package %s from group %s"
 msgstr ""
 
-#: ../yum/__init__.py:2891
+#: ../yum/__init__.py:3649
 #, python-format
 msgid "No package named %s available to be installed"
 msgstr ""
 
-#: ../yum/__init__.py:2941
+#: ../yum/__init__.py:3702
 #, python-format
-msgid "Warning: Group %s does not have any packages."
+msgid "Warning: Group %s does not have any packages to install."
 msgstr ""
 
-#: ../yum/__init__.py:2943
+#: ../yum/__init__.py:3704
 #, python-format
 msgid "Group %s does have %u conditional packages, which may get installed."
 msgstr ""
 
+#: ../yum/__init__.py:3794
+#, python-format
+msgid "Skipping group %s from environment %s"
+msgstr ""
+
 #. This can happen due to excludes after .up has
 #. happened.
-#: ../yum/__init__.py:3002
+#: ../yum/__init__.py:3858
 #, python-format
 msgid "Package tuple %s could not be found in packagesack"
 msgstr ""
 
-#: ../yum/__init__.py:3022
+#: ../yum/__init__.py:3886
 #, python-format
 msgid "Package tuple %s could not be found in rpmdb"
 msgstr ""
 
-#: ../yum/__init__.py:3079 ../yum/__init__.py:3129
+#: ../yum/__init__.py:3949 ../yum/__init__.py:4012
 #, python-format
 msgid "Invalid version flag from: %s"
 msgstr ""
 
-#: ../yum/__init__.py:3096 ../yum/__init__.py:3101
+#: ../yum/__init__.py:3973 ../yum/__init__.py:3979 ../yum/__init__.py:4036
+#: ../yum/__init__.py:4042
 #, python-format
 msgid "No Package found for %s"
 msgstr ""
 
-#: ../yum/__init__.py:3401
+#: ../yum/__init__.py:4245 ../yum/__init__.py:4274
+#, python-format
+msgid "Warning: Environment Group %s does not exist."
+msgstr ""
+
+#: ../yum/__init__.py:4397
+#, python-format
+msgid "Package: %s - can't co-install with %s"
+msgstr ""
+
+#: ../yum/__init__.py:4437
 msgid "Package Object was not a package object instance"
 msgstr ""
 
-#: ../yum/__init__.py:3405
+#: ../yum/__init__.py:4441
 msgid "Nothing specified to install"
 msgstr ""
 
-#: ../yum/__init__.py:3424 ../yum/__init__.py:4283
+#: ../yum/__init__.py:4465 ../yum/__init__.py:5410
 #, python-format
 msgid "Checking for virtual provide or file-provide for %s"
 msgstr ""
 
-#: ../yum/__init__.py:3430 ../yum/__init__.py:3775 ../yum/__init__.py:3969
-#: ../yum/__init__.py:4289
-#, python-format
-msgid "No Match for argument: %s"
-msgstr ""
-
-#: ../yum/__init__.py:3507
+#: ../yum/__init__.py:4542
 #, python-format
 msgid "Package %s installed and not available"
 msgstr ""
 
-#: ../yum/__init__.py:3510
+#: ../yum/__init__.py:4545
 msgid "No package(s) available to install"
 msgstr ""
 
-#: ../yum/__init__.py:3522
+#: ../yum/__init__.py:4557
 #, python-format
 msgid "Package: %s  - already in transaction set"
 msgstr ""
 
-#: ../yum/__init__.py:3550
+#: ../yum/__init__.py:4589
 #, python-format
 msgid "Package %s is obsoleted by %s which is already installed"
 msgstr ""
 
-#: ../yum/__init__.py:3555
+#: ../yum/__init__.py:4594
 #, python-format
 msgid ""
 "Package %s is obsoleted by %s, but obsoleting package does not provide for "
 "requirements"
 msgstr ""
 
-#: ../yum/__init__.py:3558
+#: ../yum/__init__.py:4597
 #, python-format
 msgid "Package %s is obsoleted by %s, trying to install %s instead"
 msgstr ""
 
-#: ../yum/__init__.py:3566
+#: ../yum/__init__.py:4605
 #, python-format
 msgid "Package %s already installed and latest version"
 msgstr ""
 
-#: ../yum/__init__.py:3580
+#: ../yum/__init__.py:4619
 #, python-format
 msgid "Package matching %s already installed. Checking for update."
 msgstr ""
 
 #. update everything (the easy case)
-#: ../yum/__init__.py:3684
+#: ../yum/__init__.py:4751
 msgid "Updating Everything"
 msgstr ""
 
-#: ../yum/__init__.py:3708 ../yum/__init__.py:3849 ../yum/__init__.py:3879
-#: ../yum/__init__.py:3915
+#: ../yum/__init__.py:4775 ../yum/__init__.py:4930 ../yum/__init__.py:4975
+#: ../yum/__init__.py:5011
 #, python-format
 msgid "Not Updating Package that is already obsoleted: %s.%s %s:%s-%s"
 msgstr ""
 
-#: ../yum/__init__.py:3753 ../yum/__init__.py:3965
+#: ../yum/__init__.py:4830 ../yum/__init__.py:5072
 #, python-format
 msgid "%s"
 msgstr ""
 
-#: ../yum/__init__.py:3838
+#: ../yum/__init__.py:4854 ../yum/__init__.py:5080 ../yum/__init__.py:5416
+#, python-format
+msgid "No Match for argument: %s"
+msgstr ""
+
+#: ../yum/__init__.py:4872
+#, python-format
+msgid "No package matched to upgrade: %s"
+msgstr ""
+
+#: ../yum/__init__.py:4919
 #, python-format
 msgid "Package is already obsoleted: %s.%s %s:%s-%s"
 msgstr ""
 
-#: ../yum/__init__.py:3874
+#: ../yum/__init__.py:4970
 #, python-format
 msgid "Not Updating Package that is obsoleted: %s"
 msgstr ""
 
-#: ../yum/__init__.py:3883 ../yum/__init__.py:3919
+#: ../yum/__init__.py:4979 ../yum/__init__.py:5015
 #, python-format
 msgid "Not Updating Package that is already updated: %s.%s %s:%s-%s"
 msgstr ""
 
-#: ../yum/__init__.py:3982
-msgid "No package matched to remove"
+#: ../yum/__init__.py:5093
+#, python-format
+msgid "No package matched to remove: %s"
 msgstr ""
 
-#: ../yum/__init__.py:3988
+#: ../yum/__init__.py:5099
 #, python-format
 msgid "Skipping the running kernel: %s"
 msgstr ""
 
-#: ../yum/__init__.py:3994
+#: ../yum/__init__.py:5105
 #, python-format
 msgid "Removing %s from the transaction"
 msgstr ""
 
-#: ../yum/__init__.py:4029
+#: ../yum/__init__.py:5142
 #, python-format
 msgid "Cannot open: %s. Skipping."
 msgstr ""
 
-#: ../yum/__init__.py:4032 ../yum/__init__.py:4150 ../yum/__init__.py:4226
+#: ../yum/__init__.py:5145 ../yum/__init__.py:5262 ../yum/__init__.py:5347
 #, python-format
 msgid "Examining %s: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4036
+#: ../yum/__init__.py:5149
 #, python-format
 msgid "Cannot localinstall deltarpm: %s. Skipping."
 msgstr ""
 
-#: ../yum/__init__.py:4045 ../yum/__init__.py:4153 ../yum/__init__.py:4229
+#: ../yum/__init__.py:5158 ../yum/__init__.py:5265 ../yum/__init__.py:5350
 #, python-format
 msgid ""
 "Cannot add package %s to transaction. Not a compatible architecture: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4051
+#: ../yum/__init__.py:5164
 #, python-format
 msgid "Cannot install package %s. It is obsoleted by installed package %s"
 msgstr ""
 
-#: ../yum/__init__.py:4059
+#: ../yum/__init__.py:5172
 #, python-format
 msgid ""
 "Package %s not installed, cannot update it. Run yum install to install it "
 "instead."
 msgstr ""
 
-#: ../yum/__init__.py:4078 ../yum/__init__.py:4085
+#: ../yum/__init__.py:5191 ../yum/__init__.py:5198
 #, python-format
 msgid ""
 "Package %s.%s not installed, cannot update it. Run yum install to install it"
 " instead."
 msgstr ""
 
-#: ../yum/__init__.py:4094 ../yum/__init__.py:4158 ../yum/__init__.py:4234
+#: ../yum/__init__.py:5207 ../yum/__init__.py:5270 ../yum/__init__.py:5355
 #, python-format
 msgid "Excluding %s"
 msgstr ""
 
-#: ../yum/__init__.py:4099
+#: ../yum/__init__.py:5212
 #, python-format
 msgid "Marking %s to be installed"
 msgstr ""
 
-#: ../yum/__init__.py:4105
+#: ../yum/__init__.py:5218
 #, python-format
 msgid "Marking %s as an update to %s"
 msgstr ""
 
-#: ../yum/__init__.py:4112
+#: ../yum/__init__.py:5225
 #, python-format
 msgid "%s: does not update installed package."
 msgstr ""
 
-#: ../yum/__init__.py:4147 ../yum/__init__.py:4223
+#: ../yum/__init__.py:5259 ../yum/__init__.py:5344
 #, python-format
 msgid "Cannot open file: %s. Skipping."
 msgstr ""
 
-#: ../yum/__init__.py:4177
+#: ../yum/__init__.py:5299
 msgid "Problem in reinstall: no package matched to remove"
 msgstr ""
 
-#: ../yum/__init__.py:4203
+#: ../yum/__init__.py:5325
 #, python-format
 msgid "Problem in reinstall: no package %s matched to install"
 msgstr ""
 
-#: ../yum/__init__.py:4311
+#: ../yum/__init__.py:5438
 msgid "No package(s) available to downgrade"
 msgstr ""
 
-#: ../yum/__init__.py:4319
+#: ../yum/__init__.py:5446
 #, python-format
 msgid "Package %s is allowed multiple installs, skipping"
 msgstr ""
 
-#: ../yum/__init__.py:4365
+#: ../yum/__init__.py:5496
 #, python-format
 msgid "No Match for available package: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4372
+#: ../yum/__init__.py:5506
 #, python-format
 msgid "Only Upgrade available on package: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4442 ../yum/__init__.py:4479
+#: ../yum/__init__.py:5619 ../yum/__init__.py:5686
 #, python-format
 msgid "Failed to downgrade: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4516
+#: ../yum/__init__.py:5636 ../yum/__init__.py:5692
+#, python-format
+msgid "Failed to upgrade: %s"
+msgstr ""
+
+#: ../yum/__init__.py:5725
 #, python-format
 msgid "Retrieving key from %s"
 msgstr ""
 
-#: ../yum/__init__.py:4534
+#: ../yum/__init__.py:5743
 msgid "GPG key retrieval failed: "
 msgstr ""
 
 #. if we decide we want to check, even though the sig failed
 #. here is where we would do that
-#: ../yum/__init__.py:4557
+#: ../yum/__init__.py:5766
 #, python-format
 msgid "GPG key signature on key %s does not match CA Key for repo: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4559
+#: ../yum/__init__.py:5768
 msgid "GPG key signature verified against CA Key(s)"
 msgstr ""
 
-#: ../yum/__init__.py:4567
+#: ../yum/__init__.py:5776
 #, python-format
 msgid "Invalid GPG Key from %s: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4576
+#: ../yum/__init__.py:5785
 #, python-format
 msgid "GPG key parsing failed: key does not have value %s"
 msgstr ""
 
-#: ../yum/__init__.py:4592
+#: ../yum/__init__.py:5801
 #, python-format
 msgid ""
 "Importing %s key 0x%s:\n"
-" Userid : %s\n"
-" Package: %s (%s)\n"
-" From   : %s"
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" Package    : %s (%s)\n"
+" From       : %s"
 msgstr ""
 
-#: ../yum/__init__.py:4600
+#: ../yum/__init__.py:5811
 #, python-format
 msgid ""
 "Importing %s key 0x%s:\n"
-" Userid: \"%s\"\n"
-" From  : %s"
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" From       : %s"
 msgstr ""
 
-#: ../yum/__init__.py:4634
+#: ../yum/__init__.py:5839
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" Failing package is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr ""
+
+#: ../yum/__init__.py:5853
 #, python-format
 msgid "GPG key at %s (0x%s) is already installed"
 msgstr ""
 
-#: ../yum/__init__.py:4671
+#: ../yum/__init__.py:5891
 #, python-format
 msgid "Key import failed (code %d)"
 msgstr ""
 
-#: ../yum/__init__.py:4672 ../yum/__init__.py:4755
+#: ../yum/__init__.py:5893 ../yum/__init__.py:5994
 msgid "Key imported successfully"
 msgstr ""
 
-#: ../yum/__init__.py:4676
+#: ../yum/__init__.py:5897
 msgid "Didn't install any keys"
 msgstr ""
 
-#: ../yum/__init__.py:4680
+#: ../yum/__init__.py:5900
 #, python-format
 msgid ""
 "The GPG keys listed for the \"%s\" repository are already installed but they are not correct for this package.\n"
 "Check that the correct key URLs are configured for this repository."
 msgstr ""
 
-#: ../yum/__init__.py:4689
+#: ../yum/__init__.py:5910
 msgid "Import of key(s) didn't help, wrong key(s)?"
 msgstr ""
 
-#: ../yum/__init__.py:4713
+#: ../yum/__init__.py:5932
+msgid "No"
+msgstr ""
+
+#: ../yum/__init__.py:5934
+msgid "Yes"
+msgstr ""
+
+#: ../yum/__init__.py:5935
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" CA Key: %s\n"
+" Failing repo is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr ""
+
+#: ../yum/__init__.py:5948
 #, python-format
 msgid "GPG key at %s (0x%s) is already imported"
 msgstr ""
 
-#: ../yum/__init__.py:4754
-msgid "Key import failed"
+#: ../yum/__init__.py:5992
+#, python-format
+msgid "Key %s import failed"
 msgstr ""
 
-#: ../yum/__init__.py:4770
+#: ../yum/__init__.py:6009
 #, python-format
 msgid "Didn't install any keys for repo %s"
 msgstr ""
 
-#: ../yum/__init__.py:4774
+#: ../yum/__init__.py:6014
 #, python-format
 msgid ""
 "The GPG keys listed for the \"%s\" repository are already installed but they are not correct.\n"
 "Check that the correct key URLs are configured for this repository."
 msgstr ""
 
-#: ../yum/__init__.py:4924
+#: ../yum/__init__.py:6172
 msgid "Unable to find a suitable mirror."
 msgstr ""
 
-#: ../yum/__init__.py:4926
+#: ../yum/__init__.py:6174
 msgid "Errors were encountered while downloading packages."
 msgstr ""
 
-#: ../yum/__init__.py:4981
+#: ../yum/__init__.py:6229
 #, python-format
 msgid "Please report this error at %s"
 msgstr ""
 
-#: ../yum/__init__.py:4998
+#: ../yum/__init__.py:6246
 msgid "Test Transaction Errors: "
 msgstr ""
 
-#: ../yum/__init__.py:5098
+#: ../yum/__init__.py:6358
 #, python-format
 msgid "Could not set cachedir: %s"
 msgstr ""
 
-#: ../yum/__init__.py:5148 ../yum/__init__.py:5150
+#: ../yum/__init__.py:6420 ../yum/__init__.py:6422
 msgid "Dependencies not solved. Will not save unresolved transaction."
 msgstr ""
 
-#: ../yum/__init__.py:5179 ../yum/__init__.py:5181
+#: ../yum/__init__.py:6455 ../yum/__init__.py:6457
 #, python-format
 msgid "Could not save transaction file %s: %s"
 msgstr ""
 
-#: ../yum/__init__.py:5195
+#: ../yum/__init__.py:6483
 #, python-format
 msgid "Could not access/read saved transaction %s : %s"
 msgstr ""
 
-#: ../yum/__init__.py:5214
-msgid "rpmdb ver mismatched saved transaction version, "
-msgstr ""
-
-#: ../yum/__init__.py:5216
-msgid " ignoring, as requested."
-msgstr ""
-
-#: ../yum/__init__.py:5219 ../yum/__init__.py:5354
-msgid " aborting."
+#: ../yum/__init__.py:6521
+msgid "rpmdb ver mismatched saved transaction version,"
 msgstr ""
 
-#: ../yum/__init__.py:5228
+#: ../yum/__init__.py:6535
 msgid "cannot find tsflags or tsflags not integer."
 msgstr ""
 
-#: ../yum/__init__.py:5267
+#: ../yum/__init__.py:6584
 #, python-format
 msgid "Found txmbr in unknown current state: %s"
 msgstr ""
 
-#: ../yum/__init__.py:5271
+#: ../yum/__init__.py:6588
 #, python-format
 msgid "Could not find txmbr: %s in state %s"
 msgstr ""
 
-#: ../yum/__init__.py:5307 ../yum/__init__.py:5324
+#: ../yum/__init__.py:6625 ../yum/__init__.py:6642
 #, python-format
 msgid "Could not find txmbr: %s from origin: %s"
 msgstr ""
 
-#: ../yum/__init__.py:5349
+#: ../yum/__init__.py:6667
 msgid "Transaction members, relations are missing or ts has been modified,"
 msgstr ""
 
-#: ../yum/__init__.py:5351
+#: ../yum/__init__.py:6670
 msgid " ignoring, as requested. You must redepsolve!"
 msgstr ""
 
+#. Debugging output
+#: ../yum/__init__.py:6738 ../yum/__init__.py:6757
+#, python-format
+msgid "%s has been visited already and cannot be removed."
+msgstr ""
+
+#. Debugging output
+#: ../yum/__init__.py:6741
+#, python-format
+msgid "Examining revdeps of %s"
+msgstr ""
+
+#. Debugging output
+#: ../yum/__init__.py:6762
+#, python-format
+msgid "%s has revdep %s which was user-installed."
+msgstr ""
+
+#: ../yum/__init__.py:6773 ../yum/__init__.py:6779
+#, python-format
+msgid "%s is needed by a package to be installed."
+msgstr ""
+
+#. Debugging output
+#: ../yum/__init__.py:6793
+#, python-format
+msgid "%s has no user-installed revdeps."
+msgstr ""
+
 #. Mostly copied from YumOutput._outKeyValFill()
-#: ../yum/plugins.py:209
+#: ../yum/plugins.py:212
 msgid "Loaded plugins: "
 msgstr ""
 
-#: ../yum/plugins.py:223 ../yum/plugins.py:229
+#: ../yum/plugins.py:226 ../yum/plugins.py:232
 #, python-format
 msgid "No plugin match for: %s"
 msgstr ""
 
-#: ../yum/plugins.py:259
+#: ../yum/plugins.py:262
 #, python-format
 msgid "Not loading \"%s\" plugin, as it is disabled"
 msgstr ""
 
 #. Give full backtrace:
-#: ../yum/plugins.py:271
+#: ../yum/plugins.py:274
 #, python-format
 msgid "Plugin \"%s\" can't be imported"
 msgstr ""
 
-#: ../yum/plugins.py:278
+#: ../yum/plugins.py:281
 #, python-format
 msgid "Plugin \"%s\" doesn't specify required API version"
 msgstr ""
 
-#: ../yum/plugins.py:283
+#: ../yum/plugins.py:286
 #, python-format
 msgid "Plugin \"%s\" requires API %s. Supported API is %s."
 msgstr ""
 
-#: ../yum/plugins.py:316
+#: ../yum/plugins.py:319
 #, python-format
 msgid "Loading \"%s\" plugin"
 msgstr ""
 
-#: ../yum/plugins.py:323
+#: ../yum/plugins.py:326
 #, python-format
 msgid "Two or more plugins with the name \"%s\" exist in the plugin search path"
 msgstr ""
 
-#: ../yum/plugins.py:343
+#: ../yum/plugins.py:346
 #, python-format
 msgid "Configuration file %s not found"
 msgstr ""
 
 #. for
 #. Configuration files for the plugin not found
-#: ../yum/plugins.py:346
+#: ../yum/plugins.py:349
 #, python-format
 msgid "Unable to find configuration file for plugin %s"
 msgstr ""
 
-#: ../yum/plugins.py:508
+#: ../yum/plugins.py:553
 msgid "registration of commands not supported"
 msgstr ""
 
-#: ../yum/rpmsack.py:148
+#: ../yum/rpmsack.py:159
 msgid "has missing requires of"
 msgstr ""
 
-#: ../yum/rpmsack.py:151
+#: ../yum/rpmsack.py:162
 msgid "has installed conflicts"
 msgstr ""
 
-#: ../yum/rpmsack.py:160
+#: ../yum/rpmsack.py:171
 #, python-format
 msgid "%s is a duplicate with %s"
 msgstr ""
 
-#: ../yum/rpmsack.py:168
+#: ../yum/rpmsack.py:179
 #, python-format
 msgid "%s is obsoleted by %s"
 msgstr ""
 
-#: ../yum/rpmsack.py:176
+#: ../yum/rpmsack.py:187
 #, python-format
 msgid "%s provides %s but it cannot be found"
 msgstr ""
@@ -3038,6 +3458,23 @@ msgstr ""
 msgid "Repackaging"
 msgstr ""
 
+#: ../yum/rpmtrans.py:149
+#, python-format
+msgid "Verify: %u/%u: %s"
+msgstr ""
+
+#: ../yum/yumRepo.py:919
+#, python-format
+msgid ""
+"Insufficient space in download directory %s\n"
+"    * free   %s\n"
+"    * needed %s"
+msgstr ""
+
+#: ../yum/yumRepo.py:986
+msgid "Package does not match intended download."
+msgstr ""
+
 #: ../rpmUtils/oldUtils.py:33
 #, python-format
 msgid "Header cannot be opened or does not match %s, %s."
@@ -3066,5 +3503,3 @@ msgstr ""
 #, python-format
 msgid "Error opening rpm %s - error %s"
 msgstr ""
-
-
diff --git a/po/hu.po b/po/hu.po
index db7c07f..68be45c 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -2,1510 +2,1645 @@
 # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
 # This file is distributed under the same license as the PACKAGE package.
 # 
-# András Bögöly <ebogoly@gmail.com>, 2011
+# Translators:
+# András Bögöly <ebogoly@gmail.com>, 2011-2013.
+#   <ptr@ulx.hu>, 2012.
 msgid ""
 msgstr ""
 "Project-Id-Version: Yum\n"
-"Report-Msgid-Bugs-To: http://yum.baseurl.org/\n"
-"POT-Creation-Date: 2011-06-06 10:21-0400\n"
-"PO-Revision-Date: 2011-06-06 14:21+0000\n"
-"Last-Translator: skvidal <skvidal@fedoraproject.org>\n"
-"Language-Team: Hungarian (http://www.transifex.net/projects/p/yum/team/hu/)\n"
+"Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
+"POT-Creation-Date: 2013-01-30 09:08-0500\n"
+"PO-Revision-Date: 2013-02-27 23:33+0000\n"
+"Last-Translator: András Bögöly <ebogoly@gmail.com>\n"
+"Language-Team: Hungarian (http://www.transifex.com/projects/p/yum/language/hu/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Language: hu\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: ../callback.py:48 ../output.py:1037 ../yum/rpmtrans.py:73
+#: ../callback.py:45 ../output.py:1502 ../yum/rpmtrans.py:73
 msgid "Updating"
 msgstr "Frissítés"
 
-#: ../callback.py:49 ../yum/rpmtrans.py:74
+#: ../callback.py:46 ../yum/rpmtrans.py:74
 msgid "Erasing"
 msgstr "Törlés"
 
-#: ../callback.py:50 ../callback.py:51 ../callback.py:53 ../output.py:1036
-#: ../output.py:2218 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
+#: ../callback.py:47 ../callback.py:48 ../callback.py:50 ../output.py:1501
+#: ../output.py:2922 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
 #: ../yum/rpmtrans.py:78
 msgid "Installing"
 msgstr "Telepítés"
 
-#: ../callback.py:52 ../callback.py:58 ../output.py:1840 ../yum/rpmtrans.py:77
+#: ../callback.py:49 ../callback.py:55 ../output.py:2379 ../yum/rpmtrans.py:77
 msgid "Obsoleted"
 msgstr "Elévült"
 
-#: ../callback.py:54 ../output.py:1169 ../output.py:1686 ../output.py:1847
+#: ../callback.py:51 ../output.py:1670 ../output.py:2222 ../output.py:2386
 msgid "Updated"
 msgstr "Frissítve"
 
-#: ../callback.py:55 ../output.py:1685
+#: ../callback.py:52 ../output.py:2221
 msgid "Erased"
 msgstr "Törölve"
 
-#: ../callback.py:56 ../callback.py:57 ../callback.py:59 ../output.py:1167
-#: ../output.py:1685 ../output.py:1687 ../output.py:2190
+#: ../callback.py:53 ../callback.py:54 ../callback.py:56 ../output.py:1668
+#: ../output.py:2221 ../output.py:2223 ../output.py:2894
 msgid "Installed"
 msgstr "Telepítve"
 
-#: ../callback.py:130
+#: ../callback.py:142
 msgid "No header - huh?"
 msgstr "Hiányzik a fejléc - hm?"
 
-#: ../callback.py:168
+#: ../callback.py:180
 msgid "Repackage"
 msgstr "Újracsomagolás"
 
-#: ../callback.py:189
+#: ../callback.py:201
 #, python-format
 msgid "Error: invalid output state: %s for %s"
 msgstr "Hiba: érvénytelen kimeneti állapot: %s %s"
 
-#: ../callback.py:212
+#: ../callback.py:224
 #, python-format
 msgid "Erased: %s"
 msgstr "Eltávolítva: %s"
 
-#: ../callback.py:217 ../output.py:1038 ../output.py:2193
+#: ../callback.py:229 ../output.py:1503 ../output.py:2897
 msgid "Removing"
 msgstr "Eltávolítás"
 
-#: ../callback.py:219 ../yum/rpmtrans.py:79
+#: ../callback.py:231 ../yum/rpmtrans.py:79
 msgid "Cleanup"
 msgstr "Tisztítás"
 
-#: ../cli.py:115
+#: ../cli.py:122
 #, python-format
 msgid "Command \"%s\" already defined"
 msgstr "A(z) \"%s\" nevű parancs már létezik"
 
-#: ../cli.py:127
+#: ../cli.py:137
 msgid "Setting up repositories"
 msgstr "Tárolók beállítása"
 
-#: ../cli.py:138
+#: ../cli.py:148
 msgid "Reading repository metadata in from local files"
 msgstr "Tárolók metaadatainak beolvasása helyi fájlokból"
 
-#: ../cli.py:245 ../utils.py:281
+#: ../cli.py:273 ../cli.py:277 ../utils.py:320
 #, python-format
 msgid "Config Error: %s"
 msgstr "Beállítási hiba: %s"
 
-#: ../cli.py:248 ../cli.py:1584 ../utils.py:284
+#: ../cli.py:280 ../cli.py:2206 ../utils.py:323
 #, python-format
 msgid "Options Error: %s"
 msgstr "Opció hiba: %s"
 
-#: ../cli.py:293
+#: ../cli.py:327
 #, python-format
 msgid "  Installed: %s-%s at %s"
 msgstr "  Telepítve : %s-%s at %s"
 
-#: ../cli.py:295
+#: ../cli.py:329
 #, python-format
 msgid "  Built    : %s at %s"
 msgstr "  Létrehozva: %s at %s"
 
-#: ../cli.py:297
+#: ../cli.py:331
 #, python-format
 msgid "  Committed: %s at %s"
 msgstr "  Hozzáadva: %s at %s"
 
-#: ../cli.py:336
+#: ../cli.py:372
 msgid "You need to give some command"
 msgstr "Egy parancs megadása szükségeltetik"
 
-#: ../cli.py:350
+#: ../cli.py:386
 #, python-format
 msgid "No such command: %s. Please use %s --help"
 msgstr "Nincs ilyen parancs: %s. Kérjük használja a következőt: %s --help"
 
-#: ../cli.py:400
+#: ../cli.py:444
 msgid "Disk Requirements:\n"
 msgstr "Szükséges hely:\n"
 
-#: ../cli.py:402
+#: ../cli.py:446
 #, python-format
 msgid "  At least %dMB more space needed on the %s filesystem.\n"
-msgstr ""
-"  Legalább %dMB-tal több helyre van szükség az alábbi fájlrendszeren: %s\n"
+msgid_plural "  At least %dMB more space needed on the %s filesystem.\n"
+msgstr[0] ""
+msgstr[1] "  Legalább %dMB-tal több helyre van szükség az alábbi fájlrendszeren: %s\n"
 
 #. TODO: simplify the dependency errors?
 #. Fixup the summary
-#: ../cli.py:407
+#: ../cli.py:451
 msgid ""
 "Error Summary\n"
 "-------------\n"
-msgstr ""
-"Hiba összegzés\n"
-"-------------\n"
+msgstr "Hiba összegzés\n-------------\n"
 
-#: ../cli.py:450
+#: ../cli.py:472
+msgid "Can't create lock file; exiting"
+msgstr "Nem sikerült lezárni; kilépés..."
+
+#: ../cli.py:479
+msgid ""
+"Another app is currently holding the yum lock; exiting as configured by "
+"exit_on_lock"
+msgstr "Egy másik alkalmazás használja a yum zárat, ezért kilépünk, ahogy be van állítva az exit_on_lock szerint"
+
+#: ../cli.py:532
 msgid "Trying to run the transaction but nothing to do. Exiting."
-msgstr ""
-"A tranzakciót megpróbáltuk végrehajtani, de nincs semmi tennivaló. Kilépünk."
+msgstr "A tranzakciót megpróbáltuk végrehajtani, de nincs semmi tennivaló. Kilépünk."
+
+#: ../cli.py:577
+msgid "future rpmdb ver mismatched saved transaction version,"
+msgstr "jövőbeli rpmbd ver nem egyezik a mentett tranzakció verziójával,"
+
+#: ../cli.py:579 ../yum/__init__.py:6523
+msgid " ignoring, as requested."
+msgstr " kihagyva, ahogy kértük."
 
-#: ../cli.py:497
+#: ../cli.py:582 ../yum/__init__.py:6526 ../yum/__init__.py:6673
+msgid " aborting."
+msgstr "megszakítás."
+
+#: ../cli.py:588
 msgid "Exiting on user Command"
 msgstr "Felhasználói parancs miatt kilépés."
 
-#: ../cli.py:501
+#: ../cli.py:592
 msgid "Downloading Packages:"
 msgstr "Csomagok letöltése:"
 
-#: ../cli.py:506
+#: ../cli.py:597
 msgid "Error Downloading Packages:\n"
 msgstr "Hiba ezen csomagok letöltésekor:\n"
 
-#: ../cli.py:525 ../yum/__init__.py:4967
+#: ../cli.py:616 ../yum/__init__.py:6215
 msgid "Running Transaction Check"
 msgstr "Tranzakció-ellenőrzés futtatása"
 
-#: ../cli.py:534 ../yum/__init__.py:4976
+#: ../cli.py:625 ../yum/__init__.py:6224
 msgid "ERROR You need to update rpm to handle:"
 msgstr "HIBA frissíteni kell az rpmet, hogy kezeljük:"
 
-#: ../cli.py:536 ../yum/__init__.py:4979
+#: ../cli.py:627 ../yum/__init__.py:6227
 msgid "ERROR with transaction check vs depsolve:"
 msgstr "HIBA a tranzakció ellenőrzés- és függőségfeloldásnál:"
 
-#: ../cli.py:542
+#: ../cli.py:633
 msgid "RPM needs to be updated"
 msgstr "RPM frissítésére van szükség"
 
-#: ../cli.py:543
+#: ../cli.py:634
 #, python-format
 msgid "Please report this error in %s"
 msgstr "Kérem jelentse ezt a hibát a következőben: %s"
 
-#: ../cli.py:549
+#: ../cli.py:640
 msgid "Running Transaction Test"
 msgstr "Tranzakció teszt futtatása"
 
-#: ../cli.py:561
+#: ../cli.py:652
 msgid "Transaction Check Error:\n"
 msgstr "Tranzakció hibaellenőrzése:\n"
 
-#: ../cli.py:568
+#: ../cli.py:659
 msgid "Transaction Test Succeeded"
 msgstr "A Tranzakció teszt sikeres"
 
-#: ../cli.py:600
+#: ../cli.py:691
 msgid "Running Transaction"
 msgstr "Tranzakció futtatása"
 
-#: ../cli.py:630
+#: ../cli.py:724
 msgid ""
 "Refusing to automatically import keys when running unattended.\n"
 "Use \"-y\" to override."
-msgstr ""
-"Felügyelet nélküli futás közben kulcsok nem importálhatóak.\n"
-"Használjuk az \"-y\" kapcsolót a felülbíráláshoz."
+msgstr "Felügyelet nélküli futás közben kulcsok nem importálhatóak.\nHasználjuk az \"-y\" kapcsolót a felülbíráláshoz."
 
-#: ../cli.py:649 ../cli.py:692
+#: ../cli.py:743 ../cli.py:786
 msgid "  * Maybe you meant: "
 msgstr "* Lehet, hogy erre gondolt:"
 
-#: ../cli.py:675 ../cli.py:683
+#: ../cli.py:769 ../cli.py:777
 #, python-format
 msgid "Package(s) %s%s%s available, but not installed."
 msgstr "A(z) %s%s%s elérhető, de nincs telepítve."
 
-#: ../cli.py:689 ../cli.py:722 ../cli.py:908
+#: ../cli.py:783 ../cli.py:891 ../cli.py:1158
 #, python-format
 msgid "No package %s%s%s available."
 msgstr "Nincs ilyen csomag: %s%s%s."
 
-#: ../cli.py:729 ../cli.py:973
-msgid "Package(s) to install"
-msgstr "Telepítendő csomagok"
+#: ../cli.py:871 ../cli.py:881 ../cli.py:1101 ../cli.py:1111
+#, python-format
+msgid "Bad %s argument %s."
+msgstr "Hibás %s argumentum %s."
 
-#: ../cli.py:732 ../cli.py:733 ../cli.py:914 ../cli.py:948 ../cli.py:974
-#: ../yumcommands.py:190
+#: ../cli.py:900 ../yumcommands.py:3331
+#, python-format
+msgid "%d package to install"
+msgid_plural "%d packages to install"
+msgstr[0] "%d csomag telepítésre kerül"
+msgstr[1] "%d csomag telepítésre kerül"
+
+#: ../cli.py:903 ../cli.py:904 ../cli.py:1169 ../cli.py:1170 ../cli.py:1224
+#: ../cli.py:1225 ../cli.py:1260 ../yumcommands.py:323 ../yumcommands.py:3419
 msgid "Nothing to do"
 msgstr "Nincs tennivaló"
 
-#: ../cli.py:767
+#: ../cli.py:953
 #, python-format
-msgid "%d packages marked for Update"
-msgstr "%d csomag kijelölve frissítésre"
+msgid "%d package marked for Update"
+msgid_plural "%d packages marked for Update"
+msgstr[0] "%d csomag frissítésre kerül"
+msgstr[1] "%d csomag frissítésre kerül"
 
-#: ../cli.py:770
+#: ../cli.py:955
 msgid "No Packages marked for Update"
 msgstr "Nincs csomag kijelölve frissítésre"
 
-#: ../cli.py:866
+#: ../cli.py:1067
 #, python-format
-msgid "%d packages marked for Distribution Synchronization"
-msgstr "%d csomag van kijelölve Disztribúció Szinkronizáláshoz"
+msgid "%d package marked for Distribution Synchronization"
+msgid_plural "%d packages marked for Distribution Synchronization"
+msgstr[0] "%d csomag kijelölve Disztribúció Szinkronizációhoz"
+msgstr[1] "%d csomag kijelölve Disztribúció Szinkronizációhoz"
 
-#: ../cli.py:869
+#: ../cli.py:1069
 msgid "No Packages marked for Distribution Synchronization"
 msgstr "Nincs csomag kijelölve Disztribúció Szinkronizáláshoz"
 
-#: ../cli.py:885
+#: ../cli.py:1124
 #, python-format
-msgid "%d packages marked for removal"
-msgstr "%d csomag van kijelölve eltávolításra"
+msgid "%d package marked for removal"
+msgid_plural "%d packages marked for removal"
+msgstr[0] "%d csomag eltávolításra kerül"
+msgstr[1] "%d csomag eltávolításra kerül"
 
-#: ../cli.py:888
+#: ../cli.py:1126
 msgid "No Packages marked for removal"
 msgstr "Nincs csomag kijelölve eltávolításra"
 
-#: ../cli.py:913
-msgid "Package(s) to downgrade"
-msgstr "Visszaállítandó csomagok"
+#: ../cli.py:1166
+#, python-format
+msgid "%d package to downgrade"
+msgid_plural "%d packages to downgrade"
+msgstr[0] "%d csomag visszaállításra"
+msgstr[1] "%d csomag visszaállításra"
 
-#: ../cli.py:938
+#: ../cli.py:1207
 #, python-format
 msgid " (from %s)"
 msgstr "(ebből: %s)"
 
-#: ../cli.py:939
+#: ../cli.py:1208
 #, python-format
 msgid "Installed package %s%s%s%s not available."
 msgstr "A következő telepített csomag nem elérhető: %s%s%s%s"
 
-#: ../cli.py:947
-msgid "Package(s) to reinstall"
-msgstr "Újratelepítendő csomagok"
+#: ../cli.py:1221
+#, python-format
+msgid "%d package to reinstall"
+msgid_plural "%d packages to reinstall"
+msgstr[0] "%d csomag újra lesz telepítve"
+msgstr[1] "%d csomag újra lesz telepítve"
 
-#: ../cli.py:960
+#: ../cli.py:1246
 msgid "No Packages Provided"
 msgstr "Nem találhatóak csomagok"
 
-#: ../cli.py:1058
+#: ../cli.py:1259
+msgid "Package(s) to install"
+msgstr "Telepítendő csomagok"
+
+#: ../cli.py:1367
 #, python-format
 msgid "N/S Matched: %s"
 msgstr "N/S Megegyezett: %s"
 
-#: ../cli.py:1075
+#: ../cli.py:1384
 #, python-format
 msgid "  Name and summary matches %sonly%s, use \"search all\" for everything."
-msgstr ""
+msgstr " Csak a név és a leírás %segyezik%s, használja a \"search all\" parancsot továbbiak kereséséhez."
 
-#: ../cli.py:1077
+#: ../cli.py:1386
 #, python-format
 msgid ""
 "  Full name and summary matches %sonly%s, use \"search all\" for everything."
-msgstr ""
+msgstr " Csak a teljes név és a leírás %segyezik%s, használja a \"search all\" parancsot továbbiak kereséséhez."
 
-#: ../cli.py:1095
+#: ../cli.py:1404
 #, python-format
 msgid "Matched: %s"
 msgstr "Találat: %s"
 
-#: ../cli.py:1102
+#: ../cli.py:1411
 #, python-format
 msgid "  Name and summary matches %smostly%s, use \"search all\" for everything."
-msgstr ""
+msgstr " Csak a név és a leírás %segyezik%s többnyire, használja a \"search all\" parancsot továbbiak kereséséhez."
 
-#: ../cli.py:1106
+#: ../cli.py:1415
 #, python-format
 msgid "Warning: No matches found for: %s"
 msgstr "Figyelem: Nincs találat a következőnél: %s"
 
-#: ../cli.py:1109
+#: ../cli.py:1418
 msgid "No Matches found"
 msgstr "Nincsenek találatok"
 
-#: ../cli.py:1174
+#: ../cli.py:1536
 #, python-format
-msgid "No Package Found for %s"
-msgstr "Nem találhatóak csomagok a következőre: %s"
+msgid ""
+"Error: No Packages found for:\n"
+"  %s"
+msgstr "Hiba: Nem található csomag a következőre:\n  %s"
 
-#: ../cli.py:1184
+#: ../cli.py:1572
 msgid "Cleaning repos: "
 msgstr "Tárolók tisztítása"
 
-#: ../cli.py:1189
+#: ../cli.py:1577
 msgid "Cleaning up Everything"
 msgstr "Minden tisztítása"
 
-#: ../cli.py:1205
+#: ../cli.py:1593
 msgid "Cleaning up Headers"
 msgstr "Fejlécek tisztítása"
 
-#: ../cli.py:1208
+#: ../cli.py:1596
 msgid "Cleaning up Packages"
 msgstr "Csomagok tisztítása"
 
-#: ../cli.py:1211
+#: ../cli.py:1599
 msgid "Cleaning up xml metadata"
 msgstr "xml metaadat tisztítása"
 
-#: ../cli.py:1214
+#: ../cli.py:1602
 msgid "Cleaning up database cache"
 msgstr "Adatbázis-gyorsítótár tisztítása"
 
-#: ../cli.py:1217
+#: ../cli.py:1605
 msgid "Cleaning up expire-cache metadata"
 msgstr "Elévülési gyorsítótár tisztítása"
 
-#: ../cli.py:1220
+#: ../cli.py:1608
 msgid "Cleaning up cached rpmdb data"
 msgstr "Gyorsítótárazott rpmdb adatok tisztítása"
 
-#: ../cli.py:1223
+#: ../cli.py:1611
 msgid "Cleaning up plugins"
 msgstr "Bővítmények tisztítása"
 
-#: ../cli.py:1247
-#, python-format
-msgid "Warning: No groups match: %s"
-msgstr "Figyelem: Egy csoport sem azonos a következővel: %s"
+#: ../cli.py:1727
+msgid "Installed Environment Groups:"
+msgstr "Telepített Környezeti Csoportok:"
 
-#: ../cli.py:1264
+#: ../cli.py:1728
+msgid "Available Environment Groups:"
+msgstr "Elérhető Környezeti Csoportok:"
+
+#: ../cli.py:1735
 msgid "Installed Groups:"
 msgstr "Telepített csoportok:"
 
-#: ../cli.py:1270
+#: ../cli.py:1742
 msgid "Installed Language Groups:"
 msgstr "Telepített nyelvi csoportok:"
 
-#: ../cli.py:1276
+#: ../cli.py:1749
 msgid "Available Groups:"
 msgstr "Elérhető csoportok:"
 
-#: ../cli.py:1282
+#: ../cli.py:1756
 msgid "Available Language Groups:"
 msgstr "Elérhető nyelvi csoportok:"
 
-#: ../cli.py:1285
+#: ../cli.py:1759
+#, python-format
+msgid "Warning: No Environments/Groups match: %s"
+msgstr "Figyelem: Nincs Környezeti/Csoporti egyezés: %s"
+
+#: ../cli.py:1763
 msgid "Done"
 msgstr "Kész"
 
-#: ../cli.py:1296 ../cli.py:1314 ../cli.py:1320 ../yum/__init__.py:3313
+#: ../cli.py:1818
+#, python-format
+msgid "Warning: Group/Environment %s does not exist."
+msgstr "Figyelem: A következő Környezet/Csoport nem létezik: %s"
+
+#: ../cli.py:1859
+#, python-format
+msgid "Warning: Environment %s does not exist."
+msgstr "Figyelem: A következő Környezet nem létezik: %s"
+
+#: ../cli.py:1873 ../cli.py:1879 ../yum/__init__.py:4254
 #, python-format
 msgid "Warning: Group %s does not exist."
 msgstr "Figyelem: Az alábbi csoport nem létezik: %s"
 
-#: ../cli.py:1324
+#: ../cli.py:1883
 msgid "No packages in any requested group available to install or update"
 msgstr "Nincs telepítendő vagy frissítendő csomag a kiválasztott csoportokból"
 
-#: ../cli.py:1326
+#: ../cli.py:1885
+#, python-format
+msgid "%d package to Install"
+msgid_plural "%d packages to Install"
+msgstr[0] "%d csomag telepítésre kerül"
+msgstr[1] "%d csomag telepítésre kerül"
+
+#: ../cli.py:1919 ../yum/__init__.py:3536 ../yum/__init__.py:3766
+#: ../yum/__init__.py:3824
 #, python-format
-msgid "%d Package(s) to Install"
-msgstr "%d Telepítendő csomag"
+msgid "No Environment named %s exists"
+msgstr "A(z) %s elnevezésű környezet nem létezik"
 
-#: ../cli.py:1336 ../yum/__init__.py:3325
+#: ../cli.py:1935 ../yum/__init__.py:4282
 #, python-format
 msgid "No group named %s exists"
 msgstr "Nincs ilyen csoport: %s"
 
-#: ../cli.py:1342
+#: ../cli.py:1945
 msgid "No packages to remove from groups"
 msgstr "Nincs szükség csomag eltávolítására csoportokból"
 
-#: ../cli.py:1344
+#: ../cli.py:1947 ../yumcommands.py:3351
 #, python-format
-msgid "%d Package(s) to remove"
-msgstr "%d Eltávolítandó csomag"
+msgid "%d package to remove"
+msgid_plural "%d packages to remove"
+msgstr[0] "%d csomag eltávolításra kerül"
+msgstr[1] "%d csomag eltávolításra kerül"
 
-#: ../cli.py:1386
+#: ../cli.py:1988
 #, python-format
 msgid "Package %s is already installed, skipping"
 msgstr "A(z) %s nevű csomag már telepítve van, ezért továbblépünk."
 
-#: ../cli.py:1397
+#: ../cli.py:1999
 #, python-format
 msgid "Discarding non-comparable pkg %s.%s"
 msgstr "Megválunk a következőtől: pkg %s.%s"
 
 #. we've not got any installed that match n or n+a
-#: ../cli.py:1423
+#: ../cli.py:2025
 #, python-format
 msgid "No other %s installed, adding to list for potential install"
 msgstr "Nincs más %s telepítve, ezért hozzáadjuk a listához."
 
-#: ../cli.py:1443
+#: ../cli.py:2045
 msgid "Plugin Options"
 msgstr "Bővítmény beállítások"
 
-#: ../cli.py:1451
+#: ../cli.py:2057
 #, python-format
 msgid "Command line error: %s"
 msgstr "Parancssori hiba a következőben: %s"
 
-#: ../cli.py:1467
+#: ../cli.py:2079
 #, python-format
 msgid ""
 "\n"
 "\n"
 "%s: %s option requires an argument"
-msgstr ""
-"\n"
-"\n"
-"%s: %s opciónak szüksége van egy argumentumra"
+msgstr "\n\n%s: %s opciónak szüksége van egy argumentumra"
 
-#: ../cli.py:1521
+#: ../cli.py:2147
 msgid "--color takes one of: auto, always, never"
 msgstr "--Szín egyikét veszi fel: auto, mindig, soha"
 
 #. We have a relative installroot ... haha
-#: ../cli.py:1596
+#: ../cli.py:2218
 #, python-format
 msgid "--installroot must be an absolute path: %s"
-msgstr ""
+msgstr "A(z) --instalroot -nak abszolút elérési útnak kell lennie: %s"
 
-#: ../cli.py:1642
+#: ../cli.py:2272
 msgid "show this help message and exit"
 msgstr "ezen segítség mutatása"
 
-#: ../cli.py:1646
+#: ../cli.py:2276
 msgid "be tolerant of errors"
 msgstr "a hibák figyelmen kívül hagyása"
 
-#: ../cli.py:1649
+#: ../cli.py:2279
 msgid "run entirely from system cache, don't update cache"
-msgstr ""
-"futtatás a rendszer gyorsítótárából anélkül, hogy a csomagok vagy "
-"tárolóinformációk frissítve lennének"
+msgstr "futtatás a rendszer gyorsítótárából anélkül, hogy a csomagok vagy tárolóinformációk frissítve lennének"
 
-#: ../cli.py:1652
+#: ../cli.py:2282
 msgid "config file location"
 msgstr "konfigurációs fájl elérésí útja"
 
-#: ../cli.py:1655
+#: ../cli.py:2285
 msgid "maximum command wait time"
 msgstr "leghosszabb várakozási idő meghatározása"
 
-#: ../cli.py:1657
+#: ../cli.py:2287
 msgid "debugging output level"
 msgstr "a hibakeresés szintje"
 
-#: ../cli.py:1661
+#: ../cli.py:2291
 msgid "show duplicates, in repos, in list/search commands"
 msgstr "ismétlődések mutatása a tárolókban és a keresési parancsokban"
 
-#: ../cli.py:1663
+#: ../cli.py:2296
 msgid "error output level"
 msgstr "hiba kimeneti szintje"
 
-#: ../cli.py:1666
+#: ../cli.py:2299
 msgid "debugging output level for rpm"
 msgstr "rpm hibakereső szint"
 
-#: ../cli.py:1669
+#: ../cli.py:2302
 msgid "quiet operation"
 msgstr "csendes működés"
 
-#: ../cli.py:1671
+#: ../cli.py:2304
 msgid "verbose operation"
 msgstr "visszajelzés működés közben"
 
-#: ../cli.py:1673
+#: ../cli.py:2306
 msgid "answer yes for all questions"
 msgstr "igennel válaszol minden felmerülő kérdésre"
 
-#: ../cli.py:1675
+#: ../cli.py:2308
+msgid "answer no for all questions"
+msgstr "összes kérdésre a válasz nem"
+
+#: ../cli.py:2312
 msgid "show Yum version and exit"
 msgstr "Yum verziójának mutatása és kilépés"
 
-#: ../cli.py:1676
+#: ../cli.py:2313
 msgid "set install root"
 msgstr "telepítési root beállítása"
 
-#: ../cli.py:1680
+#: ../cli.py:2317
 msgid "enable one or more repositories (wildcards allowed)"
-msgstr ""
-"egy vagy több tároló engedélyezése (helyettesítő karakterek megengedettek)"
+msgstr "egy vagy több tároló engedélyezése (helyettesítő karakterek megengedettek)"
 
-#: ../cli.py:1684
+#: ../cli.py:2321
 msgid "disable one or more repositories (wildcards allowed)"
 msgstr "egy vagy több tároló tiltása (helyettesítő karakterek megengedettek)"
 
-#: ../cli.py:1687
+#: ../cli.py:2324
 msgid "exclude package(s) by name or glob"
 msgstr "csomagok kizárása név vagy glob szerint"
 
-#: ../cli.py:1689
+#: ../cli.py:2326
 msgid "disable exclude from main, for a repo or for everything"
 msgstr "kizárás letiltása alapkomponensre, tárolókra ill. bármire"
 
-#: ../cli.py:1692
+#: ../cli.py:2329
 msgid "enable obsoletes processing during updates"
 msgstr "elavult komponensek feldolgozásának engedélyezése"
 
-#: ../cli.py:1694
+#: ../cli.py:2331
 msgid "disable Yum plugins"
 msgstr "Yum bővítmények tiltása"
 
-#: ../cli.py:1696
+#: ../cli.py:2333
 msgid "disable gpg signature checking"
 msgstr "gpg-aláírás ellenőrzés kihagyása"
 
-#: ../cli.py:1698
+#: ../cli.py:2335
 msgid "disable plugins by name"
 msgstr "bővítmények tiltása név szerint"
 
-#: ../cli.py:1701
+#: ../cli.py:2338
 msgid "enable plugins by name"
 msgstr "bővítmények engedélyezése név szerint"
 
-#: ../cli.py:1704
+#: ../cli.py:2341
 msgid "skip packages with depsolving problems"
 msgstr "azon csomagok átugrása, melyeknek függőségi problémáik vannak"
 
-#: ../cli.py:1706
+#: ../cli.py:2343
 msgid "control whether color is used"
 msgstr "szín használatának befolyásolása"
 
-#: ../cli.py:1708
+#: ../cli.py:2345
 msgid "set value of $releasever in yum config and repo files"
-msgstr ""
-"az alábbi érték beállítása a yum tároló és konfigurációs fájljaiban: "
-"$releasever"
+msgstr "az alábbi érték beállítása a yum tároló és konfigurációs fájljaiban: $releasever"
 
-#: ../cli.py:1710
+#: ../cli.py:2347
+msgid "don't update, just download"
+msgstr "ne frissítsen, csak töltse le"
+
+#: ../cli.py:2349
+msgid "specifies an alternate directory to store packages"
+msgstr "egy alternatív könyvtár meghatározása a csomagok tárolásához"
+
+#: ../cli.py:2351
 msgid "set arbitrary config and repo options"
 msgstr "tetszőleges konfiguráció- és tárolóbeállítások"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Jan"
 msgstr "jan."
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Feb"
 msgstr "feb."
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Mar"
 msgstr "márc."
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Apr"
 msgstr "ápr."
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "May"
 msgstr "máj."
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Jun"
 msgstr "jún."
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Jul"
 msgstr "júl."
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Aug"
 msgstr "aug."
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Sep"
 msgstr "szept."
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Oct"
 msgstr "okt."
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Nov"
 msgstr "nov."
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Dec"
 msgstr "dec."
 
-#: ../output.py:318
+#: ../output.py:473
 msgid "Trying other mirror."
 msgstr "Próbálkozás másik tükörszerverről."
 
-#: ../output.py:581
+#: ../output.py:816
 #, python-format
 msgid "Name        : %s%s%s"
 msgstr "Név         : %s%s%s"
 
-#: ../output.py:582
+#: ../output.py:817
 #, python-format
 msgid "Arch        : %s"
 msgstr "Arch        : %s"
 
-#: ../output.py:584
+#: ../output.py:819
 #, python-format
 msgid "Epoch       : %s"
 msgstr "Epoch       : %s"
 
-#: ../output.py:585
+#: ../output.py:820
 #, python-format
 msgid "Version     : %s"
 msgstr "Verzió      : %s"
 
-#: ../output.py:586
+#: ../output.py:821
 #, python-format
 msgid "Release     : %s"
 msgstr "Kiadás      : %s"
 
-#: ../output.py:587
+#: ../output.py:822
 #, python-format
 msgid "Size        : %s"
 msgstr "Méret       : %s"
 
-#: ../output.py:588 ../output.py:900
+#: ../output.py:823 ../output.py:1329
 #, python-format
 msgid "Repo        : %s"
 msgstr "Tároló      : %s"
 
-#: ../output.py:590
+#: ../output.py:825
 #, python-format
 msgid "From repo   : %s"
 msgstr "Tárolóból   : %s"
 
-#: ../output.py:592
+#: ../output.py:827
 #, python-format
 msgid "Committer   : %s"
 msgstr "Beküldő     : %s"
 
-#: ../output.py:593
+#: ../output.py:828
 #, python-format
 msgid "Committime  : %s"
 msgstr "Beküldési idő: %s"
 
-#: ../output.py:594
+#: ../output.py:829
 #, python-format
 msgid "Buildtime   : %s"
 msgstr "Kiállítási idő : %s"
 
-#: ../output.py:596
+#: ../output.py:831
 #, python-format
 msgid "Install time: %s"
 msgstr "Telepítési idő: %s"
 
-#: ../output.py:604
+#: ../output.py:839
 #, python-format
 msgid "Installed by: %s"
 msgstr "Telepítette: %s"
 
-#: ../output.py:611
+#: ../output.py:846
 #, python-format
 msgid "Changed by  : %s"
 msgstr "Módosította  : %s"
 
-#: ../output.py:612
+#: ../output.py:847
 msgid "Summary     : "
 msgstr "Összegzés   : "
 
-#: ../output.py:614 ../output.py:913
+#: ../output.py:849 ../output.py:1345
 #, python-format
 msgid "URL         : %s"
 msgstr "URL         : %s"
 
-#: ../output.py:615
+#: ../output.py:850
 msgid "License     : "
 msgstr "Licenc      : "
 
-#: ../output.py:616 ../output.py:910
+#: ../output.py:851 ../output.py:1342
 msgid "Description : "
 msgstr "Leírás      : "
 
-#: ../output.py:684
+#: ../output.py:969
 msgid "y"
 msgstr "y"
 
-#: ../output.py:684
+#: ../output.py:969
 msgid "yes"
 msgstr "igen"
 
-#: ../output.py:685
+#: ../output.py:970
 msgid "n"
 msgstr "n"
 
-#: ../output.py:685
+#: ../output.py:970
 msgid "no"
 msgstr "nem"
 
-#: ../output.py:689
+#: ../output.py:974
 msgid "Is this ok [y/N]: "
-msgstr "Ez így jó? [y/N]"
+msgstr "Ez így jó? [y/N]:"
 
-#: ../output.py:777
+#: ../output.py:1097
 #, python-format
 msgid ""
 "\n"
 "Group: %s"
-msgstr ""
-"\n"
-"Csoport: %s"
+msgstr "\nCsoport: %s"
 
-#: ../output.py:781
+#: ../output.py:1101
 #, python-format
 msgid " Group-Id: %s"
 msgstr " Csoport azonosító: %s"
 
-#: ../output.py:786
+#: ../output.py:1122 ../output.py:1169
 #, python-format
 msgid " Description: %s"
 msgstr " Leírás: %s"
 
-#: ../output.py:788
+#: ../output.py:1124
 #, python-format
 msgid " Language: %s"
 msgstr " Nyelv: %s"
 
-#: ../output.py:790
+#: ../output.py:1126
 msgid " Mandatory Packages:"
 msgstr " Szükséges csomagok:"
 
-#: ../output.py:791
+#: ../output.py:1127
 msgid " Default Packages:"
 msgstr " Alapértelmezett csomagok:"
 
-#: ../output.py:792
+#: ../output.py:1128
 msgid " Optional Packages:"
 msgstr " Opcionális csomagok:"
 
-#: ../output.py:793
+#: ../output.py:1129
 msgid " Conditional Packages:"
 msgstr " Feltételes csomagok:"
 
-#: ../output.py:814
+#: ../output.py:1147
+msgid " Installed Packages:"
+msgstr " Telepített csomagok:"
+
+#: ../output.py:1157
+#, python-format
+msgid ""
+"\n"
+"Environment Group: %s"
+msgstr "\nKörnyezeti csoport: %s"
+
+#: ../output.py:1158
+#, python-format
+msgid " Environment-Id: %s"
+msgstr "Környezet azonosító: %s"
+
+#: ../output.py:1191
+msgid " Mandatory Groups:"
+msgstr "Kötelező Csoportok:"
+
+#: ../output.py:1192
+msgid " Optional Groups:"
+msgstr "Opcionális Csoportok:"
+
+#: ../output.py:1205
+msgid " Installed Groups:"
+msgstr "Telepített Csoportok:"
+
+#: ../output.py:1217
 #, python-format
 msgid "package: %s"
 msgstr "csomag: %s"
 
-#: ../output.py:816
+#: ../output.py:1219
 msgid "  No dependencies for this package"
 msgstr "  Ezen csomaghoz nincs függőség"
 
-#: ../output.py:821
+#: ../output.py:1224
 #, python-format
 msgid "  dependency: %s"
 msgstr "  függőség: %s"
 
-#: ../output.py:823
+#: ../output.py:1226
 msgid "   Unsatisfied dependency"
 msgstr "   Teljesítetlen függőség"
 
-#: ../output.py:901
+#: ../output.py:1337
 msgid "Matched from:"
 msgstr "Találat a következőtől:"
 
-#: ../output.py:916
+#: ../output.py:1348
 #, python-format
 msgid "License     : %s"
 msgstr "Licenc      : %s"
 
-#: ../output.py:919
+#: ../output.py:1351
 #, python-format
 msgid "Filename    : %s"
 msgstr "Fájlnév     : %s"
 
-#: ../output.py:923
+#: ../output.py:1360
+msgid "Provides    : "
+msgstr "Ellátja : "
+
+#: ../output.py:1363
 msgid "Other       : "
 msgstr "Egyéb       : "
 
-#: ../output.py:966
+#: ../output.py:1426
 msgid "There was an error calculating total download size"
 msgstr "Hiba történt a teljes letöltési méret számítása során"
 
-#: ../output.py:971
+#: ../output.py:1431
 #, python-format
 msgid "Total size: %s"
 msgstr "Teljes méret: %s"
 
-#: ../output.py:974
+#: ../output.py:1433
 #, python-format
 msgid "Total download size: %s"
 msgstr "Teljes letöltési méret: %s"
 
-#: ../output.py:978 ../output.py:998
+#: ../output.py:1436 ../output.py:1459 ../output.py:1463
 #, python-format
 msgid "Installed size: %s"
 msgstr "Telepített méret: %s"
 
-#: ../output.py:994
+#: ../output.py:1454
 msgid "There was an error calculating installed size"
 msgstr "Hiba történt a telepített méret számítása során"
 
-#: ../output.py:1039
+#: ../output.py:1504
 msgid "Reinstalling"
 msgstr "Újratelepítés"
 
-#: ../output.py:1040
+#: ../output.py:1505
 msgid "Downgrading"
 msgstr "Visszaállítás"
 
-#: ../output.py:1041
+#: ../output.py:1506
 msgid "Installing for dependencies"
 msgstr "Telepítés a függőségeknek"
 
-#: ../output.py:1042
+#: ../output.py:1507
 msgid "Updating for dependencies"
 msgstr "Frissítés a függőségeknek"
 
-#: ../output.py:1043
+#: ../output.py:1508
 msgid "Removing for dependencies"
 msgstr "Eltávolítás a függőségeknek"
 
-#: ../output.py:1050 ../output.py:1171
+#: ../output.py:1515 ../output.py:1576 ../output.py:1672
 msgid "Skipped (dependency problems)"
 msgstr "Kihagyva (függőségi problémák)"
 
-#: ../output.py:1052 ../output.py:1687
+#: ../output.py:1517 ../output.py:1577 ../output.py:2223
 msgid "Not installed"
 msgstr "Nem telepítve"
 
-#: ../output.py:1053
+#: ../output.py:1518 ../output.py:1578
 msgid "Not available"
-msgstr ""
+msgstr "Nem elérhető"
 
-#: ../output.py:1075 ../output.py:2024
+#: ../output.py:1540 ../output.py:1588 ../output.py:1604 ../output.py:2581
 msgid "Package"
-msgstr "Csomag"
+msgid_plural "Packages"
+msgstr[0] ""
+msgstr[1] "Csomag"
 
-#: ../output.py:1075
+#: ../output.py:1540
 msgid "Arch"
 msgstr "Arch"
 
-#: ../output.py:1076
+#: ../output.py:1541
 msgid "Version"
 msgstr "Verzió"
 
-#: ../output.py:1076
+#: ../output.py:1541
 msgid "Repository"
 msgstr "Tároló"
 
-#: ../output.py:1077
+#: ../output.py:1542
 msgid "Size"
 msgstr "Méret"
 
-#: ../output.py:1089
+#: ../output.py:1554
 #, python-format
 msgid "     replacing  %s%s%s.%s %s\n"
 msgstr "     lecserélés  %s%s%s.%s %s\n"
 
-#: ../output.py:1098
+#: ../output.py:1563
 #, python-format
 msgid ""
 "\n"
 "Transaction Summary\n"
 "%s\n"
-msgstr ""
-"\n"
-"Tranzakció Összegzés\n"
-"%s\n"
+msgstr "\nTranzakció Összegzés\n%s\n"
 
-#: ../output.py:1109
-#, python-format
-msgid "Install   %5.5s Package(s)\n"
-msgstr "%5.5s csomag telepítése\n"
+#: ../output.py:1568 ../output.py:2376 ../output.py:2377
+msgid "Install"
+msgstr "Telepítés"
 
-#: ../output.py:1113
-#, python-format
-msgid "Upgrade   %5.5s Package(s)\n"
-msgstr "%5.5s csomag frissítése\n"
+#: ../output.py:1570
+msgid "Upgrade"
+msgstr "Frissítés"
 
-#: ../output.py:1117
-#, python-format
-msgid "Remove    %5.5s Package(s)\n"
-msgstr "%5.5s csomag eltávolítása\n"
+#: ../output.py:1572
+msgid "Remove"
+msgstr "Eltávolítás"
 
-#: ../output.py:1121
-#, python-format
-msgid "Reinstall %5.5s Package(s)\n"
-msgstr "%5.5s csomag újratelepítése\n"
+#: ../output.py:1574 ../output.py:2382
+msgid "Reinstall"
+msgstr "Újratelepítés"
 
-#: ../output.py:1125
-#, python-format
-msgid "Downgrade %5.5s Package(s)\n"
-msgstr "%5.5s csomag visszaállítva\n"
+#: ../output.py:1575 ../output.py:2383
+msgid "Downgrade"
+msgstr "Visszaállítás"
+
+#: ../output.py:1606
+msgid "Dependent package"
+msgid_plural "Dependent packages"
+msgstr[0] "Függőben lévő csomag"
+msgstr[1] "Függőben lévő csomagok"
 
-#: ../output.py:1165
+#: ../output.py:1666
 msgid "Removed"
 msgstr "Eltávolítva"
 
-#: ../output.py:1166
+#: ../output.py:1667
 msgid "Dependency Removed"
 msgstr "Függőség Eltávolítva"
 
-#: ../output.py:1168
+#: ../output.py:1669
 msgid "Dependency Installed"
 msgstr "Függőség Telepítve"
 
-#: ../output.py:1170
+#: ../output.py:1671
 msgid "Dependency Updated"
 msgstr "Függőség Frissítve"
 
-#: ../output.py:1172
+#: ../output.py:1673
 msgid "Replaced"
 msgstr "Lecserélve"
 
-#: ../output.py:1173
+#: ../output.py:1674
 msgid "Failed"
 msgstr "Sikertelen"
 
 #. Delta between C-c's so we treat as exit
-#: ../output.py:1260
+#: ../output.py:1764
 msgid "two"
 msgstr "kettő"
 
 #. For translators: This is output like:
 #. Current download cancelled, interrupt (ctrl-c) again within two seconds
 #. to exit.
-#. Where "interupt (ctrl-c) again" and "two" are highlighted.
-#: ../output.py:1271
+#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
+#: ../output.py:1775
 #, python-format
 msgid ""
 "\n"
 " Current download cancelled, %sinterrupt (ctrl-c) again%s within %s%s%s seconds\n"
 "to exit.\n"
-msgstr ""
-"\n"
-"A jelenlegi letöltés megszakítva, %s megszakítás (ctrl-c) mégegyszer %s, %s%s%s másodperc alatt\n"
-"a kilépéshez.\n"
+msgstr "\nA jelenlegi letöltés megszakítva, %s megszakítás (ctrl-c) mégegyszer %s, %s%s%s másodperc alatt\na kilépéshez.\n"
 
-#: ../output.py:1282
+#: ../output.py:1786
 msgid "user interrupt"
 msgstr "Felhasználó által megszakítva"
 
-#: ../output.py:1300
+#: ../output.py:1812
 msgid "Total"
 msgstr "Összesen"
 
-#: ../output.py:1322
+#: ../output.py:1834
 msgid "I"
 msgstr "I"
 
-#: ../output.py:1323
+#: ../output.py:1835
 msgid "O"
 msgstr "O"
 
-#: ../output.py:1324
+#: ../output.py:1836
 msgid "E"
 msgstr "E"
 
-#: ../output.py:1325
+#: ../output.py:1837
 msgid "R"
 msgstr "R"
 
-#: ../output.py:1326
+#: ../output.py:1838
 msgid "D"
 msgstr "D"
 
-#: ../output.py:1327
+#: ../output.py:1839
 msgid "U"
 msgstr "U"
 
-#: ../output.py:1341
+#: ../output.py:1853
 msgid "<unset>"
 msgstr "<üres>"
 
-#: ../output.py:1342
+#: ../output.py:1854
 msgid "System"
 msgstr "Rendszer"
 
-#: ../output.py:1411
+#: ../output.py:1923
 #, python-format
 msgid "Skipping merged transaction %d to %d, as it overlaps"
-msgstr ""
+msgstr "Egyesített tranzakció kihagyása: %d, mivel fedi a %d tranzakciót."
 
-#: ../output.py:1421 ../output.py:1592
+#: ../output.py:1933 ../output.py:2125
 msgid "No transactions"
 msgstr "Nincsenek tranzakciók"
 
-#: ../output.py:1446 ../output.py:2013
+#: ../output.py:1958 ../output.py:2570 ../output.py:2660
 msgid "Bad transaction IDs, or package(s), given"
 msgstr "Rossz tranzakció azonosító vagy csomagnév lett megadva"
 
-#: ../output.py:1484
+#: ../output.py:2007
 msgid "Command line"
 msgstr "Parancssor"
 
-#: ../output.py:1486 ../output.py:1908
+#: ../output.py:2009 ../output.py:2458
 msgid "Login user"
 msgstr "Felhasználó"
 
 #. REALLY Needs to use columns!
-#: ../output.py:1487 ../output.py:2022
+#: ../output.py:2010 ../output.py:2579
 msgid "ID"
 msgstr "azonosító"
 
-#: ../output.py:1489
+#: ../output.py:2012
 msgid "Date and time"
 msgstr "Dátum és idő"
 
-#: ../output.py:1490 ../output.py:1910 ../output.py:2023
+#: ../output.py:2013 ../output.py:2460 ../output.py:2580
 msgid "Action(s)"
 msgstr "Művelet(ek)"
 
-#: ../output.py:1491 ../output.py:1911
+#: ../output.py:2014 ../output.py:2461
 msgid "Altered"
 msgstr "Változtatta"
 
-#: ../output.py:1538
+#: ../output.py:2061
 msgid "No transaction ID given"
 msgstr "Nem lett megadva tranzakció azonosító"
 
-#: ../output.py:1564 ../output.py:1972
+#: ../output.py:2087 ../output.py:2526
 msgid "Bad transaction ID given"
 msgstr "Rossz tranzakció azonosító lett megadva"
 
-#: ../output.py:1569
+#: ../output.py:2092
 msgid "Not found given transaction ID"
 msgstr "Nem található a megadott tranzakció azonosítója"
 
-#: ../output.py:1577
+#: ../output.py:2100
 msgid "Found more than one transaction ID!"
 msgstr "Több, mint egy tranzakció azonosító található!"
 
-#: ../output.py:1618 ../output.py:1980
+#: ../output.py:2151 ../output.py:2534
 msgid "No transaction ID, or package, given"
 msgstr "Nem lett megadva tranzakció azonosító vagy csomag"
 
-#: ../output.py:1686 ../output.py:1845
+#: ../output.py:2222 ../output.py:2384
 msgid "Downgraded"
 msgstr "Visszaállítva"
 
-#: ../output.py:1688
+#: ../output.py:2224
 msgid "Older"
 msgstr "Régebbi"
 
-#: ../output.py:1688
+#: ../output.py:2224
 msgid "Newer"
 msgstr "Újabb"
 
-#: ../output.py:1724 ../output.py:1726
+#: ../output.py:2261 ../output.py:2263 ../output.py:2681
 msgid "Transaction ID :"
 msgstr "Tranzakció azonosító:"
 
-#: ../output.py:1728
+#: ../output.py:2265 ../output.py:2683
 msgid "Begin time     :"
 msgstr "Kezdés ideje   :"
 
-#: ../output.py:1731 ../output.py:1733
+#: ../output.py:2268 ../output.py:2270
 msgid "Begin rpmdb    :"
 msgstr "rpmdb kezdete:"
 
-#: ../output.py:1749
+#: ../output.py:2286
 #, python-format
 msgid "(%u seconds)"
 msgstr "(%u másodperc)"
 
-#: ../output.py:1751
+#: ../output.py:2288
 #, python-format
 msgid "(%u minutes)"
 msgstr "(%u perc)"
 
-#: ../output.py:1753
+#: ../output.py:2290
 #, python-format
 msgid "(%u hours)"
 msgstr "(%u óra)"
 
-#: ../output.py:1755
+#: ../output.py:2292
 #, python-format
 msgid "(%u days)"
 msgstr "(%u nap)"
 
-#: ../output.py:1756
+#: ../output.py:2293
 msgid "End time       :"
 msgstr "Befejezés ideje:"
 
-#: ../output.py:1759 ../output.py:1761
+#: ../output.py:2296 ../output.py:2298
 msgid "End rpmdb      :"
 msgstr "rpmdb befejezése:"
 
-#: ../output.py:1764 ../output.py:1766
+#: ../output.py:2301 ../output.py:2303
 msgid "User           :"
 msgstr "Felhasználó    :"
 
-#: ../output.py:1770 ../output.py:1773 ../output.py:1775 ../output.py:1777
-#: ../output.py:1779
+#: ../output.py:2307 ../output.py:2310 ../output.py:2312 ../output.py:2314
+#: ../output.py:2316
 msgid "Return-Code    :"
 msgstr "Visszatérési érték:"
 
-#: ../output.py:1770 ../output.py:1775
+#: ../output.py:2307 ../output.py:2312
 msgid "Aborted"
 msgstr "Megszakítva"
 
-#: ../output.py:1773
+#: ../output.py:2310
 msgid "Failures:"
 msgstr "Hibák:"
 
-#: ../output.py:1777
+#: ../output.py:2314
 msgid "Failure:"
 msgstr "Hiba:"
 
-#: ../output.py:1779
+#: ../output.py:2316
 msgid "Success"
 msgstr "Siker"
 
-#: ../output.py:1784 ../output.py:1786
+#: ../output.py:2321 ../output.py:2323 ../output.py:2712
 msgid "Command Line   :"
 msgstr "Parancssor     :"
 
-#: ../output.py:1795
+#: ../output.py:2332
 #, python-format
 msgid "Additional non-default information stored: %d"
 msgstr "További nem alapértelmezett információ lett eltárolva: %d"
 
 #. This is _possible_, but not common
-#: ../output.py:1800
+#: ../output.py:2337
 msgid "Transaction performed with:"
 msgstr "A tranzakció lezajlott a következővel:"
 
-#: ../output.py:1804
+#: ../output.py:2341
 msgid "Packages Altered:"
 msgstr "Módosított csomagok:"
 
-#: ../output.py:1808
+#: ../output.py:2345
 msgid "Packages Skipped:"
 msgstr "Kihagyott csomagok:"
 
-#: ../output.py:1814
+#: ../output.py:2353
 msgid "Rpmdb Problems:"
 msgstr "Rpmdb hibák:"
 
-#: ../output.py:1825
+#: ../output.py:2364
 msgid "Scriptlet output:"
 msgstr "Scriptlet kimenet:"
 
-#: ../output.py:1831
+#: ../output.py:2370
 msgid "Errors:"
 msgstr "Hibák:"
 
-#: ../output.py:1837 ../output.py:1838
-msgid "Install"
-msgstr "Telepítés"
-
-#: ../output.py:1839
+#: ../output.py:2378
 msgid "Dep-Install"
 msgstr "Függőség-Telepítés"
 
-#: ../output.py:1841
+#: ../output.py:2380
 msgid "Obsoleting"
 msgstr "Elavulttá tevés"
 
-#: ../output.py:1842
+#: ../output.py:2381
 msgid "Erase"
 msgstr "Törlés"
 
-#: ../output.py:1843
-msgid "Reinstall"
-msgstr "Újratelepítés"
-
-#: ../output.py:1844
-msgid "Downgrade"
-msgstr "Visszaállítás"
-
-#: ../output.py:1846
+#: ../output.py:2385
 msgid "Update"
 msgstr "Frissítés"
 
-#: ../output.py:1909
+#: ../output.py:2459
 msgid "Time"
 msgstr "Időpont"
 
-#: ../output.py:1935
+#: ../output.py:2485
 msgid "Last day"
 msgstr "1 napja"
 
-#: ../output.py:1936
+#: ../output.py:2486
 msgid "Last week"
 msgstr "1 hete"
 
-#: ../output.py:1937
+#: ../output.py:2487
 msgid "Last 2 weeks"
 msgstr "2 hete"
 
 #. US default :p
-#: ../output.py:1938
+#: ../output.py:2488
 msgid "Last 3 months"
 msgstr "3 hónapja"
 
-#: ../output.py:1939
+#: ../output.py:2489
 msgid "Last 6 months"
 msgstr "6 hónapja"
 
-#: ../output.py:1940
+#: ../output.py:2490
 msgid "Last year"
 msgstr "1 éve"
 
-#: ../output.py:1941
+#: ../output.py:2491
 msgid "Over a year ago"
 msgstr "Több, mint egy éve"
 
-#: ../output.py:1984
+#: ../output.py:2538
 #, python-format
 msgid "No Transaction %s found"
 msgstr "Nem található a következő tranzakció: %s"
 
-#: ../output.py:1990
+#: ../output.py:2544
 msgid "Transaction ID:"
 msgstr "Tranzakció azonosító:"
 
-#: ../output.py:1991
+#: ../output.py:2545
 msgid "Available additional history information:"
 msgstr "Rendelkezésre álló további információ az előzményekről:"
 
-#: ../output.py:2003
+#: ../output.py:2558
 #, python-format
 msgid "%s: No additional data found by this name"
 msgstr "%s: Nem található további adat erre a névre"
 
-#: ../output.py:2106
+#: ../output.py:2684
+msgid "Package        :"
+msgstr "Csomag        :"
+
+#: ../output.py:2685
+msgid "State          :"
+msgstr "Állapot          :"
+
+#: ../output.py:2688
+msgid "Size           :"
+msgstr "Méret           :"
+
+#: ../output.py:2690
+msgid "Build host     :"
+msgstr "Build kiszolgáló:"
+
+#: ../output.py:2693
+msgid "Build time     :"
+msgstr "Build időpont:"
+
+#: ../output.py:2695
+msgid "Packager       :"
+msgstr "Csomagoló       :"
+
+#: ../output.py:2697
+msgid "Vendor         :"
+msgstr "Szállító         :"
+
+#: ../output.py:2699
+msgid "License        :"
+msgstr "Licensz        :"
+
+#: ../output.py:2701
+msgid "URL            :"
+msgstr "URL            :"
+
+#: ../output.py:2703
+msgid "Source RPM     :"
+msgstr "Forrás RPM     :"
+
+#: ../output.py:2706
+msgid "Commit Time    :"
+msgstr "Beküldés időpont:"
+
+#: ../output.py:2708
+msgid "Committer      :"
+msgstr "Beküldő   :"
+
+#: ../output.py:2710
+msgid "Reason         :"
+msgstr "Ok         :"
+
+#: ../output.py:2714
+msgid "From repo      :"
+msgstr "Tároló      :"
+
+#: ../output.py:2718
+msgid "Installed by   :"
+msgstr "Telepítve általa   :"
+
+#: ../output.py:2722
+msgid "Changed by     :"
+msgstr "Megváltoztatva általa     :"
+
+#: ../output.py:2767
 msgid "installed"
 msgstr "telepítve"
 
-#: ../output.py:2107
+#: ../output.py:2768
 msgid "an update"
 msgstr "egy frissítés"
 
-#: ../output.py:2108
+#: ../output.py:2769
 msgid "erased"
 msgstr "törölve"
 
-#: ../output.py:2109
+#: ../output.py:2770
 msgid "reinstalled"
 msgstr "újratelepítve"
 
-#: ../output.py:2110
+#: ../output.py:2771
 msgid "a downgrade"
 msgstr "egy visszaállítás"
 
-#: ../output.py:2111
+#: ../output.py:2772
 msgid "obsoleting"
 msgstr "visszaállítás"
 
-#: ../output.py:2112
+#: ../output.py:2773
 msgid "updated"
 msgstr "frissítve"
 
-#: ../output.py:2113
+#: ../output.py:2774
 msgid "obsoleted"
 msgstr "elavult"
 
-#: ../output.py:2117
+#: ../output.py:2778
 #, python-format
 msgid "---> Package %s.%s %s:%s-%s will be %s"
 msgstr "---> A(z) %s.%s %s:%s-%s csomaggal a következő történik: %s"
 
-#: ../output.py:2124
+#: ../output.py:2789
 msgid "--> Running transaction check"
 msgstr "--> Tranzakció ellenőrzés futtatása"
 
-#: ../output.py:2129
+#: ../output.py:2795
 msgid "--> Restarting Dependency Resolution with new changes."
 msgstr "--> Függőségvizsgálat újraindítása az új változásokkal."
 
-#: ../output.py:2134
+#: ../output.py:2801
 msgid "--> Finished Dependency Resolution"
 msgstr "--> A függőségvizsgálat véget ért"
 
-#: ../output.py:2139 ../output.py:2144
+#: ../output.py:2814 ../output.py:2827
 #, python-format
 msgid "--> Processing Dependency: %s for package: %s"
 msgstr "--> A(z) %s függőség feldolgozása a következő csomaghoz: %s"
 
-#: ../output.py:2149
+#: ../output.py:2841
 #, python-format
-msgid "---> Keeping package: %s"
-msgstr "---> Csomag megtartása: %s"
+msgid "---> Keeping package: %s due to %s"
+msgstr "---> A(z) %s Csomag megtartása a következő miatt: %s"
 
-#: ../output.py:2152
+#: ../output.py:2850
 #, python-format
 msgid "--> Unresolved Dependency: %s"
 msgstr "--> Nem talált függőség: %s"
 
-#: ../output.py:2163
+#: ../output.py:2867
 #, python-format
 msgid "Package: %s"
 msgstr "Csomag: %s"
 
-#: ../output.py:2165
+#: ../output.py:2869
 #, python-format
 msgid ""
 "\n"
 "    Requires: %s"
-msgstr ""
-"\n"
-"    Megkövetel: %s"
+msgstr "\n    Megkövetel: %s"
 
-#: ../output.py:2174
+#: ../output.py:2878
 #, python-format
 msgid ""
 "\n"
 "    %s: %s (%s)"
-msgstr ""
-"\n"
-"    %s: %s (%s)"
+msgstr "\n    %s: %s (%s)"
 
-#: ../output.py:2179
+#: ../output.py:2883
 #, python-format
 msgid ""
 "\n"
 "        %s"
-msgstr ""
-"\n"
-"        %s"
+msgstr "\n        %s"
 
-#: ../output.py:2181
+#: ../output.py:2885
 msgid ""
 "\n"
 "        Not found"
-msgstr ""
-"\n"
-"        Nem található"
+msgstr "\n        Nem található"
 
 #. These should be the only three things we care about:
-#: ../output.py:2196
+#: ../output.py:2900
 msgid "Updated By"
 msgstr "Frissítette"
 
-#: ../output.py:2197
+#: ../output.py:2901
 msgid "Downgraded By"
 msgstr "Visszaállította"
 
-#: ../output.py:2198
+#: ../output.py:2902
 msgid "Obsoleted By"
 msgstr "Elavulttá tette"
 
-#: ../output.py:2216
+#: ../output.py:2920
 msgid "Available"
 msgstr "Elérhető"
 
-#: ../output.py:2243 ../output.py:2248
+#: ../output.py:2955 ../output.py:2968
 #, python-format
 msgid "--> Processing Conflict: %s conflicts %s"
 msgstr "--> Konfliktus feldolgozása: %s ellentétben áll: %s"
 
-#: ../output.py:2252
+#: ../output.py:2974
 msgid "--> Populating transaction set with selected packages. Please wait."
 msgstr "--> A tranzakció feltöltése csomagokkal. Kis türelmet."
 
-#: ../output.py:2256
+#: ../output.py:2983
 #, python-format
 msgid "---> Downloading header for %s to pack into transaction set."
-msgstr ""
-"---> A(z) %s fejlécének betöltése, hogy a tranzakcióhoz hozzáadhassuk."
+msgstr "---> A(z) %s fejlécének betöltése, hogy a tranzakcióhoz hozzáadhassuk."
+
+#. self.event(txmbr.name, count, len(base.tsInfo), count, )
+#. (te_current*100L)/te_total
+#: ../output.py:3248
+msgid "Verifying"
+msgstr "Ellenőrzés"
 
-#: ../utils.py:99
+#: ../utils.py:123
 msgid "Running"
 msgstr "Fut"
 
-#: ../utils.py:100
+#: ../utils.py:124
 msgid "Sleeping"
 msgstr "Alszik"
 
-#: ../utils.py:101
+#: ../utils.py:125
 msgid "Uninterruptible"
 msgstr "Nem megszakítható"
 
-#: ../utils.py:102
+#: ../utils.py:126
 msgid "Zombie"
 msgstr "Zombi"
 
-#: ../utils.py:103
+#: ../utils.py:127
 msgid "Traced/Stopped"
 msgstr "Nyomozott/Megállított"
 
-#: ../utils.py:104 ../yumcommands.py:994
+#: ../utils.py:128 ../yumcommands.py:2193
 msgid "Unknown"
 msgstr "Ismeretlen"
 
-#: ../utils.py:115
+#: ../utils.py:153
 msgid "  The other application is: PackageKit"
 msgstr "  A másik alkalmazás: PackageKit"
 
-#: ../utils.py:117
+#: ../utils.py:155
 #, python-format
 msgid "  The other application is: %s"
 msgstr "  A másik alkalmazás: %s"
 
-#: ../utils.py:120
+#: ../utils.py:158
 #, python-format
 msgid "    Memory : %5s RSS (%5sB VSZ)"
 msgstr "    Memória : %5s RSS (%5sB VSZ)"
 
-#: ../utils.py:125
+#: ../utils.py:163
 #, python-format
 msgid "    Started: %s - %s ago"
 msgstr "    Elindítva: %s - %s"
 
-#: ../utils.py:127
+#: ../utils.py:165
 #, python-format
 msgid "    State  : %s, pid: %d"
 msgstr "    Állapot  : %s, pid: %d"
 
-#: ../utils.py:170 ../yummain.py:43
+#: ../utils.py:194 ../yummain.py:43
 msgid ""
 "\n"
 "\n"
 "Exiting on user cancel"
-msgstr ""
-"\n"
-"\n"
-"Felhasználó által megszakítva"
+msgstr "\n\nFelhasználó által megszakítva"
 
-#: ../utils.py:176 ../yummain.py:49
+#: ../utils.py:206 ../yummain.py:49
 msgid ""
 "\n"
 "\n"
 "Exiting on Broken Pipe"
-msgstr ""
-"\n"
-"\n"
-"Kilépés megtört cső miatt (broken pipe)"
+msgstr "\n\nKilépés megtört cső miatt (broken pipe)"
 
-#: ../utils.py:178 ../yummain.py:51
+#: ../utils.py:208 ../yummain.py:51
 #, python-format
 msgid ""
 "\n"
 "\n"
 "%s"
-msgstr ""
-"\n"
-"\n"
-"%s"
+msgstr "\n\n%s"
 
-#: ../utils.py:228 ../yummain.py:123
-msgid ""
-"Another app is currently holding the yum lock; exiting as configured by "
-"exit_on_lock"
-msgstr ""
-"Egy másik alkalmazás használja a yum zárat, ezért kilépünk, ahogy be van "
-"állítva az exit_on_lock szerint"
-
-#: ../utils.py:287
+#: ../utils.py:326
 #, python-format
 msgid "PluginExit Error: %s"
 msgstr "Bővítmény-Összeomlási Hiba: %s"
 
-#: ../utils.py:290
+#: ../utils.py:329
 #, python-format
 msgid "Yum Error: %s"
 msgstr "Yum Hiba: %s"
 
-#: ../utils.py:342 ../yummain.py:150 ../yummain.py:189
+#: ../utils.py:387 ../yummain.py:147 ../yummain.py:186
 #, python-format
 msgid "Error: %s"
 msgstr "Hiba: %s"
 
-#: ../utils.py:346 ../yummain.py:194
+#: ../utils.py:391 ../yummain.py:191
 msgid " You could try using --skip-broken to work around the problem"
 msgstr " Próbálja meg használni --skip kapcsolót a probléma elkerüléséhez"
 
-#: ../utils.py:348 ../yummain.py:87
+#: ../utils.py:393 ../yummain.py:87
 msgid " You could try running: rpm -Va --nofiles --nodigest"
 msgstr " Próbálja meg futtatni: rpm -Va --nofiles --nodigest"
 
-#: ../utils.py:355 ../yummain.py:160 ../yummain.py:202
+#: ../utils.py:400 ../yummain.py:157 ../yummain.py:199
 #, python-format
 msgid "Unknown Error(s): Exit Code: %d:"
 msgstr "Ismeretlen Hiba: Kilépési Kód: %d:"
 
-#: ../utils.py:361 ../yummain.py:208
+#: ../utils.py:406 ../yummain.py:205
 msgid ""
 "\n"
 "Dependencies Resolved"
-msgstr ""
-"\n"
-"Függőségek Megtalálva"
+msgstr "\nFüggőségek Megtalálva"
 
-#: ../utils.py:376 ../yummain.py:234
+#: ../utils.py:422 ../yummain.py:237
 msgid "Complete!"
 msgstr "Kész!"
 
@@ -1517,7 +1652,7 @@ msgstr " Használat:\n"
 msgid "You need to be root to perform this command."
 msgstr "Csak a root felhasználó futtathatja ezt a parancsot."
 
-#: ../yumcommands.py:59
+#: ../yumcommands.py:67
 msgid ""
 "\n"
 "You have enabled checking of packages via GPG keys. This is a good thing. \n"
@@ -1532,584 +1667,650 @@ msgid ""
 "will install it for you.\n"
 "\n"
 "For more information contact your distribution or package provider.\n"
-msgstr ""
-"\n"
-"Ön engedélyezte a csomagok GPG kulcs alapú ellenőrzését. Ez egy jó dolog.\n"
-"Viszont nem található egy GPG kulcs sem, ezért le kéne tölteni\n"
-"a csomagokhoz tartozó kulcsokat, és telepíteni őket.\n"
-"A következő parancs segítségével végezheti ezt el:\n"
-"    rpm --import public.gpg.key\n"
-"\n"
-"\n"
-"Akár megadhatja a használni kívánt url címét a kulcsnak a tárolóknál\n"
-"a 'gpgkey' opció alatt, így a yum telepíteni fogja majd önnek.\n"
-"\n"
-"További információért lépjen kapcsolatba a disztribúciójával ill. a csomagszolgáltatójával.\n"
+msgstr "\nÖn engedélyezte a csomagok GPG kulcs alapú ellenőrzését. Ez egy jó dolog.\nViszont nem található egy GPG kulcs sem, ezért le kéne tölteni\na csomagokhoz tartozó kulcsokat, és telepíteni őket.\nA következő parancs segítségével végezheti ezt el:\n    rpm --import public.gpg.key\n\n\nAkár megadhatja a használni kívánt url címét a kulcsnak a tárolóknál\na 'gpgkey' opció alatt, így a yum telepíteni fogja majd önnek.\n\nTovábbi információért lépjen kapcsolatba a disztribúciójával ill. a csomagszolgáltatójával.\n"
 
-#: ../yumcommands.py:74
+#: ../yumcommands.py:82
 #, python-format
 msgid "Problem repository: %s"
-msgstr ""
+msgstr "Hibás tároló: %s"
 
-#: ../yumcommands.py:80
+#: ../yumcommands.py:96
 #, python-format
 msgid "Error: Need to pass a list of pkgs to %s"
 msgstr "Hiba: Meg kell adni a csomagok listáját a következőhöz: %s"
 
-#: ../yumcommands.py:86
+#: ../yumcommands.py:114
+#, python-format
+msgid "Error: Need at least two packages to %s"
+msgstr "Hiba: Legalább kettő csomag szükséges a következőhöz: %s"
+
+#: ../yumcommands.py:129
+#, python-format
+msgid "Error: Need to pass a repoid. and command to %s"
+msgstr "Hiba: Meg kell adni egy tároló azonosítót és további parancsokat a következőhöz: %s"
+
+#: ../yumcommands.py:136 ../yumcommands.py:142
+#, python-format
+msgid "Error: Need to pass a single valid repoid. to %s"
+msgstr "Hiba: Meg kell adni egy érvényes tárolóazonosítót a következőhöz: %s"
+
+#: ../yumcommands.py:147
+#, python-format
+msgid "Error: Repo %s is not enabled"
+msgstr "Hiba: A(z) %s tároló nincs engedélyezve"
+
+#: ../yumcommands.py:164
 msgid "Error: Need an item to match"
 msgstr "Hiba: egy elemnek legalább egyeznie kell"
 
-#: ../yumcommands.py:92
+#: ../yumcommands.py:178
 msgid "Error: Need a group or list of groups"
 msgstr "Hiba: Szükség van legalább egy csoportra"
 
-#: ../yumcommands.py:101
+#: ../yumcommands.py:195
 #, python-format
 msgid "Error: clean requires an option: %s"
 msgstr "Hiba: a clean parancsnak szüksége van egy opcióra: %s"
 
-#: ../yumcommands.py:106
+#: ../yumcommands.py:201
 #, python-format
 msgid "Error: invalid clean argument: %r"
 msgstr "Hiba: helytelen clean argumentum: %r"
 
-#: ../yumcommands.py:119
+#: ../yumcommands.py:216
 msgid "No argument to shell"
 msgstr "Nincs argumentum a héj felé"
 
-#: ../yumcommands.py:121
+#: ../yumcommands.py:218
 #, python-format
 msgid "Filename passed to shell: %s"
 msgstr "Fájlnév átadva a héjnak: %s"
 
-#: ../yumcommands.py:125
+#: ../yumcommands.py:222
 #, python-format
 msgid "File %s given as argument to shell does not exist."
 msgstr "A(z) %s nevű fájl nem létező argumentumot adott át a héjnak."
 
-#: ../yumcommands.py:131
+#: ../yumcommands.py:228
 msgid "Error: more than one file given as argument to shell."
 msgstr "Hiba: több, mint egy fájl lett átadva argumentumként a héjnak."
 
-#: ../yumcommands.py:148
+#: ../yumcommands.py:247
 msgid ""
 "There are no enabled repos.\n"
 " Run \"yum repolist all\" to see the repos you have.\n"
 " You can enable repos with yum-config-manager --enable <repo>"
-msgstr ""
-"Nincsenek engedélyezett tárolók.\n"
-"Futtassa a \"yum repolist all\" parancsot a tárolók listázásához.\n"
-"A következő paranccsal engedélyezhet tárolót:\n"
-" yum-config-manager --enable <repo>"
+msgstr "Nincsenek engedélyezett tárolók.\nFuttassa a \"yum repolist all\" parancsot a tárolók listázásához.\nA következő paranccsal engedélyezhet tárolót:\n yum-config-manager --enable <repo>"
 
-#: ../yumcommands.py:200
+#: ../yumcommands.py:383
 msgid "PACKAGE..."
 msgstr "CSOMAG..."
 
-#: ../yumcommands.py:203
+#: ../yumcommands.py:390
 msgid "Install a package or packages on your system"
 msgstr "Csomag(ok) telepítése a rendszerre"
 
-#: ../yumcommands.py:212
+#: ../yumcommands.py:421
 msgid "Setting up Install Process"
 msgstr "Telepítési folyamat megkezdése"
 
-#: ../yumcommands.py:223 ../yumcommands.py:245
+#: ../yumcommands.py:447 ../yumcommands.py:507
 msgid "[PACKAGE...]"
 msgstr "[CSOMAG...]"
 
-#: ../yumcommands.py:226
+#: ../yumcommands.py:454
 msgid "Update a package or packages on your system"
 msgstr "Csomag(ok) frissítése a rendszeren"
 
-#: ../yumcommands.py:234
+#: ../yumcommands.py:483
 msgid "Setting up Update Process"
 msgstr "Frissítési folyamat megkezdése"
 
-#: ../yumcommands.py:248
+#: ../yumcommands.py:514
 msgid "Synchronize installed packages to the latest available versions"
 msgstr "Telepített csomagok szinkronizálása a legfrissebb verzióhoz"
 
-#: ../yumcommands.py:256
+#: ../yumcommands.py:543
 msgid "Setting up Distribution Synchronization Process"
 msgstr "Disztribúció szinkronizálási folyamat megkezdése"
 
-#: ../yumcommands.py:299
+#: ../yumcommands.py:603
 msgid "Display details about a package or group of packages"
 msgstr "Részletek megjelenítése egy csomagról vagy egy csomagcsoportról"
 
-#: ../yumcommands.py:348
+#: ../yumcommands.py:672
 msgid "Installed Packages"
 msgstr "Telepített csomagok"
 
-#: ../yumcommands.py:356
+#: ../yumcommands.py:682
 msgid "Available Packages"
 msgstr "Elérhető csomagok"
 
-#: ../yumcommands.py:360
+#: ../yumcommands.py:687
 msgid "Extra Packages"
 msgstr "Extra csomagok"
 
-#: ../yumcommands.py:364
+#: ../yumcommands.py:691
 msgid "Updated Packages"
 msgstr "Frissített csomagok"
 
 #. This only happens in verbose mode
-#: ../yumcommands.py:372 ../yumcommands.py:379 ../yumcommands.py:667
+#: ../yumcommands.py:699 ../yumcommands.py:706 ../yumcommands.py:1539
 msgid "Obsoleting Packages"
 msgstr "Elavult csomagok"
 
-#: ../yumcommands.py:381
+#: ../yumcommands.py:708
 msgid "Recently Added Packages"
 msgstr "Nemrégiben hozzáadott csomagok"
 
-#: ../yumcommands.py:388
+#: ../yumcommands.py:715
 msgid "No matching Packages to list"
 msgstr "Nem található csomag"
 
-#: ../yumcommands.py:402
+#: ../yumcommands.py:766
 msgid "List a package or groups of packages"
 msgstr "Csomag vagy csomagcsoport listázása"
 
-#: ../yumcommands.py:414
+#: ../yumcommands.py:797
 msgid "Remove a package or packages from your system"
 msgstr "Csomag(ok) eltávolítása a rendszerből"
 
-#: ../yumcommands.py:421
+#: ../yumcommands.py:845
 msgid "Setting up Remove Process"
 msgstr "Eltávolítási folyamat megkezdése"
 
-#: ../yumcommands.py:435
+#: ../yumcommands.py:906
+msgid "Display, or use, the groups information"
+msgstr "Megjeleníti, vagy használja a csoportinformációkat"
+
+#: ../yumcommands.py:909
 msgid "Setting up Group Process"
 msgstr "Csoport folyamat megkezdése"
 
-#: ../yumcommands.py:441
+#: ../yumcommands.py:915
 msgid "No Groups on which to run command"
 msgstr "Nem található csoport, amin futtatható a parancs"
 
-#: ../yumcommands.py:454
-msgid "List available package groups"
-msgstr "Elérhető Csomagcsoportok listázása"
-
-#: ../yumcommands.py:474
-msgid "Install the packages in a group on your system"
-msgstr "Csoportban lévő csomagok telepítése"
+#: ../yumcommands.py:985
+#, python-format
+msgid "Invalid groups sub-command, use: %s."
+msgstr "Hibás csoport al-parancs, kérem, használja: %s"
 
-#: ../yumcommands.py:497
-msgid "Remove the packages in a group from your system"
-msgstr "Csoportban lévő csomagok eltávolítása"
+#: ../yumcommands.py:992
+msgid "There is no installed groups file."
+msgstr "Nincs telepített csoportfájl."
 
-#: ../yumcommands.py:525
-msgid "Display details about a package group"
-msgstr "Részletek megjelenítése egy csoportról"
+#: ../yumcommands.py:994
+msgid "You don't have access to the groups DB."
+msgstr "Önnek nincs hozzáférési jogosultsága a csoport DB-hez."
 
-#: ../yumcommands.py:550
+#: ../yumcommands.py:1256
 msgid "Generate the metadata cache"
 msgstr "Metaadat-gyorsítótár generálása"
 
-#: ../yumcommands.py:556
+#: ../yumcommands.py:1282
 msgid "Making cache files for all metadata files."
 msgstr "Gyorsítótár készítése az összes metaadat fájlhoz."
 
-#: ../yumcommands.py:557
+#: ../yumcommands.py:1283
 msgid "This may take a while depending on the speed of this computer"
 msgstr "Ez eltarthat egy darabig a számítógép sebességétől függően"
 
-#: ../yumcommands.py:578
+#: ../yumcommands.py:1312
 msgid "Metadata Cache Created"
 msgstr "Metaadat gyorsítótár létrehozva"
 
-#: ../yumcommands.py:592
+#: ../yumcommands.py:1350
 msgid "Remove cached data"
 msgstr "Gyorsítótárazott adat eltávolítása"
 
-#: ../yumcommands.py:613
+#: ../yumcommands.py:1417
 msgid "Find what package provides the given value"
 msgstr "Megtalálja, mely csomag tartalmazza a megadott értéket"
 
-#: ../yumcommands.py:633
+#: ../yumcommands.py:1485
 msgid "Check for available package updates"
 msgstr "Csomagfrissítések ellenőrzése"
 
-#: ../yumcommands.py:687
+#: ../yumcommands.py:1587
 msgid "Search package details for the given string"
 msgstr "Csomagrészletek keresése egy megadott szöveg alapján"
 
-#: ../yumcommands.py:693
+#: ../yumcommands.py:1613
 msgid "Searching Packages: "
 msgstr "Csomagok keresése: "
 
-#: ../yumcommands.py:710
+#: ../yumcommands.py:1666
 msgid "Update packages taking obsoletes into account"
 msgstr "Csomagok frissítése az elavultakat is számításba véve"
 
-#: ../yumcommands.py:719
+#: ../yumcommands.py:1696
 msgid "Setting up Upgrade Process"
 msgstr "Frissítési folyamat megkezdése"
 
-#: ../yumcommands.py:737
+#: ../yumcommands.py:1731
 msgid "Install a local RPM"
 msgstr "Helyi RPM telepítése"
 
-#: ../yumcommands.py:745
+#: ../yumcommands.py:1761
 msgid "Setting up Local Package Process"
 msgstr "Helyi csomagolási folyamat megkezdése"
 
-#: ../yumcommands.py:764
-msgid "Determine which package provides the given dependency"
-msgstr "Megállapítja, melyik csomag tartalmazza a megadott függőséget"
-
-#: ../yumcommands.py:767
+#: ../yumcommands.py:1825
 msgid "Searching Packages for Dependency:"
 msgstr "Csomagfüggőségek keresése:"
 
-#: ../yumcommands.py:781
+#: ../yumcommands.py:1867
 msgid "Run an interactive yum shell"
 msgstr "Interaktív yum shell futtatása"
 
-#: ../yumcommands.py:787
+#: ../yumcommands.py:1893
 msgid "Setting up Yum Shell"
 msgstr "Yum Shell indítása"
 
-#: ../yumcommands.py:805
+#: ../yumcommands.py:1936
 msgid "List a package's dependencies"
 msgstr "Egy csomag függőségeinek listázása"
 
-#: ../yumcommands.py:811
+#: ../yumcommands.py:1963
 msgid "Finding dependencies: "
 msgstr "Függőségek keresése: "
 
-#: ../yumcommands.py:827
+#: ../yumcommands.py:2005
 msgid "Display the configured software repositories"
 msgstr "Beállított szoftverforrások megjelenítése"
 
-#: ../yumcommands.py:893 ../yumcommands.py:894
+#: ../yumcommands.py:2094 ../yumcommands.py:2095
 msgid "enabled"
 msgstr "engedélyezett"
 
-#: ../yumcommands.py:920 ../yumcommands.py:921
+#: ../yumcommands.py:2121 ../yumcommands.py:2122
 msgid "disabled"
 msgstr "tiltott"
 
-#: ../yumcommands.py:937
+#: ../yumcommands.py:2137
 msgid "Repo-id      : "
 msgstr "Tároló-azonosító: "
 
-#: ../yumcommands.py:938
+#: ../yumcommands.py:2138
 msgid "Repo-name    : "
 msgstr "Tároló-név   : "
 
-#: ../yumcommands.py:941
+#: ../yumcommands.py:2141
 msgid "Repo-status  : "
 msgstr "Tároló-állapot: "
 
-#: ../yumcommands.py:944
+#: ../yumcommands.py:2144
 msgid "Repo-revision: "
 msgstr "Tároló-vizsgálat:"
 
-#: ../yumcommands.py:948
+#: ../yumcommands.py:2148
 msgid "Repo-tags    : "
 msgstr "Tároló-címkék : "
 
-#: ../yumcommands.py:954
+#: ../yumcommands.py:2154
 msgid "Repo-distro-tags: "
 msgstr "Tároló-diszt.-címkék: "
 
-#: ../yumcommands.py:959
+#: ../yumcommands.py:2159
 msgid "Repo-updated : "
 msgstr "Tároló-frissítve: "
 
-#: ../yumcommands.py:961
+#: ../yumcommands.py:2161
 msgid "Repo-pkgs    : "
 msgstr "Tároló-csomagok: "
 
-#: ../yumcommands.py:962
+#: ../yumcommands.py:2162
 msgid "Repo-size    : "
 msgstr "Tároló-méret  : "
 
-#: ../yumcommands.py:969 ../yumcommands.py:990
+#: ../yumcommands.py:2169 ../yumcommands.py:2190
 msgid "Repo-baseurl : "
 msgstr "Tároló-baseurl: "
 
-#: ../yumcommands.py:977
+#: ../yumcommands.py:2177
 msgid "Repo-metalink: "
 msgstr "Tároló-metalink: "
 
-#: ../yumcommands.py:981
+#: ../yumcommands.py:2181
 msgid "  Updated    : "
 msgstr "  Frissítve  : "
 
-#: ../yumcommands.py:984
+#: ../yumcommands.py:2184
 msgid "Repo-mirrors : "
 msgstr "Tároló-tükrök: "
 
-#: ../yumcommands.py:1000
+#: ../yumcommands.py:2199
 #, python-format
 msgid "Never (last: %s)"
 msgstr "Soha (utoljára: %s)"
 
-#: ../yumcommands.py:1002
+#: ../yumcommands.py:2201
 #, python-format
 msgid "Instant (last: %s)"
 msgstr "Most (utoljára: %s)"
 
-#: ../yumcommands.py:1005
+#: ../yumcommands.py:2204
 #, python-format
 msgid "%s second(s) (last: %s)"
 msgstr "%s másodperc (utoljára: %s)"
 
-#: ../yumcommands.py:1007
+#: ../yumcommands.py:2206
 msgid "Repo-expire  : "
 msgstr "Tároló-lejárat: "
 
-#: ../yumcommands.py:1010
+#: ../yumcommands.py:2209
 msgid "Repo-exclude : "
 msgstr "Tároló-kizárás:"
 
-#: ../yumcommands.py:1014
+#: ../yumcommands.py:2213
 msgid "Repo-include : "
 msgstr "Tároló-tartalmaz: "
 
-#: ../yumcommands.py:1018
+#: ../yumcommands.py:2217
 msgid "Repo-excluded: "
 msgstr "Tároló-kizárt: "
 
-#: ../yumcommands.py:1022
+#: ../yumcommands.py:2221
 msgid "Repo-filename: "
-msgstr ""
+msgstr "Tároló-fájlnév: "
 
 #. Work out the first (id) and last (enabled/disalbed/count),
 #. then chop the middle (name)...
-#: ../yumcommands.py:1032 ../yumcommands.py:1061
+#: ../yumcommands.py:2230 ../yumcommands.py:2259
 msgid "repo id"
 msgstr "tároló azon"
 
-#: ../yumcommands.py:1049 ../yumcommands.py:1050 ../yumcommands.py:1068
+#: ../yumcommands.py:2247 ../yumcommands.py:2248 ../yumcommands.py:2266
 msgid "status"
 msgstr "állapot"
 
-#: ../yumcommands.py:1062
+#: ../yumcommands.py:2260
 msgid "repo name"
 msgstr "tároló név"
 
-#: ../yumcommands.py:1099
+#: ../yumcommands.py:2332
 msgid "Display a helpful usage message"
 msgstr "Egy használati tipp mutatása"
 
-#: ../yumcommands.py:1133
+#: ../yumcommands.py:2374
 #, python-format
 msgid "No help available for %s"
 msgstr "Nincs súgó az alábbi témakörben: %s"
 
-#: ../yumcommands.py:1138
+#: ../yumcommands.py:2379
 msgid ""
 "\n"
 "\n"
 "aliases: "
-msgstr ""
-"\n"
-"\n"
-"alias-ok: "
+msgstr "\n\nalias-ok: "
 
-#: ../yumcommands.py:1140
+#: ../yumcommands.py:2381
 msgid ""
 "\n"
 "\n"
 "alias: "
-msgstr ""
-"\n"
-"\n"
-"alias: "
+msgstr "\n\nalias: "
 
-#: ../yumcommands.py:1168
+#: ../yumcommands.py:2466
 msgid "Setting up Reinstall Process"
 msgstr "Újratelepítő folyamat indítása"
 
-#: ../yumcommands.py:1176
+#: ../yumcommands.py:2478
 msgid "reinstall a package"
 msgstr "egy csomag újratelepítése"
 
-#: ../yumcommands.py:1195
+#: ../yumcommands.py:2541
 msgid "Setting up Downgrade Process"
 msgstr "Visszaállítási folyamat indítása"
 
-#: ../yumcommands.py:1202
+#: ../yumcommands.py:2552
 msgid "downgrade a package"
 msgstr "egy csomag visszaállítása"
 
-#: ../yumcommands.py:1216
+#: ../yumcommands.py:2591
 msgid "Display a version for the machine and/or available repos."
 msgstr "Verzió és/vagy elérhető tárolók megjelenítése"
 
-#: ../yumcommands.py:1255
+#: ../yumcommands.py:2643
 msgid " Yum version groups:"
 msgstr " Yum verzió csoportok:"
 
-#: ../yumcommands.py:1265
+#: ../yumcommands.py:2653
 msgid " Group   :"
 msgstr " Csoport   :"
 
-#: ../yumcommands.py:1266
+#: ../yumcommands.py:2654
 msgid " Packages:"
 msgstr "Csomagok:"
 
-#: ../yumcommands.py:1295
+#: ../yumcommands.py:2683
 msgid "Installed:"
 msgstr "Telepített:"
 
-#: ../yumcommands.py:1303
+#: ../yumcommands.py:2691
 msgid "Group-Installed:"
 msgstr "Telepített csoport:"
 
-#: ../yumcommands.py:1312
+#: ../yumcommands.py:2700
 msgid "Available:"
 msgstr "Elérhető:"
 
-#: ../yumcommands.py:1321
+#: ../yumcommands.py:2709
 msgid "Group-Available:"
 msgstr "Elérhető csoport:"
 
-#: ../yumcommands.py:1360
+#: ../yumcommands.py:2783
 msgid "Display, or use, the transaction history"
 msgstr "Korábbi tranzakciók használata vagy megjelenítése"
 
-#: ../yumcommands.py:1432
+#: ../yumcommands.py:2876 ../yumcommands.py:2880
+msgid "Transactions:"
+msgstr "Tranzakciók:"
+
+#: ../yumcommands.py:2881
+msgid "Begin time  :"
+msgstr "Kezdés ideje   :"
+
+#: ../yumcommands.py:2882
+msgid "End time    :"
+msgstr "Befejezés ideje:"
+
+#: ../yumcommands.py:2883
+msgid "Counts      :"
+msgstr "Összesen     :"
+
+#: ../yumcommands.py:2884
+msgid "  NEVRAC :"
+msgstr "  NEVRAC :"
+
+#: ../yumcommands.py:2885
+msgid "  NEVRA  :"
+msgstr "  NEVRA  :"
+
+#: ../yumcommands.py:2886
+msgid "  NA     :"
+msgstr "  NA     :"
+
+#: ../yumcommands.py:2887
+msgid "  NEVR   :"
+msgstr "  NEVR   :"
+
+#: ../yumcommands.py:2888
+msgid "  rpm DB :"
+msgstr "  rpm DB :"
+
+#: ../yumcommands.py:2889
+msgid "  yum DB :"
+msgstr "  yum DB :"
+
+#: ../yumcommands.py:2922
 #, python-format
 msgid "Invalid history sub-command, use: %s."
 msgstr "Helytelen alparancs az előzményekhez, használja a következőt: %s"
 
-#: ../yumcommands.py:1439
+#: ../yumcommands.py:2929
 msgid "You don't have access to the history DB."
 msgstr "Ön nem tudja elérni az előzmények adatbázisát."
 
-#: ../yumcommands.py:1487
+#: ../yumcommands.py:3036
 msgid "Check for problems in the rpmdb"
 msgstr "Hibák keresése az rpmdb-ben"
 
-#: ../yumcommands.py:1514
+#: ../yumcommands.py:3102
 msgid "load a saved transaction from filename"
 msgstr "egy elmentett tranzakció betöltése fájlnév alapján"
 
-#: ../yumcommands.py:1518
+#: ../yumcommands.py:3119
 msgid "No saved transaction file specified."
-msgstr ""
+msgstr "Nincs meghatározva az elmentett tranzakció fájlja."
 
-#: ../yumcommands.py:1522
+#: ../yumcommands.py:3123
 #, python-format
 msgid "loading transaction from %s"
-msgstr ""
+msgstr "tranzakciók betöltések a következőből: %s"
 
-#: ../yumcommands.py:1528
+#: ../yumcommands.py:3129
 #, python-format
 msgid "Transaction loaded from %s with %s members"
-msgstr ""
+msgstr "Tranzakció betöltve innen: %s, %s taggal"
+
+#: ../yumcommands.py:3169
+msgid "Simple way to swap packages, isntead of using shell"
+msgstr "Egyszerű módja a csomagok cserélésének a shell használata nélkül"
+
+#: ../yumcommands.py:3264
+msgid ""
+"Treat a repo. as a group of packages, so we can install/remove all of them"
+msgstr "Egy tároló csoportként való kezelése, ezáltal mindet tudjuk telepíteni, ill. eltávolítani"
+
+#: ../yumcommands.py:3341
+#, python-format
+msgid "%d package to update"
+msgid_plural "%d packages to update"
+msgstr[0] "%d csomag frissítendő"
+msgstr[1] "%d csomag frissítendő"
+
+#: ../yumcommands.py:3370
+#, python-format
+msgid "%d package to remove/reinstall"
+msgid_plural "%d packages to remove/reinstall"
+msgstr[0] "%d csomag eltávolítandó/újratelepítendő"
+msgstr[1] "%d csomag eltávolítandó/újratelepítendő"
+
+#: ../yumcommands.py:3413
+#, python-format
+msgid "%d package to remove/sync"
+msgid_plural "%d packages to remove/sync"
+msgstr[0] "%d csomag eltávolítandó/szinkronizálandó"
+msgstr[1] "%d csomag eltávolítandó/szinkronizálandó"
+
+#: ../yumcommands.py:3417
+#, python-format
+msgid "Not a valid sub-command of %s"
+msgstr "Nincs érvényes al-parancs a következőhöz: %s"
 
 #. This is mainly for PackageSackError from rpmdb.
 #: ../yummain.py:84
 #, python-format
 msgid " Yum checks failed: %s"
-msgstr ""
+msgstr " Yum ellenőrzés meghiúsult: %s"
 
-#: ../yummain.py:114
-msgid ""
-"Another app is currently holding the yum lock; waiting for it to exit..."
-msgstr ""
-"Egy másik alkalmazás jelenleg használja a yum zárolást; várakozás annak "
-"kilépésére..."
+#: ../yummain.py:98
+msgid "No read/execute access in current directory, moving to /"
+msgstr "Nincs olvasási/végrehajtási jogosultság a jelenlegi könyvtárban, továbblépés ide: /"
 
-#: ../yummain.py:120
-msgid "Can't create lock file; exiting"
-msgstr ""
+#: ../yummain.py:106
+msgid "No getcwd() access in current directory, moving to /"
+msgstr "Nincs getcwd() jogosultság a jelenlegi könyvtárban, továbblépés ide: /"
 
 #. Depsolve stage
-#: ../yummain.py:167
+#: ../yummain.py:164
 msgid "Resolving Dependencies"
 msgstr "Függőségek megállapítása"
 
-#: ../yummain.py:230
+#: ../yummain.py:227 ../yummain.py:235
 #, python-format
-msgid "Your transaction was saved, rerun it with: yum load-transaction %s"
-msgstr ""
+msgid ""
+"Your transaction was saved, rerun it with:\n"
+" yum load-transaction %s"
+msgstr "Az ön tranzakciója mentve, újra futtathatja a következővel:\n yum load-transaction %s"
 
-#: ../yummain.py:288
+#: ../yummain.py:312
 msgid ""
 "\n"
 "\n"
 "Exiting on user cancel."
-msgstr ""
-"\n"
-"\n"
-"Kilépés felhasználói megszakítás miatt."
+msgstr "\n\nKilépés felhasználói megszakítás miatt."
 
-#: ../yum/depsolve.py:84
+#: ../yum/depsolve.py:127
 msgid "doTsSetup() will go away in a future version of Yum.\n"
 msgstr "A doTsSetup() már nem lesz elérhető a későbbi Yum verziókban.\n"
 
-#: ../yum/depsolve.py:99
+#: ../yum/depsolve.py:143
 msgid "Setting up TransactionSets before config class is up"
 msgstr "Tranzakciók indítása a konfigurációs osztályok felállása előtt"
 
-#: ../yum/depsolve.py:153
+#: ../yum/depsolve.py:200
 #, python-format
 msgid "Invalid tsflag in config file: %s"
 msgstr "Hibás tsflag a következő konfigurációs fájlban: %s"
 
-#: ../yum/depsolve.py:164
+#: ../yum/depsolve.py:218
 #, python-format
 msgid "Searching pkgSack for dep: %s"
 msgstr "Keresés a pkgSack-ben függőség után: %s"
 
-#: ../yum/depsolve.py:207
+#: ../yum/depsolve.py:269
 #, python-format
 msgid "Member: %s"
 msgstr "Tag: %s"
 
-#: ../yum/depsolve.py:221 ../yum/depsolve.py:793
+#: ../yum/depsolve.py:283 ../yum/depsolve.py:937
 #, python-format
 msgid "%s converted to install"
 msgstr "A(z) %s át lett konvertálva telepítéshez"
 
-#: ../yum/depsolve.py:233
+#: ../yum/depsolve.py:295
 #, python-format
 msgid "Adding Package %s in mode %s"
 msgstr "A(z) %s nevű csomag hozzáadása %s módban"
 
-#: ../yum/depsolve.py:249
+#: ../yum/depsolve.py:311
 #, python-format
 msgid "Removing Package %s"
 msgstr "A következő csomag eltávolítása: %s"
 
-#: ../yum/depsolve.py:271
+#: ../yum/depsolve.py:333
 #, python-format
 msgid "%s requires: %s"
 msgstr "A(z) %s megköveteli a következőket: %s"
 
-#: ../yum/depsolve.py:312
+#: ../yum/depsolve.py:374
 #, python-format
 msgid "%s requires %s"
 msgstr "A(z) %s megköveteli a következőt: %s"
 
-#: ../yum/depsolve.py:339
+#: ../yum/depsolve.py:401
 msgid "Needed Require has already been looked up, cheating"
 msgstr "A szükséges dolognak már utánanéztek, lecsaljuk"
 
-#: ../yum/depsolve.py:349
+#: ../yum/depsolve.py:411
 #, python-format
 msgid "Needed Require is not a package name. Looking up: %s"
 msgstr "A megkövetelt dolog nem csomag, ezért utánanézünk: %s"
 
-#: ../yum/depsolve.py:357
+#: ../yum/depsolve.py:419
 #, python-format
 msgid "Potential Provider: %s"
 msgstr "Lehetséges Szolgáltató: %s"
 
-#: ../yum/depsolve.py:380
+#: ../yum/depsolve.py:442
 #, python-format
 msgid "Mode is %s for provider of %s: %s"
 msgstr "A mód %s a(z) %s kiszolgáló felé: %s"
 
-#: ../yum/depsolve.py:384
+#: ../yum/depsolve.py:446
 #, python-format
 msgid "Mode for pkg providing %s: %s"
 msgstr "A(z) %s nevű csomag szolgáltatásának módja: %s"
@@ -2117,1042 +2318,1140 @@ msgstr "A(z) %s nevű csomag szolgáltatásának módja: %s"
 #. the thing it needs is being updated or obsoleted away
 #. try to update the requiring package in hopes that all this problem goes
 #. away :(
-#: ../yum/depsolve.py:389 ../yum/depsolve.py:406
+#: ../yum/depsolve.py:451 ../yum/depsolve.py:486
 #, python-format
 msgid "Trying to update %s to resolve dep"
-msgstr ""
+msgstr "Kisérlet a(z) %s frissítésére a függőségek feloldásához"
 
-#: ../yum/depsolve.py:400 ../yum/depsolve.py:410
+#: ../yum/depsolve.py:480
 #, python-format
 msgid "No update paths found for %s. Failure!"
-msgstr ""
+msgstr "Nem található frissítési útvonal a következőhöz: %s."
 
-#: ../yum/depsolve.py:416
+#: ../yum/depsolve.py:491
+#, python-format
+msgid "No update paths found for %s. Failure due to requirement: %s!"
+msgstr "Nem található frissítési útvonal a következőhöz: %s. A hiba ezen követelményből ered: %s!"
+
+#: ../yum/depsolve.py:507
+#, python-format
+msgid "Update for %s. Doesn't fix requirement: %s!"
+msgstr "Frissítés a következőhöz: %s. Nem javítja a követelményt: %s!"
+
+#: ../yum/depsolve.py:514
 #, python-format
 msgid "TSINFO: %s package requiring %s marked as erase"
 msgstr "TSINFO: A(z) %s nevű csomaghoz szükséges a(z) %s törlése"
 
-#: ../yum/depsolve.py:429
+#: ../yum/depsolve.py:527
 #, python-format
 msgid "TSINFO: Obsoleting %s with %s to resolve dep."
 msgstr "TSINFO: %s lecserélése függőség miatt a következőre: %s."
 
-#: ../yum/depsolve.py:432
+#: ../yum/depsolve.py:530
 #, python-format
 msgid "TSINFO: Updating %s to resolve dep."
 msgstr "TSINFO: %s frissítése függőség miatt."
 
-#: ../yum/depsolve.py:440
+#: ../yum/depsolve.py:538
 #, python-format
 msgid "Cannot find an update path for dep for: %s"
 msgstr "Nem található frissítési útvonal a következőhöz: %s"
 
-#: ../yum/depsolve.py:471
+#: ../yum/depsolve.py:569
 #, python-format
 msgid "Quick matched %s to require for %s"
 msgstr "A(z) %s követelménye %s (gyors találattal)"
 
 #. is it already installed?
-#: ../yum/depsolve.py:513
+#: ../yum/depsolve.py:611
 #, python-format
 msgid "%s is in providing packages but it is already installed, removing."
-msgstr ""
-"%s az ellátandó csomagoknál található, bár telepítve van, ezért "
-"eltávolítjuk."
+msgstr "%s az ellátandó csomagoknál található, bár telepítve van, ezért eltávolítjuk."
 
-#: ../yum/depsolve.py:529
+#: ../yum/depsolve.py:627
 #, python-format
 msgid "Potential resolving package %s has newer instance in ts."
-msgstr ""
-"A lehetséges %s nevű csomag már újabb verzióval szerepel a tranzakcióban."
+msgstr "A lehetséges %s nevű csomag már újabb verzióval szerepel a tranzakcióban."
 
-#: ../yum/depsolve.py:540
+#: ../yum/depsolve.py:638
 #, python-format
 msgid "Potential resolving package %s has newer instance installed."
 msgstr "A lehetséges %s nevű csomagból már újabb verzió van telepítve."
 
-#: ../yum/depsolve.py:558
+#: ../yum/depsolve.py:656
 #, python-format
 msgid "%s already in ts, skipping this one"
 msgstr "A(z) %s már szerepel a tranzakcióban, kihagyás"
 
-#: ../yum/depsolve.py:607
+#: ../yum/depsolve.py:705
 #, python-format
 msgid "TSINFO: Marking %s as update for %s"
 msgstr "TSINFO: %s bejelölése a(z) %s frissítéseként"
 
-#: ../yum/depsolve.py:616
+#: ../yum/depsolve.py:714
 #, python-format
 msgid "TSINFO: Marking %s as install for %s"
 msgstr "TSINFO: A(z) %s telepítésre való bejelölése a következőhöz: %s"
 
-#: ../yum/depsolve.py:727 ../yum/depsolve.py:819
+#: ../yum/depsolve.py:849 ../yum/depsolve.py:967
 msgid "Success - empty transaction"
 msgstr "Siker - üres tranzakció"
 
-#: ../yum/depsolve.py:767 ../yum/depsolve.py:783
+#: ../yum/depsolve.py:889 ../yum/depsolve.py:927
 msgid "Restarting Loop"
 msgstr "Folyamat újraindítása"
 
-#: ../yum/depsolve.py:799
+#: ../yum/depsolve.py:947
 msgid "Dependency Process ending"
 msgstr "Függőségkezelő folyamat végetért"
 
-#: ../yum/depsolve.py:821
+#: ../yum/depsolve.py:969
 msgid "Success - deps resolved"
 msgstr "Siker - függőségek megoldva"
 
-#: ../yum/depsolve.py:845
+#: ../yum/depsolve.py:993
 #, python-format
 msgid "Checking deps for %s"
 msgstr "Függőségek keresése a következőre: %s"
 
-#: ../yum/depsolve.py:931
+#: ../yum/depsolve.py:1082
 #, python-format
 msgid "looking for %s as a requirement of %s"
 msgstr "A(z) %s keresése, mint a(z) %s szükséglete."
 
-#: ../yum/depsolve.py:1169
+#: ../yum/depsolve.py:1349
 #, python-format
 msgid "Running compare_providers() for %s"
 msgstr "A compare_providers() parancs futtatása a következőhöz: %s"
 
-#: ../yum/depsolve.py:1196 ../yum/depsolve.py:1202
+#: ../yum/depsolve.py:1376 ../yum/depsolve.py:1382
 #, python-format
 msgid "better arch in po %s"
 msgstr "Jobb architektúra a következőben: %s"
 
-#: ../yum/depsolve.py:1298
+#: ../yum/depsolve.py:1496
 #, python-format
 msgid "%s obsoletes %s"
 msgstr "A(z) %s már újabb, mint a(z) %s"
 
-#: ../yum/depsolve.py:1310
+#: ../yum/depsolve.py:1508
 #, python-format
 msgid ""
 "archdist compared %s to %s on %s\n"
 "  Winner: %s"
-msgstr ""
-"archdist osszehasonlítva %s a következőhöz: %s a következőn: %s\n"
-"  Nyertes: %s"
+msgstr "archdist osszehasonlítva %s a következőhöz: %s a következőn: %s\n  Nyertes: %s"
 
-#: ../yum/depsolve.py:1318
+#: ../yum/depsolve.py:1516
 #, python-format
 msgid "common sourcerpm %s and %s"
 msgstr "gyakori forrásrpm %s és %s"
 
-#: ../yum/depsolve.py:1322
+#: ../yum/depsolve.py:1520
 #, python-format
 msgid "base package %s is installed for %s"
 msgstr "legjobb %s nevű csomag telepítve van a következőhöz: %s"
 
-#: ../yum/depsolve.py:1328
+#: ../yum/depsolve.py:1526
 #, python-format
 msgid "common prefix of %s between %s and %s"
 msgstr "gyakori előtag a következőre: %s, %s és %s között"
 
-#: ../yum/depsolve.py:1359
+#: ../yum/depsolve.py:1543
 #, python-format
-msgid "requires minimal: %d"
-msgstr "minimum szükséges: %d"
+msgid "provides vercmp: %s"
+msgstr "provides vercmp: %s"
 
-#: ../yum/depsolve.py:1363
+#: ../yum/depsolve.py:1547 ../yum/depsolve.py:1581
 #, python-format
 msgid " Winner: %s"
 msgstr " Nyertes: %s"
 
-#: ../yum/depsolve.py:1368
+#: ../yum/depsolve.py:1577
+#, python-format
+msgid "requires minimal: %d"
+msgstr "minimum szükséges: %d"
+
+#: ../yum/depsolve.py:1586
 #, python-format
 msgid " Loser(with %d): %s"
 msgstr " Vesztes(ezzel: %d): %s"
 
-#: ../yum/depsolve.py:1384
+#: ../yum/depsolve.py:1602
 #, python-format
 msgid "Best Order: %s"
 msgstr "Legjobb sorrend: %s"
 
-#: ../yum/__init__.py:234
+#: ../yum/__init__.py:274
 msgid "doConfigSetup() will go away in a future version of Yum.\n"
 msgstr "A doConfigSetup() már nem lesz elérhető a későbbi Yum verziókban.\n"
 
-#: ../yum/__init__.py:482
+#: ../yum/__init__.py:553
+#, python-format
+msgid "Skipping unreadable repository %s"
+msgstr "Nem olvasható tároló kihagyása: %s"
+
+#: ../yum/__init__.py:572
 #, python-format
 msgid "Repository %r: Error parsing config: %s"
 msgstr "%r tároló: Hiba a konfigurációs fájl elemzése során: %s"
 
-#: ../yum/__init__.py:488
+#: ../yum/__init__.py:578
 #, python-format
 msgid "Repository %r is missing name in configuration, using id"
-msgstr ""
-"A %r tárolónak hiányzik a neve a konfigurációban, ezért azonosítót "
-"használunk."
+msgstr "A %r tárolónak hiányzik a neve a konfigurációban, ezért azonosítót használunk."
 
-#: ../yum/__init__.py:526
+#: ../yum/__init__.py:618
 msgid "plugins already initialised"
 msgstr "a bővítmények már betöltődtek"
 
-#: ../yum/__init__.py:533
+#: ../yum/__init__.py:627
 msgid "doRpmDBSetup() will go away in a future version of Yum.\n"
 msgstr "A doRpmDBSetup() már nem lesz elérhető a későbbi Yum verziókban.\n"
 
-#: ../yum/__init__.py:544
+#: ../yum/__init__.py:638
 msgid "Reading Local RPMDB"
 msgstr "Helyi RPMDB beolvasása"
 
-#: ../yum/__init__.py:567
+#: ../yum/__init__.py:668
 msgid "doRepoSetup() will go away in a future version of Yum.\n"
 msgstr "A doRepoSetup() már nem lesz elérhető a későbbi Yum verziókban.\n"
 
-#: ../yum/__init__.py:630
+#: ../yum/__init__.py:722
 msgid "doSackSetup() will go away in a future version of Yum.\n"
 msgstr "A doSackSetup() már nem lesz elérhető a későbbi Yum verziókban.\n"
 
-#: ../yum/__init__.py:660
+#: ../yum/__init__.py:752
 msgid "Setting up Package Sacks"
 msgstr "Tárolók csomagjainak előkészítése"
 
-#: ../yum/__init__.py:705
+#: ../yum/__init__.py:797
 #, python-format
 msgid "repo object for repo %s lacks a _resetSack method\n"
 msgstr "A következő tárolóobjektumból hiányzik a _resetSack metódus: %s\n"
 
-#: ../yum/__init__.py:706
+#: ../yum/__init__.py:798
 msgid "therefore this repo cannot be reset.\n"
 msgstr "ezért ezt a tárolót nem lehet visszaállítani.\n"
 
-#: ../yum/__init__.py:711
+#: ../yum/__init__.py:806
 msgid "doUpdateSetup() will go away in a future version of Yum.\n"
 msgstr "A doUpdateSetup() már nem lesz elérhető a későbbi Yum verziókban.\n"
 
-#: ../yum/__init__.py:723
+#: ../yum/__init__.py:818
 msgid "Building updates object"
 msgstr "Frissítési objektum létrehozása"
 
-#: ../yum/__init__.py:765
+#: ../yum/__init__.py:862
 msgid "doGroupSetup() will go away in a future version of Yum.\n"
 msgstr "A doGroupSetup() már nem lesz elérhető a későbbi Yum verziókban.\n"
 
-#: ../yum/__init__.py:790
+#: ../yum/__init__.py:887
 msgid "Getting group metadata"
 msgstr "Csoport metaadatok beszerzése"
 
-#: ../yum/__init__.py:816
+#: ../yum/__init__.py:915
 #, python-format
 msgid "Adding group file from repository: %s"
 msgstr "Csoportfájl hozzáadása a következő tárolóból: %s"
 
-#: ../yum/__init__.py:827
+#: ../yum/__init__.py:918
+#, python-format
+msgid "Failed to retrieve group file for repository: %s"
+msgstr "Nem sikerült megszerezni a csoport fájlt a tárolóhoz: %s"
+
+#: ../yum/__init__.py:924
 #, python-format
 msgid "Failed to add groups file for repository: %s - %s"
 msgstr "Sikertelen a csoportfájl hozzáadása a következő tárolónál: %s - %s"
 
-#: ../yum/__init__.py:833
+#: ../yum/__init__.py:930
 msgid "No Groups Available in any repository"
 msgstr "Nincsenek elérhető csoportok egy tárolóban sem"
 
-#: ../yum/__init__.py:845
+#: ../yum/__init__.py:945
 msgid "Getting pkgtags metadata"
 msgstr "pkgtags metaadatok beszerzése"
 
-#: ../yum/__init__.py:855
+#: ../yum/__init__.py:955
 #, python-format
 msgid "Adding tags from repository: %s"
 msgstr "Címkék hozzáadása a következő tárolóból: %s"
 
-#: ../yum/__init__.py:866
+#: ../yum/__init__.py:966
 #, python-format
 msgid "Failed to add Pkg Tags for repository: %s - %s"
 msgstr "Sikertelen a címkék hozzáadása a következő tárolóból:%s - %s"
 
-#: ../yum/__init__.py:944
+#: ../yum/__init__.py:1059
 msgid "Importing additional filelist information"
 msgstr "További fájllista információk importálása"
 
-#: ../yum/__init__.py:958
+#: ../yum/__init__.py:1077
 #, python-format
 msgid "The program %s%s%s is found in the yum-utils package."
 msgstr "A következő program megtalálható a yum-utils csomagban: %s%s%s"
 
-#: ../yum/__init__.py:966
+#: ../yum/__init__.py:1094
 msgid ""
 "There are unfinished transactions remaining. You might consider running yum-"
 "complete-transaction first to finish them."
-msgstr ""
-"Félbehagyott tranzakciók találhatóak. Ha be kívánja azokat fejezni, "
-"használja a yum-complete-transaction parancsot."
+msgstr "Félbehagyott tranzakciók találhatóak. Ha be kívánja azokat fejezni, használja a yum-complete-transaction parancsot."
 
-#: ../yum/__init__.py:983
+#: ../yum/__init__.py:1111
 msgid "--> Finding unneeded leftover dependencies"
-msgstr ""
+msgstr "--> Szükségtelen függőségek keresése"
 
-#: ../yum/__init__.py:1041
+#: ../yum/__init__.py:1169
 #, python-format
 msgid "Protected multilib versions: %s != %s"
-msgstr ""
+msgstr "Védett multilib verzió: %s != %s"
 
-#: ../yum/__init__.py:1096
+#. People are confused about protected mutilib ... so give
+#. them a nicer message.
+#: ../yum/__init__.py:1173
+#, python-format
+msgid ""
+" Multilib version problems found. This often means that the root\n"
+"cause is something else and multilib version checking is just\n"
+"pointing out that there is a problem. Eg.:\n"
+"\n"
+"  1. You have an upgrade for %(name)s which is missing some\n"
+"     dependency that another package requires. Yum is trying to\n"
+"     solve this by installing an older version of %(name)s of the\n"
+"     different architecture. If you exclude the bad architecture\n"
+"     yum will tell you what the root cause is (which package\n"
+"     requires what). You can try redoing the upgrade with\n"
+"     --exclude %(name)s.otherarch ... this should give you an error\n"
+"     message showing the root cause of the problem.\n"
+"\n"
+"  2. You have multiple architectures of %(name)s installed, but\n"
+"     yum can only see an upgrade for one of those arcitectures.\n"
+"     If you don't want/need both architectures anymore then you\n"
+"     can remove the one with the missing update and everything\n"
+"     will work.\n"
+"\n"
+"  3. You have duplicate versions of %(name)s installed already.\n"
+"     You can use \"yum check\" to get yum show these errors.\n"
+"\n"
+"...you can also use --setopt=protected_multilib=false to remove\n"
+"this checking, however this is almost never the correct thing to\n"
+"do as something else is very likely to go wrong (often causing\n"
+"much more problems).\n"
+"\n"
+msgstr "Multilib verzióból adódó hiba található. Ez gyakran azt jeleneti, hogy\na probléma gyökere máshol van, a multilib verzió ellenőrzés csak\nrámutat hiba létezésére. Pl.:\n\n1. Egy frissítés a(z) %(name)s csomaghoz nem talál egy függőséget,\namit egy másik megkövetel. A yum ezt a(z) %(name)s csomag régebbi\nváltozatának a telepítésével próbálja orvosolni az eltérő architektúrához.\nHa ön kizárja a rossz architektúrát, a yum meg fogja mondani a hiba\ngyökerét (mely csomag mit követel meg). Újra megpróbálhatja a telepítést\naz --exclude %(name)s.otherarch ... paraméterekkel. Ezzel egy\nhibaüzenethez jutunk el, ami rámutat a hiba gyökerére.\n\n2. Önnek több %(name)s nevű csomagja telepítve van különböző\narchitektúrákkal, viszont a yum csak az egyiknek a frissítését látja.\nHa önnek már nincs szüksége mindegyik architektúrára, akkor\neltávolíthatja az egyiket, melynél hiányoznak a frissítések, így\nminden működni fog újra.\n\n3. Önnek több verzióval van telepítve a(z) %(name)s nevű csomagja.\nHasználhatja a \"yum check\" parancsot ezen hibák megjelenítésére.\n\n...továbbá használhatja a --setopt=protected_multilib=false kapcsolót\nezen ellenőrzés kihagyásához, habár ez szinte sosem javítja meg a hibás\nműködést, inkább csak tovább ront a helyzeten.\n\n"
+
+#: ../yum/__init__.py:1257
 #, python-format
 msgid "Trying to remove \"%s\", which is protected"
 msgstr "Próbálkozás a(z) \"%s\" eltávolításával, ami védett"
 
-#: ../yum/__init__.py:1217
+#: ../yum/__init__.py:1378
 msgid ""
 "\n"
 "Packages skipped because of dependency problems:"
-msgstr ""
-"\n"
-"Az alábbi csomagok ki lettek hagyva függőségi problémák miatt:"
+msgstr "\nAz alábbi csomagok ki lettek hagyva függőségi problémák miatt:"
 
-#: ../yum/__init__.py:1221
+#: ../yum/__init__.py:1382
 #, python-format
 msgid "    %s from %s"
 msgstr "    %s a következőből: %s"
 
 #. FIXME: _N()
-#: ../yum/__init__.py:1391
+#: ../yum/__init__.py:1556
 #, python-format
 msgid "** Found %d pre-existing rpmdb problem(s), 'yum check' output follows:"
-msgstr ""
-"** %d már meglévő rpmdb probléma található, 'yum check' kimenet pedig a "
-"következő:"
+msgstr "** %d már meglévő rpmdb probléma található, 'yum check' kimenet pedig a következő:"
 
-#: ../yum/__init__.py:1395
+#: ../yum/__init__.py:1560
 msgid "Warning: RPMDB altered outside of yum."
 msgstr "Figyelem: RPMDB a yumon kívülről lett megváltoztatva."
 
-#: ../yum/__init__.py:1407
+#: ../yum/__init__.py:1572
 msgid "missing requires"
 msgstr "követelmények hiányoznak"
 
-#: ../yum/__init__.py:1408
+#: ../yum/__init__.py:1573
 msgid "installed conflict"
 msgstr "konfliktusokat teremtett"
 
-#: ../yum/__init__.py:1525
+#: ../yum/__init__.py:1709
 msgid ""
 "Warning: scriptlet or other non-fatal errors occurred during transaction."
-msgstr ""
-"Figyelem: scriptlet vagy egyéb nem végzetes hiba adódott a tranzakció során."
+msgstr "Figyelem: scriptlet vagy egyéb nem végzetes hiba adódott a tranzakció során."
 
-#: ../yum/__init__.py:1535
+#: ../yum/__init__.py:1719
 msgid "Transaction couldn't start:"
 msgstr "A tranzakció nem indítható:"
 
 #. should this be 'to_unicoded'?
-#: ../yum/__init__.py:1538
+#: ../yum/__init__.py:1722
 msgid "Could not run transaction."
 msgstr "Tranzakció futtatása meghiúsult."
 
-#: ../yum/__init__.py:1552
+#: ../yum/__init__.py:1736
 #, python-format
 msgid "Failed to remove transaction file %s"
 msgstr "A következő tranzakció-fájl eltávolítása meghiúsult: %s"
 
 #. maybe a file log here, too
 #. but raising an exception is not going to do any good
-#: ../yum/__init__.py:1590
+#: ../yum/__init__.py:1792
 #, python-format
 msgid "%s was supposed to be installed but is not!"
-msgstr ""
-"A(z) %s nevű csomagnak már telepítve kellett volna lennie, habár nincs."
+msgstr "A(z) %s nevű csomagnak már telepítve kellett volna lennie, habár nincs."
 
 #. maybe a file log here, too
 #. but raising an exception is not going to do any good
-#: ../yum/__init__.py:1651
+#. Note: This actually triggers atm. because we can't
+#. always find the erased txmbr to set it when
+#. we should.
+#: ../yum/__init__.py:1869
 #, python-format
 msgid "%s was supposed to be removed but is not!"
-msgstr ""
-"A(z) %s nevű csomagok már el kellett volna távolítani, habár ez még nem "
-"történt meg."
-
-#: ../yum/__init__.py:1768
-#, python-format
-msgid "Could not open lock %s: %s"
-msgstr "A zárolás feloldása nem lehetséges: %s: %s"
-
-#. Whoa. What the heck happened?
-#: ../yum/__init__.py:1785
-#, python-format
-msgid "Unable to check if PID %s is active"
-msgstr "Nem lehetséges az ellenőrzés, ha a %s PID aktív"
+msgstr "A(z) %s nevű csomagok már el kellett volna távolítani, habár ez még nem történt meg."
 
 #. Another copy seems to be running.
-#: ../yum/__init__.py:1789
+#: ../yum/__init__.py:2004
 #, python-format
 msgid "Existing lock %s: another copy is running as pid %s."
 msgstr "Már le van zárva %s: egy másik példány fut a következő pid-vel: %s"
 
 #. Whoa. What the heck happened?
-#: ../yum/__init__.py:1830
+#: ../yum/__init__.py:2053
 #, python-format
 msgid "Could not create lock at %s: %s "
 msgstr "Nem zárható le a következő: %s: %s "
 
-#: ../yum/__init__.py:1875
+#: ../yum/__init__.py:2065
+#, python-format
+msgid "Could not open lock %s: %s"
+msgstr "A zárolás feloldása nem lehetséges: %s: %s"
+
+#. The pid doesn't exist
+#. Whoa. What the heck happened?
+#: ../yum/__init__.py:2082
+#, python-format
+msgid "Unable to check if PID %s is active"
+msgstr "Nem lehetséges az ellenőrzés, ha a %s PID aktív"
+
+#: ../yum/__init__.py:2132
 #, python-format
 msgid ""
 "Package does not match intended download. Suggestion: run yum "
 "--enablerepo=%s clean metadata"
-msgstr ""
-"A csomag nem egyezik a várt letöltéssel. Ajánlott futtatni az alábbi parancsot:\n"
-"yum --enablerepo=%s clean metadata"
+msgstr "A csomag nem egyezik a várt letöltéssel. Ajánlott futtatni az alábbi parancsot:\nyum --enablerepo=%s clean metadata"
 
-#: ../yum/__init__.py:1891
+#: ../yum/__init__.py:2155
 msgid "Could not perform checksum"
 msgstr "Ellenőrzőösszeg végrehajtása nem lehetséges"
 
-#: ../yum/__init__.py:1894
+#: ../yum/__init__.py:2158
 msgid "Package does not match checksum"
 msgstr "A csomag nem egyezik az ellenőrzőösszeggel"
 
-#: ../yum/__init__.py:1946
+#: ../yum/__init__.py:2222
 #, python-format
 msgid "package fails checksum but caching is enabled for %s"
-msgstr ""
-"A csomag nem egyezik az ellenőrzőösszeggel, de a gyorsítótárazás "
-"engedélyezett a következőhöz: %s"
+msgstr "A csomag nem egyezik az ellenőrzőösszeggel, de a gyorsítótárazás engedélyezett a következőhöz: %s"
 
-#: ../yum/__init__.py:1949 ../yum/__init__.py:1979
+#: ../yum/__init__.py:2225 ../yum/__init__.py:2268
 #, python-format
 msgid "using local copy of %s"
 msgstr "helyi másolat használata a következőhöz: %s"
 
-#: ../yum/__init__.py:1991
-#, python-format
-msgid ""
-"Insufficient space in download directory %s\n"
-"    * free   %s\n"
-"    * needed %s"
-msgstr ""
-"Nincs elég hely a letöltési könyvtárban: %s\n"
-"    * szabad    %s\n"
-"    * szükséges %s"
+#. caller handles errors
+#: ../yum/__init__.py:2342
+msgid "exiting because --downloadonly specified"
+msgstr "kilépés a --downloadonly kapcsoló miatt"
 
-#: ../yum/__init__.py:2052
+#: ../yum/__init__.py:2371
 msgid "Header is not complete."
 msgstr "A fejléc nem teljes."
 
-#: ../yum/__init__.py:2089
+#: ../yum/__init__.py:2411
 #, python-format
 msgid ""
 "Header not in local cache and caching-only mode enabled. Cannot download %s"
-msgstr ""
-"A fejléc nem található meg a helyi gyorsítótárban és a \"csak "
-"gyorsítótárazás\" mód be van kapcsolva. Nem tölthető le a következő: %s"
+msgstr "A fejléc nem található meg a helyi gyorsítótárban és a \"csak gyorsítótárazás\" mód be van kapcsolva. Nem tölthető le a következő: %s"
 
-#: ../yum/__init__.py:2147
+#: ../yum/__init__.py:2471
 #, python-format
 msgid "Public key for %s is not installed"
 msgstr "A publikus kulcs nincs telepítve a következőhöz: %s"
 
-#: ../yum/__init__.py:2151
+#: ../yum/__init__.py:2475
 #, python-format
 msgid "Problem opening package %s"
 msgstr "Hiba a következő csomag megnyitásánál: %s"
 
-#: ../yum/__init__.py:2159
+#: ../yum/__init__.py:2483
 #, python-format
 msgid "Public key for %s is not trusted"
 msgstr "A publikus kulcs nem megbízható a következőhöz: %s"
 
-#: ../yum/__init__.py:2163
+#: ../yum/__init__.py:2487
 #, python-format
 msgid "Package %s is not signed"
 msgstr "A következő csomag nincs aláírva: %s"
 
-#: ../yum/__init__.py:2202
+#: ../yum/__init__.py:2529
 #, python-format
 msgid "Cannot remove %s"
 msgstr "Nem távolítható el: %s"
 
-#: ../yum/__init__.py:2206
+#: ../yum/__init__.py:2533
 #, python-format
 msgid "%s removed"
 msgstr "%s eltávolítva"
 
-#: ../yum/__init__.py:2252
+#: ../yum/__init__.py:2594
 #, python-format
 msgid "Cannot remove %s file %s"
 msgstr "Nem távolítható el a %s nevű fájl: %s"
 
-#: ../yum/__init__.py:2256
+#: ../yum/__init__.py:2598
 #, python-format
 msgid "%s file %s removed"
 msgstr "%s fájl %s eltávolította"
 
-#: ../yum/__init__.py:2258
+#: ../yum/__init__.py:2600
 #, python-format
-msgid "%d %s files removed"
-msgstr "%d %s fájl eltávolítva"
+msgid "%d %s file removed"
+msgid_plural "%d %s files removed"
+msgstr[0] "%d %s fájl eltávolítva"
+msgstr[1] "%d %s fájl eltávolítva"
 
-#: ../yum/__init__.py:2327
+#: ../yum/__init__.py:2712
 #, python-format
 msgid "More than one identical match in sack for %s"
 msgstr "Több, mint egy azonos találat a tömbben a következőre: %s"
 
-#: ../yum/__init__.py:2333
+#: ../yum/__init__.py:2718
 #, python-format
 msgid "Nothing matches %s.%s %s:%s-%s from update"
 msgstr "Semmi sem egyezik a következővel: %s.%s %s:%s-%s a frissítésből"
 
-#: ../yum/__init__.py:2632
+#: ../yum/__init__.py:3096
 msgid ""
 "searchPackages() will go away in a future version of Yum."
 "                      Use searchGenerator() instead. \n"
-msgstr ""
-"A searchPackages() parancs már nem lesz elérhető a későbbi Yum verziókban.\n"
-"Kérjük, inkább használja a searchGenerator() parancsot helyette.\n"
+msgstr "A searchPackages() parancs már nem lesz elérhető a későbbi Yum verziókban.\nKérjük, inkább használja a searchGenerator() parancsot helyette.\n"
 
-#: ../yum/__init__.py:2675
+#: ../yum/__init__.py:3149
 #, python-format
-msgid "Searching %d packages"
-msgstr "%d csomag keresése"
+msgid "Searching %d package"
+msgid_plural "Searching %d packages"
+msgstr[0] "%d csomag keresése"
+msgstr[1] "%d csomag keresése"
 
-#: ../yum/__init__.py:2679
+#: ../yum/__init__.py:3153
 #, python-format
 msgid "searching package %s"
 msgstr "A következő csomag keresése: %s"
 
-#: ../yum/__init__.py:2691
+#: ../yum/__init__.py:3165
 msgid "searching in file entries"
 msgstr "Keresés fájlbejegyzésekben"
 
-#: ../yum/__init__.py:2698
+#: ../yum/__init__.py:3172
 msgid "searching in provides entries"
 msgstr "Keresés ellátási bejegyzésekben"
 
-#: ../yum/__init__.py:2777
+#: ../yum/__init__.py:3369
 msgid "No group data available for configured repositories"
 msgstr "Nincsenek elérhető csoportadatok a beállított tárolókban"
 
-#: ../yum/__init__.py:2808 ../yum/__init__.py:2827 ../yum/__init__.py:2858
-#: ../yum/__init__.py:2864 ../yum/__init__.py:2953 ../yum/__init__.py:2957
-#: ../yum/__init__.py:3339
+#: ../yum/__init__.py:3466 ../yum/__init__.py:3500 ../yum/__init__.py:3576
+#: ../yum/__init__.py:3582 ../yum/__init__.py:3719 ../yum/__init__.py:3723
+#: ../yum/__init__.py:4298
 #, python-format
 msgid "No Group named %s exists"
 msgstr "Nincs %s nevű csoport"
 
-#: ../yum/__init__.py:2839 ../yum/__init__.py:2973
+#: ../yum/__init__.py:3512 ../yum/__init__.py:3740
 #, python-format
 msgid "package %s was not marked in group %s"
 msgstr "A(z) %s nevű csomag nem lett bejelölve a következő csoportban: %s"
 
-#: ../yum/__init__.py:2887
+#. (upgrade and igroup_data[pkg] == 'available')):
+#: ../yum/__init__.py:3622
+#, python-format
+msgid "Skipping package %s from group %s"
+msgstr "%s csomag átugrása a(z) %s csoportból"
+
+#: ../yum/__init__.py:3628
 #, python-format
 msgid "Adding package %s from group %s"
 msgstr "A(z) %s nevű csomag hozzáadás a következő csoportból: %s"
 
-#: ../yum/__init__.py:2891
+#: ../yum/__init__.py:3649
 #, python-format
 msgid "No package named %s available to be installed"
 msgstr "Nincs telepíthető csomag %s néven."
 
-#: ../yum/__init__.py:2941
+#: ../yum/__init__.py:3702
 #, python-format
-msgid "Warning: Group %s does not have any packages."
-msgstr ""
+msgid "Warning: Group %s does not have any packages to install."
+msgstr "Figyelem: A(z) %s nevű csoport nem tartalmaz telepíthető csomagokat."
 
-#: ../yum/__init__.py:2943
+#: ../yum/__init__.py:3704
 #, python-format
 msgid "Group %s does have %u conditional packages, which may get installed."
-msgstr ""
+msgstr "A(z) %s csoportnak %u feltételes csomagja van, amelyek lehet, hogy telepítésre kerülnek."
+
+#: ../yum/__init__.py:3794
+#, python-format
+msgid "Skipping group %s from environment %s"
+msgstr "A(z) %s csoport kihagyása a következő környezetből: %s"
 
 #. This can happen due to excludes after .up has
 #. happened.
-#: ../yum/__init__.py:3002
+#: ../yum/__init__.py:3858
 #, python-format
 msgid "Package tuple %s could not be found in packagesack"
 msgstr "A csomagtömbben nem található leíró a következőre: %s"
 
-#: ../yum/__init__.py:3022
+#: ../yum/__init__.py:3886
 #, python-format
 msgid "Package tuple %s could not be found in rpmdb"
 msgstr "Az rpmdb nem tartalmaz csomagleírót a következőre: %s"
 
-#: ../yum/__init__.py:3079 ../yum/__init__.py:3129
+#: ../yum/__init__.py:3949 ../yum/__init__.py:4012
 #, python-format
 msgid "Invalid version flag from: %s"
-msgstr ""
+msgstr "Érvénytelen verzió: %s"
 
-#: ../yum/__init__.py:3096 ../yum/__init__.py:3101
+#: ../yum/__init__.py:3973 ../yum/__init__.py:3979 ../yum/__init__.py:4036
+#: ../yum/__init__.py:4042
 #, python-format
 msgid "No Package found for %s"
 msgstr "Nem található csomag a következőre: %s"
 
-#: ../yum/__init__.py:3401
+#: ../yum/__init__.py:4245 ../yum/__init__.py:4274
+#, python-format
+msgid "Warning: Environment Group %s does not exist."
+msgstr "Figyelem: A(z) %s Környezeti Csoport nem létezik."
+
+#: ../yum/__init__.py:4397
+#, python-format
+msgid "Package: %s - can't co-install with %s"
+msgstr "Csomag: %s - nem használható a co-install telepítése a következővel: %s"
+
+#: ../yum/__init__.py:4437
 msgid "Package Object was not a package object instance"
 msgstr "A Csomag Objektum nem egy csomag-objektum példány"
 
-#: ../yum/__init__.py:3405
+#: ../yum/__init__.py:4441
 msgid "Nothing specified to install"
 msgstr "Semmi sem lett megadva telepítésnek"
 
-#: ../yum/__init__.py:3424 ../yum/__init__.py:4283
+#: ../yum/__init__.py:4465 ../yum/__init__.py:5410
 #, python-format
 msgid "Checking for virtual provide or file-provide for %s"
-msgstr ""
-"Virtuális szolgáltatása vagy fájlszolgáltatás ellenőrzése a következőre: %s"
-
-#: ../yum/__init__.py:3430 ../yum/__init__.py:3775 ../yum/__init__.py:3969
-#: ../yum/__init__.py:4289
-#, python-format
-msgid "No Match for argument: %s"
-msgstr "Nincs találat a következő argumentumra: %s"
+msgstr "Virtuális szolgáltatása vagy fájlszolgáltatás ellenőrzése a következőre: %s"
 
-#: ../yum/__init__.py:3507
+#: ../yum/__init__.py:4542
 #, python-format
 msgid "Package %s installed and not available"
 msgstr "A(z) %s nevű csomag telepítve, bár nem érhető el"
 
-#: ../yum/__init__.py:3510
+#: ../yum/__init__.py:4545
 msgid "No package(s) available to install"
 msgstr "Nincsenek elérhető csomagok telepítésre"
 
-#: ../yum/__init__.py:3522
+#: ../yum/__init__.py:4557
 #, python-format
 msgid "Package: %s  - already in transaction set"
 msgstr "Csomag: %s  - már szerepel a tranzakcióban"
 
-#: ../yum/__init__.py:3550
+#: ../yum/__init__.py:4589
 #, python-format
 msgid "Package %s is obsoleted by %s which is already installed"
 msgstr "A csomag %s cserélve lett a következőre: %s, ami már telepítve van"
 
-#: ../yum/__init__.py:3555
+#: ../yum/__init__.py:4594
 #, python-format
 msgid ""
 "Package %s is obsoleted by %s, but obsoleting package does not provide for "
 "requirements"
-msgstr ""
-"A(z) %s nevű csomag már elavult a következő miatt: %s, bár ez nem teljesíti "
-"a követelményeket"
+msgstr "A(z) %s nevű csomag már elavult a következő miatt: %s, bár ez nem teljesíti a követelményeket"
 
-#: ../yum/__init__.py:3558
+#: ../yum/__init__.py:4597
 #, python-format
 msgid "Package %s is obsoleted by %s, trying to install %s instead"
-msgstr ""
-"A(z) %s nevű csomag már elavult a következő miatt: %s, próbálkozás inkább "
-"a(z) %s telepítésével"
+msgstr "A(z) %s nevű csomag már elavult a következő miatt: %s, próbálkozás inkább a(z) %s telepítésével"
 
-#: ../yum/__init__.py:3566
+#: ../yum/__init__.py:4605
 #, python-format
 msgid "Package %s already installed and latest version"
 msgstr "A(z) %s nevű csomag már a legfrissebb verzióval rendelkezik"
 
-#: ../yum/__init__.py:3580
+#: ../yum/__init__.py:4619
 #, python-format
 msgid "Package matching %s already installed. Checking for update."
-msgstr ""
-"A csomag, mely megegyezik a következővel: %s, már telepítve van. Frissítések"
-" keresése."
+msgstr "A csomag, mely megegyezik a következővel: %s, már telepítve van. Frissítések keresése."
 
 #. update everything (the easy case)
-#: ../yum/__init__.py:3684
+#: ../yum/__init__.py:4751
 msgid "Updating Everything"
 msgstr "Minden frissítése"
 
-#: ../yum/__init__.py:3708 ../yum/__init__.py:3849 ../yum/__init__.py:3879
-#: ../yum/__init__.py:3915
+#: ../yum/__init__.py:4775 ../yum/__init__.py:4930 ../yum/__init__.py:4975
+#: ../yum/__init__.py:5011
 #, python-format
 msgid "Not Updating Package that is already obsoleted: %s.%s %s:%s-%s"
-msgstr ""
-"Azon csomagok nem lesznek frissítve, melyek már elavultak: %s.%s %s:%s-%s"
+msgstr "Azon csomagok nem lesznek frissítve, melyek már elavultak: %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3753 ../yum/__init__.py:3965
+#: ../yum/__init__.py:4830 ../yum/__init__.py:5072
 #, python-format
 msgid "%s"
 msgstr "%s"
 
-#: ../yum/__init__.py:3838
+#: ../yum/__init__.py:4854 ../yum/__init__.py:5080 ../yum/__init__.py:5416
+#, python-format
+msgid "No Match for argument: %s"
+msgstr "Nincs találat a következő argumentumra: %s"
+
+#: ../yum/__init__.py:4872
+#, python-format
+msgid "No package matched to upgrade: %s"
+msgstr "Nincs frissítendő csomag az alábbira: %s"
+
+#: ../yum/__init__.py:4919
 #, python-format
 msgid "Package is already obsoleted: %s.%s %s:%s-%s"
 msgstr "A következő csomag már elavult: %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3874
+#: ../yum/__init__.py:4970
 #, python-format
 msgid "Not Updating Package that is obsoleted: %s"
 msgstr "A következő elavult csomag nem lesz frissítve: %s"
 
-#: ../yum/__init__.py:3883 ../yum/__init__.py:3919
+#: ../yum/__init__.py:4979 ../yum/__init__.py:5015
 #, python-format
 msgid "Not Updating Package that is already updated: %s.%s %s:%s-%s"
-msgstr ""
-"Azon csomagok nem lesznek frissítve, melyek már frissítve vannak: %s.%s "
-"%s:%s-%s"
+msgstr "Azon csomagok nem lesznek frissítve, melyek már frissítve vannak: %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3982
-msgid "No package matched to remove"
-msgstr "Nem található csomag eltávolításra"
+#: ../yum/__init__.py:5093
+#, python-format
+msgid "No package matched to remove: %s"
+msgstr "Nincs eltávolítandó csomag az alábbira: %s"
 
-#: ../yum/__init__.py:3988
+#: ../yum/__init__.py:5099
 #, python-format
 msgid "Skipping the running kernel: %s"
 msgstr "A futó kernel kihagyása: %s"
 
-#: ../yum/__init__.py:3994
+#: ../yum/__init__.py:5105
 #, python-format
 msgid "Removing %s from the transaction"
 msgstr "%s eltávolítása a tranzakcióból"
 
-#: ../yum/__init__.py:4029
+#: ../yum/__init__.py:5142
 #, python-format
 msgid "Cannot open: %s. Skipping."
 msgstr "Nem nyitható meg a következő: %s. Kihagyás."
 
-#: ../yum/__init__.py:4032 ../yum/__init__.py:4150 ../yum/__init__.py:4226
+#: ../yum/__init__.py:5145 ../yum/__init__.py:5262 ../yum/__init__.py:5347
 #, python-format
 msgid "Examining %s: %s"
 msgstr "%s felülvizsgálata: %s"
 
-#: ../yum/__init__.py:4036
+#: ../yum/__init__.py:5149
 #, python-format
 msgid "Cannot localinstall deltarpm: %s. Skipping."
-msgstr ""
-"Nem lehet helyileg telepíteni a következő deltarpm fájlt: %s. Kihagyás."
+msgstr "Nem lehet helyileg telepíteni a következő deltarpm fájlt: %s. Kihagyás."
 
-#: ../yum/__init__.py:4045 ../yum/__init__.py:4153 ../yum/__init__.py:4229
+#: ../yum/__init__.py:5158 ../yum/__init__.py:5265 ../yum/__init__.py:5350
 #, python-format
 msgid ""
 "Cannot add package %s to transaction. Not a compatible architecture: %s"
-msgstr ""
-"Nem lehet a(z) %s csomagot hozzáadni a tranzakcióhoz. Nincs kompatibilis "
-"architektúra: %s"
+msgstr "Nem lehet a(z) %s csomagot hozzáadni a tranzakcióhoz. Nincs kompatibilis architektúra: %s"
 
-#: ../yum/__init__.py:4051
+#: ../yum/__init__.py:5164
 #, python-format
 msgid "Cannot install package %s. It is obsoleted by installed package %s"
-msgstr ""
-"Nem lehet telepíteni a következő csomagot: %s. Ez már elavultnak számít a "
-"ezen telepített csomag miatt: %s"
+msgstr "Nem lehet telepíteni a következő csomagot: %s. Ez már elavultnak számít a ezen telepített csomag miatt: %s"
 
-#: ../yum/__init__.py:4059
+#: ../yum/__init__.py:5172
 #, python-format
 msgid ""
 "Package %s not installed, cannot update it. Run yum install to install it "
 "instead."
-msgstr ""
-"A(z) %s nevű csomag már telepítve van, frissítése nem lehetséges. Kérjük, "
-"használja ehelyett a yum install parancsot a telepítéséhez."
+msgstr "A(z) %s nevű csomag már telepítve van, frissítése nem lehetséges. Kérjük, használja ehelyett a yum install parancsot a telepítéséhez."
 
-#: ../yum/__init__.py:4078 ../yum/__init__.py:4085
+#: ../yum/__init__.py:5191 ../yum/__init__.py:5198
 #, python-format
 msgid ""
 "Package %s.%s not installed, cannot update it. Run yum install to install it"
 " instead."
-msgstr ""
+msgstr "A következő csomag nincs telepítve: %s.%s, ezért nem lehet frissíteni. Futtassa a \"yum install\" parancsot a telepítéshez."
 
-#: ../yum/__init__.py:4094 ../yum/__init__.py:4158 ../yum/__init__.py:4234
+#: ../yum/__init__.py:5207 ../yum/__init__.py:5270 ../yum/__init__.py:5355
 #, python-format
 msgid "Excluding %s"
 msgstr "%s kizárása"
 
-#: ../yum/__init__.py:4099
+#: ../yum/__init__.py:5212
 #, python-format
 msgid "Marking %s to be installed"
 msgstr "%s megjelölése telepítésre"
 
-#: ../yum/__init__.py:4105
+#: ../yum/__init__.py:5218
 #, python-format
 msgid "Marking %s as an update to %s"
 msgstr "%s megjelölése, mint %s frissítése"
 
-#: ../yum/__init__.py:4112
+#: ../yum/__init__.py:5225
 #, python-format
 msgid "%s: does not update installed package."
 msgstr "%s: nem frissíti a telepített csomagot."
 
-#: ../yum/__init__.py:4147 ../yum/__init__.py:4223
+#: ../yum/__init__.py:5259 ../yum/__init__.py:5344
 #, python-format
 msgid "Cannot open file: %s. Skipping."
 msgstr "Nem nyitható meg a következő fájl: %s. Kihagyás."
 
-#: ../yum/__init__.py:4177
+#: ../yum/__init__.py:5299
 msgid "Problem in reinstall: no package matched to remove"
 msgstr "Probléma az újratelepítésnél: egy csomag sem eltávolítandó"
 
-#: ../yum/__init__.py:4203
+#: ../yum/__init__.py:5325
 #, python-format
 msgid "Problem in reinstall: no package %s matched to install"
-msgstr ""
-"Probléma az újratelepítésnél: nem található %s nevű csomag telepítéshez"
+msgstr "Probléma az újratelepítésnél: nem található %s nevű csomag telepítéshez"
 
-#: ../yum/__init__.py:4311
+#: ../yum/__init__.py:5438
 msgid "No package(s) available to downgrade"
 msgstr "Nincsenek elérhető csomagok visszaállításhoz"
 
-#: ../yum/__init__.py:4319
+#: ../yum/__init__.py:5446
 #, python-format
 msgid "Package %s is allowed multiple installs, skipping"
 msgstr "A(z) %s csomag többször is telepíthető, kihagyás"
 
-#: ../yum/__init__.py:4365
+#: ../yum/__init__.py:5496
 #, python-format
 msgid "No Match for available package: %s"
 msgstr "Nem található csomag a következőre: %s"
 
-#: ../yum/__init__.py:4372
+#: ../yum/__init__.py:5506
 #, python-format
 msgid "Only Upgrade available on package: %s"
 msgstr "Csak frissítés érhető el a következő csomagnál: %s"
 
-#: ../yum/__init__.py:4442 ../yum/__init__.py:4479
+#: ../yum/__init__.py:5619 ../yum/__init__.py:5686
 #, python-format
 msgid "Failed to downgrade: %s"
 msgstr "Visszaállítás meghiúsult: %s"
 
-#: ../yum/__init__.py:4516
+#: ../yum/__init__.py:5636 ../yum/__init__.py:5692
+#, python-format
+msgid "Failed to upgrade: %s"
+msgstr "Sikertelen frissítés: %s"
+
+#: ../yum/__init__.py:5725
 #, python-format
 msgid "Retrieving key from %s"
-msgstr ""
+msgstr "GPG kulcs beszerzése a következőből: %s"
 
-#: ../yum/__init__.py:4534
+#: ../yum/__init__.py:5743
 msgid "GPG key retrieval failed: "
 msgstr "GPG kulcs beszerzés meghiúsult: "
 
 #. if we decide we want to check, even though the sig failed
 #. here is where we would do that
-#: ../yum/__init__.py:4557
+#: ../yum/__init__.py:5766
 #, python-format
 msgid "GPG key signature on key %s does not match CA Key for repo: %s"
-msgstr ""
+msgstr "A(z) %s GPG kulcs aláírása nem egyezik a tároló CA kulcsával: %s"
 
-#: ../yum/__init__.py:4559
+#: ../yum/__init__.py:5768
 msgid "GPG key signature verified against CA Key(s)"
-msgstr ""
+msgstr "A GPG kulcs sikeresen ellenőrizve lett a CA kulcsokkal"
 
-#: ../yum/__init__.py:4567
+#: ../yum/__init__.py:5776
 #, python-format
 msgid "Invalid GPG Key from %s: %s"
 msgstr "Hibás GPG kulcs a következőből: %s: %s"
 
-#: ../yum/__init__.py:4576
+#: ../yum/__init__.py:5785
 #, python-format
 msgid "GPG key parsing failed: key does not have value %s"
 msgstr "GPG kulcs elemzés meghiúsult: a kulcs nem tartalmaz értéket: %s"
 
-#: ../yum/__init__.py:4592
+#: ../yum/__init__.py:5801
 #, python-format
 msgid ""
 "Importing %s key 0x%s:\n"
-" Userid : %s\n"
-" Package: %s (%s)\n"
-" From   : %s"
-msgstr ""
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" Package    : %s (%s)\n"
+" From       : %s"
+msgstr "A(z) %s kulcs importálása 0x%s:\n Felhasználó: \"%s\"\n Ujjlenyomat: %s\n Csomag       : %s (%s)\n Származás  : %s"
 
-#: ../yum/__init__.py:4600
+#: ../yum/__init__.py:5811
 #, python-format
 msgid ""
 "Importing %s key 0x%s:\n"
-" Userid: \"%s\"\n"
-" From  : %s"
-msgstr ""
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" From       : %s"
+msgstr "A(z) %s kulcs importálása 0x%s:\n Felhasználó: \"%s\"\n Ujjlenyomat: %s\n Származás  : %s"
+
+#: ../yum/__init__.py:5839
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" Failing package is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr "\n\n\nSikertelen csomag: %s\nGPG kulcsok beállításai: %s\n"
 
-#: ../yum/__init__.py:4634
+#: ../yum/__init__.py:5853
 #, python-format
 msgid "GPG key at %s (0x%s) is already installed"
 msgstr "A következő GPG kulcs már telepítve van: %s (0x%s)"
 
-#: ../yum/__init__.py:4671
+#: ../yum/__init__.py:5891
 #, python-format
 msgid "Key import failed (code %d)"
 msgstr "A kulcs importálása meghiúsult (hibakód %d)"
 
-#: ../yum/__init__.py:4672 ../yum/__init__.py:4755
+#: ../yum/__init__.py:5893 ../yum/__init__.py:5994
 msgid "Key imported successfully"
 msgstr "A kulcs importálása sikeres"
 
-#: ../yum/__init__.py:4676
+#: ../yum/__init__.py:5897
 msgid "Didn't install any keys"
-msgstr ""
+msgstr "Nem lett telepítve egyetlen kulcs sem"
 
-#: ../yum/__init__.py:4680
+#: ../yum/__init__.py:5900
 #, python-format
 msgid ""
 "The GPG keys listed for the \"%s\" repository are already installed but they are not correct for this package.\n"
 "Check that the correct key URLs are configured for this repository."
-msgstr ""
-"A GPG kulcsok a(z) \"%s\" nevű tárolóhoz már telepítve vannak, de nem jók ehhez a csomaghoz.\n"
-"Kérjük, ellenőrizze, hogy az URL címek helyesen vannak-e megadva ezen tárolóhoz."
+msgstr "A GPG kulcsok a(z) \"%s\" nevű tárolóhoz már telepítve vannak, de nem jók ehhez a csomaghoz.\nKérjük, ellenőrizze, hogy az URL címek helyesen vannak-e megadva ezen tárolóhoz."
 
-#: ../yum/__init__.py:4689
+#: ../yum/__init__.py:5910
 msgid "Import of key(s) didn't help, wrong key(s)?"
 msgstr "A kulcsok importálása nem segített, rossz kulcsok?"
 
-#: ../yum/__init__.py:4713
+#: ../yum/__init__.py:5932
+msgid "No"
+msgstr "Nem"
+
+#: ../yum/__init__.py:5934
+msgid "Yes"
+msgstr "Igen"
+
+#: ../yum/__init__.py:5935
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" CA Key: %s\n"
+" Failing repo is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr "\n\n\nCA Kulcs: %s\nSikertelen tároló: %s\nGPG kulcsok beállításai: %s\n"
+
+#: ../yum/__init__.py:5948
 #, python-format
 msgid "GPG key at %s (0x%s) is already imported"
 msgstr "A következő GPG kulcs már telepítve van: %s (0x%s)"
 
-#: ../yum/__init__.py:4754
-msgid "Key import failed"
-msgstr "A kulcs importálása meghiúsult"
+#: ../yum/__init__.py:5992
+#, python-format
+msgid "Key %s import failed"
+msgstr "%s kulcs importálása sikertelen"
 
-#: ../yum/__init__.py:4770
+#: ../yum/__init__.py:6009
 #, python-format
 msgid "Didn't install any keys for repo %s"
-msgstr ""
+msgstr "Nem lett telepítve egyetlen kulcs sem a következő tárolóhoz: %s"
 
-#: ../yum/__init__.py:4774
+#: ../yum/__init__.py:6014
 #, python-format
 msgid ""
 "The GPG keys listed for the \"%s\" repository are already installed but they are not correct.\n"
 "Check that the correct key URLs are configured for this repository."
-msgstr ""
-"A GPG kulcsok a(z) \"%s\" nevű tárolóhoz már telepítve vannak, de nem jók.\n"
-"Kérjük, ellenőrizze, hogy az URL címek helyesen vannak-e megadva ezen tárolóhoz."
+msgstr "A GPG kulcsok a(z) \"%s\" nevű tárolóhoz már telepítve vannak, de nem jók.\nKérjük, ellenőrizze, hogy az URL címek helyesen vannak-e megadva ezen tárolóhoz."
 
-#: ../yum/__init__.py:4924
+#: ../yum/__init__.py:6172
 msgid "Unable to find a suitable mirror."
 msgstr "Nem található megfelelő tükörszerver."
 
-#: ../yum/__init__.py:4926
+#: ../yum/__init__.py:6174
 msgid "Errors were encountered while downloading packages."
 msgstr "Hiba történt a csomagok letöltése közben."
 
-#: ../yum/__init__.py:4981
+#: ../yum/__init__.py:6229
 #, python-format
 msgid "Please report this error at %s"
 msgstr "Kérjük, jelentse ezt a hibát a következő címen: %s"
 
-#: ../yum/__init__.py:4998
+#: ../yum/__init__.py:6246
 msgid "Test Transaction Errors: "
 msgstr "Tranzakció teszt hibák: "
 
-#: ../yum/__init__.py:5098
+#: ../yum/__init__.py:6358
 #, python-format
 msgid "Could not set cachedir: %s"
 msgstr "Gyorsítótár-mappa beállítása meghiúsult: %s"
 
-#: ../yum/__init__.py:5148 ../yum/__init__.py:5150
+#: ../yum/__init__.py:6420 ../yum/__init__.py:6422
 msgid "Dependencies not solved. Will not save unresolved transaction."
-msgstr ""
+msgstr "A függőségek feloldása még nincs kész. Nem lehet a függőben lévő tranzakciót menteni."
 
-#: ../yum/__init__.py:5179 ../yum/__init__.py:5181
+#: ../yum/__init__.py:6455 ../yum/__init__.py:6457
 #, python-format
 msgid "Could not save transaction file %s: %s"
-msgstr ""
+msgstr "A következő tranzakciófájl mentése meghiúsult: %s: %s"
 
-#: ../yum/__init__.py:5195
+#: ../yum/__init__.py:6483
 #, python-format
 msgid "Could not access/read saved transaction %s : %s"
-msgstr ""
+msgstr "Az elmentett tranzakció beolvasása meghiúsult: %s: %s"
 
-#: ../yum/__init__.py:5214
-msgid "rpmdb ver mismatched saved transaction version, "
-msgstr ""
+#: ../yum/__init__.py:6521
+msgid "rpmdb ver mismatched saved transaction version,"
+msgstr "rpmdb ver eltér a mentett tranzakció verziójától,"
 
-#: ../yum/__init__.py:5216
-msgid " ignoring, as requested."
-msgstr ""
-
-#: ../yum/__init__.py:5219 ../yum/__init__.py:5354
-msgid " aborting."
-msgstr ""
-
-#: ../yum/__init__.py:5228
+#: ../yum/__init__.py:6535
 msgid "cannot find tsflags or tsflags not integer."
-msgstr ""
+msgstr "Nem található a tsflags, vagy a tsflags nem egész szám."
 
-#: ../yum/__init__.py:5267
+#: ../yum/__init__.py:6584
 #, python-format
 msgid "Found txmbr in unknown current state: %s"
-msgstr ""
+msgstr "txmbr található a jelenleg ismeretlen állapotban: %s"
 
-#: ../yum/__init__.py:5271
+#: ../yum/__init__.py:6588
 #, python-format
 msgid "Could not find txmbr: %s in state %s"
-msgstr ""
+msgstr "Nem található txmbr: %s állapotban %s"
 
-#: ../yum/__init__.py:5307 ../yum/__init__.py:5324
+#: ../yum/__init__.py:6625 ../yum/__init__.py:6642
 #, python-format
 msgid "Could not find txmbr: %s from origin: %s"
-msgstr ""
+msgstr "Nem található txmbr: %s, innen: %s"
 
-#: ../yum/__init__.py:5349
+#: ../yum/__init__.py:6667
 msgid "Transaction members, relations are missing or ts has been modified,"
-msgstr ""
+msgstr "A tranzakció elemek, tranzakció-viszonyok hiányoznak, vagy a ts feltehetően megváltozott,"
 
-#: ../yum/__init__.py:5351
+#: ../yum/__init__.py:6670
 msgid " ignoring, as requested. You must redepsolve!"
-msgstr ""
+msgstr " átugorva, ahogy kérte. Szükséges a redepsolve!"
+
+#. Debugging output
+#: ../yum/__init__.py:6738 ../yum/__init__.py:6757
+#, python-format
+msgid "%s has been visited already and cannot be removed."
+msgstr "%s már el van végezve, nem eltávolítható."
+
+#. Debugging output
+#: ../yum/__init__.py:6741
+#, python-format
+msgid "Examining revdeps of %s"
+msgstr "A következő revdeps elemzése: %s"
+
+#. Debugging output
+#: ../yum/__init__.py:6762
+#, python-format
+msgid "%s has revdep %s which was user-installed."
+msgstr "%s revdep felhaszáló által lett telepítve: %s"
+
+#: ../yum/__init__.py:6773 ../yum/__init__.py:6779
+#, python-format
+msgid "%s is needed by a package to be installed."
+msgstr "A(z) %s telepítése szükséges egy csomaghoz."
+
+#. Debugging output
+#: ../yum/__init__.py:6793
+#, python-format
+msgid "%s has no user-installed revdeps."
+msgstr "Nem található felhasználó által telepített revdep: %s"
 
 #. Mostly copied from YumOutput._outKeyValFill()
-#: ../yum/plugins.py:209
+#: ../yum/plugins.py:212
 msgid "Loaded plugins: "
 msgstr "Betöltött bővítmények: "
 
-#: ../yum/plugins.py:223 ../yum/plugins.py:229
+#: ../yum/plugins.py:226 ../yum/plugins.py:232
 #, python-format
 msgid "No plugin match for: %s"
 msgstr "Nem találhatóak bővítmények a következőre: %s"
 
-#: ../yum/plugins.py:259
+#: ../yum/plugins.py:262
 #, python-format
 msgid "Not loading \"%s\" plugin, as it is disabled"
 msgstr "A(z) \"%s\" nevű bővítmény betöltésének kihagyása, mert le van tiltva"
 
 #. Give full backtrace:
-#: ../yum/plugins.py:271
+#: ../yum/plugins.py:274
 #, python-format
 msgid "Plugin \"%s\" can't be imported"
 msgstr "A(z) \"%s\" nevű bővítmény nem importálható"
 
-#: ../yum/plugins.py:278
+#: ../yum/plugins.py:281
 #, python-format
 msgid "Plugin \"%s\" doesn't specify required API version"
 msgstr "A(z) \"%s\" nevű bővítmény nem felel meg a megkövetelt API verziónak"
 
-#: ../yum/plugins.py:283
+#: ../yum/plugins.py:286
 #, python-format
 msgid "Plugin \"%s\" requires API %s. Supported API is %s."
 msgstr "A(z) \"%s\" nevű bővítmény megköveteli a %s APIt. Támogatott API: %s."
 
-#: ../yum/plugins.py:316
+#: ../yum/plugins.py:319
 #, python-format
 msgid "Loading \"%s\" plugin"
 msgstr "A következő bővítmény betöltése: %s"
 
-#: ../yum/plugins.py:323
+#: ../yum/plugins.py:326
 #, python-format
 msgid "Two or more plugins with the name \"%s\" exist in the plugin search path"
-msgstr ""
-"Kettő vagy több plugin már léteik a keresési útvonalon a következő néven: %s"
+msgstr "Kettő vagy több plugin már léteik a keresési útvonalon a következő néven: %s"
 
-#: ../yum/plugins.py:343
+#: ../yum/plugins.py:346
 #, python-format
 msgid "Configuration file %s not found"
 msgstr "A következő konfigurációs fájl nem található: %s"
 
 #. for
 #. Configuration files for the plugin not found
-#: ../yum/plugins.py:346
+#: ../yum/plugins.py:349
 #, python-format
 msgid "Unable to find configuration file for plugin %s"
 msgstr "Nem található konfigurációs fájl a következő bővítményhez: %s"
 
-#: ../yum/plugins.py:508
+#: ../yum/plugins.py:553
 msgid "registration of commands not supported"
 msgstr "parancsok regisztrációja nem támogatott"
 
-#: ../yum/rpmsack.py:148
+#: ../yum/rpmsack.py:159
 msgid "has missing requires of"
 msgstr "hiányoznak követelmények"
 
-#: ../yum/rpmsack.py:151
+#: ../yum/rpmsack.py:162
 msgid "has installed conflicts"
 msgstr "konfliktusokat teremtett"
 
-#: ../yum/rpmsack.py:160
+#: ../yum/rpmsack.py:171
 #, python-format
 msgid "%s is a duplicate with %s"
 msgstr "%s egy másolat a következőhöz: %s"
 
-#: ../yum/rpmsack.py:168
+#: ../yum/rpmsack.py:179
 #, python-format
 msgid "%s is obsoleted by %s"
 msgstr "%s már elavult a következő miatt: %s"
 
-#: ../yum/rpmsack.py:176
+#: ../yum/rpmsack.py:187
 #, python-format
 msgid "%s provides %s but it cannot be found"
 msgstr "%s ellátja a következőt: %s, de nem található"
@@ -3161,6 +3460,23 @@ msgstr "%s ellátja a következőt: %s, de nem található"
 msgid "Repackaging"
 msgstr "Újracsomagolás"
 
+#: ../yum/rpmtrans.py:149
+#, python-format
+msgid "Verify: %u/%u: %s"
+msgstr "Ellenőrzés: %u/%u: %s"
+
+#: ../yum/yumRepo.py:919
+#, python-format
+msgid ""
+"Insufficient space in download directory %s\n"
+"    * free   %s\n"
+"    * needed %s"
+msgstr "Nincs elég hely a letöltési könyvtárban: %s\n    * szabad    %s\n    * szükséges %s"
+
+#: ../yum/yumRepo.py:986
+msgid "Package does not match intended download."
+msgstr "Ez nem az általunk letölteni kívánt csomag."
+
 #: ../rpmUtils/oldUtils.py:33
 #, python-format
 msgid "Header cannot be opened or does not match %s, %s."
@@ -3173,9 +3489,7 @@ msgstr "RPM %s md5 ellenőrzése hibát mutat"
 
 #: ../rpmUtils/oldUtils.py:151
 msgid "Could not open RPM database for reading. Perhaps it is already in use?"
-msgstr ""
-"Nem nyitható meg olvasásra az RPM adatbázis. Elképzelhető, hogy már "
-"használatban van."
+msgstr "Nem nyitható meg olvasásra az RPM adatbázis. Elképzelhető, hogy már használatban van."
 
 #: ../rpmUtils/oldUtils.py:183
 msgid "Got an empty Header, something has gone wrong"
@@ -3191,5 +3505,3 @@ msgstr "Sérült Fejléc %s"
 #, python-format
 msgid "Error opening rpm %s - error %s"
 msgstr "Hiba a következő rpm megnyitásánál: %s - hiba: %s"
-
-
diff --git a/po/id.po b/po/id.po
index 2fbdf46..bb0fb51 100644
--- a/po/id.po
+++ b/po/id.po
@@ -2,1477 +2,1646 @@
 # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
 # This file is distributed under the same license as the PACKAGE package.
 # 
+# Translators:
+# Henkie Prabancono <henkie.prabancono@gmail.com>, 2013.
+# Muhammad Panji <sumodirjo@gmail.com>, 2012-2013.
 msgid ""
 msgstr ""
 "Project-Id-Version: Yum\n"
-"Report-Msgid-Bugs-To: http://yum.baseurl.org/\n"
-"POT-Creation-Date: 2011-06-06 10:21-0400\n"
-"PO-Revision-Date: 2011-06-06 14:21+0000\n"
-"Last-Translator: skvidal <skvidal@fedoraproject.org>\n"
-"Language-Team: Indonesian (http://www.transifex.net/projects/p/yum/team/id/)\n"
+"Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
+"POT-Creation-Date: 2013-01-30 09:08-0500\n"
+"PO-Revision-Date: 2013-02-21 21:49+0000\n"
+"Last-Translator: Muhammad Panji <sumodirjo@gmail.com>\n"
+"Language-Team: Indonesian (http://www.transifex.com/projects/p/yum/language/id/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Language: id\n"
-"Plural-Forms: nplurals=1; plural=0\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
 
-#: ../callback.py:48 ../output.py:1037 ../yum/rpmtrans.py:73
+#: ../callback.py:45 ../output.py:1502 ../yum/rpmtrans.py:73
 msgid "Updating"
-msgstr ""
+msgstr "Sedang memperbarui"
 
-#: ../callback.py:49 ../yum/rpmtrans.py:74
+#: ../callback.py:46 ../yum/rpmtrans.py:74
 msgid "Erasing"
-msgstr ""
+msgstr "menghapus"
 
-#: ../callback.py:50 ../callback.py:51 ../callback.py:53 ../output.py:1036
-#: ../output.py:2218 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
+#: ../callback.py:47 ../callback.py:48 ../callback.py:50 ../output.py:1501
+#: ../output.py:2922 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
 #: ../yum/rpmtrans.py:78
 msgid "Installing"
-msgstr ""
+msgstr "Sedang melakukan instalasi"
 
-#: ../callback.py:52 ../callback.py:58 ../output.py:1840 ../yum/rpmtrans.py:77
+#: ../callback.py:49 ../callback.py:55 ../output.py:2379 ../yum/rpmtrans.py:77
 msgid "Obsoleted"
-msgstr ""
+msgstr "Telah usang"
 
-#: ../callback.py:54 ../output.py:1169 ../output.py:1686 ../output.py:1847
+#: ../callback.py:51 ../output.py:1670 ../output.py:2222 ../output.py:2386
 msgid "Updated"
-msgstr ""
+msgstr "Telah diperbarui"
 
-#: ../callback.py:55 ../output.py:1685
+#: ../callback.py:52 ../output.py:2221
 msgid "Erased"
-msgstr ""
+msgstr "Telah dihapus"
 
-#: ../callback.py:56 ../callback.py:57 ../callback.py:59 ../output.py:1167
-#: ../output.py:1685 ../output.py:1687 ../output.py:2190
+#: ../callback.py:53 ../callback.py:54 ../callback.py:56 ../output.py:1668
+#: ../output.py:2221 ../output.py:2223 ../output.py:2894
 msgid "Installed"
-msgstr ""
+msgstr "Telah dilakukan instalasi"
 
-#: ../callback.py:130
+#: ../callback.py:142
 msgid "No header - huh?"
-msgstr ""
+msgstr "Tidak ada header - yah?"
 
-#: ../callback.py:168
+#: ../callback.py:180
 msgid "Repackage"
-msgstr ""
+msgstr "Mengulang pemaketan"
 
-#: ../callback.py:189
+#: ../callback.py:201
 #, python-format
 msgid "Error: invalid output state: %s for %s"
-msgstr ""
+msgstr "Kesalahan: status keluaran tidak sah: %s untuk %s"
 
-#: ../callback.py:212
+#: ../callback.py:224
 #, python-format
 msgid "Erased: %s"
-msgstr ""
+msgstr "Telah dihapus: %s"
 
-#: ../callback.py:217 ../output.py:1038 ../output.py:2193
+#: ../callback.py:229 ../output.py:1503 ../output.py:2897
 msgid "Removing"
-msgstr ""
+msgstr "Sedang menghapus"
 
-#: ../callback.py:219 ../yum/rpmtrans.py:79
+#: ../callback.py:231 ../yum/rpmtrans.py:79
 msgid "Cleanup"
-msgstr ""
+msgstr "Pembersihan"
 
-#: ../cli.py:115
+#: ../cli.py:122
 #, python-format
 msgid "Command \"%s\" already defined"
-msgstr ""
+msgstr "Perintah \"%s\" telah didefinisikan sebelumnya"
 
-#: ../cli.py:127
+#: ../cli.py:137
 msgid "Setting up repositories"
-msgstr ""
+msgstr "Sedang Menyiapkan repositori"
 
-#: ../cli.py:138
+#: ../cli.py:148
 msgid "Reading repository metadata in from local files"
-msgstr ""
+msgstr "Sedang membaca metadata dari repositori yang ada di arsip lokal"
 
-#: ../cli.py:245 ../utils.py:281
+#: ../cli.py:273 ../cli.py:277 ../utils.py:320
 #, python-format
 msgid "Config Error: %s"
-msgstr ""
+msgstr "Kesalahan pada konfigurasi: %s"
 
-#: ../cli.py:248 ../cli.py:1584 ../utils.py:284
+#: ../cli.py:280 ../cli.py:2206 ../utils.py:323
 #, python-format
 msgid "Options Error: %s"
-msgstr ""
+msgstr "Kesalahan pada Opsi-opsi: %s"
 
-#: ../cli.py:293
+#: ../cli.py:327
 #, python-format
 msgid "  Installed: %s-%s at %s"
-msgstr ""
+msgstr "  Telah dilakukan instalasi: %s-%s pada %s"
 
-#: ../cli.py:295
+#: ../cli.py:329
 #, python-format
 msgid "  Built    : %s at %s"
-msgstr ""
+msgstr "  Telah dibangun di    : %s pada %s"
 
-#: ../cli.py:297
+#: ../cli.py:331
 #, python-format
 msgid "  Committed: %s at %s"
-msgstr ""
+msgstr "  Telah di-commit: %s pada %s"
 
-#: ../cli.py:336
+#: ../cli.py:372
 msgid "You need to give some command"
-msgstr ""
+msgstr "Anda perlu menambahkan beberapa perintah"
 
-#: ../cli.py:350
+#: ../cli.py:386
 #, python-format
 msgid "No such command: %s. Please use %s --help"
-msgstr ""
+msgstr "Tidak terdapat perintah seperti yang Anda maksudkan: %s. Silakan mencoba menggunakan %s --help"
 
-#: ../cli.py:400
+#: ../cli.py:444
 msgid "Disk Requirements:\n"
-msgstr ""
+msgstr "Kebutuhan Disk:\n"
 
-#: ../cli.py:402
+#: ../cli.py:446
 #, python-format
 msgid "  At least %dMB more space needed on the %s filesystem.\n"
-msgstr ""
+msgid_plural "  At least %dMB more space needed on the %s filesystem.\n"
+msgstr[0] "  Sekurang-kurangnya dibutuhkan %dMB ruang tambahan pada harddisk untuk berkas sistem %s\n"
 
 #. TODO: simplify the dependency errors?
 #. Fixup the summary
-#: ../cli.py:407
+#: ../cli.py:451
 msgid ""
 "Error Summary\n"
 "-------------\n"
-msgstr ""
+msgstr "Ringkasan kesalahan\n-------------------\n"
+
+#: ../cli.py:472
+msgid "Can't create lock file; exiting"
+msgstr "Tidak mampu membuat berkas lock, keluar"
+
+#: ../cli.py:479
+msgid ""
+"Another app is currently holding the yum lock; exiting as configured by "
+"exit_on_lock"
+msgstr "Saat ini, aplikasi lain sedang mengunci penggunaan yum; bisa dikonfigurasikan untuk dilepas dengan cara exit_on_lock"
 
-#: ../cli.py:450
+#: ../cli.py:532
 msgid "Trying to run the transaction but nothing to do. Exiting."
+msgstr "Mencoba untuk menjalankan transaksi, namun tidak ada yang bisa dijalankan. Keluar."
+
+#: ../cli.py:577
+msgid "future rpmdb ver mismatched saved transaction version,"
 msgstr ""
 
-#: ../cli.py:497
+#: ../cli.py:579 ../yum/__init__.py:6523
+msgid " ignoring, as requested."
+msgstr " mengabaikan, sesuai dengan permintaan."
+
+#: ../cli.py:582 ../yum/__init__.py:6526 ../yum/__init__.py:6673
+msgid " aborting."
+msgstr " menggugurkan."
+
+#: ../cli.py:588
 msgid "Exiting on user Command"
-msgstr ""
+msgstr "Keluar karena perintah pengguna"
 
-#: ../cli.py:501
+#: ../cli.py:592
 msgid "Downloading Packages:"
-msgstr ""
+msgstr "Mengunduh Paket:"
 
-#: ../cli.py:506
+#: ../cli.py:597
 msgid "Error Downloading Packages:\n"
-msgstr ""
+msgstr "Kesalahan dalam pengunduhan paket-paket:\n"
 
-#: ../cli.py:525 ../yum/__init__.py:4967
+#: ../cli.py:616 ../yum/__init__.py:6215
 msgid "Running Transaction Check"
-msgstr ""
+msgstr "Menjalankan Pengujian Transaksi"
 
-#: ../cli.py:534 ../yum/__init__.py:4976
+#: ../cli.py:625 ../yum/__init__.py:6224
 msgid "ERROR You need to update rpm to handle:"
-msgstr ""
+msgstr "KESAHALAHAN Anda perlu meng-update rpm untuk mengatasi:"
 
-#: ../cli.py:536 ../yum/__init__.py:4979
+#: ../cli.py:627 ../yum/__init__.py:6227
 msgid "ERROR with transaction check vs depsolve:"
-msgstr ""
+msgstr "KESALAHAN pada pengujian transaksi vs depsolve:"
 
-#: ../cli.py:542
+#: ../cli.py:633
 msgid "RPM needs to be updated"
-msgstr ""
+msgstr "RPM perlu diperbarui"
 
-#: ../cli.py:543
+#: ../cli.py:634
 #, python-format
 msgid "Please report this error in %s"
-msgstr ""
+msgstr "Mohon untuk melaporkan kesalahan pada %s"
 
-#: ../cli.py:549
+#: ../cli.py:640
 msgid "Running Transaction Test"
-msgstr ""
+msgstr "Menjalankan pengujian transaksi"
 
-#: ../cli.py:561
+#: ../cli.py:652
 msgid "Transaction Check Error:\n"
-msgstr ""
+msgstr "Kesalahan pemeriksaan Transaksi:\n"
 
-#: ../cli.py:568
+#: ../cli.py:659
 msgid "Transaction Test Succeeded"
-msgstr ""
+msgstr "Pengujian Transaksi telah Berhasil"
 
-#: ../cli.py:600
+#: ../cli.py:691
 msgid "Running Transaction"
-msgstr ""
+msgstr "Menjalankan Transaksi"
 
-#: ../cli.py:630
+#: ../cli.py:724
 msgid ""
 "Refusing to automatically import keys when running unattended.\n"
 "Use \"-y\" to override."
-msgstr ""
+msgstr "Menolak untuk secara otomatis meng-impor kunci-kunci ketika dijalankan tanpa pengawasan. Gunakan \"-y\" untuk mengabaikan persyaratan."
 
-#: ../cli.py:649 ../cli.py:692
+#: ../cli.py:743 ../cli.py:786
 msgid "  * Maybe you meant: "
-msgstr ""
+msgstr "  * Mungkin yang Anda maksudkan adalah:"
 
-#: ../cli.py:675 ../cli.py:683
+#: ../cli.py:769 ../cli.py:777
 #, python-format
 msgid "Package(s) %s%s%s available, but not installed."
-msgstr ""
+msgstr "Paket(s) %s%s%s tersedia, akan tetapi belum/tidak dilakukan instalasi."
 
-#: ../cli.py:689 ../cli.py:722 ../cli.py:908
+#: ../cli.py:783 ../cli.py:891 ../cli.py:1158
 #, python-format
 msgid "No package %s%s%s available."
-msgstr ""
+msgstr "Tidak tersedia paket %s%s%s."
 
-#: ../cli.py:729 ../cli.py:973
-msgid "Package(s) to install"
-msgstr ""
+#: ../cli.py:871 ../cli.py:881 ../cli.py:1101 ../cli.py:1111
+#, python-format
+msgid "Bad %s argument %s."
+msgstr "Argumen %s salah %s."
+
+#: ../cli.py:900 ../yumcommands.py:3331
+#, python-format
+msgid "%d package to install"
+msgid_plural "%d packages to install"
+msgstr[0] "akan di-instalasi %d paket"
 
-#: ../cli.py:732 ../cli.py:733 ../cli.py:914 ../cli.py:948 ../cli.py:974
-#: ../yumcommands.py:190
+#: ../cli.py:903 ../cli.py:904 ../cli.py:1169 ../cli.py:1170 ../cli.py:1224
+#: ../cli.py:1225 ../cli.py:1260 ../yumcommands.py:323 ../yumcommands.py:3419
 msgid "Nothing to do"
-msgstr ""
+msgstr "Tidak ada yang bisa dilakukan"
 
-#: ../cli.py:767
+#: ../cli.py:953
 #, python-format
-msgid "%d packages marked for Update"
-msgstr ""
+msgid "%d package marked for Update"
+msgid_plural "%d packages marked for Update"
+msgstr[0] "%d paket telah ditandai untuk diperbarui"
 
-#: ../cli.py:770
+#: ../cli.py:955
 msgid "No Packages marked for Update"
-msgstr ""
+msgstr "Tidak ada paket yang ditandai untuk Pembaruan"
 
-#: ../cli.py:866
+#: ../cli.py:1067
 #, python-format
-msgid "%d packages marked for Distribution Synchronization"
-msgstr ""
+msgid "%d package marked for Distribution Synchronization"
+msgid_plural "%d packages marked for Distribution Synchronization"
+msgstr[0] "%d paket telah ditandai untuk Sinkronisasi Distribusi"
 
-#: ../cli.py:869
+#: ../cli.py:1069
 msgid "No Packages marked for Distribution Synchronization"
-msgstr ""
+msgstr "Tidak ada paket yang telah ditandai untuk Sinkronisasi Distribusi"
 
-#: ../cli.py:885
+#: ../cli.py:1124
 #, python-format
-msgid "%d packages marked for removal"
-msgstr ""
+msgid "%d package marked for removal"
+msgid_plural "%d packages marked for removal"
+msgstr[0] "%d paket telah ditandai untuk penghapusan"
 
-#: ../cli.py:888
+#: ../cli.py:1126
 msgid "No Packages marked for removal"
-msgstr ""
+msgstr "Tidak ada paket yang telah ditandai untuk penghapusan"
 
-#: ../cli.py:913
-msgid "Package(s) to downgrade"
-msgstr ""
+#: ../cli.py:1166
+#, python-format
+msgid "%d package to downgrade"
+msgid_plural "%d packages to downgrade"
+msgstr[0] "%d paket untuk di-downgrade"
 
-#: ../cli.py:938
+#: ../cli.py:1207
 #, python-format
 msgid " (from %s)"
-msgstr ""
+msgstr " (dari %s)"
 
-#: ../cli.py:939
+#: ../cli.py:1208
 #, python-format
 msgid "Installed package %s%s%s%s not available."
-msgstr ""
+msgstr "Paket yang telah di-instalasi %s%s%s%s tidak tersedia."
 
-#: ../cli.py:947
-msgid "Package(s) to reinstall"
-msgstr ""
+#: ../cli.py:1221
+#, python-format
+msgid "%d package to reinstall"
+msgid_plural "%d packages to reinstall"
+msgstr[0] "%d paket untuk diinstalasi ulang"
 
-#: ../cli.py:960
+#: ../cli.py:1246
 msgid "No Packages Provided"
-msgstr ""
+msgstr "Paket-paket tidak tersedia"
+
+#: ../cli.py:1259
+msgid "Package(s) to install"
+msgstr "Paket(s) yang akan di-instalasi"
 
-#: ../cli.py:1058
+#: ../cli.py:1367
 #, python-format
 msgid "N/S Matched: %s"
-msgstr ""
+msgstr "N/S telah sesuai: %s"
 
-#: ../cli.py:1075
+#: ../cli.py:1384
 #, python-format
 msgid "  Name and summary matches %sonly%s, use \"search all\" for everything."
-msgstr ""
+msgstr "  %sHanya cocok dengan%s nama dan ringkasan, gunakan \"search all\" untuk semuanya / everything."
 
-#: ../cli.py:1077
+#: ../cli.py:1386
 #, python-format
 msgid ""
 "  Full name and summary matches %sonly%s, use \"search all\" for everything."
-msgstr ""
+msgstr "  %sHanya cocok dengan%s nama lengkap dan ringkasan, gunakan \"search all\" untuk semuanya / everything."
 
-#: ../cli.py:1095
+#: ../cli.py:1404
 #, python-format
 msgid "Matched: %s"
-msgstr ""
+msgstr "Cocok: %s"
 
-#: ../cli.py:1102
+#: ../cli.py:1411
 #, python-format
 msgid "  Name and summary matches %smostly%s, use \"search all\" for everything."
-msgstr ""
+msgstr "  %sHanya sesuai%s dengan nama dan ringkasan, gunakan \"search all\" untuk semuanya / everything."
 
-#: ../cli.py:1106
+#: ../cli.py:1415
 #, python-format
 msgid "Warning: No matches found for: %s"
-msgstr ""
+msgstr "Peringatan: Tidak ditemukan kecocokan untuk: %s"
 
-#: ../cli.py:1109
+#: ../cli.py:1418
 msgid "No Matches found"
-msgstr ""
+msgstr "Kecocokan tidak ditemukan"
 
-#: ../cli.py:1174
+#: ../cli.py:1536
 #, python-format
-msgid "No Package Found for %s"
-msgstr ""
+msgid ""
+"Error: No Packages found for:\n"
+"  %s"
+msgstr "Kesalahan: Tidak ditemukan paket-paket untuk:\n  %s"
 
-#: ../cli.py:1184
+#: ../cli.py:1572
 msgid "Cleaning repos: "
-msgstr ""
+msgstr "Pembersihan repos:"
 
-#: ../cli.py:1189
+#: ../cli.py:1577
 msgid "Cleaning up Everything"
-msgstr ""
+msgstr "Pembersihan Semuanya:"
 
-#: ../cli.py:1205
+#: ../cli.py:1593
 msgid "Cleaning up Headers"
-msgstr ""
+msgstr "Pembersihan Headers"
 
-#: ../cli.py:1208
+#: ../cli.py:1596
 msgid "Cleaning up Packages"
-msgstr ""
+msgstr "Pembersihan Paket-paket"
 
-#: ../cli.py:1211
+#: ../cli.py:1599
 msgid "Cleaning up xml metadata"
-msgstr ""
+msgstr "Pembersihan metadata xml"
 
-#: ../cli.py:1214
+#: ../cli.py:1602
 msgid "Cleaning up database cache"
-msgstr ""
+msgstr "Pembersihan cache database"
 
-#: ../cli.py:1217
+#: ../cli.py:1605
 msgid "Cleaning up expire-cache metadata"
-msgstr ""
+msgstr "Pembersihan cache dari metadata yang telah habis masa berlakunya"
 
-#: ../cli.py:1220
+#: ../cli.py:1608
 msgid "Cleaning up cached rpmdb data"
-msgstr ""
+msgstr "Pembersihan cache dari data rpmdb"
 
-#: ../cli.py:1223
+#: ../cli.py:1611
 msgid "Cleaning up plugins"
+msgstr "Pembersihan plugins"
+
+#: ../cli.py:1727
+msgid "Installed Environment Groups:"
 msgstr ""
 
-#: ../cli.py:1247
-#, python-format
-msgid "Warning: No groups match: %s"
+#: ../cli.py:1728
+msgid "Available Environment Groups:"
 msgstr ""
 
-#: ../cli.py:1264
+#: ../cli.py:1735
 msgid "Installed Groups:"
-msgstr ""
+msgstr "Grup-grup yang sudah di-instalasi:"
 
-#: ../cli.py:1270
+#: ../cli.py:1742
 msgid "Installed Language Groups:"
-msgstr ""
+msgstr "Grup-grup bahasa yang telah di-instalasi:"
 
-#: ../cli.py:1276
+#: ../cli.py:1749
 msgid "Available Groups:"
-msgstr ""
+msgstr "Grup-grup yang tersedia:"
 
-#: ../cli.py:1282
+#: ../cli.py:1756
 msgid "Available Language Groups:"
+msgstr "Grup-grup bahasa yang tersedia:"
+
+#: ../cli.py:1759
+#, python-format
+msgid "Warning: No Environments/Groups match: %s"
 msgstr ""
 
-#: ../cli.py:1285
+#: ../cli.py:1763
 msgid "Done"
+msgstr "Selesai dilakukan"
+
+#: ../cli.py:1818
+#, python-format
+msgid "Warning: Group/Environment %s does not exist."
 msgstr ""
 
-#: ../cli.py:1296 ../cli.py:1314 ../cli.py:1320 ../yum/__init__.py:3313
+#: ../cli.py:1859
 #, python-format
-msgid "Warning: Group %s does not exist."
+msgid "Warning: Environment %s does not exist."
 msgstr ""
 
-#: ../cli.py:1324
+#: ../cli.py:1873 ../cli.py:1879 ../yum/__init__.py:4254
+#, python-format
+msgid "Warning: Group %s does not exist."
+msgstr "Peringatan: Grup %s tidak ada."
+
+#: ../cli.py:1883
 msgid "No packages in any requested group available to install or update"
-msgstr ""
+msgstr "Dalam grup yang diminta, tidak tersedia paket-paket untuk proses instalasi maupun pembaruan"
+
+#: ../cli.py:1885
+#, python-format
+msgid "%d package to Install"
+msgid_plural "%d packages to Install"
+msgstr[0] "%d paket untuk di-instalasi"
 
-#: ../cli.py:1326
+#: ../cli.py:1919 ../yum/__init__.py:3536 ../yum/__init__.py:3766
+#: ../yum/__init__.py:3824
 #, python-format
-msgid "%d Package(s) to Install"
+msgid "No Environment named %s exists"
 msgstr ""
 
-#: ../cli.py:1336 ../yum/__init__.py:3325
+#: ../cli.py:1935 ../yum/__init__.py:4282
 #, python-format
 msgid "No group named %s exists"
-msgstr ""
+msgstr "Tidak ada group bernama %s"
 
-#: ../cli.py:1342
+#: ../cli.py:1945
 msgid "No packages to remove from groups"
-msgstr ""
+msgstr "Tidak ada paket-paket yang dihapus dari grup-grup"
 
-#: ../cli.py:1344
+#: ../cli.py:1947 ../yumcommands.py:3351
 #, python-format
-msgid "%d Package(s) to remove"
-msgstr ""
+msgid "%d package to remove"
+msgid_plural "%d packages to remove"
+msgstr[0] "%d paket untuk dihapus"
 
-#: ../cli.py:1386
+#: ../cli.py:1988
 #, python-format
 msgid "Package %s is already installed, skipping"
-msgstr ""
+msgstr "Paket %s telah di-instalasi, lewati"
 
-#: ../cli.py:1397
+#: ../cli.py:1999
 #, python-format
 msgid "Discarding non-comparable pkg %s.%s"
-msgstr ""
+msgstr "Membuang paket %s.%s tidak bisa dibandingkan"
 
 #. we've not got any installed that match n or n+a
-#: ../cli.py:1423
+#: ../cli.py:2025
 #, python-format
 msgid "No other %s installed, adding to list for potential install"
-msgstr ""
+msgstr "Tidak ada instalasi %s yang lain, ditambahkan pada daftar untuk potensi instalasi"
 
-#: ../cli.py:1443
+#: ../cli.py:2045
 msgid "Plugin Options"
-msgstr ""
+msgstr "Opsi-opsi plugins"
 
-#: ../cli.py:1451
+#: ../cli.py:2057
 #, python-format
 msgid "Command line error: %s"
-msgstr ""
+msgstr "Kesalahan pada baris perintah: %s"
 
-#: ../cli.py:1467
+#: ../cli.py:2079
 #, python-format
 msgid ""
 "\n"
 "\n"
 "%s: %s option requires an argument"
-msgstr ""
+msgstr "\n\n%s: opsi %s membutuhkan sebuah argumen"
 
-#: ../cli.py:1521
+#: ../cli.py:2147
 msgid "--color takes one of: auto, always, never"
-msgstr ""
+msgstr "--color bisa diambil dari salah satu: auto, always, never"
 
 #. We have a relative installroot ... haha
-#: ../cli.py:1596
+#: ../cli.py:2218
 #, python-format
 msgid "--installroot must be an absolute path: %s"
-msgstr ""
+msgstr "--installroot harus merupakan path absolut: %s"
 
-#: ../cli.py:1642
+#: ../cli.py:2272
 msgid "show this help message and exit"
-msgstr ""
+msgstr "menampilkan pesan bantuan ini kemudian keluar"
 
-#: ../cli.py:1646
+#: ../cli.py:2276
 msgid "be tolerant of errors"
-msgstr ""
+msgstr "bersikap toleran terhadap kesalahan-kesalahan"
 
-#: ../cli.py:1649
+#: ../cli.py:2279
 msgid "run entirely from system cache, don't update cache"
-msgstr ""
+msgstr "dijalankan keseluruhannya dari cache sistem, jangan melakukan pembaruan cache"
 
-#: ../cli.py:1652
+#: ../cli.py:2282
 msgid "config file location"
-msgstr ""
+msgstr "lokasi berkas konfigurasi"
 
-#: ../cli.py:1655
+#: ../cli.py:2285
 msgid "maximum command wait time"
-msgstr ""
+msgstr "batas waktu maksimum untuk menunggu perintah"
 
-#: ../cli.py:1657
+#: ../cli.py:2287
 msgid "debugging output level"
-msgstr ""
+msgstr "level keluaran proses debug"
 
-#: ../cli.py:1661
+#: ../cli.py:2291
 msgid "show duplicates, in repos, in list/search commands"
-msgstr ""
+msgstr "tunjukkan duplikasi, dalam repos, dalam daftar/pencarian perintah"
 
-#: ../cli.py:1663
+#: ../cli.py:2296
 msgid "error output level"
-msgstr ""
+msgstr "level keluaran untuk kesalahan yang mungkin terjadi"
 
-#: ../cli.py:1666
+#: ../cli.py:2299
 msgid "debugging output level for rpm"
-msgstr ""
+msgstr "proses debug level keluaran untuk rpm"
 
-#: ../cli.py:1669
+#: ../cli.py:2302
 msgid "quiet operation"
-msgstr ""
+msgstr "operasi senyap :-d"
 
-#: ../cli.py:1671
+#: ../cli.py:2304
 msgid "verbose operation"
-msgstr ""
+msgstr "operasi verbose"
 
-#: ../cli.py:1673
+#: ../cli.py:2306
 msgid "answer yes for all questions"
-msgstr ""
+msgstr "jawab ya untuk semua pertanyaan"
+
+#: ../cli.py:2308
+msgid "answer no for all questions"
+msgstr "jawab tidak untuk semua pertanyaan"
 
-#: ../cli.py:1675
+#: ../cli.py:2312
 msgid "show Yum version and exit"
-msgstr ""
+msgstr "perlihatkan versi Yum dan kemudian keluar"
 
-#: ../cli.py:1676
+#: ../cli.py:2313
 msgid "set install root"
-msgstr ""
+msgstr "atur lokasi instalasi root"
 
-#: ../cli.py:1680
+#: ../cli.py:2317
 msgid "enable one or more repositories (wildcards allowed)"
-msgstr ""
+msgstr "aktifkan satu atau lebih repositori (diperbolehkan tanda \"*\" / wildcard)"
 
-#: ../cli.py:1684
+#: ../cli.py:2321
 msgid "disable one or more repositories (wildcards allowed)"
-msgstr ""
+msgstr "me-non-aktifkan satu atau lebih repositori (diperbolehkan tanda \"*\" / wildcard)"
 
-#: ../cli.py:1687
+#: ../cli.py:2324
 msgid "exclude package(s) by name or glob"
-msgstr ""
+msgstr "mengecualikan paket(s) berdasarkan nama atau glob"
 
-#: ../cli.py:1689
+#: ../cli.py:2326
 msgid "disable exclude from main, for a repo or for everything"
-msgstr ""
+msgstr "me-non-aktifkan pengecualian dari \"main\", untuk sebuah repo atau untuk semuanya / everything"
 
-#: ../cli.py:1692
+#: ../cli.py:2329
 msgid "enable obsoletes processing during updates"
-msgstr ""
+msgstr "aktifkan proses-proses usang selama pembaruan"
 
-#: ../cli.py:1694
+#: ../cli.py:2331
 msgid "disable Yum plugins"
-msgstr ""
+msgstr "non-aktifkan plugins Yum"
 
-#: ../cli.py:1696
+#: ../cli.py:2333
 msgid "disable gpg signature checking"
-msgstr ""
+msgstr "non-aktifkan pemeriksaan tanda-tangan gpg"
 
-#: ../cli.py:1698
+#: ../cli.py:2335
 msgid "disable plugins by name"
-msgstr ""
+msgstr "non-aktifkan plugins berdasarkan nama"
 
-#: ../cli.py:1701
+#: ../cli.py:2338
 msgid "enable plugins by name"
-msgstr ""
+msgstr "aktifkan plugins berdasarkan nama"
 
-#: ../cli.py:1704
+#: ../cli.py:2341
 msgid "skip packages with depsolving problems"
-msgstr ""
+msgstr "abaikan paket-paket yang memiliki permasalahan-permasalahan depsolving"
 
-#: ../cli.py:1706
+#: ../cli.py:2343
 msgid "control whether color is used"
-msgstr ""
+msgstr "mengatur tata-cara penggunaan warna"
 
-#: ../cli.py:1708
+#: ../cli.py:2345
 msgid "set value of $releasever in yum config and repo files"
+msgstr "atur nilai dari $releasever dalam konfigurasi yum dan berkas-berkas repo"
+
+#: ../cli.py:2347
+msgid "don't update, just download"
 msgstr ""
 
-#: ../cli.py:1710
-msgid "set arbitrary config and repo options"
+#: ../cli.py:2349
+msgid "specifies an alternate directory to store packages"
 msgstr ""
 
-#: ../output.py:307
+#: ../cli.py:2351
+msgid "set arbitrary config and repo options"
+msgstr "atur konfigurasi arbiter dan opsi-opsi repo"
+
+#: ../output.py:458
 msgid "Jan"
-msgstr ""
+msgstr "Jan"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Feb"
-msgstr ""
+msgstr "Feb"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Mar"
-msgstr ""
+msgstr "Mar"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Apr"
-msgstr ""
+msgstr "Apr"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "May"
-msgstr ""
+msgstr "Mei"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Jun"
-msgstr ""
+msgstr "Jun"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Jul"
-msgstr ""
+msgstr "Jul"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Aug"
-msgstr ""
+msgstr "Agt"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Sep"
-msgstr ""
+msgstr "Sep"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Oct"
-msgstr ""
+msgstr "Okt"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Nov"
-msgstr ""
+msgstr "Nov"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Dec"
-msgstr ""
+msgstr "Des"
 
-#: ../output.py:318
+#: ../output.py:473
 msgid "Trying other mirror."
-msgstr ""
+msgstr "Mencoba mirror yang lain:"
 
-#: ../output.py:581
+#: ../output.py:816
 #, python-format
 msgid "Name        : %s%s%s"
-msgstr ""
+msgstr "Nama        : %s%s%s"
 
-#: ../output.py:582
+#: ../output.py:817
 #, python-format
 msgid "Arch        : %s"
-msgstr ""
+msgstr "Arsitektur  : %s"
 
-#: ../output.py:584
+#: ../output.py:819
 #, python-format
 msgid "Epoch       : %s"
-msgstr ""
+msgstr "Epoch       : %s"
 
-#: ../output.py:585
+#: ../output.py:820
 #, python-format
 msgid "Version     : %s"
-msgstr ""
+msgstr "Versi       : %s"
 
-#: ../output.py:586
+#: ../output.py:821
 #, python-format
 msgid "Release     : %s"
-msgstr ""
+msgstr "Rilis       : %s"
 
-#: ../output.py:587
+#: ../output.py:822
 #, python-format
 msgid "Size        : %s"
-msgstr ""
+msgstr "Ukuran      : %s"
 
-#: ../output.py:588 ../output.py:900
+#: ../output.py:823 ../output.py:1329
 #, python-format
 msgid "Repo        : %s"
-msgstr ""
+msgstr "Repo        : %s"
 
-#: ../output.py:590
+#: ../output.py:825
 #, python-format
 msgid "From repo   : %s"
-msgstr ""
+msgstr "Asal repo   : %s"
 
-#: ../output.py:592
+#: ../output.py:827
 #, python-format
 msgid "Committer   : %s"
-msgstr ""
+msgstr "Committer   : %s"
 
-#: ../output.py:593
+#: ../output.py:828
 #, python-format
 msgid "Committime  : %s"
-msgstr ""
+msgstr "Waktu Commit: %s"
 
-#: ../output.py:594
+#: ../output.py:829
 #, python-format
 msgid "Buildtime   : %s"
-msgstr ""
+msgstr "Waktu pembangunan: %s"
 
-#: ../output.py:596
+#: ../output.py:831
 #, python-format
 msgid "Install time: %s"
-msgstr ""
+msgstr "Install time: %s"
 
-#: ../output.py:604
+#: ../output.py:839
 #, python-format
 msgid "Installed by: %s"
-msgstr ""
+msgstr "Telah di-instalasi oleh: %s"
 
-#: ../output.py:611
+#: ../output.py:846
 #, python-format
 msgid "Changed by  : %s"
-msgstr ""
+msgstr "Telah diubah oleh: %s"
 
-#: ../output.py:612
+#: ../output.py:847
 msgid "Summary     : "
-msgstr ""
+msgstr "Ringkasan   :"
 
-#: ../output.py:614 ../output.py:913
+#: ../output.py:849 ../output.py:1345
 #, python-format
 msgid "URL         : %s"
-msgstr ""
+msgstr "URL         : %s"
 
-#: ../output.py:615
+#: ../output.py:850
 msgid "License     : "
-msgstr ""
+msgstr "Lisensi     :"
 
-#: ../output.py:616 ../output.py:910
+#: ../output.py:851 ../output.py:1342
 msgid "Description : "
-msgstr ""
+msgstr "Deskripsi   :"
 
-#: ../output.py:684
+#: ../output.py:969
 msgid "y"
-msgstr ""
+msgstr "y"
 
-#: ../output.py:684
+#: ../output.py:969
 msgid "yes"
-msgstr ""
+msgstr "ya"
 
-#: ../output.py:685
+#: ../output.py:970
 msgid "n"
-msgstr ""
+msgstr "t"
 
-#: ../output.py:685
+#: ../output.py:970
 msgid "no"
-msgstr ""
+msgstr "tidak"
 
-#: ../output.py:689
+#: ../output.py:974
 msgid "Is this ok [y/N]: "
-msgstr ""
+msgstr "Apakah semuanya sudah ok [y/T]:"
 
-#: ../output.py:777
+#: ../output.py:1097
 #, python-format
 msgid ""
 "\n"
 "Group: %s"
-msgstr ""
+msgstr "\nGrup : %s"
 
-#: ../output.py:781
+#: ../output.py:1101
 #, python-format
 msgid " Group-Id: %s"
-msgstr ""
+msgstr " Id-grup : %s"
 
-#: ../output.py:786
+#: ../output.py:1122 ../output.py:1169
 #, python-format
 msgid " Description: %s"
-msgstr ""
+msgstr " Deskripsi  : %s"
 
-#: ../output.py:788
+#: ../output.py:1124
 #, python-format
 msgid " Language: %s"
-msgstr ""
+msgstr " Bahasa  : %s"
 
-#: ../output.py:790
+#: ../output.py:1126
 msgid " Mandatory Packages:"
-msgstr ""
+msgstr " Paket-paket Wajib:"
 
-#: ../output.py:791
+#: ../output.py:1127
 msgid " Default Packages:"
-msgstr ""
+msgstr " Paket-paket Default:"
 
-#: ../output.py:792
+#: ../output.py:1128
 msgid " Optional Packages:"
-msgstr ""
+msgstr " Paket-paket opsional:"
 
-#: ../output.py:793
+#: ../output.py:1129
 msgid " Conditional Packages:"
+msgstr " Paket-paket kondisional:"
+
+#: ../output.py:1147
+msgid " Installed Packages:"
+msgstr " Paket-paket ter-install:"
+
+#: ../output.py:1157
+#, python-format
+msgid ""
+"\n"
+"Environment Group: %s"
 msgstr ""
 
-#: ../output.py:814
+#: ../output.py:1158
 #, python-format
-msgid "package: %s"
+msgid " Environment-Id: %s"
 msgstr ""
 
-#: ../output.py:816
-msgid "  No dependencies for this package"
+#: ../output.py:1191
+msgid " Mandatory Groups:"
 msgstr ""
 
-#: ../output.py:821
+#: ../output.py:1192
+msgid " Optional Groups:"
+msgstr ""
+
+#: ../output.py:1205
+msgid " Installed Groups:"
+msgstr ""
+
+#: ../output.py:1217
+#, python-format
+msgid "package: %s"
+msgstr "paket  : %s"
+
+#: ../output.py:1219
+msgid "  No dependencies for this package"
+msgstr "  Tidak ada ketergantungan terhadap paket ini"
+
+#: ../output.py:1224
 #, python-format
 msgid "  dependency: %s"
-msgstr ""
+msgstr "  ketergantungan: %s"
 
-#: ../output.py:823
+#: ../output.py:1226
 msgid "   Unsatisfied dependency"
-msgstr ""
+msgstr "   Ketergantungan yang belum terpenuhi"
 
-#: ../output.py:901
+#: ../output.py:1337
 msgid "Matched from:"
-msgstr ""
+msgstr "Disesuaikan dari:"
 
-#: ../output.py:916
+#: ../output.py:1348
 #, python-format
 msgid "License     : %s"
-msgstr ""
+msgstr "Lisensi     : %s"
 
-#: ../output.py:919
+#: ../output.py:1351
 #, python-format
 msgid "Filename    : %s"
-msgstr ""
+msgstr "Nama berkas : %s"
+
+#: ../output.py:1360
+msgid "Provides    : "
+msgstr "Menyediakan :"
 
-#: ../output.py:923
+#: ../output.py:1363
 msgid "Other       : "
-msgstr ""
+msgstr "Lain-lain   :"
 
-#: ../output.py:966
+#: ../output.py:1426
 msgid "There was an error calculating total download size"
-msgstr ""
+msgstr "Terdapat sebuah kesalahan dalam penghitungan ukuran total"
 
-#: ../output.py:971
+#: ../output.py:1431
 #, python-format
 msgid "Total size: %s"
-msgstr ""
+msgstr "Ukuran total: %s"
 
-#: ../output.py:974
+#: ../output.py:1433
 #, python-format
 msgid "Total download size: %s"
-msgstr ""
+msgstr "Ukuran unduhan total: %s"
 
-#: ../output.py:978 ../output.py:998
+#: ../output.py:1436 ../output.py:1459 ../output.py:1463
 #, python-format
 msgid "Installed size: %s"
-msgstr ""
+msgstr "Ukuran yang ter-install: %s"
 
-#: ../output.py:994
+#: ../output.py:1454
 msgid "There was an error calculating installed size"
-msgstr ""
+msgstr "Terdapat sebuah kesalahan dalam penghitungan ukuran total"
 
-#: ../output.py:1039
+#: ../output.py:1504
 msgid "Reinstalling"
-msgstr ""
+msgstr "Melakukan instalasi ulang"
 
-#: ../output.py:1040
+#: ../output.py:1505
 msgid "Downgrading"
-msgstr ""
+msgstr "Melakukan downgrade"
 
-#: ../output.py:1041
+#: ../output.py:1506
 msgid "Installing for dependencies"
-msgstr ""
+msgstr "Melakukan instalasi untuk ketergantungan"
 
-#: ../output.py:1042
+#: ../output.py:1507
 msgid "Updating for dependencies"
-msgstr ""
+msgstr "Melakukan pembaruan untuk ketergantungan"
 
-#: ../output.py:1043
+#: ../output.py:1508
 msgid "Removing for dependencies"
-msgstr ""
+msgstr "Melakukan penghapusan untuk ketergantungan"
 
-#: ../output.py:1050 ../output.py:1171
+#: ../output.py:1515 ../output.py:1576 ../output.py:1672
 msgid "Skipped (dependency problems)"
-msgstr ""
+msgstr "Diabaikan (masalah-masalah ketergantungan)"
 
-#: ../output.py:1052 ../output.py:1687
+#: ../output.py:1517 ../output.py:1577 ../output.py:2223
 msgid "Not installed"
-msgstr ""
+msgstr "Tidak di-instalasi"
 
-#: ../output.py:1053
+#: ../output.py:1518 ../output.py:1578
 msgid "Not available"
-msgstr ""
+msgstr "Tidak tersedia"
 
-#: ../output.py:1075 ../output.py:2024
+#: ../output.py:1540 ../output.py:1588 ../output.py:1604 ../output.py:2581
 msgid "Package"
-msgstr ""
+msgid_plural "Packages"
+msgstr[0] "Paket"
 
-#: ../output.py:1075
+#: ../output.py:1540
 msgid "Arch"
-msgstr ""
+msgstr "Arsitektur"
 
-#: ../output.py:1076
+#: ../output.py:1541
 msgid "Version"
-msgstr ""
+msgstr "Versi"
 
-#: ../output.py:1076
+#: ../output.py:1541
 msgid "Repository"
-msgstr ""
+msgstr "Repositori"
 
-#: ../output.py:1077
+#: ../output.py:1542
 msgid "Size"
-msgstr ""
+msgstr "Ukuran"
 
-#: ../output.py:1089
+#: ../output.py:1554
 #, python-format
 msgid "     replacing  %s%s%s.%s %s\n"
-msgstr ""
+msgstr "   menggantikan %s%s%s.%s %s\n"
 
-#: ../output.py:1098
+#: ../output.py:1563
 #, python-format
 msgid ""
 "\n"
 "Transaction Summary\n"
 "%s\n"
-msgstr ""
+msgstr "\nRingkasan Transaksi\n%s\n"
 
-#: ../output.py:1109
-#, python-format
-msgid "Install   %5.5s Package(s)\n"
-msgstr ""
+#: ../output.py:1568 ../output.py:2376 ../output.py:2377
+msgid "Install"
+msgstr "Instalasi"
 
-#: ../output.py:1113
-#, python-format
-msgid "Upgrade   %5.5s Package(s)\n"
-msgstr ""
+#: ../output.py:1570
+msgid "Upgrade"
+msgstr "Upgrade"
 
-#: ../output.py:1117
-#, python-format
-msgid "Remove    %5.5s Package(s)\n"
-msgstr ""
+#: ../output.py:1572
+msgid "Remove"
+msgstr "Hapus"
 
-#: ../output.py:1121
-#, python-format
-msgid "Reinstall %5.5s Package(s)\n"
-msgstr ""
+#: ../output.py:1574 ../output.py:2382
+msgid "Reinstall"
+msgstr "Instalasi ulang"
 
-#: ../output.py:1125
-#, python-format
-msgid "Downgrade %5.5s Package(s)\n"
-msgstr ""
+#: ../output.py:1575 ../output.py:2383
+msgid "Downgrade"
+msgstr "Downgrade"
+
+#: ../output.py:1606
+msgid "Dependent package"
+msgid_plural "Dependent packages"
+msgstr[0] "Paket-paket yang tergantung"
 
-#: ../output.py:1165
+#: ../output.py:1666
 msgid "Removed"
-msgstr ""
+msgstr "Telah dihapus"
 
-#: ../output.py:1166
+#: ../output.py:1667
 msgid "Dependency Removed"
-msgstr ""
+msgstr "Ketergantungan telah Dihapus"
 
-#: ../output.py:1168
+#: ../output.py:1669
 msgid "Dependency Installed"
-msgstr ""
+msgstr "Ketergantungan telah di-instalasi"
 
-#: ../output.py:1170
+#: ../output.py:1671
 msgid "Dependency Updated"
-msgstr ""
+msgstr "Ketergantungan telah diperbarui"
 
-#: ../output.py:1172
+#: ../output.py:1673
 msgid "Replaced"
-msgstr ""
+msgstr "Telah digantikan"
 
-#: ../output.py:1173
+#: ../output.py:1674
 msgid "Failed"
-msgstr ""
+msgstr "Gagal"
 
 #. Delta between C-c's so we treat as exit
-#: ../output.py:1260
+#: ../output.py:1764
 msgid "two"
-msgstr ""
+msgstr "dua"
 
 #. For translators: This is output like:
 #. Current download cancelled, interrupt (ctrl-c) again within two seconds
 #. to exit.
-#. Where "interupt (ctrl-c) again" and "two" are highlighted.
-#: ../output.py:1271
+#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
+#: ../output.py:1775
 #, python-format
 msgid ""
 "\n"
 " Current download cancelled, %sinterrupt (ctrl-c) again%s within %s%s%s seconds\n"
 "to exit.\n"
-msgstr ""
+msgstr "\n Unduhan saat ini telah dibatalkan, %sinterupsi dengan (ctrl-c) lagi%s dalam waktu %s%s%s detik \nuntuk keluar.\n"
 
-#: ../output.py:1282
+#: ../output.py:1786
 msgid "user interrupt"
-msgstr ""
+msgstr "interupsi oleh pengguna"
 
-#: ../output.py:1300
+#: ../output.py:1812
 msgid "Total"
-msgstr ""
+msgstr "Total"
 
-#: ../output.py:1322
+#: ../output.py:1834
 msgid "I"
-msgstr ""
+msgstr "I"
 
-#: ../output.py:1323
+#: ../output.py:1835
 msgid "O"
-msgstr ""
+msgstr "O"
 
-#: ../output.py:1324
+#: ../output.py:1836
 msgid "E"
-msgstr ""
+msgstr "E"
 
-#: ../output.py:1325
+#: ../output.py:1837
 msgid "R"
-msgstr ""
+msgstr "R"
 
-#: ../output.py:1326
+#: ../output.py:1838
 msgid "D"
-msgstr ""
+msgstr "D"
 
-#: ../output.py:1327
+#: ../output.py:1839
 msgid "U"
-msgstr ""
+msgstr "U"
 
-#: ../output.py:1341
+#: ../output.py:1853
 msgid "<unset>"
-msgstr ""
+msgstr "<unset>"
 
-#: ../output.py:1342
+#: ../output.py:1854
 msgid "System"
-msgstr ""
+msgstr "Sistem"
 
-#: ../output.py:1411
+#: ../output.py:1923
 #, python-format
 msgid "Skipping merged transaction %d to %d, as it overlaps"
-msgstr ""
+msgstr "Mengabaikan transaksi gabungan %d hingga %d, karena tumpang-tindih satu sama lain"
 
-#: ../output.py:1421 ../output.py:1592
+#: ../output.py:1933 ../output.py:2125
 msgid "No transactions"
-msgstr ""
+msgstr "Tanpa transaksi-transaksi"
 
-#: ../output.py:1446 ../output.py:2013
+#: ../output.py:1958 ../output.py:2570 ../output.py:2660
 msgid "Bad transaction IDs, or package(s), given"
-msgstr ""
+msgstr "IDs transaksi buruk, atau paket(s), diberikan"
 
-#: ../output.py:1484
+#: ../output.py:2007
 msgid "Command line"
-msgstr ""
+msgstr "Baris perintah"
 
-#: ../output.py:1486 ../output.py:1908
+#: ../output.py:2009 ../output.py:2458
 msgid "Login user"
-msgstr ""
+msgstr "Login pengguna"
 
 #. REALLY Needs to use columns!
-#: ../output.py:1487 ../output.py:2022
+#: ../output.py:2010 ../output.py:2579
 msgid "ID"
-msgstr ""
+msgstr "ID"
 
-#: ../output.py:1489
+#: ../output.py:2012
 msgid "Date and time"
-msgstr ""
+msgstr "Tanggal dan Jam"
 
-#: ../output.py:1490 ../output.py:1910 ../output.py:2023
+#: ../output.py:2013 ../output.py:2460 ../output.py:2580
 msgid "Action(s)"
-msgstr ""
+msgstr "Aksi(s)"
 
-#: ../output.py:1491 ../output.py:1911
+#: ../output.py:2014 ../output.py:2461
 msgid "Altered"
-msgstr ""
+msgstr "Diubah"
 
-#: ../output.py:1538
+#: ../output.py:2061
 msgid "No transaction ID given"
-msgstr ""
+msgstr "Tidak diberikan ID transaksi"
 
-#: ../output.py:1564 ../output.py:1972
+#: ../output.py:2087 ../output.py:2526
 msgid "Bad transaction ID given"
-msgstr ""
+msgstr "Diberikan ID transaksi yang keliru"
 
-#: ../output.py:1569
+#: ../output.py:2092
 msgid "Not found given transaction ID"
-msgstr ""
+msgstr "ID transaksi belum diberikan"
 
-#: ../output.py:1577
+#: ../output.py:2100
 msgid "Found more than one transaction ID!"
-msgstr ""
+msgstr "Ditemukan lebih dari satu buah ID transaksi!"
 
-#: ../output.py:1618 ../output.py:1980
+#: ../output.py:2151 ../output.py:2534
 msgid "No transaction ID, or package, given"
-msgstr ""
+msgstr "Tidak diberikan ID transaksi maupun paket"
 
-#: ../output.py:1686 ../output.py:1845
+#: ../output.py:2222 ../output.py:2384
 msgid "Downgraded"
-msgstr ""
+msgstr "Telah di-downgrade"
 
-#: ../output.py:1688
+#: ../output.py:2224
 msgid "Older"
-msgstr ""
+msgstr "Lebih tua"
 
-#: ../output.py:1688
+#: ../output.py:2224
 msgid "Newer"
-msgstr ""
+msgstr "Lebih baru"
 
-#: ../output.py:1724 ../output.py:1726
+#: ../output.py:2261 ../output.py:2263 ../output.py:2681
 msgid "Transaction ID :"
-msgstr ""
+msgstr "ID Transaksi   :"
 
-#: ../output.py:1728
+#: ../output.py:2265 ../output.py:2683
 msgid "Begin time     :"
-msgstr ""
+msgstr "Awal mula      :"
 
-#: ../output.py:1731 ../output.py:1733
+#: ../output.py:2268 ../output.py:2270
 msgid "Begin rpmdb    :"
-msgstr ""
+msgstr "Awal rpmdb     :"
 
-#: ../output.py:1749
+#: ../output.py:2286
 #, python-format
 msgid "(%u seconds)"
-msgstr ""
+msgstr "(%u detik)"
 
-#: ../output.py:1751
+#: ../output.py:2288
 #, python-format
 msgid "(%u minutes)"
-msgstr ""
+msgstr "(%u menit)"
 
-#: ../output.py:1753
+#: ../output.py:2290
 #, python-format
 msgid "(%u hours)"
-msgstr ""
+msgstr "(%u jam)"
 
-#: ../output.py:1755
+#: ../output.py:2292
 #, python-format
 msgid "(%u days)"
-msgstr ""
+msgstr "(%u hari)"
 
-#: ../output.py:1756
+#: ../output.py:2293
 msgid "End time       :"
-msgstr ""
+msgstr "Akhir waktu    :"
 
-#: ../output.py:1759 ../output.py:1761
+#: ../output.py:2296 ../output.py:2298
 msgid "End rpmdb      :"
-msgstr ""
+msgstr "Akhir rpmdb    :"
 
-#: ../output.py:1764 ../output.py:1766
+#: ../output.py:2301 ../output.py:2303
 msgid "User           :"
-msgstr ""
+msgstr "Pengguna       :"
 
-#: ../output.py:1770 ../output.py:1773 ../output.py:1775 ../output.py:1777
-#: ../output.py:1779
+#: ../output.py:2307 ../output.py:2310 ../output.py:2312 ../output.py:2314
+#: ../output.py:2316
 msgid "Return-Code    :"
-msgstr ""
+msgstr "Kode-balik     :"
 
-#: ../output.py:1770 ../output.py:1775
+#: ../output.py:2307 ../output.py:2312
 msgid "Aborted"
-msgstr ""
+msgstr "Digugurkan"
 
-#: ../output.py:1773
+#: ../output.py:2310
 msgid "Failures:"
-msgstr ""
+msgstr "Kegagalan-kegagalan:"
 
-#: ../output.py:1777
+#: ../output.py:2314
 msgid "Failure:"
-msgstr ""
+msgstr "Kegagalan:"
 
-#: ../output.py:1779
+#: ../output.py:2316
 msgid "Success"
-msgstr ""
+msgstr "Sukses"
 
-#: ../output.py:1784 ../output.py:1786
+#: ../output.py:2321 ../output.py:2323 ../output.py:2712
 msgid "Command Line   :"
-msgstr ""
+msgstr "Baris Perintah :"
 
-#: ../output.py:1795
+#: ../output.py:2332
 #, python-format
 msgid "Additional non-default information stored: %d"
-msgstr ""
+msgstr "Informasi non-standar tambahan yang telah tersimpan: %d"
 
 #. This is _possible_, but not common
-#: ../output.py:1800
+#: ../output.py:2337
 msgid "Transaction performed with:"
-msgstr ""
+msgstr "Tansaksi dilakukan dengan :"
 
-#: ../output.py:1804
+#: ../output.py:2341
 msgid "Packages Altered:"
-msgstr ""
+msgstr "Paket-paket yang diubah:"
 
-#: ../output.py:1808
+#: ../output.py:2345
 msgid "Packages Skipped:"
-msgstr ""
+msgstr "Paket-paket yang diabaikan:"
 
-#: ../output.py:1814
+#: ../output.py:2353
 msgid "Rpmdb Problems:"
-msgstr ""
+msgstr "Permasalahan-permasalahan Rpmdb:"
 
-#: ../output.py:1825
+#: ../output.py:2364
 msgid "Scriptlet output:"
-msgstr ""
+msgstr "Keluaran Scriplet:"
 
-#: ../output.py:1831
+#: ../output.py:2370
 msgid "Errors:"
-msgstr ""
-
-#: ../output.py:1837 ../output.py:1838
-msgid "Install"
-msgstr ""
+msgstr "Kesalahan-kesalahan:"
 
-#: ../output.py:1839
+#: ../output.py:2378
 msgid "Dep-Install"
-msgstr ""
+msgstr "Dep-Install"
 
-#: ../output.py:1841
+#: ../output.py:2380
 msgid "Obsoleting"
-msgstr ""
+msgstr "Akan usang"
 
-#: ../output.py:1842
+#: ../output.py:2381
 msgid "Erase"
-msgstr ""
-
-#: ../output.py:1843
-msgid "Reinstall"
-msgstr ""
-
-#: ../output.py:1844
-msgid "Downgrade"
-msgstr ""
+msgstr "Hapus"
 
-#: ../output.py:1846
+#: ../output.py:2385
 msgid "Update"
-msgstr ""
+msgstr "Perbarui"
 
-#: ../output.py:1909
+#: ../output.py:2459
 msgid "Time"
-msgstr ""
+msgstr "Waktu"
 
-#: ../output.py:1935
+#: ../output.py:2485
 msgid "Last day"
-msgstr ""
+msgstr "1 hari terakhir"
 
-#: ../output.py:1936
+#: ../output.py:2486
 msgid "Last week"
-msgstr ""
+msgstr "1 minggu terakhir"
 
-#: ../output.py:1937
+#: ../output.py:2487
 msgid "Last 2 weeks"
-msgstr ""
+msgstr "2 minggu terakhir"
 
 #. US default :p
-#: ../output.py:1938
+#: ../output.py:2488
 msgid "Last 3 months"
-msgstr ""
+msgstr "3 bulan terakhir"
 
-#: ../output.py:1939
+#: ../output.py:2489
 msgid "Last 6 months"
-msgstr ""
+msgstr "6 bulan terakhir"
 
-#: ../output.py:1940
+#: ../output.py:2490
 msgid "Last year"
-msgstr ""
+msgstr "1 tahun terakhir"
 
-#: ../output.py:1941
+#: ../output.py:2491
 msgid "Over a year ago"
-msgstr ""
+msgstr "Selama satu tahun yang lalu"
 
-#: ../output.py:1984
+#: ../output.py:2538
 #, python-format
 msgid "No Transaction %s found"
-msgstr ""
+msgstr "Tidak ditemukan transaksi %s"
 
-#: ../output.py:1990
+#: ../output.py:2544
 msgid "Transaction ID:"
-msgstr ""
+msgstr "ID Transaksi  :"
 
-#: ../output.py:1991
+#: ../output.py:2545
 msgid "Available additional history information:"
-msgstr ""
+msgstr "Sejarah informasi tambahan yang tersedia:"
 
-#: ../output.py:2003
+#: ../output.py:2558
 #, python-format
 msgid "%s: No additional data found by this name"
-msgstr ""
+msgstr "%s: Tidak ada data tambahan yang ditemukan dengan nama ini"
+
+#: ../output.py:2684
+msgid "Package        :"
+msgstr "Paket          :"
+
+#: ../output.py:2685
+msgid "State          :"
+msgstr "Status         :"
+
+#: ../output.py:2688
+msgid "Size           :"
+msgstr "Ukuran         :"
+
+#: ../output.py:2690
+msgid "Build host     :"
+msgstr "Dibangun pada host:"
+
+#: ../output.py:2693
+msgid "Build time     :"
+msgstr "Dibangun pada waktu:"
+
+#: ../output.py:2695
+msgid "Packager       :"
+msgstr "Dipaketkan oleh:"
+
+#: ../output.py:2697
+msgid "Vendor         :"
+msgstr "Vendor         :"
+
+#: ../output.py:2699
+msgid "License        :"
+msgstr "Lisensi        :"
+
+#: ../output.py:2701
+msgid "URL            :"
+msgstr "URL            :"
+
+#: ../output.py:2703
+msgid "Source RPM     :"
+msgstr "RPM Sumber     :"
+
+#: ../output.py:2706
+msgid "Commit Time    :"
+msgstr "Jam commit     :"
+
+#: ../output.py:2708
+msgid "Committer      :"
+msgstr "Pelaku commit  :"
+
+#: ../output.py:2710
+msgid "Reason         :"
+msgstr "Alasan         :"
 
-#: ../output.py:2106
+#: ../output.py:2714
+msgid "From repo      :"
+msgstr "Asal repo      :"
+
+#: ../output.py:2718
+msgid "Installed by   :"
+msgstr "Telah di-instalasi oleh:"
+
+#: ../output.py:2722
+msgid "Changed by     :"
+msgstr "Telah diubah oleh: %s"
+
+#: ../output.py:2767
 msgid "installed"
-msgstr ""
+msgstr "telah di-instalasi"
 
-#: ../output.py:2107
+#: ../output.py:2768
 msgid "an update"
-msgstr ""
+msgstr "sebuah pembaruan"
 
-#: ../output.py:2108
+#: ../output.py:2769
 msgid "erased"
-msgstr ""
+msgstr "dihapus"
 
-#: ../output.py:2109
+#: ../output.py:2770
 msgid "reinstalled"
-msgstr ""
+msgstr "telah dilakukan instalasi ulang"
 
-#: ../output.py:2110
+#: ../output.py:2771
 msgid "a downgrade"
-msgstr ""
+msgstr "sebuah downgrade"
 
-#: ../output.py:2111
+#: ../output.py:2772
 msgid "obsoleting"
-msgstr ""
+msgstr "akan usang"
 
-#: ../output.py:2112
+#: ../output.py:2773
 msgid "updated"
-msgstr ""
+msgstr "telah diperbarui"
 
-#: ../output.py:2113
+#: ../output.py:2774
 msgid "obsoleted"
-msgstr ""
+msgstr "telah usang"
 
-#: ../output.py:2117
+#: ../output.py:2778
 #, python-format
 msgid "---> Package %s.%s %s:%s-%s will be %s"
-msgstr ""
+msgstr "---> Paket %s.%s %s:%s-%s akan %s"
 
-#: ../output.py:2124
+#: ../output.py:2789
 msgid "--> Running transaction check"
-msgstr ""
+msgstr "--> Menjalankan pengujian transaksi"
 
-#: ../output.py:2129
+#: ../output.py:2795
 msgid "--> Restarting Dependency Resolution with new changes."
-msgstr ""
+msgstr "--> Mengulangi resolusi ketergantungan dengan peubahan-peubahan baru"
 
-#: ../output.py:2134
+#: ../output.py:2801
 msgid "--> Finished Dependency Resolution"
-msgstr ""
+msgstr "--> Resolusi ketergantungan telah diselesaikan"
 
-#: ../output.py:2139 ../output.py:2144
+#: ../output.py:2814 ../output.py:2827
 #, python-format
 msgid "--> Processing Dependency: %s for package: %s"
-msgstr ""
+msgstr "--> Mem-proses ketergantungan: %s untuk paket: %s"
 
-#: ../output.py:2149
+#: ../output.py:2841
 #, python-format
-msgid "---> Keeping package: %s"
+msgid "---> Keeping package: %s due to %s"
 msgstr ""
 
-#: ../output.py:2152
+#: ../output.py:2850
 #, python-format
 msgid "--> Unresolved Dependency: %s"
-msgstr ""
+msgstr "--> Ketergantungan tidak terselesaikan: %s"
 
-#: ../output.py:2163
+#: ../output.py:2867
 #, python-format
 msgid "Package: %s"
-msgstr ""
+msgstr "Paket  : %s"
 
-#: ../output.py:2165
+#: ../output.py:2869
 #, python-format
 msgid ""
 "\n"
 "    Requires: %s"
-msgstr ""
+msgstr "\n    Membutuhkan: %s"
 
-#: ../output.py:2174
+#: ../output.py:2878
 #, python-format
 msgid ""
 "\n"
 "    %s: %s (%s)"
-msgstr ""
+msgstr "\n    %s: %s (%s)"
 
-#: ../output.py:2179
+#: ../output.py:2883
 #, python-format
 msgid ""
 "\n"
 "        %s"
-msgstr ""
+msgstr "\n        %s"
 
-#: ../output.py:2181
+#: ../output.py:2885
 msgid ""
 "\n"
 "        Not found"
-msgstr ""
+msgstr "\n        Tidak ditemukan"
 
 #. These should be the only three things we care about:
-#: ../output.py:2196
+#: ../output.py:2900
 msgid "Updated By"
-msgstr ""
+msgstr "Telah diperbarui Oleh"
 
-#: ../output.py:2197
+#: ../output.py:2901
 msgid "Downgraded By"
-msgstr ""
+msgstr "Telah di-downgrade Oleh"
 
-#: ../output.py:2198
+#: ../output.py:2902
 msgid "Obsoleted By"
-msgstr ""
+msgstr "Telah di-usang-kan Oleh"
 
-#: ../output.py:2216
+#: ../output.py:2920
 msgid "Available"
-msgstr ""
+msgstr "Tersedia"
 
-#: ../output.py:2243 ../output.py:2248
+#: ../output.py:2955 ../output.py:2968
 #, python-format
 msgid "--> Processing Conflict: %s conflicts %s"
-msgstr ""
+msgstr "--> Memproses Konflik  : %s konflik %s"
 
-#: ../output.py:2252
+#: ../output.py:2974
 msgid "--> Populating transaction set with selected packages. Please wait."
-msgstr ""
+msgstr "--> Sedang melakukan populasi satuan transaksi dengan paket-paket terpilih. Mohon ditunggu."
 
-#: ../output.py:2256
+#: ../output.py:2983
 #, python-format
 msgid "---> Downloading header for %s to pack into transaction set."
-msgstr ""
+msgstr "---> Sedang melakukan pengunduhan header %s untuk digabungkan ke dalam satuan transaksi."
 
-#: ../utils.py:99
+#. self.event(txmbr.name, count, len(base.tsInfo), count, )
+#. (te_current*100L)/te_total
+#: ../output.py:3248
+msgid "Verifying"
+msgstr "Melakukan verifikasi"
+
+#: ../utils.py:123
 msgid "Running"
-msgstr ""
+msgstr "Sedang menjalankan"
 
-#: ../utils.py:100
+#: ../utils.py:124
 msgid "Sleeping"
-msgstr ""
+msgstr "Sedang tidur"
 
-#: ../utils.py:101
+#: ../utils.py:125
 msgid "Uninterruptible"
-msgstr ""
+msgstr "Tidak bisa di-interupsi"
 
-#: ../utils.py:102
+#: ../utils.py:126
 msgid "Zombie"
-msgstr ""
+msgstr "Zombie"
 
-#: ../utils.py:103
+#: ../utils.py:127
 msgid "Traced/Stopped"
-msgstr ""
+msgstr "Trace/Dihentikan"
 
-#: ../utils.py:104 ../yumcommands.py:994
+#: ../utils.py:128 ../yumcommands.py:2193
 msgid "Unknown"
-msgstr ""
+msgstr "Tidak dikenal"
 
-#: ../utils.py:115
+#: ../utils.py:153
 msgid "  The other application is: PackageKit"
-msgstr ""
+msgstr "  Aplikasi yang lain adalah: PackageKit"
 
-#: ../utils.py:117
+#: ../utils.py:155
 #, python-format
 msgid "  The other application is: %s"
-msgstr ""
+msgstr "  Aplikas yang lain adalah: %s"
 
-#: ../utils.py:120
+#: ../utils.py:158
 #, python-format
 msgid "    Memory : %5s RSS (%5sB VSZ)"
-msgstr ""
+msgstr "    Memory : %5s RSS (%5sB VSZ)"
 
-#: ../utils.py:125
+#: ../utils.py:163
 #, python-format
 msgid "    Started: %s - %s ago"
-msgstr ""
+msgstr "    Telah dimulai: %s - %s yang lalu"
 
-#: ../utils.py:127
+#: ../utils.py:165
 #, python-format
 msgid "    State  : %s, pid: %d"
-msgstr ""
+msgstr "    Status : %s, pid: %d"
 
-#: ../utils.py:170 ../yummain.py:43
+#: ../utils.py:194 ../yummain.py:43
 msgid ""
 "\n"
 "\n"
 "Exiting on user cancel"
-msgstr ""
+msgstr "\n\nKeluar, digagalkan oleh pengguna"
 
-#: ../utils.py:176 ../yummain.py:49
+#: ../utils.py:206 ../yummain.py:49
 msgid ""
 "\n"
 "\n"
 "Exiting on Broken Pipe"
-msgstr ""
+msgstr "\n\nKeluar, karena Broken Pipe"
 
-#: ../utils.py:178 ../yummain.py:51
+#: ../utils.py:208 ../yummain.py:51
 #, python-format
 msgid ""
 "\n"
 "\n"
 "%s"
-msgstr ""
-
-#: ../utils.py:228 ../yummain.py:123
-msgid ""
-"Another app is currently holding the yum lock; exiting as configured by "
-"exit_on_lock"
-msgstr ""
+msgstr "\n\n%s"
 
-#: ../utils.py:287
+#: ../utils.py:326
 #, python-format
 msgid "PluginExit Error: %s"
-msgstr ""
+msgstr "PluginExit Kesalahan: %s"
 
-#: ../utils.py:290
+#: ../utils.py:329
 #, python-format
 msgid "Yum Error: %s"
-msgstr ""
+msgstr "Kesalahan Yum: %s"
 
-#: ../utils.py:342 ../yummain.py:150 ../yummain.py:189
+#: ../utils.py:387 ../yummain.py:147 ../yummain.py:186
 #, python-format
 msgid "Error: %s"
-msgstr ""
+msgstr "Kesalahan: %s"
 
-#: ../utils.py:346 ../yummain.py:194
+#: ../utils.py:391 ../yummain.py:191
 msgid " You could try using --skip-broken to work around the problem"
-msgstr ""
+msgstr " Anda dapat mencoba untuk menggunakan --skip-broken untuk menyelesaikan permasalahan yang ada"
 
-#: ../utils.py:348 ../yummain.py:87
+#: ../utils.py:393 ../yummain.py:87
 msgid " You could try running: rpm -Va --nofiles --nodigest"
-msgstr ""
+msgstr " Anda dapat mencoba untuk menjalankan: rpm -Va --nofiles --nodigest"
 
-#: ../utils.py:355 ../yummain.py:160 ../yummain.py:202
+#: ../utils.py:400 ../yummain.py:157 ../yummain.py:199
 #, python-format
 msgid "Unknown Error(s): Exit Code: %d:"
-msgstr ""
+msgstr "Kesalahan(s) tidak dikenal: Kode Exit: %d:"
 
-#: ../utils.py:361 ../yummain.py:208
+#: ../utils.py:406 ../yummain.py:205
 msgid ""
 "\n"
 "Dependencies Resolved"
-msgstr ""
+msgstr "\nKetergantungan-ketergantungan telah Diselesaikan"
 
-#: ../utils.py:376 ../yummain.py:234
+#: ../utils.py:422 ../yummain.py:237
 msgid "Complete!"
-msgstr ""
+msgstr "Terselesaikan!"
 
 #: ../yumcommands.py:42
 msgid " Mini usage:\n"
-msgstr ""
+msgstr " Penggunaan mini:\n"
 
 #: ../yumcommands.py:52
 msgid "You need to be root to perform this command."
-msgstr ""
+msgstr "Anda harus login sebagai root agar bisa menjalankan perintah ini."
 
-#: ../yumcommands.py:59
+#: ../yumcommands.py:67
 msgid ""
 "\n"
 "You have enabled checking of packages via GPG keys. This is a good thing. \n"
@@ -1487,1584 +1656,1836 @@ msgid ""
 "will install it for you.\n"
 "\n"
 "For more information contact your distribution or package provider.\n"
-msgstr ""
+msgstr "\nAnda telah mengaktifkan pengawasan paket melalui kunci GPG. Ini adalah hal yang baik. \nNamun, Anda tidak memiliki kunci publik GPG yang ter-install pada sistem ini.Anda perlu mengunduh kunci untuk paket yang ingin Anda instalasi, kemudian lakukan instalasi kunci publik ini.\nInstalasi kunci publik bisa dilakukan dengan cara menjalankan perintah berikut:\n    rpm --import public.gpg.key\n\n\nAlternatif lain, Anda dapat menentukan url dari kunci yang ingin digunakan untuk sebuah repositori pada opsi 'gpgkey' di dalam konfigurasi repositori dan aplikasi yum akan melakukan instalasi kunci ini untuk Anda.\n\nUntuk informasi yang lebih lengkap, silakan menghubungi penyedia paket maupun penyedia distribusi sistem.\n"
 
-#: ../yumcommands.py:74
+#: ../yumcommands.py:82
 #, python-format
 msgid "Problem repository: %s"
-msgstr ""
+msgstr "Permasalahan repositori: %s"
 
-#: ../yumcommands.py:80
+#: ../yumcommands.py:96
 #, python-format
 msgid "Error: Need to pass a list of pkgs to %s"
+msgstr "Kesalahan: Diperlukan untuk melewatkan daftar paket menuju %s"
+
+#: ../yumcommands.py:114
+#, python-format
+msgid "Error: Need at least two packages to %s"
 msgstr ""
 
-#: ../yumcommands.py:86
-msgid "Error: Need an item to match"
+#: ../yumcommands.py:129
+#, python-format
+msgid "Error: Need to pass a repoid. and command to %s"
 msgstr ""
 
-#: ../yumcommands.py:92
-msgid "Error: Need a group or list of groups"
+#: ../yumcommands.py:136 ../yumcommands.py:142
+#, python-format
+msgid "Error: Need to pass a single valid repoid. to %s"
 msgstr ""
 
-#: ../yumcommands.py:101
+#: ../yumcommands.py:147
 #, python-format
-msgid "Error: clean requires an option: %s"
+msgid "Error: Repo %s is not enabled"
 msgstr ""
 
-#: ../yumcommands.py:106
+#: ../yumcommands.py:164
+msgid "Error: Need an item to match"
+msgstr "Kesalahan: Diperlukan sebuah item yang cocok"
+
+#: ../yumcommands.py:178
+msgid "Error: Need a group or list of groups"
+msgstr "Kesalahan: Diperlukan sebuah grup ataupun daftar grup-grup"
+
+#: ../yumcommands.py:195
+#, python-format
+msgid "Error: clean requires an option: %s"
+msgstr "Kesalahan: pembersihan memerlukan sebuah opsi: %s"
+
+#: ../yumcommands.py:201
 #, python-format
 msgid "Error: invalid clean argument: %r"
-msgstr ""
+msgstr "Kesalahan: argumen yang digunakan untuk pembersihan, keliru: %r"
 
-#: ../yumcommands.py:119
+#: ../yumcommands.py:216
 msgid "No argument to shell"
-msgstr ""
+msgstr "Tidak ada argumen untuk shell"
 
-#: ../yumcommands.py:121
+#: ../yumcommands.py:218
 #, python-format
 msgid "Filename passed to shell: %s"
-msgstr ""
+msgstr "Nama berkas telah dilewatkan menuju shell: %s"
 
-#: ../yumcommands.py:125
+#: ../yumcommands.py:222
 #, python-format
 msgid "File %s given as argument to shell does not exist."
-msgstr ""
+msgstr "Tidak tersedia beerkas %s yang diberikan sebagai argumen kepada shell."
 
-#: ../yumcommands.py:131
+#: ../yumcommands.py:228
 msgid "Error: more than one file given as argument to shell."
-msgstr ""
+msgstr "Kesalahan: lebih dari satu berkas diberikan sebagai argumen kepada shell."
 
-#: ../yumcommands.py:148
+#: ../yumcommands.py:247
 msgid ""
 "There are no enabled repos.\n"
 " Run \"yum repolist all\" to see the repos you have.\n"
 " You can enable repos with yum-config-manager --enable <repo>"
-msgstr ""
+msgstr "Tidak terdapat repo yang aktif.\n Jalankan \"yum repolist all\" untuk melihat repo yang Anda miliki.\n Anda dapat mengaktifkan repo dengan menjalankan perintah yum-config-manager --enable <repo>"
 
-#: ../yumcommands.py:200
+#: ../yumcommands.py:383
 msgid "PACKAGE..."
-msgstr ""
+msgstr "PAKET....."
 
-#: ../yumcommands.py:203
+#: ../yumcommands.py:390
 msgid "Install a package or packages on your system"
-msgstr ""
+msgstr "Melakukan instalasi sebuah paket atau sekumpulan paket pada sistem yang Anda miliki"
 
-#: ../yumcommands.py:212
+#: ../yumcommands.py:421
 msgid "Setting up Install Process"
-msgstr ""
+msgstr "Menyiapkan Proses Instalasi"
 
-#: ../yumcommands.py:223 ../yumcommands.py:245
+#: ../yumcommands.py:447 ../yumcommands.py:507
 msgid "[PACKAGE...]"
-msgstr ""
+msgstr "[PAKET.....]"
 
-#: ../yumcommands.py:226
+#: ../yumcommands.py:454
 msgid "Update a package or packages on your system"
-msgstr ""
+msgstr "Perbarui sebuah paket atau sekumpulan paket pada sistem Anda"
 
-#: ../yumcommands.py:234
+#: ../yumcommands.py:483
 msgid "Setting up Update Process"
-msgstr ""
+msgstr "Menyiapkan Proses Pembaruan"
 
-#: ../yumcommands.py:248
+#: ../yumcommands.py:514
 msgid "Synchronize installed packages to the latest available versions"
-msgstr ""
+msgstr "Sinkronisasi paket-paket terinstalasi menuju versi terbaru yang tersedia"
 
-#: ../yumcommands.py:256
+#: ../yumcommands.py:543
 msgid "Setting up Distribution Synchronization Process"
-msgstr ""
+msgstr "Menyiapkan Proses Sinkronisasi Distribusi"
 
-#: ../yumcommands.py:299
+#: ../yumcommands.py:603
 msgid "Display details about a package or group of packages"
-msgstr ""
+msgstr "Menampilkan detail sebuah paket atau grup dari paket-paket"
 
-#: ../yumcommands.py:348
+#: ../yumcommands.py:672
 msgid "Installed Packages"
-msgstr ""
+msgstr "Paket-paket yang telah ter-instalasi"
 
-#: ../yumcommands.py:356
+#: ../yumcommands.py:682
 msgid "Available Packages"
-msgstr ""
+msgstr "Paket-paket yang Tersedia"
 
-#: ../yumcommands.py:360
+#: ../yumcommands.py:687
 msgid "Extra Packages"
-msgstr ""
+msgstr "Paket-paket Tambahan"
 
-#: ../yumcommands.py:364
+#: ../yumcommands.py:691
 msgid "Updated Packages"
-msgstr ""
+msgstr "Paket-paket yang telah Diperbarui"
 
 #. This only happens in verbose mode
-#: ../yumcommands.py:372 ../yumcommands.py:379 ../yumcommands.py:667
+#: ../yumcommands.py:699 ../yumcommands.py:706 ../yumcommands.py:1539
 msgid "Obsoleting Packages"
-msgstr ""
+msgstr "Paket-paket yang akan usang"
 
-#: ../yumcommands.py:381
+#: ../yumcommands.py:708
 msgid "Recently Added Packages"
-msgstr ""
+msgstr "Paket-paket yang baru saja Ditambahkan"
 
-#: ../yumcommands.py:388
+#: ../yumcommands.py:715
 msgid "No matching Packages to list"
-msgstr ""
+msgstr "Tidak ada kecocokan paket-paket dengan daftar yang ada"
 
-#: ../yumcommands.py:402
+#: ../yumcommands.py:766
 msgid "List a package or groups of packages"
-msgstr ""
+msgstr "Daftar sebuah paket atau grup-grup dari paket-paket"
 
-#: ../yumcommands.py:414
+#: ../yumcommands.py:797
 msgid "Remove a package or packages from your system"
-msgstr ""
+msgstr "Menghapus sebuah paket atau sekumpulan paket dari sistem Anda"
 
-#: ../yumcommands.py:421
+#: ../yumcommands.py:845
 msgid "Setting up Remove Process"
-msgstr ""
+msgstr "Menyiapkan Proses Penghapusan"
+
+#: ../yumcommands.py:906
+msgid "Display, or use, the groups information"
+msgstr "Menampilkan, atau menggunakan, informasi dari grup-grup"
 
-#: ../yumcommands.py:435
+#: ../yumcommands.py:909
 msgid "Setting up Group Process"
-msgstr ""
+msgstr "Menyiapkan Proses Grup"
 
-#: ../yumcommands.py:441
+#: ../yumcommands.py:915
 msgid "No Groups on which to run command"
-msgstr ""
+msgstr "Tidak ada grup-grup dimana perintah dijalankan"
 
-#: ../yumcommands.py:454
-msgid "List available package groups"
-msgstr ""
-
-#: ../yumcommands.py:474
-msgid "Install the packages in a group on your system"
-msgstr ""
+#: ../yumcommands.py:985
+#, python-format
+msgid "Invalid groups sub-command, use: %s."
+msgstr "Sub-perintah grup-grup yang keliru, gunakan: %s."
 
-#: ../yumcommands.py:497
-msgid "Remove the packages in a group from your system"
-msgstr ""
+#: ../yumcommands.py:992
+msgid "There is no installed groups file."
+msgstr "Tidak terdapat file dari grup-grup yang sudah ter-instalasi."
 
-#: ../yumcommands.py:525
-msgid "Display details about a package group"
-msgstr ""
+#: ../yumcommands.py:994
+msgid "You don't have access to the groups DB."
+msgstr "Anda tidak memiliki akses terhadap DB grup-grup."
 
-#: ../yumcommands.py:550
+#: ../yumcommands.py:1256
 msgid "Generate the metadata cache"
-msgstr ""
+msgstr "Menghasilkan cache dari metadata"
 
-#: ../yumcommands.py:556
+#: ../yumcommands.py:1282
 msgid "Making cache files for all metadata files."
-msgstr ""
+msgstr "Membuat cache dari berkas-berkas untuk semua berkas metadata."
 
-#: ../yumcommands.py:557
+#: ../yumcommands.py:1283
 msgid "This may take a while depending on the speed of this computer"
-msgstr ""
+msgstr "Akan memakan waktu cukup lama, tergantung dari kecepatan yang dimiliki oleh komputer ini"
 
-#: ../yumcommands.py:578
+#: ../yumcommands.py:1312
 msgid "Metadata Cache Created"
-msgstr ""
+msgstr "Cache dari Metadata telah Dibuat"
 
-#: ../yumcommands.py:592
+#: ../yumcommands.py:1350
 msgid "Remove cached data"
-msgstr ""
+msgstr "Menghapus data yang sudah di-cache"
 
-#: ../yumcommands.py:613
+#: ../yumcommands.py:1417
 msgid "Find what package provides the given value"
-msgstr ""
+msgstr "Mencari paket apa yang disediakan oleh nilai yang sudah diberikan"
 
-#: ../yumcommands.py:633
+#: ../yumcommands.py:1485
 msgid "Check for available package updates"
-msgstr ""
+msgstr "Memeriksan ketersediaan paket yang terbarui"
 
-#: ../yumcommands.py:687
+#: ../yumcommands.py:1587
 msgid "Search package details for the given string"
-msgstr ""
+msgstr "Mencari detail paket untuk string yang sudah diberikan"
 
-#: ../yumcommands.py:693
+#: ../yumcommands.py:1613
 msgid "Searching Packages: "
-msgstr ""
+msgstr "Pencarian Paket-paket:"
 
-#: ../yumcommands.py:710
+#: ../yumcommands.py:1666
 msgid "Update packages taking obsoletes into account"
-msgstr ""
+msgstr "Pembaruan paket-paket juga memasukkan kondisi usang"
 
-#: ../yumcommands.py:719
+#: ../yumcommands.py:1696
 msgid "Setting up Upgrade Process"
-msgstr ""
+msgstr "Menyiapkan Proses Upgrade"
 
-#: ../yumcommands.py:737
+#: ../yumcommands.py:1731
 msgid "Install a local RPM"
-msgstr ""
+msgstr "Instalasi sebuah RPM lokal"
 
-#: ../yumcommands.py:745
+#: ../yumcommands.py:1761
 msgid "Setting up Local Package Process"
-msgstr ""
-
-#: ../yumcommands.py:764
-msgid "Determine which package provides the given dependency"
-msgstr ""
+msgstr "Menyiapkan Proses Paket Lokal"
 
-#: ../yumcommands.py:767
+#: ../yumcommands.py:1825
 msgid "Searching Packages for Dependency:"
-msgstr ""
+msgstr "Mencari Paket-paket untuk Ketergantungan:"
 
-#: ../yumcommands.py:781
+#: ../yumcommands.py:1867
 msgid "Run an interactive yum shell"
-msgstr ""
+msgstr "Menjalankan yum shell interaktif"
 
-#: ../yumcommands.py:787
+#: ../yumcommands.py:1893
 msgid "Setting up Yum Shell"
-msgstr ""
+msgstr "Menyiapkan Yum Shell"
 
-#: ../yumcommands.py:805
+#: ../yumcommands.py:1936
 msgid "List a package's dependencies"
-msgstr ""
+msgstr "Daftar ketergantungan dari sebuah paket"
 
-#: ../yumcommands.py:811
+#: ../yumcommands.py:1963
 msgid "Finding dependencies: "
-msgstr ""
+msgstr "Mencari ketergantungan:"
 
-#: ../yumcommands.py:827
+#: ../yumcommands.py:2005
 msgid "Display the configured software repositories"
-msgstr ""
+msgstr "Menampilkan repositori perangkat lunak terkonfigurasi"
 
-#: ../yumcommands.py:893 ../yumcommands.py:894
+#: ../yumcommands.py:2094 ../yumcommands.py:2095
 msgid "enabled"
-msgstr ""
+msgstr "diaktifkan"
 
-#: ../yumcommands.py:920 ../yumcommands.py:921
+#: ../yumcommands.py:2121 ../yumcommands.py:2122
 msgid "disabled"
-msgstr ""
+msgstr "di-non-aktifkan"
 
-#: ../yumcommands.py:937
+#: ../yumcommands.py:2137
 msgid "Repo-id      : "
-msgstr ""
+msgstr "Id-repo      :"
 
-#: ../yumcommands.py:938
+#: ../yumcommands.py:2138
 msgid "Repo-name    : "
-msgstr ""
+msgstr "Nama-repo    :"
 
-#: ../yumcommands.py:941
+#: ../yumcommands.py:2141
 msgid "Repo-status  : "
-msgstr ""
+msgstr "Status-repo  :"
 
-#: ../yumcommands.py:944
+#: ../yumcommands.py:2144
 msgid "Repo-revision: "
-msgstr ""
+msgstr "Revisi-repo  :"
 
-#: ../yumcommands.py:948
+#: ../yumcommands.py:2148
 msgid "Repo-tags    : "
-msgstr ""
+msgstr "Label-repo   :"
 
-#: ../yumcommands.py:954
+#: ../yumcommands.py:2154
 msgid "Repo-distro-tags: "
-msgstr ""
+msgstr "Label-distro-repo:"
 
-#: ../yumcommands.py:959
+#: ../yumcommands.py:2159
 msgid "Repo-updated : "
-msgstr ""
+msgstr "Repo-terbarui:"
 
-#: ../yumcommands.py:961
+#: ../yumcommands.py:2161
 msgid "Repo-pkgs    : "
-msgstr ""
+msgstr "Paket-repo   :"
 
-#: ../yumcommands.py:962
+#: ../yumcommands.py:2162
 msgid "Repo-size    : "
-msgstr ""
+msgstr "Ukuran-repo  :"
 
-#: ../yumcommands.py:969 ../yumcommands.py:990
+#: ../yumcommands.py:2169 ../yumcommands.py:2190
 msgid "Repo-baseurl : "
-msgstr ""
+msgstr "Baseurl-repo :"
 
-#: ../yumcommands.py:977
+#: ../yumcommands.py:2177
 msgid "Repo-metalink: "
-msgstr ""
+msgstr "Metalink-repo:"
 
-#: ../yumcommands.py:981
+#: ../yumcommands.py:2181
 msgid "  Updated    : "
-msgstr ""
+msgstr "  Terbarui   :"
 
-#: ../yumcommands.py:984
+#: ../yumcommands.py:2184
 msgid "Repo-mirrors : "
-msgstr ""
+msgstr "Mirror-repo  :"
 
-#: ../yumcommands.py:1000
+#: ../yumcommands.py:2199
 #, python-format
 msgid "Never (last: %s)"
-msgstr ""
+msgstr "Tak pernah (terakhir: %s)"
 
-#: ../yumcommands.py:1002
+#: ../yumcommands.py:2201
 #, python-format
 msgid "Instant (last: %s)"
-msgstr ""
+msgstr "Instan (terakhir: %s)"
 
-#: ../yumcommands.py:1005
+#: ../yumcommands.py:2204
 #, python-format
 msgid "%s second(s) (last: %s)"
-msgstr ""
+msgstr "%s detik(s) (terakhir: %s)"
 
-#: ../yumcommands.py:1007
+#: ../yumcommands.py:2206
 msgid "Repo-expire  : "
-msgstr ""
+msgstr "Repo-kadaluwarsa:"
 
-#: ../yumcommands.py:1010
+#: ../yumcommands.py:2209
 msgid "Repo-exclude : "
-msgstr ""
+msgstr "Repo-terkecuali:"
 
-#: ../yumcommands.py:1014
+#: ../yumcommands.py:2213
 msgid "Repo-include : "
-msgstr ""
+msgstr "Repo-termasuk:"
 
-#: ../yumcommands.py:1018
+#: ../yumcommands.py:2217
 msgid "Repo-excluded: "
-msgstr ""
+msgstr "Repo-terkecualikan:"
 
-#: ../yumcommands.py:1022
+#: ../yumcommands.py:2221
 msgid "Repo-filename: "
-msgstr ""
+msgstr "Namafile-repo:"
 
 #. Work out the first (id) and last (enabled/disalbed/count),
 #. then chop the middle (name)...
-#: ../yumcommands.py:1032 ../yumcommands.py:1061
+#: ../yumcommands.py:2230 ../yumcommands.py:2259
 msgid "repo id"
-msgstr ""
+msgstr "id repo"
 
-#: ../yumcommands.py:1049 ../yumcommands.py:1050 ../yumcommands.py:1068
+#: ../yumcommands.py:2247 ../yumcommands.py:2248 ../yumcommands.py:2266
 msgid "status"
-msgstr ""
+msgstr "status"
 
-#: ../yumcommands.py:1062
+#: ../yumcommands.py:2260
 msgid "repo name"
-msgstr ""
+msgstr "nama repo"
 
-#: ../yumcommands.py:1099
+#: ../yumcommands.py:2332
 msgid "Display a helpful usage message"
-msgstr ""
+msgstr "Menampilkan sebuah penggunaan pesan"
 
-#: ../yumcommands.py:1133
+#: ../yumcommands.py:2374
 #, python-format
 msgid "No help available for %s"
-msgstr ""
+msgstr "Tidak tersedia bantuan untuk %s"
 
-#: ../yumcommands.py:1138
+#: ../yumcommands.py:2379
 msgid ""
 "\n"
 "\n"
 "aliases: "
-msgstr ""
+msgstr "\n\nalias-alias: "
 
-#: ../yumcommands.py:1140
+#: ../yumcommands.py:2381
 msgid ""
 "\n"
 "\n"
 "alias: "
-msgstr ""
+msgstr "\n\nalias: "
 
-#: ../yumcommands.py:1168
+#: ../yumcommands.py:2466
 msgid "Setting up Reinstall Process"
-msgstr ""
+msgstr "Menyiapkan Proses Instalasi Ulang"
 
-#: ../yumcommands.py:1176
+#: ../yumcommands.py:2478
 msgid "reinstall a package"
-msgstr ""
+msgstr "instalasi ulang sebuah paket"
 
-#: ../yumcommands.py:1195
+#: ../yumcommands.py:2541
 msgid "Setting up Downgrade Process"
-msgstr ""
+msgstr "Menyiapkan Proses Downgrade"
 
-#: ../yumcommands.py:1202
+#: ../yumcommands.py:2552
 msgid "downgrade a package"
-msgstr ""
+msgstr "downgrade sebuah paket"
 
-#: ../yumcommands.py:1216
+#: ../yumcommands.py:2591
 msgid "Display a version for the machine and/or available repos."
-msgstr ""
+msgstr "Menampilkan sebuah versi dari mesin dan/atau repo-repo yang tersedia."
 
-#: ../yumcommands.py:1255
+#: ../yumcommands.py:2643
 msgid " Yum version groups:"
-msgstr ""
+msgstr " Versi yum dari grup-grup:"
 
-#: ../yumcommands.py:1265
+#: ../yumcommands.py:2653
 msgid " Group   :"
-msgstr ""
+msgstr " Grup    :"
 
-#: ../yumcommands.py:1266
+#: ../yumcommands.py:2654
 msgid " Packages:"
-msgstr ""
+msgstr " Paket-paket:"
 
-#: ../yumcommands.py:1295
+#: ../yumcommands.py:2683
 msgid "Installed:"
-msgstr ""
+msgstr "Ter-instalasi:"
 
-#: ../yumcommands.py:1303
+#: ../yumcommands.py:2691
 msgid "Group-Installed:"
-msgstr ""
+msgstr "Grup-Terinstalasi:"
 
-#: ../yumcommands.py:1312
+#: ../yumcommands.py:2700
 msgid "Available:"
-msgstr ""
+msgstr "Tersedia :"
 
-#: ../yumcommands.py:1321
+#: ../yumcommands.py:2709
 msgid "Group-Available:"
-msgstr ""
+msgstr "Grup-Tersedia  :"
 
-#: ../yumcommands.py:1360
+#: ../yumcommands.py:2783
 msgid "Display, or use, the transaction history"
-msgstr ""
+msgstr "Menampilkan, atau menggunakan, sejarah transaksi"
+
+#: ../yumcommands.py:2876 ../yumcommands.py:2880
+msgid "Transactions:"
+msgstr "Transaksi-transaksi:"
+
+#: ../yumcommands.py:2881
+msgid "Begin time  :"
+msgstr "Awal mula   :"
+
+#: ../yumcommands.py:2882
+msgid "End time    :"
+msgstr "Akhir waktu :"
+
+#: ../yumcommands.py:2883
+msgid "Counts      :"
+msgstr "Jumlah      :"
+
+#: ../yumcommands.py:2884
+msgid "  NEVRAC :"
+msgstr "  NEVRAC :"
+
+#: ../yumcommands.py:2885
+msgid "  NEVRA  :"
+msgstr "  NEVRA  :"
 
-#: ../yumcommands.py:1432
+#: ../yumcommands.py:2886
+msgid "  NA     :"
+msgstr "  NA     :"
+
+#: ../yumcommands.py:2887
+msgid "  NEVR   :"
+msgstr "  NEVR   :"
+
+#: ../yumcommands.py:2888
+msgid "  rpm DB :"
+msgstr "  DB rpm :"
+
+#: ../yumcommands.py:2889
+msgid "  yum DB :"
+msgstr "  DB yum :"
+
+#: ../yumcommands.py:2922
 #, python-format
 msgid "Invalid history sub-command, use: %s."
-msgstr ""
+msgstr "Sub-perintah grup-grup yang keliru, gunakan: %s."
 
-#: ../yumcommands.py:1439
+#: ../yumcommands.py:2929
 msgid "You don't have access to the history DB."
-msgstr ""
+msgstr "Anda tidak memiliki akses terhadap sejarah dari DB."
 
-#: ../yumcommands.py:1487
+#: ../yumcommands.py:3036
 msgid "Check for problems in the rpmdb"
-msgstr ""
+msgstr "Periksa permasalahan-permasalahan di dalam rpmdb"
 
-#: ../yumcommands.py:1514
+#: ../yumcommands.py:3102
 msgid "load a saved transaction from filename"
-msgstr ""
+msgstr "memuat subuah transaksi yang tersimpan pada nama berkas"
 
-#: ../yumcommands.py:1518
+#: ../yumcommands.py:3119
 msgid "No saved transaction file specified."
-msgstr ""
+msgstr "Tidak tersimpan transaksi untuk berkas yang telah ditentukan."
 
-#: ../yumcommands.py:1522
+#: ../yumcommands.py:3123
 #, python-format
 msgid "loading transaction from %s"
-msgstr ""
+msgstr "memuat transaksi dari %s"
 
-#: ../yumcommands.py:1528
+#: ../yumcommands.py:3129
 #, python-format
 msgid "Transaction loaded from %s with %s members"
+msgstr "Transaksi dimuat dari %s dengan anggota %s"
+
+#: ../yumcommands.py:3169
+msgid "Simple way to swap packages, isntead of using shell"
+msgstr ""
+
+#: ../yumcommands.py:3264
+msgid ""
+"Treat a repo. as a group of packages, so we can install/remove all of them"
+msgstr ""
+
+#: ../yumcommands.py:3341
+#, python-format
+msgid "%d package to update"
+msgid_plural "%d packages to update"
+msgstr[0] "%d paket akan diupdate"
+
+#: ../yumcommands.py:3370
+#, python-format
+msgid "%d package to remove/reinstall"
+msgid_plural "%d packages to remove/reinstall"
+msgstr[0] "%d akan dihapus/instalasi ulang"
+
+#: ../yumcommands.py:3413
+#, python-format
+msgid "%d package to remove/sync"
+msgid_plural "%d packages to remove/sync"
+msgstr[0] ""
+
+#: ../yumcommands.py:3417
+#, python-format
+msgid "Not a valid sub-command of %s"
 msgstr ""
 
 #. This is mainly for PackageSackError from rpmdb.
 #: ../yummain.py:84
 #, python-format
 msgid " Yum checks failed: %s"
-msgstr ""
+msgstr " Pemeriksaan Yum telah gagal: %s"
 
-#: ../yummain.py:114
-msgid ""
-"Another app is currently holding the yum lock; waiting for it to exit..."
-msgstr ""
+#: ../yummain.py:98
+msgid "No read/execute access in current directory, moving to /"
+msgstr "Tidak ada akses untuk baca/eksekusi pada direktori saat ini, dipindahkan menuju /"
 
-#: ../yummain.py:120
-msgid "Can't create lock file; exiting"
-msgstr ""
+#: ../yummain.py:106
+msgid "No getcwd() access in current directory, moving to /"
+msgstr "Tidak ada akses getcwd() pada direktori saat ini, dipindahkan menuju /"
 
 #. Depsolve stage
-#: ../yummain.py:167
+#: ../yummain.py:164
 msgid "Resolving Dependencies"
-msgstr ""
+msgstr "Sedang menyelesaikan Ketergantungan"
 
-#: ../yummain.py:230
+#: ../yummain.py:227 ../yummain.py:235
 #, python-format
-msgid "Your transaction was saved, rerun it with: yum load-transaction %s"
-msgstr ""
+msgid ""
+"Your transaction was saved, rerun it with:\n"
+" yum load-transaction %s"
+msgstr "Transaksi Anda telah disimpan, jalankan ulang transaksi dengan cara:\n yum load-transaction %s"
 
-#: ../yummain.py:288
+#: ../yummain.py:312
 msgid ""
 "\n"
 "\n"
 "Exiting on user cancel."
-msgstr ""
+msgstr "\n\nKeluar, digagalkan oleh pengguna."
 
-#: ../yum/depsolve.py:84
+#: ../yum/depsolve.py:127
 msgid "doTsSetup() will go away in a future version of Yum.\n"
-msgstr ""
+msgstr "doTsSetup() akan dihilangkan dari versi mendatang dari Yum.\n"
 
-#: ../yum/depsolve.py:99
+#: ../yum/depsolve.py:143
 msgid "Setting up TransactionSets before config class is up"
-msgstr ""
+msgstr "Menyiapkan TransactionSets sebelum kelas konfigurasi dinaikkan"
 
-#: ../yum/depsolve.py:153
+#: ../yum/depsolve.py:200
 #, python-format
 msgid "Invalid tsflag in config file: %s"
-msgstr ""
+msgstr "Kekeliruan tsflag dalam berkas konfigurasi: %s"
 
-#: ../yum/depsolve.py:164
+#: ../yum/depsolve.py:218
 #, python-format
 msgid "Searching pkgSack for dep: %s"
-msgstr ""
+msgstr "Mencari pkgSack untuk dep: %s"
 
-#: ../yum/depsolve.py:207
+#: ../yum/depsolve.py:269
 #, python-format
 msgid "Member: %s"
-msgstr ""
+msgstr "Anggota: %s"
 
-#: ../yum/depsolve.py:221 ../yum/depsolve.py:793
+#: ../yum/depsolve.py:283 ../yum/depsolve.py:937
 #, python-format
 msgid "%s converted to install"
-msgstr ""
+msgstr "%s dikonversi untuk di-instalasi"
 
-#: ../yum/depsolve.py:233
+#: ../yum/depsolve.py:295
 #, python-format
 msgid "Adding Package %s in mode %s"
-msgstr ""
+msgstr "Penambahan Paket %s dalam mode %s"
 
-#: ../yum/depsolve.py:249
+#: ../yum/depsolve.py:311
 #, python-format
 msgid "Removing Package %s"
-msgstr ""
+msgstr "Penghapusan Paket %s"
 
-#: ../yum/depsolve.py:271
+#: ../yum/depsolve.py:333
 #, python-format
 msgid "%s requires: %s"
-msgstr ""
+msgstr "%s membutuhkan: %s"
 
-#: ../yum/depsolve.py:312
+#: ../yum/depsolve.py:374
 #, python-format
 msgid "%s requires %s"
-msgstr ""
+msgstr "%s membutuhkan %s"
 
-#: ../yum/depsolve.py:339
+#: ../yum/depsolve.py:401
 msgid "Needed Require has already been looked up, cheating"
-msgstr ""
+msgstr "Kebutuhan yang Diperlukan telah ditemukan, melakukan kecurangan"
 
-#: ../yum/depsolve.py:349
+#: ../yum/depsolve.py:411
 #, python-format
 msgid "Needed Require is not a package name. Looking up: %s"
-msgstr ""
+msgstr "Kebutuhan yang Diperlukan bukanlah nama sebuah paket. Pencarian: %s"
 
-#: ../yum/depsolve.py:357
+#: ../yum/depsolve.py:419
 #, python-format
 msgid "Potential Provider: %s"
-msgstr ""
+msgstr "Penyedia Potensial: %s"
 
-#: ../yum/depsolve.py:380
+#: ../yum/depsolve.py:442
 #, python-format
 msgid "Mode is %s for provider of %s: %s"
-msgstr ""
+msgstr "Mode %s adalah penyedia dari %s: %s"
 
-#: ../yum/depsolve.py:384
+#: ../yum/depsolve.py:446
 #, python-format
 msgid "Mode for pkg providing %s: %s"
-msgstr ""
+msgstr "Mode untuk pkg disediakan %s: %s"
 
 #. the thing it needs is being updated or obsoleted away
 #. try to update the requiring package in hopes that all this problem goes
 #. away :(
-#: ../yum/depsolve.py:389 ../yum/depsolve.py:406
+#: ../yum/depsolve.py:451 ../yum/depsolve.py:486
 #, python-format
 msgid "Trying to update %s to resolve dep"
-msgstr ""
+msgstr "Mencoba memperbarui %s untuk menyelesaikan dep"
 
-#: ../yum/depsolve.py:400 ../yum/depsolve.py:410
+#: ../yum/depsolve.py:480
 #, python-format
 msgid "No update paths found for %s. Failure!"
+msgstr "Tidak ditemukan path terbaru dari %s. Kegagalan!"
+
+#: ../yum/depsolve.py:491
+#, python-format
+msgid "No update paths found for %s. Failure due to requirement: %s!"
 msgstr ""
 
-#: ../yum/depsolve.py:416
+#: ../yum/depsolve.py:507
 #, python-format
-msgid "TSINFO: %s package requiring %s marked as erase"
+msgid "Update for %s. Doesn't fix requirement: %s!"
 msgstr ""
 
-#: ../yum/depsolve.py:429
+#: ../yum/depsolve.py:514
+#, python-format
+msgid "TSINFO: %s package requiring %s marked as erase"
+msgstr "TSINFO: paket %s dibutuhkan %s dan telah ditandai untuk dihapus"
+
+#: ../yum/depsolve.py:527
 #, python-format
 msgid "TSINFO: Obsoleting %s with %s to resolve dep."
-msgstr ""
+msgstr "TSINFO: Pengusangan %s dengan %s untuk penyelesaian dep."
 
-#: ../yum/depsolve.py:432
+#: ../yum/depsolve.py:530
 #, python-format
 msgid "TSINFO: Updating %s to resolve dep."
-msgstr ""
+msgstr "TSINFO: Pembaruan %s untuk penyelesaian dep."
 
-#: ../yum/depsolve.py:440
+#: ../yum/depsolve.py:538
 #, python-format
 msgid "Cannot find an update path for dep for: %s"
-msgstr ""
+msgstr "Tidak mampu menemukan pembaruan path untuk dep untuk: %s"
 
-#: ../yum/depsolve.py:471
+#: ../yum/depsolve.py:569
 #, python-format
 msgid "Quick matched %s to require for %s"
-msgstr ""
+msgstr "Pencocokan cepat %s untuk kebutuhan dari %s"
 
 #. is it already installed?
-#: ../yum/depsolve.py:513
+#: ../yum/depsolve.py:611
 #, python-format
 msgid "%s is in providing packages but it is already installed, removing."
-msgstr ""
+msgstr "%s tersedia dalam paket-paket, namun telah terinstalasi, penghapusan."
 
-#: ../yum/depsolve.py:529
+#: ../yum/depsolve.py:627
 #, python-format
 msgid "Potential resolving package %s has newer instance in ts."
-msgstr ""
+msgstr "Potensi penyelesaian paket %s memiliki instan lebih baru pada ts."
 
-#: ../yum/depsolve.py:540
+#: ../yum/depsolve.py:638
 #, python-format
 msgid "Potential resolving package %s has newer instance installed."
-msgstr ""
+msgstr "Potensi penyelesaian paket %s memiliki instan ter-instalasi yang lebih baru."
 
-#: ../yum/depsolve.py:558
+#: ../yum/depsolve.py:656
 #, python-format
 msgid "%s already in ts, skipping this one"
-msgstr ""
+msgstr "%s telah berada pada ts, melewatkan yang ini"
 
-#: ../yum/depsolve.py:607
+#: ../yum/depsolve.py:705
 #, python-format
 msgid "TSINFO: Marking %s as update for %s"
-msgstr ""
+msgstr "TSINFO: Penandaan %s sebagai update dari %s"
 
-#: ../yum/depsolve.py:616
+#: ../yum/depsolve.py:714
 #, python-format
 msgid "TSINFO: Marking %s as install for %s"
-msgstr ""
+msgstr "TSINFO: Penandaan %s sebagai instalasi dari %s"
 
-#: ../yum/depsolve.py:727 ../yum/depsolve.py:819
+#: ../yum/depsolve.py:849 ../yum/depsolve.py:967
 msgid "Success - empty transaction"
-msgstr ""
+msgstr "Sukses - transaksi kosong"
 
-#: ../yum/depsolve.py:767 ../yum/depsolve.py:783
+#: ../yum/depsolve.py:889 ../yum/depsolve.py:927
 msgid "Restarting Loop"
-msgstr ""
+msgstr "Memulai kembali Loop"
 
-#: ../yum/depsolve.py:799
+#: ../yum/depsolve.py:947
 msgid "Dependency Process ending"
-msgstr ""
+msgstr "Proses Ketergantungan berakhir"
 
-#: ../yum/depsolve.py:821
+#: ../yum/depsolve.py:969
 msgid "Success - deps resolved"
-msgstr ""
+msgstr "Sukses - deps terselesaikan"
 
-#: ../yum/depsolve.py:845
+#: ../yum/depsolve.py:993
 #, python-format
 msgid "Checking deps for %s"
-msgstr ""
+msgstr "Pemeriksaan deps untuk %s"
 
-#: ../yum/depsolve.py:931
+#: ../yum/depsolve.py:1082
 #, python-format
 msgid "looking for %s as a requirement of %s"
-msgstr ""
+msgstr "pencarian %s sebagai sebuah kebutuhan dari %s"
 
-#: ../yum/depsolve.py:1169
+#: ../yum/depsolve.py:1349
 #, python-format
 msgid "Running compare_providers() for %s"
-msgstr ""
+msgstr "Menjalankan compare_providers() untuk %s"
 
-#: ../yum/depsolve.py:1196 ../yum/depsolve.py:1202
+#: ../yum/depsolve.py:1376 ../yum/depsolve.py:1382
 #, python-format
 msgid "better arch in po %s"
-msgstr ""
+msgstr "arch yang lebih baik, di dalam po %s"
 
-#: ../yum/depsolve.py:1298
+#: ../yum/depsolve.py:1496
 #, python-format
 msgid "%s obsoletes %s"
-msgstr ""
+msgstr "%s obsoletes %s"
 
-#: ../yum/depsolve.py:1310
+#: ../yum/depsolve.py:1508
 #, python-format
 msgid ""
 "archdist compared %s to %s on %s\n"
 "  Winner: %s"
-msgstr ""
+msgstr "archdist dibandingan %s dengan %s pada %s\n  Terpilih: %s"
 
-#: ../yum/depsolve.py:1318
+#: ../yum/depsolve.py:1516
 #, python-format
 msgid "common sourcerpm %s and %s"
-msgstr ""
+msgstr "sourcerpm umum %s dan %s"
 
-#: ../yum/depsolve.py:1322
+#: ../yum/depsolve.py:1520
 #, python-format
 msgid "base package %s is installed for %s"
-msgstr ""
+msgstr "paket dasar %s telah ter-instalasi untuk %s"
 
-#: ../yum/depsolve.py:1328
+#: ../yum/depsolve.py:1526
 #, python-format
 msgid "common prefix of %s between %s and %s"
-msgstr ""
+msgstr "prefiks umum dari %s diantara %s dan %s"
 
-#: ../yum/depsolve.py:1359
+#: ../yum/depsolve.py:1543
 #, python-format
-msgid "requires minimal: %d"
-msgstr ""
+msgid "provides vercmp: %s"
+msgstr "menyediakan vercmp: %s"
 
-#: ../yum/depsolve.py:1363
+#: ../yum/depsolve.py:1547 ../yum/depsolve.py:1581
 #, python-format
 msgid " Winner: %s"
-msgstr ""
+msgstr " Terpilih: %s"
 
-#: ../yum/depsolve.py:1368
+#: ../yum/depsolve.py:1577
+#, python-format
+msgid "requires minimal: %d"
+msgstr "minimal dibutuhkan: %d"
+
+#: ../yum/depsolve.py:1586
 #, python-format
 msgid " Loser(with %d): %s"
-msgstr ""
+msgstr " Terkalahkan(with %d): %s"
 
-#: ../yum/depsolve.py:1384
+#: ../yum/depsolve.py:1602
 #, python-format
 msgid "Best Order: %s"
-msgstr ""
+msgstr "Urutan terbaik: %s"
 
-#: ../yum/__init__.py:234
+#: ../yum/__init__.py:274
 msgid "doConfigSetup() will go away in a future version of Yum.\n"
+msgstr "doConfigSetup() akan dihilangkan dari versi berikutnya dari Yum.\n"
+
+#: ../yum/__init__.py:553
+#, python-format
+msgid "Skipping unreadable repository %s"
 msgstr ""
 
-#: ../yum/__init__.py:482
+#: ../yum/__init__.py:572
 #, python-format
 msgid "Repository %r: Error parsing config: %s"
-msgstr ""
+msgstr "Repositori %r: Kesalahan parsing konfigurasi: %s"
 
-#: ../yum/__init__.py:488
+#: ../yum/__init__.py:578
 #, python-format
 msgid "Repository %r is missing name in configuration, using id"
-msgstr ""
+msgstr "Nama repositori %r tidak terdapat di konfigurasi, menggunakan id"
 
-#: ../yum/__init__.py:526
+#: ../yum/__init__.py:618
 msgid "plugins already initialised"
-msgstr ""
+msgstr "plugis telah di-inisiasi"
 
-#: ../yum/__init__.py:533
+#: ../yum/__init__.py:627
 msgid "doRpmDBSetup() will go away in a future version of Yum.\n"
-msgstr ""
+msgstr "doRpmDBSetup() akan dihilangkan dari versi berikutnya dari Yum.\n"
 
-#: ../yum/__init__.py:544
+#: ../yum/__init__.py:638
 msgid "Reading Local RPMDB"
-msgstr ""
+msgstr "Melakukan pembacaan RPMDB lokal"
 
-#: ../yum/__init__.py:567
+#: ../yum/__init__.py:668
 msgid "doRepoSetup() will go away in a future version of Yum.\n"
-msgstr ""
+msgstr "doRepoSetup() akan dihilangkan dari versi berikutnya dari Yum.\n"
 
-#: ../yum/__init__.py:630
+#: ../yum/__init__.py:722
 msgid "doSackSetup() will go away in a future version of Yum.\n"
-msgstr ""
+msgstr "doSackSetup() akan dihilangkan dari versi berikutnya dari Yum.\n"
 
-#: ../yum/__init__.py:660
+#: ../yum/__init__.py:752
 msgid "Setting up Package Sacks"
-msgstr ""
+msgstr "Menyiapkan Proses Sacks"
 
-#: ../yum/__init__.py:705
+#: ../yum/__init__.py:797
 #, python-format
 msgid "repo object for repo %s lacks a _resetSack method\n"
-msgstr ""
+msgstr "obyek repo dari repo %s kekurangan sebuah metode _resetSack\n"
 
-#: ../yum/__init__.py:706
+#: ../yum/__init__.py:798
 msgid "therefore this repo cannot be reset.\n"
-msgstr ""
+msgstr "untuk itu, repo ini tidak dapat di-reset.\n"
 
-#: ../yum/__init__.py:711
+#: ../yum/__init__.py:806
 msgid "doUpdateSetup() will go away in a future version of Yum.\n"
-msgstr ""
+msgstr "doUpdateSetup() akan dihilangkan dari versi berikutnya dari Yum.\n"
 
-#: ../yum/__init__.py:723
+#: ../yum/__init__.py:818
 msgid "Building updates object"
-msgstr ""
+msgstr "Melakukan pembangunan obyek terbarui"
 
-#: ../yum/__init__.py:765
+#: ../yum/__init__.py:862
 msgid "doGroupSetup() will go away in a future version of Yum.\n"
-msgstr ""
+msgstr "doGroupSetup() akan dihilangkan dari versi berikutnya dari Yum.\n"
 
-#: ../yum/__init__.py:790
+#: ../yum/__init__.py:887
 msgid "Getting group metadata"
-msgstr ""
+msgstr "Mengambil metadata dari grup"
 
-#: ../yum/__init__.py:816
+#: ../yum/__init__.py:915
 #, python-format
 msgid "Adding group file from repository: %s"
+msgstr "Melakukan penambahan berkas grup dari repositori: %s"
+
+#: ../yum/__init__.py:918
+#, python-format
+msgid "Failed to retrieve group file for repository: %s"
 msgstr ""
 
-#: ../yum/__init__.py:827
+#: ../yum/__init__.py:924
 #, python-format
 msgid "Failed to add groups file for repository: %s - %s"
-msgstr ""
+msgstr "Telah gagal melakukan penambahan berkas dari grup-grup untuk repositori: %s - %s"
 
-#: ../yum/__init__.py:833
+#: ../yum/__init__.py:930
 msgid "No Groups Available in any repository"
-msgstr ""
+msgstr "Grup-grup tidak Tersedia di dalam repositori manapun"
 
-#: ../yum/__init__.py:845
+#: ../yum/__init__.py:945
 msgid "Getting pkgtags metadata"
-msgstr ""
+msgstr "Mengambil metadata dari pkgtags"
 
-#: ../yum/__init__.py:855
+#: ../yum/__init__.py:955
 #, python-format
 msgid "Adding tags from repository: %s"
-msgstr ""
+msgstr "Melakukan penambahan tags dari repositori: %s"
 
-#: ../yum/__init__.py:866
+#: ../yum/__init__.py:966
 #, python-format
 msgid "Failed to add Pkg Tags for repository: %s - %s"
-msgstr ""
+msgstr "Telah gagal untuk menambah Pkg Tags untuk repositori: %s - %s"
 
-#: ../yum/__init__.py:944
+#: ../yum/__init__.py:1059
 msgid "Importing additional filelist information"
-msgstr ""
+msgstr "Meng-impor informasi tambahan dari daftar berkas"
 
-#: ../yum/__init__.py:958
+#: ../yum/__init__.py:1077
 #, python-format
 msgid "The program %s%s%s is found in the yum-utils package."
-msgstr ""
+msgstr "Program %s%s%s telah ditemukan di dalam paket yum-utils."
 
-#: ../yum/__init__.py:966
+#: ../yum/__init__.py:1094
 msgid ""
 "There are unfinished transactions remaining. You might consider running yum-"
 "complete-transaction first to finish them."
-msgstr ""
+msgstr "Masih tersisa transaksi yang belum terselesaikan. Anda mungkin mempertimbangkan untuk menjalankan yum-complete-transaction terlebih dahulu, agar transaksi tersebut terselesaikan."
 
-#: ../yum/__init__.py:983
+#: ../yum/__init__.py:1111
 msgid "--> Finding unneeded leftover dependencies"
-msgstr ""
+msgstr "--> Melakukan pencarian sisa ketergantungan yang tidak diperlukan"
 
-#: ../yum/__init__.py:1041
+#: ../yum/__init__.py:1169
 #, python-format
 msgid "Protected multilib versions: %s != %s"
+msgstr "Versi-versi multilib yang terproteksi: %s != %s"
+
+#. People are confused about protected mutilib ... so give
+#. them a nicer message.
+#: ../yum/__init__.py:1173
+#, python-format
+msgid ""
+" Multilib version problems found. This often means that the root\n"
+"cause is something else and multilib version checking is just\n"
+"pointing out that there is a problem. Eg.:\n"
+"\n"
+"  1. You have an upgrade for %(name)s which is missing some\n"
+"     dependency that another package requires. Yum is trying to\n"
+"     solve this by installing an older version of %(name)s of the\n"
+"     different architecture. If you exclude the bad architecture\n"
+"     yum will tell you what the root cause is (which package\n"
+"     requires what). You can try redoing the upgrade with\n"
+"     --exclude %(name)s.otherarch ... this should give you an error\n"
+"     message showing the root cause of the problem.\n"
+"\n"
+"  2. You have multiple architectures of %(name)s installed, but\n"
+"     yum can only see an upgrade for one of those arcitectures.\n"
+"     If you don't want/need both architectures anymore then you\n"
+"     can remove the one with the missing update and everything\n"
+"     will work.\n"
+"\n"
+"  3. You have duplicate versions of %(name)s installed already.\n"
+"     You can use \"yum check\" to get yum show these errors.\n"
+"\n"
+"...you can also use --setopt=protected_multilib=false to remove\n"
+"this checking, however this is almost never the correct thing to\n"
+"do as something else is very likely to go wrong (often causing\n"
+"much more problems).\n"
+"\n"
 msgstr ""
 
-#: ../yum/__init__.py:1096
+#: ../yum/__init__.py:1257
 #, python-format
 msgid "Trying to remove \"%s\", which is protected"
-msgstr ""
+msgstr "Mencoba untuk menghapus \"%s\", yang terproteksi"
 
-#: ../yum/__init__.py:1217
+#: ../yum/__init__.py:1378
 msgid ""
 "\n"
 "Packages skipped because of dependency problems:"
-msgstr ""
+msgstr "\nPaket-paket dilewati, dikarenakan permasalahan-permasalahan ketergantungan:"
 
-#: ../yum/__init__.py:1221
+#: ../yum/__init__.py:1382
 #, python-format
 msgid "    %s from %s"
-msgstr ""
+msgstr "    %s dari %s"
 
 #. FIXME: _N()
-#: ../yum/__init__.py:1391
+#: ../yum/__init__.py:1556
 #, python-format
 msgid "** Found %d pre-existing rpmdb problem(s), 'yum check' output follows:"
-msgstr ""
+msgstr "** Ditemukan permasalahan rpmdb sebelumnya %d, keluaran dari 'yum check' adalah sebagai berikut:"
 
-#: ../yum/__init__.py:1395
+#: ../yum/__init__.py:1560
 msgid "Warning: RPMDB altered outside of yum."
-msgstr ""
+msgstr "Peringatan: RPMDB telah diubah tanpa sepengetahuan yum."
 
-#: ../yum/__init__.py:1407
+#: ../yum/__init__.py:1572
 msgid "missing requires"
-msgstr ""
+msgstr "kebutuhan-kebutuhan yang dimaksud telah hilang"
 
-#: ../yum/__init__.py:1408
+#: ../yum/__init__.py:1573
 msgid "installed conflict"
-msgstr ""
+msgstr "konflik telah di-instalasi"
 
-#: ../yum/__init__.py:1525
+#: ../yum/__init__.py:1709
 msgid ""
 "Warning: scriptlet or other non-fatal errors occurred during transaction."
-msgstr ""
+msgstr "Peringatan: scriptlet atau kesalahan tidak fatal lainnya telah terjadi selama transaksi."
 
-#: ../yum/__init__.py:1535
+#: ../yum/__init__.py:1719
 msgid "Transaction couldn't start:"
-msgstr ""
+msgstr "Transaksi tidak mampu dimulai:"
 
 #. should this be 'to_unicoded'?
-#: ../yum/__init__.py:1538
+#: ../yum/__init__.py:1722
 msgid "Could not run transaction."
-msgstr ""
+msgstr "Tidak mampu menjalankan transaksi."
 
-#: ../yum/__init__.py:1552
+#: ../yum/__init__.py:1736
 #, python-format
 msgid "Failed to remove transaction file %s"
-msgstr ""
+msgstr "Gagal dalam upaya penghapusan berkas transaksi %s"
 
 #. maybe a file log here, too
 #. but raising an exception is not going to do any good
-#: ../yum/__init__.py:1590
+#: ../yum/__init__.py:1792
 #, python-format
 msgid "%s was supposed to be installed but is not!"
-msgstr ""
+msgstr "%s seharusnya tidak di-instalasi, ini malah sebaliknya!"
 
 #. maybe a file log here, too
 #. but raising an exception is not going to do any good
-#: ../yum/__init__.py:1651
+#. Note: This actually triggers atm. because we can't
+#. always find the erased txmbr to set it when
+#. we should.
+#: ../yum/__init__.py:1869
 #, python-format
 msgid "%s was supposed to be removed but is not!"
-msgstr ""
+msgstr "%s seharusnya dihapus, ini malah sebaliknya!"
 
-#: ../yum/__init__.py:1768
+#. Another copy seems to be running.
+#: ../yum/__init__.py:2004
 #, python-format
-msgid "Could not open lock %s: %s"
-msgstr ""
+msgid "Existing lock %s: another copy is running as pid %s."
+msgstr "Saat ini terkunci %s: proses yang sama sedang dijalankan pada pid %s."
 
 #. Whoa. What the heck happened?
-#: ../yum/__init__.py:1785
+#: ../yum/__init__.py:2053
 #, python-format
-msgid "Unable to check if PID %s is active"
-msgstr ""
+msgid "Could not create lock at %s: %s "
+msgstr "Tidak mampu membuat kuncian pada %s: %s"
 
-#. Another copy seems to be running.
-#: ../yum/__init__.py:1789
+#: ../yum/__init__.py:2065
 #, python-format
-msgid "Existing lock %s: another copy is running as pid %s."
-msgstr ""
+msgid "Could not open lock %s: %s"
+msgstr "Tidak mampu membukan kuncian %s: %s"
 
+#. The pid doesn't exist
 #. Whoa. What the heck happened?
-#: ../yum/__init__.py:1830
+#: ../yum/__init__.py:2082
 #, python-format
-msgid "Could not create lock at %s: %s "
-msgstr ""
+msgid "Unable to check if PID %s is active"
+msgstr "Tidak bisa memerikan apakah PID %s dalam kondisi aktif"
 
-#: ../yum/__init__.py:1875
+#: ../yum/__init__.py:2132
 #, python-format
 msgid ""
 "Package does not match intended download. Suggestion: run yum "
 "--enablerepo=%s clean metadata"
-msgstr ""
+msgstr "Paket tidak sesuai dengan maksud pengunduhan. Saran: jalankan yum --enablerepo=%s clean metadata"
 
-#: ../yum/__init__.py:1891
+#: ../yum/__init__.py:2155
 msgid "Could not perform checksum"
-msgstr ""
+msgstr "Tidak bisa melakukan checksum"
 
-#: ../yum/__init__.py:1894
+#: ../yum/__init__.py:2158
 msgid "Package does not match checksum"
-msgstr ""
+msgstr "Paket tidak sesuai dengan checksum"
 
-#: ../yum/__init__.py:1946
+#: ../yum/__init__.py:2222
 #, python-format
 msgid "package fails checksum but caching is enabled for %s"
-msgstr ""
+msgstr "paket gagal melakukan checksum, namun cache telah diaktifkan untuk %s"
 
-#: ../yum/__init__.py:1949 ../yum/__init__.py:1979
+#: ../yum/__init__.py:2225 ../yum/__init__.py:2268
 #, python-format
 msgid "using local copy of %s"
-msgstr ""
+msgstr "menggunakan salinan lokal dari %s"
 
-#: ../yum/__init__.py:1991
-#, python-format
-msgid ""
-"Insufficient space in download directory %s\n"
-"    * free   %s\n"
-"    * needed %s"
+#. caller handles errors
+#: ../yum/__init__.py:2342
+msgid "exiting because --downloadonly specified"
 msgstr ""
 
-#: ../yum/__init__.py:2052
+#: ../yum/__init__.py:2371
 msgid "Header is not complete."
-msgstr ""
+msgstr "Header belum komplit."
 
-#: ../yum/__init__.py:2089
+#: ../yum/__init__.py:2411
 #, python-format
 msgid ""
 "Header not in local cache and caching-only mode enabled. Cannot download %s"
-msgstr ""
+msgstr "Header tidak berada dalam cache local, dan mode caching-only telah diaktifkan. Tidak bisa mengunduh %s"
 
-#: ../yum/__init__.py:2147
+#: ../yum/__init__.py:2471
 #, python-format
 msgid "Public key for %s is not installed"
-msgstr ""
+msgstr "Kunci publik untuk %s belum ter-instalasi"
 
-#: ../yum/__init__.py:2151
+#: ../yum/__init__.py:2475
 #, python-format
 msgid "Problem opening package %s"
-msgstr ""
+msgstr "Menemukan masalah di dalam membuka paket %s"
 
-#: ../yum/__init__.py:2159
+#: ../yum/__init__.py:2483
 #, python-format
 msgid "Public key for %s is not trusted"
-msgstr ""
+msgstr "Kunci publik untuk %s tidak bisa dipercaya"
 
-#: ../yum/__init__.py:2163
+#: ../yum/__init__.py:2487
 #, python-format
 msgid "Package %s is not signed"
-msgstr ""
+msgstr "Paket %s belum ditandatangani"
 
-#: ../yum/__init__.py:2202
+#: ../yum/__init__.py:2529
 #, python-format
 msgid "Cannot remove %s"
-msgstr ""
+msgstr "Tidak bisa menghapus %s"
 
-#: ../yum/__init__.py:2206
+#: ../yum/__init__.py:2533
 #, python-format
 msgid "%s removed"
-msgstr ""
+msgstr "%s telah dihapus"
 
-#: ../yum/__init__.py:2252
+#: ../yum/__init__.py:2594
 #, python-format
 msgid "Cannot remove %s file %s"
-msgstr ""
+msgstr "Tidak bisa menghapus %s berkas %s"
 
-#: ../yum/__init__.py:2256
+#: ../yum/__init__.py:2598
 #, python-format
 msgid "%s file %s removed"
-msgstr ""
+msgstr "%s berkas %s telah dihapus"
 
-#: ../yum/__init__.py:2258
+#: ../yum/__init__.py:2600
 #, python-format
-msgid "%d %s files removed"
-msgstr ""
+msgid "%d %s file removed"
+msgid_plural "%d %s files removed"
+msgstr[0] "berkas %d %s telah dihapus"
 
-#: ../yum/__init__.py:2327
+#: ../yum/__init__.py:2712
 #, python-format
 msgid "More than one identical match in sack for %s"
-msgstr ""
+msgstr "Lebih dari satu kecocokan identik dalam sack untuk %s"
 
-#: ../yum/__init__.py:2333
+#: ../yum/__init__.py:2718
 #, python-format
 msgid "Nothing matches %s.%s %s:%s-%s from update"
-msgstr ""
+msgstr "Tidak ada yang cocok %s.%s %s:%s-%s dari pembaruan"
 
-#: ../yum/__init__.py:2632
+#: ../yum/__init__.py:3096
 msgid ""
 "searchPackages() will go away in a future version of Yum."
 "                      Use searchGenerator() instead. \n"
-msgstr ""
+msgstr "searchPackages() akan dihilangkan pada versi berikutnya dari Yum.                      Sebaiknya gunakan searchGenerator().\n"
 
-#: ../yum/__init__.py:2675
+#: ../yum/__init__.py:3149
 #, python-format
-msgid "Searching %d packages"
-msgstr ""
+msgid "Searching %d package"
+msgid_plural "Searching %d packages"
+msgstr[0] "Melakukan pencarian paket-paket %d"
 
-#: ../yum/__init__.py:2679
+#: ../yum/__init__.py:3153
 #, python-format
 msgid "searching package %s"
-msgstr ""
+msgstr "melakukan pencarian paket %s"
 
-#: ../yum/__init__.py:2691
+#: ../yum/__init__.py:3165
 msgid "searching in file entries"
-msgstr ""
+msgstr "melakukan pencarian di dalam entry berkas"
 
-#: ../yum/__init__.py:2698
+#: ../yum/__init__.py:3172
 msgid "searching in provides entries"
-msgstr ""
+msgstr "melakukan pencarian di dalam entry-entry yang tersedia"
 
-#: ../yum/__init__.py:2777
+#: ../yum/__init__.py:3369
 msgid "No group data available for configured repositories"
-msgstr ""
+msgstr "Tidak tersedia data grup pada repositori terkonfigurasi"
 
-#: ../yum/__init__.py:2808 ../yum/__init__.py:2827 ../yum/__init__.py:2858
-#: ../yum/__init__.py:2864 ../yum/__init__.py:2953 ../yum/__init__.py:2957
-#: ../yum/__init__.py:3339
+#: ../yum/__init__.py:3466 ../yum/__init__.py:3500 ../yum/__init__.py:3576
+#: ../yum/__init__.py:3582 ../yum/__init__.py:3719 ../yum/__init__.py:3723
+#: ../yum/__init__.py:4298
 #, python-format
 msgid "No Group named %s exists"
-msgstr ""
+msgstr "Nama grup %s tidak ada"
 
-#: ../yum/__init__.py:2839 ../yum/__init__.py:2973
+#: ../yum/__init__.py:3512 ../yum/__init__.py:3740
 #, python-format
 msgid "package %s was not marked in group %s"
-msgstr ""
+msgstr "paket %s telah ditandai dalam grup %s"
 
-#: ../yum/__init__.py:2887
+#. (upgrade and igroup_data[pkg] == 'available')):
+#: ../yum/__init__.py:3622
+#, python-format
+msgid "Skipping package %s from group %s"
+msgstr "Melewatkan paket %s dari grup %s"
+
+#: ../yum/__init__.py:3628
 #, python-format
 msgid "Adding package %s from group %s"
-msgstr ""
+msgstr "Melakukan penambahan paket %s dari grup %s"
 
-#: ../yum/__init__.py:2891
+#: ../yum/__init__.py:3649
 #, python-format
 msgid "No package named %s available to be installed"
-msgstr ""
+msgstr "Tidak tersedia paket bernama %s untuk diinstalasi"
 
-#: ../yum/__init__.py:2941
+#: ../yum/__init__.py:3702
 #, python-format
-msgid "Warning: Group %s does not have any packages."
+msgid "Warning: Group %s does not have any packages to install."
 msgstr ""
 
-#: ../yum/__init__.py:2943
+#: ../yum/__init__.py:3704
 #, python-format
 msgid "Group %s does have %u conditional packages, which may get installed."
+msgstr "Grup %s memiliki paket kondisional %u, yang akan di-instalasi."
+
+#: ../yum/__init__.py:3794
+#, python-format
+msgid "Skipping group %s from environment %s"
 msgstr ""
 
 #. This can happen due to excludes after .up has
 #. happened.
-#: ../yum/__init__.py:3002
+#: ../yum/__init__.py:3858
 #, python-format
 msgid "Package tuple %s could not be found in packagesack"
-msgstr ""
+msgstr "Paket tuple %s tidak bisa ditemukan dalam packagesack"
 
-#: ../yum/__init__.py:3022
+#: ../yum/__init__.py:3886
 #, python-format
 msgid "Package tuple %s could not be found in rpmdb"
-msgstr ""
+msgstr "Paket tuple %s tidak bisa ditemukan dalam rpmdb"
 
-#: ../yum/__init__.py:3079 ../yum/__init__.py:3129
+#: ../yum/__init__.py:3949 ../yum/__init__.py:4012
 #, python-format
 msgid "Invalid version flag from: %s"
-msgstr ""
+msgstr "Kekeliruan versi flag dari: %s"
 
-#: ../yum/__init__.py:3096 ../yum/__init__.py:3101
+#: ../yum/__init__.py:3973 ../yum/__init__.py:3979 ../yum/__init__.py:4036
+#: ../yum/__init__.py:4042
 #, python-format
 msgid "No Package found for %s"
+msgstr "Tidak ditemukan Paket untuk %s"
+
+#: ../yum/__init__.py:4245 ../yum/__init__.py:4274
+#, python-format
+msgid "Warning: Environment Group %s does not exist."
 msgstr ""
 
-#: ../yum/__init__.py:3401
-msgid "Package Object was not a package object instance"
+#: ../yum/__init__.py:4397
+#, python-format
+msgid "Package: %s - can't co-install with %s"
 msgstr ""
 
-#: ../yum/__init__.py:3405
+#: ../yum/__init__.py:4437
+msgid "Package Object was not a package object instance"
+msgstr "Obyek Paket bukanlah sebuah obyek paket instan"
+
+#: ../yum/__init__.py:4441
 msgid "Nothing specified to install"
-msgstr ""
+msgstr "Tidak ditentukan untuk instalasi"
 
-#: ../yum/__init__.py:3424 ../yum/__init__.py:4283
+#: ../yum/__init__.py:4465 ../yum/__init__.py:5410
 #, python-format
 msgid "Checking for virtual provide or file-provide for %s"
-msgstr ""
-
-#: ../yum/__init__.py:3430 ../yum/__init__.py:3775 ../yum/__init__.py:3969
-#: ../yum/__init__.py:4289
-#, python-format
-msgid "No Match for argument: %s"
-msgstr ""
+msgstr "Melakukan pemeriksaan untuk penyedia virtual atau berkas-tersedia untuk %s"
 
-#: ../yum/__init__.py:3507
+#: ../yum/__init__.py:4542
 #, python-format
 msgid "Package %s installed and not available"
-msgstr ""
+msgstr "Paket %s telah terinstalasi, namun tidak tersedia"
 
-#: ../yum/__init__.py:3510
+#: ../yum/__init__.py:4545
 msgid "No package(s) available to install"
-msgstr ""
+msgstr "Tidak tersedia paket untuk di-instalasi"
 
-#: ../yum/__init__.py:3522
+#: ../yum/__init__.py:4557
 #, python-format
 msgid "Package: %s  - already in transaction set"
-msgstr ""
+msgstr "Paket: %s - telah berada di dalam kumpulan transaksi"
 
-#: ../yum/__init__.py:3550
+#: ../yum/__init__.py:4589
 #, python-format
 msgid "Package %s is obsoleted by %s which is already installed"
-msgstr ""
+msgstr "Paket %s yang telah usang oleh %s dimana telah ter-instalasi"
 
-#: ../yum/__init__.py:3555
+#: ../yum/__init__.py:4594
 #, python-format
 msgid ""
 "Package %s is obsoleted by %s, but obsoleting package does not provide for "
 "requirements"
-msgstr ""
+msgstr "Paket %s telah diusangkan oleh %s, namun paket usang ini tidak menyediakan kebutuhan apapun"
 
-#: ../yum/__init__.py:3558
+#: ../yum/__init__.py:4597
 #, python-format
 msgid "Package %s is obsoleted by %s, trying to install %s instead"
-msgstr ""
+msgstr "Paket %s telah diusangkan oleh %s, mencoba untuk tetap melakukan instalasi %s"
 
-#: ../yum/__init__.py:3566
+#: ../yum/__init__.py:4605
 #, python-format
 msgid "Package %s already installed and latest version"
-msgstr ""
+msgstr "Paket %s telah ter-instalasi dan memiliki versi terbaru"
 
-#: ../yum/__init__.py:3580
+#: ../yum/__init__.py:4619
 #, python-format
 msgid "Package matching %s already installed. Checking for update."
-msgstr ""
+msgstr "Paket yang cocok dengan %s telah terinstalasi. Melakukan pemeriksaan untuk pembaruan."
 
 #. update everything (the easy case)
-#: ../yum/__init__.py:3684
+#: ../yum/__init__.py:4751
 msgid "Updating Everything"
-msgstr ""
+msgstr "Melakukan pembaruan untuk semuanya"
 
-#: ../yum/__init__.py:3708 ../yum/__init__.py:3849 ../yum/__init__.py:3879
-#: ../yum/__init__.py:3915
+#: ../yum/__init__.py:4775 ../yum/__init__.py:4930 ../yum/__init__.py:4975
+#: ../yum/__init__.py:5011
 #, python-format
 msgid "Not Updating Package that is already obsoleted: %s.%s %s:%s-%s"
-msgstr ""
+msgstr "Tidak melakukan Pembaruan untuk Paket yang sudah usang: %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3753 ../yum/__init__.py:3965
+#: ../yum/__init__.py:4830 ../yum/__init__.py:5072
 #, python-format
 msgid "%s"
-msgstr ""
+msgstr "%s"
+
+#: ../yum/__init__.py:4854 ../yum/__init__.py:5080 ../yum/__init__.py:5416
+#, python-format
+msgid "No Match for argument: %s"
+msgstr "Tidak ada kecocokan argumen: %s"
 
-#: ../yum/__init__.py:3838
+#: ../yum/__init__.py:4872
+#, python-format
+msgid "No package matched to upgrade: %s"
+msgstr "Tidak ada kecocokan paket untuk ditingkatkan: %s"
+
+#: ../yum/__init__.py:4919
 #, python-format
 msgid "Package is already obsoleted: %s.%s %s:%s-%s"
-msgstr ""
+msgstr "Paket telah usang: %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3874
+#: ../yum/__init__.py:4970
 #, python-format
 msgid "Not Updating Package that is obsoleted: %s"
-msgstr ""
+msgstr "Tidak melakukan Pembaruan Paket yang sudah usang: %s"
 
-#: ../yum/__init__.py:3883 ../yum/__init__.py:3919
+#: ../yum/__init__.py:4979 ../yum/__init__.py:5015
 #, python-format
 msgid "Not Updating Package that is already updated: %s.%s %s:%s-%s"
-msgstr ""
+msgstr "Tidak melakukan Pembaruan Paket yang sudah diperbarui: %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3982
-msgid "No package matched to remove"
-msgstr ""
+#: ../yum/__init__.py:5093
+#, python-format
+msgid "No package matched to remove: %s"
+msgstr "Tidak ada paket yang cocok untuk dihapus: %s"
 
-#: ../yum/__init__.py:3988
+#: ../yum/__init__.py:5099
 #, python-format
 msgid "Skipping the running kernel: %s"
-msgstr ""
+msgstr "Mengabaikan kernel yang sedang berjalan: %s"
 
-#: ../yum/__init__.py:3994
+#: ../yum/__init__.py:5105
 #, python-format
 msgid "Removing %s from the transaction"
-msgstr ""
+msgstr "Melakukan penghapusan %s dari transaksi"
 
-#: ../yum/__init__.py:4029
+#: ../yum/__init__.py:5142
 #, python-format
 msgid "Cannot open: %s. Skipping."
-msgstr ""
+msgstr "Tidak bisa membuka: %s. Dilewatkan."
 
-#: ../yum/__init__.py:4032 ../yum/__init__.py:4150 ../yum/__init__.py:4226
+#: ../yum/__init__.py:5145 ../yum/__init__.py:5262 ../yum/__init__.py:5347
 #, python-format
 msgid "Examining %s: %s"
-msgstr ""
+msgstr "Melakukan pemeriksaan %s: %s"
 
-#: ../yum/__init__.py:4036
+#: ../yum/__init__.py:5149
 #, python-format
 msgid "Cannot localinstall deltarpm: %s. Skipping."
-msgstr ""
+msgstr "Tidak bisa melakukan localinstall deltarpm: %s. Dilewatkan."
 
-#: ../yum/__init__.py:4045 ../yum/__init__.py:4153 ../yum/__init__.py:4229
+#: ../yum/__init__.py:5158 ../yum/__init__.py:5265 ../yum/__init__.py:5350
 #, python-format
 msgid ""
 "Cannot add package %s to transaction. Not a compatible architecture: %s"
-msgstr ""
+msgstr "Tidak bisa menambah paket %s ke dalam transaksi. Arsitektur tidak sesuai: %s"
 
-#: ../yum/__init__.py:4051
+#: ../yum/__init__.py:5164
 #, python-format
 msgid "Cannot install package %s. It is obsoleted by installed package %s"
-msgstr ""
+msgstr "Tidak bisa melakukan instalasi paket %s. Paket ini telah usang jika dibandingkan dengan paket %s"
 
-#: ../yum/__init__.py:4059
+#: ../yum/__init__.py:5172
 #, python-format
 msgid ""
 "Package %s not installed, cannot update it. Run yum install to install it "
 "instead."
-msgstr ""
+msgstr "Paket %s tidak ter-instalasi, tidak bisa diperbarui. Jalankan yum install untuk tetap melakukan instalasi"
 
-#: ../yum/__init__.py:4078 ../yum/__init__.py:4085
+#: ../yum/__init__.py:5191 ../yum/__init__.py:5198
 #, python-format
 msgid ""
 "Package %s.%s not installed, cannot update it. Run yum install to install it"
 " instead."
-msgstr ""
+msgstr "Paket %s.%s tidak ter-instalasi, tidak bisa diperbarui. Jalankan yum install untuk tetap melakukan instalasi."
 
-#: ../yum/__init__.py:4094 ../yum/__init__.py:4158 ../yum/__init__.py:4234
+#: ../yum/__init__.py:5207 ../yum/__init__.py:5270 ../yum/__init__.py:5355
 #, python-format
 msgid "Excluding %s"
-msgstr ""
+msgstr "Mengeluarkan %s"
 
-#: ../yum/__init__.py:4099
+#: ../yum/__init__.py:5212
 #, python-format
 msgid "Marking %s to be installed"
-msgstr ""
+msgstr "Menandai %s untuk di-instalasi"
 
-#: ../yum/__init__.py:4105
+#: ../yum/__init__.py:5218
 #, python-format
 msgid "Marking %s as an update to %s"
-msgstr ""
+msgstr "Menandai %s sebagai pembaruan untuk %s"
 
-#: ../yum/__init__.py:4112
+#: ../yum/__init__.py:5225
 #, python-format
 msgid "%s: does not update installed package."
-msgstr ""
+msgstr "%s: tidak melakukan pembaruan terhadap paket yang sudah ter-instalasi"
 
-#: ../yum/__init__.py:4147 ../yum/__init__.py:4223
+#: ../yum/__init__.py:5259 ../yum/__init__.py:5344
 #, python-format
 msgid "Cannot open file: %s. Skipping."
-msgstr ""
+msgstr "Tidak bisa membuka berkas: %s. Dilewatkan."
 
-#: ../yum/__init__.py:4177
+#: ../yum/__init__.py:5299
 msgid "Problem in reinstall: no package matched to remove"
-msgstr ""
+msgstr "Permasalahan terjadi saat melakukan instalasi ulang: tidak ada paket yang cocok untuk dihapus"
 
-#: ../yum/__init__.py:4203
+#: ../yum/__init__.py:5325
 #, python-format
 msgid "Problem in reinstall: no package %s matched to install"
-msgstr ""
+msgstr "Permasalahan terjadi saat melakukan instalasi ulang: tidak ada paket %s yang cocok untuk di-instalasi"
 
-#: ../yum/__init__.py:4311
+#: ../yum/__init__.py:5438
 msgid "No package(s) available to downgrade"
-msgstr ""
+msgstr "Tidak tersedia paket untuk di-downgrade"
 
-#: ../yum/__init__.py:4319
+#: ../yum/__init__.py:5446
 #, python-format
 msgid "Package %s is allowed multiple installs, skipping"
-msgstr ""
+msgstr "Paket %s memperbolehkan instalasi ganda, dilewatkan"
 
-#: ../yum/__init__.py:4365
+#: ../yum/__init__.py:5496
 #, python-format
 msgid "No Match for available package: %s"
-msgstr ""
+msgstr "Tidak tersedia paket yang cocok dengan: %s"
 
-#: ../yum/__init__.py:4372
+#: ../yum/__init__.py:5506
 #, python-format
 msgid "Only Upgrade available on package: %s"
-msgstr ""
+msgstr "Hanya pembaruan yang tersedia untuk paket: %s"
 
-#: ../yum/__init__.py:4442 ../yum/__init__.py:4479
+#: ../yum/__init__.py:5619 ../yum/__init__.py:5686
 #, python-format
 msgid "Failed to downgrade: %s"
-msgstr ""
+msgstr "Gagal untuk downgrade: %s"
 
-#: ../yum/__init__.py:4516
+#: ../yum/__init__.py:5636 ../yum/__init__.py:5692
+#, python-format
+msgid "Failed to upgrade: %s"
+msgstr "Gagal untuk upgrade: %s"
+
+#: ../yum/__init__.py:5725
 #, python-format
 msgid "Retrieving key from %s"
-msgstr ""
+msgstr "Mendapatkan kembali kunci dari %s"
 
-#: ../yum/__init__.py:4534
+#: ../yum/__init__.py:5743
 msgid "GPG key retrieval failed: "
-msgstr ""
+msgstr "Pengambilan kunci GPG telah gagal:"
 
 #. if we decide we want to check, even though the sig failed
 #. here is where we would do that
-#: ../yum/__init__.py:4557
+#: ../yum/__init__.py:5766
 #, python-format
 msgid "GPG key signature on key %s does not match CA Key for repo: %s"
-msgstr ""
+msgstr "Tanda tangan kunci GPG pada kunci %s tidak cocok dengan Kunci CA untuk repo: %s"
 
-#: ../yum/__init__.py:4559
+#: ../yum/__init__.py:5768
 msgid "GPG key signature verified against CA Key(s)"
-msgstr ""
+msgstr "Tanda tangan kunci GPG telah diverifikasi dengan Kunci CA"
 
-#: ../yum/__init__.py:4567
+#: ../yum/__init__.py:5776
 #, python-format
 msgid "Invalid GPG Key from %s: %s"
-msgstr ""
+msgstr "Kekeliruan Kunci GPG dari %s: %s"
 
-#: ../yum/__init__.py:4576
+#: ../yum/__init__.py:5785
 #, python-format
 msgid "GPG key parsing failed: key does not have value %s"
-msgstr ""
+msgstr "Gagal melakukan parsing kunci GPG: kunci tidak memiliki nilai %s"
 
-#: ../yum/__init__.py:4592
+#: ../yum/__init__.py:5801
 #, python-format
 msgid ""
 "Importing %s key 0x%s:\n"
-" Userid : %s\n"
-" Package: %s (%s)\n"
-" From   : %s"
-msgstr ""
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" Package    : %s (%s)\n"
+" From       : %s"
+msgstr "Melakukan impor %s kunci 0x%s:\n Idpengguna : \"%s\"\n Sidikjari  : %s\n Paket      : %s (%s)\n Dari       : %s"
 
-#: ../yum/__init__.py:4600
+#: ../yum/__init__.py:5811
 #, python-format
 msgid ""
 "Importing %s key 0x%s:\n"
-" Userid: \"%s\"\n"
-" From  : %s"
-msgstr ""
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" From       : %s"
+msgstr "Melakukan impor %s kunci 0x%s:\n Idpengguna : \"%s\"\n Sidikjari  : %s\n Dari       : %s"
+
+#: ../yum/__init__.py:5839
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" Failing package is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr "\n\n\n Paket yang gagal adalah: %s\n Kunci-kunci GPG dikonfigurasikan sebagai: %s\n"
 
-#: ../yum/__init__.py:4634
+#: ../yum/__init__.py:5853
 #, python-format
 msgid "GPG key at %s (0x%s) is already installed"
-msgstr ""
+msgstr "Kunci GPG pada %s (0x%s) telah di-instalasi"
 
-#: ../yum/__init__.py:4671
+#: ../yum/__init__.py:5891
 #, python-format
 msgid "Key import failed (code %d)"
-msgstr ""
+msgstr "Impor kunci telah gagal (code %d)"
 
-#: ../yum/__init__.py:4672 ../yum/__init__.py:4755
+#: ../yum/__init__.py:5893 ../yum/__init__.py:5994
 msgid "Key imported successfully"
-msgstr ""
+msgstr "Kunci telah sukses di-impor"
 
-#: ../yum/__init__.py:4676
+#: ../yum/__init__.py:5897
 msgid "Didn't install any keys"
-msgstr ""
+msgstr "Tidak melakukan instalasi kunci apapun"
 
-#: ../yum/__init__.py:4680
+#: ../yum/__init__.py:5900
 #, python-format
 msgid ""
 "The GPG keys listed for the \"%s\" repository are already installed but they are not correct for this package.\n"
 "Check that the correct key URLs are configured for this repository."
-msgstr ""
+msgstr "Kunci-kunci GPG yang ada dalam daftar repositori \"%s\" telah ter-instalasi, namun kunci-kunci yang ada tidak tepat diperuntukkan paket ini.\nPeriksa sekali lagi, URL kunci yang sesuai yang sudah dikonfigurasikan untuk repositori ini."
 
-#: ../yum/__init__.py:4689
+#: ../yum/__init__.py:5910
 msgid "Import of key(s) didn't help, wrong key(s)?"
-msgstr ""
+msgstr "Kunci yang di-import tidak bisa membantu, kunci keliru?"
+
+#: ../yum/__init__.py:5932
+msgid "No"
+msgstr "Tidak"
+
+#: ../yum/__init__.py:5934
+msgid "Yes"
+msgstr "Ya"
+
+#: ../yum/__init__.py:5935
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" CA Key: %s\n"
+" Failing repo is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr "\n\n\n Kunci CA: %s\n Repo yang gagal adalah: %s\n Kunci-kunci GPG dikonfigurasikan sebagai: %s\n"
 
-#: ../yum/__init__.py:4713
+#: ../yum/__init__.py:5948
 #, python-format
 msgid "GPG key at %s (0x%s) is already imported"
-msgstr ""
+msgstr "Kunci GPG pada %s (0x%s) telah di-instalasi"
 
-#: ../yum/__init__.py:4754
-msgid "Key import failed"
-msgstr ""
+#: ../yum/__init__.py:5992
+#, python-format
+msgid "Key %s import failed"
+msgstr "Kegagalan impor kunci %s"
 
-#: ../yum/__init__.py:4770
+#: ../yum/__init__.py:6009
 #, python-format
 msgid "Didn't install any keys for repo %s"
-msgstr ""
+msgstr "Tidak melakukan instalasi kunci apapun untuk repo %s"
 
-#: ../yum/__init__.py:4774
+#: ../yum/__init__.py:6014
 #, python-format
 msgid ""
 "The GPG keys listed for the \"%s\" repository are already installed but they are not correct.\n"
 "Check that the correct key URLs are configured for this repository."
-msgstr ""
+msgstr "Kunci-kunci GPG yang ada dalam daftar repositori \"%s\" telah ter-instalasi, namun kunci-kunci yang ada peruntukannya tidak tepat untuk paket ini.\nPeriksa sekali lagi, URL kunci yang sesuai yang sudah dikonfigurasikan untuk repositori ini."
 
-#: ../yum/__init__.py:4924
+#: ../yum/__init__.py:6172
 msgid "Unable to find a suitable mirror."
-msgstr ""
+msgstr "Tidak mampu menemukan mirror yang sesuai."
 
-#: ../yum/__init__.py:4926
+#: ../yum/__init__.py:6174
 msgid "Errors were encountered while downloading packages."
-msgstr ""
+msgstr "Kesalahan-kesalahan telah terjadi ketika pengunduhan paket-paket."
 
-#: ../yum/__init__.py:4981
+#: ../yum/__init__.py:6229
 #, python-format
 msgid "Please report this error at %s"
-msgstr ""
+msgstr "Mohon dilaporkan kesalahan ini pada %s"
 
-#: ../yum/__init__.py:4998
+#: ../yum/__init__.py:6246
 msgid "Test Transaction Errors: "
-msgstr ""
+msgstr "Kesalahan-kesalahan Uji Coba Transaksi:"
 
-#: ../yum/__init__.py:5098
+#: ../yum/__init__.py:6358
 #, python-format
 msgid "Could not set cachedir: %s"
-msgstr ""
+msgstr "Tidak mampu mengatur cachedir: %s"
 
-#: ../yum/__init__.py:5148 ../yum/__init__.py:5150
+#: ../yum/__init__.py:6420 ../yum/__init__.py:6422
 msgid "Dependencies not solved. Will not save unresolved transaction."
-msgstr ""
+msgstr "Ketergantungan-ketergantungan belum terselesaikan. Tidak akan melakukan penyimpanan transaksi yang belum terselesaikan."
 
-#: ../yum/__init__.py:5179 ../yum/__init__.py:5181
+#: ../yum/__init__.py:6455 ../yum/__init__.py:6457
 #, python-format
 msgid "Could not save transaction file %s: %s"
-msgstr ""
+msgstr "Tidak bisa menyimpan file transaksi %s: %s"
 
-#: ../yum/__init__.py:5195
+#: ../yum/__init__.py:6483
 #, python-format
 msgid "Could not access/read saved transaction %s : %s"
-msgstr ""
+msgstr "Tidak bisa mengakses/membaca transaksi tersimpan %s: %s"
 
-#: ../yum/__init__.py:5214
-msgid "rpmdb ver mismatched saved transaction version, "
+#: ../yum/__init__.py:6521
+msgid "rpmdb ver mismatched saved transaction version,"
 msgstr ""
 
-#: ../yum/__init__.py:5216
-msgid " ignoring, as requested."
-msgstr ""
-
-#: ../yum/__init__.py:5219 ../yum/__init__.py:5354
-msgid " aborting."
-msgstr ""
-
-#: ../yum/__init__.py:5228
+#: ../yum/__init__.py:6535
 msgid "cannot find tsflags or tsflags not integer."
-msgstr ""
+msgstr "tidak bisa menemukan tsflags, atau tsflags bukanlah integer."
 
-#: ../yum/__init__.py:5267
+#: ../yum/__init__.py:6584
 #, python-format
 msgid "Found txmbr in unknown current state: %s"
-msgstr ""
+msgstr "txmbr ditemukan dalam status terkini yang tidak dikenali: %s"
 
-#: ../yum/__init__.py:5271
+#: ../yum/__init__.py:6588
 #, python-format
 msgid "Could not find txmbr: %s in state %s"
-msgstr ""
+msgstr "Tidak bisa menemukan txmbr: %s dalam status %s"
 
-#: ../yum/__init__.py:5307 ../yum/__init__.py:5324
+#: ../yum/__init__.py:6625 ../yum/__init__.py:6642
 #, python-format
 msgid "Could not find txmbr: %s from origin: %s"
-msgstr ""
+msgstr "Tidak bisa menemukan txmbr: %s dari asal %s"
 
-#: ../yum/__init__.py:5349
+#: ../yum/__init__.py:6667
 msgid "Transaction members, relations are missing or ts has been modified,"
-msgstr ""
+msgstr "Bagian-bagian Transaksi, relasi hilang atau ts telah dimodifikasi,"
 
-#: ../yum/__init__.py:5351
+#: ../yum/__init__.py:6670
 msgid " ignoring, as requested. You must redepsolve!"
+msgstr " mengabaikan, sesuai permintaan. Anda harus melakukan redepsolve!"
+
+#. Debugging output
+#: ../yum/__init__.py:6738 ../yum/__init__.py:6757
+#, python-format
+msgid "%s has been visited already and cannot be removed."
+msgstr "%s telah dikunjungi dan tidak bisa dihapus."
+
+#. Debugging output
+#: ../yum/__init__.py:6741
+#, python-format
+msgid "Examining revdeps of %s"
+msgstr "Memeriksa revdeps dari %s"
+
+#. Debugging output
+#: ../yum/__init__.py:6762
+#, python-format
+msgid "%s has revdep %s which was user-installed."
+msgstr "%s telah revdep %s dimana di-instalasi oleh pengguna."
+
+#: ../yum/__init__.py:6773 ../yum/__init__.py:6779
+#, python-format
+msgid "%s is needed by a package to be installed."
 msgstr ""
 
+#. Debugging output
+#: ../yum/__init__.py:6793
+#, python-format
+msgid "%s has no user-installed revdeps."
+msgstr "%s tidak memiliki revdeps yang di-instalasi oleh pengguna."
+
 #. Mostly copied from YumOutput._outKeyValFill()
-#: ../yum/plugins.py:209
+#: ../yum/plugins.py:212
 msgid "Loaded plugins: "
-msgstr ""
+msgstr "Plugins yang dimuat:"
 
-#: ../yum/plugins.py:223 ../yum/plugins.py:229
+#: ../yum/plugins.py:226 ../yum/plugins.py:232
 #, python-format
 msgid "No plugin match for: %s"
-msgstr ""
+msgstr "Tidak ada plugin yang cocok untuk: %s"
 
-#: ../yum/plugins.py:259
+#: ../yum/plugins.py:262
 #, python-format
 msgid "Not loading \"%s\" plugin, as it is disabled"
-msgstr ""
+msgstr "Tidak memuat plugin \"%s\", karena telah di-non-aktifkan"
 
 #. Give full backtrace:
-#: ../yum/plugins.py:271
+#: ../yum/plugins.py:274
 #, python-format
 msgid "Plugin \"%s\" can't be imported"
-msgstr ""
+msgstr "Plugin \"%s\" tidak bisa di-impor"
 
-#: ../yum/plugins.py:278
+#: ../yum/plugins.py:281
 #, python-format
 msgid "Plugin \"%s\" doesn't specify required API version"
-msgstr ""
+msgstr "Plugin \"%s\" tidak menyediakan versi API yang dibutuhkan"
 
-#: ../yum/plugins.py:283
+#: ../yum/plugins.py:286
 #, python-format
 msgid "Plugin \"%s\" requires API %s. Supported API is %s."
-msgstr ""
+msgstr "Plugin \"%s\" membutuhkan API %s. API yang didukung adalah %s."
 
-#: ../yum/plugins.py:316
+#: ../yum/plugins.py:319
 #, python-format
 msgid "Loading \"%s\" plugin"
-msgstr ""
+msgstr "Memuat plugin \"%s\""
 
-#: ../yum/plugins.py:323
+#: ../yum/plugins.py:326
 #, python-format
 msgid "Two or more plugins with the name \"%s\" exist in the plugin search path"
-msgstr ""
+msgstr "Dua buah atau lebih, plugin dengan nama \"%s\" berada pada path pencarian plugin"
 
-#: ../yum/plugins.py:343
+#: ../yum/plugins.py:346
 #, python-format
 msgid "Configuration file %s not found"
-msgstr ""
+msgstr "Tidak ditemukan berkas konfigurasi dari %s"
 
 #. for
 #. Configuration files for the plugin not found
-#: ../yum/plugins.py:346
+#: ../yum/plugins.py:349
 #, python-format
 msgid "Unable to find configuration file for plugin %s"
-msgstr ""
+msgstr "Tidak bisa menemukan berkas konfigurasi untuk plugin %s"
 
-#: ../yum/plugins.py:508
+#: ../yum/plugins.py:553
 msgid "registration of commands not supported"
-msgstr ""
+msgstr "registrasi dari perintah-perintah, belum didukung"
 
-#: ../yum/rpmsack.py:148
+#: ../yum/rpmsack.py:159
 msgid "has missing requires of"
-msgstr ""
+msgstr "kehilangan kebutuhan dari"
 
-#: ../yum/rpmsack.py:151
+#: ../yum/rpmsack.py:162
 msgid "has installed conflicts"
-msgstr ""
+msgstr "konflik telah di-instalasi"
 
-#: ../yum/rpmsack.py:160
+#: ../yum/rpmsack.py:171
 #, python-format
 msgid "%s is a duplicate with %s"
-msgstr ""
+msgstr "%s merupakan duplikasi dari %s"
 
-#: ../yum/rpmsack.py:168
+#: ../yum/rpmsack.py:179
 #, python-format
 msgid "%s is obsoleted by %s"
-msgstr ""
+msgstr "%s telah diusangkan oleh %s"
 
-#: ../yum/rpmsack.py:176
+#: ../yum/rpmsack.py:187
 #, python-format
 msgid "%s provides %s but it cannot be found"
-msgstr ""
+msgstr "%s menyediakan %s, namun tidak ditemukan"
 
 #: ../yum/rpmtrans.py:80
 msgid "Repackaging"
+msgstr "Mengulang pemaketan"
+
+#: ../yum/rpmtrans.py:149
+#, python-format
+msgid "Verify: %u/%u: %s"
+msgstr "Verifikasi: %u/%u: %s"
+
+#: ../yum/yumRepo.py:919
+#, python-format
+msgid ""
+"Insufficient space in download directory %s\n"
+"    * free   %s\n"
+"    * needed %s"
+msgstr "Kekurangan ruang pada direktori unduhan %s\n    * tersisa   %s\n    * yang dibutuhkan %s"
+
+#: ../yum/yumRepo.py:986
+msgid "Package does not match intended download."
 msgstr ""
 
 #: ../rpmUtils/oldUtils.py:33
 #, python-format
 msgid "Header cannot be opened or does not match %s, %s."
-msgstr ""
+msgstr "Header tidak bisa dibuka atau tidak cocok dengan %s, %s."
 
 #: ../rpmUtils/oldUtils.py:53
 #, python-format
 msgid "RPM %s fails md5 check"
-msgstr ""
+msgstr "Kegagalan pemeriksaan md5 RPM %s"
 
 #: ../rpmUtils/oldUtils.py:151
 msgid "Could not open RPM database for reading. Perhaps it is already in use?"
-msgstr ""
+msgstr "Tidak bisa membuka database RPM untuk pembacaan. Mungkinkah database sedang digunakan?"
 
 #: ../rpmUtils/oldUtils.py:183
 msgid "Got an empty Header, something has gone wrong"
-msgstr ""
+msgstr "Mendapati sebuah Header yang kosong, sepertinya ada yang salah"
 
 #: ../rpmUtils/oldUtils.py:253 ../rpmUtils/oldUtils.py:260
 #: ../rpmUtils/oldUtils.py:263 ../rpmUtils/oldUtils.py:266
 #, python-format
 msgid "Damaged Header %s"
-msgstr ""
+msgstr "Header yang telah rusak %s"
 
 #: ../rpmUtils/oldUtils.py:281
 #, python-format
 msgid "Error opening rpm %s - error %s"
-msgstr ""
-
-
+msgstr "Kesalahan didalam membuka rpm %s - kesalahan %s"
diff --git a/po/id_ID.po b/po/id_ID.po
index 964c239..52ba317 100644
--- a/po/id_ID.po
+++ b/po/id_ID.po
@@ -2,946 +2,1048 @@
 # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
 # This file is distributed under the same license as the PACKAGE package.
 # 
-# Teguh Dwicaksana <dheche@songolimo.net>, 2011
+# Translators:
+# Teguh Dwicaksana <dheche@songolimo.net>, 2011.
 msgid ""
 msgstr ""
 "Project-Id-Version: Yum\n"
-"Report-Msgid-Bugs-To: http://yum.baseurl.org/\n"
-"POT-Creation-Date: 2011-06-06 10:21-0400\n"
-"PO-Revision-Date: 2011-06-06 14:21+0000\n"
-"Last-Translator: skvidal <skvidal@fedoraproject.org>\n"
+"Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
+"POT-Creation-Date: 2013-01-30 09:08-0500\n"
+"PO-Revision-Date: 2013-01-30 14:08+0000\n"
+"Last-Translator: james <james@fedoraproject.org>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Language: id_ID\n"
-"Plural-Forms: nplurals=1; plural=0\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
 
-#: ../callback.py:48 ../output.py:1037 ../yum/rpmtrans.py:73
+#: ../callback.py:45 ../output.py:1502 ../yum/rpmtrans.py:73
 msgid "Updating"
 msgstr "Memutakhirkan"
 
-#: ../callback.py:49 ../yum/rpmtrans.py:74
+#: ../callback.py:46 ../yum/rpmtrans.py:74
 msgid "Erasing"
 msgstr "Menghapus"
 
-#: ../callback.py:50 ../callback.py:51 ../callback.py:53 ../output.py:1036
-#: ../output.py:2218 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
+#: ../callback.py:47 ../callback.py:48 ../callback.py:50 ../output.py:1501
+#: ../output.py:2922 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
 #: ../yum/rpmtrans.py:78
 msgid "Installing"
 msgstr "Memasang"
 
-#: ../callback.py:52 ../callback.py:58 ../output.py:1840 ../yum/rpmtrans.py:77
+#: ../callback.py:49 ../callback.py:55 ../output.py:2379 ../yum/rpmtrans.py:77
 msgid "Obsoleted"
 msgstr "Usang"
 
-#: ../callback.py:54 ../output.py:1169 ../output.py:1686 ../output.py:1847
+#: ../callback.py:51 ../output.py:1670 ../output.py:2222 ../output.py:2386
 msgid "Updated"
 msgstr "Termutakhirkan"
 
-#: ../callback.py:55 ../output.py:1685
+#: ../callback.py:52 ../output.py:2221
 msgid "Erased"
 msgstr "Dihapus"
 
-#: ../callback.py:56 ../callback.py:57 ../callback.py:59 ../output.py:1167
-#: ../output.py:1685 ../output.py:1687 ../output.py:2190
+#: ../callback.py:53 ../callback.py:54 ../callback.py:56 ../output.py:1668
+#: ../output.py:2221 ../output.py:2223 ../output.py:2894
 msgid "Installed"
 msgstr "Terpasang"
 
-#: ../callback.py:130
+#: ../callback.py:142
 msgid "No header - huh?"
 msgstr "Tidak ada header - huh?"
 
-#: ../callback.py:168
+#: ../callback.py:180
 msgid "Repackage"
 msgstr "Memaket Ulang"
 
-#: ../callback.py:189
+#: ../callback.py:201
 #, python-format
 msgid "Error: invalid output state: %s for %s"
 msgstr ""
 
-#: ../callback.py:212
+#: ../callback.py:224
 #, python-format
 msgid "Erased: %s"
 msgstr "Dihapus: %s"
 
-#: ../callback.py:217 ../output.py:1038 ../output.py:2193
+#: ../callback.py:229 ../output.py:1503 ../output.py:2897
 msgid "Removing"
 msgstr "Menghapus"
 
-#: ../callback.py:219 ../yum/rpmtrans.py:79
+#: ../callback.py:231 ../yum/rpmtrans.py:79
 msgid "Cleanup"
 msgstr "Pembersihan"
 
-#: ../cli.py:115
+#: ../cli.py:122
 #, python-format
 msgid "Command \"%s\" already defined"
 msgstr ""
 
-#: ../cli.py:127
+#: ../cli.py:137
 msgid "Setting up repositories"
 msgstr "Menyiapkan repositori"
 
-#: ../cli.py:138
+#: ../cli.py:148
 msgid "Reading repository metadata in from local files"
 msgstr "Membaca metadata repositori dari berkas lokal"
 
-#: ../cli.py:245 ../utils.py:281
+#: ../cli.py:273 ../cli.py:277 ../utils.py:320
 #, python-format
 msgid "Config Error: %s"
 msgstr "Kesalahan Konfigurasi: %s"
 
-#: ../cli.py:248 ../cli.py:1584 ../utils.py:284
+#: ../cli.py:280 ../cli.py:2206 ../utils.py:323
 #, python-format
 msgid "Options Error: %s"
 msgstr "Kesalahan Opsi: %s"
 
-#: ../cli.py:293
+#: ../cli.py:327
 #, python-format
 msgid "  Installed: %s-%s at %s"
 msgstr "  Terpasang: %s-%s di %s"
 
-#: ../cli.py:295
+#: ../cli.py:329
 #, python-format
 msgid "  Built    : %s at %s"
 msgstr ""
 
-#: ../cli.py:297
+#: ../cli.py:331
 #, python-format
 msgid "  Committed: %s at %s"
 msgstr ""
 
-#: ../cli.py:336
+#: ../cli.py:372
 msgid "You need to give some command"
 msgstr "Anda perlu memberi beberapa perintah"
 
-#: ../cli.py:350
+#: ../cli.py:386
 #, python-format
 msgid "No such command: %s. Please use %s --help"
 msgstr ""
 
-#: ../cli.py:400
+#: ../cli.py:444
 msgid "Disk Requirements:\n"
 msgstr "Persyaratan Disk:\n"
 
-#: ../cli.py:402
+#: ../cli.py:446
 #, python-format
 msgid "  At least %dMB more space needed on the %s filesystem.\n"
-msgstr "  Setidaknya dibutuhkan ruang %dMB lagi di sistem berkas %s.\n"
+msgid_plural "  At least %dMB more space needed on the %s filesystem.\n"
+msgstr[0] "  Setidaknya dibutuhkan ruang %dMB lagi di sistem berkas %s.\n"
 
 #. TODO: simplify the dependency errors?
 #. Fixup the summary
-#: ../cli.py:407
+#: ../cli.py:451
 msgid ""
 "Error Summary\n"
 "-------------\n"
 msgstr ""
 
-#: ../cli.py:450
+#: ../cli.py:472
+msgid "Can't create lock file; exiting"
+msgstr ""
+
+#: ../cli.py:479
+msgid ""
+"Another app is currently holding the yum lock; exiting as configured by "
+"exit_on_lock"
+msgstr ""
+
+#: ../cli.py:532
 msgid "Trying to run the transaction but nothing to do. Exiting."
+msgstr "Mencoba untuk menjalankan transaksi tetapi tidak ada yang harus dikerjakan. Keluar."
+
+#: ../cli.py:577
+msgid "future rpmdb ver mismatched saved transaction version,"
+msgstr ""
+
+#: ../cli.py:579 ../yum/__init__.py:6523
+msgid " ignoring, as requested."
 msgstr ""
-"Mencoba untuk menjalankan transaksi tetapi tidak ada yang harus dikerjakan. "
-"Keluar."
 
-#: ../cli.py:497
+#: ../cli.py:582 ../yum/__init__.py:6526 ../yum/__init__.py:6673
+msgid " aborting."
+msgstr ""
+
+#: ../cli.py:588
 msgid "Exiting on user Command"
 msgstr ""
 
-#: ../cli.py:501
+#: ../cli.py:592
 msgid "Downloading Packages:"
 msgstr "Mengunduh Paket-paket:"
 
-#: ../cli.py:506
+#: ../cli.py:597
 msgid "Error Downloading Packages:\n"
 msgstr "Kesalahan Saat Mengunduh Paket-paket:\n"
 
-#: ../cli.py:525 ../yum/__init__.py:4967
+#: ../cli.py:616 ../yum/__init__.py:6215
 msgid "Running Transaction Check"
 msgstr ""
 
-#: ../cli.py:534 ../yum/__init__.py:4976
+#: ../cli.py:625 ../yum/__init__.py:6224
 msgid "ERROR You need to update rpm to handle:"
 msgstr "GALAT Anda perlu memperbarui rpm untuk menangani:"
 
-#: ../cli.py:536 ../yum/__init__.py:4979
+#: ../cli.py:627 ../yum/__init__.py:6227
 msgid "ERROR with transaction check vs depsolve:"
 msgstr ""
 
-#: ../cli.py:542
+#: ../cli.py:633
 msgid "RPM needs to be updated"
 msgstr "RPM perlu dimutakhirkan"
 
-#: ../cli.py:543
+#: ../cli.py:634
 #, python-format
 msgid "Please report this error in %s"
 msgstr "Laporkan kesalahan di %s ini"
 
-#: ../cli.py:549
+#: ../cli.py:640
 msgid "Running Transaction Test"
 msgstr "Menjalankan Uji Transaksi"
 
-#: ../cli.py:561
+#: ../cli.py:652
 msgid "Transaction Check Error:\n"
 msgstr "Kesalahan Pengujian Transaksi:\n"
 
-#: ../cli.py:568
+#: ../cli.py:659
 msgid "Transaction Test Succeeded"
 msgstr "Uji Transaksi Berhasil"
 
-#: ../cli.py:600
+#: ../cli.py:691
 msgid "Running Transaction"
 msgstr "Menjalankan Transaksi"
 
-#: ../cli.py:630
+#: ../cli.py:724
 msgid ""
 "Refusing to automatically import keys when running unattended.\n"
 "Use \"-y\" to override."
 msgstr ""
 
-#: ../cli.py:649 ../cli.py:692
+#: ../cli.py:743 ../cli.py:786
 msgid "  * Maybe you meant: "
 msgstr "  * Mungkin maksud Anda: "
 
-#: ../cli.py:675 ../cli.py:683
+#: ../cli.py:769 ../cli.py:777
 #, python-format
 msgid "Package(s) %s%s%s available, but not installed."
 msgstr "Paket %s%s%s tersedia, tapi tidak terpasang."
 
-#: ../cli.py:689 ../cli.py:722 ../cli.py:908
+#: ../cli.py:783 ../cli.py:891 ../cli.py:1158
 #, python-format
 msgid "No package %s%s%s available."
 msgstr "Tidak ada paket %s%s%s yang tersedia."
 
-#: ../cli.py:729 ../cli.py:973
-msgid "Package(s) to install"
-msgstr "Paket yang akan dipasang"
+#: ../cli.py:871 ../cli.py:881 ../cli.py:1101 ../cli.py:1111
+#, python-format
+msgid "Bad %s argument %s."
+msgstr ""
+
+#: ../cli.py:900 ../yumcommands.py:3331
+#, python-format
+msgid "%d package to install"
+msgid_plural "%d packages to install"
+msgstr[0] ""
 
-#: ../cli.py:732 ../cli.py:733 ../cli.py:914 ../cli.py:948 ../cli.py:974
-#: ../yumcommands.py:190
+#: ../cli.py:903 ../cli.py:904 ../cli.py:1169 ../cli.py:1170 ../cli.py:1224
+#: ../cli.py:1225 ../cli.py:1260 ../yumcommands.py:323 ../yumcommands.py:3419
 msgid "Nothing to do"
 msgstr "Tak ada tindakan yang dilakukan"
 
-#: ../cli.py:767
+#: ../cli.py:953
 #, python-format
-msgid "%d packages marked for Update"
-msgstr "%d paket telah ditandai untuk dimutakhirkan"
+msgid "%d package marked for Update"
+msgid_plural "%d packages marked for Update"
+msgstr[0] ""
 
-#: ../cli.py:770
+#: ../cli.py:955
 msgid "No Packages marked for Update"
 msgstr "Tidak ada Paket yang ditandai untuk dimutakhirkan"
 
-#: ../cli.py:866
+#: ../cli.py:1067
 #, python-format
-msgid "%d packages marked for Distribution Synchronization"
-msgstr ""
+msgid "%d package marked for Distribution Synchronization"
+msgid_plural "%d packages marked for Distribution Synchronization"
+msgstr[0] ""
 
-#: ../cli.py:869
+#: ../cli.py:1069
 msgid "No Packages marked for Distribution Synchronization"
 msgstr ""
 
-#: ../cli.py:885
+#: ../cli.py:1124
 #, python-format
-msgid "%d packages marked for removal"
-msgstr "%d paket ditandai untuk dihapus"
+msgid "%d package marked for removal"
+msgid_plural "%d packages marked for removal"
+msgstr[0] ""
 
-#: ../cli.py:888
+#: ../cli.py:1126
 msgid "No Packages marked for removal"
 msgstr "Tidak ada paket yang ditandai untuk dihapus"
 
-#: ../cli.py:913
-msgid "Package(s) to downgrade"
-msgstr ""
+#: ../cli.py:1166
+#, python-format
+msgid "%d package to downgrade"
+msgid_plural "%d packages to downgrade"
+msgstr[0] ""
 
-#: ../cli.py:938
+#: ../cli.py:1207
 #, python-format
 msgid " (from %s)"
 msgstr " (dari %s)"
 
-#: ../cli.py:939
+#: ../cli.py:1208
 #, python-format
 msgid "Installed package %s%s%s%s not available."
 msgstr "Paket %s%s%s%s yang terpasang tidak tersedia."
 
-#: ../cli.py:947
-msgid "Package(s) to reinstall"
-msgstr "Paket yang akan dipasang ulang"
+#: ../cli.py:1221
+#, python-format
+msgid "%d package to reinstall"
+msgid_plural "%d packages to reinstall"
+msgstr[0] ""
 
-#: ../cli.py:960
+#: ../cli.py:1246
 msgid "No Packages Provided"
 msgstr "Tidak ada paket yang tersedia"
 
-#: ../cli.py:1058
+#: ../cli.py:1259
+msgid "Package(s) to install"
+msgstr "Paket yang akan dipasang"
+
+#: ../cli.py:1367
 #, python-format
 msgid "N/S Matched: %s"
 msgstr ""
 
-#: ../cli.py:1075
+#: ../cli.py:1384
 #, python-format
 msgid "  Name and summary matches %sonly%s, use \"search all\" for everything."
 msgstr ""
 
-#: ../cli.py:1077
+#: ../cli.py:1386
 #, python-format
 msgid ""
 "  Full name and summary matches %sonly%s, use \"search all\" for everything."
 msgstr ""
 
-#: ../cli.py:1095
+#: ../cli.py:1404
 #, python-format
 msgid "Matched: %s"
 msgstr "Cocok: %s"
 
-#: ../cli.py:1102
+#: ../cli.py:1411
 #, python-format
 msgid "  Name and summary matches %smostly%s, use \"search all\" for everything."
 msgstr ""
 
-#: ../cli.py:1106
+#: ../cli.py:1415
 #, python-format
 msgid "Warning: No matches found for: %s"
 msgstr "Peringatan: Tidak ada yang cocok: %s"
 
-#: ../cli.py:1109
+#: ../cli.py:1418
 msgid "No Matches found"
 msgstr "Tidak ada yang cocok"
 
-#: ../cli.py:1174
+#: ../cli.py:1536
 #, python-format
-msgid "No Package Found for %s"
-msgstr "Tidak ada paket yang ditemukan untuk %s"
+msgid ""
+"Error: No Packages found for:\n"
+"  %s"
+msgstr ""
 
-#: ../cli.py:1184
+#: ../cli.py:1572
 msgid "Cleaning repos: "
 msgstr "Membersihkan repo: "
 
-#: ../cli.py:1189
+#: ../cli.py:1577
 msgid "Cleaning up Everything"
 msgstr "Membersihkan Semuanya"
 
-#: ../cli.py:1205
+#: ../cli.py:1593
 msgid "Cleaning up Headers"
 msgstr "Membersihkan Header"
 
-#: ../cli.py:1208
+#: ../cli.py:1596
 msgid "Cleaning up Packages"
 msgstr "Membersihkan Paket-paket"
 
-#: ../cli.py:1211
+#: ../cli.py:1599
 msgid "Cleaning up xml metadata"
 msgstr "Membersihkan metadata xml"
 
-#: ../cli.py:1214
+#: ../cli.py:1602
 msgid "Cleaning up database cache"
 msgstr "Membersihkan singgahan basis data"
 
-#: ../cli.py:1217
+#: ../cli.py:1605
 msgid "Cleaning up expire-cache metadata"
 msgstr "Membersihkan metadata singgahan yang kadaluarsa"
 
-#: ../cli.py:1220
+#: ../cli.py:1608
 msgid "Cleaning up cached rpmdb data"
 msgstr "Membersihkan data rpmdb yang disinggahkan"
 
-#: ../cli.py:1223
+#: ../cli.py:1611
 msgid "Cleaning up plugins"
 msgstr "Membersihkan pengaya"
 
-#: ../cli.py:1247
-#, python-format
-msgid "Warning: No groups match: %s"
+#: ../cli.py:1727
+msgid "Installed Environment Groups:"
 msgstr ""
 
-#: ../cli.py:1264
+#: ../cli.py:1728
+msgid "Available Environment Groups:"
+msgstr ""
+
+#: ../cli.py:1735
 msgid "Installed Groups:"
 msgstr "Grup yang terpasang:"
 
-#: ../cli.py:1270
+#: ../cli.py:1742
 msgid "Installed Language Groups:"
 msgstr ""
 
-#: ../cli.py:1276
+#: ../cli.py:1749
 msgid "Available Groups:"
 msgstr "Grup yang Tersedia:"
 
-#: ../cli.py:1282
+#: ../cli.py:1756
 msgid "Available Language Groups:"
 msgstr ""
 
-#: ../cli.py:1285
+#: ../cli.py:1759
+#, python-format
+msgid "Warning: No Environments/Groups match: %s"
+msgstr ""
+
+#: ../cli.py:1763
 msgid "Done"
 msgstr "Selesai"
 
-#: ../cli.py:1296 ../cli.py:1314 ../cli.py:1320 ../yum/__init__.py:3313
+#: ../cli.py:1818
+#, python-format
+msgid "Warning: Group/Environment %s does not exist."
+msgstr ""
+
+#: ../cli.py:1859
+#, python-format
+msgid "Warning: Environment %s does not exist."
+msgstr ""
+
+#: ../cli.py:1873 ../cli.py:1879 ../yum/__init__.py:4254
 #, python-format
 msgid "Warning: Group %s does not exist."
 msgstr "Peringatan: Grup %s tidak ada."
 
-#: ../cli.py:1324
+#: ../cli.py:1883
 msgid "No packages in any requested group available to install or update"
 msgstr ""
 
-#: ../cli.py:1326
+#: ../cli.py:1885
 #, python-format
-msgid "%d Package(s) to Install"
-msgstr "%d Paket yang akan dipasang"
+msgid "%d package to Install"
+msgid_plural "%d packages to Install"
+msgstr[0] ""
 
-#: ../cli.py:1336 ../yum/__init__.py:3325
+#: ../cli.py:1919 ../yum/__init__.py:3536 ../yum/__init__.py:3766
+#: ../yum/__init__.py:3824
+#, python-format
+msgid "No Environment named %s exists"
+msgstr ""
+
+#: ../cli.py:1935 ../yum/__init__.py:4282
 #, python-format
 msgid "No group named %s exists"
 msgstr "Tidak ada nama grup %s"
 
-#: ../cli.py:1342
+#: ../cli.py:1945
 msgid "No packages to remove from groups"
 msgstr "Tidak ada paket yang akan dihapus dari grup"
 
-#: ../cli.py:1344
+#: ../cli.py:1947 ../yumcommands.py:3351
 #, python-format
-msgid "%d Package(s) to remove"
-msgstr "%d Paket akan dihapus"
+msgid "%d package to remove"
+msgid_plural "%d packages to remove"
+msgstr[0] ""
 
-#: ../cli.py:1386
+#: ../cli.py:1988
 #, python-format
 msgid "Package %s is already installed, skipping"
 msgstr "Paket %s sudah diinstal, lewati"
 
-#: ../cli.py:1397
+#: ../cli.py:1999
 #, python-format
 msgid "Discarding non-comparable pkg %s.%s"
 msgstr ""
 
 #. we've not got any installed that match n or n+a
-#: ../cli.py:1423
+#: ../cli.py:2025
 #, python-format
 msgid "No other %s installed, adding to list for potential install"
 msgstr ""
 
-#: ../cli.py:1443
+#: ../cli.py:2045
 msgid "Plugin Options"
 msgstr "Opsi Pengaya"
 
-#: ../cli.py:1451
+#: ../cli.py:2057
 #, python-format
 msgid "Command line error: %s"
 msgstr "Galat di perintah baris: %s"
 
-#: ../cli.py:1467
+#: ../cli.py:2079
 #, python-format
 msgid ""
 "\n"
 "\n"
 "%s: %s option requires an argument"
-msgstr ""
-"\n"
-"\n"
-"%s: opsi %s membutuhkan argumen"
+msgstr "\n\n%s: opsi %s membutuhkan argumen"
 
-#: ../cli.py:1521
+#: ../cli.py:2147
 msgid "--color takes one of: auto, always, never"
 msgstr ""
 
 #. We have a relative installroot ... haha
-#: ../cli.py:1596
+#: ../cli.py:2218
 #, python-format
 msgid "--installroot must be an absolute path: %s"
 msgstr ""
 
-#: ../cli.py:1642
+#: ../cli.py:2272
 msgid "show this help message and exit"
 msgstr "tampilkan pesan bantuan ini dan keluar"
 
-#: ../cli.py:1646
+#: ../cli.py:2276
 msgid "be tolerant of errors"
 msgstr "toleran terhadap kesalahan"
 
-#: ../cli.py:1649
+#: ../cli.py:2279
 msgid "run entirely from system cache, don't update cache"
-msgstr ""
-"jalankan sepenuhnya dari singgahan sistem, jangan memutakhirkan persinggahan"
+msgstr "jalankan sepenuhnya dari singgahan sistem, jangan memutakhirkan persinggahan"
 
-#: ../cli.py:1652
+#: ../cli.py:2282
 msgid "config file location"
 msgstr "lokasi berkas konfigurasi"
 
-#: ../cli.py:1655
+#: ../cli.py:2285
 msgid "maximum command wait time"
 msgstr "waktu tunggu perintah maksimum"
 
-#: ../cli.py:1657
+#: ../cli.py:2287
 msgid "debugging output level"
 msgstr ""
 
-#: ../cli.py:1661
+#: ../cli.py:2291
 msgid "show duplicates, in repos, in list/search commands"
 msgstr ""
 
-#: ../cli.py:1663
+#: ../cli.py:2296
 msgid "error output level"
 msgstr ""
 
-#: ../cli.py:1666
+#: ../cli.py:2299
 msgid "debugging output level for rpm"
 msgstr ""
 
-#: ../cli.py:1669
+#: ../cli.py:2302
 msgid "quiet operation"
 msgstr "operasi senyap"
 
-#: ../cli.py:1671
+#: ../cli.py:2304
 msgid "verbose operation"
 msgstr ""
 
-#: ../cli.py:1673
+#: ../cli.py:2306
 msgid "answer yes for all questions"
 msgstr "jawab ya untuk semua pertanyaan"
 
-#: ../cli.py:1675
+#: ../cli.py:2308
+msgid "answer no for all questions"
+msgstr ""
+
+#: ../cli.py:2312
 msgid "show Yum version and exit"
 msgstr "tampilkan versi Yum dan keluar"
 
-#: ../cli.py:1676
+#: ../cli.py:2313
 msgid "set install root"
 msgstr ""
 
-#: ../cli.py:1680
+#: ../cli.py:2317
 msgid "enable one or more repositories (wildcards allowed)"
-msgstr ""
-"aktifkan satu atau lebih repositori (diperbolehkan menggunakan wildcard)"
+msgstr "aktifkan satu atau lebih repositori (diperbolehkan menggunakan wildcard)"
 
-#: ../cli.py:1684
+#: ../cli.py:2321
 msgid "disable one or more repositories (wildcards allowed)"
-msgstr ""
-"nonaktifkan satu atau lebih repositori (diperbolehkan menggunakan wildcard)"
+msgstr "nonaktifkan satu atau lebih repositori (diperbolehkan menggunakan wildcard)"
 
-#: ../cli.py:1687
+#: ../cli.py:2324
 msgid "exclude package(s) by name or glob"
 msgstr ""
 
-#: ../cli.py:1689
+#: ../cli.py:2326
 msgid "disable exclude from main, for a repo or for everything"
 msgstr ""
 
-#: ../cli.py:1692
+#: ../cli.py:2329
 msgid "enable obsoletes processing during updates"
 msgstr ""
 
-#: ../cli.py:1694
+#: ../cli.py:2331
 msgid "disable Yum plugins"
 msgstr "nonaktifkan pengaya Yum"
 
-#: ../cli.py:1696
+#: ../cli.py:2333
 msgid "disable gpg signature checking"
 msgstr "nonaktifkan pemeriksaan tanda tangan gpg"
 
-#: ../cli.py:1698
+#: ../cli.py:2335
 msgid "disable plugins by name"
 msgstr "nonaktifkan pengaya berdasarkan nama"
 
-#: ../cli.py:1701
+#: ../cli.py:2338
 msgid "enable plugins by name"
 msgstr "aktifkan pengaya berdasarkan nama"
 
-#: ../cli.py:1704
+#: ../cli.py:2341
 msgid "skip packages with depsolving problems"
 msgstr ""
 
-#: ../cli.py:1706
+#: ../cli.py:2343
 msgid "control whether color is used"
 msgstr ""
 
-#: ../cli.py:1708
+#: ../cli.py:2345
 msgid "set value of $releasever in yum config and repo files"
 msgstr "tentukan nilai $releasever di berkas konfigurasi yum dan repo"
 
-#: ../cli.py:1710
+#: ../cli.py:2347
+msgid "don't update, just download"
+msgstr ""
+
+#: ../cli.py:2349
+msgid "specifies an alternate directory to store packages"
+msgstr ""
+
+#: ../cli.py:2351
 msgid "set arbitrary config and repo options"
 msgstr ""
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Jan"
 msgstr "Jan"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Feb"
 msgstr "Feb"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Mar"
 msgstr "Mar"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Apr"
 msgstr "Apr"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "May"
 msgstr "Mei"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Jun"
 msgstr "Jun"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Jul"
 msgstr "Jul"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Aug"
 msgstr "Agu"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Sep"
 msgstr "Sep"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Oct"
 msgstr "Okt"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Nov"
 msgstr "Nov"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Dec"
 msgstr "Des"
 
-#: ../output.py:318
+#: ../output.py:473
 msgid "Trying other mirror."
 msgstr ""
 
-#: ../output.py:581
+#: ../output.py:816
 #, python-format
 msgid "Name        : %s%s%s"
 msgstr "Nama        : %s%s%s"
 
-#: ../output.py:582
+#: ../output.py:817
 #, python-format
 msgid "Arch        : %s"
 msgstr "Arst        : %s"
 
-#: ../output.py:584
+#: ../output.py:819
 #, python-format
 msgid "Epoch       : %s"
 msgstr ""
 
-#: ../output.py:585
+#: ../output.py:820
 #, python-format
 msgid "Version     : %s"
 msgstr "Versi     : %s"
 
-#: ../output.py:586
+#: ../output.py:821
 #, python-format
 msgid "Release     : %s"
 msgstr "Rilis     : %s"
 
-#: ../output.py:587
+#: ../output.py:822
 #, python-format
 msgid "Size        : %s"
 msgstr "Ukuran        : %s"
 
-#: ../output.py:588 ../output.py:900
+#: ../output.py:823 ../output.py:1329
 #, python-format
 msgid "Repo        : %s"
 msgstr "Repo        : %s"
 
-#: ../output.py:590
+#: ../output.py:825
 #, python-format
 msgid "From repo   : %s"
 msgstr "Dari repo   : %s"
 
-#: ../output.py:592
+#: ../output.py:827
 #, python-format
 msgid "Committer   : %s"
 msgstr ""
 
-#: ../output.py:593
+#: ../output.py:828
 #, python-format
 msgid "Committime  : %s"
 msgstr ""
 
-#: ../output.py:594
+#: ../output.py:829
 #, python-format
 msgid "Buildtime   : %s"
 msgstr ""
 
-#: ../output.py:596
+#: ../output.py:831
 #, python-format
 msgid "Install time: %s"
 msgstr "Waktu pemasangan: %s"
 
-#: ../output.py:604
+#: ../output.py:839
 #, python-format
 msgid "Installed by: %s"
 msgstr "Dipasang oleh: %s"
 
-#: ../output.py:611
+#: ../output.py:846
 #, python-format
 msgid "Changed by  : %s"
 msgstr "Diubah oleh  : %s"
 
-#: ../output.py:612
+#: ../output.py:847
 msgid "Summary     : "
 msgstr "Ringkasan     : "
 
-#: ../output.py:614 ../output.py:913
+#: ../output.py:849 ../output.py:1345
 #, python-format
 msgid "URL         : %s"
 msgstr "URL         : %s"
 
-#: ../output.py:615
+#: ../output.py:850
 msgid "License     : "
 msgstr "Lisensi     : "
 
-#: ../output.py:616 ../output.py:910
+#: ../output.py:851 ../output.py:1342
 msgid "Description : "
 msgstr "Keterangan : "
 
-#: ../output.py:684
+#: ../output.py:969
 msgid "y"
 msgstr "y"
 
-#: ../output.py:684
+#: ../output.py:969
 msgid "yes"
 msgstr "ya"
 
-#: ../output.py:685
+#: ../output.py:970
 msgid "n"
 msgstr "n"
 
-#: ../output.py:685
+#: ../output.py:970
 msgid "no"
 msgstr "no"
 
-#: ../output.py:689
+#: ../output.py:974
 msgid "Is this ok [y/N]: "
 msgstr ""
 
-#: ../output.py:777
+#: ../output.py:1097
 #, python-format
 msgid ""
 "\n"
 "Group: %s"
-msgstr ""
-"\n"
-"Grup: %s"
+msgstr "\nGrup: %s"
 
-#: ../output.py:781
+#: ../output.py:1101
 #, python-format
 msgid " Group-Id: %s"
 msgstr " ID-Grup: %s"
 
-#: ../output.py:786
+#: ../output.py:1122 ../output.py:1169
 #, python-format
 msgid " Description: %s"
 msgstr " Deskripsi: %s"
 
-#: ../output.py:788
+#: ../output.py:1124
 #, python-format
 msgid " Language: %s"
 msgstr ""
 
-#: ../output.py:790
+#: ../output.py:1126
 msgid " Mandatory Packages:"
 msgstr " Paket-paket Wajib:"
 
-#: ../output.py:791
+#: ../output.py:1127
 msgid " Default Packages:"
 msgstr ""
 
-#: ../output.py:792
+#: ../output.py:1128
 msgid " Optional Packages:"
 msgstr " Paket-paket Opsional:"
 
-#: ../output.py:793
+#: ../output.py:1129
 msgid " Conditional Packages:"
 msgstr ""
 
-#: ../output.py:814
+#: ../output.py:1147
+msgid " Installed Packages:"
+msgstr ""
+
+#: ../output.py:1157
+#, python-format
+msgid ""
+"\n"
+"Environment Group: %s"
+msgstr ""
+
+#: ../output.py:1158
+#, python-format
+msgid " Environment-Id: %s"
+msgstr ""
+
+#: ../output.py:1191
+msgid " Mandatory Groups:"
+msgstr ""
+
+#: ../output.py:1192
+msgid " Optional Groups:"
+msgstr ""
+
+#: ../output.py:1205
+msgid " Installed Groups:"
+msgstr ""
+
+#: ../output.py:1217
 #, python-format
 msgid "package: %s"
 msgstr "paket: %s"
 
-#: ../output.py:816
+#: ../output.py:1219
 msgid "  No dependencies for this package"
 msgstr ""
 
-#: ../output.py:821
+#: ../output.py:1224
 #, python-format
 msgid "  dependency: %s"
 msgstr ""
 
-#: ../output.py:823
+#: ../output.py:1226
 msgid "   Unsatisfied dependency"
 msgstr ""
 
-#: ../output.py:901
+#: ../output.py:1337
 msgid "Matched from:"
 msgstr ""
 
-#: ../output.py:916
+#: ../output.py:1348
 #, python-format
 msgid "License     : %s"
 msgstr "Lisensi     : %s"
 
-#: ../output.py:919
+#: ../output.py:1351
 #, python-format
 msgid "Filename    : %s"
 msgstr "Nama berkas    : %s"
 
-#: ../output.py:923
+#: ../output.py:1360
+msgid "Provides    : "
+msgstr ""
+
+#: ../output.py:1363
 msgid "Other       : "
 msgstr "Lainnya       : "
 
-#: ../output.py:966
+#: ../output.py:1426
 msgid "There was an error calculating total download size"
 msgstr "Ada kesalahan saat menghitung ukuran total pengunduhan"
 
-#: ../output.py:971
+#: ../output.py:1431
 #, python-format
 msgid "Total size: %s"
 msgstr "Ukuran total: %s"
 
-#: ../output.py:974
+#: ../output.py:1433
 #, python-format
 msgid "Total download size: %s"
 msgstr "Total ukuran pengunduhan: %s"
 
-#: ../output.py:978 ../output.py:998
+#: ../output.py:1436 ../output.py:1459 ../output.py:1463
 #, python-format
 msgid "Installed size: %s"
 msgstr "Ukuran terpasang: %s"
 
-#: ../output.py:994
+#: ../output.py:1454
 msgid "There was an error calculating installed size"
 msgstr "Ada kesalahan saat menghitung ukuran terpasang"
 
-#: ../output.py:1039
+#: ../output.py:1504
 msgid "Reinstalling"
 msgstr "Memasang ulang"
 
-#: ../output.py:1040
+#: ../output.py:1505
 msgid "Downgrading"
 msgstr ""
 
-#: ../output.py:1041
+#: ../output.py:1506
 msgid "Installing for dependencies"
 msgstr ""
 
-#: ../output.py:1042
+#: ../output.py:1507
 msgid "Updating for dependencies"
 msgstr ""
 
-#: ../output.py:1043
+#: ../output.py:1508
 msgid "Removing for dependencies"
 msgstr ""
 
-#: ../output.py:1050 ../output.py:1171
+#: ../output.py:1515 ../output.py:1576 ../output.py:1672
 msgid "Skipped (dependency problems)"
 msgstr ""
 
-#: ../output.py:1052 ../output.py:1687
+#: ../output.py:1517 ../output.py:1577 ../output.py:2223
 msgid "Not installed"
 msgstr "Tidak terpasang"
 
-#: ../output.py:1053
+#: ../output.py:1518 ../output.py:1578
 msgid "Not available"
 msgstr ""
 
-#: ../output.py:1075 ../output.py:2024
+#: ../output.py:1540 ../output.py:1588 ../output.py:1604 ../output.py:2581
 msgid "Package"
-msgstr "Paket"
+msgid_plural "Packages"
+msgstr[0] "Paket"
 
-#: ../output.py:1075
+#: ../output.py:1540
 msgid "Arch"
 msgstr "Arst"
 
-#: ../output.py:1076
+#: ../output.py:1541
 msgid "Version"
 msgstr "Versi"
 
-#: ../output.py:1076
+#: ../output.py:1541
 msgid "Repository"
 msgstr "Repositori"
 
-#: ../output.py:1077
+#: ../output.py:1542
 msgid "Size"
 msgstr "Ukuran"
 
-#: ../output.py:1089
+#: ../output.py:1554
 #, python-format
 msgid "     replacing  %s%s%s.%s %s\n"
 msgstr ""
 
-#: ../output.py:1098
+#: ../output.py:1563
 #, python-format
 msgid ""
 "\n"
 "Transaction Summary\n"
 "%s\n"
-msgstr ""
-"\n"
-"Ringkasan Transaksi\n"
-"%s\n"
+msgstr "\nRingkasan Transaksi\n%s\n"
 
-#: ../output.py:1109
-#, python-format
-msgid "Install   %5.5s Package(s)\n"
-msgstr "Pasang   %5.5s Paket\n"
+#: ../output.py:1568 ../output.py:2376 ../output.py:2377
+msgid "Install"
+msgstr "Instal"
 
-#: ../output.py:1113
-#, python-format
-msgid "Upgrade   %5.5s Package(s)\n"
+#: ../output.py:1570
+msgid "Upgrade"
 msgstr ""
 
-#: ../output.py:1117
-#, python-format
-msgid "Remove    %5.5s Package(s)\n"
-msgstr "Hapus    %5.5s Paket\n"
+#: ../output.py:1572
+msgid "Remove"
+msgstr ""
 
-#: ../output.py:1121
-#, python-format
-msgid "Reinstall %5.5s Package(s)\n"
-msgstr "Pasang Ulang %5.5s Paket\n"
+#: ../output.py:1574 ../output.py:2382
+msgid "Reinstall"
+msgstr "Instal Ulang"
 
-#: ../output.py:1125
-#, python-format
-msgid "Downgrade %5.5s Package(s)\n"
+#: ../output.py:1575 ../output.py:2383
+msgid "Downgrade"
 msgstr ""
 
-#: ../output.py:1165
+#: ../output.py:1606
+msgid "Dependent package"
+msgid_plural "Dependent packages"
+msgstr[0] ""
+
+#: ../output.py:1666
 msgid "Removed"
 msgstr "Dihapus"
 
-#: ../output.py:1166
+#: ../output.py:1667
 msgid "Dependency Removed"
 msgstr "Ketergantungan Dihapus"
 
-#: ../output.py:1168
+#: ../output.py:1669
 msgid "Dependency Installed"
 msgstr "Ketergantungan Dipasang"
 
-#: ../output.py:1170
+#: ../output.py:1671
 msgid "Dependency Updated"
 msgstr "Ketergantungan Dimutakhirkan"
 
-#: ../output.py:1172
+#: ../output.py:1673
 msgid "Replaced"
 msgstr "Diganti"
 
-#: ../output.py:1173
+#: ../output.py:1674
 msgid "Failed"
 msgstr "Gagal"
 
 #. Delta between C-c's so we treat as exit
-#: ../output.py:1260
+#: ../output.py:1764
 msgid "two"
 msgstr "dua"
 
 #. For translators: This is output like:
 #. Current download cancelled, interrupt (ctrl-c) again within two seconds
 #. to exit.
-#. Where "interupt (ctrl-c) again" and "two" are highlighted.
-#: ../output.py:1271
+#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
+#: ../output.py:1775
 #, python-format
 msgid ""
 "\n"
@@ -949,543 +1051,584 @@ msgid ""
 "to exit.\n"
 msgstr ""
 
-#: ../output.py:1282
+#: ../output.py:1786
 msgid "user interrupt"
 msgstr "diinterupsi pengguna"
 
-#: ../output.py:1300
+#: ../output.py:1812
 msgid "Total"
 msgstr ""
 
-#: ../output.py:1322
+#: ../output.py:1834
 msgid "I"
 msgstr ""
 
-#: ../output.py:1323
+#: ../output.py:1835
 msgid "O"
 msgstr ""
 
-#: ../output.py:1324
+#: ../output.py:1836
 msgid "E"
 msgstr ""
 
-#: ../output.py:1325
+#: ../output.py:1837
 msgid "R"
 msgstr ""
 
-#: ../output.py:1326
+#: ../output.py:1838
 msgid "D"
 msgstr ""
 
-#: ../output.py:1327
+#: ../output.py:1839
 msgid "U"
 msgstr "U"
 
-#: ../output.py:1341
+#: ../output.py:1853
 msgid "<unset>"
 msgstr "<unset>"
 
-#: ../output.py:1342
+#: ../output.py:1854
 msgid "System"
 msgstr "Sistem"
 
-#: ../output.py:1411
+#: ../output.py:1923
 #, python-format
 msgid "Skipping merged transaction %d to %d, as it overlaps"
 msgstr ""
 
-#: ../output.py:1421 ../output.py:1592
+#: ../output.py:1933 ../output.py:2125
 msgid "No transactions"
 msgstr ""
 
-#: ../output.py:1446 ../output.py:2013
+#: ../output.py:1958 ../output.py:2570 ../output.py:2660
 msgid "Bad transaction IDs, or package(s), given"
 msgstr ""
 
-#: ../output.py:1484
+#: ../output.py:2007
 msgid "Command line"
 msgstr ""
 
-#: ../output.py:1486 ../output.py:1908
+#: ../output.py:2009 ../output.py:2458
 msgid "Login user"
 msgstr ""
 
 #. REALLY Needs to use columns!
-#: ../output.py:1487 ../output.py:2022
+#: ../output.py:2010 ../output.py:2579
 msgid "ID"
 msgstr "ID"
 
-#: ../output.py:1489
+#: ../output.py:2012
 msgid "Date and time"
 msgstr "Tanggal dan waktu"
 
-#: ../output.py:1490 ../output.py:1910 ../output.py:2023
+#: ../output.py:2013 ../output.py:2460 ../output.py:2580
 msgid "Action(s)"
 msgstr "Tindakan"
 
-#: ../output.py:1491 ../output.py:1911
+#: ../output.py:2014 ../output.py:2461
 msgid "Altered"
 msgstr "Diubah"
 
-#: ../output.py:1538
+#: ../output.py:2061
 msgid "No transaction ID given"
 msgstr "Tak ada ID transaksi yang diberikan"
 
-#: ../output.py:1564 ../output.py:1972
+#: ../output.py:2087 ../output.py:2526
 msgid "Bad transaction ID given"
 msgstr ""
 
-#: ../output.py:1569
+#: ../output.py:2092
 msgid "Not found given transaction ID"
 msgstr "Tidak ditemukan ID transaksi yang diberikan"
 
-#: ../output.py:1577
+#: ../output.py:2100
 msgid "Found more than one transaction ID!"
 msgstr "Ditemukan lebih dari satu ID transaksi!"
 
-#: ../output.py:1618 ../output.py:1980
+#: ../output.py:2151 ../output.py:2534
 msgid "No transaction ID, or package, given"
 msgstr "Tidak ada ID transaksi, atau paket, yang diberikan"
 
-#: ../output.py:1686 ../output.py:1845
+#: ../output.py:2222 ../output.py:2384
 msgid "Downgraded"
 msgstr ""
 
-#: ../output.py:1688
+#: ../output.py:2224
 msgid "Older"
 msgstr "Lebih Lama"
 
-#: ../output.py:1688
+#: ../output.py:2224
 msgid "Newer"
 msgstr "Lebih Baru"
 
-#: ../output.py:1724 ../output.py:1726
+#: ../output.py:2261 ../output.py:2263 ../output.py:2681
 msgid "Transaction ID :"
 msgstr "ID Transaksi:"
 
-#: ../output.py:1728
+#: ../output.py:2265 ../output.py:2683
 msgid "Begin time     :"
 msgstr "Waktu mulai     :"
 
-#: ../output.py:1731 ../output.py:1733
+#: ../output.py:2268 ../output.py:2270
 msgid "Begin rpmdb    :"
 msgstr ""
 
-#: ../output.py:1749
+#: ../output.py:2286
 #, python-format
 msgid "(%u seconds)"
 msgstr ""
 
-#: ../output.py:1751
+#: ../output.py:2288
 #, python-format
 msgid "(%u minutes)"
 msgstr ""
 
-#: ../output.py:1753
+#: ../output.py:2290
 #, python-format
 msgid "(%u hours)"
 msgstr ""
 
-#: ../output.py:1755
+#: ../output.py:2292
 #, python-format
 msgid "(%u days)"
 msgstr ""
 
-#: ../output.py:1756
+#: ../output.py:2293
 msgid "End time       :"
 msgstr "Waktu selesai       :"
 
-#: ../output.py:1759 ../output.py:1761
+#: ../output.py:2296 ../output.py:2298
 msgid "End rpmdb      :"
 msgstr ""
 
-#: ../output.py:1764 ../output.py:1766
+#: ../output.py:2301 ../output.py:2303
 msgid "User           :"
 msgstr "Pengguna           :"
 
-#: ../output.py:1770 ../output.py:1773 ../output.py:1775 ../output.py:1777
-#: ../output.py:1779
+#: ../output.py:2307 ../output.py:2310 ../output.py:2312 ../output.py:2314
+#: ../output.py:2316
 msgid "Return-Code    :"
 msgstr "Kode-Balikan    :"
 
-#: ../output.py:1770 ../output.py:1775
+#: ../output.py:2307 ../output.py:2312
 msgid "Aborted"
 msgstr "Dibatalkan"
 
-#: ../output.py:1773
+#: ../output.py:2310
 msgid "Failures:"
 msgstr ""
 
-#: ../output.py:1777
+#: ../output.py:2314
 msgid "Failure:"
 msgstr "Kegagalan:"
 
-#: ../output.py:1779
+#: ../output.py:2316
 msgid "Success"
 msgstr "Sukses"
 
-#: ../output.py:1784 ../output.py:1786
+#: ../output.py:2321 ../output.py:2323 ../output.py:2712
 msgid "Command Line   :"
 msgstr "Perintah Baris   :"
 
-#: ../output.py:1795
+#: ../output.py:2332
 #, python-format
 msgid "Additional non-default information stored: %d"
 msgstr ""
 
 #. This is _possible_, but not common
-#: ../output.py:1800
+#: ../output.py:2337
 msgid "Transaction performed with:"
 msgstr "Transaksi dilakukan dengan:"
 
-#: ../output.py:1804
+#: ../output.py:2341
 msgid "Packages Altered:"
 msgstr "Paket Diubah:"
 
-#: ../output.py:1808
+#: ../output.py:2345
 msgid "Packages Skipped:"
 msgstr "Paket Dilewati:"
 
-#: ../output.py:1814
+#: ../output.py:2353
 msgid "Rpmdb Problems:"
 msgstr "Permasalahan rpmdb:"
 
-#: ../output.py:1825
+#: ../output.py:2364
 msgid "Scriptlet output:"
 msgstr "Keluaran scriptlet:"
 
-#: ../output.py:1831
+#: ../output.py:2370
 msgid "Errors:"
 msgstr ""
 
-#: ../output.py:1837 ../output.py:1838
-msgid "Install"
-msgstr "Instal"
-
-#: ../output.py:1839
+#: ../output.py:2378
 msgid "Dep-Install"
 msgstr ""
 
-#: ../output.py:1841
+#: ../output.py:2380
 msgid "Obsoleting"
 msgstr ""
 
-#: ../output.py:1842
+#: ../output.py:2381
 msgid "Erase"
 msgstr "Hapus"
 
-#: ../output.py:1843
-msgid "Reinstall"
-msgstr "Instal Ulang"
-
-#: ../output.py:1844
-msgid "Downgrade"
-msgstr ""
-
-#: ../output.py:1846
+#: ../output.py:2385
 msgid "Update"
 msgstr "Mutakhirkan"
 
-#: ../output.py:1909
+#: ../output.py:2459
 msgid "Time"
 msgstr "Waktu"
 
-#: ../output.py:1935
+#: ../output.py:2485
 msgid "Last day"
 msgstr "Hari terakhir"
 
-#: ../output.py:1936
+#: ../output.py:2486
 msgid "Last week"
 msgstr "Minggu lalu"
 
-#: ../output.py:1937
+#: ../output.py:2487
 msgid "Last 2 weeks"
 msgstr "2 minggu terakhir"
 
 #. US default :p
-#: ../output.py:1938
+#: ../output.py:2488
 msgid "Last 3 months"
 msgstr "3 bulan terakhir"
 
-#: ../output.py:1939
+#: ../output.py:2489
 msgid "Last 6 months"
 msgstr "6 bulan terakhir"
 
-#: ../output.py:1940
+#: ../output.py:2490
 msgid "Last year"
 msgstr "Setahun terakhir"
 
-#: ../output.py:1941
+#: ../output.py:2491
 msgid "Over a year ago"
 msgstr "Lebih dari setahun yang lalu"
 
-#: ../output.py:1984
+#: ../output.py:2538
 #, python-format
 msgid "No Transaction %s found"
 msgstr ""
 
-#: ../output.py:1990
+#: ../output.py:2544
 msgid "Transaction ID:"
 msgstr ""
 
-#: ../output.py:1991
+#: ../output.py:2545
 msgid "Available additional history information:"
 msgstr ""
 
-#: ../output.py:2003
+#: ../output.py:2558
 #, python-format
 msgid "%s: No additional data found by this name"
 msgstr ""
 
-#: ../output.py:2106
+#: ../output.py:2684
+msgid "Package        :"
+msgstr ""
+
+#: ../output.py:2685
+msgid "State          :"
+msgstr ""
+
+#: ../output.py:2688
+msgid "Size           :"
+msgstr ""
+
+#: ../output.py:2690
+msgid "Build host     :"
+msgstr ""
+
+#: ../output.py:2693
+msgid "Build time     :"
+msgstr ""
+
+#: ../output.py:2695
+msgid "Packager       :"
+msgstr ""
+
+#: ../output.py:2697
+msgid "Vendor         :"
+msgstr ""
+
+#: ../output.py:2699
+msgid "License        :"
+msgstr ""
+
+#: ../output.py:2701
+msgid "URL            :"
+msgstr ""
+
+#: ../output.py:2703
+msgid "Source RPM     :"
+msgstr ""
+
+#: ../output.py:2706
+msgid "Commit Time    :"
+msgstr ""
+
+#: ../output.py:2708
+msgid "Committer      :"
+msgstr ""
+
+#: ../output.py:2710
+msgid "Reason         :"
+msgstr ""
+
+#: ../output.py:2714
+msgid "From repo      :"
+msgstr ""
+
+#: ../output.py:2718
+msgid "Installed by   :"
+msgstr ""
+
+#: ../output.py:2722
+msgid "Changed by     :"
+msgstr ""
+
+#: ../output.py:2767
 msgid "installed"
 msgstr "terpasang"
 
-#: ../output.py:2107
+#: ../output.py:2768
 msgid "an update"
 msgstr ""
 
-#: ../output.py:2108
+#: ../output.py:2769
 msgid "erased"
 msgstr "dihapus"
 
-#: ../output.py:2109
+#: ../output.py:2770
 msgid "reinstalled"
 msgstr "dipasang ulang"
 
-#: ../output.py:2110
+#: ../output.py:2771
 msgid "a downgrade"
 msgstr ""
 
-#: ../output.py:2111
+#: ../output.py:2772
 msgid "obsoleting"
 msgstr ""
 
-#: ../output.py:2112
+#: ../output.py:2773
 msgid "updated"
 msgstr "termutakhirkan"
 
-#: ../output.py:2113
+#: ../output.py:2774
 msgid "obsoleted"
 msgstr "usang"
 
-#: ../output.py:2117
+#: ../output.py:2778
 #, python-format
 msgid "---> Package %s.%s %s:%s-%s will be %s"
 msgstr ""
 
-#: ../output.py:2124
+#: ../output.py:2789
 msgid "--> Running transaction check"
 msgstr "--> Menjalankan pemeriksaan transaksi"
 
-#: ../output.py:2129
+#: ../output.py:2795
 msgid "--> Restarting Dependency Resolution with new changes."
 msgstr ""
 
-#: ../output.py:2134
+#: ../output.py:2801
 msgid "--> Finished Dependency Resolution"
 msgstr ""
 
-#: ../output.py:2139 ../output.py:2144
+#: ../output.py:2814 ../output.py:2827
 #, python-format
 msgid "--> Processing Dependency: %s for package: %s"
 msgstr ""
 
-#: ../output.py:2149
+#: ../output.py:2841
 #, python-format
-msgid "---> Keeping package: %s"
+msgid "---> Keeping package: %s due to %s"
 msgstr ""
 
-#: ../output.py:2152
+#: ../output.py:2850
 #, python-format
 msgid "--> Unresolved Dependency: %s"
 msgstr ""
 
-#: ../output.py:2163
+#: ../output.py:2867
 #, python-format
 msgid "Package: %s"
 msgstr "Paket: %s"
 
-#: ../output.py:2165
+#: ../output.py:2869
 #, python-format
 msgid ""
 "\n"
 "    Requires: %s"
-msgstr ""
-"\n"
-"    Dibutuhkan: %s"
+msgstr "\n    Dibutuhkan: %s"
 
-#: ../output.py:2174
+#: ../output.py:2878
 #, python-format
 msgid ""
 "\n"
 "    %s: %s (%s)"
-msgstr ""
-"\n"
-"    %s: %s (%s)"
+msgstr "\n    %s: %s (%s)"
 
-#: ../output.py:2179
+#: ../output.py:2883
 #, python-format
 msgid ""
 "\n"
 "        %s"
-msgstr ""
-"\n"
-"        %s"
+msgstr "\n        %s"
 
-#: ../output.py:2181
+#: ../output.py:2885
 msgid ""
 "\n"
 "        Not found"
-msgstr ""
-"\n"
-"        Tidak ditemukan"
+msgstr "\n        Tidak ditemukan"
 
 #. These should be the only three things we care about:
-#: ../output.py:2196
+#: ../output.py:2900
 msgid "Updated By"
 msgstr "Dimutakhirkan Oleh"
 
-#: ../output.py:2197
+#: ../output.py:2901
 msgid "Downgraded By"
 msgstr ""
 
-#: ../output.py:2198
+#: ../output.py:2902
 msgid "Obsoleted By"
 msgstr ""
 
-#: ../output.py:2216
+#: ../output.py:2920
 msgid "Available"
 msgstr "Tersedia"
 
-#: ../output.py:2243 ../output.py:2248
+#: ../output.py:2955 ../output.py:2968
 #, python-format
 msgid "--> Processing Conflict: %s conflicts %s"
 msgstr ""
 
-#: ../output.py:2252
+#: ../output.py:2974
 msgid "--> Populating transaction set with selected packages. Please wait."
 msgstr ""
 
-#: ../output.py:2256
+#: ../output.py:2983
 #, python-format
 msgid "---> Downloading header for %s to pack into transaction set."
 msgstr ""
 
-#: ../utils.py:99
+#. self.event(txmbr.name, count, len(base.tsInfo), count, )
+#. (te_current*100L)/te_total
+#: ../output.py:3248
+msgid "Verifying"
+msgstr ""
+
+#: ../utils.py:123
 msgid "Running"
 msgstr "Berjalan"
 
-#: ../utils.py:100
+#: ../utils.py:124
 msgid "Sleeping"
 msgstr ""
 
-#: ../utils.py:101
+#: ../utils.py:125
 msgid "Uninterruptible"
 msgstr "Tak dapat diinterupsi"
 
-#: ../utils.py:102
+#: ../utils.py:126
 msgid "Zombie"
 msgstr "Zombie"
 
-#: ../utils.py:103
+#: ../utils.py:127
 msgid "Traced/Stopped"
 msgstr ""
 
-#: ../utils.py:104 ../yumcommands.py:994
+#: ../utils.py:128 ../yumcommands.py:2193
 msgid "Unknown"
 msgstr "Tak diketahui"
 
-#: ../utils.py:115
+#: ../utils.py:153
 msgid "  The other application is: PackageKit"
 msgstr "  Aplikasi lainnya adalah: PackageKit"
 
-#: ../utils.py:117
+#: ../utils.py:155
 #, python-format
 msgid "  The other application is: %s"
 msgstr "  Aplikasi lainnya adalah: %s"
 
-#: ../utils.py:120
+#: ../utils.py:158
 #, python-format
 msgid "    Memory : %5s RSS (%5sB VSZ)"
 msgstr "    Memori : %5s RSS (%5sB VSZ)"
 
-#: ../utils.py:125
+#: ../utils.py:163
 #, python-format
 msgid "    Started: %s - %s ago"
 msgstr "    Dijalankan: %s - %s yang lalu"
 
-#: ../utils.py:127
+#: ../utils.py:165
 #, python-format
 msgid "    State  : %s, pid: %d"
 msgstr "    State  : %s, pid: %d"
 
-#: ../utils.py:170 ../yummain.py:43
+#: ../utils.py:194 ../yummain.py:43
 msgid ""
 "\n"
 "\n"
 "Exiting on user cancel"
 msgstr ""
 
-#: ../utils.py:176 ../yummain.py:49
+#: ../utils.py:206 ../yummain.py:49
 msgid ""
 "\n"
 "\n"
 "Exiting on Broken Pipe"
 msgstr ""
 
-#: ../utils.py:178 ../yummain.py:51
+#: ../utils.py:208 ../yummain.py:51
 #, python-format
 msgid ""
 "\n"
 "\n"
 "%s"
-msgstr ""
-"\n"
-"\n"
-"%s"
+msgstr "\n\n%s"
 
-#: ../utils.py:228 ../yummain.py:123
-msgid ""
-"Another app is currently holding the yum lock; exiting as configured by "
-"exit_on_lock"
-msgstr ""
-
-#: ../utils.py:287
+#: ../utils.py:326
 #, python-format
 msgid "PluginExit Error: %s"
 msgstr ""
 
-#: ../utils.py:290
+#: ../utils.py:329
 #, python-format
 msgid "Yum Error: %s"
 msgstr ""
 
-#: ../utils.py:342 ../yummain.py:150 ../yummain.py:189
+#: ../utils.py:387 ../yummain.py:147 ../yummain.py:186
 #, python-format
 msgid "Error: %s"
 msgstr ""
 
-#: ../utils.py:346 ../yummain.py:194
+#: ../utils.py:391 ../yummain.py:191
 msgid " You could try using --skip-broken to work around the problem"
 msgstr ""
 
-#: ../utils.py:348 ../yummain.py:87
+#: ../utils.py:393 ../yummain.py:87
 msgid " You could try running: rpm -Va --nofiles --nodigest"
 msgstr ""
 
-#: ../utils.py:355 ../yummain.py:160 ../yummain.py:202
+#: ../utils.py:400 ../yummain.py:157 ../yummain.py:199
 #, python-format
 msgid "Unknown Error(s): Exit Code: %d:"
 msgstr ""
 
-#: ../utils.py:361 ../yummain.py:208
+#: ../utils.py:406 ../yummain.py:205
 msgid ""
 "\n"
 "Dependencies Resolved"
 msgstr ""
 
-#: ../utils.py:376 ../yummain.py:234
+#: ../utils.py:422 ../yummain.py:237
 msgid "Complete!"
 msgstr "Selesai!"
 
@@ -1497,7 +1640,7 @@ msgstr ""
 msgid "You need to be root to perform this command."
 msgstr ""
 
-#: ../yumcommands.py:59
+#: ../yumcommands.py:67
 msgid ""
 "\n"
 "You have enabled checking of packages via GPG keys. This is a good thing. \n"
@@ -1514,558 +1657,645 @@ msgid ""
 "For more information contact your distribution or package provider.\n"
 msgstr ""
 
-#: ../yumcommands.py:74
+#: ../yumcommands.py:82
 #, python-format
 msgid "Problem repository: %s"
 msgstr ""
 
-#: ../yumcommands.py:80
+#: ../yumcommands.py:96
 #, python-format
 msgid "Error: Need to pass a list of pkgs to %s"
 msgstr ""
 
-#: ../yumcommands.py:86
+#: ../yumcommands.py:114
+#, python-format
+msgid "Error: Need at least two packages to %s"
+msgstr ""
+
+#: ../yumcommands.py:129
+#, python-format
+msgid "Error: Need to pass a repoid. and command to %s"
+msgstr ""
+
+#: ../yumcommands.py:136 ../yumcommands.py:142
+#, python-format
+msgid "Error: Need to pass a single valid repoid. to %s"
+msgstr ""
+
+#: ../yumcommands.py:147
+#, python-format
+msgid "Error: Repo %s is not enabled"
+msgstr ""
+
+#: ../yumcommands.py:164
 msgid "Error: Need an item to match"
 msgstr ""
 
-#: ../yumcommands.py:92
+#: ../yumcommands.py:178
 msgid "Error: Need a group or list of groups"
 msgstr ""
 
-#: ../yumcommands.py:101
+#: ../yumcommands.py:195
 #, python-format
 msgid "Error: clean requires an option: %s"
 msgstr ""
 
-#: ../yumcommands.py:106
+#: ../yumcommands.py:201
 #, python-format
 msgid "Error: invalid clean argument: %r"
 msgstr ""
 
-#: ../yumcommands.py:119
+#: ../yumcommands.py:216
 msgid "No argument to shell"
 msgstr ""
 
-#: ../yumcommands.py:121
+#: ../yumcommands.py:218
 #, python-format
 msgid "Filename passed to shell: %s"
 msgstr "Nama berkas telah diteruskan ke shell: %s"
 
-#: ../yumcommands.py:125
+#: ../yumcommands.py:222
 #, python-format
 msgid "File %s given as argument to shell does not exist."
 msgstr ""
 
-#: ../yumcommands.py:131
+#: ../yumcommands.py:228
 msgid "Error: more than one file given as argument to shell."
 msgstr ""
 
-#: ../yumcommands.py:148
+#: ../yumcommands.py:247
 msgid ""
 "There are no enabled repos.\n"
 " Run \"yum repolist all\" to see the repos you have.\n"
 " You can enable repos with yum-config-manager --enable <repo>"
-msgstr ""
-"Tidak ada repo yang aktif.\n"
-"Jalankan \"yum repolist all\" untuk melihat repo apa yang Anda miliki.\n"
-"Anda dapat mengaktifkan repo dengan yum-config-manager --enable <repo>"
+msgstr "Tidak ada repo yang aktif.\nJalankan \"yum repolist all\" untuk melihat repo apa yang Anda miliki.\nAnda dapat mengaktifkan repo dengan yum-config-manager --enable <repo>"
 
-#: ../yumcommands.py:200
+#: ../yumcommands.py:383
 msgid "PACKAGE..."
 msgstr "PAKET..."
 
-#: ../yumcommands.py:203
+#: ../yumcommands.py:390
 msgid "Install a package or packages on your system"
 msgstr "Memasang paket di sistem Anda"
 
-#: ../yumcommands.py:212
+#: ../yumcommands.py:421
 msgid "Setting up Install Process"
 msgstr "Menyiapkan Proses Pemasangan"
 
-#: ../yumcommands.py:223 ../yumcommands.py:245
+#: ../yumcommands.py:447 ../yumcommands.py:507
 msgid "[PACKAGE...]"
 msgstr "[PAKET...]"
 
-#: ../yumcommands.py:226
+#: ../yumcommands.py:454
 msgid "Update a package or packages on your system"
 msgstr "Memutakhirkan paket-paket di sistem Anda"
 
-#: ../yumcommands.py:234
+#: ../yumcommands.py:483
 msgid "Setting up Update Process"
 msgstr "Menyiapkan Proses Pemutakhiran"
 
-#: ../yumcommands.py:248
+#: ../yumcommands.py:514
 msgid "Synchronize installed packages to the latest available versions"
 msgstr ""
 
-#: ../yumcommands.py:256
+#: ../yumcommands.py:543
 msgid "Setting up Distribution Synchronization Process"
 msgstr ""
 
-#: ../yumcommands.py:299
+#: ../yumcommands.py:603
 msgid "Display details about a package or group of packages"
 msgstr ""
 
-#: ../yumcommands.py:348
+#: ../yumcommands.py:672
 msgid "Installed Packages"
 msgstr "Paket Terpasang"
 
-#: ../yumcommands.py:356
+#: ../yumcommands.py:682
 msgid "Available Packages"
 msgstr "Paket Tersedia"
 
-#: ../yumcommands.py:360
+#: ../yumcommands.py:687
 msgid "Extra Packages"
 msgstr "Paket Tambahan"
 
-#: ../yumcommands.py:364
+#: ../yumcommands.py:691
 msgid "Updated Packages"
 msgstr "Paket Termutakhirkan"
 
 #. This only happens in verbose mode
-#: ../yumcommands.py:372 ../yumcommands.py:379 ../yumcommands.py:667
+#: ../yumcommands.py:699 ../yumcommands.py:706 ../yumcommands.py:1539
 msgid "Obsoleting Packages"
 msgstr "Paket Usang"
 
-#: ../yumcommands.py:381
+#: ../yumcommands.py:708
 msgid "Recently Added Packages"
 msgstr "Paket yang baru ditambah"
 
-#: ../yumcommands.py:388
+#: ../yumcommands.py:715
 msgid "No matching Packages to list"
 msgstr "Tidak ada Paket yang cocok dalam daftar"
 
-#: ../yumcommands.py:402
+#: ../yumcommands.py:766
 msgid "List a package or groups of packages"
 msgstr "Daftar paket atau kelompok paket"
 
-#: ../yumcommands.py:414
+#: ../yumcommands.py:797
 msgid "Remove a package or packages from your system"
 msgstr "Hapus paket dari sistem Anda"
 
-#: ../yumcommands.py:421
+#: ../yumcommands.py:845
 msgid "Setting up Remove Process"
 msgstr "Menyiapkan Proses Penghapusan"
 
-#: ../yumcommands.py:435
+#: ../yumcommands.py:906
+msgid "Display, or use, the groups information"
+msgstr ""
+
+#: ../yumcommands.py:909
 msgid "Setting up Group Process"
 msgstr "Menyiapkan Proses Grup"
 
-#: ../yumcommands.py:441
+#: ../yumcommands.py:915
 msgid "No Groups on which to run command"
 msgstr ""
 
-#: ../yumcommands.py:454
-msgid "List available package groups"
-msgstr ""
-
-#: ../yumcommands.py:474
-msgid "Install the packages in a group on your system"
+#: ../yumcommands.py:985
+#, python-format
+msgid "Invalid groups sub-command, use: %s."
 msgstr ""
 
-#: ../yumcommands.py:497
-msgid "Remove the packages in a group from your system"
+#: ../yumcommands.py:992
+msgid "There is no installed groups file."
 msgstr ""
 
-#: ../yumcommands.py:525
-msgid "Display details about a package group"
+#: ../yumcommands.py:994
+msgid "You don't have access to the groups DB."
 msgstr ""
 
-#: ../yumcommands.py:550
+#: ../yumcommands.py:1256
 msgid "Generate the metadata cache"
 msgstr ""
 
-#: ../yumcommands.py:556
+#: ../yumcommands.py:1282
 msgid "Making cache files for all metadata files."
 msgstr ""
 
-#: ../yumcommands.py:557
+#: ../yumcommands.py:1283
 msgid "This may take a while depending on the speed of this computer"
 msgstr ""
 
-#: ../yumcommands.py:578
+#: ../yumcommands.py:1312
 msgid "Metadata Cache Created"
 msgstr ""
 
-#: ../yumcommands.py:592
+#: ../yumcommands.py:1350
 msgid "Remove cached data"
 msgstr ""
 
-#: ../yumcommands.py:613
+#: ../yumcommands.py:1417
 msgid "Find what package provides the given value"
 msgstr ""
 
-#: ../yumcommands.py:633
+#: ../yumcommands.py:1485
 msgid "Check for available package updates"
 msgstr ""
 
-#: ../yumcommands.py:687
+#: ../yumcommands.py:1587
 msgid "Search package details for the given string"
 msgstr ""
 
-#: ../yumcommands.py:693
+#: ../yumcommands.py:1613
 msgid "Searching Packages: "
 msgstr ""
 
-#: ../yumcommands.py:710
+#: ../yumcommands.py:1666
 msgid "Update packages taking obsoletes into account"
 msgstr ""
 
-#: ../yumcommands.py:719
+#: ../yumcommands.py:1696
 msgid "Setting up Upgrade Process"
 msgstr ""
 
-#: ../yumcommands.py:737
+#: ../yumcommands.py:1731
 msgid "Install a local RPM"
 msgstr "Instal RPM lokal"
 
-#: ../yumcommands.py:745
+#: ../yumcommands.py:1761
 msgid "Setting up Local Package Process"
 msgstr "Menyiapkan Proses Paket Lokal"
 
-#: ../yumcommands.py:764
-msgid "Determine which package provides the given dependency"
-msgstr ""
-
-#: ../yumcommands.py:767
+#: ../yumcommands.py:1825
 msgid "Searching Packages for Dependency:"
 msgstr "Pencarian Paket untuk Ketergantungan:"
 
-#: ../yumcommands.py:781
+#: ../yumcommands.py:1867
 msgid "Run an interactive yum shell"
 msgstr "Jalankan shell yum interaktif"
 
-#: ../yumcommands.py:787
+#: ../yumcommands.py:1893
 msgid "Setting up Yum Shell"
 msgstr "Menyiapkan Shell Yum"
 
-#: ../yumcommands.py:805
+#: ../yumcommands.py:1936
 msgid "List a package's dependencies"
 msgstr "Daftar ketergantungan paket"
 
-#: ../yumcommands.py:811
+#: ../yumcommands.py:1963
 msgid "Finding dependencies: "
 msgstr "Mencari ketergantungan: "
 
-#: ../yumcommands.py:827
+#: ../yumcommands.py:2005
 msgid "Display the configured software repositories"
 msgstr "Tampilkan repositori perangkat lunak yang terkonfigurasi"
 
-#: ../yumcommands.py:893 ../yumcommands.py:894
+#: ../yumcommands.py:2094 ../yumcommands.py:2095
 msgid "enabled"
 msgstr "aktif"
 
-#: ../yumcommands.py:920 ../yumcommands.py:921
+#: ../yumcommands.py:2121 ../yumcommands.py:2122
 msgid "disabled"
 msgstr "nonaktif"
 
-#: ../yumcommands.py:937
+#: ../yumcommands.py:2137
 msgid "Repo-id      : "
 msgstr "ID-Repo      : "
 
-#: ../yumcommands.py:938
+#: ../yumcommands.py:2138
 msgid "Repo-name    : "
 msgstr "Nama-Repo    : "
 
-#: ../yumcommands.py:941
+#: ../yumcommands.py:2141
 msgid "Repo-status  : "
 msgstr "Status-Repo  : "
 
-#: ../yumcommands.py:944
+#: ../yumcommands.py:2144
 msgid "Repo-revision: "
 msgstr "Revisi-Repo: "
 
-#: ../yumcommands.py:948
+#: ../yumcommands.py:2148
 msgid "Repo-tags    : "
 msgstr "Tag-Repo    : "
 
-#: ../yumcommands.py:954
+#: ../yumcommands.py:2154
 msgid "Repo-distro-tags: "
 msgstr ""
 
-#: ../yumcommands.py:959
+#: ../yumcommands.py:2159
 msgid "Repo-updated : "
 msgstr ""
 
-#: ../yumcommands.py:961
+#: ../yumcommands.py:2161
 msgid "Repo-pkgs    : "
 msgstr ""
 
-#: ../yumcommands.py:962
+#: ../yumcommands.py:2162
 msgid "Repo-size    : "
 msgstr "Ukuran-Repo    : "
 
-#: ../yumcommands.py:969 ../yumcommands.py:990
+#: ../yumcommands.py:2169 ../yumcommands.py:2190
 msgid "Repo-baseurl : "
 msgstr ""
 
-#: ../yumcommands.py:977
+#: ../yumcommands.py:2177
 msgid "Repo-metalink: "
 msgstr ""
 
-#: ../yumcommands.py:981
+#: ../yumcommands.py:2181
 msgid "  Updated    : "
 msgstr ""
 
-#: ../yumcommands.py:984
+#: ../yumcommands.py:2184
 msgid "Repo-mirrors : "
 msgstr ""
 
-#: ../yumcommands.py:1000
+#: ../yumcommands.py:2199
 #, python-format
 msgid "Never (last: %s)"
 msgstr "Tak Pernah (terakhir: %s)"
 
-#: ../yumcommands.py:1002
+#: ../yumcommands.py:2201
 #, python-format
 msgid "Instant (last: %s)"
 msgstr ""
 
-#: ../yumcommands.py:1005
+#: ../yumcommands.py:2204
 #, python-format
 msgid "%s second(s) (last: %s)"
 msgstr ""
 
-#: ../yumcommands.py:1007
+#: ../yumcommands.py:2206
 msgid "Repo-expire  : "
 msgstr ""
 
-#: ../yumcommands.py:1010
+#: ../yumcommands.py:2209
 msgid "Repo-exclude : "
 msgstr ""
 
-#: ../yumcommands.py:1014
+#: ../yumcommands.py:2213
 msgid "Repo-include : "
 msgstr ""
 
-#: ../yumcommands.py:1018
+#: ../yumcommands.py:2217
 msgid "Repo-excluded: "
 msgstr ""
 
-#: ../yumcommands.py:1022
+#: ../yumcommands.py:2221
 msgid "Repo-filename: "
 msgstr ""
 
 #. Work out the first (id) and last (enabled/disalbed/count),
 #. then chop the middle (name)...
-#: ../yumcommands.py:1032 ../yumcommands.py:1061
+#: ../yumcommands.py:2230 ../yumcommands.py:2259
 msgid "repo id"
 msgstr ""
 
-#: ../yumcommands.py:1049 ../yumcommands.py:1050 ../yumcommands.py:1068
+#: ../yumcommands.py:2247 ../yumcommands.py:2248 ../yumcommands.py:2266
 msgid "status"
 msgstr ""
 
-#: ../yumcommands.py:1062
+#: ../yumcommands.py:2260
 msgid "repo name"
 msgstr ""
 
-#: ../yumcommands.py:1099
+#: ../yumcommands.py:2332
 msgid "Display a helpful usage message"
 msgstr ""
 
-#: ../yumcommands.py:1133
+#: ../yumcommands.py:2374
 #, python-format
 msgid "No help available for %s"
 msgstr ""
 
-#: ../yumcommands.py:1138
+#: ../yumcommands.py:2379
 msgid ""
 "\n"
 "\n"
 "aliases: "
 msgstr ""
 
-#: ../yumcommands.py:1140
+#: ../yumcommands.py:2381
 msgid ""
 "\n"
 "\n"
 "alias: "
 msgstr ""
 
-#: ../yumcommands.py:1168
+#: ../yumcommands.py:2466
 msgid "Setting up Reinstall Process"
 msgstr ""
 
-#: ../yumcommands.py:1176
+#: ../yumcommands.py:2478
 msgid "reinstall a package"
 msgstr ""
 
-#: ../yumcommands.py:1195
+#: ../yumcommands.py:2541
 msgid "Setting up Downgrade Process"
 msgstr ""
 
-#: ../yumcommands.py:1202
+#: ../yumcommands.py:2552
 msgid "downgrade a package"
 msgstr ""
 
-#: ../yumcommands.py:1216
+#: ../yumcommands.py:2591
 msgid "Display a version for the machine and/or available repos."
 msgstr "Menampilkan versi mesin dan/atau repo yang tersedia."
 
-#: ../yumcommands.py:1255
+#: ../yumcommands.py:2643
 msgid " Yum version groups:"
 msgstr " Grup versi Yum:"
 
-#: ../yumcommands.py:1265
+#: ../yumcommands.py:2653
 msgid " Group   :"
 msgstr " Grup   :"
 
-#: ../yumcommands.py:1266
+#: ../yumcommands.py:2654
 msgid " Packages:"
 msgstr " Paket:"
 
-#: ../yumcommands.py:1295
+#: ../yumcommands.py:2683
 msgid "Installed:"
 msgstr "Terpasang:"
 
-#: ../yumcommands.py:1303
+#: ../yumcommands.py:2691
 msgid "Group-Installed:"
 msgstr "Grup-Terpasang:"
 
-#: ../yumcommands.py:1312
+#: ../yumcommands.py:2700
 msgid "Available:"
 msgstr "Tersedia"
 
-#: ../yumcommands.py:1321
+#: ../yumcommands.py:2709
 msgid "Group-Available:"
 msgstr "Grup-Tersedia:"
 
-#: ../yumcommands.py:1360
+#: ../yumcommands.py:2783
 msgid "Display, or use, the transaction history"
 msgstr "Tampilkan, atau gunakan, riwayat transaksi"
 
-#: ../yumcommands.py:1432
+#: ../yumcommands.py:2876 ../yumcommands.py:2880
+msgid "Transactions:"
+msgstr ""
+
+#: ../yumcommands.py:2881
+msgid "Begin time  :"
+msgstr ""
+
+#: ../yumcommands.py:2882
+msgid "End time    :"
+msgstr ""
+
+#: ../yumcommands.py:2883
+msgid "Counts      :"
+msgstr ""
+
+#: ../yumcommands.py:2884
+msgid "  NEVRAC :"
+msgstr ""
+
+#: ../yumcommands.py:2885
+msgid "  NEVRA  :"
+msgstr ""
+
+#: ../yumcommands.py:2886
+msgid "  NA     :"
+msgstr ""
+
+#: ../yumcommands.py:2887
+msgid "  NEVR   :"
+msgstr ""
+
+#: ../yumcommands.py:2888
+msgid "  rpm DB :"
+msgstr ""
+
+#: ../yumcommands.py:2889
+msgid "  yum DB :"
+msgstr ""
+
+#: ../yumcommands.py:2922
 #, python-format
 msgid "Invalid history sub-command, use: %s."
 msgstr ""
 
-#: ../yumcommands.py:1439
+#: ../yumcommands.py:2929
 msgid "You don't have access to the history DB."
 msgstr "Anda tidak memiliki akses ke DB riwayat"
 
-#: ../yumcommands.py:1487
+#: ../yumcommands.py:3036
 msgid "Check for problems in the rpmdb"
 msgstr "Memeriksa masalah di rpmdb"
 
-#: ../yumcommands.py:1514
+#: ../yumcommands.py:3102
 msgid "load a saved transaction from filename"
 msgstr ""
 
-#: ../yumcommands.py:1518
+#: ../yumcommands.py:3119
 msgid "No saved transaction file specified."
 msgstr ""
 
-#: ../yumcommands.py:1522
+#: ../yumcommands.py:3123
 #, python-format
 msgid "loading transaction from %s"
 msgstr ""
 
-#: ../yumcommands.py:1528
+#: ../yumcommands.py:3129
 #, python-format
 msgid "Transaction loaded from %s with %s members"
 msgstr ""
 
+#: ../yumcommands.py:3169
+msgid "Simple way to swap packages, isntead of using shell"
+msgstr ""
+
+#: ../yumcommands.py:3264
+msgid ""
+"Treat a repo. as a group of packages, so we can install/remove all of them"
+msgstr ""
+
+#: ../yumcommands.py:3341
+#, python-format
+msgid "%d package to update"
+msgid_plural "%d packages to update"
+msgstr[0] ""
+
+#: ../yumcommands.py:3370
+#, python-format
+msgid "%d package to remove/reinstall"
+msgid_plural "%d packages to remove/reinstall"
+msgstr[0] ""
+
+#: ../yumcommands.py:3413
+#, python-format
+msgid "%d package to remove/sync"
+msgid_plural "%d packages to remove/sync"
+msgstr[0] ""
+
+#: ../yumcommands.py:3417
+#, python-format
+msgid "Not a valid sub-command of %s"
+msgstr ""
+
 #. This is mainly for PackageSackError from rpmdb.
 #: ../yummain.py:84
 #, python-format
 msgid " Yum checks failed: %s"
 msgstr ""
 
-#: ../yummain.py:114
-msgid ""
-"Another app is currently holding the yum lock; waiting for it to exit..."
+#: ../yummain.py:98
+msgid "No read/execute access in current directory, moving to /"
 msgstr ""
 
-#: ../yummain.py:120
-msgid "Can't create lock file; exiting"
+#: ../yummain.py:106
+msgid "No getcwd() access in current directory, moving to /"
 msgstr ""
 
 #. Depsolve stage
-#: ../yummain.py:167
+#: ../yummain.py:164
 msgid "Resolving Dependencies"
 msgstr ""
 
-#: ../yummain.py:230
+#: ../yummain.py:227 ../yummain.py:235
 #, python-format
-msgid "Your transaction was saved, rerun it with: yum load-transaction %s"
+msgid ""
+"Your transaction was saved, rerun it with:\n"
+" yum load-transaction %s"
 msgstr ""
 
-#: ../yummain.py:288
+#: ../yummain.py:312
 msgid ""
 "\n"
 "\n"
 "Exiting on user cancel."
 msgstr ""
 
-#: ../yum/depsolve.py:84
+#: ../yum/depsolve.py:127
 msgid "doTsSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/depsolve.py:99
+#: ../yum/depsolve.py:143
 msgid "Setting up TransactionSets before config class is up"
 msgstr ""
 
-#: ../yum/depsolve.py:153
+#: ../yum/depsolve.py:200
 #, python-format
 msgid "Invalid tsflag in config file: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:164
+#: ../yum/depsolve.py:218
 #, python-format
 msgid "Searching pkgSack for dep: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:207
+#: ../yum/depsolve.py:269
 #, python-format
 msgid "Member: %s"
 msgstr "Anggota: %s"
 
-#: ../yum/depsolve.py:221 ../yum/depsolve.py:793
+#: ../yum/depsolve.py:283 ../yum/depsolve.py:937
 #, python-format
 msgid "%s converted to install"
 msgstr "%s telah dikonversi untuk instalasi"
 
-#: ../yum/depsolve.py:233
+#: ../yum/depsolve.py:295
 #, python-format
 msgid "Adding Package %s in mode %s"
 msgstr ""
 
-#: ../yum/depsolve.py:249
+#: ../yum/depsolve.py:311
 #, python-format
 msgid "Removing Package %s"
 msgstr "Menghapus Paket: %s"
 
-#: ../yum/depsolve.py:271
+#: ../yum/depsolve.py:333
 #, python-format
 msgid "%s requires: %s"
 msgstr "%s membutuhkan: %s"
 
-#: ../yum/depsolve.py:312
+#: ../yum/depsolve.py:374
 #, python-format
 msgid "%s requires %s"
 msgstr "%s membutuhkan %s"
 
-#: ../yum/depsolve.py:339
+#: ../yum/depsolve.py:401
 msgid "Needed Require has already been looked up, cheating"
 msgstr ""
 
-#: ../yum/depsolve.py:349
+#: ../yum/depsolve.py:411
 #, python-format
 msgid "Needed Require is not a package name. Looking up: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:357
+#: ../yum/depsolve.py:419
 #, python-format
 msgid "Potential Provider: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:380
+#: ../yum/depsolve.py:442
 #, python-format
 msgid "Mode is %s for provider of %s: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:384
+#: ../yum/depsolve.py:446
 #, python-format
 msgid "Mode for pkg providing %s: %s"
 msgstr ""
@@ -2073,991 +2303,1138 @@ msgstr ""
 #. the thing it needs is being updated or obsoleted away
 #. try to update the requiring package in hopes that all this problem goes
 #. away :(
-#: ../yum/depsolve.py:389 ../yum/depsolve.py:406
+#: ../yum/depsolve.py:451 ../yum/depsolve.py:486
 #, python-format
 msgid "Trying to update %s to resolve dep"
 msgstr ""
 
-#: ../yum/depsolve.py:400 ../yum/depsolve.py:410
+#: ../yum/depsolve.py:480
 #, python-format
 msgid "No update paths found for %s. Failure!"
 msgstr ""
 
-#: ../yum/depsolve.py:416
+#: ../yum/depsolve.py:491
+#, python-format
+msgid "No update paths found for %s. Failure due to requirement: %s!"
+msgstr ""
+
+#: ../yum/depsolve.py:507
+#, python-format
+msgid "Update for %s. Doesn't fix requirement: %s!"
+msgstr ""
+
+#: ../yum/depsolve.py:514
 #, python-format
 msgid "TSINFO: %s package requiring %s marked as erase"
 msgstr ""
 
-#: ../yum/depsolve.py:429
+#: ../yum/depsolve.py:527
 #, python-format
 msgid "TSINFO: Obsoleting %s with %s to resolve dep."
 msgstr ""
 
-#: ../yum/depsolve.py:432
+#: ../yum/depsolve.py:530
 #, python-format
 msgid "TSINFO: Updating %s to resolve dep."
 msgstr ""
 
-#: ../yum/depsolve.py:440
+#: ../yum/depsolve.py:538
 #, python-format
 msgid "Cannot find an update path for dep for: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:471
+#: ../yum/depsolve.py:569
 #, python-format
 msgid "Quick matched %s to require for %s"
 msgstr ""
 
 #. is it already installed?
-#: ../yum/depsolve.py:513
+#: ../yum/depsolve.py:611
 #, python-format
 msgid "%s is in providing packages but it is already installed, removing."
 msgstr ""
 
-#: ../yum/depsolve.py:529
+#: ../yum/depsolve.py:627
 #, python-format
 msgid "Potential resolving package %s has newer instance in ts."
 msgstr ""
 
-#: ../yum/depsolve.py:540
+#: ../yum/depsolve.py:638
 #, python-format
 msgid "Potential resolving package %s has newer instance installed."
 msgstr ""
 
-#: ../yum/depsolve.py:558
+#: ../yum/depsolve.py:656
 #, python-format
 msgid "%s already in ts, skipping this one"
 msgstr ""
 
-#: ../yum/depsolve.py:607
+#: ../yum/depsolve.py:705
 #, python-format
 msgid "TSINFO: Marking %s as update for %s"
 msgstr ""
 
-#: ../yum/depsolve.py:616
+#: ../yum/depsolve.py:714
 #, python-format
 msgid "TSINFO: Marking %s as install for %s"
 msgstr ""
 
-#: ../yum/depsolve.py:727 ../yum/depsolve.py:819
+#: ../yum/depsolve.py:849 ../yum/depsolve.py:967
 msgid "Success - empty transaction"
 msgstr ""
 
-#: ../yum/depsolve.py:767 ../yum/depsolve.py:783
+#: ../yum/depsolve.py:889 ../yum/depsolve.py:927
 msgid "Restarting Loop"
 msgstr ""
 
-#: ../yum/depsolve.py:799
+#: ../yum/depsolve.py:947
 msgid "Dependency Process ending"
 msgstr ""
 
-#: ../yum/depsolve.py:821
+#: ../yum/depsolve.py:969
 msgid "Success - deps resolved"
 msgstr ""
 
-#: ../yum/depsolve.py:845
+#: ../yum/depsolve.py:993
 #, python-format
 msgid "Checking deps for %s"
 msgstr ""
 
-#: ../yum/depsolve.py:931
+#: ../yum/depsolve.py:1082
 #, python-format
 msgid "looking for %s as a requirement of %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1169
+#: ../yum/depsolve.py:1349
 #, python-format
 msgid "Running compare_providers() for %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1196 ../yum/depsolve.py:1202
+#: ../yum/depsolve.py:1376 ../yum/depsolve.py:1382
 #, python-format
 msgid "better arch in po %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1298
+#: ../yum/depsolve.py:1496
 #, python-format
 msgid "%s obsoletes %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1310
+#: ../yum/depsolve.py:1508
 #, python-format
 msgid ""
 "archdist compared %s to %s on %s\n"
 "  Winner: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1318
+#: ../yum/depsolve.py:1516
 #, python-format
 msgid "common sourcerpm %s and %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1322
+#: ../yum/depsolve.py:1520
 #, python-format
 msgid "base package %s is installed for %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1328
+#: ../yum/depsolve.py:1526
 #, python-format
 msgid "common prefix of %s between %s and %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1359
+#: ../yum/depsolve.py:1543
 #, python-format
-msgid "requires minimal: %d"
+msgid "provides vercmp: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1363
+#: ../yum/depsolve.py:1547 ../yum/depsolve.py:1581
 #, python-format
 msgid " Winner: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1368
+#: ../yum/depsolve.py:1577
+#, python-format
+msgid "requires minimal: %d"
+msgstr ""
+
+#: ../yum/depsolve.py:1586
 #, python-format
 msgid " Loser(with %d): %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1384
+#: ../yum/depsolve.py:1602
 #, python-format
 msgid "Best Order: %s"
 msgstr ""
 
-#: ../yum/__init__.py:234
+#: ../yum/__init__.py:274
 msgid "doConfigSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/__init__.py:482
+#: ../yum/__init__.py:553
+#, python-format
+msgid "Skipping unreadable repository %s"
+msgstr ""
+
+#: ../yum/__init__.py:572
 #, python-format
 msgid "Repository %r: Error parsing config: %s"
 msgstr ""
 
-#: ../yum/__init__.py:488
+#: ../yum/__init__.py:578
 #, python-format
 msgid "Repository %r is missing name in configuration, using id"
 msgstr ""
 
-#: ../yum/__init__.py:526
+#: ../yum/__init__.py:618
 msgid "plugins already initialised"
 msgstr ""
 
-#: ../yum/__init__.py:533
+#: ../yum/__init__.py:627
 msgid "doRpmDBSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/__init__.py:544
+#: ../yum/__init__.py:638
 msgid "Reading Local RPMDB"
 msgstr ""
 
-#: ../yum/__init__.py:567
+#: ../yum/__init__.py:668
 msgid "doRepoSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/__init__.py:630
+#: ../yum/__init__.py:722
 msgid "doSackSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/__init__.py:660
+#: ../yum/__init__.py:752
 msgid "Setting up Package Sacks"
 msgstr ""
 
-#: ../yum/__init__.py:705
+#: ../yum/__init__.py:797
 #, python-format
 msgid "repo object for repo %s lacks a _resetSack method\n"
 msgstr ""
 
-#: ../yum/__init__.py:706
+#: ../yum/__init__.py:798
 msgid "therefore this repo cannot be reset.\n"
 msgstr ""
 
-#: ../yum/__init__.py:711
+#: ../yum/__init__.py:806
 msgid "doUpdateSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/__init__.py:723
+#: ../yum/__init__.py:818
 msgid "Building updates object"
 msgstr ""
 
-#: ../yum/__init__.py:765
+#: ../yum/__init__.py:862
 msgid "doGroupSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/__init__.py:790
+#: ../yum/__init__.py:887
 msgid "Getting group metadata"
 msgstr ""
 
-#: ../yum/__init__.py:816
+#: ../yum/__init__.py:915
 #, python-format
 msgid "Adding group file from repository: %s"
 msgstr ""
 
-#: ../yum/__init__.py:827
+#: ../yum/__init__.py:918
+#, python-format
+msgid "Failed to retrieve group file for repository: %s"
+msgstr ""
+
+#: ../yum/__init__.py:924
 #, python-format
 msgid "Failed to add groups file for repository: %s - %s"
 msgstr ""
 
-#: ../yum/__init__.py:833
+#: ../yum/__init__.py:930
 msgid "No Groups Available in any repository"
 msgstr ""
 
-#: ../yum/__init__.py:845
+#: ../yum/__init__.py:945
 msgid "Getting pkgtags metadata"
 msgstr ""
 
-#: ../yum/__init__.py:855
+#: ../yum/__init__.py:955
 #, python-format
 msgid "Adding tags from repository: %s"
 msgstr ""
 
-#: ../yum/__init__.py:866
+#: ../yum/__init__.py:966
 #, python-format
 msgid "Failed to add Pkg Tags for repository: %s - %s"
 msgstr ""
 
-#: ../yum/__init__.py:944
+#: ../yum/__init__.py:1059
 msgid "Importing additional filelist information"
 msgstr ""
 
-#: ../yum/__init__.py:958
+#: ../yum/__init__.py:1077
 #, python-format
 msgid "The program %s%s%s is found in the yum-utils package."
 msgstr ""
 
-#: ../yum/__init__.py:966
+#: ../yum/__init__.py:1094
 msgid ""
 "There are unfinished transactions remaining. You might consider running yum-"
 "complete-transaction first to finish them."
 msgstr ""
 
-#: ../yum/__init__.py:983
+#: ../yum/__init__.py:1111
 msgid "--> Finding unneeded leftover dependencies"
 msgstr ""
 
-#: ../yum/__init__.py:1041
+#: ../yum/__init__.py:1169
 #, python-format
 msgid "Protected multilib versions: %s != %s"
 msgstr ""
 
-#: ../yum/__init__.py:1096
+#. People are confused about protected mutilib ... so give
+#. them a nicer message.
+#: ../yum/__init__.py:1173
+#, python-format
+msgid ""
+" Multilib version problems found. This often means that the root\n"
+"cause is something else and multilib version checking is just\n"
+"pointing out that there is a problem. Eg.:\n"
+"\n"
+"  1. You have an upgrade for %(name)s which is missing some\n"
+"     dependency that another package requires. Yum is trying to\n"
+"     solve this by installing an older version of %(name)s of the\n"
+"     different architecture. If you exclude the bad architecture\n"
+"     yum will tell you what the root cause is (which package\n"
+"     requires what). You can try redoing the upgrade with\n"
+"     --exclude %(name)s.otherarch ... this should give you an error\n"
+"     message showing the root cause of the problem.\n"
+"\n"
+"  2. You have multiple architectures of %(name)s installed, but\n"
+"     yum can only see an upgrade for one of those arcitectures.\n"
+"     If you don't want/need both architectures anymore then you\n"
+"     can remove the one with the missing update and everything\n"
+"     will work.\n"
+"\n"
+"  3. You have duplicate versions of %(name)s installed already.\n"
+"     You can use \"yum check\" to get yum show these errors.\n"
+"\n"
+"...you can also use --setopt=protected_multilib=false to remove\n"
+"this checking, however this is almost never the correct thing to\n"
+"do as something else is very likely to go wrong (often causing\n"
+"much more problems).\n"
+"\n"
+msgstr ""
+
+#: ../yum/__init__.py:1257
 #, python-format
 msgid "Trying to remove \"%s\", which is protected"
 msgstr ""
 
-#: ../yum/__init__.py:1217
+#: ../yum/__init__.py:1378
 msgid ""
 "\n"
 "Packages skipped because of dependency problems:"
 msgstr ""
 
-#: ../yum/__init__.py:1221
+#: ../yum/__init__.py:1382
 #, python-format
 msgid "    %s from %s"
 msgstr ""
 
 #. FIXME: _N()
-#: ../yum/__init__.py:1391
+#: ../yum/__init__.py:1556
 #, python-format
 msgid "** Found %d pre-existing rpmdb problem(s), 'yum check' output follows:"
 msgstr ""
 
-#: ../yum/__init__.py:1395
+#: ../yum/__init__.py:1560
 msgid "Warning: RPMDB altered outside of yum."
 msgstr ""
 
-#: ../yum/__init__.py:1407
+#: ../yum/__init__.py:1572
 msgid "missing requires"
 msgstr ""
 
-#: ../yum/__init__.py:1408
+#: ../yum/__init__.py:1573
 msgid "installed conflict"
 msgstr ""
 
-#: ../yum/__init__.py:1525
+#: ../yum/__init__.py:1709
 msgid ""
 "Warning: scriptlet or other non-fatal errors occurred during transaction."
 msgstr ""
 
-#: ../yum/__init__.py:1535
+#: ../yum/__init__.py:1719
 msgid "Transaction couldn't start:"
 msgstr ""
 
 #. should this be 'to_unicoded'?
-#: ../yum/__init__.py:1538
+#: ../yum/__init__.py:1722
 msgid "Could not run transaction."
 msgstr ""
 
-#: ../yum/__init__.py:1552
+#: ../yum/__init__.py:1736
 #, python-format
 msgid "Failed to remove transaction file %s"
 msgstr ""
 
 #. maybe a file log here, too
 #. but raising an exception is not going to do any good
-#: ../yum/__init__.py:1590
+#: ../yum/__init__.py:1792
 #, python-format
 msgid "%s was supposed to be installed but is not!"
 msgstr ""
 
 #. maybe a file log here, too
 #. but raising an exception is not going to do any good
-#: ../yum/__init__.py:1651
+#. Note: This actually triggers atm. because we can't
+#. always find the erased txmbr to set it when
+#. we should.
+#: ../yum/__init__.py:1869
 #, python-format
 msgid "%s was supposed to be removed but is not!"
 msgstr ""
 
-#: ../yum/__init__.py:1768
+#. Another copy seems to be running.
+#: ../yum/__init__.py:2004
 #, python-format
-msgid "Could not open lock %s: %s"
+msgid "Existing lock %s: another copy is running as pid %s."
 msgstr ""
 
 #. Whoa. What the heck happened?
-#: ../yum/__init__.py:1785
+#: ../yum/__init__.py:2053
 #, python-format
-msgid "Unable to check if PID %s is active"
+msgid "Could not create lock at %s: %s "
 msgstr ""
 
-#. Another copy seems to be running.
-#: ../yum/__init__.py:1789
+#: ../yum/__init__.py:2065
 #, python-format
-msgid "Existing lock %s: another copy is running as pid %s."
+msgid "Could not open lock %s: %s"
 msgstr ""
 
+#. The pid doesn't exist
 #. Whoa. What the heck happened?
-#: ../yum/__init__.py:1830
+#: ../yum/__init__.py:2082
 #, python-format
-msgid "Could not create lock at %s: %s "
+msgid "Unable to check if PID %s is active"
 msgstr ""
 
-#: ../yum/__init__.py:1875
+#: ../yum/__init__.py:2132
 #, python-format
 msgid ""
 "Package does not match intended download. Suggestion: run yum "
 "--enablerepo=%s clean metadata"
 msgstr ""
 
-#: ../yum/__init__.py:1891
+#: ../yum/__init__.py:2155
 msgid "Could not perform checksum"
 msgstr ""
 
-#: ../yum/__init__.py:1894
+#: ../yum/__init__.py:2158
 msgid "Package does not match checksum"
 msgstr ""
 
-#: ../yum/__init__.py:1946
+#: ../yum/__init__.py:2222
 #, python-format
 msgid "package fails checksum but caching is enabled for %s"
 msgstr ""
 
-#: ../yum/__init__.py:1949 ../yum/__init__.py:1979
+#: ../yum/__init__.py:2225 ../yum/__init__.py:2268
 #, python-format
 msgid "using local copy of %s"
 msgstr ""
 
-#: ../yum/__init__.py:1991
-#, python-format
-msgid ""
-"Insufficient space in download directory %s\n"
-"    * free   %s\n"
-"    * needed %s"
+#. caller handles errors
+#: ../yum/__init__.py:2342
+msgid "exiting because --downloadonly specified"
 msgstr ""
 
-#: ../yum/__init__.py:2052
+#: ../yum/__init__.py:2371
 msgid "Header is not complete."
 msgstr ""
 
-#: ../yum/__init__.py:2089
+#: ../yum/__init__.py:2411
 #, python-format
 msgid ""
 "Header not in local cache and caching-only mode enabled. Cannot download %s"
 msgstr ""
 
-#: ../yum/__init__.py:2147
+#: ../yum/__init__.py:2471
 #, python-format
 msgid "Public key for %s is not installed"
 msgstr ""
 
-#: ../yum/__init__.py:2151
+#: ../yum/__init__.py:2475
 #, python-format
 msgid "Problem opening package %s"
 msgstr ""
 
-#: ../yum/__init__.py:2159
+#: ../yum/__init__.py:2483
 #, python-format
 msgid "Public key for %s is not trusted"
 msgstr ""
 
-#: ../yum/__init__.py:2163
+#: ../yum/__init__.py:2487
 #, python-format
 msgid "Package %s is not signed"
 msgstr ""
 
-#: ../yum/__init__.py:2202
+#: ../yum/__init__.py:2529
 #, python-format
 msgid "Cannot remove %s"
 msgstr ""
 
-#: ../yum/__init__.py:2206
+#: ../yum/__init__.py:2533
 #, python-format
 msgid "%s removed"
 msgstr ""
 
-#: ../yum/__init__.py:2252
+#: ../yum/__init__.py:2594
 #, python-format
 msgid "Cannot remove %s file %s"
 msgstr ""
 
-#: ../yum/__init__.py:2256
+#: ../yum/__init__.py:2598
 #, python-format
 msgid "%s file %s removed"
 msgstr ""
 
-#: ../yum/__init__.py:2258
+#: ../yum/__init__.py:2600
 #, python-format
-msgid "%d %s files removed"
-msgstr ""
+msgid "%d %s file removed"
+msgid_plural "%d %s files removed"
+msgstr[0] ""
 
-#: ../yum/__init__.py:2327
+#: ../yum/__init__.py:2712
 #, python-format
 msgid "More than one identical match in sack for %s"
 msgstr ""
 
-#: ../yum/__init__.py:2333
+#: ../yum/__init__.py:2718
 #, python-format
 msgid "Nothing matches %s.%s %s:%s-%s from update"
 msgstr ""
 
-#: ../yum/__init__.py:2632
+#: ../yum/__init__.py:3096
 msgid ""
 "searchPackages() will go away in a future version of Yum."
 "                      Use searchGenerator() instead. \n"
 msgstr ""
 
-#: ../yum/__init__.py:2675
+#: ../yum/__init__.py:3149
 #, python-format
-msgid "Searching %d packages"
-msgstr ""
+msgid "Searching %d package"
+msgid_plural "Searching %d packages"
+msgstr[0] ""
 
-#: ../yum/__init__.py:2679
+#: ../yum/__init__.py:3153
 #, python-format
 msgid "searching package %s"
 msgstr ""
 
-#: ../yum/__init__.py:2691
+#: ../yum/__init__.py:3165
 msgid "searching in file entries"
 msgstr ""
 
-#: ../yum/__init__.py:2698
+#: ../yum/__init__.py:3172
 msgid "searching in provides entries"
 msgstr ""
 
-#: ../yum/__init__.py:2777
+#: ../yum/__init__.py:3369
 msgid "No group data available for configured repositories"
 msgstr ""
 
-#: ../yum/__init__.py:2808 ../yum/__init__.py:2827 ../yum/__init__.py:2858
-#: ../yum/__init__.py:2864 ../yum/__init__.py:2953 ../yum/__init__.py:2957
-#: ../yum/__init__.py:3339
+#: ../yum/__init__.py:3466 ../yum/__init__.py:3500 ../yum/__init__.py:3576
+#: ../yum/__init__.py:3582 ../yum/__init__.py:3719 ../yum/__init__.py:3723
+#: ../yum/__init__.py:4298
 #, python-format
 msgid "No Group named %s exists"
 msgstr ""
 
-#: ../yum/__init__.py:2839 ../yum/__init__.py:2973
+#: ../yum/__init__.py:3512 ../yum/__init__.py:3740
 #, python-format
 msgid "package %s was not marked in group %s"
 msgstr ""
 
-#: ../yum/__init__.py:2887
+#. (upgrade and igroup_data[pkg] == 'available')):
+#: ../yum/__init__.py:3622
+#, python-format
+msgid "Skipping package %s from group %s"
+msgstr ""
+
+#: ../yum/__init__.py:3628
 #, python-format
 msgid "Adding package %s from group %s"
 msgstr ""
 
-#: ../yum/__init__.py:2891
+#: ../yum/__init__.py:3649
 #, python-format
 msgid "No package named %s available to be installed"
 msgstr ""
 
-#: ../yum/__init__.py:2941
+#: ../yum/__init__.py:3702
 #, python-format
-msgid "Warning: Group %s does not have any packages."
+msgid "Warning: Group %s does not have any packages to install."
 msgstr ""
 
-#: ../yum/__init__.py:2943
+#: ../yum/__init__.py:3704
 #, python-format
 msgid "Group %s does have %u conditional packages, which may get installed."
 msgstr ""
 
+#: ../yum/__init__.py:3794
+#, python-format
+msgid "Skipping group %s from environment %s"
+msgstr ""
+
 #. This can happen due to excludes after .up has
 #. happened.
-#: ../yum/__init__.py:3002
+#: ../yum/__init__.py:3858
 #, python-format
 msgid "Package tuple %s could not be found in packagesack"
 msgstr ""
 
-#: ../yum/__init__.py:3022
+#: ../yum/__init__.py:3886
 #, python-format
 msgid "Package tuple %s could not be found in rpmdb"
 msgstr ""
 
-#: ../yum/__init__.py:3079 ../yum/__init__.py:3129
+#: ../yum/__init__.py:3949 ../yum/__init__.py:4012
 #, python-format
 msgid "Invalid version flag from: %s"
 msgstr ""
 
-#: ../yum/__init__.py:3096 ../yum/__init__.py:3101
+#: ../yum/__init__.py:3973 ../yum/__init__.py:3979 ../yum/__init__.py:4036
+#: ../yum/__init__.py:4042
 #, python-format
 msgid "No Package found for %s"
 msgstr ""
 
-#: ../yum/__init__.py:3401
+#: ../yum/__init__.py:4245 ../yum/__init__.py:4274
+#, python-format
+msgid "Warning: Environment Group %s does not exist."
+msgstr ""
+
+#: ../yum/__init__.py:4397
+#, python-format
+msgid "Package: %s - can't co-install with %s"
+msgstr ""
+
+#: ../yum/__init__.py:4437
 msgid "Package Object was not a package object instance"
 msgstr ""
 
-#: ../yum/__init__.py:3405
+#: ../yum/__init__.py:4441
 msgid "Nothing specified to install"
 msgstr ""
 
-#: ../yum/__init__.py:3424 ../yum/__init__.py:4283
+#: ../yum/__init__.py:4465 ../yum/__init__.py:5410
 #, python-format
 msgid "Checking for virtual provide or file-provide for %s"
 msgstr ""
 
-#: ../yum/__init__.py:3430 ../yum/__init__.py:3775 ../yum/__init__.py:3969
-#: ../yum/__init__.py:4289
-#, python-format
-msgid "No Match for argument: %s"
-msgstr ""
-
-#: ../yum/__init__.py:3507
+#: ../yum/__init__.py:4542
 #, python-format
 msgid "Package %s installed and not available"
 msgstr ""
 
-#: ../yum/__init__.py:3510
+#: ../yum/__init__.py:4545
 msgid "No package(s) available to install"
 msgstr ""
 
-#: ../yum/__init__.py:3522
+#: ../yum/__init__.py:4557
 #, python-format
 msgid "Package: %s  - already in transaction set"
 msgstr ""
 
-#: ../yum/__init__.py:3550
+#: ../yum/__init__.py:4589
 #, python-format
 msgid "Package %s is obsoleted by %s which is already installed"
 msgstr ""
 
-#: ../yum/__init__.py:3555
+#: ../yum/__init__.py:4594
 #, python-format
 msgid ""
 "Package %s is obsoleted by %s, but obsoleting package does not provide for "
 "requirements"
 msgstr ""
 
-#: ../yum/__init__.py:3558
+#: ../yum/__init__.py:4597
 #, python-format
 msgid "Package %s is obsoleted by %s, trying to install %s instead"
 msgstr ""
 
-#: ../yum/__init__.py:3566
+#: ../yum/__init__.py:4605
 #, python-format
 msgid "Package %s already installed and latest version"
 msgstr ""
 
-#: ../yum/__init__.py:3580
+#: ../yum/__init__.py:4619
 #, python-format
 msgid "Package matching %s already installed. Checking for update."
 msgstr ""
 
 #. update everything (the easy case)
-#: ../yum/__init__.py:3684
+#: ../yum/__init__.py:4751
 msgid "Updating Everything"
 msgstr ""
 
-#: ../yum/__init__.py:3708 ../yum/__init__.py:3849 ../yum/__init__.py:3879
-#: ../yum/__init__.py:3915
+#: ../yum/__init__.py:4775 ../yum/__init__.py:4930 ../yum/__init__.py:4975
+#: ../yum/__init__.py:5011
 #, python-format
 msgid "Not Updating Package that is already obsoleted: %s.%s %s:%s-%s"
 msgstr ""
 
-#: ../yum/__init__.py:3753 ../yum/__init__.py:3965
+#: ../yum/__init__.py:4830 ../yum/__init__.py:5072
 #, python-format
 msgid "%s"
 msgstr ""
 
-#: ../yum/__init__.py:3838
+#: ../yum/__init__.py:4854 ../yum/__init__.py:5080 ../yum/__init__.py:5416
+#, python-format
+msgid "No Match for argument: %s"
+msgstr ""
+
+#: ../yum/__init__.py:4872
+#, python-format
+msgid "No package matched to upgrade: %s"
+msgstr ""
+
+#: ../yum/__init__.py:4919
 #, python-format
 msgid "Package is already obsoleted: %s.%s %s:%s-%s"
 msgstr ""
 
-#: ../yum/__init__.py:3874
+#: ../yum/__init__.py:4970
 #, python-format
 msgid "Not Updating Package that is obsoleted: %s"
 msgstr ""
 
-#: ../yum/__init__.py:3883 ../yum/__init__.py:3919
+#: ../yum/__init__.py:4979 ../yum/__init__.py:5015
 #, python-format
 msgid "Not Updating Package that is already updated: %s.%s %s:%s-%s"
 msgstr ""
 
-#: ../yum/__init__.py:3982
-msgid "No package matched to remove"
+#: ../yum/__init__.py:5093
+#, python-format
+msgid "No package matched to remove: %s"
 msgstr ""
 
-#: ../yum/__init__.py:3988
+#: ../yum/__init__.py:5099
 #, python-format
 msgid "Skipping the running kernel: %s"
 msgstr ""
 
-#: ../yum/__init__.py:3994
+#: ../yum/__init__.py:5105
 #, python-format
 msgid "Removing %s from the transaction"
 msgstr ""
 
-#: ../yum/__init__.py:4029
+#: ../yum/__init__.py:5142
 #, python-format
 msgid "Cannot open: %s. Skipping."
 msgstr ""
 
-#: ../yum/__init__.py:4032 ../yum/__init__.py:4150 ../yum/__init__.py:4226
+#: ../yum/__init__.py:5145 ../yum/__init__.py:5262 ../yum/__init__.py:5347
 #, python-format
 msgid "Examining %s: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4036
+#: ../yum/__init__.py:5149
 #, python-format
 msgid "Cannot localinstall deltarpm: %s. Skipping."
 msgstr ""
 
-#: ../yum/__init__.py:4045 ../yum/__init__.py:4153 ../yum/__init__.py:4229
+#: ../yum/__init__.py:5158 ../yum/__init__.py:5265 ../yum/__init__.py:5350
 #, python-format
 msgid ""
 "Cannot add package %s to transaction. Not a compatible architecture: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4051
+#: ../yum/__init__.py:5164
 #, python-format
 msgid "Cannot install package %s. It is obsoleted by installed package %s"
 msgstr ""
 
-#: ../yum/__init__.py:4059
+#: ../yum/__init__.py:5172
 #, python-format
 msgid ""
 "Package %s not installed, cannot update it. Run yum install to install it "
 "instead."
 msgstr ""
 
-#: ../yum/__init__.py:4078 ../yum/__init__.py:4085
+#: ../yum/__init__.py:5191 ../yum/__init__.py:5198
 #, python-format
 msgid ""
 "Package %s.%s not installed, cannot update it. Run yum install to install it"
 " instead."
 msgstr ""
 
-#: ../yum/__init__.py:4094 ../yum/__init__.py:4158 ../yum/__init__.py:4234
+#: ../yum/__init__.py:5207 ../yum/__init__.py:5270 ../yum/__init__.py:5355
 #, python-format
 msgid "Excluding %s"
 msgstr ""
 
-#: ../yum/__init__.py:4099
+#: ../yum/__init__.py:5212
 #, python-format
 msgid "Marking %s to be installed"
 msgstr ""
 
-#: ../yum/__init__.py:4105
+#: ../yum/__init__.py:5218
 #, python-format
 msgid "Marking %s as an update to %s"
 msgstr ""
 
-#: ../yum/__init__.py:4112
+#: ../yum/__init__.py:5225
 #, python-format
 msgid "%s: does not update installed package."
 msgstr ""
 
-#: ../yum/__init__.py:4147 ../yum/__init__.py:4223
+#: ../yum/__init__.py:5259 ../yum/__init__.py:5344
 #, python-format
 msgid "Cannot open file: %s. Skipping."
 msgstr ""
 
-#: ../yum/__init__.py:4177
+#: ../yum/__init__.py:5299
 msgid "Problem in reinstall: no package matched to remove"
 msgstr ""
 
-#: ../yum/__init__.py:4203
+#: ../yum/__init__.py:5325
 #, python-format
 msgid "Problem in reinstall: no package %s matched to install"
 msgstr ""
 
-#: ../yum/__init__.py:4311
+#: ../yum/__init__.py:5438
 msgid "No package(s) available to downgrade"
 msgstr ""
 
-#: ../yum/__init__.py:4319
+#: ../yum/__init__.py:5446
 #, python-format
 msgid "Package %s is allowed multiple installs, skipping"
 msgstr ""
 
-#: ../yum/__init__.py:4365
+#: ../yum/__init__.py:5496
 #, python-format
 msgid "No Match for available package: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4372
+#: ../yum/__init__.py:5506
 #, python-format
 msgid "Only Upgrade available on package: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4442 ../yum/__init__.py:4479
+#: ../yum/__init__.py:5619 ../yum/__init__.py:5686
 #, python-format
 msgid "Failed to downgrade: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4516
+#: ../yum/__init__.py:5636 ../yum/__init__.py:5692
+#, python-format
+msgid "Failed to upgrade: %s"
+msgstr ""
+
+#: ../yum/__init__.py:5725
 #, python-format
 msgid "Retrieving key from %s"
 msgstr ""
 
-#: ../yum/__init__.py:4534
+#: ../yum/__init__.py:5743
 msgid "GPG key retrieval failed: "
 msgstr ""
 
 #. if we decide we want to check, even though the sig failed
 #. here is where we would do that
-#: ../yum/__init__.py:4557
+#: ../yum/__init__.py:5766
 #, python-format
 msgid "GPG key signature on key %s does not match CA Key for repo: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4559
+#: ../yum/__init__.py:5768
 msgid "GPG key signature verified against CA Key(s)"
 msgstr ""
 
-#: ../yum/__init__.py:4567
+#: ../yum/__init__.py:5776
 #, python-format
 msgid "Invalid GPG Key from %s: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4576
+#: ../yum/__init__.py:5785
 #, python-format
 msgid "GPG key parsing failed: key does not have value %s"
 msgstr ""
 
-#: ../yum/__init__.py:4592
+#: ../yum/__init__.py:5801
 #, python-format
 msgid ""
 "Importing %s key 0x%s:\n"
-" Userid : %s\n"
-" Package: %s (%s)\n"
-" From   : %s"
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" Package    : %s (%s)\n"
+" From       : %s"
 msgstr ""
 
-#: ../yum/__init__.py:4600
+#: ../yum/__init__.py:5811
 #, python-format
 msgid ""
 "Importing %s key 0x%s:\n"
-" Userid: \"%s\"\n"
-" From  : %s"
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" From       : %s"
 msgstr ""
 
-#: ../yum/__init__.py:4634
+#: ../yum/__init__.py:5839
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" Failing package is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr ""
+
+#: ../yum/__init__.py:5853
 #, python-format
 msgid "GPG key at %s (0x%s) is already installed"
 msgstr ""
 
-#: ../yum/__init__.py:4671
+#: ../yum/__init__.py:5891
 #, python-format
 msgid "Key import failed (code %d)"
 msgstr ""
 
-#: ../yum/__init__.py:4672 ../yum/__init__.py:4755
+#: ../yum/__init__.py:5893 ../yum/__init__.py:5994
 msgid "Key imported successfully"
 msgstr ""
 
-#: ../yum/__init__.py:4676
+#: ../yum/__init__.py:5897
 msgid "Didn't install any keys"
 msgstr ""
 
-#: ../yum/__init__.py:4680
+#: ../yum/__init__.py:5900
 #, python-format
 msgid ""
 "The GPG keys listed for the \"%s\" repository are already installed but they are not correct for this package.\n"
 "Check that the correct key URLs are configured for this repository."
 msgstr ""
 
-#: ../yum/__init__.py:4689
+#: ../yum/__init__.py:5910
 msgid "Import of key(s) didn't help, wrong key(s)?"
 msgstr ""
 
-#: ../yum/__init__.py:4713
+#: ../yum/__init__.py:5932
+msgid "No"
+msgstr ""
+
+#: ../yum/__init__.py:5934
+msgid "Yes"
+msgstr ""
+
+#: ../yum/__init__.py:5935
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" CA Key: %s\n"
+" Failing repo is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr ""
+
+#: ../yum/__init__.py:5948
 #, python-format
 msgid "GPG key at %s (0x%s) is already imported"
 msgstr ""
 
-#: ../yum/__init__.py:4754
-msgid "Key import failed"
+#: ../yum/__init__.py:5992
+#, python-format
+msgid "Key %s import failed"
 msgstr ""
 
-#: ../yum/__init__.py:4770
+#: ../yum/__init__.py:6009
 #, python-format
 msgid "Didn't install any keys for repo %s"
 msgstr ""
 
-#: ../yum/__init__.py:4774
+#: ../yum/__init__.py:6014
 #, python-format
 msgid ""
 "The GPG keys listed for the \"%s\" repository are already installed but they are not correct.\n"
 "Check that the correct key URLs are configured for this repository."
 msgstr ""
 
-#: ../yum/__init__.py:4924
+#: ../yum/__init__.py:6172
 msgid "Unable to find a suitable mirror."
 msgstr ""
 
-#: ../yum/__init__.py:4926
+#: ../yum/__init__.py:6174
 msgid "Errors were encountered while downloading packages."
 msgstr ""
 
-#: ../yum/__init__.py:4981
+#: ../yum/__init__.py:6229
 #, python-format
 msgid "Please report this error at %s"
 msgstr ""
 
-#: ../yum/__init__.py:4998
+#: ../yum/__init__.py:6246
 msgid "Test Transaction Errors: "
 msgstr ""
 
-#: ../yum/__init__.py:5098
+#: ../yum/__init__.py:6358
 #, python-format
 msgid "Could not set cachedir: %s"
 msgstr ""
 
-#: ../yum/__init__.py:5148 ../yum/__init__.py:5150
+#: ../yum/__init__.py:6420 ../yum/__init__.py:6422
 msgid "Dependencies not solved. Will not save unresolved transaction."
 msgstr ""
 
-#: ../yum/__init__.py:5179 ../yum/__init__.py:5181
+#: ../yum/__init__.py:6455 ../yum/__init__.py:6457
 #, python-format
 msgid "Could not save transaction file %s: %s"
 msgstr ""
 
-#: ../yum/__init__.py:5195
+#: ../yum/__init__.py:6483
 #, python-format
 msgid "Could not access/read saved transaction %s : %s"
 msgstr ""
 
-#: ../yum/__init__.py:5214
-msgid "rpmdb ver mismatched saved transaction version, "
-msgstr ""
-
-#: ../yum/__init__.py:5216
-msgid " ignoring, as requested."
+#: ../yum/__init__.py:6521
+msgid "rpmdb ver mismatched saved transaction version,"
 msgstr ""
 
-#: ../yum/__init__.py:5219 ../yum/__init__.py:5354
-msgid " aborting."
-msgstr ""
-
-#: ../yum/__init__.py:5228
+#: ../yum/__init__.py:6535
 msgid "cannot find tsflags or tsflags not integer."
 msgstr ""
 
-#: ../yum/__init__.py:5267
+#: ../yum/__init__.py:6584
 #, python-format
 msgid "Found txmbr in unknown current state: %s"
 msgstr ""
 
-#: ../yum/__init__.py:5271
+#: ../yum/__init__.py:6588
 #, python-format
 msgid "Could not find txmbr: %s in state %s"
 msgstr ""
 
-#: ../yum/__init__.py:5307 ../yum/__init__.py:5324
+#: ../yum/__init__.py:6625 ../yum/__init__.py:6642
 #, python-format
 msgid "Could not find txmbr: %s from origin: %s"
 msgstr ""
 
-#: ../yum/__init__.py:5349
+#: ../yum/__init__.py:6667
 msgid "Transaction members, relations are missing or ts has been modified,"
 msgstr ""
 
-#: ../yum/__init__.py:5351
+#: ../yum/__init__.py:6670
 msgid " ignoring, as requested. You must redepsolve!"
 msgstr ""
 
+#. Debugging output
+#: ../yum/__init__.py:6738 ../yum/__init__.py:6757
+#, python-format
+msgid "%s has been visited already and cannot be removed."
+msgstr ""
+
+#. Debugging output
+#: ../yum/__init__.py:6741
+#, python-format
+msgid "Examining revdeps of %s"
+msgstr ""
+
+#. Debugging output
+#: ../yum/__init__.py:6762
+#, python-format
+msgid "%s has revdep %s which was user-installed."
+msgstr ""
+
+#: ../yum/__init__.py:6773 ../yum/__init__.py:6779
+#, python-format
+msgid "%s is needed by a package to be installed."
+msgstr ""
+
+#. Debugging output
+#: ../yum/__init__.py:6793
+#, python-format
+msgid "%s has no user-installed revdeps."
+msgstr ""
+
 #. Mostly copied from YumOutput._outKeyValFill()
-#: ../yum/plugins.py:209
+#: ../yum/plugins.py:212
 msgid "Loaded plugins: "
 msgstr ""
 
-#: ../yum/plugins.py:223 ../yum/plugins.py:229
+#: ../yum/plugins.py:226 ../yum/plugins.py:232
 #, python-format
 msgid "No plugin match for: %s"
 msgstr ""
 
-#: ../yum/plugins.py:259
+#: ../yum/plugins.py:262
 #, python-format
 msgid "Not loading \"%s\" plugin, as it is disabled"
 msgstr ""
 
 #. Give full backtrace:
-#: ../yum/plugins.py:271
+#: ../yum/plugins.py:274
 #, python-format
 msgid "Plugin \"%s\" can't be imported"
 msgstr ""
 
-#: ../yum/plugins.py:278
+#: ../yum/plugins.py:281
 #, python-format
 msgid "Plugin \"%s\" doesn't specify required API version"
 msgstr ""
 
-#: ../yum/plugins.py:283
+#: ../yum/plugins.py:286
 #, python-format
 msgid "Plugin \"%s\" requires API %s. Supported API is %s."
 msgstr ""
 
-#: ../yum/plugins.py:316
+#: ../yum/plugins.py:319
 #, python-format
 msgid "Loading \"%s\" plugin"
 msgstr ""
 
-#: ../yum/plugins.py:323
+#: ../yum/plugins.py:326
 #, python-format
 msgid "Two or more plugins with the name \"%s\" exist in the plugin search path"
 msgstr ""
 
-#: ../yum/plugins.py:343
+#: ../yum/plugins.py:346
 #, python-format
 msgid "Configuration file %s not found"
 msgstr ""
 
 #. for
 #. Configuration files for the plugin not found
-#: ../yum/plugins.py:346
+#: ../yum/plugins.py:349
 #, python-format
 msgid "Unable to find configuration file for plugin %s"
 msgstr ""
 
-#: ../yum/plugins.py:508
+#: ../yum/plugins.py:553
 msgid "registration of commands not supported"
 msgstr ""
 
-#: ../yum/rpmsack.py:148
+#: ../yum/rpmsack.py:159
 msgid "has missing requires of"
 msgstr ""
 
-#: ../yum/rpmsack.py:151
+#: ../yum/rpmsack.py:162
 msgid "has installed conflicts"
 msgstr ""
 
-#: ../yum/rpmsack.py:160
+#: ../yum/rpmsack.py:171
 #, python-format
 msgid "%s is a duplicate with %s"
 msgstr ""
 
-#: ../yum/rpmsack.py:168
+#: ../yum/rpmsack.py:179
 #, python-format
 msgid "%s is obsoleted by %s"
 msgstr ""
 
-#: ../yum/rpmsack.py:176
+#: ../yum/rpmsack.py:187
 #, python-format
 msgid "%s provides %s but it cannot be found"
 msgstr ""
@@ -3066,6 +3443,23 @@ msgstr ""
 msgid "Repackaging"
 msgstr ""
 
+#: ../yum/rpmtrans.py:149
+#, python-format
+msgid "Verify: %u/%u: %s"
+msgstr ""
+
+#: ../yum/yumRepo.py:919
+#, python-format
+msgid ""
+"Insufficient space in download directory %s\n"
+"    * free   %s\n"
+"    * needed %s"
+msgstr ""
+
+#: ../yum/yumRepo.py:986
+msgid "Package does not match intended download."
+msgstr ""
+
 #: ../rpmUtils/oldUtils.py:33
 #, python-format
 msgid "Header cannot be opened or does not match %s, %s."
@@ -3094,5 +3488,3 @@ msgstr ""
 #, python-format
 msgid "Error opening rpm %s - error %s"
 msgstr ""
-
-
diff --git a/po/it.po b/po/it.po
index 44b6091..dd93a17 100644
--- a/po/it.po
+++ b/po/it.po
@@ -2,1523 +2,1656 @@
 # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
 # This file is distributed under the same license as the PACKAGE package.
 # 
+# Translators:
+# Guido Grazioli <guido.grazioli@gmail.com>, 2011-2013.
 msgid ""
 msgstr ""
 "Project-Id-Version: Yum\n"
-"Report-Msgid-Bugs-To: http://yum.baseurl.org/\n"
-"POT-Creation-Date: 2011-06-06 10:21-0400\n"
-"PO-Revision-Date: 2011-06-06 14:21+0000\n"
-"Last-Translator: skvidal <skvidal@fedoraproject.org>\n"
-"Language-Team: Italian (http://www.transifex.net/projects/p/yum/team/it/)\n"
+"Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
+"POT-Creation-Date: 2013-01-30 09:08-0500\n"
+"PO-Revision-Date: 2013-02-20 23:34+0000\n"
+"Last-Translator: Guido Grazioli <guido.grazioli@gmail.com>\n"
+"Language-Team: Italian (http://www.transifex.com/projects/p/yum/language/it/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Language: it\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: ../callback.py:48 ../output.py:1037 ../yum/rpmtrans.py:73
+#: ../callback.py:45 ../output.py:1502 ../yum/rpmtrans.py:73
 msgid "Updating"
 msgstr "Aggiornamento"
 
-#: ../callback.py:49 ../yum/rpmtrans.py:74
+#: ../callback.py:46 ../yum/rpmtrans.py:74
 msgid "Erasing"
 msgstr "Eliminazione"
 
-#: ../callback.py:50 ../callback.py:51 ../callback.py:53 ../output.py:1036
-#: ../output.py:2218 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
+#: ../callback.py:47 ../callback.py:48 ../callback.py:50 ../output.py:1501
+#: ../output.py:2922 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
 #: ../yum/rpmtrans.py:78
 msgid "Installing"
 msgstr "Installazione"
 
-#: ../callback.py:52 ../callback.py:58 ../output.py:1840 ../yum/rpmtrans.py:77
+#: ../callback.py:49 ../callback.py:55 ../output.py:2379 ../yum/rpmtrans.py:77
 msgid "Obsoleted"
 msgstr "Reso obsoleto"
 
-#: ../callback.py:54 ../output.py:1169 ../output.py:1686 ../output.py:1847
+#: ../callback.py:51 ../output.py:1670 ../output.py:2222 ../output.py:2386
 msgid "Updated"
 msgstr "Aggiornato"
 
-#: ../callback.py:55 ../output.py:1685
+#: ../callback.py:52 ../output.py:2221
 msgid "Erased"
 msgstr "Eliminato"
 
-#: ../callback.py:56 ../callback.py:57 ../callback.py:59 ../output.py:1167
-#: ../output.py:1685 ../output.py:1687 ../output.py:2190
+#: ../callback.py:53 ../callback.py:54 ../callback.py:56 ../output.py:1668
+#: ../output.py:2221 ../output.py:2223 ../output.py:2894
 msgid "Installed"
 msgstr "Installato"
 
-#: ../callback.py:130
+#: ../callback.py:142
 msgid "No header - huh?"
 msgstr "Nessun header - come?"
 
-#: ../callback.py:168
+#: ../callback.py:180
 msgid "Repackage"
 msgstr "Reimpacchetto"
 
-#: ../callback.py:189
+#: ../callback.py:201
 #, python-format
 msgid "Error: invalid output state: %s for %s"
 msgstr "Errore: stato di output non valido: %s per %s"
 
-#: ../callback.py:212
+#: ../callback.py:224
 #, python-format
 msgid "Erased: %s"
 msgstr "Eliminato: %s"
 
-#: ../callback.py:217 ../output.py:1038 ../output.py:2193
+#: ../callback.py:229 ../output.py:1503 ../output.py:2897
 msgid "Removing"
 msgstr "Rimozione in corso"
 
-#: ../callback.py:219 ../yum/rpmtrans.py:79
+#: ../callback.py:231 ../yum/rpmtrans.py:79
 msgid "Cleanup"
 msgstr "Pulizia"
 
-#: ../cli.py:115
+#: ../cli.py:122
 #, python-format
 msgid "Command \"%s\" already defined"
 msgstr "Comando \"%s\" già definito"
 
-#: ../cli.py:127
+#: ../cli.py:137
 msgid "Setting up repositories"
 msgstr "Settaggio repository"
 
-#: ../cli.py:138
+#: ../cli.py:148
 msgid "Reading repository metadata in from local files"
 msgstr "Lettura dei metadati dei repository dai file locali"
 
-#: ../cli.py:245 ../utils.py:281
+#: ../cli.py:273 ../cli.py:277 ../utils.py:320
 #, python-format
 msgid "Config Error: %s"
 msgstr "Errore di configurazione: %s"
 
-#: ../cli.py:248 ../cli.py:1584 ../utils.py:284
+#: ../cli.py:280 ../cli.py:2206 ../utils.py:323
 #, python-format
 msgid "Options Error: %s"
 msgstr "Errore opzioni: %s"
 
-#: ../cli.py:293
+#: ../cli.py:327
 #, python-format
 msgid "  Installed: %s-%s at %s"
 msgstr "  Installato: %s-%s da %s"
 
-#: ../cli.py:295
+#: ../cli.py:329
 #, python-format
 msgid "  Built    : %s at %s"
 msgstr "  Build    : %s su %s"
 
-#: ../cli.py:297
+#: ../cli.py:331
 #, python-format
 msgid "  Committed: %s at %s"
 msgstr "  Committed: %s su %s"
 
-#: ../cli.py:336
+#: ../cli.py:372
 msgid "You need to give some command"
 msgstr "È necessario specificare un comando"
 
-#: ../cli.py:350
+#: ../cli.py:386
 #, python-format
 msgid "No such command: %s. Please use %s --help"
 msgstr "Comando sconosciuto: %s. Eseguire %s --help"
 
-#: ../cli.py:400
+#: ../cli.py:444
 msgid "Disk Requirements:\n"
 msgstr "Requisiti disco:\n"
 
-#: ../cli.py:402
+#: ../cli.py:446
 #, python-format
 msgid "  At least %dMB more space needed on the %s filesystem.\n"
-msgstr "  Servono almeno altri %dMB sul filesystem %s.\n"
+msgid_plural "  At least %dMB more space needed on the %s filesystem.\n"
+msgstr[0] "  Serve almeno %dMB sul filesystem %s.\n"
+msgstr[1] "  Servono almeno altri %dMB sul filesystem %s.\n"
 
 #. TODO: simplify the dependency errors?
 #. Fixup the summary
-#: ../cli.py:407
+#: ../cli.py:451
 msgid ""
 "Error Summary\n"
 "-------------\n"
-msgstr ""
-"Riepilogo errori\n"
-"----------------\n"
+msgstr "Riepilogo errori\n----------------\n"
+
+#: ../cli.py:472
+msgid "Can't create lock file; exiting"
+msgstr "Impossibile creare il file di lock; uscita"
+
+#: ../cli.py:479
+msgid ""
+"Another app is currently holding the yum lock; exiting as configured by "
+"exit_on_lock"
+msgstr "Un'altra applicazione sta bloccando l'esecuzione di yum; arresto come configurato da exit_on_lock"
 
-#: ../cli.py:450
+#: ../cli.py:532
 msgid "Trying to run the transaction but nothing to do. Exiting."
 msgstr "La transazione non contiene alcuna operazione da eseguire."
 
-#: ../cli.py:497
+#: ../cli.py:577
+msgid "future rpmdb ver mismatched saved transaction version,"
+msgstr "la versione futura di rpmdb non corrisponde alla versione della transazione salvata, "
+
+#: ../cli.py:579 ../yum/__init__.py:6523
+msgid " ignoring, as requested."
+msgstr " ignorato, come richiesto."
+
+#: ../cli.py:582 ../yum/__init__.py:6526 ../yum/__init__.py:6673
+msgid " aborting."
+msgstr " esecuzione annullata."
+
+#: ../cli.py:588
 msgid "Exiting on user Command"
 msgstr "Uscita richiesta dall'utente"
 
-#: ../cli.py:501
+#: ../cli.py:592
 msgid "Downloading Packages:"
 msgstr "Download dei pacchetti:"
 
-#: ../cli.py:506
+#: ../cli.py:597
 msgid "Error Downloading Packages:\n"
 msgstr "Errore nel download dei pacchetti:\n"
 
-#: ../cli.py:525 ../yum/__init__.py:4967
+#: ../cli.py:616 ../yum/__init__.py:6215
 msgid "Running Transaction Check"
-msgstr ""
+msgstr "Esecuzione del controllo di transazione"
 
-#: ../cli.py:534 ../yum/__init__.py:4976
+#: ../cli.py:625 ../yum/__init__.py:6224
 msgid "ERROR You need to update rpm to handle:"
 msgstr "ERRORE Occorre aggiornare rpm per gestire:"
 
-#: ../cli.py:536 ../yum/__init__.py:4979
+#: ../cli.py:627 ../yum/__init__.py:6227
 msgid "ERROR with transaction check vs depsolve:"
-msgstr ""
+msgstr "ERRORE del controllo di transazione nei confronti di depsolve:"
 
-#: ../cli.py:542
+#: ../cli.py:633
 msgid "RPM needs to be updated"
 msgstr "RPM deve essere aggiornato"
 
-#: ../cli.py:543
+#: ../cli.py:634
 #, python-format
 msgid "Please report this error in %s"
 msgstr "Riportare questo errore su %s"
 
-#: ../cli.py:549
+#: ../cli.py:640
 msgid "Running Transaction Test"
 msgstr "Test di transazione in corso"
 
-#: ../cli.py:561
+#: ../cli.py:652
 msgid "Transaction Check Error:\n"
 msgstr "Errore nel controllo transazione:\n"
 
-#: ../cli.py:568
+#: ../cli.py:659
 msgid "Transaction Test Succeeded"
 msgstr "Test di transazione eseguito con successo"
 
-#: ../cli.py:600
+#: ../cli.py:691
 msgid "Running Transaction"
 msgstr "Transazione in corso"
 
-#: ../cli.py:630
+#: ../cli.py:724
 msgid ""
 "Refusing to automatically import keys when running unattended.\n"
 "Use \"-y\" to override."
-msgstr ""
-"L'importazione automatica delle chiavi è disabilitata in modalità non interattiva.\n"
-"Usare \"-y\" per abilitarla."
+msgstr "L'importazione automatica delle chiavi è disabilitata in modalità non interattiva.\nUsare \"-y\" per abilitarla."
 
-#: ../cli.py:649 ../cli.py:692
+#: ../cli.py:743 ../cli.py:786
 msgid "  * Maybe you meant: "
 msgstr "  * Forse si intendeva: "
 
-#: ../cli.py:675 ../cli.py:683
+#: ../cli.py:769 ../cli.py:777
 #, python-format
 msgid "Package(s) %s%s%s available, but not installed."
 msgstr "Pacchetto %s%s%s disponibile, ma non installato."
 
-#: ../cli.py:689 ../cli.py:722 ../cli.py:908
+#: ../cli.py:783 ../cli.py:891 ../cli.py:1158
 #, python-format
 msgid "No package %s%s%s available."
 msgstr "Nessun pacchetto %s%s%s disponibile."
 
-#: ../cli.py:729 ../cli.py:973
-msgid "Package(s) to install"
-msgstr "Pacchetto(i) da installare"
+#: ../cli.py:871 ../cli.py:881 ../cli.py:1101 ../cli.py:1111
+#, python-format
+msgid "Bad %s argument %s."
+msgstr "Parametro per %s errato: %s."
+
+#: ../cli.py:900 ../yumcommands.py:3331
+#, python-format
+msgid "%d package to install"
+msgid_plural "%d packages to install"
+msgstr[0] "%d pacchetto da installare"
+msgstr[1] "%d pacchetti da installare"
 
-#: ../cli.py:732 ../cli.py:733 ../cli.py:914 ../cli.py:948 ../cli.py:974
-#: ../yumcommands.py:190
+#: ../cli.py:903 ../cli.py:904 ../cli.py:1169 ../cli.py:1170 ../cli.py:1224
+#: ../cli.py:1225 ../cli.py:1260 ../yumcommands.py:323 ../yumcommands.py:3419
 msgid "Nothing to do"
 msgstr "Niente da fare"
 
-#: ../cli.py:767
+#: ../cli.py:953
 #, python-format
-msgid "%d packages marked for Update"
-msgstr "%d pacchetti marcati per l'aggiornamento"
+msgid "%d package marked for Update"
+msgid_plural "%d packages marked for Update"
+msgstr[0] "%d pacchetto marcato per l'aggiornamento"
+msgstr[1] "%d pacchetti marcati per l'aggiornamento"
 
-#: ../cli.py:770
+#: ../cli.py:955
 msgid "No Packages marked for Update"
 msgstr "Nessun pacchetto marcato per l'aggiornamento"
 
-#: ../cli.py:866
+#: ../cli.py:1067
 #, python-format
-msgid "%d packages marked for Distribution Synchronization"
-msgstr "%d pacchetti marcati per la Distribution Synchronization"
+msgid "%d package marked for Distribution Synchronization"
+msgid_plural "%d packages marked for Distribution Synchronization"
+msgstr[0] "%d pacchetto marcato per la Distribution Synchronization"
+msgstr[1] "%d pacchetti marcati per la Distribution Synchronization"
 
-#: ../cli.py:869
+#: ../cli.py:1069
 msgid "No Packages marked for Distribution Synchronization"
 msgstr "Nessun pacchetto marcato per la Distribution Synchronization"
 
-#: ../cli.py:885
+#: ../cli.py:1124
 #, python-format
-msgid "%d packages marked for removal"
-msgstr "%d pacchetti marcati per la rimozione"
+msgid "%d package marked for removal"
+msgid_plural "%d packages marked for removal"
+msgstr[0] "%d pacchetto marcato per la rimozione"
+msgstr[1] "%d pacchetto marcati per la rimozione"
 
-#: ../cli.py:888
+#: ../cli.py:1126
 msgid "No Packages marked for removal"
 msgstr "Nessun pacchetto marcato per la rimozione"
 
-#: ../cli.py:913
-msgid "Package(s) to downgrade"
-msgstr "Downgrade dei pacchetti"
+#: ../cli.py:1166
+#, python-format
+msgid "%d package to downgrade"
+msgid_plural "%d packages to downgrade"
+msgstr[0] "%d pacchetto marcato per il downgrade"
+msgstr[1] "%d pacchetti marcati per il downgrade"
 
-#: ../cli.py:938
+#: ../cli.py:1207
 #, python-format
 msgid " (from %s)"
 msgstr " (da %s)"
 
-#: ../cli.py:939
+#: ../cli.py:1208
 #, python-format
 msgid "Installed package %s%s%s%s not available."
 msgstr "Pacchetto installato %s%s%s%s non disponibile."
 
-#: ../cli.py:947
-msgid "Package(s) to reinstall"
-msgstr "Pacchetto(i) da reinstallare"
+#: ../cli.py:1221
+#, python-format
+msgid "%d package to reinstall"
+msgid_plural "%d packages to reinstall"
+msgstr[0] "%d pacchetto da reinstallare"
+msgstr[1] "%d pacchetti da reinstallare"
 
-#: ../cli.py:960
+#: ../cli.py:1246
 msgid "No Packages Provided"
 msgstr "Nessun pacchetto specificato"
 
-#: ../cli.py:1058
+#: ../cli.py:1259
+msgid "Package(s) to install"
+msgstr "Pacchetto(i) da installare"
+
+#: ../cli.py:1367
 #, python-format
 msgid "N/S Matched: %s"
-msgstr ""
+msgstr "N/D trovati: %s"
 
-#: ../cli.py:1075
+#: ../cli.py:1384
 #, python-format
 msgid "  Name and summary matches %sonly%s, use \"search all\" for everything."
-msgstr ""
+msgstr "  Ricerca effettuata %ssolamente%s in nome e descrizione breve, usare \"search all\" per cercare in tutti i campi."
 
-#: ../cli.py:1077
+#: ../cli.py:1386
 #, python-format
 msgid ""
 "  Full name and summary matches %sonly%s, use \"search all\" for everything."
-msgstr ""
+msgstr "  Ricerca effettuata %ssolamente%s in nome completo e descrizione breve, usare \"search all\" per cercare in tutti i campi."
 
-#: ../cli.py:1095
+#: ../cli.py:1404
 #, python-format
 msgid "Matched: %s"
 msgstr "Trovato: %s"
 
-#: ../cli.py:1102
+#: ../cli.py:1411
 #, python-format
 msgid "  Name and summary matches %smostly%s, use \"search all\" for everything."
-msgstr ""
+msgstr "  Ricerca effettuata %sper lo più%s in nome e descrizione breve, usare \"search all\" per cercare in tutti i campi."
 
-#: ../cli.py:1106
+#: ../cli.py:1415
 #, python-format
 msgid "Warning: No matches found for: %s"
 msgstr "Attenzione: Nessun pacchetto trovato per: %s"
 
-#: ../cli.py:1109
+#: ../cli.py:1418
 msgid "No Matches found"
 msgstr "Nessuna corrispondenza trovata"
 
-#: ../cli.py:1174
+#: ../cli.py:1536
 #, python-format
-msgid "No Package Found for %s"
-msgstr "Nessun pacchetto trovato per %s"
+msgid ""
+"Error: No Packages found for:\n"
+"  %s"
+msgstr "Errore: Nessun pacchetto trovato per:\n  %s"
 
-#: ../cli.py:1184
+#: ../cli.py:1572
 msgid "Cleaning repos: "
 msgstr "Pulizia dei repository:"
 
-#: ../cli.py:1189
+#: ../cli.py:1577
 msgid "Cleaning up Everything"
 msgstr "Pulizia completa"
 
-#: ../cli.py:1205
+#: ../cli.py:1593
 msgid "Cleaning up Headers"
 msgstr "Pulizia header"
 
-#: ../cli.py:1208
+#: ../cli.py:1596
 msgid "Cleaning up Packages"
 msgstr "Pulizia pacchetti"
 
-#: ../cli.py:1211
+#: ../cli.py:1599
 msgid "Cleaning up xml metadata"
 msgstr "Pulizia metadati xml"
 
-#: ../cli.py:1214
+#: ../cli.py:1602
 msgid "Cleaning up database cache"
 msgstr "Pulizia cache database"
 
-#: ../cli.py:1217
+#: ../cli.py:1605
 msgid "Cleaning up expire-cache metadata"
 msgstr "Pulizia metadati expire-cache"
 
-#: ../cli.py:1220
+#: ../cli.py:1608
 msgid "Cleaning up cached rpmdb data"
 msgstr "Pulizia cache di rpmdb"
 
-#: ../cli.py:1223
+#: ../cli.py:1611
 msgid "Cleaning up plugins"
 msgstr "Pulizia plugin"
 
-#: ../cli.py:1247
-#, python-format
-msgid "Warning: No groups match: %s"
-msgstr ""
+#: ../cli.py:1727
+msgid "Installed Environment Groups:"
+msgstr "Gruppi environment installati:"
+
+#: ../cli.py:1728
+msgid "Available Environment Groups:"
+msgstr "Gruppi environment disponibili:"
 
-#: ../cli.py:1264
+#: ../cli.py:1735
 msgid "Installed Groups:"
 msgstr "Gruppi installati:"
 
-#: ../cli.py:1270
+#: ../cli.py:1742
 msgid "Installed Language Groups:"
-msgstr ""
+msgstr "Gruppi lingua installati:"
 
-#: ../cli.py:1276
+#: ../cli.py:1749
 msgid "Available Groups:"
 msgstr "Gruppi disponibili:"
 
-#: ../cli.py:1282
+#: ../cli.py:1756
 msgid "Available Language Groups:"
-msgstr ""
+msgstr "Gruppi lingua disponibili:"
+
+#: ../cli.py:1759
+#, python-format
+msgid "Warning: No Environments/Groups match: %s"
+msgstr "Attenzione: nessun environment/gruppo trovato per: %s"
 
-#: ../cli.py:1285
+#: ../cli.py:1763
 msgid "Done"
 msgstr "Fatto"
 
-#: ../cli.py:1296 ../cli.py:1314 ../cli.py:1320 ../yum/__init__.py:3313
+#: ../cli.py:1818
+#, python-format
+msgid "Warning: Group/Environment %s does not exist."
+msgstr "Attenzione: gruppo/environment %s non esiste."
+
+#: ../cli.py:1859
+#, python-format
+msgid "Warning: Environment %s does not exist."
+msgstr "Warning: Environment %s does non esiste."
+
+#: ../cli.py:1873 ../cli.py:1879 ../yum/__init__.py:4254
 #, python-format
 msgid "Warning: Group %s does not exist."
 msgstr "Attenzione: Il gruppo %s non esiste."
 
-#: ../cli.py:1324
+#: ../cli.py:1883
 msgid "No packages in any requested group available to install or update"
-msgstr ""
-"Nessun pacchetto in alcun gruppo richiesto è disponibile per l'installazione"
-" o l'aggiornamento"
+msgstr "Nessun pacchetto in alcun gruppo richiesto è disponibile per l'installazione o l'aggiornamento"
+
+#: ../cli.py:1885
+#, python-format
+msgid "%d package to Install"
+msgid_plural "%d packages to Install"
+msgstr[0] "%d pacchetto da installare"
+msgstr[1] "%d pacchetti da installare"
 
-#: ../cli.py:1326
+#: ../cli.py:1919 ../yum/__init__.py:3536 ../yum/__init__.py:3766
+#: ../yum/__init__.py:3824
 #, python-format
-msgid "%d Package(s) to Install"
-msgstr "%d pacchetto(i) da installare"
+msgid "No Environment named %s exists"
+msgstr "L'Environment %s non esiste"
 
-#: ../cli.py:1336 ../yum/__init__.py:3325
+#: ../cli.py:1935 ../yum/__init__.py:4282
 #, python-format
 msgid "No group named %s exists"
 msgstr "Non esiste nessun gruppo con nome %s"
 
-#: ../cli.py:1342
+#: ../cli.py:1945
 msgid "No packages to remove from groups"
 msgstr "Nessun pacchetto da rimuovere dai gruppi"
 
-#: ../cli.py:1344
+#: ../cli.py:1947 ../yumcommands.py:3351
 #, python-format
-msgid "%d Package(s) to remove"
-msgstr "%d pacchetto(i) da eliminare"
+msgid "%d package to remove"
+msgid_plural "%d packages to remove"
+msgstr[0] "%d pacchetto da rimuovere"
+msgstr[1] "%d pacchetti da rimuovere"
 
-#: ../cli.py:1386
+#: ../cli.py:1988
 #, python-format
 msgid "Package %s is already installed, skipping"
 msgstr "Il pacchetto %s è già installato, verrà ignorato"
 
-#: ../cli.py:1397
+#: ../cli.py:1999
 #, python-format
 msgid "Discarding non-comparable pkg %s.%s"
 msgstr "Esclusione del pacchetto non comparabile %s.%s"
 
 #. we've not got any installed that match n or n+a
-#: ../cli.py:1423
+#: ../cli.py:2025
 #, python-format
 msgid "No other %s installed, adding to list for potential install"
-msgstr ""
-"Nessun altro %s installato, inserimento in lista per potenziale "
-"installazione"
+msgstr "Nessun altro %s installato, inserimento in lista per potenziale installazione"
 
-#: ../cli.py:1443
+#: ../cli.py:2045
 msgid "Plugin Options"
 msgstr "Opzioni plugin"
 
-#: ../cli.py:1451
+#: ../cli.py:2057
 #, python-format
 msgid "Command line error: %s"
 msgstr "Errore di linea di comando: %s"
 
-#: ../cli.py:1467
+#: ../cli.py:2079
 #, python-format
 msgid ""
 "\n"
 "\n"
 "%s: %s option requires an argument"
-msgstr ""
-"\n"
-"\n"
-"%s: l'opzione %s richiede un argomento"
+msgstr "\n\n%s: l'opzione %s richiede un argomento"
 
-#: ../cli.py:1521
+#: ../cli.py:2147
 msgid "--color takes one of: auto, always, never"
 msgstr "--color deve specificare uno tra: auto, always, never"
 
 #. We have a relative installroot ... haha
-#: ../cli.py:1596
+#: ../cli.py:2218
 #, python-format
 msgid "--installroot must be an absolute path: %s"
-msgstr ""
+msgstr "--installroot deve essere un percorso assoluto: %s"
 
-#: ../cli.py:1642
+#: ../cli.py:2272
 msgid "show this help message and exit"
 msgstr "mostra questo messaggio di aiuto ed esce"
 
-#: ../cli.py:1646
+#: ../cli.py:2276
 msgid "be tolerant of errors"
 msgstr "tollera gli errori"
 
-#: ../cli.py:1649
+#: ../cli.py:2279
 msgid "run entirely from system cache, don't update cache"
 msgstr "esegui esclusivamente in cache, senza aggiornarla"
 
-#: ../cli.py:1652
+#: ../cli.py:2282
 msgid "config file location"
 msgstr "percorso del file di configurazione"
 
-#: ../cli.py:1655
+#: ../cli.py:2285
 msgid "maximum command wait time"
 msgstr "tempo massimo di attesa comando"
 
-#: ../cli.py:1657
+#: ../cli.py:2287
 msgid "debugging output level"
 msgstr "livello output di debug"
 
-#: ../cli.py:1661
+#: ../cli.py:2291
 msgid "show duplicates, in repos, in list/search commands"
 msgstr "mostra i duplicati nei repo, per i comandi list/search"
 
-#: ../cli.py:1663
+#: ../cli.py:2296
 msgid "error output level"
 msgstr "livello output per gli errori"
 
-#: ../cli.py:1666
+#: ../cli.py:2299
 msgid "debugging output level for rpm"
 msgstr "livello output di debug per rpm"
 
-#: ../cli.py:1669
+#: ../cli.py:2302
 msgid "quiet operation"
 msgstr "modalità silenziosa"
 
-#: ../cli.py:1671
+#: ../cli.py:2304
 msgid "verbose operation"
 msgstr "mostra più messaggi di log"
 
-#: ../cli.py:1673
+#: ../cli.py:2306
 msgid "answer yes for all questions"
 msgstr "risponde si a tutte le domande"
 
-#: ../cli.py:1675
+#: ../cli.py:2308
+msgid "answer no for all questions"
+msgstr "rispondi no a tutte le domande"
+
+#: ../cli.py:2312
 msgid "show Yum version and exit"
 msgstr "mostra la versione di yum ed esce"
 
-#: ../cli.py:1676
+#: ../cli.py:2313
 msgid "set install root"
 msgstr "imposta la root d'installazione"
 
-#: ../cli.py:1680
+#: ../cli.py:2317
 msgid "enable one or more repositories (wildcards allowed)"
 msgstr "abilita uno o più repository (wildcard consentite)"
 
-#: ../cli.py:1684
+#: ../cli.py:2321
 msgid "disable one or more repositories (wildcards allowed)"
 msgstr "disabilita uno o più repository (wildcard consentite)"
 
-#: ../cli.py:1687
+#: ../cli.py:2324
 msgid "exclude package(s) by name or glob"
 msgstr "esclude pacchetti per nome o glob"
 
-#: ../cli.py:1689
+#: ../cli.py:2326
 msgid "disable exclude from main, for a repo or for everything"
 msgstr "disabilita l'esclusione dal main, per un repo o per tutto"
 
-#: ../cli.py:1692
+#: ../cli.py:2329
 msgid "enable obsoletes processing during updates"
 msgstr "abilita l'elaborazione degli obsoleti durante l'aggiornamento"
 
-#: ../cli.py:1694
+#: ../cli.py:2331
 msgid "disable Yum plugins"
 msgstr "disabilita i plugin di Yum"
 
-#: ../cli.py:1696
+#: ../cli.py:2333
 msgid "disable gpg signature checking"
 msgstr "disabilita il controllo della firma gpg"
 
-#: ../cli.py:1698
+#: ../cli.py:2335
 msgid "disable plugins by name"
 msgstr "disabilita i plugin per nome"
 
-#: ../cli.py:1701
+#: ../cli.py:2338
 msgid "enable plugins by name"
 msgstr "abilita i plugin per nome"
 
-#: ../cli.py:1704
+#: ../cli.py:2341
 msgid "skip packages with depsolving problems"
 msgstr "ignora pacchetti con problemi di risoluzione dipendenze"
 
-#: ../cli.py:1706
+#: ../cli.py:2343
 msgid "control whether color is used"
-msgstr "controlla se il colore è usato"
+msgstr "imposta l'uso del colore"
 
-#: ../cli.py:1708
+#: ../cli.py:2345
 msgid "set value of $releasever in yum config and repo files"
 msgstr "imposta $releasever nella configurazione di yum e nei file dei repo"
 
-#: ../cli.py:1710
+#: ../cli.py:2347
+msgid "don't update, just download"
+msgstr "non aggiornare, scarica solamente"
+
+#: ../cli.py:2349
+msgid "specifies an alternate directory to store packages"
+msgstr "specifica una directory alternativa dove salvare i pacchetti"
+
+#: ../cli.py:2351
 msgid "set arbitrary config and repo options"
 msgstr "imposta configurazioni arbitrarie e opzioni dei repository"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Jan"
 msgstr "Gen"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Feb"
 msgstr "Feb"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Mar"
 msgstr "Mar"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Apr"
 msgstr "Apr"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "May"
 msgstr "Mag"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Jun"
 msgstr "Giu"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Jul"
 msgstr "Lug"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Aug"
 msgstr "Ago"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Sep"
 msgstr "Set"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Oct"
 msgstr "Ott"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Nov"
 msgstr "Nov"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Dec"
 msgstr "Dic"
 
-#: ../output.py:318
+#: ../output.py:473
 msgid "Trying other mirror."
 msgstr "Connessione ad un altro mirror in corso."
 
-#: ../output.py:581
+#: ../output.py:816
 #, python-format
 msgid "Name        : %s%s%s"
 msgstr "Nome         : %s%s%s"
 
-#: ../output.py:582
+#: ../output.py:817
 #, python-format
 msgid "Arch        : %s"
 msgstr "Arch         : %s"
 
-#: ../output.py:584
+#: ../output.py:819
 #, python-format
 msgid "Epoch       : %s"
 msgstr "Epoch        : %s"
 
-#: ../output.py:585
+#: ../output.py:820
 #, python-format
 msgid "Version     : %s"
 msgstr "Versione     : %s"
 
-#: ../output.py:586
+#: ../output.py:821
 #, python-format
 msgid "Release     : %s"
 msgstr "Rilascio     : %s"
 
-#: ../output.py:587
+#: ../output.py:822
 #, python-format
 msgid "Size        : %s"
 msgstr "Dimensione   : %s"
 
-#: ../output.py:588 ../output.py:900
+#: ../output.py:823 ../output.py:1329
 #, python-format
 msgid "Repo        : %s"
 msgstr "Repo         : %s"
 
-#: ../output.py:590
+#: ../output.py:825
 #, python-format
 msgid "From repo   : %s"
 msgstr "Dal repo     : %s"
 
-#: ../output.py:592
+#: ../output.py:827
 #, python-format
 msgid "Committer   : %s"
 msgstr "Committer    : %s"
 
-#: ../output.py:593
+#: ../output.py:828
 #, python-format
 msgid "Committime  : %s"
 msgstr "Data commit  : %s"
 
-#: ../output.py:594
+#: ../output.py:829
 #, python-format
 msgid "Buildtime   : %s"
 msgstr "Data build   : %s"
 
-#: ../output.py:596
+#: ../output.py:831
 #, python-format
 msgid "Install time: %s"
 msgstr "Data inst.   : %s"
 
-#: ../output.py:604
+#: ../output.py:839
 #, python-format
 msgid "Installed by: %s"
 msgstr "Installato da: %s"
 
-#: ../output.py:611
+#: ../output.py:846
 #, python-format
 msgid "Changed by  : %s"
 msgstr "Modificato da: %s"
 
-#: ../output.py:612
+#: ../output.py:847
 msgid "Summary     : "
 msgstr "Sommario     : "
 
-#: ../output.py:614 ../output.py:913
+#: ../output.py:849 ../output.py:1345
 #, python-format
 msgid "URL         : %s"
 msgstr "URL          : %s"
 
-#: ../output.py:615
+#: ../output.py:850
 msgid "License     : "
 msgstr "Licenza      : "
 
-#: ../output.py:616 ../output.py:910
+#: ../output.py:851 ../output.py:1342
 msgid "Description : "
 msgstr "Descrizione  : "
 
-#: ../output.py:684
+#: ../output.py:969
 msgid "y"
 msgstr "s"
 
-#: ../output.py:684
+#: ../output.py:969
 msgid "yes"
 msgstr "si"
 
-#: ../output.py:685
+#: ../output.py:970
 msgid "n"
 msgstr "n"
 
-#: ../output.py:685
+#: ../output.py:970
 msgid "no"
 msgstr "no"
 
-#: ../output.py:689
+#: ../output.py:974
 msgid "Is this ok [y/N]: "
 msgstr "Procedere [s/N]: "
 
-#: ../output.py:777
+#: ../output.py:1097
 #, python-format
 msgid ""
 "\n"
 "Group: %s"
-msgstr ""
-"\n"
-"Gruppo: %s"
+msgstr "\nGruppo: %s"
 
-#: ../output.py:781
+#: ../output.py:1101
 #, python-format
 msgid " Group-Id: %s"
 msgstr " Id-Gruppo: %s"
 
-#: ../output.py:786
+#: ../output.py:1122 ../output.py:1169
 #, python-format
 msgid " Description: %s"
 msgstr " Descrizione: %s"
 
-#: ../output.py:788
+#: ../output.py:1124
 #, python-format
 msgid " Language: %s"
-msgstr ""
+msgstr " Lingua: %s"
 
-#: ../output.py:790
+#: ../output.py:1126
 msgid " Mandatory Packages:"
 msgstr " Pacchetti necessari:"
 
-#: ../output.py:791
+#: ../output.py:1127
 msgid " Default Packages:"
 msgstr " Pacchetti di default:"
 
-#: ../output.py:792
+#: ../output.py:1128
 msgid " Optional Packages:"
 msgstr "Pacchetti opzionali:"
 
-#: ../output.py:793
+#: ../output.py:1129
 msgid " Conditional Packages:"
 msgstr " Pacchetti condizionali:"
 
-#: ../output.py:814
+#: ../output.py:1147
+msgid " Installed Packages:"
+msgstr " Pacchetti installati:"
+
+#: ../output.py:1157
+#, python-format
+msgid ""
+"\n"
+"Environment Group: %s"
+msgstr "\nGruppo Environment: %s"
+
+#: ../output.py:1158
+#, python-format
+msgid " Environment-Id: %s"
+msgstr " Environment-Id: %s"
+
+#: ../output.py:1191
+msgid " Mandatory Groups:"
+msgstr "Gruppi obbligatori:"
+
+#: ../output.py:1192
+msgid " Optional Groups:"
+msgstr "Gruppi opzionali:"
+
+#: ../output.py:1205
+msgid " Installed Groups:"
+msgstr "Gruppi installati:"
+
+#: ../output.py:1217
 #, python-format
 msgid "package: %s"
 msgstr "pacchetto: %s"
 
-#: ../output.py:816
+#: ../output.py:1219
 msgid "  No dependencies for this package"
 msgstr "  Nessuna dipendenza per questo pacchetto"
 
-#: ../output.py:821
+#: ../output.py:1224
 #, python-format
 msgid "  dependency: %s"
 msgstr "  dipendenze: %s"
 
-#: ../output.py:823
+#: ../output.py:1226
 msgid "   Unsatisfied dependency"
 msgstr "   Dipendenza non soddisfatte"
 
-#: ../output.py:901
+#: ../output.py:1337
 msgid "Matched from:"
 msgstr "Corrispondenza trovata in:"
 
-#: ../output.py:916
+#: ../output.py:1348
 #, python-format
 msgid "License     : %s"
 msgstr "Licenza     : %s"
 
-#: ../output.py:919
+#: ../output.py:1351
 #, python-format
 msgid "Filename    : %s"
 msgstr "Nome file   : %s"
 
-#: ../output.py:923
+#: ../output.py:1360
+msgid "Provides    : "
+msgstr "Fornisce    : "
+
+#: ../output.py:1363
 msgid "Other       : "
 msgstr "Altro       : "
 
-#: ../output.py:966
+#: ../output.py:1426
 msgid "There was an error calculating total download size"
-msgstr ""
-"Si è verificato un errore nel calcolo della dimensione totale di download"
+msgstr "Si è verificato un errore nel calcolo della dimensione totale del download"
 
-#: ../output.py:971
+#: ../output.py:1431
 #, python-format
 msgid "Total size: %s"
 msgstr "Dimensione totale: %s"
 
-#: ../output.py:974
+#: ../output.py:1433
 #, python-format
 msgid "Total download size: %s"
 msgstr "Dimensione totale del download: %s"
 
-#: ../output.py:978 ../output.py:998
+#: ../output.py:1436 ../output.py:1459 ../output.py:1463
 #, python-format
 msgid "Installed size: %s"
 msgstr "Dimensione installata: %s"
 
-#: ../output.py:994
+#: ../output.py:1454
 msgid "There was an error calculating installed size"
-msgstr ""
-"Si è verificato un errore nel calcolo della dimensione del pacchetto "
-"installato"
+msgstr "Si è verificato un errore nel calcolo della dimensione del pacchetto installato"
 
-#: ../output.py:1039
+#: ../output.py:1504
 msgid "Reinstalling"
 msgstr "Reinstallazione"
 
-#: ../output.py:1040
+#: ../output.py:1505
 msgid "Downgrading"
 msgstr "Downgrade"
 
-#: ../output.py:1041
+#: ../output.py:1506
 msgid "Installing for dependencies"
 msgstr "Installazioni per dipendenze"
 
-#: ../output.py:1042
+#: ../output.py:1507
 msgid "Updating for dependencies"
 msgstr "Aggiornamenti per dipendenze"
 
-#: ../output.py:1043
+#: ../output.py:1508
 msgid "Removing for dependencies"
 msgstr "Rimozioni per dipendenze"
 
-#: ../output.py:1050 ../output.py:1171
+#: ../output.py:1515 ../output.py:1576 ../output.py:1672
 msgid "Skipped (dependency problems)"
 msgstr "Saltato (problemi di dipendenze)"
 
-#: ../output.py:1052 ../output.py:1687
+#: ../output.py:1517 ../output.py:1577 ../output.py:2223
 msgid "Not installed"
 msgstr "Non installato"
 
-#: ../output.py:1053
+#: ../output.py:1518 ../output.py:1578
 msgid "Not available"
-msgstr ""
+msgstr "Non disponibile"
 
-#: ../output.py:1075 ../output.py:2024
+#: ../output.py:1540 ../output.py:1588 ../output.py:1604 ../output.py:2581
 msgid "Package"
-msgstr "Pacchetto"
+msgid_plural "Packages"
+msgstr[0] "Pacchetto"
+msgstr[1] "Pacchetto"
 
-#: ../output.py:1075
+#: ../output.py:1540
 msgid "Arch"
 msgstr "Arch"
 
-#: ../output.py:1076
+#: ../output.py:1541
 msgid "Version"
 msgstr "Versione"
 
-#: ../output.py:1076
+#: ../output.py:1541
 msgid "Repository"
 msgstr "Repository"
 
-#: ../output.py:1077
+#: ../output.py:1542
 msgid "Size"
 msgstr "Dim."
 
-#: ../output.py:1089
+#: ../output.py:1554
 #, python-format
 msgid "     replacing  %s%s%s.%s %s\n"
 msgstr "     in sostituzione di %s%s%s.%s %s\n"
 
-#: ../output.py:1098
+#: ../output.py:1563
 #, python-format
 msgid ""
 "\n"
 "Transaction Summary\n"
 "%s\n"
-msgstr ""
-"\n"
-"Riepilogo della transazione\n"
-"%s\n"
+msgstr "\nRiepilogo della transazione\n%s\n"
 
-#: ../output.py:1109
-#, python-format
-msgid "Install   %5.5s Package(s)\n"
-msgstr "Installa %5.5s pacchetti\n"
+#: ../output.py:1568 ../output.py:2376 ../output.py:2377
+msgid "Install"
+msgstr "Install"
 
-#: ../output.py:1113
-#, python-format
-msgid "Upgrade   %5.5s Package(s)\n"
-msgstr "Aggiorna %5.5s pacchetti\n"
+#: ../output.py:1570
+msgid "Upgrade"
+msgstr "Upgrade"
 
-#: ../output.py:1117
-#, python-format
-msgid "Remove    %5.5s Package(s)\n"
-msgstr "Elimina %5.5s pacchetti\n"
+#: ../output.py:1572
+msgid "Remove"
+msgstr "Remove"
 
-#: ../output.py:1121
-#, python-format
-msgid "Reinstall %5.5s Package(s)\n"
-msgstr "Reinstalla %5.5s pacchetti\n"
+#: ../output.py:1574 ../output.py:2382
+msgid "Reinstall"
+msgstr "Reinstall"
 
-#: ../output.py:1125
-#, python-format
-msgid "Downgrade %5.5s Package(s)\n"
-msgstr "Downgrade %5.5s pacchetti\n"
+#: ../output.py:1575 ../output.py:2383
+msgid "Downgrade"
+msgstr "Downgrade"
+
+#: ../output.py:1606
+msgid "Dependent package"
+msgid_plural "Dependent packages"
+msgstr[0] "Pacchetto dipendente"
+msgstr[1] "Pacchetti dipendenti"
 
-#: ../output.py:1165
+#: ../output.py:1666
 msgid "Removed"
 msgstr "Eliminato"
 
-#: ../output.py:1166
+#: ../output.py:1667
 msgid "Dependency Removed"
 msgstr "Dipendenza rimossa"
 
-#: ../output.py:1168
+#: ../output.py:1669
 msgid "Dependency Installed"
 msgstr "Dipendenza installata"
 
-#: ../output.py:1170
+#: ../output.py:1671
 msgid "Dependency Updated"
 msgstr "Dipendenza aggiornata"
 
-#: ../output.py:1172
+#: ../output.py:1673
 msgid "Replaced"
 msgstr "Sostituito"
 
-#: ../output.py:1173
+#: ../output.py:1674
 msgid "Failed"
 msgstr "Fallito"
 
 #. Delta between C-c's so we treat as exit
-#: ../output.py:1260
+#: ../output.py:1764
 msgid "two"
 msgstr "due"
 
 #. For translators: This is output like:
 #. Current download cancelled, interrupt (ctrl-c) again within two seconds
 #. to exit.
-#. Where "interupt (ctrl-c) again" and "two" are highlighted.
-#: ../output.py:1271
+#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
+#: ../output.py:1775
 #, python-format
 msgid ""
 "\n"
 " Current download cancelled, %sinterrupt (ctrl-c) again%s within %s%s%s seconds\n"
 "to exit.\n"
-msgstr ""
-"\n"
-" Download interrotto, %spremi nuovamente (ctrl-c)%s entro %s%s%s secondi\n"
-"per uscire.\n"
+msgstr "\n Download interrotto, %spremi nuovamente (ctrl-c)%s entro %s%s%s secondi\nper uscire.\n"
 
-#: ../output.py:1282
+#: ../output.py:1786
 msgid "user interrupt"
 msgstr "interruzione utente"
 
-#: ../output.py:1300
+#: ../output.py:1812
 msgid "Total"
 msgstr "Totale"
 
-#: ../output.py:1322
+#: ../output.py:1834
 msgid "I"
 msgstr "I"
 
-#: ../output.py:1323
+#: ../output.py:1835
 msgid "O"
 msgstr "O"
 
-#: ../output.py:1324
+#: ../output.py:1836
 msgid "E"
 msgstr "E"
 
-#: ../output.py:1325
+#: ../output.py:1837
 msgid "R"
 msgstr "R"
 
-#: ../output.py:1326
+#: ../output.py:1838
 msgid "D"
 msgstr "D"
 
-#: ../output.py:1327
+#: ../output.py:1839
 msgid "U"
 msgstr "U"
 
-#: ../output.py:1341
+#: ../output.py:1853
 msgid "<unset>"
 msgstr "<non impostato>"
 
-#: ../output.py:1342
+#: ../output.py:1854
 msgid "System"
 msgstr "Sistema"
 
-#: ../output.py:1411
+#: ../output.py:1923
 #, python-format
 msgid "Skipping merged transaction %d to %d, as it overlaps"
-msgstr ""
+msgstr "Ignoro la transazione importata %d a %d, perchè genera conflitti"
 
-#: ../output.py:1421 ../output.py:1592
+#: ../output.py:1933 ../output.py:2125
 msgid "No transactions"
-msgstr ""
+msgstr "Nessuna transazione"
 
-#: ../output.py:1446 ../output.py:2013
+#: ../output.py:1958 ../output.py:2570 ../output.py:2660
 msgid "Bad transaction IDs, or package(s), given"
 msgstr "L'ID transazione, o il pacchetto specificato, non è corretto"
 
-#: ../output.py:1484
+#: ../output.py:2007
 msgid "Command line"
-msgstr ""
+msgstr "Linea di comando"
 
-#: ../output.py:1486 ../output.py:1908
+#: ../output.py:2009 ../output.py:2458
 msgid "Login user"
 msgstr "Utente loggato"
 
 #. REALLY Needs to use columns!
-#: ../output.py:1487 ../output.py:2022
+#: ../output.py:2010 ../output.py:2579
 msgid "ID"
 msgstr "ID"
 
-#: ../output.py:1489
+#: ../output.py:2012
 msgid "Date and time"
 msgstr "Data e ora"
 
-#: ../output.py:1490 ../output.py:1910 ../output.py:2023
+#: ../output.py:2013 ../output.py:2460 ../output.py:2580
 msgid "Action(s)"
 msgstr "Azione/i"
 
-#: ../output.py:1491 ../output.py:1911
+#: ../output.py:2014 ../output.py:2461
 msgid "Altered"
 msgstr "Modifiche"
 
-#: ../output.py:1538
+#: ../output.py:2061
 msgid "No transaction ID given"
 msgstr "ID transazione non specificato"
 
-#: ../output.py:1564 ../output.py:1972
+#: ../output.py:2087 ../output.py:2526
 msgid "Bad transaction ID given"
 msgstr "L'ID transazione specificato non è corretto"
 
-#: ../output.py:1569
+#: ../output.py:2092
 msgid "Not found given transaction ID"
 msgstr "L'ID transazione specificato non è stato trovato"
 
-#: ../output.py:1577
+#: ../output.py:2100
 msgid "Found more than one transaction ID!"
 msgstr "Sono stati trovati ID transazione multipli!"
 
-#: ../output.py:1618 ../output.py:1980
+#: ../output.py:2151 ../output.py:2534
 msgid "No transaction ID, or package, given"
 msgstr "ID transazione o pacchetto non specificato"
 
-#: ../output.py:1686 ../output.py:1845
+#: ../output.py:2222 ../output.py:2384
 msgid "Downgraded"
 msgstr "Downgraded"
 
-#: ../output.py:1688
+#: ../output.py:2224
 msgid "Older"
 msgstr "Meno recente"
 
-#: ../output.py:1688
+#: ../output.py:2224
 msgid "Newer"
 msgstr "Più recente"
 
-#: ../output.py:1724 ../output.py:1726
+#: ../output.py:2261 ../output.py:2263 ../output.py:2681
 msgid "Transaction ID :"
 msgstr "ID transazione :"
 
-#: ../output.py:1728
+#: ../output.py:2265 ../output.py:2683
 msgid "Begin time     :"
 msgstr "Ora inizio     :"
 
-#: ../output.py:1731 ../output.py:1733
+#: ../output.py:2268 ../output.py:2270
 msgid "Begin rpmdb    :"
 msgstr "rpmdb iniziale :"
 
-#: ../output.py:1749
+#: ../output.py:2286
 #, python-format
 msgid "(%u seconds)"
-msgstr ""
+msgstr "(%u secondi)"
 
-#: ../output.py:1751
+#: ../output.py:2288
 #, python-format
 msgid "(%u minutes)"
-msgstr ""
+msgstr "(%u minuti)"
 
-#: ../output.py:1753
+#: ../output.py:2290
 #, python-format
 msgid "(%u hours)"
-msgstr ""
+msgstr "(%u ore)"
 
-#: ../output.py:1755
+#: ../output.py:2292
 #, python-format
 msgid "(%u days)"
-msgstr ""
+msgstr "(%u giorni)"
 
-#: ../output.py:1756
+#: ../output.py:2293
 msgid "End time       :"
 msgstr "Ora termine    :"
 
-#: ../output.py:1759 ../output.py:1761
+#: ../output.py:2296 ../output.py:2298
 msgid "End rpmdb      :"
 msgstr "rpmdb finale   :"
 
-#: ../output.py:1764 ../output.py:1766
+#: ../output.py:2301 ../output.py:2303
 msgid "User           :"
 msgstr "Utente         :"
 
-#: ../output.py:1770 ../output.py:1773 ../output.py:1775 ../output.py:1777
-#: ../output.py:1779
+#: ../output.py:2307 ../output.py:2310 ../output.py:2312 ../output.py:2314
+#: ../output.py:2316
 msgid "Return-Code    :"
 msgstr "Return-Code    : "
 
-#: ../output.py:1770 ../output.py:1775
+#: ../output.py:2307 ../output.py:2312
 msgid "Aborted"
 msgstr "Interrotto"
 
-#: ../output.py:1773
+#: ../output.py:2310
 msgid "Failures:"
-msgstr ""
+msgstr "Operazioni fallite:"
 
-#: ../output.py:1777
+#: ../output.py:2314
 msgid "Failure:"
 msgstr "Errore:"
 
-#: ../output.py:1779
+#: ../output.py:2316
 msgid "Success"
 msgstr "Completato"
 
-#: ../output.py:1784 ../output.py:1786
+#: ../output.py:2321 ../output.py:2323 ../output.py:2712
 msgid "Command Line   :"
 msgstr "Linea di comando :"
 
-#: ../output.py:1795
+#: ../output.py:2332
 #, python-format
 msgid "Additional non-default information stored: %d"
 msgstr "Informazioni non predefinite addizionali salvate: %d"
 
 #. This is _possible_, but not common
-#: ../output.py:1800
+#: ../output.py:2337
 msgid "Transaction performed with:"
 msgstr "Transazione eseguita con:"
 
-#: ../output.py:1804
+#: ../output.py:2341
 msgid "Packages Altered:"
 msgstr "Pacchetti modificati:"
 
-#: ../output.py:1808
+#: ../output.py:2345
 msgid "Packages Skipped:"
 msgstr "Pacchetti ignorati:"
 
-#: ../output.py:1814
+#: ../output.py:2353
 msgid "Rpmdb Problems:"
 msgstr "Problemi di rpmdb:"
 
-#: ../output.py:1825
+#: ../output.py:2364
 msgid "Scriptlet output:"
 msgstr "Output della scriptlet:"
 
-#: ../output.py:1831
+#: ../output.py:2370
 msgid "Errors:"
 msgstr "Errori:"
 
-#: ../output.py:1837 ../output.py:1838
-msgid "Install"
-msgstr "Install"
-
-#: ../output.py:1839
+#: ../output.py:2378
 msgid "Dep-Install"
 msgstr "Dep-Install"
 
-#: ../output.py:1841
+#: ../output.py:2380
 msgid "Obsoleting"
 msgstr "Obsoleto"
 
-#: ../output.py:1842
+#: ../output.py:2381
 msgid "Erase"
 msgstr "Eliminato"
 
-#: ../output.py:1843
-msgid "Reinstall"
-msgstr "Reinstall"
-
-#: ../output.py:1844
-msgid "Downgrade"
-msgstr "Downgrade"
-
-#: ../output.py:1846
+#: ../output.py:2385
 msgid "Update"
 msgstr "Update"
 
-#: ../output.py:1909
+#: ../output.py:2459
 msgid "Time"
 msgstr "Data"
 
-#: ../output.py:1935
+#: ../output.py:2485
 msgid "Last day"
 msgstr "Ultime 24 ore"
 
-#: ../output.py:1936
+#: ../output.py:2486
 msgid "Last week"
 msgstr "Ultima settimana"
 
-#: ../output.py:1937
+#: ../output.py:2487
 msgid "Last 2 weeks"
 msgstr "Ultime 2 settimane"
 
 #. US default :p
-#: ../output.py:1938
+#: ../output.py:2488
 msgid "Last 3 months"
 msgstr "Ultimi 3 mesi"
 
-#: ../output.py:1939
+#: ../output.py:2489
 msgid "Last 6 months"
 msgstr "Ultimi 6 mesi"
 
-#: ../output.py:1940
+#: ../output.py:2490
 msgid "Last year"
 msgstr "Ultimi 12 mesi"
 
-#: ../output.py:1941
+#: ../output.py:2491
 msgid "Over a year ago"
 msgstr "Più di un anno"
 
-#: ../output.py:1984
+#: ../output.py:2538
 #, python-format
 msgid "No Transaction %s found"
 msgstr "Transazione %s non trovata"
 
-#: ../output.py:1990
+#: ../output.py:2544
 msgid "Transaction ID:"
 msgstr "ID transazione:"
 
-#: ../output.py:1991
+#: ../output.py:2545
 msgid "Available additional history information:"
 msgstr "Informazioni addizionali sulla cronologia:"
 
-#: ../output.py:2003
+#: ../output.py:2558
 #, python-format
 msgid "%s: No additional data found by this name"
 msgstr "%s: nessuna informazione addizionale trovata con questo nome"
 
-#: ../output.py:2106
+#: ../output.py:2684
+msgid "Package        :"
+msgstr "Pacchetto      :"
+
+#: ../output.py:2685
+msgid "State          :"
+msgstr "Stato          :"
+
+#: ../output.py:2688
+msgid "Size           :"
+msgstr "Dimensione     :"
+
+#: ../output.py:2690
+msgid "Build host     :"
+msgstr "Build host     :"
+
+#: ../output.py:2693
+msgid "Build time     :"
+msgstr "Build time     :"
+
+#: ../output.py:2695
+msgid "Packager       :"
+msgstr "Packager       :"
+
+#: ../output.py:2697
+msgid "Vendor         :"
+msgstr "Vendor         :"
+
+#: ../output.py:2699
+msgid "License        :"
+msgstr "Licenza        :"
+
+#: ../output.py:2701
+msgid "URL            :"
+msgstr "URL            :"
+
+#: ../output.py:2703
+msgid "Source RPM     :"
+msgstr "RPM sorgente   :"
+
+#: ../output.py:2706
+msgid "Commit Time    :"
+msgstr "Commit Time    :"
+
+#: ../output.py:2708
+msgid "Committer      :"
+msgstr "Committer      :"
+
+#: ../output.py:2710
+msgid "Reason         :"
+msgstr "Motivo         :"
+
+#: ../output.py:2714
+msgid "From repo      :"
+msgstr "Dal repository :"
+
+#: ../output.py:2718
+msgid "Installed by   :"
+msgstr "Installato da  :"
+
+#: ../output.py:2722
+msgid "Changed by     :"
+msgstr "Modficato da   :"
+
+#: ../output.py:2767
 msgid "installed"
 msgstr "installato"
 
-#: ../output.py:2107
+#: ../output.py:2768
 msgid "an update"
-msgstr ""
+msgstr "un aggiornamento"
 
-#: ../output.py:2108
+#: ../output.py:2769
 msgid "erased"
 msgstr "eliminato"
 
-#: ../output.py:2109
+#: ../output.py:2770
 msgid "reinstalled"
 msgstr "reinstallato"
 
-#: ../output.py:2110
+#: ../output.py:2771
 msgid "a downgrade"
-msgstr ""
+msgstr "un downgrade"
 
-#: ../output.py:2111
+#: ../output.py:2772
 msgid "obsoleting"
-msgstr ""
+msgstr "reso obsoleto"
 
-#: ../output.py:2112
+#: ../output.py:2773
 msgid "updated"
 msgstr "aggiornato"
 
-#: ../output.py:2113
+#: ../output.py:2774
 msgid "obsoleted"
 msgstr "reso obsoleto"
 
-#: ../output.py:2117
+#: ../output.py:2778
 #, python-format
 msgid "---> Package %s.%s %s:%s-%s will be %s"
-msgstr ""
+msgstr "---> Pacchetto %s.%s %s:%s-%s settato per essere %s"
 
-#: ../output.py:2124
+#: ../output.py:2789
 msgid "--> Running transaction check"
 msgstr "--> Esecuzione del controllo di transazione"
 
-#: ../output.py:2129
+#: ../output.py:2795
 msgid "--> Restarting Dependency Resolution with new changes."
-msgstr ""
-"--> Riavvio della risoluzione delle dipendenze con i nuovi cambiamenti."
+msgstr "--> Riavvio della risoluzione delle dipendenze con i nuovi cambiamenti."
 
-#: ../output.py:2134
+#: ../output.py:2801
 msgid "--> Finished Dependency Resolution"
 msgstr "--> Risoluzione delle dipendenze completata"
 
-#: ../output.py:2139 ../output.py:2144
+#: ../output.py:2814 ../output.py:2827
 #, python-format
 msgid "--> Processing Dependency: %s for package: %s"
 msgstr "--> Elaborazione dipendenza: %s per il pacchetto: %s"
 
-#: ../output.py:2149
+#: ../output.py:2841
 #, python-format
-msgid "---> Keeping package: %s"
-msgstr "---> Pacchetto mantenuto: %s"
+msgid "---> Keeping package: %s due to %s"
+msgstr "---> Pacchetto mantenuto: %s per via di %s"
 
-#: ../output.py:2152
+#: ../output.py:2850
 #, python-format
 msgid "--> Unresolved Dependency: %s"
 msgstr "--> Dipendenza non risolta: %s"
 
-#: ../output.py:2163
+#: ../output.py:2867
 #, python-format
 msgid "Package: %s"
 msgstr "Pacchetto: %s"
 
-#: ../output.py:2165
+#: ../output.py:2869
 #, python-format
 msgid ""
 "\n"
 "    Requires: %s"
-msgstr ""
-"\n"
-"    Richiede: %s"
+msgstr "\n    Richiede: %s"
 
-#: ../output.py:2174
+#: ../output.py:2878
 #, python-format
 msgid ""
 "\n"
 "    %s: %s (%s)"
-msgstr ""
-"\n"
-"    %s: %s (%s)"
+msgstr "\n    %s: %s (%s)"
 
-#: ../output.py:2179
+#: ../output.py:2883
 #, python-format
 msgid ""
 "\n"
 "        %s"
-msgstr ""
-"\n"
-"        %s"
+msgstr "\n        %s"
 
-#: ../output.py:2181
+#: ../output.py:2885
 msgid ""
 "\n"
 "        Not found"
-msgstr ""
-"\n"
-"        Non trovato"
+msgstr "\n        Non trovato"
 
 #. These should be the only three things we care about:
-#: ../output.py:2196
+#: ../output.py:2900
 msgid "Updated By"
 msgstr "Aggiornato da"
 
-#: ../output.py:2197
+#: ../output.py:2901
 msgid "Downgraded By"
 msgstr "Downgraded da"
 
-#: ../output.py:2198
+#: ../output.py:2902
 msgid "Obsoleted By"
 msgstr "Reso obsoleto da"
 
-#: ../output.py:2216
+#: ../output.py:2920
 msgid "Available"
 msgstr "Disponibile"
 
-#: ../output.py:2243 ../output.py:2248
+#: ../output.py:2955 ../output.py:2968
 #, python-format
 msgid "--> Processing Conflict: %s conflicts %s"
 msgstr "--> Analisi conflitto: %s va in conflitto con %s"
 
-#: ../output.py:2252
+#: ../output.py:2974
 msgid "--> Populating transaction set with selected packages. Please wait."
-msgstr ""
-"--> Inizializzazione della transazione con i pacchetti selezionati. "
-"Attendere prego."
+msgstr "--> Inizializzazione della transazione con i pacchetti selezionati. Attendere prego."
 
-#: ../output.py:2256
+#: ../output.py:2983
 #, python-format
 msgid "---> Downloading header for %s to pack into transaction set."
 msgstr "---> Download dell'header per includere %s nel set di transazione."
 
-#: ../utils.py:99
+#. self.event(txmbr.name, count, len(base.tsInfo), count, )
+#. (te_current*100L)/te_total
+#: ../output.py:3248
+msgid "Verifying"
+msgstr "Verifica in corso"
+
+#: ../utils.py:123
 msgid "Running"
 msgstr "In esecuzione"
 
-#: ../utils.py:100
+#: ../utils.py:124
 msgid "Sleeping"
 msgstr "In attesa"
 
-#: ../utils.py:101
+#: ../utils.py:125
 msgid "Uninterruptible"
 msgstr "Non interrompibile"
 
-#: ../utils.py:102
+#: ../utils.py:126
 msgid "Zombie"
 msgstr "Zombie"
 
-#: ../utils.py:103
+#: ../utils.py:127
 msgid "Traced/Stopped"
 msgstr "Traced/Interrotto"
 
-#: ../utils.py:104 ../yumcommands.py:994
+#: ../utils.py:128 ../yumcommands.py:2193
 msgid "Unknown"
 msgstr "Sconosciuto"
 
-#: ../utils.py:115
+#: ../utils.py:153
 msgid "  The other application is: PackageKit"
 msgstr "  L'altra applicazione è: PackageKit"
 
-#: ../utils.py:117
+#: ../utils.py:155
 #, python-format
 msgid "  The other application is: %s"
 msgstr "  L'altra applicazione è: %s"
 
-#: ../utils.py:120
+#: ../utils.py:158
 #, python-format
 msgid "    Memory : %5s RSS (%5sB VSZ)"
 msgstr "    Memoria : %5s RSS (%5sB VSZ)"
 
-#: ../utils.py:125
+#: ../utils.py:163
 #, python-format
 msgid "    Started: %s - %s ago"
 msgstr "    Avviato: %s - %s fa"
 
-#: ../utils.py:127
+#: ../utils.py:165
 #, python-format
 msgid "    State  : %s, pid: %d"
 msgstr "    Stato  : %s, pid: %d"
 
-#: ../utils.py:170 ../yummain.py:43
+#: ../utils.py:194 ../yummain.py:43
 msgid ""
 "\n"
 "\n"
 "Exiting on user cancel"
-msgstr ""
-"\n"
-"\n"
-"Uscita forzata da utente"
+msgstr "\n\nUscita forzata da utente"
 
-#: ../utils.py:176 ../yummain.py:49
+#: ../utils.py:206 ../yummain.py:49
 msgid ""
 "\n"
 "\n"
 "Exiting on Broken Pipe"
-msgstr ""
-"\n"
-"\n"
-"Uscita per broken pipe"
+msgstr "\n\nUscita per broken pipe"
 
-#: ../utils.py:178 ../yummain.py:51
+#: ../utils.py:208 ../yummain.py:51
 #, python-format
 msgid ""
 "\n"
 "\n"
 "%s"
-msgstr ""
-"\n"
-"\n"
-"%s"
-
-#: ../utils.py:228 ../yummain.py:123
-msgid ""
-"Another app is currently holding the yum lock; exiting as configured by "
-"exit_on_lock"
-msgstr ""
-"Un'altra applicazione sta bloccando l'esecuzione di yum; arresto come "
-"configurato da exit_on_lock"
+msgstr "\n\n%s"
 
-#: ../utils.py:287
+#: ../utils.py:326
 #, python-format
 msgid "PluginExit Error: %s"
 msgstr "Errore ritorno del plugin: %s"
 
-#: ../utils.py:290
+#: ../utils.py:329
 #, python-format
 msgid "Yum Error: %s"
 msgstr "Errore di yum: %s"
 
-#: ../utils.py:342 ../yummain.py:150 ../yummain.py:189
+#: ../utils.py:387 ../yummain.py:147 ../yummain.py:186
 #, python-format
 msgid "Error: %s"
 msgstr "Errore: %s"
 
-#: ../utils.py:346 ../yummain.py:194
+#: ../utils.py:391 ../yummain.py:191
 msgid " You could try using --skip-broken to work around the problem"
 msgstr " Si può provare ad usare --skip-broken per aggirare il problema"
 
-#: ../utils.py:348 ../yummain.py:87
+#: ../utils.py:393 ../yummain.py:87
 msgid " You could try running: rpm -Va --nofiles --nodigest"
 msgstr " Provare ad eseguire: rpm -Va --nofiles --nodigest"
 
-#: ../utils.py:355 ../yummain.py:160 ../yummain.py:202
+#: ../utils.py:400 ../yummain.py:157 ../yummain.py:199
 #, python-format
 msgid "Unknown Error(s): Exit Code: %d:"
 msgstr "Errore sconosciuto: Codice di uscita: %d:"
 
-#: ../utils.py:361 ../yummain.py:208
+#: ../utils.py:406 ../yummain.py:205
 msgid ""
 "\n"
 "Dependencies Resolved"
-msgstr ""
-"\n"
-"Dipendenze risolte"
+msgstr "\nDipendenze risolte"
 
-#: ../utils.py:376 ../yummain.py:234
+#: ../utils.py:422 ../yummain.py:237
 msgid "Complete!"
 msgstr "Completo!"
 
 #: ../yumcommands.py:42
 msgid " Mini usage:\n"
-msgstr ""
+msgstr " Uso comune:\n"
 
 #: ../yumcommands.py:52
 msgid "You need to be root to perform this command."
 msgstr "Occorre avere i privilegi di root per eseguire questo comando."
 
-#: ../yumcommands.py:59
+#: ../yumcommands.py:67
 msgid ""
 "\n"
 "You have enabled checking of packages via GPG keys. This is a good thing. \n"
@@ -1533,585 +1666,650 @@ msgid ""
 "will install it for you.\n"
 "\n"
 "For more information contact your distribution or package provider.\n"
-msgstr ""
-"\n"
-"Il controllo dei pacchetti via chiavi GPG è abilitato. Ottima scelta.\n"
-"Tuttavia, non ci sono chiavi pubbliche GPG installate: è necessario scaricare\n"
-"installare le chiavi dei repository che si desidera utilizzare.\n"
-"Per importare una chiave pubblica GPG eseguire il comando:\n"
-"    rpm --import public.gpg.key\n"
-"\n"
-"\n"
-"In alternativa è possibile specificare gli indirizzi delle chiavi dei\n"
-"repository nell'opzione 'gpgkey' dei relativi file di configurazione; yum\n"
-"le installerà automaticamente.\n"
-"\n"
-"Per altre informazioni contattare il supporto della distribuzione.\n"
+msgstr "\nIl controllo dei pacchetti via chiavi GPG è abilitato. Ottima scelta.\nTuttavia, non ci sono chiavi pubbliche GPG installate: è necessario scaricare\ninstallare le chiavi dei repository che si desidera utilizzare.\nPer importare una chiave pubblica GPG eseguire il comando:\n    rpm --import public.gpg.key\n\n\nIn alternativa è possibile specificare gli indirizzi delle chiavi dei\nrepository nell'opzione 'gpgkey' dei relativi file di configurazione; yum\nle installerà automaticamente.\n\nPer altre informazioni contattare il supporto della distribuzione.\n"
 
-#: ../yumcommands.py:74
+#: ../yumcommands.py:82
 #, python-format
 msgid "Problem repository: %s"
-msgstr ""
+msgstr "Repository del problema: %s"
 
-#: ../yumcommands.py:80
+#: ../yumcommands.py:96
 #, python-format
 msgid "Error: Need to pass a list of pkgs to %s"
 msgstr "Errore: occorre passare una lista di pkg a %s"
 
-#: ../yumcommands.py:86
+#: ../yumcommands.py:114
+#, python-format
+msgid "Error: Need at least two packages to %s"
+msgstr "Errore: almeno due pacchetti sono richiesti per %s"
+
+#: ../yumcommands.py:129
+#, python-format
+msgid "Error: Need to pass a repoid. and command to %s"
+msgstr "Errore: occorre passare il repoid. e un comando a %s"
+
+#: ../yumcommands.py:136 ../yumcommands.py:142
+#, python-format
+msgid "Error: Need to pass a single valid repoid. to %s"
+msgstr "Errore: occorre passare un singolo repoid. valido a %s"
+
+#: ../yumcommands.py:147
+#, python-format
+msgid "Error: Repo %s is not enabled"
+msgstr "Errore: il repository %s non è abilitato"
+
+#: ../yumcommands.py:164
 msgid "Error: Need an item to match"
 msgstr "Errore: richiesto un elemento per testare il match"
 
-#: ../yumcommands.py:92
+#: ../yumcommands.py:178
 msgid "Error: Need a group or list of groups"
 msgstr "Errore: un gruppo o una lista di gruppi sono necessari"
 
-#: ../yumcommands.py:101
+#: ../yumcommands.py:195
 #, python-format
 msgid "Error: clean requires an option: %s"
 msgstr "Errore: il comando clean richiede l'opzione: %s"
 
-#: ../yumcommands.py:106
+#: ../yumcommands.py:201
 #, python-format
 msgid "Error: invalid clean argument: %r"
 msgstr "Errore: argomento per il comando clean non valido: %r"
 
-#: ../yumcommands.py:119
+#: ../yumcommands.py:216
 msgid "No argument to shell"
 msgstr "Nessun argomento per la shell"
 
-#: ../yumcommands.py:121
+#: ../yumcommands.py:218
 #, python-format
 msgid "Filename passed to shell: %s"
 msgstr "Nome file passato alla shell: %s"
 
-#: ../yumcommands.py:125
+#: ../yumcommands.py:222
 #, python-format
 msgid "File %s given as argument to shell does not exist."
 msgstr "Il file %s dato come argomento per la shell non esiste."
 
-#: ../yumcommands.py:131
+#: ../yumcommands.py:228
 msgid "Error: more than one file given as argument to shell."
 msgstr "Errore: più di un file passato come argomento alla shell."
 
-#: ../yumcommands.py:148
+#: ../yumcommands.py:247
 msgid ""
 "There are no enabled repos.\n"
 " Run \"yum repolist all\" to see the repos you have.\n"
 " You can enable repos with yum-config-manager --enable <repo>"
-msgstr ""
-"Non ci sono repository abilitati.\n"
-" Eseguire \"yum repolist all\" per vedere la lista dei repository.\n"
-" E' possibile abilitare i repository desiderati con yum-config-manager --enable <repo>"
+msgstr "Non ci sono repository abilitati.\n Eseguire \"yum repolist all\" per vedere la lista dei repository.\n E' possibile abilitare i repository desiderati con yum-config-manager --enable <repo>"
 
-#: ../yumcommands.py:200
+#: ../yumcommands.py:383
 msgid "PACKAGE..."
 msgstr "PACCHETTO..."
 
-#: ../yumcommands.py:203
+#: ../yumcommands.py:390
 msgid "Install a package or packages on your system"
 msgstr "Installa uno o più pacchetti nel sistema"
 
-#: ../yumcommands.py:212
+#: ../yumcommands.py:421
 msgid "Setting up Install Process"
 msgstr "Impostazione processo di installazione"
 
-#: ../yumcommands.py:223 ../yumcommands.py:245
+#: ../yumcommands.py:447 ../yumcommands.py:507
 msgid "[PACKAGE...]"
 msgstr "[PACCHETTO...]"
 
-#: ../yumcommands.py:226
+#: ../yumcommands.py:454
 msgid "Update a package or packages on your system"
 msgstr "Aggiorna uno o più pacchetti nel sistema"
 
-#: ../yumcommands.py:234
+#: ../yumcommands.py:483
 msgid "Setting up Update Process"
 msgstr "Impostazione processo di aggiornamento"
 
-#: ../yumcommands.py:248
+#: ../yumcommands.py:514
 msgid "Synchronize installed packages to the latest available versions"
 msgstr "Sincronizza i pacchetti installati con le ultime versioni disponibili"
 
-#: ../yumcommands.py:256
+#: ../yumcommands.py:543
 msgid "Setting up Distribution Synchronization Process"
 msgstr "Impostazione processo di Distribution Synchronization"
 
-#: ../yumcommands.py:299
+#: ../yumcommands.py:603
 msgid "Display details about a package or group of packages"
 msgstr "Visualizza dettagli su un pacchetto o un gruppo di pacchetti"
 
-#: ../yumcommands.py:348
+#: ../yumcommands.py:672
 msgid "Installed Packages"
 msgstr "Pacchetti installati"
 
-#: ../yumcommands.py:356
+#: ../yumcommands.py:682
 msgid "Available Packages"
 msgstr "Pacchetti disponibili"
 
-#: ../yumcommands.py:360
+#: ../yumcommands.py:687
 msgid "Extra Packages"
 msgstr "Pacchetti extra"
 
-#: ../yumcommands.py:364
+#: ../yumcommands.py:691
 msgid "Updated Packages"
 msgstr "Aggiornamenti disponibili"
 
 #. This only happens in verbose mode
-#: ../yumcommands.py:372 ../yumcommands.py:379 ../yumcommands.py:667
+#: ../yumcommands.py:699 ../yumcommands.py:706 ../yumcommands.py:1539
 msgid "Obsoleting Packages"
 msgstr "Pacchetti resi obsoleti"
 
-#: ../yumcommands.py:381
+#: ../yumcommands.py:708
 msgid "Recently Added Packages"
 msgstr "Pacchetti aggiunti di recente"
 
-#: ../yumcommands.py:388
+#: ../yumcommands.py:715
 msgid "No matching Packages to list"
 msgstr "Nessun pacchetto presente in lista"
 
-#: ../yumcommands.py:402
+#: ../yumcommands.py:766
 msgid "List a package or groups of packages"
 msgstr "Elenca un pacchetto o un gruppo di pacchetti"
 
-#: ../yumcommands.py:414
+#: ../yumcommands.py:797
 msgid "Remove a package or packages from your system"
 msgstr "Elimina uno o più pacchetti dal sistema"
 
-#: ../yumcommands.py:421
+#: ../yumcommands.py:845
 msgid "Setting up Remove Process"
 msgstr "Impostazione processo di eliminazione"
 
-#: ../yumcommands.py:435
+#: ../yumcommands.py:906
+msgid "Display, or use, the groups information"
+msgstr "Mostra o utilizza le informazioni dei gruppi"
+
+#: ../yumcommands.py:909
 msgid "Setting up Group Process"
 msgstr "Impostazione processo di gruppo"
 
-#: ../yumcommands.py:441
+#: ../yumcommands.py:915
 msgid "No Groups on which to run command"
 msgstr "Nessun gruppo sul quale eseguire il comando"
 
-#: ../yumcommands.py:454
-msgid "List available package groups"
-msgstr "Elenca i gruppi di pacchetti disponibili"
-
-#: ../yumcommands.py:474
-msgid "Install the packages in a group on your system"
-msgstr "Installa nel sistema i pacchetti di un gruppo"
+#: ../yumcommands.py:985
+#, python-format
+msgid "Invalid groups sub-command, use: %s."
+msgstr "Sottocomando di groups non corretto, usare: %s."
 
-#: ../yumcommands.py:497
-msgid "Remove the packages in a group from your system"
-msgstr "Elimina dal sistema i pacchetti di un gruppo"
+#: ../yumcommands.py:992
+msgid "There is no installed groups file."
+msgstr "Non ci sono file groups installati."
 
-#: ../yumcommands.py:525
-msgid "Display details about a package group"
-msgstr "Visualizza i dettagli di un gruppo di pacchetti"
+#: ../yumcommands.py:994
+msgid "You don't have access to the groups DB."
+msgstr "Non si dispone dell'accesso al DB dei groups."
 
-#: ../yumcommands.py:550
+#: ../yumcommands.py:1256
 msgid "Generate the metadata cache"
 msgstr "Genera la cache dei metadati"
 
-#: ../yumcommands.py:556
+#: ../yumcommands.py:1282
 msgid "Making cache files for all metadata files."
 msgstr "Creazione dei file di cache per i metadati."
 
-#: ../yumcommands.py:557
+#: ../yumcommands.py:1283
 msgid "This may take a while depending on the speed of this computer"
-msgstr ""
-"L'operazione impiegherà del tempo che dipende dalla velocità del computer"
+msgstr "L'operazione impiegherà del tempo che dipende dalla velocità del computer"
 
-#: ../yumcommands.py:578
+#: ../yumcommands.py:1312
 msgid "Metadata Cache Created"
 msgstr "Cache dei metadata creata"
 
-#: ../yumcommands.py:592
+#: ../yumcommands.py:1350
 msgid "Remove cached data"
 msgstr "Elimina i dati nella cache"
 
-#: ../yumcommands.py:613
+#: ../yumcommands.py:1417
 msgid "Find what package provides the given value"
-msgstr "Determina il pacchetto che fornisce il valore dato"
+msgstr "Determina quale pacchetto fornisce un dato valore"
 
-#: ../yumcommands.py:633
+#: ../yumcommands.py:1485
 msgid "Check for available package updates"
 msgstr "Controlla la disponibilità di aggiornamenti per i pacchetti"
 
-#: ../yumcommands.py:687
+#: ../yumcommands.py:1587
 msgid "Search package details for the given string"
 msgstr "Cerca il termine passato nei dettagli dei pacchetti"
 
-#: ../yumcommands.py:693
+#: ../yumcommands.py:1613
 msgid "Searching Packages: "
 msgstr "Ricerca dei pacchetti: "
 
-#: ../yumcommands.py:710
+#: ../yumcommands.py:1666
 msgid "Update packages taking obsoletes into account"
 msgstr "Aggiorna i pacchetti tenendo conto degli obsoleti"
 
-#: ../yumcommands.py:719
+#: ../yumcommands.py:1696
 msgid "Setting up Upgrade Process"
 msgstr "Impostazione processo di upgrade"
 
-#: ../yumcommands.py:737
+#: ../yumcommands.py:1731
 msgid "Install a local RPM"
 msgstr "Installa un RPM in locale"
 
-#: ../yumcommands.py:745
+#: ../yumcommands.py:1761
 msgid "Setting up Local Package Process"
 msgstr "Impostazione processo per pacchetti in locale"
 
-#: ../yumcommands.py:764
-msgid "Determine which package provides the given dependency"
-msgstr "Determina quale pacchetto soddisfa la dipendenza specificata"
-
-#: ../yumcommands.py:767
+#: ../yumcommands.py:1825
 msgid "Searching Packages for Dependency:"
 msgstr "Ricerca dei pacchetti per le dipendenze:"
 
-#: ../yumcommands.py:781
+#: ../yumcommands.py:1867
 msgid "Run an interactive yum shell"
 msgstr "Esegue una shell di yum interattiva"
 
-#: ../yumcommands.py:787
+#: ../yumcommands.py:1893
 msgid "Setting up Yum Shell"
 msgstr "Impostazione della shell di yum"
 
-#: ../yumcommands.py:805
+#: ../yumcommands.py:1936
 msgid "List a package's dependencies"
 msgstr "Elenca le dipendenze di un pacchetto"
 
-#: ../yumcommands.py:811
+#: ../yumcommands.py:1963
 msgid "Finding dependencies: "
 msgstr "Ricerca delle dipendenze: "
 
-#: ../yumcommands.py:827
+#: ../yumcommands.py:2005
 msgid "Display the configured software repositories"
 msgstr "Mostra i repository di software configurati"
 
-#: ../yumcommands.py:893 ../yumcommands.py:894
+#: ../yumcommands.py:2094 ../yumcommands.py:2095
 msgid "enabled"
 msgstr "abilitato"
 
-#: ../yumcommands.py:920 ../yumcommands.py:921
+#: ../yumcommands.py:2121 ../yumcommands.py:2122
 msgid "disabled"
 msgstr "disabilitato"
 
-#: ../yumcommands.py:937
+#: ../yumcommands.py:2137
 msgid "Repo-id      : "
 msgstr "Id-Repo       : "
 
-#: ../yumcommands.py:938
+#: ../yumcommands.py:2138
 msgid "Repo-name    : "
 msgstr "Nome-Repo     : "
 
-#: ../yumcommands.py:941
+#: ../yumcommands.py:2141
 msgid "Repo-status  : "
 msgstr "Stato-Repo    : "
 
-#: ../yumcommands.py:944
+#: ../yumcommands.py:2144
 msgid "Repo-revision: "
 msgstr "Revisione-Repo: "
 
-#: ../yumcommands.py:948
+#: ../yumcommands.py:2148
 msgid "Repo-tags    : "
 msgstr "Repo-tags     : "
 
-#: ../yumcommands.py:954
+#: ../yumcommands.py:2154
 msgid "Repo-distro-tags: "
 msgstr "Repo-distro-tags: "
 
-#: ../yumcommands.py:959
+#: ../yumcommands.py:2159
 msgid "Repo-updated : "
 msgstr "Repo-updated : "
 
-#: ../yumcommands.py:961
+#: ../yumcommands.py:2161
 msgid "Repo-pkgs    : "
 msgstr "Repo-pkgs    : "
 
-#: ../yumcommands.py:962
+#: ../yumcommands.py:2162
 msgid "Repo-size    : "
 msgstr "Dim.-Repo    : "
 
-#: ../yumcommands.py:969 ../yumcommands.py:990
+#: ../yumcommands.py:2169 ../yumcommands.py:2190
 msgid "Repo-baseurl : "
 msgstr "Repo-baseurl : "
 
-#: ../yumcommands.py:977
+#: ../yumcommands.py:2177
 msgid "Repo-metalink: "
 msgstr "Repo-metalink: "
 
-#: ../yumcommands.py:981
+#: ../yumcommands.py:2181
 msgid "  Updated    : "
 msgstr "  Aggiornato :"
 
-#: ../yumcommands.py:984
+#: ../yumcommands.py:2184
 msgid "Repo-mirrors : "
 msgstr "Repo-mirrors : "
 
-#: ../yumcommands.py:1000
+#: ../yumcommands.py:2199
 #, python-format
 msgid "Never (last: %s)"
 msgstr "Mai (ultimo: %s)"
 
-#: ../yumcommands.py:1002
+#: ../yumcommands.py:2201
 #, python-format
 msgid "Instant (last: %s)"
 msgstr "Istantaneo (ultimo: %s)"
 
-#: ../yumcommands.py:1005
+#: ../yumcommands.py:2204
 #, python-format
 msgid "%s second(s) (last: %s)"
 msgstr "%s secondi (ultimo: %s)"
 
-#: ../yumcommands.py:1007
+#: ../yumcommands.py:2206
 msgid "Repo-expire  : "
 msgstr "Repo-expire  : "
 
-#: ../yumcommands.py:1010
+#: ../yumcommands.py:2209
 msgid "Repo-exclude : "
 msgstr "Repo-exclude : "
 
-#: ../yumcommands.py:1014
+#: ../yumcommands.py:2213
 msgid "Repo-include : "
 msgstr "Repo-include :"
 
-#: ../yumcommands.py:1018
+#: ../yumcommands.py:2217
 msgid "Repo-excluded: "
 msgstr "Repo-excluded: "
 
-#: ../yumcommands.py:1022
+#: ../yumcommands.py:2221
 msgid "Repo-filename: "
-msgstr ""
+msgstr "Repo-filename: "
 
 #. Work out the first (id) and last (enabled/disalbed/count),
 #. then chop the middle (name)...
-#: ../yumcommands.py:1032 ../yumcommands.py:1061
+#: ../yumcommands.py:2230 ../yumcommands.py:2259
 msgid "repo id"
 msgstr "id repo"
 
-#: ../yumcommands.py:1049 ../yumcommands.py:1050 ../yumcommands.py:1068
+#: ../yumcommands.py:2247 ../yumcommands.py:2248 ../yumcommands.py:2266
 msgid "status"
 msgstr "stato"
 
-#: ../yumcommands.py:1062
+#: ../yumcommands.py:2260
 msgid "repo name"
 msgstr "nome repo"
 
-#: ../yumcommands.py:1099
+#: ../yumcommands.py:2332
 msgid "Display a helpful usage message"
 msgstr "Mostra un'utile guida all'uso"
 
-#: ../yumcommands.py:1133
+#: ../yumcommands.py:2374
 #, python-format
 msgid "No help available for %s"
 msgstr "Nessun aiuto disponibile per %s"
 
-#: ../yumcommands.py:1138
+#: ../yumcommands.py:2379
 msgid ""
 "\n"
 "\n"
 "aliases: "
-msgstr ""
-"\n"
-"\n"
-"alias: "
+msgstr "\n\nalias: "
 
-#: ../yumcommands.py:1140
+#: ../yumcommands.py:2381
 msgid ""
 "\n"
 "\n"
 "alias: "
-msgstr ""
-"\n"
-"\n"
-"alias: "
+msgstr "\n\nalias: "
 
-#: ../yumcommands.py:1168
+#: ../yumcommands.py:2466
 msgid "Setting up Reinstall Process"
 msgstr "Impostazione processo di reinstallazione"
 
-#: ../yumcommands.py:1176
+#: ../yumcommands.py:2478
 msgid "reinstall a package"
 msgstr "Reinstalla un pacchetto"
 
-#: ../yumcommands.py:1195
+#: ../yumcommands.py:2541
 msgid "Setting up Downgrade Process"
 msgstr "Impostazione processo di downgrade"
 
-#: ../yumcommands.py:1202
+#: ../yumcommands.py:2552
 msgid "downgrade a package"
 msgstr "Esegue il downgrade di un pacchetto"
 
-#: ../yumcommands.py:1216
+#: ../yumcommands.py:2591
 msgid "Display a version for the machine and/or available repos."
 msgstr "Mostra una versione del sistema e/o dei repo disponibili."
 
-#: ../yumcommands.py:1255
+#: ../yumcommands.py:2643
 msgid " Yum version groups:"
 msgstr " Gruppi della versione di yum:"
 
-#: ../yumcommands.py:1265
+#: ../yumcommands.py:2653
 msgid " Group   :"
 msgstr " Gruppo  :"
 
-#: ../yumcommands.py:1266
+#: ../yumcommands.py:2654
 msgid " Packages:"
 msgstr " Pacchetti:"
 
-#: ../yumcommands.py:1295
+#: ../yumcommands.py:2683
 msgid "Installed:"
 msgstr "Installato:"
 
-#: ../yumcommands.py:1303
+#: ../yumcommands.py:2691
 msgid "Group-Installed:"
 msgstr "Group-Installed:"
 
-#: ../yumcommands.py:1312
+#: ../yumcommands.py:2700
 msgid "Available:"
 msgstr "Disponibile:"
 
-#: ../yumcommands.py:1321
+#: ../yumcommands.py:2709
 msgid "Group-Available:"
 msgstr "Group-Available:"
 
-#: ../yumcommands.py:1360
+#: ../yumcommands.py:2783
 msgid "Display, or use, the transaction history"
 msgstr "Visualizza e gestisci la cronologia delle transazioni"
 
-#: ../yumcommands.py:1432
+#: ../yumcommands.py:2876 ../yumcommands.py:2880
+msgid "Transactions:"
+msgstr "Transazioni :"
+
+#: ../yumcommands.py:2881
+msgid "Begin time  :"
+msgstr "Ora inizio  :"
+
+#: ../yumcommands.py:2882
+msgid "End time    :"
+msgstr "Ora fine    :"
+
+#: ../yumcommands.py:2883
+msgid "Counts      :"
+msgstr "Conteggio   :"
+
+#: ../yumcommands.py:2884
+msgid "  NEVRAC :"
+msgstr "  NEVRAC :"
+
+#: ../yumcommands.py:2885
+msgid "  NEVRA  :"
+msgstr "  NEVRA  :"
+
+#: ../yumcommands.py:2886
+msgid "  NA     :"
+msgstr "  NA     :"
+
+#: ../yumcommands.py:2887
+msgid "  NEVR   :"
+msgstr "  NEVR   :"
+
+#: ../yumcommands.py:2888
+msgid "  rpm DB :"
+msgstr "  rpm DB :"
+
+#: ../yumcommands.py:2889
+msgid "  yum DB :"
+msgstr "  yum DB :"
+
+#: ../yumcommands.py:2922
 #, python-format
 msgid "Invalid history sub-command, use: %s."
 msgstr "Sotto comando per history non valido, usare: %s."
 
-#: ../yumcommands.py:1439
+#: ../yumcommands.py:2929
 msgid "You don't have access to the history DB."
 msgstr "Non si dispone dell'accesso alla cronologia."
 
-#: ../yumcommands.py:1487
+#: ../yumcommands.py:3036
 msgid "Check for problems in the rpmdb"
 msgstr "Identifica gli errori nell'rpmdb"
 
-#: ../yumcommands.py:1514
+#: ../yumcommands.py:3102
 msgid "load a saved transaction from filename"
-msgstr ""
+msgstr "carica una transazione salvata da un file"
 
-#: ../yumcommands.py:1518
+#: ../yumcommands.py:3119
 msgid "No saved transaction file specified."
-msgstr ""
+msgstr "Nessun file specificato per la transazione salvata."
 
-#: ../yumcommands.py:1522
+#: ../yumcommands.py:3123
 #, python-format
 msgid "loading transaction from %s"
-msgstr ""
+msgstr "caricamento transazione da %s"
 
-#: ../yumcommands.py:1528
+#: ../yumcommands.py:3129
 #, python-format
 msgid "Transaction loaded from %s with %s members"
-msgstr ""
+msgstr "Transazione caricata da %s con %s membri"
+
+#: ../yumcommands.py:3169
+msgid "Simple way to swap packages, isntead of using shell"
+msgstr "Semplice metodo per scambiare pacchetti, senza usare la shell"
+
+#: ../yumcommands.py:3264
+msgid ""
+"Treat a repo. as a group of packages, so we can install/remove all of them"
+msgstr "Tratta un repo. come un gruppo di pacchetti, così da poterli installare/rimuovere tutti"
+
+#: ../yumcommands.py:3341
+#, python-format
+msgid "%d package to update"
+msgid_plural "%d packages to update"
+msgstr[0] "%d pacchetto da aggiornare"
+msgstr[1] "%d pacchetti da aggiornare"
+
+#: ../yumcommands.py:3370
+#, python-format
+msgid "%d package to remove/reinstall"
+msgid_plural "%d packages to remove/reinstall"
+msgstr[0] "%d pacchetto da rimuovere/reinstallare"
+msgstr[1] "%d pacchetti da rimuovere/reinstallare"
+
+#: ../yumcommands.py:3413
+#, python-format
+msgid "%d package to remove/sync"
+msgid_plural "%d packages to remove/sync"
+msgstr[0] "%d pacchetto da rimuovere/sincronizzare"
+msgstr[1] "%d pacchetti da rimuovere/sincronizzare"
+
+#: ../yumcommands.py:3417
+#, python-format
+msgid "Not a valid sub-command of %s"
+msgstr "Sottocomando di %s non valido"
 
 #. This is mainly for PackageSackError from rpmdb.
 #: ../yummain.py:84
 #, python-format
 msgid " Yum checks failed: %s"
-msgstr ""
+msgstr " Controlli Yum falliti: %s"
 
-#: ../yummain.py:114
-msgid ""
-"Another app is currently holding the yum lock; waiting for it to exit..."
-msgstr ""
-"Un'altra applicazione sta bloccando l'esecuzione di yum; in attesa che "
-"esca..."
+#: ../yummain.py:98
+msgid "No read/execute access in current directory, moving to /"
+msgstr "Non si hanno i diritti di read/execute nella directory corrente, viene usata /"
 
-#: ../yummain.py:120
-msgid "Can't create lock file; exiting"
-msgstr ""
+#: ../yummain.py:106
+msgid "No getcwd() access in current directory, moving to /"
+msgstr "Nessun accesso getcwd() nella directory corrente, spostamento su /"
 
 #. Depsolve stage
-#: ../yummain.py:167
+#: ../yummain.py:164
 msgid "Resolving Dependencies"
 msgstr "Risoluzione dipendenze"
 
-#: ../yummain.py:230
+#: ../yummain.py:227 ../yummain.py:235
 #, python-format
-msgid "Your transaction was saved, rerun it with: yum load-transaction %s"
-msgstr ""
+msgid ""
+"Your transaction was saved, rerun it with:\n"
+" yum load-transaction %s"
+msgstr "La transazione è stata salvata, per eseguirla nuovamente:\n yum load-transaction %s"
 
-#: ../yummain.py:288
+#: ../yummain.py:312
 msgid ""
 "\n"
 "\n"
 "Exiting on user cancel."
-msgstr ""
-"\n"
-"\n"
-"Uscita su richiesta utente."
+msgstr "\n\nUscita su richiesta utente."
 
-#: ../yum/depsolve.py:84
+#: ../yum/depsolve.py:127
 msgid "doTsSetup() will go away in a future version of Yum.\n"
 msgstr "doTsSetup() verrà eliminato in una futura versione di yum.\n"
 
-#: ../yum/depsolve.py:99
+#: ../yum/depsolve.py:143
 msgid "Setting up TransactionSets before config class is up"
 msgstr "Impostazione del TransactionSets prima che sia attivo config class"
 
-#: ../yum/depsolve.py:153
+#: ../yum/depsolve.py:200
 #, python-format
 msgid "Invalid tsflag in config file: %s"
 msgstr "tsflag non valido nel file di configurazione: %s"
 
-#: ../yum/depsolve.py:164
+#: ../yum/depsolve.py:218
 #, python-format
 msgid "Searching pkgSack for dep: %s"
-msgstr "Ricerca di pkgSack per dip: %s"
+msgstr "Ricerca nel pkgSack per dip: %s"
 
-#: ../yum/depsolve.py:207
+#: ../yum/depsolve.py:269
 #, python-format
 msgid "Member: %s"
 msgstr "Membro: %s"
 
-#: ../yum/depsolve.py:221 ../yum/depsolve.py:793
+#: ../yum/depsolve.py:283 ../yum/depsolve.py:937
 #, python-format
 msgid "%s converted to install"
 msgstr "%s convertito in installazione"
 
-#: ../yum/depsolve.py:233
+#: ../yum/depsolve.py:295
 #, python-format
 msgid "Adding Package %s in mode %s"
 msgstr "Aggiunto il pacchetto %s in modo %s"
 
-#: ../yum/depsolve.py:249
+#: ../yum/depsolve.py:311
 #, python-format
 msgid "Removing Package %s"
 msgstr "Rimozione pacchetto %s"
 
-#: ../yum/depsolve.py:271
+#: ../yum/depsolve.py:333
 #, python-format
 msgid "%s requires: %s"
 msgstr "%s richiede: %s"
 
-#: ../yum/depsolve.py:312
+#: ../yum/depsolve.py:374
 #, python-format
 msgid "%s requires %s"
 msgstr "%s richiede %s"
 
-#: ../yum/depsolve.py:339
+#: ../yum/depsolve.py:401
 msgid "Needed Require has already been looked up, cheating"
 msgstr "Il requisito necessario è già stato controllato, imbroglio"
 
-#: ../yum/depsolve.py:349
+#: ../yum/depsolve.py:411
 #, python-format
 msgid "Needed Require is not a package name. Looking up: %s"
 msgstr "Il requisito necessario non è il nome di un pacchetto. Ricerca di: %s"
 
-#: ../yum/depsolve.py:357
+#: ../yum/depsolve.py:419
 #, python-format
 msgid "Potential Provider: %s"
 msgstr "Provider potenziale: %s"
 
-#: ../yum/depsolve.py:380
+#: ../yum/depsolve.py:442
 #, python-format
 msgid "Mode is %s for provider of %s: %s"
 msgstr "La modalità è %s per il provider di %s: %s"
 
-#: ../yum/depsolve.py:384
+#: ../yum/depsolve.py:446
 #, python-format
 msgid "Mode for pkg providing %s: %s"
 msgstr "Modalità per il pacchetto che fornisce %s: %s"
@@ -2119,1036 +2317,1140 @@ msgstr "Modalità per il pacchetto che fornisce %s: %s"
 #. the thing it needs is being updated or obsoleted away
 #. try to update the requiring package in hopes that all this problem goes
 #. away :(
-#: ../yum/depsolve.py:389 ../yum/depsolve.py:406
+#: ../yum/depsolve.py:451 ../yum/depsolve.py:486
 #, python-format
 msgid "Trying to update %s to resolve dep"
-msgstr ""
+msgstr "Tentativo di aggiornare %s per risolvere una dipendenza"
 
-#: ../yum/depsolve.py:400 ../yum/depsolve.py:410
+#: ../yum/depsolve.py:480
 #, python-format
 msgid "No update paths found for %s. Failure!"
-msgstr ""
+msgstr "Nessun percorso di aggiornamento trovato per %s. Aggiornamento fallito!"
 
-#: ../yum/depsolve.py:416
+#: ../yum/depsolve.py:491
+#, python-format
+msgid "No update paths found for %s. Failure due to requirement: %s!"
+msgstr "Nessun percorso di aggiornamento trovato per %s. La causa è il requisito: %s!"
+
+#: ../yum/depsolve.py:507
+#, python-format
+msgid "Update for %s. Doesn't fix requirement: %s!"
+msgstr "Aggiornamento per %s. Non soddisfa il requisito: %s!"
+
+#: ../yum/depsolve.py:514
 #, python-format
 msgid "TSINFO: %s package requiring %s marked as erase"
 msgstr "TSINFO: il pacchetto %s richiede che %s sia marcato per la rimozione"
 
-#: ../yum/depsolve.py:429
+#: ../yum/depsolve.py:527
 #, python-format
 msgid "TSINFO: Obsoleting %s with %s to resolve dep."
-msgstr ""
-"TSINFO: Verrà reso obsoleto %s sostituendolo con %s per risolvere una "
-"dipendenza."
+msgstr "TSINFO: Verrà reso obsoleto %s sostituendolo con %s per risolvere una dipendenza."
 
-#: ../yum/depsolve.py:432
+#: ../yum/depsolve.py:530
 #, python-format
 msgid "TSINFO: Updating %s to resolve dep."
 msgstr "TSINFO: Aggiornamento di %s per risolvere dip."
 
-#: ../yum/depsolve.py:440
+#: ../yum/depsolve.py:538
 #, python-format
 msgid "Cannot find an update path for dep for: %s"
-msgstr ""
-"Impossibile trovare un percorso di aggiornamento delle dipendenze per: %s"
+msgstr "Impossibile trovare un percorso di aggiornamento delle dipendenze per: %s"
 
-#: ../yum/depsolve.py:471
+#: ../yum/depsolve.py:569
 #, python-format
 msgid "Quick matched %s to require for %s"
 msgstr "Individuato %s come requisito per %s"
 
 #. is it already installed?
-#: ../yum/depsolve.py:513
+#: ../yum/depsolve.py:611
 #, python-format
 msgid "%s is in providing packages but it is already installed, removing."
 msgstr "%s è nei pacchetti fornitori ma è già installato, viene rimosso."
 
-#: ../yum/depsolve.py:529
+#: ../yum/depsolve.py:627
 #, python-format
 msgid "Potential resolving package %s has newer instance in ts."
-msgstr ""
-"Il potenziale pacchetto risolutore %s ha già una più recente istanza in ts."
+msgstr "Il potenziale pacchetto risolutore %s ha già una più recente istanza in ts."
 
-#: ../yum/depsolve.py:540
+#: ../yum/depsolve.py:638
 #, python-format
 msgid "Potential resolving package %s has newer instance installed."
-msgstr ""
-"Il potenziale pacchetto risolutore %s ha una più recente istanza già "
-"installata."
+msgstr "Il potenziale pacchetto risolutore %s ha una più recente istanza già installata."
 
-#: ../yum/depsolve.py:558
+#: ../yum/depsolve.py:656
 #, python-format
 msgid "%s already in ts, skipping this one"
 msgstr "%s è gia nel set delle transazioni (ts), verrà saltato"
 
-#: ../yum/depsolve.py:607
+#: ../yum/depsolve.py:705
 #, python-format
 msgid "TSINFO: Marking %s as update for %s"
 msgstr "TSINFO: %s marcato come aggiornamento per %s"
 
-#: ../yum/depsolve.py:616
+#: ../yum/depsolve.py:714
 #, python-format
 msgid "TSINFO: Marking %s as install for %s"
 msgstr "TSINFO: %s marcato come da installare per %s"
 
-#: ../yum/depsolve.py:727 ../yum/depsolve.py:819
+#: ../yum/depsolve.py:849 ../yum/depsolve.py:967
 msgid "Success - empty transaction"
 msgstr "Successo - transazione vuota"
 
-#: ../yum/depsolve.py:767 ../yum/depsolve.py:783
+#: ../yum/depsolve.py:889 ../yum/depsolve.py:927
 msgid "Restarting Loop"
 msgstr "Riavvio del ciclo"
 
-#: ../yum/depsolve.py:799
+#: ../yum/depsolve.py:947
 msgid "Dependency Process ending"
 msgstr "Elaborazione delle dipendenze terminata"
 
-#: ../yum/depsolve.py:821
+#: ../yum/depsolve.py:969
 msgid "Success - deps resolved"
 msgstr "Successo - dipendenze risolte"
 
-#: ../yum/depsolve.py:845
+#: ../yum/depsolve.py:993
 #, python-format
 msgid "Checking deps for %s"
 msgstr "Controllo delle dipendenze per %s"
 
-#: ../yum/depsolve.py:931
+#: ../yum/depsolve.py:1082
 #, python-format
 msgid "looking for %s as a requirement of %s"
 msgstr "ricerca di %s come requisito di %s"
 
-#: ../yum/depsolve.py:1169
+#: ../yum/depsolve.py:1349
 #, python-format
 msgid "Running compare_providers() for %s"
 msgstr "Esecuzione di compare_providers() per %s"
 
-#: ../yum/depsolve.py:1196 ../yum/depsolve.py:1202
+#: ../yum/depsolve.py:1376 ../yum/depsolve.py:1382
 #, python-format
 msgid "better arch in po %s"
 msgstr "migliore architettura in po %s"
 
-#: ../yum/depsolve.py:1298
+#: ../yum/depsolve.py:1496
 #, python-format
 msgid "%s obsoletes %s"
 msgstr "%s rende obsoleto %s"
 
-#: ../yum/depsolve.py:1310
+#: ../yum/depsolve.py:1508
 #, python-format
 msgid ""
 "archdist compared %s to %s on %s\n"
 "  Winner: %s"
-msgstr ""
-"archdist ha comparato %s a %s su %s\n"
-"  Vincitore: %s"
+msgstr "archdist ha comparato %s a %s su %s\n  Vincitore: %s"
 
-#: ../yum/depsolve.py:1318
+#: ../yum/depsolve.py:1516
 #, python-format
 msgid "common sourcerpm %s and %s"
 msgstr "sourcerpm comune %s e %s"
 
-#: ../yum/depsolve.py:1322
+#: ../yum/depsolve.py:1520
 #, python-format
 msgid "base package %s is installed for %s"
 msgstr "il pacchetto base %s è installato per %s"
 
-#: ../yum/depsolve.py:1328
+#: ../yum/depsolve.py:1526
 #, python-format
 msgid "common prefix of %s between %s and %s"
 msgstr "prefisso comune di %s tra %s e %s"
 
-#: ../yum/depsolve.py:1359
+#: ../yum/depsolve.py:1543
 #, python-format
-msgid "requires minimal: %d"
-msgstr " richiede almeno: %d"
+msgid "provides vercmp: %s"
+msgstr "fornisce vercmp: %s"
 
-#: ../yum/depsolve.py:1363
+#: ../yum/depsolve.py:1547 ../yum/depsolve.py:1581
 #, python-format
 msgid " Winner: %s"
 msgstr " Vincitore: %s"
 
-#: ../yum/depsolve.py:1368
+#: ../yum/depsolve.py:1577
+#, python-format
+msgid "requires minimal: %d"
+msgstr " richiede almeno: %d"
+
+#: ../yum/depsolve.py:1586
 #, python-format
 msgid " Loser(with %d): %s"
 msgstr " Perdente (con %d): %s"
 
-#: ../yum/depsolve.py:1384
+#: ../yum/depsolve.py:1602
 #, python-format
 msgid "Best Order: %s"
 msgstr "Ordine migliore: %s"
 
-#: ../yum/__init__.py:234
+#: ../yum/__init__.py:274
 msgid "doConfigSetup() will go away in a future version of Yum.\n"
 msgstr "doConfigSetup() verrà eliminato in una futura versione di yum.\n"
 
-#: ../yum/__init__.py:482
+#: ../yum/__init__.py:553
+#, python-format
+msgid "Skipping unreadable repository %s"
+msgstr "Il repository non leggibile %s viene tralasciato"
+
+#: ../yum/__init__.py:572
 #, python-format
 msgid "Repository %r: Error parsing config: %s"
 msgstr "Repository %r: errore nella lettura della configurazione: %s"
 
-#: ../yum/__init__.py:488
+#: ../yum/__init__.py:578
 #, python-format
 msgid "Repository %r is missing name in configuration, using id"
-msgstr ""
-"Nella configurazione non è presente il nome del repo %r, viene usato l'id"
+msgstr "Nella configurazione non è presente il nome del repo %r, viene usato l'id"
 
-#: ../yum/__init__.py:526
+#: ../yum/__init__.py:618
 msgid "plugins already initialised"
 msgstr "plugin già inizializzati"
 
-#: ../yum/__init__.py:533
+#: ../yum/__init__.py:627
 msgid "doRpmDBSetup() will go away in a future version of Yum.\n"
 msgstr "doRpmDBSetup() verrà eliminato in una futura versione di yum.\n"
 
-#: ../yum/__init__.py:544
+#: ../yum/__init__.py:638
 msgid "Reading Local RPMDB"
 msgstr "Lettura del RPMDB locale"
 
-#: ../yum/__init__.py:567
+#: ../yum/__init__.py:668
 msgid "doRepoSetup() will go away in a future version of Yum.\n"
 msgstr "doRepoSetup() verrà eliminato in una futura versione di yum.\n"
 
-#: ../yum/__init__.py:630
+#: ../yum/__init__.py:722
 msgid "doSackSetup() will go away in a future version of Yum.\n"
 msgstr "doSackSetup() verrà eliminato in una futura versione di yum.\n"
 
-#: ../yum/__init__.py:660
+#: ../yum/__init__.py:752
 msgid "Setting up Package Sacks"
 msgstr "Impostazione dei Package Sack"
 
-#: ../yum/__init__.py:705
+#: ../yum/__init__.py:797
 #, python-format
 msgid "repo object for repo %s lacks a _resetSack method\n"
 msgstr "l'oggetto repo per il repository %s non dispone del metodo _resetSack\n"
 
-#: ../yum/__init__.py:706
+#: ../yum/__init__.py:798
 msgid "therefore this repo cannot be reset.\n"
 msgstr "quindi questo repository non può essere resettato.\n"
 
-#: ../yum/__init__.py:711
+#: ../yum/__init__.py:806
 msgid "doUpdateSetup() will go away in a future version of Yum.\n"
 msgstr "doUpdateSetup() verrà eliminato in una futura versione di yum.\n"
 
-#: ../yum/__init__.py:723
+#: ../yum/__init__.py:818
 msgid "Building updates object"
 msgstr "Costruzione oggetto aggiornamenti"
 
-#: ../yum/__init__.py:765
+#: ../yum/__init__.py:862
 msgid "doGroupSetup() will go away in a future version of Yum.\n"
 msgstr "doGroupSetup() verrà eliminato in una futura versione di Yum.\n"
 
-#: ../yum/__init__.py:790
+#: ../yum/__init__.py:887
 msgid "Getting group metadata"
 msgstr "Scaricamento metadati del gruppo"
 
-#: ../yum/__init__.py:816
+#: ../yum/__init__.py:915
 #, python-format
 msgid "Adding group file from repository: %s"
 msgstr "Aggiunta file group dal repository: %s"
 
-#: ../yum/__init__.py:827
+#: ../yum/__init__.py:918
+#, python-format
+msgid "Failed to retrieve group file for repository: %s"
+msgstr "Errore durante lo scaricamento del file group per il repository: %s"
+
+#: ../yum/__init__.py:924
 #, python-format
 msgid "Failed to add groups file for repository: %s - %s"
 msgstr "Errore durante l'aggiunta del file groups per il repository: %s - %s"
 
-#: ../yum/__init__.py:833
+#: ../yum/__init__.py:930
 msgid "No Groups Available in any repository"
 msgstr "Nessun gruppo disponibile in alcun repository"
 
-#: ../yum/__init__.py:845
+#: ../yum/__init__.py:945
 msgid "Getting pkgtags metadata"
 msgstr "Scaricamento metadati pkgtags"
 
-#: ../yum/__init__.py:855
+#: ../yum/__init__.py:955
 #, python-format
 msgid "Adding tags from repository: %s"
 msgstr "Aggiunta tag dal repository: %s"
 
-#: ../yum/__init__.py:866
+#: ../yum/__init__.py:966
 #, python-format
 msgid "Failed to add Pkg Tags for repository: %s - %s"
 msgstr "Errore aggiungendo i Pkg Tags per il repository: %s - %s"
 
-#: ../yum/__init__.py:944
+#: ../yum/__init__.py:1059
 msgid "Importing additional filelist information"
 msgstr "Import di informazioni addizionali sulla lista di file"
 
-#: ../yum/__init__.py:958
+#: ../yum/__init__.py:1077
 #, python-format
 msgid "The program %s%s%s is found in the yum-utils package."
 msgstr "Il programma %s%s%s si trova nel pacchetto yum-utils."
 
-#: ../yum/__init__.py:966
+#: ../yum/__init__.py:1094
 msgid ""
 "There are unfinished transactions remaining. You might consider running yum-"
 "complete-transaction first to finish them."
-msgstr ""
-"Ci sono transazioni non completate. Si consiglia di eseguire prima yum-"
-"complete-transaction per portarle a termine."
+msgstr "Ci sono transazioni non completate. Si consiglia di eseguire prima yum-complete-transaction per portarle a termine."
 
-#: ../yum/__init__.py:983
+#: ../yum/__init__.py:1111
 msgid "--> Finding unneeded leftover dependencies"
-msgstr ""
+msgstr "--> Ricerca di dipendenze non necessarie"
 
-#: ../yum/__init__.py:1041
+#: ../yum/__init__.py:1169
 #, python-format
 msgid "Protected multilib versions: %s != %s"
-msgstr ""
+msgstr "Versioni multilib protette: %s != %s"
 
-#: ../yum/__init__.py:1096
+#. People are confused about protected mutilib ... so give
+#. them a nicer message.
+#: ../yum/__init__.py:1173
+#, python-format
+msgid ""
+" Multilib version problems found. This often means that the root\n"
+"cause is something else and multilib version checking is just\n"
+"pointing out that there is a problem. Eg.:\n"
+"\n"
+"  1. You have an upgrade for %(name)s which is missing some\n"
+"     dependency that another package requires. Yum is trying to\n"
+"     solve this by installing an older version of %(name)s of the\n"
+"     different architecture. If you exclude the bad architecture\n"
+"     yum will tell you what the root cause is (which package\n"
+"     requires what). You can try redoing the upgrade with\n"
+"     --exclude %(name)s.otherarch ... this should give you an error\n"
+"     message showing the root cause of the problem.\n"
+"\n"
+"  2. You have multiple architectures of %(name)s installed, but\n"
+"     yum can only see an upgrade for one of those arcitectures.\n"
+"     If you don't want/need both architectures anymore then you\n"
+"     can remove the one with the missing update and everything\n"
+"     will work.\n"
+"\n"
+"  3. You have duplicate versions of %(name)s installed already.\n"
+"     You can use \"yum check\" to get yum show these errors.\n"
+"\n"
+"...you can also use --setopt=protected_multilib=false to remove\n"
+"this checking, however this is almost never the correct thing to\n"
+"do as something else is very likely to go wrong (often causing\n"
+"much more problems).\n"
+"\n"
+msgstr "Trovati problemi di versioni multilib. Questo significa spesso che la causa si trova altrove e il controllo delle versioni multilib \nsta solo facendo emergere il problema. Esempio:\n\n1. Esiste un aggiornamento per %(name)s per cui mancano alcune dipendenze\nche sono richieste da un altro pacchetto. Yum cerca di risolvere il problema intallando\nuna vecchia versione di %(name)s per una differente architettura. Se si passa\nl'architettura sbagliata a exclude, yum allora ritorna il problema principale (quale\npacchetto richiede cosa). E' possibile ripetere l'aggiornamento con \n--exclude %(name)s.otherarch ...\nquesto dovrebbe mostrare un messaggio che riporta la causa principale del problema.\n\n2. Ci sono multiple architetture installate per il pacchetto %(name)s, ma yum vede un\nupgrade solo per una di esse. Se non è necessario avere tutte le architetture, è \npossibile rimuovere quella per qui manca l'aggiornamento, e tutto tornerà a funzionare.\n\n3. Esistono versioni duplicate del pacchetto %(name)s installate. E' possibile utilizzare\n\"yum check\" per visualizzare questi errori. \n\n... è altrimenti possibile usare --setopt=protected_multilib=false per evitare di eseguire\nil controllo, ma ciò non è quasi mai la corretta soluzione al problema poichè probabilmente\nqualcos'altro andrà in errore (e causerà ulteriori problemi).\n"
+
+#: ../yum/__init__.py:1257
 #, python-format
 msgid "Trying to remove \"%s\", which is protected"
 msgstr "Tentativo di rimozione di \"%s\", che è protetto"
 
-#: ../yum/__init__.py:1217
+#: ../yum/__init__.py:1378
 msgid ""
 "\n"
 "Packages skipped because of dependency problems:"
-msgstr ""
-"\n"
-"Pacchetti ignorati a causa di problemi di dipendenze:"
+msgstr "\nPacchetti ignorati a causa di problemi di dipendenze:"
 
-#: ../yum/__init__.py:1221
+#: ../yum/__init__.py:1382
 #, python-format
 msgid "    %s from %s"
 msgstr "    %s da %s"
 
 #. FIXME: _N()
-#: ../yum/__init__.py:1391
+#: ../yum/__init__.py:1556
 #, python-format
 msgid "** Found %d pre-existing rpmdb problem(s), 'yum check' output follows:"
-msgstr ""
-"** Trovati %d problemi pre-esistenti nel rpmdb, l'output di 'yum check' è:"
+msgstr "** Trovati %d problemi pre-esistenti nel rpmdb, l'output di 'yum check' è:"
 
-#: ../yum/__init__.py:1395
+#: ../yum/__init__.py:1560
 msgid "Warning: RPMDB altered outside of yum."
 msgstr "Attenzione: RPMDB modificato al di fuori di yum."
 
-#: ../yum/__init__.py:1407
+#: ../yum/__init__.py:1572
 msgid "missing requires"
 msgstr "dipendenze mancanti"
 
-#: ../yum/__init__.py:1408
+#: ../yum/__init__.py:1573
 msgid "installed conflict"
 msgstr "conflitto installato"
 
-#: ../yum/__init__.py:1525
+#: ../yum/__init__.py:1709
 msgid ""
 "Warning: scriptlet or other non-fatal errors occurred during transaction."
-msgstr ""
-"Attenzione: durante la transazione si sono verificati errori di scriptlet o "
-"altri errori non fatali."
+msgstr "Attenzione: durante la transazione si sono verificati errori di scriptlet o altri errori non fatali."
 
-#: ../yum/__init__.py:1535
+#: ../yum/__init__.py:1719
 msgid "Transaction couldn't start:"
 msgstr "Non è stato possibile iniziare la transazione:"
 
 #. should this be 'to_unicoded'?
-#: ../yum/__init__.py:1538
+#: ../yum/__init__.py:1722
 msgid "Could not run transaction."
 msgstr "Impossibile eseguire la transazione."
 
-#: ../yum/__init__.py:1552
+#: ../yum/__init__.py:1736
 #, python-format
 msgid "Failed to remove transaction file %s"
 msgstr "Eliminazione del file di transazione %s fallita"
 
 #. maybe a file log here, too
 #. but raising an exception is not going to do any good
-#: ../yum/__init__.py:1590
+#: ../yum/__init__.py:1792
 #, python-format
 msgid "%s was supposed to be installed but is not!"
 msgstr "%s doveva essere installato, ma non sembra esserlo!"
 
 #. maybe a file log here, too
 #. but raising an exception is not going to do any good
-#: ../yum/__init__.py:1651
+#. Note: This actually triggers atm. because we can't
+#. always find the erased txmbr to set it when
+#. we should.
+#: ../yum/__init__.py:1869
 #, python-format
 msgid "%s was supposed to be removed but is not!"
 msgstr "%s doveva essere eliminato, ma non lo è stato!"
 
-#: ../yum/__init__.py:1768
-#, python-format
-msgid "Could not open lock %s: %s"
-msgstr "Impossibile creare il lock su %s: %s"
-
-#. Whoa. What the heck happened?
-#: ../yum/__init__.py:1785
-#, python-format
-msgid "Unable to check if PID %s is active"
-msgstr "Non è possibile controllare se il PID %s è attivo"
-
 #. Another copy seems to be running.
-#: ../yum/__init__.py:1789
+#: ../yum/__init__.py:2004
 #, python-format
 msgid "Existing lock %s: another copy is running as pid %s."
 msgstr "Lock %s attivo: altro processo in esecuzione con pid %s."
 
 #. Whoa. What the heck happened?
-#: ../yum/__init__.py:1830
+#: ../yum/__init__.py:2053
 #, python-format
 msgid "Could not create lock at %s: %s "
 msgstr "Impossibile creare il lock su %s: %s"
 
-#: ../yum/__init__.py:1875
+#: ../yum/__init__.py:2065
+#, python-format
+msgid "Could not open lock %s: %s"
+msgstr "Impossibile creare il lock su %s: %s"
+
+#. The pid doesn't exist
+#. Whoa. What the heck happened?
+#: ../yum/__init__.py:2082
+#, python-format
+msgid "Unable to check if PID %s is active"
+msgstr "Non è possibile controllare se il PID %s è attivo"
+
+#: ../yum/__init__.py:2132
 #, python-format
 msgid ""
 "Package does not match intended download. Suggestion: run yum "
 "--enablerepo=%s clean metadata"
-msgstr ""
-"Il pacchetto non corrisponde al download desiderato. Suggerimento: eseguire "
-"yum --enablerepo=%s clean metadata"
+msgstr "Il pacchetto non corrisponde al download desiderato. Suggerimento: eseguire yum --enablerepo=%s clean metadata"
 
-#: ../yum/__init__.py:1891
+#: ../yum/__init__.py:2155
 msgid "Could not perform checksum"
 msgstr "Non è stato possibile calcolare il checksum"
 
-#: ../yum/__init__.py:1894
+#: ../yum/__init__.py:2158
 msgid "Package does not match checksum"
 msgstr "Il pacchetto non corrisponde al checksum"
 
-#: ../yum/__init__.py:1946
+#: ../yum/__init__.py:2222
 #, python-format
 msgid "package fails checksum but caching is enabled for %s"
 msgstr "il pacchetto ha fallito il checksum ma la cache è abilitata per %s"
 
-#: ../yum/__init__.py:1949 ../yum/__init__.py:1979
+#: ../yum/__init__.py:2225 ../yum/__init__.py:2268
 #, python-format
 msgid "using local copy of %s"
 msgstr "utilizzo di una copia locale di %s"
 
-#: ../yum/__init__.py:1991
-#, python-format
-msgid ""
-"Insufficient space in download directory %s\n"
-"    * free   %s\n"
-"    * needed %s"
-msgstr ""
-"Spazio insufficiente nella cartella di download %s\n"
-"    * libero     %s\n"
-"    * necessario %s"
+#. caller handles errors
+#: ../yum/__init__.py:2342
+msgid "exiting because --downloadonly specified"
+msgstr "uscita per via dell'opzione --downloadonly"
 
-#: ../yum/__init__.py:2052
+#: ../yum/__init__.py:2371
 msgid "Header is not complete."
 msgstr "L'header non è completo."
 
-#: ../yum/__init__.py:2089
+#: ../yum/__init__.py:2411
 #, python-format
 msgid ""
 "Header not in local cache and caching-only mode enabled. Cannot download %s"
-msgstr ""
-"Header non presente in cache locale e modalità solo-cache abilitata. "
-"Impossibile scaricare %s"
+msgstr "Header non presente in cache locale e modalità solo-cache abilitata. Impossibile scaricare %s"
 
-#: ../yum/__init__.py:2147
+#: ../yum/__init__.py:2471
 #, python-format
 msgid "Public key for %s is not installed"
 msgstr "La chiave pubblica per %s non è installata"
 
-#: ../yum/__init__.py:2151
+#: ../yum/__init__.py:2475
 #, python-format
 msgid "Problem opening package %s"
 msgstr "Problemi nell'apertura di %s"
 
-#: ../yum/__init__.py:2159
+#: ../yum/__init__.py:2483
 #, python-format
 msgid "Public key for %s is not trusted"
 msgstr "La chiave pubblica per %s non è trusted"
 
-#: ../yum/__init__.py:2163
+#: ../yum/__init__.py:2487
 #, python-format
 msgid "Package %s is not signed"
 msgstr "Il pacchetto %s non è firmato"
 
-#: ../yum/__init__.py:2202
+#: ../yum/__init__.py:2529
 #, python-format
 msgid "Cannot remove %s"
 msgstr "Non posso rimuovere %s"
 
-#: ../yum/__init__.py:2206
+#: ../yum/__init__.py:2533
 #, python-format
 msgid "%s removed"
 msgstr "%s eliminato"
 
-#: ../yum/__init__.py:2252
+#: ../yum/__init__.py:2594
 #, python-format
 msgid "Cannot remove %s file %s"
 msgstr "Impossibile rimuovere %s file %s"
 
-#: ../yum/__init__.py:2256
+#: ../yum/__init__.py:2598
 #, python-format
 msgid "%s file %s removed"
 msgstr "%s file %s rimosso"
 
-#: ../yum/__init__.py:2258
+#: ../yum/__init__.py:2600
 #, python-format
-msgid "%d %s files removed"
-msgstr "%d %s file rimossi"
+msgid "%d %s file removed"
+msgid_plural "%d %s files removed"
+msgstr[0] "%d %s file rimosso"
+msgstr[1] "%d %s file rimossi"
 
-#: ../yum/__init__.py:2327
+#: ../yum/__init__.py:2712
 #, python-format
 msgid "More than one identical match in sack for %s"
 msgstr "Più di una corrispondenza identica nel sack per %s"
 
-#: ../yum/__init__.py:2333
+#: ../yum/__init__.py:2718
 #, python-format
 msgid "Nothing matches %s.%s %s:%s-%s from update"
 msgstr "Nessuna corrispondenza per %s.%s %s:%s-%s dall'aggiornamento"
 
-#: ../yum/__init__.py:2632
+#: ../yum/__init__.py:3096
 msgid ""
 "searchPackages() will go away in a future version of Yum."
 "                      Use searchGenerator() instead. \n"
-msgstr ""
-"searchPackages() verrà eliminato in una futura versione di yum. In "
-"sostituzione usare searchGenerator(). \n"
+msgstr "searchPackages() verrà eliminato in una futura versione di yum. In sostituzione usare searchGenerator(). \n"
 
-#: ../yum/__init__.py:2675
+#: ../yum/__init__.py:3149
 #, python-format
-msgid "Searching %d packages"
-msgstr "Ricerca dei pacchetti %d"
+msgid "Searching %d package"
+msgid_plural "Searching %d packages"
+msgstr[0] "Ricerca di %d pacchetto"
+msgstr[1] "Ricerca di %d pacchetti"
 
-#: ../yum/__init__.py:2679
+#: ../yum/__init__.py:3153
 #, python-format
 msgid "searching package %s"
 msgstr "ricerca del pacchetto %s"
 
-#: ../yum/__init__.py:2691
+#: ../yum/__init__.py:3165
 msgid "searching in file entries"
 msgstr "ricerca nelle file entries"
 
-#: ../yum/__init__.py:2698
+#: ../yum/__init__.py:3172
 msgid "searching in provides entries"
 msgstr "ricerca nelle provides entries"
 
-#: ../yum/__init__.py:2777
+#: ../yum/__init__.py:3369
 msgid "No group data available for configured repositories"
 msgstr "Non ci sono informazioni sui gruppi per i repository configurati"
 
-#: ../yum/__init__.py:2808 ../yum/__init__.py:2827 ../yum/__init__.py:2858
-#: ../yum/__init__.py:2864 ../yum/__init__.py:2953 ../yum/__init__.py:2957
-#: ../yum/__init__.py:3339
+#: ../yum/__init__.py:3466 ../yum/__init__.py:3500 ../yum/__init__.py:3576
+#: ../yum/__init__.py:3582 ../yum/__init__.py:3719 ../yum/__init__.py:3723
+#: ../yum/__init__.py:4298
 #, python-format
 msgid "No Group named %s exists"
 msgstr "Il gruppo %s non esiste"
 
-#: ../yum/__init__.py:2839 ../yum/__init__.py:2973
+#: ../yum/__init__.py:3512 ../yum/__init__.py:3740
 #, python-format
 msgid "package %s was not marked in group %s"
 msgstr "il pacchetto %s non è stato contrassegnato nel gruppo %s"
 
-#: ../yum/__init__.py:2887
+#. (upgrade and igroup_data[pkg] == 'available')):
+#: ../yum/__init__.py:3622
+#, python-format
+msgid "Skipping package %s from group %s"
+msgstr "Salto del pacchetto %s dal gruppo %s"
+
+#: ../yum/__init__.py:3628
 #, python-format
 msgid "Adding package %s from group %s"
 msgstr "Aggiunta del pacchetto %s dal gruppo %s"
 
-#: ../yum/__init__.py:2891
+#: ../yum/__init__.py:3649
 #, python-format
 msgid "No package named %s available to be installed"
 msgstr "Nessun pacchetto con nome %s disponibile per l'installazione"
 
-#: ../yum/__init__.py:2941
+#: ../yum/__init__.py:3702
 #, python-format
-msgid "Warning: Group %s does not have any packages."
-msgstr ""
+msgid "Warning: Group %s does not have any packages to install."
+msgstr "Attenzione: il gruppo %s non contiene alcun pacchetto da installare."
 
-#: ../yum/__init__.py:2943
+#: ../yum/__init__.py:3704
 #, python-format
 msgid "Group %s does have %u conditional packages, which may get installed."
-msgstr ""
+msgstr "Il gruppo %s contiene %u pacchetti facoltativi, che potrebbero essere installati."
+
+#: ../yum/__init__.py:3794
+#, python-format
+msgid "Skipping group %s from environment %s"
+msgstr "Viene tralasciato il gruppo %s dall'environment %s"
 
 #. This can happen due to excludes after .up has
 #. happened.
-#: ../yum/__init__.py:3002
+#: ../yum/__init__.py:3858
 #, python-format
 msgid "Package tuple %s could not be found in packagesack"
 msgstr "Il pacchetto con tupla %s non è stato trovato nel packagesack"
 
-#: ../yum/__init__.py:3022
+#: ../yum/__init__.py:3886
 #, python-format
 msgid "Package tuple %s could not be found in rpmdb"
 msgstr "Il pacchetto con tupla %s non è stato trovato nel rpmdb"
 
-#: ../yum/__init__.py:3079 ../yum/__init__.py:3129
+#: ../yum/__init__.py:3949 ../yum/__init__.py:4012
 #, python-format
 msgid "Invalid version flag from: %s"
-msgstr ""
+msgstr "Flag di versione non valido da: %s"
 
-#: ../yum/__init__.py:3096 ../yum/__init__.py:3101
+#: ../yum/__init__.py:3973 ../yum/__init__.py:3979 ../yum/__init__.py:4036
+#: ../yum/__init__.py:4042
 #, python-format
 msgid "No Package found for %s"
 msgstr "Nessun pacchetto trovato per %s"
 
-#: ../yum/__init__.py:3401
+#: ../yum/__init__.py:4245 ../yum/__init__.py:4274
+#, python-format
+msgid "Warning: Environment Group %s does not exist."
+msgstr "Attenzione: il gruppo Environment %s non esiste."
+
+#: ../yum/__init__.py:4397
+#, python-format
+msgid "Package: %s - can't co-install with %s"
+msgstr "Pacchetto: %s - impossibile co-installare con %s"
+
+#: ../yum/__init__.py:4437
 msgid "Package Object was not a package object instance"
 msgstr "Package Object non è un'istanza di un oggetto package"
 
-#: ../yum/__init__.py:3405
+#: ../yum/__init__.py:4441
 msgid "Nothing specified to install"
 msgstr "Non è specificato niente da installare"
 
-#: ../yum/__init__.py:3424 ../yum/__init__.py:4283
+#: ../yum/__init__.py:4465 ../yum/__init__.py:5410
 #, python-format
 msgid "Checking for virtual provide or file-provide for %s"
 msgstr "Controllo dei virtual provide o file-provide per %s"
 
-#: ../yum/__init__.py:3430 ../yum/__init__.py:3775 ../yum/__init__.py:3969
-#: ../yum/__init__.py:4289
-#, python-format
-msgid "No Match for argument: %s"
-msgstr "Nessuna corrispondenza per l'argomento: %s"
-
-#: ../yum/__init__.py:3507
+#: ../yum/__init__.py:4542
 #, python-format
 msgid "Package %s installed and not available"
 msgstr "Il pacchetto %s è installato e non disponibile"
 
-#: ../yum/__init__.py:3510
+#: ../yum/__init__.py:4545
 msgid "No package(s) available to install"
 msgstr "Nessun pacchetto disponibile per l'installazione"
 
-#: ../yum/__init__.py:3522
+#: ../yum/__init__.py:4557
 #, python-format
 msgid "Package: %s  - already in transaction set"
 msgstr "Pacchetto: %s - già nel set di transazione"
 
-#: ../yum/__init__.py:3550
+#: ../yum/__init__.py:4589
 #, python-format
 msgid "Package %s is obsoleted by %s which is already installed"
 msgstr "Il pacchetto %s è reso obsoleto da %s, che è già installato"
 
-#: ../yum/__init__.py:3555
+#: ../yum/__init__.py:4594
 #, python-format
 msgid ""
 "Package %s is obsoleted by %s, but obsoleting package does not provide for "
 "requirements"
-msgstr ""
-"Il pacchetto %s è reso obsoleto da %s, ma quest'ultimo non fornisce i "
-"provide richiesti"
+msgstr "Il pacchetto %s è reso obsoleto da %s, ma quest'ultimo non fornisce i provide richiesti"
 
-#: ../yum/__init__.py:3558
+#: ../yum/__init__.py:4597
 #, python-format
 msgid "Package %s is obsoleted by %s, trying to install %s instead"
-msgstr ""
-"Il pacchetto %s è reso obsoleto da %s, tentativo di installare %s al suo "
-"posto"
+msgstr "Il pacchetto %s è reso obsoleto da %s, tentativo di installare %s al suo posto"
 
-#: ../yum/__init__.py:3566
+#: ../yum/__init__.py:4605
 #, python-format
 msgid "Package %s already installed and latest version"
 msgstr "Il pacchetto %s è già installato e aggiornato all'ultima versione"
 
-#: ../yum/__init__.py:3580
+#: ../yum/__init__.py:4619
 #, python-format
 msgid "Package matching %s already installed. Checking for update."
-msgstr ""
-"Il pacchetto corrispondente a %s è già installato. Controllo aggiornamenti."
+msgstr "Il pacchetto corrispondente a %s è già installato. Controllo aggiornamenti."
 
 #. update everything (the easy case)
-#: ../yum/__init__.py:3684
+#: ../yum/__init__.py:4751
 msgid "Updating Everything"
 msgstr "Aggiornamento completo"
 
-#: ../yum/__init__.py:3708 ../yum/__init__.py:3849 ../yum/__init__.py:3879
-#: ../yum/__init__.py:3915
+#: ../yum/__init__.py:4775 ../yum/__init__.py:4930 ../yum/__init__.py:4975
+#: ../yum/__init__.py:5011
 #, python-format
 msgid "Not Updating Package that is already obsoleted: %s.%s %s:%s-%s"
 msgstr "Il pacchetto obsoleto non verrà aggiornato: %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3753 ../yum/__init__.py:3965
+#: ../yum/__init__.py:4830 ../yum/__init__.py:5072
 #, python-format
 msgid "%s"
 msgstr "%s"
 
-#: ../yum/__init__.py:3838
+#: ../yum/__init__.py:4854 ../yum/__init__.py:5080 ../yum/__init__.py:5416
+#, python-format
+msgid "No Match for argument: %s"
+msgstr "Nessuna corrispondenza per l'argomento: %s"
+
+#: ../yum/__init__.py:4872
+#, python-format
+msgid "No package matched to upgrade: %s"
+msgstr "Nessun pacchetto trovato per l'aggiornamento: %s"
+
+#: ../yum/__init__.py:4919
 #, python-format
 msgid "Package is already obsoleted: %s.%s %s:%s-%s"
 msgstr "Il pacchetto era già obsoleto: %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3874
+#: ../yum/__init__.py:4970
 #, python-format
 msgid "Not Updating Package that is obsoleted: %s"
 msgstr "Il pacchetto obsoleto non verrà aggiornato: %s"
 
-#: ../yum/__init__.py:3883 ../yum/__init__.py:3919
+#: ../yum/__init__.py:4979 ../yum/__init__.py:5015
 #, python-format
 msgid "Not Updating Package that is already updated: %s.%s %s:%s-%s"
 msgstr "Il pacchetto è già aggiornato: %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3982
-msgid "No package matched to remove"
-msgstr "Nessun pacchetto selezionato per l'eliminazione"
+#: ../yum/__init__.py:5093
+#, python-format
+msgid "No package matched to remove: %s"
+msgstr "Nessun pacchetto trovato per la rimozione: %s"
 
-#: ../yum/__init__.py:3988
+#: ../yum/__init__.py:5099
 #, python-format
 msgid "Skipping the running kernel: %s"
 msgstr "Ignoro il kernel in esecuzione: %s"
 
-#: ../yum/__init__.py:3994
+#: ../yum/__init__.py:5105
 #, python-format
 msgid "Removing %s from the transaction"
 msgstr "Rimozione di %s dalla transazione"
 
-#: ../yum/__init__.py:4029
+#: ../yum/__init__.py:5142
 #, python-format
 msgid "Cannot open: %s. Skipping."
 msgstr "Impossibile aprire: %s. Verrà ignorato."
 
-#: ../yum/__init__.py:4032 ../yum/__init__.py:4150 ../yum/__init__.py:4226
+#: ../yum/__init__.py:5145 ../yum/__init__.py:5262 ../yum/__init__.py:5347
 #, python-format
 msgid "Examining %s: %s"
 msgstr "Analisi di %s: %s"
 
-#: ../yum/__init__.py:4036
+#: ../yum/__init__.py:5149
 #, python-format
 msgid "Cannot localinstall deltarpm: %s. Skipping."
 msgstr "localinstall del deltarpm fallito: %s. Verrà ignorato."
 
-#: ../yum/__init__.py:4045 ../yum/__init__.py:4153 ../yum/__init__.py:4229
+#: ../yum/__init__.py:5158 ../yum/__init__.py:5265 ../yum/__init__.py:5350
 #, python-format
 msgid ""
 "Cannot add package %s to transaction. Not a compatible architecture: %s"
-msgstr ""
-"Impossibile aggiungere il pacchetto %s alla transazione. Architettura non "
-"compatibile: %s"
+msgstr "Impossibile aggiungere il pacchetto %s alla transazione. Architettura non compatibile: %s"
 
-#: ../yum/__init__.py:4051
+#: ../yum/__init__.py:5164
 #, python-format
 msgid "Cannot install package %s. It is obsoleted by installed package %s"
-msgstr ""
-"Impossibile installare il pacchetto %s. E' reso obsoleto dal pacchetto "
-"installato %s"
+msgstr "Impossibile installare il pacchetto %s. E' reso obsoleto dal pacchetto installato %s"
 
-#: ../yum/__init__.py:4059
+#: ../yum/__init__.py:5172
 #, python-format
 msgid ""
 "Package %s not installed, cannot update it. Run yum install to install it "
 "instead."
-msgstr ""
-"Non è possibile aggiornare il pacchetto %s perchè non è installato. Eseguire"
-" yum install per installarlo."
+msgstr "Non è possibile aggiornare il pacchetto %s perchè non è installato. Eseguire yum install per installarlo."
 
-#: ../yum/__init__.py:4078 ../yum/__init__.py:4085
+#: ../yum/__init__.py:5191 ../yum/__init__.py:5198
 #, python-format
 msgid ""
 "Package %s.%s not installed, cannot update it. Run yum install to install it"
 " instead."
-msgstr ""
+msgstr "Il pacchetto %s.%s non è installato, non è quindi possibile aggiornarlo. Eseguire yum install se si desidera installarlo."
 
-#: ../yum/__init__.py:4094 ../yum/__init__.py:4158 ../yum/__init__.py:4234
+#: ../yum/__init__.py:5207 ../yum/__init__.py:5270 ../yum/__init__.py:5355
 #, python-format
 msgid "Excluding %s"
 msgstr "Esclusione di %s"
 
-#: ../yum/__init__.py:4099
+#: ../yum/__init__.py:5212
 #, python-format
 msgid "Marking %s to be installed"
 msgstr "%s contrassegnato per l'installazione"
 
-#: ../yum/__init__.py:4105
+#: ../yum/__init__.py:5218
 #, python-format
 msgid "Marking %s as an update to %s"
 msgstr "%s contrassegnato come aggiornamento di %s"
 
-#: ../yum/__init__.py:4112
+#: ../yum/__init__.py:5225
 #, python-format
 msgid "%s: does not update installed package."
 msgstr "%s: non aggiorna il pacchetto installato."
 
-#: ../yum/__init__.py:4147 ../yum/__init__.py:4223
+#: ../yum/__init__.py:5259 ../yum/__init__.py:5344
 #, python-format
 msgid "Cannot open file: %s. Skipping."
 msgstr "Impossibile aprire il file: %s. Verrà ignorato."
 
-#: ../yum/__init__.py:4177
+#: ../yum/__init__.py:5299
 msgid "Problem in reinstall: no package matched to remove"
-msgstr ""
-"Problema nella reinstallazione: nessun pacchetto corrispondente per la "
-"rimozione"
+msgstr "Problema nella reinstallazione: nessun pacchetto corrispondente per la rimozione"
 
-#: ../yum/__init__.py:4203
+#: ../yum/__init__.py:5325
 #, python-format
 msgid "Problem in reinstall: no package %s matched to install"
-msgstr ""
-"Problema nella reinstallazione: nessun pacchetto corrispondente a %s per "
-"l'installazione"
+msgstr "Problema nella reinstallazione: nessun pacchetto corrispondente a %s per l'installazione"
 
-#: ../yum/__init__.py:4311
+#: ../yum/__init__.py:5438
 msgid "No package(s) available to downgrade"
 msgstr "Nessun pacchetto disponibile per il downgrade"
 
-#: ../yum/__init__.py:4319
+#: ../yum/__init__.py:5446
 #, python-format
 msgid "Package %s is allowed multiple installs, skipping"
 msgstr "Il pacchetto %s permette installazioni multiple, lo salto"
 
-#: ../yum/__init__.py:4365
+#: ../yum/__init__.py:5496
 #, python-format
 msgid "No Match for available package: %s"
 msgstr "Nessuna corrispondenza per il pacchetto disponibile: %s"
 
-#: ../yum/__init__.py:4372
+#: ../yum/__init__.py:5506
 #, python-format
 msgid "Only Upgrade available on package: %s"
 msgstr "Solo l'upgrade è disponibile per il pacchetto: %s"
 
-#: ../yum/__init__.py:4442 ../yum/__init__.py:4479
+#: ../yum/__init__.py:5619 ../yum/__init__.py:5686
 #, python-format
 msgid "Failed to downgrade: %s"
 msgstr "Downgrade fallito: %s"
 
-#: ../yum/__init__.py:4516
+#: ../yum/__init__.py:5636 ../yum/__init__.py:5692
+#, python-format
+msgid "Failed to upgrade: %s"
+msgstr "Errore nell'upgrade: %s"
+
+#: ../yum/__init__.py:5725
 #, python-format
 msgid "Retrieving key from %s"
-msgstr ""
+msgstr "Recupero chiave da %s"
 
-#: ../yum/__init__.py:4534
+#: ../yum/__init__.py:5743
 msgid "GPG key retrieval failed: "
 msgstr "Recupero chiave GPG fallito: "
 
 #. if we decide we want to check, even though the sig failed
 #. here is where we would do that
-#: ../yum/__init__.py:4557
+#: ../yum/__init__.py:5766
 #, python-format
 msgid "GPG key signature on key %s does not match CA Key for repo: %s"
-msgstr ""
+msgstr "La firma della chiave GPG %s non corrisponde alla chiave della CA per il repository: %s"
 
-#: ../yum/__init__.py:4559
+#: ../yum/__init__.py:5768
 msgid "GPG key signature verified against CA Key(s)"
-msgstr ""
+msgstr "Verifica della firma della chiave GPG con la chiave della CA fallita "
 
-#: ../yum/__init__.py:4567
+#: ../yum/__init__.py:5776
 #, python-format
 msgid "Invalid GPG Key from %s: %s"
 msgstr "Chiave GPG non valida da %s: %s"
 
-#: ../yum/__init__.py:4576
+#: ../yum/__init__.py:5785
 #, python-format
 msgid "GPG key parsing failed: key does not have value %s"
 msgstr "Analisi chiave GPG fallita: la chiave non ha il valore %s"
 
-#: ../yum/__init__.py:4592
+#: ../yum/__init__.py:5801
 #, python-format
 msgid ""
 "Importing %s key 0x%s:\n"
-" Userid : %s\n"
-" Package: %s (%s)\n"
-" From   : %s"
-msgstr ""
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" Package    : %s (%s)\n"
+" From       : %s"
+msgstr "Importazione della chiave %s 0x%s:\n Userid     : \"%s\"\n Fingerprint: %s\n Pacchetto  : %s (%s)\n Da         : %s"
 
-#: ../yum/__init__.py:4600
+#: ../yum/__init__.py:5811
 #, python-format
 msgid ""
 "Importing %s key 0x%s:\n"
-" Userid: \"%s\"\n"
-" From  : %s"
-msgstr ""
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" From       : %s"
+msgstr "Importazione della chiave %s 0x%s:\n Userid     : \"%s\"\n Fingerprint: %s\n Da         : %s"
 
-#: ../yum/__init__.py:4634
+#: ../yum/__init__.py:5839
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" Failing package is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr "\n\n\n Il pacchetto fallito è: %s\n Chiavi GPG configurate come: %s\n"
+
+#: ../yum/__init__.py:5853
 #, python-format
 msgid "GPG key at %s (0x%s) is already installed"
 msgstr "Chiave GPG in %s (0x%s) già installata"
 
-#: ../yum/__init__.py:4671
+#: ../yum/__init__.py:5891
 #, python-format
 msgid "Key import failed (code %d)"
 msgstr "Importazione chiave fallita (codice %d)"
 
-#: ../yum/__init__.py:4672 ../yum/__init__.py:4755
+#: ../yum/__init__.py:5893 ../yum/__init__.py:5994
 msgid "Key imported successfully"
 msgstr "Chiave importata correttamente"
 
-#: ../yum/__init__.py:4676
+#: ../yum/__init__.py:5897
 msgid "Didn't install any keys"
-msgstr ""
+msgstr "Non è stata installata alcuna chiave"
 
-#: ../yum/__init__.py:4680
+#: ../yum/__init__.py:5900
 #, python-format
 msgid ""
 "The GPG keys listed for the \"%s\" repository are already installed but they are not correct for this package.\n"
 "Check that the correct key URLs are configured for this repository."
-msgstr ""
-"Le chiavi GPG elencate per il repository \"%s\" sono attualmente installate ma non sono corrette per questo pacchetto.\n"
-"Controllare che gli URL delle chiavi di questo repository siano configurati correttamente."
+msgstr "Le chiavi GPG elencate per il repository \"%s\" sono attualmente installate ma non sono corrette per questo pacchetto.\nControllare che gli URL delle chiavi di questo repository siano configurati correttamente."
 
-#: ../yum/__init__.py:4689
+#: ../yum/__init__.py:5910
 msgid "Import of key(s) didn't help, wrong key(s)?"
 msgstr "Importazione delle chiavi non sufficiente, chiave sbagliata?"
 
-#: ../yum/__init__.py:4713
+#: ../yum/__init__.py:5932
+msgid "No"
+msgstr "No"
+
+#: ../yum/__init__.py:5934
+msgid "Yes"
+msgstr "Si"
+
+#: ../yum/__init__.py:5935
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" CA Key: %s\n"
+" Failing repo is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr "\n\n\n Chiave CA: %s\n Il repo fallito è: %s\n Chiavi GPG configurate come: %s\n"
+
+#: ../yum/__init__.py:5948
 #, python-format
 msgid "GPG key at %s (0x%s) is already imported"
 msgstr "Chiave GPG in %s (0x%s) è già stata importata"
 
-#: ../yum/__init__.py:4754
-msgid "Key import failed"
-msgstr "Importazione chiave fallita"
+#: ../yum/__init__.py:5992
+#, python-format
+msgid "Key %s import failed"
+msgstr "Importazione della chiave %s fallita"
 
-#: ../yum/__init__.py:4770
+#: ../yum/__init__.py:6009
 #, python-format
 msgid "Didn't install any keys for repo %s"
-msgstr ""
+msgstr "Non è stata installata alcuna chiave per il repository %s"
 
-#: ../yum/__init__.py:4774
+#: ../yum/__init__.py:6014
 #, python-format
 msgid ""
 "The GPG keys listed for the \"%s\" repository are already installed but they are not correct.\n"
 "Check that the correct key URLs are configured for this repository."
-msgstr ""
-"Le chiavi GPG elencate per il repository \"%s\" sono attualmente installate ma non sono corrette.\n"
-"Controllare che gli URL delle chiavi di questo repository siano configurati correttamente."
+msgstr "Le chiavi GPG elencate per il repository \"%s\" sono attualmente installate ma non sono corrette.\nControllare che gli URL delle chiavi di questo repository siano configurati correttamente."
 
-#: ../yum/__init__.py:4924
+#: ../yum/__init__.py:6172
 msgid "Unable to find a suitable mirror."
 msgstr "Impossibile trovare un mirror adatto."
 
-#: ../yum/__init__.py:4926
+#: ../yum/__init__.py:6174
 msgid "Errors were encountered while downloading packages."
 msgstr "Si sono verificati degli errori durante il download dei pacchetti."
 
-#: ../yum/__init__.py:4981
+#: ../yum/__init__.py:6229
 #, python-format
 msgid "Please report this error at %s"
 msgstr "Riportare questo errore su %s"
 
-#: ../yum/__init__.py:4998
+#: ../yum/__init__.py:6246
 msgid "Test Transaction Errors: "
 msgstr "Errori nel test di transazione: "
 
-#: ../yum/__init__.py:5098
+#: ../yum/__init__.py:6358
 #, python-format
 msgid "Could not set cachedir: %s"
 msgstr "Impossibile impostare la cachedir: %s"
 
-#: ../yum/__init__.py:5148 ../yum/__init__.py:5150
+#: ../yum/__init__.py:6420 ../yum/__init__.py:6422
 msgid "Dependencies not solved. Will not save unresolved transaction."
-msgstr ""
+msgstr "Dipendenze non risolte. La transazione con dipendenze non risolte non verrà salvata."
 
-#: ../yum/__init__.py:5179 ../yum/__init__.py:5181
+#: ../yum/__init__.py:6455 ../yum/__init__.py:6457
 #, python-format
 msgid "Could not save transaction file %s: %s"
-msgstr ""
+msgstr "Impossibile salvare il file di transazione %s: %s"
 
-#: ../yum/__init__.py:5195
+#: ../yum/__init__.py:6483
 #, python-format
 msgid "Could not access/read saved transaction %s : %s"
-msgstr ""
+msgstr "Impossibile accedere/leggere la transazione salvata %s: %s"
 
-#: ../yum/__init__.py:5214
-msgid "rpmdb ver mismatched saved transaction version, "
-msgstr ""
-
-#: ../yum/__init__.py:5216
-msgid " ignoring, as requested."
-msgstr ""
-
-#: ../yum/__init__.py:5219 ../yum/__init__.py:5354
-msgid " aborting."
-msgstr ""
+#: ../yum/__init__.py:6521
+msgid "rpmdb ver mismatched saved transaction version,"
+msgstr "la versione di rpmdb non corrisponde alla versione della transazione salvata, "
 
-#: ../yum/__init__.py:5228
+#: ../yum/__init__.py:6535
 msgid "cannot find tsflags or tsflags not integer."
-msgstr ""
+msgstr "impossibile trovare tsflags o tsflags non intero."
 
-#: ../yum/__init__.py:5267
+#: ../yum/__init__.py:6584
 #, python-format
 msgid "Found txmbr in unknown current state: %s"
-msgstr ""
+msgstr "Membro di transazione trovato in stato attuale sconosciuto: %s"
 
-#: ../yum/__init__.py:5271
+#: ../yum/__init__.py:6588
 #, python-format
 msgid "Could not find txmbr: %s in state %s"
-msgstr ""
+msgstr "Impossibile trovare il membro di transazione: %s in stato %s"
 
-#: ../yum/__init__.py:5307 ../yum/__init__.py:5324
+#: ../yum/__init__.py:6625 ../yum/__init__.py:6642
 #, python-format
 msgid "Could not find txmbr: %s from origin: %s"
-msgstr ""
+msgstr "Impossibile trovare il membro di transazione: %s dall'origine: %s"
 
-#: ../yum/__init__.py:5349
+#: ../yum/__init__.py:6667
 msgid "Transaction members, relations are missing or ts has been modified,"
-msgstr ""
+msgstr "Membri della transazione, ci sono relazioni mancanti oppure ts è stata modificata,"
 
-#: ../yum/__init__.py:5351
+#: ../yum/__init__.py:6670
 msgid " ignoring, as requested. You must redepsolve!"
-msgstr ""
+msgstr " ignorati, come richiesto. E' necessario eseguire nuovamente depsolve."
+
+#. Debugging output
+#: ../yum/__init__.py:6738 ../yum/__init__.py:6757
+#, python-format
+msgid "%s has been visited already and cannot be removed."
+msgstr "%s è già stato visitato e non può essere rimossi."
+
+#. Debugging output
+#: ../yum/__init__.py:6741
+#, python-format
+msgid "Examining revdeps of %s"
+msgstr "Esame delle revdeps di %s"
+
+#. Debugging output
+#: ../yum/__init__.py:6762
+#, python-format
+msgid "%s has revdep %s which was user-installed."
+msgstr "%s ha la revdep %s che è stata installata dall'utente."
+
+#: ../yum/__init__.py:6773 ../yum/__init__.py:6779
+#, python-format
+msgid "%s is needed by a package to be installed."
+msgstr "%s è richiesto da un pacchetto che deve essere installato."
+
+#. Debugging output
+#: ../yum/__init__.py:6793
+#, python-format
+msgid "%s has no user-installed revdeps."
+msgstr "%s non ha revdeps installate dall'utente."
 
 #. Mostly copied from YumOutput._outKeyValFill()
-#: ../yum/plugins.py:209
+#: ../yum/plugins.py:212
 msgid "Loaded plugins: "
 msgstr "Plugin abilitati:"
 
-#: ../yum/plugins.py:223 ../yum/plugins.py:229
+#: ../yum/plugins.py:226 ../yum/plugins.py:232
 #, python-format
 msgid "No plugin match for: %s"
 msgstr "Nessun plugin corrisponde a: %s"
 
-#: ../yum/plugins.py:259
+#: ../yum/plugins.py:262
 #, python-format
 msgid "Not loading \"%s\" plugin, as it is disabled"
 msgstr "Il plugin \"%s\" non è stato caricato, perchè è disabilitato"
 
 #. Give full backtrace:
-#: ../yum/plugins.py:271
+#: ../yum/plugins.py:274
 #, python-format
 msgid "Plugin \"%s\" can't be imported"
 msgstr "Il plugin \"%s\" non può essere importato"
 
-#: ../yum/plugins.py:278
+#: ../yum/plugins.py:281
 #, python-format
 msgid "Plugin \"%s\" doesn't specify required API version"
 msgstr "Il plugin \"%s\" non specifica la versione API richiesta"
 
-#: ../yum/plugins.py:283
+#: ../yum/plugins.py:286
 #, python-format
 msgid "Plugin \"%s\" requires API %s. Supported API is %s."
 msgstr "Il plugin \"%s\" richiede l'API %s. L'API supportata è %s."
 
-#: ../yum/plugins.py:316
+#: ../yum/plugins.py:319
 #, python-format
 msgid "Loading \"%s\" plugin"
 msgstr "Caricamento del plugin \"%s\""
 
-#: ../yum/plugins.py:323
+#: ../yum/plugins.py:326
 #, python-format
 msgid "Two or more plugins with the name \"%s\" exist in the plugin search path"
-msgstr ""
-"Esiste più di un plugin con nome \"%s\" nel percorso di ricerca dei plugin"
+msgstr "Esiste più di un plugin con nome \"%s\" nel percorso di ricerca dei plugin"
 
-#: ../yum/plugins.py:343
+#: ../yum/plugins.py:346
 #, python-format
 msgid "Configuration file %s not found"
 msgstr "File di configurazione %s non trovato"
 
 #. for
 #. Configuration files for the plugin not found
-#: ../yum/plugins.py:346
+#: ../yum/plugins.py:349
 #, python-format
 msgid "Unable to find configuration file for plugin %s"
 msgstr "Impossibile trovare il file di configurazione per il plugin %s"
 
-#: ../yum/plugins.py:508
+#: ../yum/plugins.py:553
 msgid "registration of commands not supported"
 msgstr "registrazione dei comandi non supportata"
 
-#: ../yum/rpmsack.py:148
+#: ../yum/rpmsack.py:159
 msgid "has missing requires of"
 msgstr "ha una dipendenza mancante di"
 
-#: ../yum/rpmsack.py:151
+#: ../yum/rpmsack.py:162
 msgid "has installed conflicts"
 msgstr "ha conflitti con pacchetti installati"
 
-#: ../yum/rpmsack.py:160
+#: ../yum/rpmsack.py:171
 #, python-format
 msgid "%s is a duplicate with %s"
 msgstr "%s è un duplicato di %s"
 
-#: ../yum/rpmsack.py:168
+#: ../yum/rpmsack.py:179
 #, python-format
 msgid "%s is obsoleted by %s"
 msgstr "%s è reso obsoleto da %s"
 
-#: ../yum/rpmsack.py:176
+#: ../yum/rpmsack.py:187
 #, python-format
 msgid "%s provides %s but it cannot be found"
 msgstr "%s fornisce %s, ma non è stato possibile trovarlo"
@@ -3157,6 +3459,23 @@ msgstr "%s fornisce %s, ma non è stato possibile trovarlo"
 msgid "Repackaging"
 msgstr "Reimpacchettamento"
 
+#: ../yum/rpmtrans.py:149
+#, python-format
+msgid "Verify: %u/%u: %s"
+msgstr "Verifica: %u/%u: %s"
+
+#: ../yum/yumRepo.py:919
+#, python-format
+msgid ""
+"Insufficient space in download directory %s\n"
+"    * free   %s\n"
+"    * needed %s"
+msgstr "Spazio insufficiente nella cartella di download %s\n    * libero     %s\n    * necessario %s"
+
+#: ../yum/yumRepo.py:986
+msgid "Package does not match intended download."
+msgstr "Il pacchetto non corrisponde al download desiderato."
+
 #: ../rpmUtils/oldUtils.py:33
 #, python-format
 msgid "Header cannot be opened or does not match %s, %s."
@@ -3169,8 +3488,7 @@ msgstr "Controllo md5 dell'RPM %s fallito"
 
 #: ../rpmUtils/oldUtils.py:151
 msgid "Could not open RPM database for reading. Perhaps it is already in use?"
-msgstr ""
-"Non è stato possibile aprire in lettura il database RPM. Forse è gia in uso?"
+msgstr "Non è stato possibile aprire in lettura il database RPM. Forse è gia in uso?"
 
 #: ../rpmUtils/oldUtils.py:183
 msgid "Got an empty Header, something has gone wrong"
@@ -3186,5 +3504,3 @@ msgstr "Header %s danneggiato"
 #, python-format
 msgid "Error opening rpm %s - error %s"
 msgstr "Errore nell'apertura dell'rpm %s - errore %s"
-
-
diff --git a/po/ja.po b/po/ja.po
index a232b0c..f8ebfc7 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -2,1497 +2,1637 @@
 # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
 # This file is distributed under the same license as the PACKAGE package.
 # 
-# Hajime Taira <htaira@redhat.com>, 2011
+# Translators:
+# Hajime Taira <htaira@redhat.com>, 2011-2012.
+# Tadashi Jokagi <elf2000@gmail.com>, 2012.
+# Tadashi Jokagi <elf@elf.no-ip.org>, 2011.
+# Tadashi Jokagi <elf@poyo.jp>, 2013.
+# Tomoyuki KATO <tomo@dream.daynight.jp>, 2011-2013.
 msgid ""
 msgstr ""
 "Project-Id-Version: Yum\n"
-"Report-Msgid-Bugs-To: http://yum.baseurl.org/\n"
-"POT-Creation-Date: 2011-06-06 10:21-0400\n"
-"PO-Revision-Date: 2011-06-06 14:21+0000\n"
-"Last-Translator: skvidal <skvidal@fedoraproject.org>\n"
-"Language-Team: Japanese (http://www.transifex.net/projects/p/yum/team/ja/)\n"
+"Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
+"POT-Creation-Date: 2013-01-30 09:08-0500\n"
+"PO-Revision-Date: 2013-02-23 18:39+0000\n"
+"Last-Translator: Tadashi \"ELF\" Jokagi <elf@poyo.jp>\n"
+"Language-Team: Japanese (http://www.transifex.com/projects/p/yum/language/ja/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Language: ja\n"
-"Plural-Forms: nplurals=1; plural=0\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
 
-#: ../callback.py:48 ../output.py:1037 ../yum/rpmtrans.py:73
+#: ../callback.py:45 ../output.py:1502 ../yum/rpmtrans.py:73
 msgid "Updating"
-msgstr "更新"
+msgstr "更新します"
 
-#: ../callback.py:49 ../yum/rpmtrans.py:74
+#: ../callback.py:46 ../yum/rpmtrans.py:74
 msgid "Erasing"
 msgstr "削除中"
 
-#: ../callback.py:50 ../callback.py:51 ../callback.py:53 ../output.py:1036
-#: ../output.py:2218 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
+#: ../callback.py:47 ../callback.py:48 ../callback.py:50 ../output.py:1501
+#: ../output.py:2922 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
 #: ../yum/rpmtrans.py:78
 msgid "Installing"
-msgstr "インストールしています"
+msgstr "インストール中"
 
-#: ../callback.py:52 ../callback.py:58 ../output.py:1840 ../yum/rpmtrans.py:77
+#: ../callback.py:49 ../callback.py:55 ../output.py:2379 ../yum/rpmtrans.py:77
 msgid "Obsoleted"
 msgstr "不要"
 
-#: ../callback.py:54 ../output.py:1169 ../output.py:1686 ../output.py:1847
+#: ../callback.py:51 ../output.py:1670 ../output.py:2222 ../output.py:2386
 msgid "Updated"
 msgstr "更新"
 
-#: ../callback.py:55 ../output.py:1685
+#: ../callback.py:52 ../output.py:2221
 msgid "Erased"
 msgstr "削除"
 
-#: ../callback.py:56 ../callback.py:57 ../callback.py:59 ../output.py:1167
-#: ../output.py:1685 ../output.py:1687 ../output.py:2190
+#: ../callback.py:53 ../callback.py:54 ../callback.py:56 ../output.py:1668
+#: ../output.py:2221 ../output.py:2223 ../output.py:2894
 msgid "Installed"
 msgstr "インストール"
 
-#: ../callback.py:130
+#: ../callback.py:142
 msgid "No header - huh?"
-msgstr "ヘッダーがありません - はて?"
+msgstr "ヘッダーがありません"
 
-#: ../callback.py:168
+#: ../callback.py:180
 msgid "Repackage"
 msgstr "再パッケージ"
 
-#: ../callback.py:189
+#: ../callback.py:201
 #, python-format
 msgid "Error: invalid output state: %s for %s"
 msgstr "エラー: 不正な出力状態: %s for %s"
 
-#: ../callback.py:212
+#: ../callback.py:224
 #, python-format
 msgid "Erased: %s"
 msgstr "削除しました: %s"
 
-#: ../callback.py:217 ../output.py:1038 ../output.py:2193
+#: ../callback.py:229 ../output.py:1503 ../output.py:2897
 msgid "Removing"
-msgstr "削除"
+msgstr "削除中"
 
-#: ../callback.py:219 ../yum/rpmtrans.py:79
+#: ../callback.py:231 ../yum/rpmtrans.py:79
 msgid "Cleanup"
 msgstr "整理中"
 
-#: ../cli.py:115
+#: ../cli.py:122
 #, python-format
 msgid "Command \"%s\" already defined"
 msgstr "コマンド「%s」はすでに定義済みです"
 
-#: ../cli.py:127
+#: ../cli.py:137
 msgid "Setting up repositories"
 msgstr "リポジトリーの設定"
 
-#: ../cli.py:138
+#: ../cli.py:148
 msgid "Reading repository metadata in from local files"
 msgstr "ローカルファイルからリポジトリーのメタデータを読み込んでいます"
 
-#: ../cli.py:245 ../utils.py:281
+#: ../cli.py:273 ../cli.py:277 ../utils.py:320
 #, python-format
 msgid "Config Error: %s"
 msgstr "設定エラー: %s"
 
-#: ../cli.py:248 ../cli.py:1584 ../utils.py:284
+#: ../cli.py:280 ../cli.py:2206 ../utils.py:323
 #, python-format
 msgid "Options Error: %s"
 msgstr "オプションエラー: %s"
 
-#: ../cli.py:293
+#: ../cli.py:327
 #, python-format
 msgid "  Installed: %s-%s at %s"
 msgstr "インストール: %s-%s (日時: %s)"
 
-#: ../cli.py:295
+#: ../cli.py:329
 #, python-format
 msgid "  Built    : %s at %s"
 msgstr "  構築      : %s  (日時: %s)"
 
-#: ../cli.py:297
+#: ../cli.py:331
 #, python-format
 msgid "  Committed: %s at %s"
 msgstr "  コミット  : %s (日時: %s)"
 
-#: ../cli.py:336
+#: ../cli.py:372
 msgid "You need to give some command"
 msgstr "いくつかのコマンドを指定する必要があります"
 
-#: ../cli.py:350
+#: ../cli.py:386
 #, python-format
 msgid "No such command: %s. Please use %s --help"
 msgstr "コマンド「%s」が見つかりません。「%s --help」を実行してください。"
 
-#: ../cli.py:400
+#: ../cli.py:444
 msgid "Disk Requirements:\n"
 msgstr "ディスク要求:\n"
 
-#: ../cli.py:402
+#: ../cli.py:446
 #, python-format
 msgid "  At least %dMB more space needed on the %s filesystem.\n"
-msgstr "  少なくとも %dMB の空き容量がファイルシステム %s で必要です。\n"
+msgid_plural "  At least %dMB more space needed on the %s filesystem.\n"
+msgstr[0] "  少なくとも %dMB の空き容量がファイルシステム %s で必要です。\n"
 
 #. TODO: simplify the dependency errors?
 #. Fixup the summary
-#: ../cli.py:407
+#: ../cli.py:451
 msgid ""
 "Error Summary\n"
 "-------------\n"
-msgstr ""
-"エラーの要約\n"
-"-------------\n"
+msgstr "エラーの要約\n-------------\n"
+
+#: ../cli.py:472
+msgid "Can't create lock file; exiting"
+msgstr "ロック ファイルの作成に失敗しました。終了します"
 
-#: ../cli.py:450
+#: ../cli.py:479
+msgid ""
+"Another app is currently holding the yum lock; exiting as configured by "
+"exit_on_lock"
+msgstr "別のアプリケーションが現在 yum のロックを持っています。exit_on_lock による設定が存在します"
+
+#: ../cli.py:532
 msgid "Trying to run the transaction but nothing to do. Exiting."
 msgstr "トランザクションの実行を試みましたが、何もありませんでした。終了します。"
 
-#: ../cli.py:497
+#: ../cli.py:577
+msgid "future rpmdb ver mismatched saved transaction version,"
+msgstr ""
+
+#: ../cli.py:579 ../yum/__init__.py:6523
+msgid " ignoring, as requested."
+msgstr ""
+
+#: ../cli.py:582 ../yum/__init__.py:6526 ../yum/__init__.py:6673
+msgid " aborting."
+msgstr " 中止しています。"
+
+#: ../cli.py:588
 msgid "Exiting on user Command"
 msgstr "ユーザーコマンドを終了しています"
 
-#: ../cli.py:501
+#: ../cli.py:592
 msgid "Downloading Packages:"
 msgstr "パッケージをダウンロードしています:"
 
-#: ../cli.py:506
+#: ../cli.py:597
 msgid "Error Downloading Packages:\n"
 msgstr "パッケージのダウンロードでエラー:\n"
 
-#: ../cli.py:525 ../yum/__init__.py:4967
+#: ../cli.py:616 ../yum/__init__.py:6215
 msgid "Running Transaction Check"
 msgstr "トランザクションのチェックを実行してします。"
 
-#: ../cli.py:534 ../yum/__init__.py:4976
+#: ../cli.py:625 ../yum/__init__.py:6224
 msgid "ERROR You need to update rpm to handle:"
 msgstr "エラー: RPM の更新のためのハンドルを更新する必要があります"
 
-#: ../cli.py:536 ../yum/__init__.py:4979
+#: ../cli.py:627 ../yum/__init__.py:6227
 msgid "ERROR with transaction check vs depsolve:"
 msgstr ""
 
-#: ../cli.py:542
+#: ../cli.py:633
 msgid "RPM needs to be updated"
 msgstr "更新には RPM が必要です"
 
-#: ../cli.py:543
+#: ../cli.py:634
 #, python-format
 msgid "Please report this error in %s"
 msgstr "%s にこのエラーを報告してください"
 
-#: ../cli.py:549
+#: ../cli.py:640
 msgid "Running Transaction Test"
 msgstr "トランザクションのテストを実行しています"
 
-#: ../cli.py:561
+#: ../cli.py:652
 msgid "Transaction Check Error:\n"
 msgstr "トランザクションの確認エラー\n"
 
-#: ../cli.py:568
+#: ../cli.py:659
 msgid "Transaction Test Succeeded"
 msgstr "トランザクションのテストを成功しました"
 
-#: ../cli.py:600
+#: ../cli.py:691
 msgid "Running Transaction"
 msgstr "トランザクションを実行しています"
 
-#: ../cli.py:630
+#: ../cli.py:724
 msgid ""
 "Refusing to automatically import keys when running unattended.\n"
 "Use \"-y\" to override."
 msgstr ""
 
-#: ../cli.py:649 ../cli.py:692
+#: ../cli.py:743 ../cli.py:786
 msgid "  * Maybe you meant: "
 msgstr "  * おそらくの意味: "
 
-#: ../cli.py:675 ../cli.py:683
+#: ../cli.py:769 ../cli.py:777
 #, python-format
 msgid "Package(s) %s%s%s available, but not installed."
 msgstr "パッケージ %s%s%s は利用できますが、インストールしませんでした。"
 
-#: ../cli.py:689 ../cli.py:722 ../cli.py:908
+#: ../cli.py:783 ../cli.py:891 ../cli.py:1158
 #, python-format
 msgid "No package %s%s%s available."
 msgstr "パッケージ %s%s%s は利用できません。"
 
-#: ../cli.py:729 ../cli.py:973
-msgid "Package(s) to install"
-msgstr "インストールするパッケージ"
+#: ../cli.py:871 ../cli.py:881 ../cli.py:1101 ../cli.py:1111
+#, python-format
+msgid "Bad %s argument %s."
+msgstr ""
+
+#: ../cli.py:900 ../yumcommands.py:3331
+#, python-format
+msgid "%d package to install"
+msgid_plural "%d packages to install"
+msgstr[0] "インストールする %d 個のパッケージ"
 
-#: ../cli.py:732 ../cli.py:733 ../cli.py:914 ../cli.py:948 ../cli.py:974
-#: ../yumcommands.py:190
+#: ../cli.py:903 ../cli.py:904 ../cli.py:1169 ../cli.py:1170 ../cli.py:1224
+#: ../cli.py:1225 ../cli.py:1260 ../yumcommands.py:323 ../yumcommands.py:3419
 msgid "Nothing to do"
 msgstr "何もしません"
 
-#: ../cli.py:767
+#: ../cli.py:953
 #, python-format
-msgid "%d packages marked for Update"
-msgstr "%d 個のパッケージが更新の設定しました。"
+msgid "%d package marked for Update"
+msgid_plural "%d packages marked for Update"
+msgstr[0] "%d 個のパッケージが更新対象としてマークされました"
 
-#: ../cli.py:770
+#: ../cli.py:955
 msgid "No Packages marked for Update"
-msgstr "更新と設定されたパッケージがありません。"
+msgstr "更新対象とマークされたパッケージはありません。"
 
-#: ../cli.py:866
+#: ../cli.py:1067
 #, python-format
-msgid "%d packages marked for Distribution Synchronization"
-msgstr "%d 個のパッケージを同期配信に設定しました。"
+msgid "%d package marked for Distribution Synchronization"
+msgid_plural "%d packages marked for Distribution Synchronization"
+msgstr[0] "%d 個のパッケージがディストリビューション同期対象としてマークされています"
 
-#: ../cli.py:869
+#: ../cli.py:1069
 msgid "No Packages marked for Distribution Synchronization"
-msgstr "パッケージが同期配信に設定したパッケージはありません。"
+msgstr "ディストリビューション同期対象にマークされたパッケージはありません。"
 
-#: ../cli.py:885
+#: ../cli.py:1124
 #, python-format
-msgid "%d packages marked for removal"
-msgstr "%d 個のパッケージを削除に設定しました。"
+msgid "%d package marked for removal"
+msgid_plural "%d packages marked for removal"
+msgstr[0] "%d 個のパッケージが削除対象としてマークされました"
 
-#: ../cli.py:888
+#: ../cli.py:1126
 msgid "No Packages marked for removal"
-msgstr "削除と設定したパッケージはありません。"
+msgstr "削除対象とマークされたパッケージはありません。"
 
-#: ../cli.py:913
-msgid "Package(s) to downgrade"
-msgstr "ダウングレードするパッケージ"
+#: ../cli.py:1166
+#, python-format
+msgid "%d package to downgrade"
+msgid_plural "%d packages to downgrade"
+msgstr[0] "ダウングレードする %d 個のパッケージ"
 
-#: ../cli.py:938
+#: ../cli.py:1207
 #, python-format
 msgid " (from %s)"
 msgstr " (%s から)"
 
-#: ../cli.py:939
+#: ../cli.py:1208
 #, python-format
 msgid "Installed package %s%s%s%s not available."
 msgstr "インストール済みパッケージ %s%s%s%s は利用できません。"
 
-#: ../cli.py:947
-msgid "Package(s) to reinstall"
-msgstr "再インストールするパッケージ"
+#: ../cli.py:1221
+#, python-format
+msgid "%d package to reinstall"
+msgid_plural "%d packages to reinstall"
+msgstr[0] "再インストールする %d 個のパッケージ"
 
-#: ../cli.py:960
+#: ../cli.py:1246
 msgid "No Packages Provided"
 msgstr "パッケージが提供されていません。"
 
-#: ../cli.py:1058
+#: ../cli.py:1259
+msgid "Package(s) to install"
+msgstr "インストールするパッケージ"
+
+#: ../cli.py:1367
 #, python-format
 msgid "N/S Matched: %s"
 msgstr ""
 
-#: ../cli.py:1075
+#: ../cli.py:1384
 #, python-format
 msgid "  Name and summary matches %sonly%s, use \"search all\" for everything."
 msgstr ""
 
-#: ../cli.py:1077
+#: ../cli.py:1386
 #, python-format
 msgid ""
 "  Full name and summary matches %sonly%s, use \"search all\" for everything."
 msgstr ""
 
-#: ../cli.py:1095
+#: ../cli.py:1404
 #, python-format
 msgid "Matched: %s"
 msgstr "一致: %s"
 
-#: ../cli.py:1102
+#: ../cli.py:1411
 #, python-format
 msgid "  Name and summary matches %smostly%s, use \"search all\" for everything."
 msgstr ""
 
-#: ../cli.py:1106
+#: ../cli.py:1415
 #, python-format
 msgid "Warning: No matches found for: %s"
 msgstr "警告: 一致するものが見つかりません: %s"
 
-#: ../cli.py:1109
+#: ../cli.py:1418
 msgid "No Matches found"
 msgstr "見つかりませんでした"
 
-#: ../cli.py:1174
+#: ../cli.py:1536
 #, python-format
-msgid "No Package Found for %s"
-msgstr "%s のパッケージが見つかりません"
+msgid ""
+"Error: No Packages found for:\n"
+"  %s"
+msgstr ""
 
-#: ../cli.py:1184
+#: ../cli.py:1572
 msgid "Cleaning repos: "
 msgstr "リポジトリーを清掃しています: "
 
-#: ../cli.py:1189
+#: ../cli.py:1577
 msgid "Cleaning up Everything"
 msgstr "すべて掃除しています"
 
-#: ../cli.py:1205
+#: ../cli.py:1593
 msgid "Cleaning up Headers"
 msgstr "ヘッダーを掃除しています"
 
-#: ../cli.py:1208
+#: ../cli.py:1596
 msgid "Cleaning up Packages"
 msgstr "パッケージを掃除しています"
 
-#: ../cli.py:1211
+#: ../cli.py:1599
 msgid "Cleaning up xml metadata"
 msgstr "XML メタデータを掃除しています"
 
-#: ../cli.py:1214
+#: ../cli.py:1602
 msgid "Cleaning up database cache"
 msgstr "データベースキャッシュを掃除しています"
 
-#: ../cli.py:1217
+#: ../cli.py:1605
 msgid "Cleaning up expire-cache metadata"
 msgstr "期限切れのメタデータキャッシュを掃除しています"
 
-#: ../cli.py:1220
+#: ../cli.py:1608
 msgid "Cleaning up cached rpmdb data"
 msgstr "キャッシュ済み rpmdb データを掃除しています"
 
-#: ../cli.py:1223
+#: ../cli.py:1611
 msgid "Cleaning up plugins"
 msgstr "プラグインを掃除しています"
 
-#: ../cli.py:1247
-#, python-format
-msgid "Warning: No groups match: %s"
+#: ../cli.py:1727
+msgid "Installed Environment Groups:"
 msgstr ""
 
-#: ../cli.py:1264
+#: ../cli.py:1728
+msgid "Available Environment Groups:"
+msgstr ""
+
+#: ../cli.py:1735
 msgid "Installed Groups:"
 msgstr "インストール済みグループ:"
 
-#: ../cli.py:1270
+#: ../cli.py:1742
 msgid "Installed Language Groups:"
-msgstr ""
+msgstr "インストール済みの言語グループ:"
 
-#: ../cli.py:1276
+#: ../cli.py:1749
 msgid "Available Groups:"
 msgstr "利用可能なグループ"
 
-#: ../cli.py:1282
+#: ../cli.py:1756
 msgid "Available Language Groups:"
+msgstr "利用できる言語グループ:"
+
+#: ../cli.py:1759
+#, python-format
+msgid "Warning: No Environments/Groups match: %s"
 msgstr ""
 
-#: ../cli.py:1285
+#: ../cli.py:1763
 msgid "Done"
 msgstr "完了"
 
-#: ../cli.py:1296 ../cli.py:1314 ../cli.py:1320 ../yum/__init__.py:3313
+#: ../cli.py:1818
+#, python-format
+msgid "Warning: Group/Environment %s does not exist."
+msgstr ""
+
+#: ../cli.py:1859
+#, python-format
+msgid "Warning: Environment %s does not exist."
+msgstr ""
+
+#: ../cli.py:1873 ../cli.py:1879 ../yum/__init__.py:4254
 #, python-format
 msgid "Warning: Group %s does not exist."
 msgstr "警告: グループ %s が存在しません。"
 
-#: ../cli.py:1324
+#: ../cli.py:1883
 msgid "No packages in any requested group available to install or update"
 msgstr "インストールまたは更新に利用できるいくつかの要求されたグループにパッケージがありません"
 
-#: ../cli.py:1326
+#: ../cli.py:1885
+#, python-format
+msgid "%d package to Install"
+msgid_plural "%d packages to Install"
+msgstr[0] "インストールする %d 個のパッケージ"
+
+#: ../cli.py:1919 ../yum/__init__.py:3536 ../yum/__init__.py:3766
+#: ../yum/__init__.py:3824
 #, python-format
-msgid "%d Package(s) to Install"
-msgstr "%d 個のパッケージをインストールします"
+msgid "No Environment named %s exists"
+msgstr ""
 
-#: ../cli.py:1336 ../yum/__init__.py:3325
+#: ../cli.py:1935 ../yum/__init__.py:4282
 #, python-format
 msgid "No group named %s exists"
 msgstr "グループ名 %s が存在しません"
 
-#: ../cli.py:1342
+#: ../cli.py:1945
 msgid "No packages to remove from groups"
 msgstr "グループから削除するパッケージがありません"
 
-#: ../cli.py:1344
+#: ../cli.py:1947 ../yumcommands.py:3351
 #, python-format
-msgid "%d Package(s) to remove"
-msgstr "%d 個のパッケージを削除します"
+msgid "%d package to remove"
+msgid_plural "%d packages to remove"
+msgstr[0] "削除する %d 個のパッケージ"
 
-#: ../cli.py:1386
+#: ../cli.py:1988
 #, python-format
 msgid "Package %s is already installed, skipping"
-msgstr "パッケージ %s は既にインストールされているので飛ばします"
+msgstr "パッケージ %s は、すでにインストールされているので飛ばします"
 
-#: ../cli.py:1397
+#: ../cli.py:1999
 #, python-format
 msgid "Discarding non-comparable pkg %s.%s"
 msgstr "非互換のパッケージ %s.%s を破棄しています"
 
 #. we've not got any installed that match n or n+a
-#: ../cli.py:1423
+#: ../cli.py:2025
 #, python-format
 msgid "No other %s installed, adding to list for potential install"
 msgstr ""
 
-#: ../cli.py:1443
+#: ../cli.py:2045
 msgid "Plugin Options"
 msgstr "プラグインのオプション"
 
-#: ../cli.py:1451
+#: ../cli.py:2057
 #, python-format
 msgid "Command line error: %s"
 msgstr "コマンドライン エラー: %s"
 
-#: ../cli.py:1467
+#: ../cli.py:2079
 #, python-format
 msgid ""
 "\n"
 "\n"
 "%s: %s option requires an argument"
-msgstr ""
-"\n"
-"\n"
-"%s: オプション %s は引数が必要です "
+msgstr "\n\n%s: オプション %s は引数が必要です "
 
-#: ../cli.py:1521
+#: ../cli.py:2147
 msgid "--color takes one of: auto, always, never"
 msgstr "--color がとることができる値な次のうちひとつです: auto、always、never"
 
 #. We have a relative installroot ... haha
-#: ../cli.py:1596
+#: ../cli.py:2218
 #, python-format
 msgid "--installroot must be an absolute path: %s"
-msgstr ""
+msgstr "--installroot は絶対パスでなければなりません: %s"
 
-#: ../cli.py:1642
+#: ../cli.py:2272
 msgid "show this help message and exit"
 msgstr "このヘルプ メッセージを表示して終了する"
 
-#: ../cli.py:1646
+#: ../cli.py:2276
 msgid "be tolerant of errors"
 msgstr "エラーを黙認する"
 
-#: ../cli.py:1649
+#: ../cli.py:2279
 msgid "run entirely from system cache, don't update cache"
 msgstr "キャッシュから完全に実行し、キャッシュを更新しません"
 
-#: ../cli.py:1652
+#: ../cli.py:2282
 msgid "config file location"
 msgstr "構成ファイルの場所"
 
-#: ../cli.py:1655
+#: ../cli.py:2285
 msgid "maximum command wait time"
 msgstr "コマンドの最大待ち時間"
 
-#: ../cli.py:1657
+#: ../cli.py:2287
 msgid "debugging output level"
 msgstr "デバッグ情報の出力レベル"
 
-#: ../cli.py:1661
+#: ../cli.py:2291
 msgid "show duplicates, in repos, in list/search commands"
 msgstr "一覧/検索コマンドのリポジトリーの重複の表示"
 
-#: ../cli.py:1663
+#: ../cli.py:2296
 msgid "error output level"
 msgstr "エラー出力レベル"
 
-#: ../cli.py:1666
+#: ../cli.py:2299
 msgid "debugging output level for rpm"
 msgstr "rpm のデバッグ情報の出力レベル"
 
-#: ../cli.py:1669
+#: ../cli.py:2302
 msgid "quiet operation"
 msgstr "静かに処理をする"
 
-#: ../cli.py:1671
+#: ../cli.py:2304
 msgid "verbose operation"
 msgstr "冗長に処理をする"
 
-#: ../cli.py:1673
+#: ../cli.py:2306
 msgid "answer yes for all questions"
 msgstr "すべての問い合わせに「yes」で答える"
 
-#: ../cli.py:1675
+#: ../cli.py:2308
+msgid "answer no for all questions"
+msgstr "すべての質問にいいえを回答します"
+
+#: ../cli.py:2312
 msgid "show Yum version and exit"
 msgstr "Yum のバージョンを表示して終了する"
 
-#: ../cli.py:1676
+#: ../cli.py:2313
 msgid "set install root"
 msgstr "インストールのベース ディレクトリーを設定する"
 
-#: ../cli.py:1680
+#: ../cli.py:2317
 msgid "enable one or more repositories (wildcards allowed)"
 msgstr "ひとつ以上のリポジトリーを有効にする (ワイルドカード許可)"
 
-#: ../cli.py:1684
+#: ../cli.py:2321
 msgid "disable one or more repositories (wildcards allowed)"
 msgstr "ひとつ以上のリポジトリーを無効にする (ワイルドカード許可)"
 
-#: ../cli.py:1687
+#: ../cli.py:2324
 msgid "exclude package(s) by name or glob"
 msgstr "名前かワイルドカードでパッケージを除外する"
 
-#: ../cli.py:1689
+#: ../cli.py:2326
 msgid "disable exclude from main, for a repo or for everything"
 msgstr "main、あるリポジトリー、またはすべてからの除外を無効にします。"
 
-#: ../cli.py:1692
+#: ../cli.py:2329
 msgid "enable obsoletes processing during updates"
 msgstr "更新中に不要な処理を有効にします"
 
-#: ../cli.py:1694
+#: ../cli.py:2331
 msgid "disable Yum plugins"
 msgstr "Yum プラグインを無効にする"
 
-#: ../cli.py:1696
+#: ../cli.py:2333
 msgid "disable gpg signature checking"
 msgstr "GPG 署名の確認を無効にする"
 
-#: ../cli.py:1698
+#: ../cli.py:2335
 msgid "disable plugins by name"
 msgstr "名前でプラグインを無効にする"
 
-#: ../cli.py:1701
+#: ../cli.py:2338
 msgid "enable plugins by name"
 msgstr "名前でプラグインを有効にする"
 
-#: ../cli.py:1704
+#: ../cli.py:2341
 msgid "skip packages with depsolving problems"
-msgstr "依存性に問題があるパッケージを飛ばす"
+msgstr "依存性関連に問題があるパッケージを飛ばす"
 
-#: ../cli.py:1706
+#: ../cli.py:2343
 msgid "control whether color is used"
 msgstr "色を使うかどうか制御する"
 
-#: ../cli.py:1708
+#: ../cli.py:2345
 msgid "set value of $releasever in yum config and repo files"
 msgstr "yum 設定と repo ファイルに $releasever の値を設定する"
 
-#: ../cli.py:1710
+#: ../cli.py:2347
+msgid "don't update, just download"
+msgstr ""
+
+#: ../cli.py:2349
+msgid "specifies an alternate directory to store packages"
+msgstr ""
+
+#: ../cli.py:2351
 msgid "set arbitrary config and repo options"
 msgstr "全体設定とリポジトリー オプションの任意に設定する"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Jan"
 msgstr "1 月"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Feb"
 msgstr "2 月"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Mar"
 msgstr "3 月"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Apr"
 msgstr "4 月"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "May"
 msgstr "5 月"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Jun"
 msgstr "6 月"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Jul"
 msgstr "7 月"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Aug"
 msgstr "8 月"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Sep"
 msgstr "9 月"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Oct"
 msgstr "10 月"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Nov"
 msgstr "11 月"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Dec"
 msgstr "12 月"
 
-#: ../output.py:318
+#: ../output.py:473
 msgid "Trying other mirror."
 msgstr "他のミラーを試します。"
 
-#: ../output.py:581
+#: ../output.py:816
 #, python-format
 msgid "Name        : %s%s%s"
 msgstr "名前                : %s%s%s"
 
-#: ../output.py:582
+#: ../output.py:817
 #, python-format
 msgid "Arch        : %s"
-msgstr "アーキテクチャ      : %s"
+msgstr "アーキテクチャー    : %s"
 
-#: ../output.py:584
+#: ../output.py:819
 #, python-format
 msgid "Epoch       : %s"
 msgstr "エポック            : %s"
 
-#: ../output.py:585
+#: ../output.py:820
 #, python-format
 msgid "Version     : %s"
 msgstr "バージョン          : %s"
 
-#: ../output.py:586
+#: ../output.py:821
 #, python-format
 msgid "Release     : %s"
 msgstr "リリース            : %s"
 
-#: ../output.py:587
+#: ../output.py:822
 #, python-format
 msgid "Size        : %s"
 msgstr "容量                : %s"
 
-#: ../output.py:588 ../output.py:900
+#: ../output.py:823 ../output.py:1329
 #, python-format
 msgid "Repo        : %s"
 msgstr "リポジトリー        : %s"
 
-#: ../output.py:590
+#: ../output.py:825
 #, python-format
 msgid "From repo   : %s"
 msgstr "提供元リポジトリー  : %s"
 
-#: ../output.py:592
+#: ../output.py:827
 #, python-format
 msgid "Committer   : %s"
 msgstr "コミット者          : %s"
 
-#: ../output.py:593
+#: ../output.py:828
 #, python-format
 msgid "Committime  : %s"
 msgstr "コミット日時        : %s"
 
-#: ../output.py:594
+#: ../output.py:829
 #, python-format
 msgid "Buildtime   : %s"
 msgstr "ビルド日時          : %s"
 
-#: ../output.py:596
+#: ../output.py:831
 #, python-format
 msgid "Install time: %s"
 msgstr "インストール日時    : %s "
 
-#: ../output.py:604
+#: ../output.py:839
 #, python-format
 msgid "Installed by: %s"
 msgstr "インストール済み容量: %s"
 
-#: ../output.py:611
+#: ../output.py:846
 #, python-format
 msgid "Changed by  : %s"
 msgstr "変更者              : %s"
 
-#: ../output.py:612
+#: ../output.py:847
 msgid "Summary     : "
 msgstr "要約                : "
 
-#: ../output.py:614 ../output.py:913
+#: ../output.py:849 ../output.py:1345
 #, python-format
 msgid "URL         : %s"
 msgstr "URL                 : %s"
 
-#: ../output.py:615
+#: ../output.py:850
 msgid "License     : "
 msgstr "ライセンス          : "
 
-#: ../output.py:616 ../output.py:910
+#: ../output.py:851 ../output.py:1342
 msgid "Description : "
 msgstr "説明                : "
 
-#: ../output.py:684
+#: ../output.py:969
 msgid "y"
 msgstr "y"
 
-#: ../output.py:684
+#: ../output.py:969
 msgid "yes"
 msgstr "はい"
 
-#: ../output.py:685
+#: ../output.py:970
 msgid "n"
 msgstr "n"
 
-#: ../output.py:685
+#: ../output.py:970
 msgid "no"
 msgstr "いいえ"
 
-#: ../output.py:689
+#: ../output.py:974
 msgid "Is this ok [y/N]: "
-msgstr "これでいいですか? [y/N]"
+msgstr "上記の処理を行います。よろしいでしょうか？ [y/N]"
 
-#: ../output.py:777
+#: ../output.py:1097
 #, python-format
 msgid ""
 "\n"
 "Group: %s"
-msgstr ""
-"\n"
-"グループ: %s"
+msgstr "\nグループ: %s"
 
-#: ../output.py:781
+#: ../output.py:1101
 #, python-format
 msgid " Group-Id: %s"
 msgstr " グループ ID: %s"
 
-#: ../output.py:786
+#: ../output.py:1122 ../output.py:1169
 #, python-format
 msgid " Description: %s"
 msgstr " 説明: %s"
 
-#: ../output.py:788
+#: ../output.py:1124
 #, python-format
 msgid " Language: %s"
-msgstr ""
+msgstr " 言語: %s"
 
-#: ../output.py:790
+#: ../output.py:1126
 msgid " Mandatory Packages:"
 msgstr " 強制的なパッケージ:"
 
-#: ../output.py:791
+#: ../output.py:1127
 msgid " Default Packages:"
 msgstr " 標準パッケージ:"
 
-#: ../output.py:792
+#: ../output.py:1128
 msgid " Optional Packages:"
 msgstr " オプション パッケージ:"
 
-#: ../output.py:793
+#: ../output.py:1129
 msgid " Conditional Packages:"
 msgstr " 条件付パッケージ:"
 
-#: ../output.py:814
+#: ../output.py:1147
+msgid " Installed Packages:"
+msgstr ""
+
+#: ../output.py:1157
+#, python-format
+msgid ""
+"\n"
+"Environment Group: %s"
+msgstr ""
+
+#: ../output.py:1158
+#, python-format
+msgid " Environment-Id: %s"
+msgstr ""
+
+#: ../output.py:1191
+msgid " Mandatory Groups:"
+msgstr ""
+
+#: ../output.py:1192
+msgid " Optional Groups:"
+msgstr ""
+
+#: ../output.py:1205
+msgid " Installed Groups:"
+msgstr ""
+
+#: ../output.py:1217
 #, python-format
 msgid "package: %s"
 msgstr "パッケージ    : %s"
 
-#: ../output.py:816
+#: ../output.py:1219
 msgid "  No dependencies for this package"
 msgstr "  このパッケージの依存はありません"
 
-#: ../output.py:821
+#: ../output.py:1224
 #, python-format
 msgid "  dependency: %s"
 msgstr "  依存性      : %s"
 
-#: ../output.py:823
+#: ../output.py:1226
 msgid "   Unsatisfied dependency"
 msgstr "  満たされていない依存性"
 
-#: ../output.py:901
+#: ../output.py:1337
 msgid "Matched from:"
 msgstr "一致          :"
 
-#: ../output.py:916
+#: ../output.py:1348
 #, python-format
 msgid "License     : %s"
 msgstr "ライセンス    : %s"
 
-#: ../output.py:919
+#: ../output.py:1351
 #, python-format
 msgid "Filename    : %s"
 msgstr "ファイル名    : %s"
 
-#: ../output.py:923
+#: ../output.py:1360
+msgid "Provides    : "
+msgstr ""
+
+#: ../output.py:1363
 msgid "Other       : "
 msgstr "その他        : "
 
-#: ../output.py:966
+#: ../output.py:1426
 msgid "There was an error calculating total download size"
 msgstr "総ダウンロード容量の計算中にエラーです。"
 
-#: ../output.py:971
+#: ../output.py:1431
 #, python-format
 msgid "Total size: %s"
 msgstr "合計容量: %s"
 
-#: ../output.py:974
+#: ../output.py:1433
 #, python-format
 msgid "Total download size: %s"
 msgstr "総ダウンロード容量: %s"
 
-#: ../output.py:978 ../output.py:998
+#: ../output.py:1436 ../output.py:1459 ../output.py:1463
 #, python-format
 msgid "Installed size: %s"
-msgstr "インストール済み容量: %s"
+msgstr "インストール容量: %s"
 
-#: ../output.py:994
+#: ../output.py:1454
 msgid "There was an error calculating installed size"
 msgstr "インストール容量の計算中にエラーです。"
 
-#: ../output.py:1039
+#: ../output.py:1504
 msgid "Reinstalling"
 msgstr "再インストール中"
 
-#: ../output.py:1040
+#: ../output.py:1505
 msgid "Downgrading"
 msgstr "ダウングレード中"
 
-#: ../output.py:1041
+#: ../output.py:1506
 msgid "Installing for dependencies"
-msgstr "依存性関連でのインストールをします。"
+msgstr "依存性関連でのインストールをします"
 
-#: ../output.py:1042
+#: ../output.py:1507
 msgid "Updating for dependencies"
-msgstr "依存性関連での更新をします。"
+msgstr "依存性関連での更新をします"
 
-#: ../output.py:1043
+#: ../output.py:1508
 msgid "Removing for dependencies"
-msgstr "依存性関連での削除をします。"
+msgstr "依存性関連での削除をします"
 
-#: ../output.py:1050 ../output.py:1171
+#: ../output.py:1515 ../output.py:1576 ../output.py:1672
 msgid "Skipped (dependency problems)"
 msgstr "飛ばしました (依存性の問題)"
 
-#: ../output.py:1052 ../output.py:1687
+#: ../output.py:1517 ../output.py:1577 ../output.py:2223
 msgid "Not installed"
 msgstr "未インストール"
 
-#: ../output.py:1053
+#: ../output.py:1518 ../output.py:1578
 msgid "Not available"
-msgstr ""
+msgstr "利用できません"
 
-#: ../output.py:1075 ../output.py:2024
+#: ../output.py:1540 ../output.py:1588 ../output.py:1604 ../output.py:2581
 msgid "Package"
-msgstr "パッケージ"
+msgid_plural "Packages"
+msgstr[0] "パッケージ"
 
-#: ../output.py:1075
+#: ../output.py:1540
 msgid "Arch"
-msgstr "アーキテクチャ"
+msgstr "アーキテクチャー"
 
-#: ../output.py:1076
+#: ../output.py:1541
 msgid "Version"
 msgstr "バージョン"
 
-#: ../output.py:1076
+#: ../output.py:1541
 msgid "Repository"
 msgstr "リポジトリー"
 
-#: ../output.py:1077
+#: ../output.py:1542
 msgid "Size"
 msgstr "容量"
 
-#: ../output.py:1089
+#: ../output.py:1554
 #, python-format
 msgid "     replacing  %s%s%s.%s %s\n"
-msgstr "     置き換えています  %s%s%s.%s %s\n"
+msgstr "     %s%s%s.%s %s を入れ替えます\n"
 
-#: ../output.py:1098
+#: ../output.py:1563
 #, python-format
 msgid ""
 "\n"
 "Transaction Summary\n"
 "%s\n"
-msgstr ""
-"\n"
-"トランザクションの要約\n"
-"%s\n"
+msgstr "\nトランザクションの要約\n%s\n"
 
-#: ../output.py:1109
-#, python-format
-msgid "Install   %5.5s Package(s)\n"
-msgstr "インストール     %5.5s パッケージ\n"
+#: ../output.py:1568 ../output.py:2376 ../output.py:2377
+msgid "Install"
+msgstr "インストール"
 
-#: ../output.py:1113
-#, python-format
-msgid "Upgrade   %5.5s Package(s)\n"
-msgstr "アップグレード   %5.5s パッケージ\n"
+#: ../output.py:1570
+msgid "Upgrade"
+msgstr "更新"
 
-#: ../output.py:1117
-#, python-format
-msgid "Remove    %5.5s Package(s)\n"
-msgstr "削除             %5.5s パッケージ\n"
+#: ../output.py:1572
+msgid "Remove"
+msgstr "削除"
 
-#: ../output.py:1121
-#, python-format
-msgid "Reinstall %5.5s Package(s)\n"
-msgstr "再インストール   %5.5s パッケージ\n"
+#: ../output.py:1574 ../output.py:2382
+msgid "Reinstall"
+msgstr "再インストール"
 
-#: ../output.py:1125
-#, python-format
-msgid "Downgrade %5.5s Package(s)\n"
-msgstr "ダウングレード   %5.5s パッケージ\n"
+#: ../output.py:1575 ../output.py:2383
+msgid "Downgrade"
+msgstr "ダウングレード"
+
+#: ../output.py:1606
+msgid "Dependent package"
+msgid_plural "Dependent packages"
+msgstr[0] "個の依存関係のパッケージ"
 
-#: ../output.py:1165
+#: ../output.py:1666
 msgid "Removed"
 msgstr "削除しました"
 
-#: ../output.py:1166
+#: ../output.py:1667
 msgid "Dependency Removed"
 msgstr "依存性の削除をしました"
 
-#: ../output.py:1168
+#: ../output.py:1669
 msgid "Dependency Installed"
 msgstr "依存性関連をインストールしました"
 
-#: ../output.py:1170
+#: ../output.py:1671
 msgid "Dependency Updated"
 msgstr "依存性を更新しました"
 
-#: ../output.py:1172
+#: ../output.py:1673
 msgid "Replaced"
 msgstr "置換"
 
-#: ../output.py:1173
+#: ../output.py:1674
 msgid "Failed"
 msgstr "失敗"
 
 #. Delta between C-c's so we treat as exit
-#: ../output.py:1260
+#: ../output.py:1764
 msgid "two"
 msgstr "2"
 
 #. For translators: This is output like:
 #. Current download cancelled, interrupt (ctrl-c) again within two seconds
 #. to exit.
-#. Where "interupt (ctrl-c) again" and "two" are highlighted.
-#: ../output.py:1271
+#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
+#: ../output.py:1775
 #, python-format
 msgid ""
 "\n"
 " Current download cancelled, %sinterrupt (ctrl-c) again%s within %s%s%s seconds\n"
 "to exit.\n"
-msgstr ""
-"\n"
-"現在のダウンロードをキャンセルしました。終了するには %s再度割り込み ([Ctrl][C]キー)%s を %s%s%s 秒以内に押してください。\n"
+msgstr "\n現在のダウンロードをキャンセルしました。終了するには %s再度割り込み ([Ctrl][C]キー)%s を %s%s%s 秒以内に押してください。\n"
 
-#: ../output.py:1282
+#: ../output.py:1786
 msgid "user interrupt"
 msgstr "ユーザーの割り込み"
 
-#: ../output.py:1300
+#: ../output.py:1812
 msgid "Total"
 msgstr "合計"
 
-#: ../output.py:1322
+#: ../output.py:1834
 msgid "I"
 msgstr "I"
 
-#: ../output.py:1323
+#: ../output.py:1835
 msgid "O"
 msgstr "O"
 
-#: ../output.py:1324
+#: ../output.py:1836
 msgid "E"
 msgstr "E"
 
-#: ../output.py:1325
+#: ../output.py:1837
 msgid "R"
 msgstr "R"
 
-#: ../output.py:1326
+#: ../output.py:1838
 msgid "D"
 msgstr "D"
 
-#: ../output.py:1327
+#: ../output.py:1839
 msgid "U"
 msgstr "U"
 
-#: ../output.py:1341
+#: ../output.py:1853
 msgid "<unset>"
 msgstr "<未設定>"
 
-#: ../output.py:1342
+#: ../output.py:1854
 msgid "System"
 msgstr "システム"
 
-#: ../output.py:1411
+#: ../output.py:1923
 #, python-format
 msgid "Skipping merged transaction %d to %d, as it overlaps"
 msgstr ""
 
-#: ../output.py:1421 ../output.py:1592
+#: ../output.py:1933 ../output.py:2125
 msgid "No transactions"
-msgstr ""
+msgstr "トランザクションがありません"
 
-#: ../output.py:1446 ../output.py:2013
+#: ../output.py:1958 ../output.py:2570 ../output.py:2660
 msgid "Bad transaction IDs, or package(s), given"
 msgstr "指定されたトランザクション ID、またはパッケージがおかしいです"
 
-#: ../output.py:1484
+#: ../output.py:2007
 msgid "Command line"
-msgstr ""
+msgstr "コマンドライン"
 
-#: ../output.py:1486 ../output.py:1908
+#: ../output.py:2009 ../output.py:2458
 msgid "Login user"
 msgstr "ログイン ユーザー"
 
 #. REALLY Needs to use columns!
-#: ../output.py:1487 ../output.py:2022
+#: ../output.py:2010 ../output.py:2579
 msgid "ID"
 msgstr "ID"
 
-#: ../output.py:1489
+#: ../output.py:2012
 msgid "Date and time"
 msgstr "日時"
 
-#: ../output.py:1490 ../output.py:1910 ../output.py:2023
+#: ../output.py:2013 ../output.py:2460 ../output.py:2580
 msgid "Action(s)"
 msgstr "操作"
 
-#: ../output.py:1491 ../output.py:1911
+#: ../output.py:2014 ../output.py:2461
 msgid "Altered"
 msgstr "変更"
 
-#: ../output.py:1538
+#: ../output.py:2061
 msgid "No transaction ID given"
 msgstr "指定されたトランザクション ID がありません。"
 
-#: ../output.py:1564 ../output.py:1972
+#: ../output.py:2087 ../output.py:2526
 msgid "Bad transaction ID given"
 msgstr "指定されたトランザクション ID がおかしいです"
 
-#: ../output.py:1569
+#: ../output.py:2092
 msgid "Not found given transaction ID"
 msgstr "指定されたトランザクション ID が見つかりません"
 
-#: ../output.py:1577
+#: ../output.py:2100
 msgid "Found more than one transaction ID!"
 msgstr "ひとつ以上のトランザクション ID が見つかりません!"
 
-#: ../output.py:1618 ../output.py:1980
+#: ../output.py:2151 ../output.py:2534
 msgid "No transaction ID, or package, given"
 msgstr "指定されたトランザクション ID、またはパッケージが見つかりません。"
 
-#: ../output.py:1686 ../output.py:1845
+#: ../output.py:2222 ../output.py:2384
 msgid "Downgraded"
 msgstr "ダウングレード済み"
 
-#: ../output.py:1688
+#: ../output.py:2224
 msgid "Older"
 msgstr "より古い"
 
-#: ../output.py:1688
+#: ../output.py:2224
 msgid "Newer"
 msgstr "より新しい"
 
-#: ../output.py:1724 ../output.py:1726
+#: ../output.py:2261 ../output.py:2263 ../output.py:2681
 msgid "Transaction ID :"
 msgstr "トランザクション ID :"
 
-#: ../output.py:1728
+#: ../output.py:2265 ../output.py:2683
 msgid "Begin time     :"
 msgstr "開始時間            :"
 
-#: ../output.py:1731 ../output.py:1733
+#: ../output.py:2268 ../output.py:2270
 msgid "Begin rpmdb    :"
 msgstr "開始 rpmdb          :"
 
-#: ../output.py:1749
+#: ../output.py:2286
 #, python-format
 msgid "(%u seconds)"
-msgstr ""
+msgstr "(%u 秒)"
 
-#: ../output.py:1751
+#: ../output.py:2288
 #, python-format
 msgid "(%u minutes)"
-msgstr ""
+msgstr "(%u 分)"
 
-#: ../output.py:1753
+#: ../output.py:2290
 #, python-format
 msgid "(%u hours)"
-msgstr ""
+msgstr "(%u 時間)"
 
-#: ../output.py:1755
+#: ../output.py:2292
 #, python-format
 msgid "(%u days)"
-msgstr ""
+msgstr "(%u 日)"
 
-#: ../output.py:1756
+#: ../output.py:2293
 msgid "End time       :"
 msgstr "終了時間            :"
 
-#: ../output.py:1759 ../output.py:1761
+#: ../output.py:2296 ../output.py:2298
 msgid "End rpmdb      :"
 msgstr "終了 rpmdb          :"
 
-#: ../output.py:1764 ../output.py:1766
+#: ../output.py:2301 ../output.py:2303
 msgid "User           :"
 msgstr "ユーザー            :"
 
-#: ../output.py:1770 ../output.py:1773 ../output.py:1775 ../output.py:1777
-#: ../output.py:1779
+#: ../output.py:2307 ../output.py:2310 ../output.py:2312 ../output.py:2314
+#: ../output.py:2316
 msgid "Return-Code    :"
 msgstr "終了コード          :"
 
-#: ../output.py:1770 ../output.py:1775
+#: ../output.py:2307 ../output.py:2312
 msgid "Aborted"
 msgstr "中断しました"
 
-#: ../output.py:1773
+#: ../output.py:2310
 msgid "Failures:"
-msgstr ""
+msgstr "失敗:"
 
-#: ../output.py:1777
+#: ../output.py:2314
 msgid "Failure:"
 msgstr "失敗しました:"
 
-#: ../output.py:1779
+#: ../output.py:2316
 msgid "Success"
 msgstr "成功"
 
-#: ../output.py:1784 ../output.py:1786
+#: ../output.py:2321 ../output.py:2323 ../output.py:2712
 msgid "Command Line   :"
 msgstr "コマンドライン      :"
 
-#: ../output.py:1795
+#: ../output.py:2332
 #, python-format
 msgid "Additional non-default information stored: %d"
 msgstr "保存済みの追加の非標準な情報: %d"
 
 #. This is _possible_, but not common
-#: ../output.py:1800
+#: ../output.py:2337
 msgid "Transaction performed with:"
 msgstr "トランザクションの実行:"
 
-#: ../output.py:1804
+#: ../output.py:2341
 msgid "Packages Altered:"
 msgstr "切り替えたパッケージ:"
 
-#: ../output.py:1808
+#: ../output.py:2345
 msgid "Packages Skipped:"
 msgstr "パッケージを飛ばします:"
 
-#: ../output.py:1814
+#: ../output.py:2353
 msgid "Rpmdb Problems:"
 msgstr "Rpmdb の問題:"
 
-#: ../output.py:1825
+#: ../output.py:2364
 msgid "Scriptlet output:"
 msgstr "スクリプトの出力:"
 
-#: ../output.py:1831
+#: ../output.py:2370
 msgid "Errors:"
 msgstr "エラー:"
 
-#: ../output.py:1837 ../output.py:1838
-msgid "Install"
-msgstr "インストール"
-
-#: ../output.py:1839
+#: ../output.py:2378
 msgid "Dep-Install"
 msgstr "依存インストール"
 
-#: ../output.py:1841
+#: ../output.py:2380
 msgid "Obsoleting"
 msgstr "不要削除"
 
-#: ../output.py:1842
+#: ../output.py:2381
 msgid "Erase"
 msgstr "削除"
 
-#: ../output.py:1843
-msgid "Reinstall"
-msgstr "再インストール"
-
-#: ../output.py:1844
-msgid "Downgrade"
-msgstr "ダウングレード"
-
-#: ../output.py:1846
+#: ../output.py:2385
 msgid "Update"
 msgstr "更新"
 
-#: ../output.py:1909
+#: ../output.py:2459
 msgid "Time"
 msgstr "時間"
 
-#: ../output.py:1935
+#: ../output.py:2485
 msgid "Last day"
 msgstr "昨日"
 
-#: ../output.py:1936
+#: ../output.py:2486
 msgid "Last week"
 msgstr "先週"
 
-#: ../output.py:1937
+#: ../output.py:2487
 msgid "Last 2 weeks"
 msgstr "最近の 2 週間"
 
 #. US default :p
-#: ../output.py:1938
+#: ../output.py:2488
 msgid "Last 3 months"
 msgstr "最近の 3 ヶ月間"
 
-#: ../output.py:1939
+#: ../output.py:2489
 msgid "Last 6 months"
 msgstr "最近の 6 ヶ月間"
 
-#: ../output.py:1940
+#: ../output.py:2490
 msgid "Last year"
 msgstr "昨年"
 
-#: ../output.py:1941
+#: ../output.py:2491
 msgid "Over a year ago"
 msgstr "1 年以上前"
 
-#: ../output.py:1984
+#: ../output.py:2538
 #, python-format
 msgid "No Transaction %s found"
 msgstr "トランザクション %s が見つかりません。"
 
-#: ../output.py:1990
+#: ../output.py:2544
 msgid "Transaction ID:"
 msgstr "トランザクション ID:"
 
-#: ../output.py:1991
+#: ../output.py:2545
 msgid "Available additional history information:"
 msgstr "追加の履歴情報が利用できます:"
 
-#: ../output.py:2003
+#: ../output.py:2558
 #, python-format
 msgid "%s: No additional data found by this name"
 msgstr "%s: この名前から追加のデータが見つかりません。"
 
-#: ../output.py:2106
+#: ../output.py:2684
+msgid "Package        :"
+msgstr "パッケージ     :"
+
+#: ../output.py:2685
+msgid "State          :"
+msgstr "状態           :"
+
+#: ../output.py:2688
+msgid "Size           :"
+msgstr "容量           :"
+
+#: ../output.py:2690
+msgid "Build host     :"
+msgstr "構築ホスト     :"
+
+#: ../output.py:2693
+msgid "Build time     :"
+msgstr "構築日時       :"
+
+#: ../output.py:2695
+msgid "Packager       :"
+msgstr "パッケージ者  :"
+
+#: ../output.py:2697
+msgid "Vendor         :"
+msgstr "ベンダー       :"
+
+#: ../output.py:2699
+msgid "License        :"
+msgstr "ライセンス     :"
+
+#: ../output.py:2701
+msgid "URL            :"
+msgstr "URL            :"
+
+#: ../output.py:2703
+msgid "Source RPM     :"
+msgstr "ソース RPM     :"
+
+#: ../output.py:2706
+msgid "Commit Time    :"
+msgstr "コミット日時   :"
+
+#: ../output.py:2708
+msgid "Committer      :"
+msgstr "コミッター     :"
+
+#: ../output.py:2710
+msgid "Reason         :"
+msgstr "理由           :"
+
+#: ../output.py:2714
+msgid "From repo      :"
+msgstr "取得リポジトリ :"
+
+#: ../output.py:2718
+msgid "Installed by   :"
+msgstr "インストール者 :"
+
+#: ../output.py:2722
+msgid "Changed by     :"
+msgstr "変更者         :"
+
+#: ../output.py:2767
 msgid "installed"
 msgstr "インストール"
 
-#: ../output.py:2107
+#: ../output.py:2768
 msgid "an update"
-msgstr ""
+msgstr "アップデート"
 
-#: ../output.py:2108
+#: ../output.py:2769
 msgid "erased"
 msgstr "削除"
 
-#: ../output.py:2109
+#: ../output.py:2770
 msgid "reinstalled"
 msgstr "再インストール"
 
-#: ../output.py:2110
+#: ../output.py:2771
 msgid "a downgrade"
-msgstr ""
+msgstr "ダウングレード"
 
-#: ../output.py:2111
+#: ../output.py:2772
 msgid "obsoleting"
-msgstr ""
+msgstr "非推奨"
 
-#: ../output.py:2112
+#: ../output.py:2773
 msgid "updated"
 msgstr "更新"
 
-#: ../output.py:2113
+#: ../output.py:2774
 msgid "obsoleted"
 msgstr "不要"
 
-#: ../output.py:2117
+#: ../output.py:2778
 #, python-format
 msgid "---> Package %s.%s %s:%s-%s will be %s"
-msgstr ""
+msgstr "---> パッケージ %s.%s %s:%s-%s を %s"
 
-#: ../output.py:2124
+#: ../output.py:2789
 msgid "--> Running transaction check"
 msgstr "--> トランザクションの確認を実行しています。"
 
-#: ../output.py:2129
+#: ../output.py:2795
 msgid "--> Restarting Dependency Resolution with new changes."
 msgstr "--> 新しい変更と依存性の解決を再開しています。"
 
-#: ../output.py:2134
+#: ../output.py:2801
 msgid "--> Finished Dependency Resolution"
 msgstr "--> 依存性解決を終了しました。"
 
-#: ../output.py:2139 ../output.py:2144
+#: ../output.py:2814 ../output.py:2827
 #, python-format
 msgid "--> Processing Dependency: %s for package: %s"
 msgstr "--> 依存性の処理をしています: %s のパッケージ: %s"
 
-#: ../output.py:2149
+#: ../output.py:2841
 #, python-format
-msgid "---> Keeping package: %s"
-msgstr "---> 維持しています: %s"
+msgid "---> Keeping package: %s due to %s"
+msgstr ""
 
-#: ../output.py:2152
+#: ../output.py:2850
 #, python-format
 msgid "--> Unresolved Dependency: %s"
 msgstr "--> 未解決の依存性: %s"
 
-#: ../output.py:2163
+#: ../output.py:2867
 #, python-format
 msgid "Package: %s"
 msgstr "パッケージ: %s"
 
-#: ../output.py:2165
+#: ../output.py:2869
 #, python-format
 msgid ""
 "\n"
 "    Requires: %s"
-msgstr ""
-"\n"
-"     要求: %s"
+msgstr "\n     要求: %s"
 
-#: ../output.py:2174
+#: ../output.py:2878
 #, python-format
 msgid ""
 "\n"
 "    %s: %s (%s)"
-msgstr ""
-"\n"
-"    %s: %s (%s)"
+msgstr "\n    %s: %s (%s)"
 
-#: ../output.py:2179
+#: ../output.py:2883
 #, python-format
 msgid ""
 "\n"
 "        %s"
-msgstr ""
-"\n"
-"        %s"
+msgstr "\n        %s"
 
-#: ../output.py:2181
+#: ../output.py:2885
 msgid ""
 "\n"
 "        Not found"
-msgstr ""
-"\n"
-"        見つかりません"
+msgstr "\n        見つかりません"
 
 #. These should be the only three things we care about:
-#: ../output.py:2196
+#: ../output.py:2900
 msgid "Updated By"
 msgstr "次のものにより更新された: "
 
-#: ../output.py:2197
+#: ../output.py:2901
 msgid "Downgraded By"
 msgstr "次のものによりダウングレードされた: "
 
-#: ../output.py:2198
+#: ../output.py:2902
 msgid "Obsoleted By"
 msgstr "次のものにより不要にされた: "
 
-#: ../output.py:2216
+#: ../output.py:2920
 msgid "Available"
 msgstr "利用可能"
 
-#: ../output.py:2243 ../output.py:2248
+#: ../output.py:2955 ../output.py:2968
 #, python-format
 msgid "--> Processing Conflict: %s conflicts %s"
 msgstr "--> 衝突を処理しています: %s は %s と衝突しています"
 
-#: ../output.py:2252
+#: ../output.py:2974
 msgid "--> Populating transaction set with selected packages. Please wait."
 msgstr ""
 
-#: ../output.py:2256
+#: ../output.py:2983
 #, python-format
 msgid "---> Downloading header for %s to pack into transaction set."
 msgstr "---> トランザクションセットに束ねるために %s のヘッダーをダウンロードしています"
 
-#: ../utils.py:99
+#. self.event(txmbr.name, count, len(base.tsInfo), count, )
+#. (te_current*100L)/te_total
+#: ../output.py:3248
+msgid "Verifying"
+msgstr "検証中"
+
+#: ../utils.py:123
 msgid "Running"
 msgstr "実行中"
 
-#: ../utils.py:100
+#: ../utils.py:124
 msgid "Sleeping"
 msgstr "スリープ中"
 
-#: ../utils.py:101
+#: ../utils.py:125
 msgid "Uninterruptible"
 msgstr "割り込み不可"
 
-#: ../utils.py:102
+#: ../utils.py:126
 msgid "Zombie"
 msgstr "ゾンビ"
 
-#: ../utils.py:103
+#: ../utils.py:127
 msgid "Traced/Stopped"
 msgstr "トレース/停止"
 
-#: ../utils.py:104 ../yumcommands.py:994
+#: ../utils.py:128 ../yumcommands.py:2193
 msgid "Unknown"
 msgstr "不明"
 
-#: ../utils.py:115
+#: ../utils.py:153
 msgid "  The other application is: PackageKit"
 msgstr " 他のアプリケーション: PackageKit"
 
-#: ../utils.py:117
+#: ../utils.py:155
 #, python-format
 msgid "  The other application is: %s"
 msgstr " 他のアプリケーション: %s"
 
-#: ../utils.py:120
+#: ../utils.py:158
 #, python-format
 msgid "    Memory : %5s RSS (%5sB VSZ)"
 msgstr "   メモリー: %5s RSS (%5sB VSZ)"
 
-#: ../utils.py:125
+#: ../utils.py:163
 #, python-format
 msgid "    Started: %s - %s ago"
 msgstr "    開始   : %s - %s 秒経過"
 
-#: ../utils.py:127
+#: ../utils.py:165
 #, python-format
 msgid "    State  : %s, pid: %d"
 msgstr "    状態   : %s、PID: %d"
 
-#: ../utils.py:170 ../yummain.py:43
+#: ../utils.py:194 ../yummain.py:43
 msgid ""
 "\n"
 "\n"
 "Exiting on user cancel"
-msgstr ""
-"\n"
-"\n"
-"ユーザーのキャンセルで終了しています"
+msgstr "\n\nユーザーのキャンセルで終了しています"
 
-#: ../utils.py:176 ../yummain.py:49
+#: ../utils.py:206 ../yummain.py:49
 msgid ""
 "\n"
 "\n"
 "Exiting on Broken Pipe"
-msgstr ""
-"\n"
-"\n"
-"パイプが壊れたため終了しています"
+msgstr "\n\nパイプが壊れたため終了しています"
 
-#: ../utils.py:178 ../yummain.py:51
+#: ../utils.py:208 ../yummain.py:51
 #, python-format
 msgid ""
 "\n"
 "\n"
 "%s"
-msgstr ""
-"\n"
-"\n"
-"%s"
+msgstr "\n\n%s"
 
-#: ../utils.py:228 ../yummain.py:123
-msgid ""
-"Another app is currently holding the yum lock; exiting as configured by "
-"exit_on_lock"
-msgstr "別のアプリケーションが現在 yum のロックを持っています。exit_on_lock による設定が存在します"
-
-#: ../utils.py:287
+#: ../utils.py:326
 #, python-format
 msgid "PluginExit Error: %s"
 msgstr "プラグインのエラー終了: %s"
 
-#: ../utils.py:290
+#: ../utils.py:329
 #, python-format
 msgid "Yum Error: %s"
 msgstr "Yum エラー: %s"
 
-#: ../utils.py:342 ../yummain.py:150 ../yummain.py:189
+#: ../utils.py:387 ../yummain.py:147 ../yummain.py:186
 #, python-format
 msgid "Error: %s"
 msgstr "エラー: %s"
 
-#: ../utils.py:346 ../yummain.py:194
+#: ../utils.py:391 ../yummain.py:191
 msgid " You could try using --skip-broken to work around the problem"
-msgstr " 問題を回避するために --skip-broken を用いることができません"
+msgstr " 問題を回避するために --skip-broken を用いることができます。"
 
-#: ../utils.py:348 ../yummain.py:87
+#: ../utils.py:393 ../yummain.py:87
 msgid " You could try running: rpm -Va --nofiles --nodigest"
 msgstr " これらを試行できます: rpm -Va --nofiles --nodigest"
 
-#: ../utils.py:355 ../yummain.py:160 ../yummain.py:202
+#: ../utils.py:400 ../yummain.py:157 ../yummain.py:199
 #, python-format
 msgid "Unknown Error(s): Exit Code: %d:"
 msgstr "不明なエラー: 終了コード: %d:"
 
-#: ../utils.py:361 ../yummain.py:208
+#: ../utils.py:406 ../yummain.py:205
 msgid ""
 "\n"
 "Dependencies Resolved"
-msgstr ""
-"\n"
-"依存性を解決しました"
+msgstr "\n依存性を解決しました"
 
-#: ../utils.py:376 ../yummain.py:234
+#: ../utils.py:422 ../yummain.py:237
 msgid "Complete!"
 msgstr "完了しました!"
 
@@ -1504,7 +1644,7 @@ msgstr ""
 msgid "You need to be root to perform this command."
 msgstr "このコマンドを実行するには root である必要があります。"
 
-#: ../yumcommands.py:59
+#: ../yumcommands.py:67
 msgid ""
 "\n"
 "You have enabled checking of packages via GPG keys. This is a good thing. \n"
@@ -1521,568 +1661,645 @@ msgid ""
 "For more information contact your distribution or package provider.\n"
 msgstr ""
 
-#: ../yumcommands.py:74
+#: ../yumcommands.py:82
 #, python-format
 msgid "Problem repository: %s"
-msgstr ""
+msgstr "問題のリポジトリー: %s"
 
-#: ../yumcommands.py:80
+#: ../yumcommands.py:96
 #, python-format
 msgid "Error: Need to pass a list of pkgs to %s"
 msgstr "エラー: パッケージの一覧を %s に渡す必要があります"
 
-#: ../yumcommands.py:86
+#: ../yumcommands.py:114
+#, python-format
+msgid "Error: Need at least two packages to %s"
+msgstr ""
+
+#: ../yumcommands.py:129
+#, python-format
+msgid "Error: Need to pass a repoid. and command to %s"
+msgstr ""
+
+#: ../yumcommands.py:136 ../yumcommands.py:142
+#, python-format
+msgid "Error: Need to pass a single valid repoid. to %s"
+msgstr ""
+
+#: ../yumcommands.py:147
+#, python-format
+msgid "Error: Repo %s is not enabled"
+msgstr ""
+
+#: ../yumcommands.py:164
 msgid "Error: Need an item to match"
 msgstr "エラー: 一致する項目が必要です"
 
-#: ../yumcommands.py:92
+#: ../yumcommands.py:178
 msgid "Error: Need a group or list of groups"
 msgstr "エラー: グループ化グループの一覧が必要です"
 
-#: ../yumcommands.py:101
+#: ../yumcommands.py:195
 #, python-format
 msgid "Error: clean requires an option: %s"
 msgstr "エラー: clean は引数をひとつ要求します: %s"
 
-#: ../yumcommands.py:106
+#: ../yumcommands.py:201
 #, python-format
 msgid "Error: invalid clean argument: %r"
 msgstr "エラー: 不正な clean の引数です: %r"
 
-#: ../yumcommands.py:119
+#: ../yumcommands.py:216
 msgid "No argument to shell"
 msgstr "シェルへの引数がありません"
 
-#: ../yumcommands.py:121
+#: ../yumcommands.py:218
 #, python-format
 msgid "Filename passed to shell: %s"
 msgstr "シェルに渡すファイル名: %s"
 
-#: ../yumcommands.py:125
+#: ../yumcommands.py:222
 #, python-format
 msgid "File %s given as argument to shell does not exist."
 msgstr "シェルへの引数として渡したファイル %s は存在しません。"
 
-#: ../yumcommands.py:131
+#: ../yumcommands.py:228
 msgid "Error: more than one file given as argument to shell."
 msgstr "エラー: シェルへの引数としてひとつ以上のファイルを渡しました。"
 
-#: ../yumcommands.py:148
+#: ../yumcommands.py:247
 msgid ""
 "There are no enabled repos.\n"
 " Run \"yum repolist all\" to see the repos you have.\n"
 " You can enable repos with yum-config-manager --enable <repo>"
-msgstr ""
-"有効なリポジトリーがありません。\n"
-" 「yum repolist all」を実行し、所持するリポジトリーを参照してください。\n"
-" 「yum-config-manager --enable <repo>」でリポジトリーを有効にできます。"
+msgstr "有効なリポジトリーがありません。\n 「yum repolist all」を実行し、所持するリポジトリーを参照してください。\n 「yum-config-manager --enable <repo>」でリポジトリーを有効にできます。"
 
-#: ../yumcommands.py:200
+#: ../yumcommands.py:383
 msgid "PACKAGE..."
 msgstr "パッケージ..."
 
-#: ../yumcommands.py:203
+#: ../yumcommands.py:390
 msgid "Install a package or packages on your system"
 msgstr "システムにパッケージをインストールする"
 
-#: ../yumcommands.py:212
+#: ../yumcommands.py:421
 msgid "Setting up Install Process"
 msgstr "インストール処理の設定をしています"
 
-#: ../yumcommands.py:223 ../yumcommands.py:245
+#: ../yumcommands.py:447 ../yumcommands.py:507
 msgid "[PACKAGE...]"
 msgstr "[パッケージ...]"
 
-#: ../yumcommands.py:226
+#: ../yumcommands.py:454
 msgid "Update a package or packages on your system"
 msgstr "システムのパッケージを更新する"
 
-#: ../yumcommands.py:234
+#: ../yumcommands.py:483
 msgid "Setting up Update Process"
 msgstr "更新処理の設定をしています"
 
-#: ../yumcommands.py:248
+#: ../yumcommands.py:514
 msgid "Synchronize installed packages to the latest available versions"
 msgstr "最新の利用可能なバージョンへインストール済みパッケージを同期する"
 
-#: ../yumcommands.py:256
+#: ../yumcommands.py:543
 msgid "Setting up Distribution Synchronization Process"
-msgstr "同期配信処理の準備をしています"
+msgstr "ディストリビューション同期処理の準備をしています"
 
-#: ../yumcommands.py:299
+#: ../yumcommands.py:603
 msgid "Display details about a package or group of packages"
 msgstr "パッケージもしくはパッケージのグループについての詳細を表示する"
 
-#: ../yumcommands.py:348
+#: ../yumcommands.py:672
 msgid "Installed Packages"
 msgstr "インストール済みパッケージ"
 
-#: ../yumcommands.py:356
+#: ../yumcommands.py:682
 msgid "Available Packages"
 msgstr "利用可能なパッケージ"
 
-#: ../yumcommands.py:360
+#: ../yumcommands.py:687
 msgid "Extra Packages"
 msgstr "外部パッケージ"
 
-#: ../yumcommands.py:364
+#: ../yumcommands.py:691
 msgid "Updated Packages"
 msgstr "更新したパッケージ"
 
 #. This only happens in verbose mode
-#: ../yumcommands.py:372 ../yumcommands.py:379 ../yumcommands.py:667
+#: ../yumcommands.py:699 ../yumcommands.py:706 ../yumcommands.py:1539
 msgid "Obsoleting Packages"
-msgstr "パッケージを不要にしています"
+msgstr "不要になったパッケージ"
 
-#: ../yumcommands.py:381
+#: ../yumcommands.py:708
 msgid "Recently Added Packages"
 msgstr "最近追加したパッケージ"
 
-#: ../yumcommands.py:388
+#: ../yumcommands.py:715
 msgid "No matching Packages to list"
 msgstr "表示するパッケージはありません"
 
-#: ../yumcommands.py:402
+#: ../yumcommands.py:766
 msgid "List a package or groups of packages"
 msgstr "パッケージグループの一覧を表示する"
 
-#: ../yumcommands.py:414
+#: ../yumcommands.py:797
 msgid "Remove a package or packages from your system"
 msgstr "システムから削除するパッケージ"
 
-#: ../yumcommands.py:421
+#: ../yumcommands.py:845
 msgid "Setting up Remove Process"
 msgstr "削除処理の設定をしています"
 
-#: ../yumcommands.py:435
+#: ../yumcommands.py:906
+msgid "Display, or use, the groups information"
+msgstr "グループ情報の表示または使用"
+
+#: ../yumcommands.py:909
 msgid "Setting up Group Process"
 msgstr "グループ処理の設定をしています"
 
-#: ../yumcommands.py:441
+#: ../yumcommands.py:915
 msgid "No Groups on which to run command"
 msgstr "コマンドを実行するグループがありません"
 
-#: ../yumcommands.py:454
-msgid "List available package groups"
-msgstr "利用できるパッケージグループの一覧"
-
-#: ../yumcommands.py:474
-msgid "Install the packages in a group on your system"
-msgstr "システムのグループのパッケージをインストールする"
+#: ../yumcommands.py:985
+#, python-format
+msgid "Invalid groups sub-command, use: %s."
+msgstr "無効なグループサブコマンドです、次を使用してください: %s。"
 
-#: ../yumcommands.py:497
-msgid "Remove the packages in a group from your system"
-msgstr "システムからグループのパッケージを削除する"
+#: ../yumcommands.py:992
+msgid "There is no installed groups file."
+msgstr ""
 
-#: ../yumcommands.py:525
-msgid "Display details about a package group"
-msgstr "パッケージグループについての詳細を表示する"
+#: ../yumcommands.py:994
+msgid "You don't have access to the groups DB."
+msgstr ""
 
-#: ../yumcommands.py:550
+#: ../yumcommands.py:1256
 msgid "Generate the metadata cache"
 msgstr "メタデータキャッシュを生成する"
 
-#: ../yumcommands.py:556
+#: ../yumcommands.py:1282
 msgid "Making cache files for all metadata files."
 msgstr "すべて飲めたデータファイルのキャッシュを作成します。"
 
-#: ../yumcommands.py:557
+#: ../yumcommands.py:1283
 msgid "This may take a while depending on the speed of this computer"
 msgstr "これは、このコンピューターの速度に依存する時間をとるかもしれません"
 
-#: ../yumcommands.py:578
+#: ../yumcommands.py:1312
 msgid "Metadata Cache Created"
 msgstr "メタデータのキャッシュを作成しました"
 
-#: ../yumcommands.py:592
+#: ../yumcommands.py:1350
 msgid "Remove cached data"
 msgstr "キャッシュデータを削除する"
 
-#: ../yumcommands.py:613
+#: ../yumcommands.py:1417
 msgid "Find what package provides the given value"
 msgstr "指定値を提供するパッケージを検索する"
 
-#: ../yumcommands.py:633
+#: ../yumcommands.py:1485
 msgid "Check for available package updates"
 msgstr "更新に利用できるパッケージを確認する"
 
-#: ../yumcommands.py:687
+#: ../yumcommands.py:1587
 msgid "Search package details for the given string"
 msgstr "指定した文字列でパッケージの詳細を検索する"
 
-#: ../yumcommands.py:693
+#: ../yumcommands.py:1613
 msgid "Searching Packages: "
 msgstr "パッケージの検索中: "
 
-#: ../yumcommands.py:710
+#: ../yumcommands.py:1666
 msgid "Update packages taking obsoletes into account"
 msgstr "不要になったパッケージを考慮しながらパッケージを更新する"
 
-#: ../yumcommands.py:719
+#: ../yumcommands.py:1696
 msgid "Setting up Upgrade Process"
 msgstr "更新処理の設定をしています"
 
-#: ../yumcommands.py:737
+#: ../yumcommands.py:1731
 msgid "Install a local RPM"
 msgstr "ローカル RPM のインストール"
 
-#: ../yumcommands.py:745
+#: ../yumcommands.py:1761
 msgid "Setting up Local Package Process"
 msgstr "ローカルパッケージ処理の設定をしています"
 
-#: ../yumcommands.py:764
-msgid "Determine which package provides the given dependency"
-msgstr "指定の依存性を提供するパッケージがどれか特定する"
-
-#: ../yumcommands.py:767
+#: ../yumcommands.py:1825
 msgid "Searching Packages for Dependency:"
 msgstr "依存性のパッケージ検索:"
 
-#: ../yumcommands.py:781
+#: ../yumcommands.py:1867
 msgid "Run an interactive yum shell"
 msgstr "対話型の yum シェルを実行する"
 
-#: ../yumcommands.py:787
+#: ../yumcommands.py:1893
 msgid "Setting up Yum Shell"
 msgstr "Yum シェルの設定をしています"
 
-#: ../yumcommands.py:805
+#: ../yumcommands.py:1936
 msgid "List a package's dependencies"
 msgstr "パッケージの依存性の一覧を表示する"
 
-#: ../yumcommands.py:811
+#: ../yumcommands.py:1963
 msgid "Finding dependencies: "
 msgstr "依存性の検索中: "
 
-#: ../yumcommands.py:827
+#: ../yumcommands.py:2005
 msgid "Display the configured software repositories"
 msgstr "ソフトウェアリポジトリーの構成を表示する"
 
-#: ../yumcommands.py:893 ../yumcommands.py:894
+#: ../yumcommands.py:2094 ../yumcommands.py:2095
 msgid "enabled"
 msgstr "有効"
 
-#: ../yumcommands.py:920 ../yumcommands.py:921
+#: ../yumcommands.py:2121 ../yumcommands.py:2122
 msgid "disabled"
 msgstr "無効"
 
-#: ../yumcommands.py:937
+#: ../yumcommands.py:2137
 msgid "Repo-id      : "
 msgstr "リポジトリー ID            : "
 
-#: ../yumcommands.py:938
+#: ../yumcommands.py:2138
 msgid "Repo-name    : "
 msgstr "リポジトリーの名前         : "
 
-#: ../yumcommands.py:941
+#: ../yumcommands.py:2141
 msgid "Repo-status  : "
 msgstr "リポジトリーの状態         : "
 
-#: ../yumcommands.py:944
+#: ../yumcommands.py:2144
 msgid "Repo-revision: "
 msgstr "リポジトリーのリビジョン   : "
 
-#: ../yumcommands.py:948
+#: ../yumcommands.py:2148
 msgid "Repo-tags    : "
 msgstr "リポジトリーのタグ         : "
 
-#: ../yumcommands.py:954
+#: ../yumcommands.py:2154
 msgid "Repo-distro-tags: "
 msgstr ""
 
-#: ../yumcommands.py:959
+#: ../yumcommands.py:2159
 msgid "Repo-updated : "
 msgstr "リポジトリー更新日         : "
 
-#: ../yumcommands.py:961
+#: ../yumcommands.py:2161
 msgid "Repo-pkgs    : "
 msgstr "リポジトリー内パッケージ数 : "
 
-#: ../yumcommands.py:962
+#: ../yumcommands.py:2162
 msgid "Repo-size    : "
 msgstr "リポジトリー容量           : "
 
-#: ../yumcommands.py:969 ../yumcommands.py:990
+#: ../yumcommands.py:2169 ../yumcommands.py:2190
 msgid "Repo-baseurl : "
 msgstr "リポジトリー基準 URL       : "
 
-#: ../yumcommands.py:977
+#: ../yumcommands.py:2177
 msgid "Repo-metalink: "
 msgstr "リポジトリーメタリンク     : "
 
-#: ../yumcommands.py:981
+#: ../yumcommands.py:2181
 msgid "  Updated    : "
 msgstr "  更新日                   : "
 
-#: ../yumcommands.py:984
+#: ../yumcommands.py:2184
 msgid "Repo-mirrors : "
 msgstr "リポジトリーのミラー       : "
 
-#: ../yumcommands.py:1000
+#: ../yumcommands.py:2199
 #, python-format
 msgid "Never (last: %s)"
 msgstr "ずっと (最終: %s)"
 
-#: ../yumcommands.py:1002
+#: ../yumcommands.py:2201
 #, python-format
 msgid "Instant (last: %s)"
 msgstr "インスタント (最終: %s)"
 
-#: ../yumcommands.py:1005
+#: ../yumcommands.py:2204
 #, python-format
 msgid "%s second(s) (last: %s)"
 msgstr "%s 秒 (最終: %s)"
 
-#: ../yumcommands.py:1007
+#: ../yumcommands.py:2206
 msgid "Repo-expire  : "
 msgstr "リポジトリーの期限         : "
 
-#: ../yumcommands.py:1010
+#: ../yumcommands.py:2209
 msgid "Repo-exclude : "
 msgstr "リポジトリーの除外         : "
 
-#: ../yumcommands.py:1014
+#: ../yumcommands.py:2213
 msgid "Repo-include : "
 msgstr "リポジトリーの内包         : "
 
-#: ../yumcommands.py:1018
+#: ../yumcommands.py:2217
 msgid "Repo-excluded: "
 msgstr "リポジトリーの除外数       : "
 
-#: ../yumcommands.py:1022
+#: ../yumcommands.py:2221
 msgid "Repo-filename: "
-msgstr ""
+msgstr "Repo ファイル名: "
 
 #. Work out the first (id) and last (enabled/disalbed/count),
 #. then chop the middle (name)...
-#: ../yumcommands.py:1032 ../yumcommands.py:1061
+#: ../yumcommands.py:2230 ../yumcommands.py:2259
 msgid "repo id"
 msgstr "リポジトリー ID"
 
-#: ../yumcommands.py:1049 ../yumcommands.py:1050 ../yumcommands.py:1068
+#: ../yumcommands.py:2247 ../yumcommands.py:2248 ../yumcommands.py:2266
 msgid "status"
 msgstr "状態"
 
-#: ../yumcommands.py:1062
+#: ../yumcommands.py:2260
 msgid "repo name"
 msgstr "リポジトリー名"
 
-#: ../yumcommands.py:1099
+#: ../yumcommands.py:2332
 msgid "Display a helpful usage message"
 msgstr "役立つ使い方のメッセージを表示する"
 
-#: ../yumcommands.py:1133
+#: ../yumcommands.py:2374
 #, python-format
 msgid "No help available for %s"
 msgstr "%s のヘルプは利用できません"
 
-#: ../yumcommands.py:1138
+#: ../yumcommands.py:2379
 msgid ""
 "\n"
 "\n"
 "aliases: "
-msgstr ""
-"\n"
-"\n"
-"別名: "
+msgstr "\n\n別名: "
 
-#: ../yumcommands.py:1140
+#: ../yumcommands.py:2381
 msgid ""
 "\n"
 "\n"
 "alias: "
-msgstr ""
-"\n"
-"\n"
-"別名: "
+msgstr "\n\n別名: "
 
-#: ../yumcommands.py:1168
+#: ../yumcommands.py:2466
 msgid "Setting up Reinstall Process"
 msgstr "再インストール処理の設定をしています"
 
-#: ../yumcommands.py:1176
+#: ../yumcommands.py:2478
 msgid "reinstall a package"
 msgstr "パッケージの再インストール"
 
-#: ../yumcommands.py:1195
+#: ../yumcommands.py:2541
 msgid "Setting up Downgrade Process"
 msgstr "ダウングレード処理の設定をしています"
 
-#: ../yumcommands.py:1202
+#: ../yumcommands.py:2552
 msgid "downgrade a package"
 msgstr "パッケージのダウングレード"
 
-#: ../yumcommands.py:1216
+#: ../yumcommands.py:2591
 msgid "Display a version for the machine and/or available repos."
 msgstr "ホストの利用できるリポジトリーのバージョンを表示する"
 
-#: ../yumcommands.py:1255
+#: ../yumcommands.py:2643
 msgid " Yum version groups:"
 msgstr " Yum バージョン グループ"
 
-#: ../yumcommands.py:1265
+#: ../yumcommands.py:2653
 msgid " Group   :"
 msgstr " グループ                :"
 
-#: ../yumcommands.py:1266
+#: ../yumcommands.py:2654
 msgid " Packages:"
 msgstr "パッケージ               :"
 
-#: ../yumcommands.py:1295
+#: ../yumcommands.py:2683
 msgid "Installed:"
 msgstr "インストール済み         :"
 
-#: ../yumcommands.py:1303
+#: ../yumcommands.py:2691
 msgid "Group-Installed:"
 msgstr "グループ インストール済み:"
 
-#: ../yumcommands.py:1312
+#: ../yumcommands.py:2700
 msgid "Available:"
 msgstr "利用可能                 :"
 
-#: ../yumcommands.py:1321
+#: ../yumcommands.py:2709
 msgid "Group-Available:"
 msgstr "利用可能なグループ       :"
 
-#: ../yumcommands.py:1360
+#: ../yumcommands.py:2783
 msgid "Display, or use, the transaction history"
 msgstr "トランザクション履歴を表示、使用する"
 
-#: ../yumcommands.py:1432
+#: ../yumcommands.py:2876 ../yumcommands.py:2880
+msgid "Transactions:"
+msgstr "トランザクション:"
+
+#: ../yumcommands.py:2881
+msgid "Begin time  :"
+msgstr "開始時間    :"
+
+#: ../yumcommands.py:2882
+msgid "End time    :"
+msgstr "終了時間    :"
+
+#: ../yumcommands.py:2883
+msgid "Counts      :"
+msgstr "回数        :"
+
+#: ../yumcommands.py:2884
+msgid "  NEVRAC :"
+msgstr "  NEVRAC :"
+
+#: ../yumcommands.py:2885
+msgid "  NEVRA  :"
+msgstr "  NEVRA  :"
+
+#: ../yumcommands.py:2886
+msgid "  NA     :"
+msgstr "  NA     :"
+
+#: ../yumcommands.py:2887
+msgid "  NEVR   :"
+msgstr "  NEVR   :"
+
+#: ../yumcommands.py:2888
+msgid "  rpm DB :"
+msgstr "  rpm DB :"
+
+#: ../yumcommands.py:2889
+msgid "  yum DB :"
+msgstr "  yum DB :"
+
+#: ../yumcommands.py:2922
 #, python-format
 msgid "Invalid history sub-command, use: %s."
 msgstr "使用した history のサブコマンドが正しくありません: %s"
 
-#: ../yumcommands.py:1439
+#: ../yumcommands.py:2929
 msgid "You don't have access to the history DB."
 msgstr "履歴 DB にアクセスできません。"
 
-#: ../yumcommands.py:1487
+#: ../yumcommands.py:3036
 msgid "Check for problems in the rpmdb"
 msgstr "rpmdb の問題を確認する"
 
-#: ../yumcommands.py:1514
+#: ../yumcommands.py:3102
 msgid "load a saved transaction from filename"
-msgstr ""
+msgstr "filename から保存済みトランザクションを読み込む"
 
-#: ../yumcommands.py:1518
+#: ../yumcommands.py:3119
 msgid "No saved transaction file specified."
-msgstr ""
+msgstr "指定したトランザクション ファイルに保存していません"
 
-#: ../yumcommands.py:1522
+#: ../yumcommands.py:3123
 #, python-format
 msgid "loading transaction from %s"
-msgstr ""
+msgstr "%s からトランザクションを読み込んでいます"
 
-#: ../yumcommands.py:1528
+#: ../yumcommands.py:3129
 #, python-format
 msgid "Transaction loaded from %s with %s members"
 msgstr ""
 
+#: ../yumcommands.py:3169
+msgid "Simple way to swap packages, isntead of using shell"
+msgstr ""
+
+#: ../yumcommands.py:3264
+msgid ""
+"Treat a repo. as a group of packages, so we can install/remove all of them"
+msgstr ""
+
+#: ../yumcommands.py:3341
+#, python-format
+msgid "%d package to update"
+msgid_plural "%d packages to update"
+msgstr[0] ""
+
+#: ../yumcommands.py:3370
+#, python-format
+msgid "%d package to remove/reinstall"
+msgid_plural "%d packages to remove/reinstall"
+msgstr[0] ""
+
+#: ../yumcommands.py:3413
+#, python-format
+msgid "%d package to remove/sync"
+msgid_plural "%d packages to remove/sync"
+msgstr[0] ""
+
+#: ../yumcommands.py:3417
+#, python-format
+msgid "Not a valid sub-command of %s"
+msgstr ""
+
 #. This is mainly for PackageSackError from rpmdb.
 #: ../yummain.py:84
 #, python-format
 msgid " Yum checks failed: %s"
-msgstr ""
+msgstr " Yum のチェックに失敗failed: %s"
 
-#: ../yummain.py:114
-msgid ""
-"Another app is currently holding the yum lock; waiting for it to exit..."
-msgstr "別のアプリケーションが現在 yum のロックを持っています。終了するまで待っています..."
+#: ../yummain.py:98
+msgid "No read/execute access in current directory, moving to /"
+msgstr "現在のディレクトリに読み込み権/実行権がありません、/ に移動します"
 
-#: ../yummain.py:120
-msgid "Can't create lock file; exiting"
+#: ../yummain.py:106
+msgid "No getcwd() access in current directory, moving to /"
 msgstr ""
 
 #. Depsolve stage
-#: ../yummain.py:167
+#: ../yummain.py:164
 msgid "Resolving Dependencies"
 msgstr "依存性の解決をしています"
 
-#: ../yummain.py:230
+#: ../yummain.py:227 ../yummain.py:235
 #, python-format
-msgid "Your transaction was saved, rerun it with: yum load-transaction %s"
+msgid ""
+"Your transaction was saved, rerun it with:\n"
+" yum load-transaction %s"
 msgstr ""
 
-#: ../yummain.py:288
+#: ../yummain.py:312
 msgid ""
 "\n"
 "\n"
 "Exiting on user cancel."
-msgstr ""
-"\n"
-"\n"
-"\n"
-"ユーザーによるキャンセルで終了しています。"
+msgstr "\n\n\nユーザーによるキャンセルで終了しています。"
 
-#: ../yum/depsolve.py:84
+#: ../yum/depsolve.py:127
 msgid "doTsSetup() will go away in a future version of Yum.\n"
 msgstr "doTsSetup() は Yum の将来のバージョンでなくなります。\n"
 
-#: ../yum/depsolve.py:99
+#: ../yum/depsolve.py:143
 msgid "Setting up TransactionSets before config class is up"
 msgstr "構成クラスが終わる前にトランザクションセットを設定しています"
 
-#: ../yum/depsolve.py:153
+#: ../yum/depsolve.py:200
 #, python-format
 msgid "Invalid tsflag in config file: %s"
 msgstr "構成ファイルの tsflag が不正です: %s"
 
-#: ../yum/depsolve.py:164
+#: ../yum/depsolve.py:218
 #, python-format
 msgid "Searching pkgSack for dep: %s"
 msgstr "依存性の pkgSack を検索しています: %s"
 
-#: ../yum/depsolve.py:207
+#: ../yum/depsolve.py:269
 #, python-format
 msgid "Member: %s"
 msgstr "メンバー: %s"
 
-#: ../yum/depsolve.py:221 ../yum/depsolve.py:793
+#: ../yum/depsolve.py:283 ../yum/depsolve.py:937
 #, python-format
 msgid "%s converted to install"
 msgstr "%s をインストールに変更しました"
 
-#: ../yum/depsolve.py:233
+#: ../yum/depsolve.py:295
 #, python-format
 msgid "Adding Package %s in mode %s"
 msgstr "モード %s にパッケージ %s を追加しています"
 
-#: ../yum/depsolve.py:249
+#: ../yum/depsolve.py:311
 #, python-format
 msgid "Removing Package %s"
 msgstr "パッケージ %s の削除をしています"
 
-#: ../yum/depsolve.py:271
+#: ../yum/depsolve.py:333
 #, python-format
 msgid "%s requires: %s"
 msgstr "%s の要求: %s"
 
-#: ../yum/depsolve.py:312
+#: ../yum/depsolve.py:374
 #, python-format
 msgid "%s requires %s"
 msgstr "%s は %s を要求します"
 
-#: ../yum/depsolve.py:339
+#: ../yum/depsolve.py:401
 msgid "Needed Require has already been looked up, cheating"
 msgstr "必要な要求は既に調べましたが不正をしています"
 
-#: ../yum/depsolve.py:349
+#: ../yum/depsolve.py:411
 #, python-format
 msgid "Needed Require is not a package name. Looking up: %s"
 msgstr "必要な要求はパッケージ名ではありません。調べています: %s"
 
-#: ../yum/depsolve.py:357
+#: ../yum/depsolve.py:419
 #, python-format
 msgid "Potential Provider: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:380
+#: ../yum/depsolve.py:442
 #, python-format
 msgid "Mode is %s for provider of %s: %s"
-msgstr ""
+msgstr "%s が提供するモードは %s です: %s"
 
-#: ../yum/depsolve.py:384
+#: ../yum/depsolve.py:446
 #, python-format
 msgid "Mode for pkg providing %s: %s"
 msgstr ""
@@ -2090,999 +2307,1138 @@ msgstr ""
 #. the thing it needs is being updated or obsoleted away
 #. try to update the requiring package in hopes that all this problem goes
 #. away :(
-#: ../yum/depsolve.py:389 ../yum/depsolve.py:406
+#: ../yum/depsolve.py:451 ../yum/depsolve.py:486
 #, python-format
 msgid "Trying to update %s to resolve dep"
-msgstr ""
+msgstr "依存解決のために %s の更新を試みます"
 
-#: ../yum/depsolve.py:400 ../yum/depsolve.py:410
+#: ../yum/depsolve.py:480
 #, python-format
 msgid "No update paths found for %s. Failure!"
 msgstr ""
 
-#: ../yum/depsolve.py:416
+#: ../yum/depsolve.py:491
 #, python-format
-msgid "TSINFO: %s package requiring %s marked as erase"
+msgid "No update paths found for %s. Failure due to requirement: %s!"
 msgstr ""
 
-#: ../yum/depsolve.py:429
+#: ../yum/depsolve.py:507
 #, python-format
-msgid "TSINFO: Obsoleting %s with %s to resolve dep."
+msgid "Update for %s. Doesn't fix requirement: %s!"
 msgstr ""
 
-#: ../yum/depsolve.py:432
+#: ../yum/depsolve.py:514
+#, python-format
+msgid "TSINFO: %s package requiring %s marked as erase"
+msgstr "TSINFO: %s パッケージが削除として %s で必要としています"
+
+#: ../yum/depsolve.py:527
+#, python-format
+msgid "TSINFO: Obsoleting %s with %s to resolve dep."
+msgstr "TSINFO: 依存性を解決するために %s を %s で非推奨にしています。"
+
+#: ../yum/depsolve.py:530
 #, python-format
 msgid "TSINFO: Updating %s to resolve dep."
-msgstr ""
+msgstr "TSINFO: 依存性を解決するために %s を更新しています"
 
-#: ../yum/depsolve.py:440
+#: ../yum/depsolve.py:538
 #, python-format
 msgid "Cannot find an update path for dep for: %s"
 msgstr "依存する更新パスを見つけられません: %s"
 
-#: ../yum/depsolve.py:471
+#: ../yum/depsolve.py:569
 #, python-format
 msgid "Quick matched %s to require for %s"
 msgstr ""
 
 #. is it already installed?
-#: ../yum/depsolve.py:513
+#: ../yum/depsolve.py:611
 #, python-format
 msgid "%s is in providing packages but it is already installed, removing."
 msgstr "%s を提供するパッケージはすでにインストールされています。削除しています。"
 
-#: ../yum/depsolve.py:529
+#: ../yum/depsolve.py:627
 #, python-format
 msgid "Potential resolving package %s has newer instance in ts."
 msgstr ""
 
-#: ../yum/depsolve.py:540
+#: ../yum/depsolve.py:638
 #, python-format
 msgid "Potential resolving package %s has newer instance installed."
 msgstr ""
 
-#: ../yum/depsolve.py:558
+#: ../yum/depsolve.py:656
 #, python-format
 msgid "%s already in ts, skipping this one"
 msgstr "%s はすでに ts にあります。これを飛ばします"
 
-#: ../yum/depsolve.py:607
+#: ../yum/depsolve.py:705
 #, python-format
 msgid "TSINFO: Marking %s as update for %s"
 msgstr "TSINFO: %s を更新として %s で設定しています"
 
-#: ../yum/depsolve.py:616
+#: ../yum/depsolve.py:714
 #, python-format
 msgid "TSINFO: Marking %s as install for %s"
 msgstr "TSINFO: %s をインストールとして %s で設定しています"
 
-#: ../yum/depsolve.py:727 ../yum/depsolve.py:819
+#: ../yum/depsolve.py:849 ../yum/depsolve.py:967
 msgid "Success - empty transaction"
 msgstr "成功 - 空のトランザクション"
 
-#: ../yum/depsolve.py:767 ../yum/depsolve.py:783
+#: ../yum/depsolve.py:889 ../yum/depsolve.py:927
 msgid "Restarting Loop"
 msgstr "ループを再開しています"
 
-#: ../yum/depsolve.py:799
+#: ../yum/depsolve.py:947
 msgid "Dependency Process ending"
 msgstr "依存性の処理を終了しています"
 
-#: ../yum/depsolve.py:821
+#: ../yum/depsolve.py:969
 msgid "Success - deps resolved"
 msgstr "成功 - 依存性を解決しました"
 
-#: ../yum/depsolve.py:845
+#: ../yum/depsolve.py:993
 #, python-format
 msgid "Checking deps for %s"
 msgstr "%s の依存性を確認しています"
 
-#: ../yum/depsolve.py:931
+#: ../yum/depsolve.py:1082
 #, python-format
 msgid "looking for %s as a requirement of %s"
 msgstr "%s の要求として %s を検索しています"
 
-#: ../yum/depsolve.py:1169
+#: ../yum/depsolve.py:1349
 #, python-format
 msgid "Running compare_providers() for %s"
 msgstr "%s の compare_providers() を実行しています"
 
-#: ../yum/depsolve.py:1196 ../yum/depsolve.py:1202
+#: ../yum/depsolve.py:1376 ../yum/depsolve.py:1382
 #, python-format
 msgid "better arch in po %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1298
+#: ../yum/depsolve.py:1496
 #, python-format
 msgid "%s obsoletes %s"
 msgstr "%s は %s で不要です"
 
-#: ../yum/depsolve.py:1310
+#: ../yum/depsolve.py:1508
 #, python-format
 msgid ""
 "archdist compared %s to %s on %s\n"
 "  Winner: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1318
+#: ../yum/depsolve.py:1516
 #, python-format
 msgid "common sourcerpm %s and %s"
 msgstr "%s と %s の共通ソース RPM(SRPM)"
 
-#: ../yum/depsolve.py:1322
+#: ../yum/depsolve.py:1520
 #, python-format
 msgid "base package %s is installed for %s"
 msgstr "ベースパッケージ %s は %s のためにインストールしています"
 
-#: ../yum/depsolve.py:1328
+#: ../yum/depsolve.py:1526
 #, python-format
 msgid "common prefix of %s between %s and %s"
 msgstr "%s から %s と %s の共通接頭辞"
 
-#: ../yum/depsolve.py:1359
+#: ../yum/depsolve.py:1543
 #, python-format
-msgid "requires minimal: %d"
-msgstr "最低限の要求: %d"
+msgid "provides vercmp: %s"
+msgstr ""
 
-#: ../yum/depsolve.py:1363
+#: ../yum/depsolve.py:1547 ../yum/depsolve.py:1581
 #, python-format
 msgid " Winner: %s"
 msgstr " 勝者: %s"
 
-#: ../yum/depsolve.py:1368
+#: ../yum/depsolve.py:1577
+#, python-format
+msgid "requires minimal: %d"
+msgstr "最低限の要求: %d"
+
+#: ../yum/depsolve.py:1586
 #, python-format
 msgid " Loser(with %d): %s"
 msgstr " 敗者(%d): %s"
 
-#: ../yum/depsolve.py:1384
+#: ../yum/depsolve.py:1602
 #, python-format
 msgid "Best Order: %s"
 msgstr "最適の順序: %s"
 
-#: ../yum/__init__.py:234
+#: ../yum/__init__.py:274
 msgid "doConfigSetup() will go away in a future version of Yum.\n"
 msgstr "doConfigSetup() は Yum の将来のバージョンでなくなります。\n"
 
-#: ../yum/__init__.py:482
+#: ../yum/__init__.py:553
+#, python-format
+msgid "Skipping unreadable repository %s"
+msgstr ""
+
+#: ../yum/__init__.py:572
 #, python-format
 msgid "Repository %r: Error parsing config: %s"
 msgstr "リポジトリー %r: 設定の解析中にエラー: %s"
 
-#: ../yum/__init__.py:488
+#: ../yum/__init__.py:578
 #, python-format
 msgid "Repository %r is missing name in configuration, using id"
 msgstr "リポジトリー %r は構成中に名前がありませんので ID を使います"
 
-#: ../yum/__init__.py:526
+#: ../yum/__init__.py:618
 msgid "plugins already initialised"
 msgstr "プラグインは既に初期化されています"
 
-#: ../yum/__init__.py:533
+#: ../yum/__init__.py:627
 msgid "doRpmDBSetup() will go away in a future version of Yum.\n"
 msgstr "dbRpmDBSetup() は Yum の将来のバージョンでなくなります。\n"
 
-#: ../yum/__init__.py:544
+#: ../yum/__init__.py:638
 msgid "Reading Local RPMDB"
 msgstr "ローカルの RPMDB を読み込んでいます"
 
-#: ../yum/__init__.py:567
+#: ../yum/__init__.py:668
 msgid "doRepoSetup() will go away in a future version of Yum.\n"
 msgstr "doRepoSetup() は Yum の将来のバージョンでなくなります。\n"
 
-#: ../yum/__init__.py:630
+#: ../yum/__init__.py:722
 msgid "doSackSetup() will go away in a future version of Yum.\n"
 msgstr "doSackSetup() は Yum の将来のバージョンでなくなります。\n"
 
-#: ../yum/__init__.py:660
+#: ../yum/__init__.py:752
 msgid "Setting up Package Sacks"
 msgstr ""
 
-#: ../yum/__init__.py:705
+#: ../yum/__init__.py:797
 #, python-format
 msgid "repo object for repo %s lacks a _resetSack method\n"
 msgstr ""
 
-#: ../yum/__init__.py:706
+#: ../yum/__init__.py:798
 msgid "therefore this repo cannot be reset.\n"
 msgstr "したがって、このリポジトリーはリセットできません。\n"
 
-#: ../yum/__init__.py:711
+#: ../yum/__init__.py:806
 msgid "doUpdateSetup() will go away in a future version of Yum.\n"
 msgstr "doUpdateSetup() は Yum の将来のバージョンでなくなります。\n"
 
-#: ../yum/__init__.py:723
+#: ../yum/__init__.py:818
 msgid "Building updates object"
 msgstr "オブジェクトの更新を構築しています"
 
-#: ../yum/__init__.py:765
+#: ../yum/__init__.py:862
 msgid "doGroupSetup() will go away in a future version of Yum.\n"
 msgstr "doGroupSetup() は Yum の将来のバージョンでなくなります。\n"
 
-#: ../yum/__init__.py:790
+#: ../yum/__init__.py:887
 msgid "Getting group metadata"
 msgstr "グループメタデータを取得しています"
 
-#: ../yum/__init__.py:816
+#: ../yum/__init__.py:915
 #, python-format
 msgid "Adding group file from repository: %s"
 msgstr "リポジトリーからグループファイルを追加しています: %s"
 
-#: ../yum/__init__.py:827
+#: ../yum/__init__.py:918
+#, python-format
+msgid "Failed to retrieve group file for repository: %s"
+msgstr ""
+
+#: ../yum/__init__.py:924
 #, python-format
 msgid "Failed to add groups file for repository: %s - %s"
 msgstr "リポジトリーのグループファイルに追加できませんでした: %s - %s"
 
-#: ../yum/__init__.py:833
+#: ../yum/__init__.py:930
 msgid "No Groups Available in any repository"
 msgstr "いずれかのリポジトリーに利用できるグループはありません"
 
-#: ../yum/__init__.py:845
+#: ../yum/__init__.py:945
 msgid "Getting pkgtags metadata"
 msgstr "メタデータ pkgtags を取得しています"
 
-#: ../yum/__init__.py:855
+#: ../yum/__init__.py:955
 #, python-format
 msgid "Adding tags from repository: %s"
 msgstr "リポジトリーからタグを追加しています: %s"
 
-#: ../yum/__init__.py:866
+#: ../yum/__init__.py:966
 #, python-format
 msgid "Failed to add Pkg Tags for repository: %s - %s"
 msgstr "リポジトリーからパッケージタグの追加に失敗しました: %s - %s"
 
-#: ../yum/__init__.py:944
+#: ../yum/__init__.py:1059
 msgid "Importing additional filelist information"
 msgstr "追加のファイル一覧情報にインポートしています"
 
-#: ../yum/__init__.py:958
+#: ../yum/__init__.py:1077
 #, python-format
 msgid "The program %s%s%s is found in the yum-utils package."
 msgstr "プログラム %s%s%s は yum-utils パッケージ内で見つかりました。"
 
-#: ../yum/__init__.py:966
+#: ../yum/__init__.py:1094
 msgid ""
 "There are unfinished transactions remaining. You might consider running yum-"
 "complete-transaction first to finish them."
-msgstr ""
-"終了していない残作業があります。それらを終了するために、まず yum-complete-transaction の実行を検討すべきかもしれません。"
+msgstr "終了していない残作業があります。それらを終了するために、まず yum-complete-transaction の実行を検討すべきかもしれません。"
 
-#: ../yum/__init__.py:983
+#: ../yum/__init__.py:1111
 msgid "--> Finding unneeded leftover dependencies"
 msgstr ""
 
-#: ../yum/__init__.py:1041
+#: ../yum/__init__.py:1169
 #, python-format
 msgid "Protected multilib versions: %s != %s"
 msgstr ""
 
-#: ../yum/__init__.py:1096
+#. People are confused about protected mutilib ... so give
+#. them a nicer message.
+#: ../yum/__init__.py:1173
 #, python-format
-msgid "Trying to remove \"%s\", which is protected"
+msgid ""
+" Multilib version problems found. This often means that the root\n"
+"cause is something else and multilib version checking is just\n"
+"pointing out that there is a problem. Eg.:\n"
+"\n"
+"  1. You have an upgrade for %(name)s which is missing some\n"
+"     dependency that another package requires. Yum is trying to\n"
+"     solve this by installing an older version of %(name)s of the\n"
+"     different architecture. If you exclude the bad architecture\n"
+"     yum will tell you what the root cause is (which package\n"
+"     requires what). You can try redoing the upgrade with\n"
+"     --exclude %(name)s.otherarch ... this should give you an error\n"
+"     message showing the root cause of the problem.\n"
+"\n"
+"  2. You have multiple architectures of %(name)s installed, but\n"
+"     yum can only see an upgrade for one of those arcitectures.\n"
+"     If you don't want/need both architectures anymore then you\n"
+"     can remove the one with the missing update and everything\n"
+"     will work.\n"
+"\n"
+"  3. You have duplicate versions of %(name)s installed already.\n"
+"     You can use \"yum check\" to get yum show these errors.\n"
+"\n"
+"...you can also use --setopt=protected_multilib=false to remove\n"
+"this checking, however this is almost never the correct thing to\n"
+"do as something else is very likely to go wrong (often causing\n"
+"much more problems).\n"
+"\n"
 msgstr ""
 
-#: ../yum/__init__.py:1217
+#: ../yum/__init__.py:1257
+#, python-format
+msgid "Trying to remove \"%s\", which is protected"
+msgstr "\"%s\" を削除しようとしています、保護されています"
+
+#: ../yum/__init__.py:1378
 msgid ""
 "\n"
 "Packages skipped because of dependency problems:"
-msgstr ""
-"\n"
-"パッケージは依存関係に問題があるため、飛ばします:"
+msgstr "\nパッケージは依存関係に問題があるため、飛ばします:"
 
-#: ../yum/__init__.py:1221
+#: ../yum/__init__.py:1382
 #, python-format
 msgid "    %s from %s"
-msgstr ""
+msgstr "    %s (%s から)"
 
 #. FIXME: _N()
-#: ../yum/__init__.py:1391
+#: ../yum/__init__.py:1556
 #, python-format
 msgid "** Found %d pre-existing rpmdb problem(s), 'yum check' output follows:"
 msgstr ""
 
-#: ../yum/__init__.py:1395
+#: ../yum/__init__.py:1560
 msgid "Warning: RPMDB altered outside of yum."
 msgstr "警告: RPMDB は yum 以外で変更されました。"
 
-#: ../yum/__init__.py:1407
+#: ../yum/__init__.py:1572
 msgid "missing requires"
 msgstr "要求されたもの不足"
 
-#: ../yum/__init__.py:1408
+#: ../yum/__init__.py:1573
 msgid "installed conflict"
 msgstr "インストール済みとの衝突"
 
-#: ../yum/__init__.py:1525
+#: ../yum/__init__.py:1709
 msgid ""
 "Warning: scriptlet or other non-fatal errors occurred during transaction."
 msgstr "警告: スクリプト、もしくはその他で処理の間に致命的ではないエラーが発生しました。"
 
-#: ../yum/__init__.py:1535
+#: ../yum/__init__.py:1719
 msgid "Transaction couldn't start:"
 msgstr "トランザクションを解しできません:"
 
 #. should this be 'to_unicoded'?
-#: ../yum/__init__.py:1538
+#: ../yum/__init__.py:1722
 msgid "Could not run transaction."
 msgstr "トランザクションを実行できません。"
 
-#: ../yum/__init__.py:1552
+#: ../yum/__init__.py:1736
 #, python-format
 msgid "Failed to remove transaction file %s"
 msgstr "トランザクションファイル %s の削除に失敗しました"
 
 #. maybe a file log here, too
 #. but raising an exception is not going to do any good
-#: ../yum/__init__.py:1590
+#: ../yum/__init__.py:1792
 #, python-format
 msgid "%s was supposed to be installed but is not!"
 msgstr "%s のインストールを想定したがそうではなかった!"
 
 #. maybe a file log here, too
 #. but raising an exception is not going to do any good
-#: ../yum/__init__.py:1651
+#. Note: This actually triggers atm. because we can't
+#. always find the erased txmbr to set it when
+#. we should.
+#: ../yum/__init__.py:1869
 #, python-format
 msgid "%s was supposed to be removed but is not!"
 msgstr "%s の削除を想定したがそうではなかった!"
 
-#: ../yum/__init__.py:1768
-#, python-format
-msgid "Could not open lock %s: %s"
-msgstr "%s のロックを開けません: %s"
-
-#. Whoa. What the heck happened?
-#: ../yum/__init__.py:1785
-#, python-format
-msgid "Unable to check if PID %s is active"
-msgstr "PID %s がアクティブかどうかの確認に失敗しました"
-
 #. Another copy seems to be running.
-#: ../yum/__init__.py:1789
+#: ../yum/__init__.py:2004
 #, python-format
 msgid "Existing lock %s: another copy is running as pid %s."
 msgstr "ロックファイル %s が存在します: PID %s として別に実行されています。"
 
 #. Whoa. What the heck happened?
-#: ../yum/__init__.py:1830
+#: ../yum/__init__.py:2053
 #, python-format
 msgid "Could not create lock at %s: %s "
 msgstr "%s でロックを作成できません: %s"
 
-#: ../yum/__init__.py:1875
+#: ../yum/__init__.py:2065
+#, python-format
+msgid "Could not open lock %s: %s"
+msgstr "%s のロックを開けません: %s"
+
+#. The pid doesn't exist
+#. Whoa. What the heck happened?
+#: ../yum/__init__.py:2082
+#, python-format
+msgid "Unable to check if PID %s is active"
+msgstr "PID %s がアクティブかどうかの確認に失敗しました"
+
+#: ../yum/__init__.py:2132
 #, python-format
 msgid ""
 "Package does not match intended download. Suggestion: run yum "
 "--enablerepo=%s clean metadata"
 msgstr "パッケージは予定したダウンロードと一致しません。 提案: 「yum --enablerepo=%s clean metadata」の実行"
 
-#: ../yum/__init__.py:1891
+#: ../yum/__init__.py:2155
 msgid "Could not perform checksum"
 msgstr "チェックサムの実行ができません"
 
-#: ../yum/__init__.py:1894
+#: ../yum/__init__.py:2158
 msgid "Package does not match checksum"
 msgstr "パッケージのチェックサムが一致しません"
 
-#: ../yum/__init__.py:1946
+#: ../yum/__init__.py:2222
 #, python-format
 msgid "package fails checksum but caching is enabled for %s"
 msgstr "%s のためにキャッシュを有効にしていますが、パッケージのチェックサム演算に失敗します。"
 
-#: ../yum/__init__.py:1949 ../yum/__init__.py:1979
+#: ../yum/__init__.py:2225 ../yum/__init__.py:2268
 #, python-format
 msgid "using local copy of %s"
 msgstr "%s のローカルコピーを使う"
 
-#: ../yum/__init__.py:1991
-#, python-format
-msgid ""
-"Insufficient space in download directory %s\n"
-"    * free   %s\n"
-"    * needed %s"
+#. caller handles errors
+#: ../yum/__init__.py:2342
+msgid "exiting because --downloadonly specified"
 msgstr ""
-"ダウンロードディレクトリー %s の空きが不十分です\n"
-"    * 空き容量 %s\n"
-"    * 必要容量 %s"
 
-#: ../yum/__init__.py:2052
+#: ../yum/__init__.py:2371
 msgid "Header is not complete."
 msgstr "ヘッダーが完了していません。"
 
-#: ../yum/__init__.py:2089
+#: ../yum/__init__.py:2411
 #, python-format
 msgid ""
 "Header not in local cache and caching-only mode enabled. Cannot download %s"
 msgstr "ヘッダーはキャッシュのみのモードが有効で、ローカルにありません。%s のダウンロードができません"
 
-#: ../yum/__init__.py:2147
+#: ../yum/__init__.py:2471
 #, python-format
 msgid "Public key for %s is not installed"
 msgstr "%s の公開鍵がインストールされていません"
 
-#: ../yum/__init__.py:2151
+#: ../yum/__init__.py:2475
 #, python-format
 msgid "Problem opening package %s"
 msgstr "パッケージ %s を開いている最中に問題です"
 
-#: ../yum/__init__.py:2159
+#: ../yum/__init__.py:2483
 #, python-format
 msgid "Public key for %s is not trusted"
 msgstr "%s の公開鍵が信頼されません"
 
-#: ../yum/__init__.py:2163
+#: ../yum/__init__.py:2487
 #, python-format
 msgid "Package %s is not signed"
 msgstr "パッケージ %s は署名されていません"
 
-#: ../yum/__init__.py:2202
+#: ../yum/__init__.py:2529
 #, python-format
 msgid "Cannot remove %s"
 msgstr "%s を削除できません"
 
-#: ../yum/__init__.py:2206
+#: ../yum/__init__.py:2533
 #, python-format
 msgid "%s removed"
 msgstr "%s を削除しました"
 
-#: ../yum/__init__.py:2252
+#: ../yum/__init__.py:2594
 #, python-format
 msgid "Cannot remove %s file %s"
 msgstr "%s のファイル %s を削除できませんでした"
 
-#: ../yum/__init__.py:2256
+#: ../yum/__init__.py:2598
 #, python-format
 msgid "%s file %s removed"
 msgstr "%s のファイル %s を削除しました"
 
-#: ../yum/__init__.py:2258
+#: ../yum/__init__.py:2600
 #, python-format
-msgid "%d %s files removed"
-msgstr "%d %sファイルを削除しました"
+msgid "%d %s file removed"
+msgid_plural "%d %s files removed"
+msgstr[0] "%d 個の %s ファイルを削除しました"
 
-#: ../yum/__init__.py:2327
+#: ../yum/__init__.py:2712
 #, python-format
 msgid "More than one identical match in sack for %s"
 msgstr ""
 
-#: ../yum/__init__.py:2333
+#: ../yum/__init__.py:2718
 #, python-format
 msgid "Nothing matches %s.%s %s:%s-%s from update"
 msgstr "更新から %s.%s %s:%s-%s に一致しません"
 
-#: ../yum/__init__.py:2632
+#: ../yum/__init__.py:3096
 msgid ""
 "searchPackages() will go away in a future version of Yum."
 "                      Use searchGenerator() instead. \n"
-msgstr ""
-"searchPackages() は Yum の将来のバージョンでなくなります。                      代わりに "
-"searchGenerator() を使います。\n"
+msgstr "searchPackages() は Yum の将来のバージョンでなくなります。                      代わりに searchGenerator() を使います。\n"
 
-#: ../yum/__init__.py:2675
+#: ../yum/__init__.py:3149
 #, python-format
-msgid "Searching %d packages"
-msgstr "%d 個のパッケージを検索しています"
+msgid "Searching %d package"
+msgid_plural "Searching %d packages"
+msgstr[0] "%d 個のパッケージを検索しています"
 
-#: ../yum/__init__.py:2679
+#: ../yum/__init__.py:3153
 #, python-format
 msgid "searching package %s"
 msgstr "パッケージ %s を検索しています"
 
-#: ../yum/__init__.py:2691
+#: ../yum/__init__.py:3165
 msgid "searching in file entries"
 msgstr "ファイルのエントリーから検索しています"
 
-#: ../yum/__init__.py:2698
+#: ../yum/__init__.py:3172
 msgid "searching in provides entries"
 msgstr "提供されたエントリーを検索しています"
 
-#: ../yum/__init__.py:2777
+#: ../yum/__init__.py:3369
 msgid "No group data available for configured repositories"
 msgstr "構成されたリポジトリーに利用できるグループはありません"
 
-#: ../yum/__init__.py:2808 ../yum/__init__.py:2827 ../yum/__init__.py:2858
-#: ../yum/__init__.py:2864 ../yum/__init__.py:2953 ../yum/__init__.py:2957
-#: ../yum/__init__.py:3339
+#: ../yum/__init__.py:3466 ../yum/__init__.py:3500 ../yum/__init__.py:3576
+#: ../yum/__init__.py:3582 ../yum/__init__.py:3719 ../yum/__init__.py:3723
+#: ../yum/__init__.py:4298
 #, python-format
 msgid "No Group named %s exists"
 msgstr "グループ名 %s が存在しません"
 
-#: ../yum/__init__.py:2839 ../yum/__init__.py:2973
+#: ../yum/__init__.py:3512 ../yum/__init__.py:3740
 #, python-format
 msgid "package %s was not marked in group %s"
-msgstr "パッケージ%s はグループ %s で設定されていません"
+msgstr "パッケージ%s はグループ %s でマークされていません"
+
+#. (upgrade and igroup_data[pkg] == 'available')):
+#: ../yum/__init__.py:3622
+#, python-format
+msgid "Skipping package %s from group %s"
+msgstr ""
 
-#: ../yum/__init__.py:2887
+#: ../yum/__init__.py:3628
 #, python-format
 msgid "Adding package %s from group %s"
 msgstr "パッケージ %s をグループ %s から追加しています"
 
-#: ../yum/__init__.py:2891
+#: ../yum/__init__.py:3649
 #, python-format
 msgid "No package named %s available to be installed"
 msgstr "インストールに利用できるパッケージ名 %s がありません"
 
-#: ../yum/__init__.py:2941
+#: ../yum/__init__.py:3702
 #, python-format
-msgid "Warning: Group %s does not have any packages."
+msgid "Warning: Group %s does not have any packages to install."
 msgstr ""
 
-#: ../yum/__init__.py:2943
+#: ../yum/__init__.py:3704
 #, python-format
 msgid "Group %s does have %u conditional packages, which may get installed."
 msgstr ""
 
+#: ../yum/__init__.py:3794
+#, python-format
+msgid "Skipping group %s from environment %s"
+msgstr ""
+
 #. This can happen due to excludes after .up has
 #. happened.
-#: ../yum/__init__.py:3002
+#: ../yum/__init__.py:3858
 #, python-format
 msgid "Package tuple %s could not be found in packagesack"
 msgstr ""
 
-#: ../yum/__init__.py:3022
+#: ../yum/__init__.py:3886
 #, python-format
 msgid "Package tuple %s could not be found in rpmdb"
 msgstr ""
 
-#: ../yum/__init__.py:3079 ../yum/__init__.py:3129
+#: ../yum/__init__.py:3949 ../yum/__init__.py:4012
 #, python-format
 msgid "Invalid version flag from: %s"
 msgstr ""
 
-#: ../yum/__init__.py:3096 ../yum/__init__.py:3101
+#: ../yum/__init__.py:3973 ../yum/__init__.py:3979 ../yum/__init__.py:4036
+#: ../yum/__init__.py:4042
 #, python-format
 msgid "No Package found for %s"
 msgstr "%s のパッケージが見つかりません"
 
-#: ../yum/__init__.py:3401
+#: ../yum/__init__.py:4245 ../yum/__init__.py:4274
+#, python-format
+msgid "Warning: Environment Group %s does not exist."
+msgstr ""
+
+#: ../yum/__init__.py:4397
+#, python-format
+msgid "Package: %s - can't co-install with %s"
+msgstr ""
+
+#: ../yum/__init__.py:4437
 msgid "Package Object was not a package object instance"
 msgstr "パッケージ オブジェクトはパッケージ オブジェクト インスタンスではありません"
 
-#: ../yum/__init__.py:3405
+#: ../yum/__init__.py:4441
 msgid "Nothing specified to install"
 msgstr "インストールへの指定がありません"
 
-#: ../yum/__init__.py:3424 ../yum/__init__.py:4283
+#: ../yum/__init__.py:4465 ../yum/__init__.py:5410
 #, python-format
 msgid "Checking for virtual provide or file-provide for %s"
 msgstr "%s の仮想提供かファイル提供を確認しています"
 
-#: ../yum/__init__.py:3430 ../yum/__init__.py:3775 ../yum/__init__.py:3969
-#: ../yum/__init__.py:4289
-#, python-format
-msgid "No Match for argument: %s"
-msgstr "引数に一致しません: %s"
-
-#: ../yum/__init__.py:3507
+#: ../yum/__init__.py:4542
 #, python-format
 msgid "Package %s installed and not available"
 msgstr "パッケージ %s はインストール済みか利用できません"
 
-#: ../yum/__init__.py:3510
+#: ../yum/__init__.py:4545
 msgid "No package(s) available to install"
 msgstr "インストールに利用できるパッケージはありません"
 
-#: ../yum/__init__.py:3522
+#: ../yum/__init__.py:4557
 #, python-format
 msgid "Package: %s  - already in transaction set"
 msgstr "パッケージ: %s - すでにトランザクション設定をしています。"
 
-#: ../yum/__init__.py:3550
+#: ../yum/__init__.py:4589
 #, python-format
 msgid "Package %s is obsoleted by %s which is already installed"
 msgstr "パッケージ %s は既にインストール済みの %s によって不要扱いになりました。"
 
-#: ../yum/__init__.py:3555
+#: ../yum/__init__.py:4594
 #, python-format
 msgid ""
 "Package %s is obsoleted by %s, but obsoleting package does not provide for "
 "requirements"
 msgstr "パッケージ %s は %s によって不要になりました。しかし、不要のパッケージは要求を提供していません。"
 
-#: ../yum/__init__.py:3558
+#: ../yum/__init__.py:4597
 #, python-format
 msgid "Package %s is obsoleted by %s, trying to install %s instead"
 msgstr "パッケージ %s は %s によって不要になりました。代わりに %s のインストールを試みています。"
 
-#: ../yum/__init__.py:3566
+#: ../yum/__init__.py:4605
 #, python-format
 msgid "Package %s already installed and latest version"
 msgstr "パッケージ %s はインストール済みか最新バージョンです"
 
-#: ../yum/__init__.py:3580
+#: ../yum/__init__.py:4619
 #, python-format
 msgid "Package matching %s already installed. Checking for update."
 msgstr "一致したパッケージ %s はすでにインストールされています。更新を確認しています。"
 
 #. update everything (the easy case)
-#: ../yum/__init__.py:3684
+#: ../yum/__init__.py:4751
 msgid "Updating Everything"
 msgstr "すべて更新しています"
 
-#: ../yum/__init__.py:3708 ../yum/__init__.py:3849 ../yum/__init__.py:3879
-#: ../yum/__init__.py:3915
+#: ../yum/__init__.py:4775 ../yum/__init__.py:4930 ../yum/__init__.py:4975
+#: ../yum/__init__.py:5011
 #, python-format
 msgid "Not Updating Package that is already obsoleted: %s.%s %s:%s-%s"
-msgstr "既に不要なパッケージの更新はありません: %s.%s %s:%s-%s"
+msgstr "不要なパッケージの更新はありません: %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3753 ../yum/__init__.py:3965
+#: ../yum/__init__.py:4830 ../yum/__init__.py:5072
 #, python-format
 msgid "%s"
 msgstr "%s"
 
-#: ../yum/__init__.py:3838
+#: ../yum/__init__.py:4854 ../yum/__init__.py:5080 ../yum/__init__.py:5416
+#, python-format
+msgid "No Match for argument: %s"
+msgstr "引数に一致しません: %s"
+
+#: ../yum/__init__.py:4872
+#, python-format
+msgid "No package matched to upgrade: %s"
+msgstr "アップグレードするために一致するパッケージがありません: %s"
+
+#: ../yum/__init__.py:4919
 #, python-format
 msgid "Package is already obsoleted: %s.%s %s:%s-%s"
-msgstr "パッケージは既に不要です: %s.%s %s:%s-%s"
+msgstr "パッケージはすでに不要です: %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3874
+#: ../yum/__init__.py:4970
 #, python-format
 msgid "Not Updating Package that is obsoleted: %s"
-msgstr "既に不要なパッケージの更新はありません: %s"
+msgstr "不要なパッケージの更新はありません: %s"
 
-#: ../yum/__init__.py:3883 ../yum/__init__.py:3919
+#: ../yum/__init__.py:4979 ../yum/__init__.py:5015
 #, python-format
 msgid "Not Updating Package that is already updated: %s.%s %s:%s-%s"
-msgstr "既にアップデートされているのでパッケージをアップデートしません: %s.%s %s:%s-%s"
+msgstr "すでにアップデート済みなのでパッケージをアップデートしません: %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3982
-msgid "No package matched to remove"
-msgstr "削除に一致するパッケージはありません"
+#: ../yum/__init__.py:5093
+#, python-format
+msgid "No package matched to remove: %s"
+msgstr "削除するために一致するパッケージがありません: %s"
 
-#: ../yum/__init__.py:3988
+#: ../yum/__init__.py:5099
 #, python-format
 msgid "Skipping the running kernel: %s"
 msgstr "実行中のカーネルを飛ばします: %s"
 
-#: ../yum/__init__.py:3994
+#: ../yum/__init__.py:5105
 #, python-format
 msgid "Removing %s from the transaction"
 msgstr "トランザクションの中から %s を削除しています。"
 
-#: ../yum/__init__.py:4029
+#: ../yum/__init__.py:5142
 #, python-format
 msgid "Cannot open: %s. Skipping."
 msgstr "ファイルが開けません:  %s を飛ばします。"
 
-#: ../yum/__init__.py:4032 ../yum/__init__.py:4150 ../yum/__init__.py:4226
+#: ../yum/__init__.py:5145 ../yum/__init__.py:5262 ../yum/__init__.py:5347
 #, python-format
 msgid "Examining %s: %s"
 msgstr "%s を調べています: %s"
 
-#: ../yum/__init__.py:4036
+#: ../yum/__init__.py:5149
 #, python-format
 msgid "Cannot localinstall deltarpm: %s. Skipping."
-msgstr ""
+msgstr "デルタ RPM をローカルインストールできません: %s。スキップしています。"
 
-#: ../yum/__init__.py:4045 ../yum/__init__.py:4153 ../yum/__init__.py:4229
+#: ../yum/__init__.py:5158 ../yum/__init__.py:5265 ../yum/__init__.py:5350
 #, python-format
 msgid ""
 "Cannot add package %s to transaction. Not a compatible architecture: %s"
-msgstr "トランザクションにパッケージ %s を追加できません。アーキテクチャに互換性がありません: %s"
+msgstr "トランザクションにパッケージ %s を追加できません。アーキテクチャーに互換性がありません: %s"
 
-#: ../yum/__init__.py:4051
+#: ../yum/__init__.py:5164
 #, python-format
 msgid "Cannot install package %s. It is obsoleted by installed package %s"
 msgstr "パッケージ %s をインストールできません。それはパッケージ %s により不要になっています。"
 
-#: ../yum/__init__.py:4059
+#: ../yum/__init__.py:5172
 #, python-format
 msgid ""
 "Package %s not installed, cannot update it. Run yum install to install it "
 "instead."
 msgstr "パッケージ %s はインストールされていないので更新できません。代わりに「yum install」を実行してインストールしてください。"
 
-#: ../yum/__init__.py:4078 ../yum/__init__.py:4085
+#: ../yum/__init__.py:5191 ../yum/__init__.py:5198
 #, python-format
 msgid ""
 "Package %s.%s not installed, cannot update it. Run yum install to install it"
 " instead."
 msgstr ""
 
-#: ../yum/__init__.py:4094 ../yum/__init__.py:4158 ../yum/__init__.py:4234
+#: ../yum/__init__.py:5207 ../yum/__init__.py:5270 ../yum/__init__.py:5355
 #, python-format
 msgid "Excluding %s"
 msgstr "%s の除外中"
 
-#: ../yum/__init__.py:4099
+#: ../yum/__init__.py:5212
 #, python-format
 msgid "Marking %s to be installed"
 msgstr "%s をインストール済みとして設定しています"
 
-#: ../yum/__init__.py:4105
+#: ../yum/__init__.py:5218
 #, python-format
 msgid "Marking %s as an update to %s"
 msgstr "次のリポジトリーへの更新として %s を設定します: %s"
 
-#: ../yum/__init__.py:4112
+#: ../yum/__init__.py:5225
 #, python-format
 msgid "%s: does not update installed package."
 msgstr "%s: インストールされたパッケージを更新しません。"
 
-#: ../yum/__init__.py:4147 ../yum/__init__.py:4223
+#: ../yum/__init__.py:5259 ../yum/__init__.py:5344
 #, python-format
 msgid "Cannot open file: %s. Skipping."
 msgstr "ファイル %s が開けません。飛ばします。"
 
-#: ../yum/__init__.py:4177
+#: ../yum/__init__.py:5299
 msgid "Problem in reinstall: no package matched to remove"
 msgstr "再インストール中に問題: 削除するパッケージがありません"
 
-#: ../yum/__init__.py:4203
+#: ../yum/__init__.py:5325
 #, python-format
 msgid "Problem in reinstall: no package %s matched to install"
 msgstr "再インストールでの問題: インストールのための %s に一致するパッケーがありません"
 
-#: ../yum/__init__.py:4311
+#: ../yum/__init__.py:5438
 msgid "No package(s) available to downgrade"
 msgstr "ダウングレードに利用できるパッケージはありません"
 
-#: ../yum/__init__.py:4319
+#: ../yum/__init__.py:5446
 #, python-format
 msgid "Package %s is allowed multiple installs, skipping"
 msgstr "パッケージ %s は複数インストールが許可されています。飛ばします"
 
-#: ../yum/__init__.py:4365
+#: ../yum/__init__.py:5496
 #, python-format
 msgid "No Match for available package: %s"
 msgstr "利用できるパッケージに一致しません: %s"
 
-#: ../yum/__init__.py:4372
+#: ../yum/__init__.py:5506
 #, python-format
 msgid "Only Upgrade available on package: %s"
 msgstr "アップグレードにのみ利用できるパッケージ: %s"
 
-#: ../yum/__init__.py:4442 ../yum/__init__.py:4479
+#: ../yum/__init__.py:5619 ../yum/__init__.py:5686
 #, python-format
 msgid "Failed to downgrade: %s"
 msgstr "ダウングレードに失敗: %s"
 
-#: ../yum/__init__.py:4516
+#: ../yum/__init__.py:5636 ../yum/__init__.py:5692
+#, python-format
+msgid "Failed to upgrade: %s"
+msgstr "更新に失敗しました: %s"
+
+#: ../yum/__init__.py:5725
 #, python-format
 msgid "Retrieving key from %s"
 msgstr "%s から鍵を取得中です。"
 
-#: ../yum/__init__.py:4534
+#: ../yum/__init__.py:5743
 msgid "GPG key retrieval failed: "
 msgstr "GPG 鍵の取得に失敗しました: "
 
 #. if we decide we want to check, even though the sig failed
 #. here is where we would do that
-#: ../yum/__init__.py:4557
+#: ../yum/__init__.py:5766
 #, python-format
 msgid "GPG key signature on key %s does not match CA Key for repo: %s"
 msgstr "キー %s のGPGキーの署名は、次のレポジトリーのCA鍵と一致していません。: %s"
 
-#: ../yum/__init__.py:4559
+#: ../yum/__init__.py:5768
 msgid "GPG key signature verified against CA Key(s)"
 msgstr ""
 
-#: ../yum/__init__.py:4567
+#: ../yum/__init__.py:5776
 #, python-format
 msgid "Invalid GPG Key from %s: %s"
 msgstr "%s からの GPG 鍵が正しくありません: %s"
 
-#: ../yum/__init__.py:4576
+#: ../yum/__init__.py:5785
 #, python-format
 msgid "GPG key parsing failed: key does not have value %s"
 msgstr "GPG 鍵の解析に失敗しました: 鍵は値 %s を持っていません"
 
-#: ../yum/__init__.py:4592
+#: ../yum/__init__.py:5801
 #, python-format
 msgid ""
 "Importing %s key 0x%s:\n"
-" Userid : %s\n"
-" Package: %s (%s)\n"
-" From   : %s"
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" Package    : %s (%s)\n"
+" From       : %s"
 msgstr ""
 
-#: ../yum/__init__.py:4600
+#: ../yum/__init__.py:5811
 #, python-format
 msgid ""
 "Importing %s key 0x%s:\n"
-" Userid: \"%s\"\n"
-" From  : %s"
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" From       : %s"
 msgstr ""
 
-#: ../yum/__init__.py:4634
+#: ../yum/__init__.py:5839
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" Failing package is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr ""
+
+#: ../yum/__init__.py:5853
 #, python-format
 msgid "GPG key at %s (0x%s) is already installed"
 msgstr "GPG 鍵 %s (0x%s) はすでにインストールしています"
 
-#: ../yum/__init__.py:4671
+#: ../yum/__init__.py:5891
 #, python-format
 msgid "Key import failed (code %d)"
 msgstr "鍵のインポートに失敗しました (コード: %d)"
 
-#: ../yum/__init__.py:4672 ../yum/__init__.py:4755
+#: ../yum/__init__.py:5893 ../yum/__init__.py:5994
 msgid "Key imported successfully"
 msgstr "鍵のインポートに成功しました"
 
-#: ../yum/__init__.py:4676
+#: ../yum/__init__.py:5897
 msgid "Didn't install any keys"
 msgstr ""
 
-#: ../yum/__init__.py:4680
+#: ../yum/__init__.py:5900
 #, python-format
 msgid ""
 "The GPG keys listed for the \"%s\" repository are already installed but they are not correct for this package.\n"
 "Check that the correct key URLs are configured for this repository."
 msgstr ""
 
-#: ../yum/__init__.py:4689
+#: ../yum/__init__.py:5910
 msgid "Import of key(s) didn't help, wrong key(s)?"
 msgstr "鍵のインポートを助けられません。鍵が壊れていませんか?"
 
-#: ../yum/__init__.py:4713
+#: ../yum/__init__.py:5932
+msgid "No"
+msgstr "いいえ"
+
+#: ../yum/__init__.py:5934
+msgid "Yes"
+msgstr "はい"
+
+#: ../yum/__init__.py:5935
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" CA Key: %s\n"
+" Failing repo is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr ""
+
+#: ../yum/__init__.py:5948
 #, python-format
 msgid "GPG key at %s (0x%s) is already imported"
 msgstr "GPG 鍵 %s (0x%s) はすでにインポートしています"
 
-#: ../yum/__init__.py:4754
-msgid "Key import failed"
-msgstr "鍵のインポートに失敗しました"
+#: ../yum/__init__.py:5992
+#, python-format
+msgid "Key %s import failed"
+msgstr "キー %s のインポートに失敗しました"
 
-#: ../yum/__init__.py:4770
+#: ../yum/__init__.py:6009
 #, python-format
 msgid "Didn't install any keys for repo %s"
 msgstr ""
 
-#: ../yum/__init__.py:4774
+#: ../yum/__init__.py:6014
 #, python-format
 msgid ""
 "The GPG keys listed for the \"%s\" repository are already installed but they are not correct.\n"
 "Check that the correct key URLs are configured for this repository."
 msgstr ""
 
-#: ../yum/__init__.py:4924
+#: ../yum/__init__.py:6172
 msgid "Unable to find a suitable mirror."
 msgstr "適当なミラーを見つけることができませんでした。"
 
-#: ../yum/__init__.py:4926
+#: ../yum/__init__.py:6174
 msgid "Errors were encountered while downloading packages."
 msgstr "パッケージのダウンロード中にエラーに遭遇しました。"
 
-#: ../yum/__init__.py:4981
+#: ../yum/__init__.py:6229
 #, python-format
 msgid "Please report this error at %s"
 msgstr "%s にこのエラーを報告してください"
 
-#: ../yum/__init__.py:4998
+#: ../yum/__init__.py:6246
 msgid "Test Transaction Errors: "
 msgstr "テストトランザクションでエラー: "
 
-#: ../yum/__init__.py:5098
+#: ../yum/__init__.py:6358
 #, python-format
 msgid "Could not set cachedir: %s"
 msgstr "cackedir が設定できません: %s"
 
-#: ../yum/__init__.py:5148 ../yum/__init__.py:5150
+#: ../yum/__init__.py:6420 ../yum/__init__.py:6422
 msgid "Dependencies not solved. Will not save unresolved transaction."
 msgstr ""
 
-#: ../yum/__init__.py:5179 ../yum/__init__.py:5181
+#: ../yum/__init__.py:6455 ../yum/__init__.py:6457
 #, python-format
 msgid "Could not save transaction file %s: %s"
 msgstr "トランザクションファイル %s が保存できません。: %s"
 
-#: ../yum/__init__.py:5195
+#: ../yum/__init__.py:6483
 #, python-format
 msgid "Could not access/read saved transaction %s : %s"
 msgstr "保存されているトランザクションファイル %s にアクセスできません。: %s"
 
-#: ../yum/__init__.py:5214
-msgid "rpmdb ver mismatched saved transaction version, "
-msgstr "保存されているトランザクションファイルの rpmdb のバージョンがマッチしていません。"
-
-#: ../yum/__init__.py:5216
-msgid " ignoring, as requested."
-msgstr ""
-
-#: ../yum/__init__.py:5219 ../yum/__init__.py:5354
-msgid " aborting."
+#: ../yum/__init__.py:6521
+msgid "rpmdb ver mismatched saved transaction version,"
 msgstr ""
 
-#: ../yum/__init__.py:5228
+#: ../yum/__init__.py:6535
 msgid "cannot find tsflags or tsflags not integer."
 msgstr ""
 
-#: ../yum/__init__.py:5267
+#: ../yum/__init__.py:6584
 #, python-format
 msgid "Found txmbr in unknown current state: %s"
 msgstr ""
 
-#: ../yum/__init__.py:5271
+#: ../yum/__init__.py:6588
 #, python-format
 msgid "Could not find txmbr: %s in state %s"
-msgstr ""
+msgstr "txmbr を見つけられませんでした: %s が %s 状態にあります"
 
-#: ../yum/__init__.py:5307 ../yum/__init__.py:5324
+#: ../yum/__init__.py:6625 ../yum/__init__.py:6642
 #, python-format
 msgid "Could not find txmbr: %s from origin: %s"
-msgstr ""
+msgstr "txmbr を見つけられませんでした: 起点から %s: %s"
 
-#: ../yum/__init__.py:5349
+#: ../yum/__init__.py:6667
 msgid "Transaction members, relations are missing or ts has been modified,"
 msgstr ""
 
-#: ../yum/__init__.py:5351
+#: ../yum/__init__.py:6670
 msgid " ignoring, as requested. You must redepsolve!"
+msgstr " 要求により、無視しています。依存性を再解決しなければいけません！"
+
+#. Debugging output
+#: ../yum/__init__.py:6738 ../yum/__init__.py:6757
+#, python-format
+msgid "%s has been visited already and cannot be removed."
+msgstr ""
+
+#. Debugging output
+#: ../yum/__init__.py:6741
+#, python-format
+msgid "Examining revdeps of %s"
+msgstr ""
+
+#. Debugging output
+#: ../yum/__init__.py:6762
+#, python-format
+msgid "%s has revdep %s which was user-installed."
+msgstr ""
+
+#: ../yum/__init__.py:6773 ../yum/__init__.py:6779
+#, python-format
+msgid "%s is needed by a package to be installed."
+msgstr ""
+
+#. Debugging output
+#: ../yum/__init__.py:6793
+#, python-format
+msgid "%s has no user-installed revdeps."
 msgstr ""
 
 #. Mostly copied from YumOutput._outKeyValFill()
-#: ../yum/plugins.py:209
+#: ../yum/plugins.py:212
 msgid "Loaded plugins: "
 msgstr "読み込んだプラグイン:"
 
-#: ../yum/plugins.py:223 ../yum/plugins.py:229
+#: ../yum/plugins.py:226 ../yum/plugins.py:232
 #, python-format
 msgid "No plugin match for: %s"
 msgstr "プラグインが一致しません: %s"
 
-#: ../yum/plugins.py:259
+#: ../yum/plugins.py:262
 #, python-format
 msgid "Not loading \"%s\" plugin, as it is disabled"
 msgstr "無効になっているため、プラグイン「%s」は読み込みません"
 
 #. Give full backtrace:
-#: ../yum/plugins.py:271
+#: ../yum/plugins.py:274
 #, python-format
 msgid "Plugin \"%s\" can't be imported"
 msgstr "プラグイン「%s」はインポートできませんでした"
 
-#: ../yum/plugins.py:278
+#: ../yum/plugins.py:281
 #, python-format
 msgid "Plugin \"%s\" doesn't specify required API version"
 msgstr "プラグイン「%s」は要求された API バージョンを明記していません"
 
-#: ../yum/plugins.py:283
+#: ../yum/plugins.py:286
 #, python-format
 msgid "Plugin \"%s\" requires API %s. Supported API is %s."
 msgstr "プラグイン「%s」は API %s を要求しています。サポートした API は %s です。"
 
-#: ../yum/plugins.py:316
+#: ../yum/plugins.py:319
 #, python-format
 msgid "Loading \"%s\" plugin"
 msgstr "プラグイン「%s」を読み込んでいます"
 
-#: ../yum/plugins.py:323
+#: ../yum/plugins.py:326
 #, python-format
 msgid "Two or more plugins with the name \"%s\" exist in the plugin search path"
 msgstr "プラグイン検索パスの中に \"%s\" に該当する名前のプラグインが複数存在します。"
 
-#: ../yum/plugins.py:343
+#: ../yum/plugins.py:346
 #, python-format
 msgid "Configuration file %s not found"
 msgstr "構成ファイル %s が見つかりません"
 
 #. for
 #. Configuration files for the plugin not found
-#: ../yum/plugins.py:346
+#: ../yum/plugins.py:349
 #, python-format
 msgid "Unable to find configuration file for plugin %s"
 msgstr "プラグイン %s の構成ファイルの検索に失敗しました"
 
-#: ../yum/plugins.py:508
+#: ../yum/plugins.py:553
 msgid "registration of commands not supported"
 msgstr "コマンドの登録をサポートしていません"
 
-#: ../yum/rpmsack.py:148
+#: ../yum/rpmsack.py:159
 msgid "has missing requires of"
 msgstr "は次の要求が不足ています: "
 
-#: ../yum/rpmsack.py:151
+#: ../yum/rpmsack.py:162
 msgid "has installed conflicts"
 msgstr "は次のインストール済みと衝突しています: "
 
-#: ../yum/rpmsack.py:160
+#: ../yum/rpmsack.py:171
 #, python-format
 msgid "%s is a duplicate with %s"
 msgstr "%s は %s の複製です"
 
-#: ../yum/rpmsack.py:168
+#: ../yum/rpmsack.py:179
 #, python-format
 msgid "%s is obsoleted by %s"
 msgstr "%s は %s によって不要になりました。"
 
-#: ../yum/rpmsack.py:176
+#: ../yum/rpmsack.py:187
 #, python-format
 msgid "%s provides %s but it cannot be found"
 msgstr "%s は %s を提供していますが、見つかりません。"
@@ -3091,6 +3447,23 @@ msgstr "%s は %s を提供していますが、見つかりません。"
 msgid "Repackaging"
 msgstr "再パッケージをしています"
 
+#: ../yum/rpmtrans.py:149
+#, python-format
+msgid "Verify: %u/%u: %s"
+msgstr "検証: %u/%u: %s"
+
+#: ../yum/yumRepo.py:919
+#, python-format
+msgid ""
+"Insufficient space in download directory %s\n"
+"    * free   %s\n"
+"    * needed %s"
+msgstr "ダウンロードディレクトリー %s の空きが不十分です\n    * 空き容量 %s\n    * 必要容量 %s"
+
+#: ../yum/yumRepo.py:986
+msgid "Package does not match intended download."
+msgstr ""
+
 #: ../rpmUtils/oldUtils.py:33
 #, python-format
 msgid "Header cannot be opened or does not match %s, %s."
@@ -3119,5 +3492,3 @@ msgstr "ヘッダー %s は損傷があります"
 #, python-format
 msgid "Error opening rpm %s - error %s"
 msgstr "RPM %s へのアクセスでエラー - %s エラー"
-
-
diff --git a/po/lt_LT.po b/po/lt_LT.po
index 4a1d933..f9c3f43 100644
--- a/po/lt_LT.po
+++ b/po/lt_LT.po
@@ -2,1510 +2,1656 @@
 # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
 # This file is distributed under the same license as the PACKAGE package.
 # 
-# aurisc4 <aurisc4@gmail.com>, 2011
+# Translators:
+# aurisc4 <aurisc4@gmail.com>, 2011.
+#   <aurisc4@gmail.com>, 2011.
 msgid ""
 msgstr ""
 "Project-Id-Version: Yum\n"
-"Report-Msgid-Bugs-To: http://yum.baseurl.org/\n"
-"POT-Creation-Date: 2011-06-06 10:21-0400\n"
-"PO-Revision-Date: 2011-06-06 14:21+0000\n"
-"Last-Translator: skvidal <skvidal@fedoraproject.org>\n"
-"Language-Team: Lithuanian (Lithuania) (http://www.transifex.net/projects/p/yum/team/lt_LT/)\n"
+"Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
+"POT-Creation-Date: 2013-01-30 09:08-0500\n"
+"PO-Revision-Date: 2013-01-30 14:08+0000\n"
+"Last-Translator: james <james@fedoraproject.org>\n"
+"Language-Team: Lithuanian (Lithuania) (http://www.transifex.com/projects/p/yum/language/lt_LT/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Language: lt_LT\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
 
-#: ../callback.py:48 ../output.py:1037 ../yum/rpmtrans.py:73
+#: ../callback.py:45 ../output.py:1502 ../yum/rpmtrans.py:73
 msgid "Updating"
 msgstr "Atnaujinama"
 
-#: ../callback.py:49 ../yum/rpmtrans.py:74
+#: ../callback.py:46 ../yum/rpmtrans.py:74
 msgid "Erasing"
 msgstr "Šalinama"
 
-#: ../callback.py:50 ../callback.py:51 ../callback.py:53 ../output.py:1036
-#: ../output.py:2218 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
+#: ../callback.py:47 ../callback.py:48 ../callback.py:50 ../output.py:1501
+#: ../output.py:2922 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
 #: ../yum/rpmtrans.py:78
 msgid "Installing"
 msgstr "Diegiama"
 
-#: ../callback.py:52 ../callback.py:58 ../output.py:1840 ../yum/rpmtrans.py:77
+#: ../callback.py:49 ../callback.py:55 ../output.py:2379 ../yum/rpmtrans.py:77
 msgid "Obsoleted"
 msgstr "Pažymėta pasenusiu"
 
-#: ../callback.py:54 ../output.py:1169 ../output.py:1686 ../output.py:1847
+#: ../callback.py:51 ../output.py:1670 ../output.py:2222 ../output.py:2386
 msgid "Updated"
 msgstr "Atnaujinta"
 
-#: ../callback.py:55 ../output.py:1685
+#: ../callback.py:52 ../output.py:2221
 msgid "Erased"
 msgstr "Pašalinta"
 
-#: ../callback.py:56 ../callback.py:57 ../callback.py:59 ../output.py:1167
-#: ../output.py:1685 ../output.py:1687 ../output.py:2190
+#: ../callback.py:53 ../callback.py:54 ../callback.py:56 ../output.py:1668
+#: ../output.py:2221 ../output.py:2223 ../output.py:2894
 msgid "Installed"
 msgstr "Įdiegta"
 
-#: ../callback.py:130
+#: ../callback.py:142
 msgid "No header - huh?"
 msgstr "Nėra antraštės - keista?"
 
-#: ../callback.py:168
+#: ../callback.py:180
 msgid "Repackage"
 msgstr "Perpakuoti"
 
-#: ../callback.py:189
+#: ../callback.py:201
 #, python-format
 msgid "Error: invalid output state: %s for %s"
 msgstr "Klaida: neteisinga išvesties būsena: %s %s"
 
-#: ../callback.py:212
+#: ../callback.py:224
 #, python-format
 msgid "Erased: %s"
 msgstr "Pašalinta: %s"
 
-#: ../callback.py:217 ../output.py:1038 ../output.py:2193
+#: ../callback.py:229 ../output.py:1503 ../output.py:2897
 msgid "Removing"
 msgstr "Šalinama"
 
-#: ../callback.py:219 ../yum/rpmtrans.py:79
+#: ../callback.py:231 ../yum/rpmtrans.py:79
 msgid "Cleanup"
 msgstr "Valymas"
 
-#: ../cli.py:115
+#: ../cli.py:122
 #, python-format
 msgid "Command \"%s\" already defined"
 msgstr "Komanda „%s“ jau apibrėžta"
 
-#: ../cli.py:127
+#: ../cli.py:137
 msgid "Setting up repositories"
 msgstr "Nustatomos saugyklos"
 
-#: ../cli.py:138
+#: ../cli.py:148
 msgid "Reading repository metadata in from local files"
 msgstr "Skaitoma saugyklų informacija iš vietinių failų"
 
-#: ../cli.py:245 ../utils.py:281
+#: ../cli.py:273 ../cli.py:277 ../utils.py:320
 #, python-format
 msgid "Config Error: %s"
 msgstr "Konfigūracijos klaida: %s"
 
-#: ../cli.py:248 ../cli.py:1584 ../utils.py:284
+#: ../cli.py:280 ../cli.py:2206 ../utils.py:323
 #, python-format
 msgid "Options Error: %s"
 msgstr "Parinkčių klaida: %s"
 
-#: ../cli.py:293
+#: ../cli.py:327
 #, python-format
 msgid "  Installed: %s-%s at %s"
 msgstr "  Įdiegta: %s-%s %s"
 
-#: ../cli.py:295
+#: ../cli.py:329
 #, python-format
 msgid "  Built    : %s at %s"
 msgstr "  Sukurta  : %s %s"
 
-#: ../cli.py:297
+#: ../cli.py:331
 #, python-format
 msgid "  Committed: %s at %s"
 msgstr "  Pateikta : %s %s"
 
-#: ../cli.py:336
+#: ../cli.py:372
 msgid "You need to give some command"
 msgstr "Reikia pateikti kokią nors komandą"
 
-#: ../cli.py:350
+#: ../cli.py:386
 #, python-format
 msgid "No such command: %s. Please use %s --help"
 msgstr "Nėra komandos: %s. Naudokite %s --help"
 
-#: ../cli.py:400
+#: ../cli.py:444
 msgid "Disk Requirements:\n"
 msgstr "Disko reikalavimai:\n"
 
-#: ../cli.py:402
+#: ../cli.py:446
 #, python-format
 msgid "  At least %dMB more space needed on the %s filesystem.\n"
-msgstr "  Reikia bent %dMB daugiau vietos failų sistemoje %s.\n"
+msgid_plural "  At least %dMB more space needed on the %s filesystem.\n"
+msgstr[0] "  Reikia bent %dMB daugiau vietos failų sistemoje %s.\n"
+msgstr[1] "  Reikia bent %dMB daugiau vietos failų sistemoje %s.\n"
+msgstr[2] "  Reikia bent %dMB daugiau vietos failų sistemoje %s.\n"
 
 #. TODO: simplify the dependency errors?
 #. Fixup the summary
-#: ../cli.py:407
+#: ../cli.py:451
 msgid ""
 "Error Summary\n"
 "-------------\n"
-msgstr ""
-"Klaidos santrauka\n"
-"-------------\n"
+msgstr "Klaidos santrauka\n-------------\n"
 
-#: ../cli.py:450
+#: ../cli.py:472
+msgid "Can't create lock file; exiting"
+msgstr "Nepavyko sukurti užrakto failo; išeinama"
+
+#: ../cli.py:479
+msgid ""
+"Another app is currently holding the yum lock; exiting as configured by "
+"exit_on_lock"
+msgstr "Kita programa šiuo metu turi yum užraktą; išeinama, kaip nustatyta parametru exit_on_lock"
+
+#: ../cli.py:532
 msgid "Trying to run the transaction but nothing to do. Exiting."
-msgstr "Bandoma paleisti transakciją, bet nėra veiksmų. Išeinama."
+msgstr "Bandoma paleisti tranzakciją, bet nėra veiksmų. Išeinama."
+
+#: ../cli.py:577
+msgid "future rpmdb ver mismatched saved transaction version,"
+msgstr ""
 
-#: ../cli.py:497
+#: ../cli.py:579 ../yum/__init__.py:6523
+msgid " ignoring, as requested."
+msgstr " nepaisoma, kaip nurodyta."
+
+#: ../cli.py:582 ../yum/__init__.py:6526 ../yum/__init__.py:6673
+msgid " aborting."
+msgstr " atšaukiama."
+
+#: ../cli.py:588
 msgid "Exiting on user Command"
 msgstr "Išeinama po naudotojo komandos"
 
-#: ../cli.py:501
+#: ../cli.py:592
 msgid "Downloading Packages:"
 msgstr "Parsiunčiami paketai:"
 
-#: ../cli.py:506
+#: ../cli.py:597
 msgid "Error Downloading Packages:\n"
 msgstr "Klaida parsiunčiant paketus:\n"
 
-#: ../cli.py:525 ../yum/__init__.py:4967
+#: ../cli.py:616 ../yum/__init__.py:6215
 msgid "Running Transaction Check"
-msgstr "Vykdomas transakcijos tikrinimas"
+msgstr "Vykdomas tranzakcijos tikrinimas"
 
-#: ../cli.py:534 ../yum/__init__.py:4976
+#: ../cli.py:625 ../yum/__init__.py:6224
 msgid "ERROR You need to update rpm to handle:"
 msgstr "KLAIDA Reikia atnaujinti rpm norint apdoroti:"
 
-#: ../cli.py:536 ../yum/__init__.py:4979
+#: ../cli.py:627 ../yum/__init__.py:6227
 msgid "ERROR with transaction check vs depsolve:"
-msgstr "KLAIDA su transakcijos ir priklausomybių tikrinimu:"
+msgstr "KLAIDA su tranzakcijos ir priklausomybių tikrinimu:"
 
-#: ../cli.py:542
+#: ../cli.py:633
 msgid "RPM needs to be updated"
 msgstr "RPM turi būti atnaujintas"
 
-#: ../cli.py:543
+#: ../cli.py:634
 #, python-format
 msgid "Please report this error in %s"
 msgstr "Praneškite apie šią klaidą adresu %s"
 
-#: ../cli.py:549
+#: ../cli.py:640
 msgid "Running Transaction Test"
-msgstr "Vykdomas transakcijos tikrinimas"
+msgstr "Vykdomas tranzakcijos tikrinimas"
 
-#: ../cli.py:561
+#: ../cli.py:652
 msgid "Transaction Check Error:\n"
-msgstr "Transakcijos tikrinimo klaida:\n"
+msgstr "Tranzakcijos tikrinimo klaida:\n"
 
-#: ../cli.py:568
+#: ../cli.py:659
 msgid "Transaction Test Succeeded"
-msgstr "Transakcijos tikrinimas sėkmingas"
+msgstr "Tranzakcijos tikrinimas sėkmingas"
 
-#: ../cli.py:600
+#: ../cli.py:691
 msgid "Running Transaction"
-msgstr "Vykdoma transakcija"
+msgstr "Vykdoma tranzakcija"
 
-#: ../cli.py:630
+#: ../cli.py:724
 msgid ""
 "Refusing to automatically import keys when running unattended.\n"
 "Use \"-y\" to override."
-msgstr ""
-"Atsisakoma automatiškai importuoti raktus, kai vykdoma neprižiūrint.\n"
-"Naudokite „-y“ veiksenos pakeitimui."
+msgstr "Atsisakoma automatiškai importuoti raktus, kai vykdoma neprižiūrint.\nNaudokite „-y“ veiksenos pakeitimui."
 
-#: ../cli.py:649 ../cli.py:692
+#: ../cli.py:743 ../cli.py:786
 msgid "  * Maybe you meant: "
 msgstr "  * Gal turėjote omenyje:"
 
-#: ../cli.py:675 ../cli.py:683
+#: ../cli.py:769 ../cli.py:777
 #, python-format
 msgid "Package(s) %s%s%s available, but not installed."
 msgstr "Paketas(-ai) %s%s%s prieinami, bet neįdiegti."
 
-#: ../cli.py:689 ../cli.py:722 ../cli.py:908
+#: ../cli.py:783 ../cli.py:891 ../cli.py:1158
 #, python-format
 msgid "No package %s%s%s available."
 msgstr "Nėra prieinamo paketo %s%s%s."
 
-#: ../cli.py:729 ../cli.py:973
-msgid "Package(s) to install"
-msgstr "Paketas(-ai) diegimui"
+#: ../cli.py:871 ../cli.py:881 ../cli.py:1101 ../cli.py:1111
+#, python-format
+msgid "Bad %s argument %s."
+msgstr ""
 
-#: ../cli.py:732 ../cli.py:733 ../cli.py:914 ../cli.py:948 ../cli.py:974
-#: ../yumcommands.py:190
+#: ../cli.py:900 ../yumcommands.py:3331
+#, python-format
+msgid "%d package to install"
+msgid_plural "%d packages to install"
+msgstr[0] "%d paketas įdiegimui"
+msgstr[1] "%d paketai įdiegimui"
+msgstr[2] "%d paketų įdiegimui"
+
+#: ../cli.py:903 ../cli.py:904 ../cli.py:1169 ../cli.py:1170 ../cli.py:1224
+#: ../cli.py:1225 ../cli.py:1260 ../yumcommands.py:323 ../yumcommands.py:3419
 msgid "Nothing to do"
 msgstr "Nėra ką atlikti"
 
-#: ../cli.py:767
+#: ../cli.py:953
 #, python-format
-msgid "%d packages marked for Update"
-msgstr "%d paketas(-ai) pažymėti atnaujinimui"
+msgid "%d package marked for Update"
+msgid_plural "%d packages marked for Update"
+msgstr[0] "%d paketas pažymėtas atnaujinimui"
+msgstr[1] "%d paketai pažymėtas atnaujinimui"
+msgstr[2] "%d paketų pažymėtas atnaujinimui"
 
-#: ../cli.py:770
+#: ../cli.py:955
 msgid "No Packages marked for Update"
 msgstr "Nėra paketų, pažymėtų atnaujinimui"
 
-#: ../cli.py:866
+#: ../cli.py:1067
 #, python-format
-msgid "%d packages marked for Distribution Synchronization"
-msgstr "%d paketas(-ai) pažymėtas(-i) distribucijos sinchronizavimui"
+msgid "%d package marked for Distribution Synchronization"
+msgid_plural "%d packages marked for Distribution Synchronization"
+msgstr[0] "%d paketas pažymėtas distribucijos sinchronizacijai"
+msgstr[1] "%d paketai pažymėtas distribucijos sinchronizacijai"
+msgstr[2] "%d paketų pažymėtas distribucijos sinchronizacijai"
 
-#: ../cli.py:869
+#: ../cli.py:1069
 msgid "No Packages marked for Distribution Synchronization"
 msgstr "Nėra paketų, pažymėtų distribucijos sinchronizavimui"
 
-#: ../cli.py:885
+#: ../cli.py:1124
 #, python-format
-msgid "%d packages marked for removal"
-msgstr "%d paketas(-ai) pažymėtas(-i) pašalinimui"
+msgid "%d package marked for removal"
+msgid_plural "%d packages marked for removal"
+msgstr[0] "%d paketas pažymėtas pašalinimui"
+msgstr[1] "%d paketai pažymėtas pašalinimui"
+msgstr[2] "%d paketų pažymėtas pašalinimui"
 
-#: ../cli.py:888
+#: ../cli.py:1126
 msgid "No Packages marked for removal"
 msgstr "Nėra paketų, pažymėtų pašalinimui"
 
-#: ../cli.py:913
-msgid "Package(s) to downgrade"
-msgstr "Paketas(-ai) grąžinimui"
+#: ../cli.py:1166
+#, python-format
+msgid "%d package to downgrade"
+msgid_plural "%d packages to downgrade"
+msgstr[0] "%d paketas grąžinimui"
+msgstr[1] "%d paketai grąžinimui"
+msgstr[2] "%d paketų grąžinimui"
 
-#: ../cli.py:938
+#: ../cli.py:1207
 #, python-format
 msgid " (from %s)"
 msgstr " (iš %s)"
 
-#: ../cli.py:939
+#: ../cli.py:1208
 #, python-format
 msgid "Installed package %s%s%s%s not available."
 msgstr "Įdiegtas paketas %s%s%s%s neprieinamas."
 
-#: ../cli.py:947
-msgid "Package(s) to reinstall"
-msgstr "Paketas(-ai) pakartotiniam diegimui"
+#: ../cli.py:1221
+#, python-format
+msgid "%d package to reinstall"
+msgid_plural "%d packages to reinstall"
+msgstr[0] "%d paketas pakartotiniam diegimui"
+msgstr[1] "%d paketai pakartotiniam diegimui"
+msgstr[2] "%d paketų pakartotiniam diegimui"
 
-#: ../cli.py:960
+#: ../cli.py:1246
 msgid "No Packages Provided"
 msgstr "Nėra pateiktų paketų"
 
-#: ../cli.py:1058
+#: ../cli.py:1259
+msgid "Package(s) to install"
+msgstr "Paketas(-ai) diegimui"
+
+#: ../cli.py:1367
 #, python-format
 msgid "N/S Matched: %s"
-msgstr "Paieškos atitikmenu: %s"
+msgstr "Paieškos atitikmenų: %s"
 
-#: ../cli.py:1075
+#: ../cli.py:1384
 #, python-format
 msgid "  Name and summary matches %sonly%s, use \"search all\" for everything."
-msgstr ""
-"  %sTik%s pavadinimo ir santraukos atitikmenys, naudokite „search all“ "
-"paieškai visur."
+msgstr "  %sTik%s pavadinimo ir santraukos atitikmenys, naudokite „search all“ paieškai visur."
 
-#: ../cli.py:1077
+#: ../cli.py:1386
 #, python-format
 msgid ""
 "  Full name and summary matches %sonly%s, use \"search all\" for everything."
-msgstr ""
-"  %sTik%s pilno pavadinimo ir santraukos atitikmenys, naudokite „search all“"
-" paieškai visur."
+msgstr "  %sTik%s pilno pavadinimo ir santraukos atitikmenys, naudokite „search all“ paieškai visur."
 
-#: ../cli.py:1095
+#: ../cli.py:1404
 #, python-format
 msgid "Matched: %s"
 msgstr "Atitinka: %s"
 
-#: ../cli.py:1102
+#: ../cli.py:1411
 #, python-format
 msgid "  Name and summary matches %smostly%s, use \"search all\" for everything."
-msgstr ""
-"  %sDaugiausia%s pavadinimo ir santraukos atitikmenys, naudokite „search "
-"all“ paieškai visur."
+msgstr "  %sDaugiausia%s pavadinimo ir santraukos atitikmenys, naudokite „search all“ paieškai visur."
 
-#: ../cli.py:1106
+#: ../cli.py:1415
 #, python-format
 msgid "Warning: No matches found for: %s"
 msgstr "Įspėjimas: nerasta atitikmenų: %s"
 
-#: ../cli.py:1109
+#: ../cli.py:1418
 msgid "No Matches found"
 msgstr "Nerasta atitikmenų"
 
-#: ../cli.py:1174
+#: ../cli.py:1536
 #, python-format
-msgid "No Package Found for %s"
-msgstr "Nerasta paketų užklausai %s"
+msgid ""
+"Error: No Packages found for:\n"
+"  %s"
+msgstr "Klaida: nerasta paketų paieškai:\n  %s"
 
-#: ../cli.py:1184
+#: ../cli.py:1572
 msgid "Cleaning repos: "
 msgstr "Išvalomos saugyklos:"
 
-#: ../cli.py:1189
+#: ../cli.py:1577
 msgid "Cleaning up Everything"
 msgstr "Išvaloma viskas"
 
-#: ../cli.py:1205
+#: ../cli.py:1593
 msgid "Cleaning up Headers"
 msgstr "Išvalomos antraštės"
 
-#: ../cli.py:1208
+#: ../cli.py:1596
 msgid "Cleaning up Packages"
 msgstr "Išvalomi paketai"
 
-#: ../cli.py:1211
+#: ../cli.py:1599
 msgid "Cleaning up xml metadata"
 msgstr "Išvalomi xml metaduomenys"
 
-#: ../cli.py:1214
+#: ../cli.py:1602
 msgid "Cleaning up database cache"
 msgstr "Išvalomas duomenų bazės podėlis"
 
-#: ../cli.py:1217
+#: ../cli.py:1605
 msgid "Cleaning up expire-cache metadata"
 msgstr "Išvalomas pasenę podėlio metaduomenys"
 
-#: ../cli.py:1220
+#: ../cli.py:1608
 msgid "Cleaning up cached rpmdb data"
 msgstr "Išvalomi podėlio rpmdb duomenys"
 
-#: ../cli.py:1223
+#: ../cli.py:1611
 msgid "Cleaning up plugins"
 msgstr "Išvalomi įskiepiai"
 
-#: ../cli.py:1247
-#, python-format
-msgid "Warning: No groups match: %s"
-msgstr "Įspėjimas: nėra grupių atitikmenų: %s"
+#: ../cli.py:1727
+msgid "Installed Environment Groups:"
+msgstr ""
+
+#: ../cli.py:1728
+msgid "Available Environment Groups:"
+msgstr ""
 
-#: ../cli.py:1264
+#: ../cli.py:1735
 msgid "Installed Groups:"
 msgstr "Įdiegto grupės:"
 
-#: ../cli.py:1270
+#: ../cli.py:1742
 msgid "Installed Language Groups:"
 msgstr "Įdiegtos kalbų grupės:"
 
-#: ../cli.py:1276
+#: ../cli.py:1749
 msgid "Available Groups:"
 msgstr "Prieinamos grupės:"
 
-#: ../cli.py:1282
+#: ../cli.py:1756
 msgid "Available Language Groups:"
 msgstr "Prieinamos kalbų grupės:"
 
-#: ../cli.py:1285
+#: ../cli.py:1759
+#, python-format
+msgid "Warning: No Environments/Groups match: %s"
+msgstr ""
+
+#: ../cli.py:1763
 msgid "Done"
 msgstr "Atlikta"
 
-#: ../cli.py:1296 ../cli.py:1314 ../cli.py:1320 ../yum/__init__.py:3313
+#: ../cli.py:1818
+#, python-format
+msgid "Warning: Group/Environment %s does not exist."
+msgstr ""
+
+#: ../cli.py:1859
+#, python-format
+msgid "Warning: Environment %s does not exist."
+msgstr ""
+
+#: ../cli.py:1873 ../cli.py:1879 ../yum/__init__.py:4254
 #, python-format
 msgid "Warning: Group %s does not exist."
 msgstr "Įspėjimas: nėra grupės %s."
 
-#: ../cli.py:1324
+#: ../cli.py:1883
 msgid "No packages in any requested group available to install or update"
 msgstr "Nėra paketų diegimui ar atnaujinimui jokioje pageidaujamoje grupėje"
 
-#: ../cli.py:1326
+#: ../cli.py:1885
+#, python-format
+msgid "%d package to Install"
+msgid_plural "%d packages to Install"
+msgstr[0] "%d paketas įdiegimui"
+msgstr[1] "%d paketai įdiegimui"
+msgstr[2] "%d paketų įdiegimui"
+
+#: ../cli.py:1919 ../yum/__init__.py:3536 ../yum/__init__.py:3766
+#: ../yum/__init__.py:3824
 #, python-format
-msgid "%d Package(s) to Install"
-msgstr "%d diegtinas(-i) paketai(-ai)"
+msgid "No Environment named %s exists"
+msgstr ""
 
-#: ../cli.py:1336 ../yum/__init__.py:3325
+#: ../cli.py:1935 ../yum/__init__.py:4282
 #, python-format
 msgid "No group named %s exists"
 msgstr "Nėra grupės %s"
 
-#: ../cli.py:1342
+#: ../cli.py:1945
 msgid "No packages to remove from groups"
 msgstr "Nėra paketų pašalinimui iš grupių"
 
-#: ../cli.py:1344
+#: ../cli.py:1947 ../yumcommands.py:3351
 #, python-format
-msgid "%d Package(s) to remove"
-msgstr "%d paketas(-ai) pašalinimui"
+msgid "%d package to remove"
+msgid_plural "%d packages to remove"
+msgstr[0] "%d paketas pašalinimui"
+msgstr[1] "%d paketai pašalinimui"
+msgstr[2] "%d paketų pašalinimui"
 
-#: ../cli.py:1386
+#: ../cli.py:1988
 #, python-format
 msgid "Package %s is already installed, skipping"
 msgstr "Paketas %s jau įdiegtas, praleidžiama"
 
-#: ../cli.py:1397
+#: ../cli.py:1999
 #, python-format
 msgid "Discarding non-comparable pkg %s.%s"
 msgstr "Atmetami nepalyginami paketai %s.%s"
 
 #. we've not got any installed that match n or n+a
-#: ../cli.py:1423
+#: ../cli.py:2025
 #, python-format
 msgid "No other %s installed, adding to list for potential install"
 msgstr "Nėra įdiegto kito %s, įtraukiama į sąrašą galimam diegimui"
 
-#: ../cli.py:1443
+#: ../cli.py:2045
 msgid "Plugin Options"
 msgstr "Įskiepių parinktys"
 
-#: ../cli.py:1451
+#: ../cli.py:2057
 #, python-format
 msgid "Command line error: %s"
 msgstr "Komandinės eilutės klaida: %s"
 
-#: ../cli.py:1467
+#: ../cli.py:2079
 #, python-format
 msgid ""
 "\n"
 "\n"
 "%s: %s option requires an argument"
-msgstr ""
-"\n"
-"\n"
-"%s: %s parinktis reikalauja argumento"
+msgstr "\n\n%s: %s parinktis reikalauja argumento"
 
-#: ../cli.py:1521
+#: ../cli.py:2147
 msgid "--color takes one of: auto, always, never"
 msgstr "--color gali būti: auto, always, never"
 
 #. We have a relative installroot ... haha
-#: ../cli.py:1596
+#: ../cli.py:2218
 #, python-format
 msgid "--installroot must be an absolute path: %s"
 msgstr "--installroot turi būti absoliutus kelias: %s"
 
-#: ../cli.py:1642
+#: ../cli.py:2272
 msgid "show this help message and exit"
 msgstr "rodyti šį pagalbos pranešimą ir išeiti"
 
-#: ../cli.py:1646
+#: ../cli.py:2276
 msgid "be tolerant of errors"
 msgstr "toleruoti klaidas"
 
-#: ../cli.py:1649
+#: ../cli.py:2279
 msgid "run entirely from system cache, don't update cache"
 msgstr "vykdyti tik iš sistemos podėlio jo neatnaujinant"
 
-#: ../cli.py:1652
+#: ../cli.py:2282
 msgid "config file location"
 msgstr "konfigūracijos failo vieta"
 
-#: ../cli.py:1655
+#: ../cli.py:2285
 msgid "maximum command wait time"
 msgstr "didžiausias komandos laukimo laikas"
 
-#: ../cli.py:1657
+#: ../cli.py:2287
 msgid "debugging output level"
 msgstr "derinimo išvesties lygmuo"
 
-#: ../cli.py:1661
+#: ../cli.py:2291
 msgid "show duplicates, in repos, in list/search commands"
 msgstr "rodyti dublikatus saugyklose, sąrašo/paieškos komandose"
 
-#: ../cli.py:1663
+#: ../cli.py:2296
 msgid "error output level"
 msgstr "klaidų išvesties lygmuo"
 
-#: ../cli.py:1666
+#: ../cli.py:2299
 msgid "debugging output level for rpm"
 msgstr "derinimo išvesties lygmuo rpm komandai"
 
-#: ../cli.py:1669
+#: ../cli.py:2302
 msgid "quiet operation"
 msgstr "tyli operacija"
 
-#: ../cli.py:1671
+#: ../cli.py:2304
 msgid "verbose operation"
 msgstr "išsami operacija"
 
-#: ../cli.py:1673
+#: ../cli.py:2306
 msgid "answer yes for all questions"
 msgstr "atsakyti „taip“ į visus klausimus"
 
-#: ../cli.py:1675
+#: ../cli.py:2308
+msgid "answer no for all questions"
+msgstr "atsakyti ne į visus klausimus"
+
+#: ../cli.py:2312
 msgid "show Yum version and exit"
 msgstr "rodyti Yum versiją ir išeiti"
 
-#: ../cli.py:1676
+#: ../cli.py:2313
 msgid "set install root"
 msgstr "nustatyti diegimo šaknį"
 
-#: ../cli.py:1680
+#: ../cli.py:2317
 msgid "enable one or more repositories (wildcards allowed)"
 msgstr "leisti vieną ar daugiau saugyklų (leidžiami pakaitos simboliai)"
 
-#: ../cli.py:1684
+#: ../cli.py:2321
 msgid "disable one or more repositories (wildcards allowed)"
 msgstr "drausti vieną ar daugiau saugyklų (leidžiami pakaitos simboliai)"
 
-#: ../cli.py:1687
+#: ../cli.py:2324
 msgid "exclude package(s) by name or glob"
 msgstr "išskirti paketą(-us) pagal pavadinimą arba globalų vardą"
 
-#: ../cli.py:1689
+#: ../cli.py:2326
 msgid "disable exclude from main, for a repo or for everything"
-msgstr "drausti iškyrimą iš pagrindinio saugyklai arba viskam"
+msgstr "drausti išskyrimą iš pagrindinio saugyklai arba viskam"
 
-#: ../cli.py:1692
+#: ../cli.py:2329
 msgid "enable obsoletes processing during updates"
 msgstr "leisti pasenusių apdorojimą atnaujinimo metu"
 
-#: ../cli.py:1694
+#: ../cli.py:2331
 msgid "disable Yum plugins"
 msgstr "drausti Yum įskiepius"
 
-#: ../cli.py:1696
+#: ../cli.py:2333
 msgid "disable gpg signature checking"
 msgstr "drausti gpg parašo tikrinimą"
 
-#: ../cli.py:1698
+#: ../cli.py:2335
 msgid "disable plugins by name"
 msgstr "drausti įskiepius pagal pavadinimą"
 
-#: ../cli.py:1701
+#: ../cli.py:2338
 msgid "enable plugins by name"
 msgstr "leisti įskiepius pagal pavadinimą"
 
-#: ../cli.py:1704
+#: ../cli.py:2341
 msgid "skip packages with depsolving problems"
 msgstr "praleisti paketus su priklausomybių tikrinimo problemomis"
 
-#: ../cli.py:1706
+#: ../cli.py:2343
 msgid "control whether color is used"
 msgstr "valdyti, ar naudojama spalva"
 
-#: ../cli.py:1708
+#: ../cli.py:2345
 msgid "set value of $releasever in yum config and repo files"
+msgstr "nustatyti $releasever reikšmę yum konfigūracijoje ir saugyklų failuose"
+
+#: ../cli.py:2347
+msgid "don't update, just download"
+msgstr ""
+
+#: ../cli.py:2349
+msgid "specifies an alternate directory to store packages"
 msgstr ""
-"nustatyti $releasever reikšmę yum konfigūracijoje ir saugyklų failuose"
 
-#: ../cli.py:1710
+#: ../cli.py:2351
 msgid "set arbitrary config and repo options"
 msgstr "nustatyti savavališkas konfigūracijos ir saugyklų parinktis"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Jan"
 msgstr "Sau"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Feb"
 msgstr "Vas"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Mar"
 msgstr "Kov"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Apr"
 msgstr "Bal"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "May"
 msgstr "Ge"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Jun"
 msgstr "Bir"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Jul"
 msgstr "Lie"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Aug"
 msgstr "Rug"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Sep"
 msgstr "Rgs"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Oct"
 msgstr "Spa"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Nov"
 msgstr "Lap"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Dec"
 msgstr "Gr"
 
-#: ../output.py:318
+#: ../output.py:473
 msgid "Trying other mirror."
 msgstr "Bandoma kita dubliuojamoji tinklavietė"
 
-#: ../output.py:581
+#: ../output.py:816
 #, python-format
 msgid "Name        : %s%s%s"
 msgstr "Pavadinimas : %s%s%s"
 
-#: ../output.py:582
+#: ../output.py:817
 #, python-format
 msgid "Arch        : %s"
 msgstr "Architektūra: %s"
 
-#: ../output.py:584
+#: ../output.py:819
 #, python-format
 msgid "Epoch       : %s"
 msgstr "Epocha      : %s"
 
-#: ../output.py:585
+#: ../output.py:820
 #, python-format
 msgid "Version     : %s"
 msgstr "Versija     : %s"
 
-#: ../output.py:586
+#: ../output.py:821
 #, python-format
 msgid "Release     : %s"
 msgstr "Leidimas    : %s"
 
-#: ../output.py:587
+#: ../output.py:822
 #, python-format
 msgid "Size        : %s"
 msgstr "Dydis       : %s"
 
-#: ../output.py:588 ../output.py:900
+#: ../output.py:823 ../output.py:1329
 #, python-format
 msgid "Repo        : %s"
 msgstr "Saugykla    : %s"
 
-#: ../output.py:590
+#: ../output.py:825
 #, python-format
 msgid "From repo   : %s"
 msgstr "Iš saugyklos   : %s"
 
-#: ../output.py:592
+#: ../output.py:827
 #, python-format
 msgid "Committer   : %s"
 msgstr "Pateikėjas  : %s"
 
-#: ../output.py:593
+#: ../output.py:828
 #, python-format
 msgid "Committime  : %s"
 msgstr "Pateikta    : %s"
 
-#: ../output.py:594
+#: ../output.py:829
 #, python-format
 msgid "Buildtime   : %s"
 msgstr "Sukūrimo laikas: %s"
 
-#: ../output.py:596
+#: ../output.py:831
 #, python-format
 msgid "Install time: %s"
 msgstr "Įdiegimo laikas: %s"
 
-#: ../output.py:604
+#: ../output.py:839
 #, python-format
 msgid "Installed by: %s"
 msgstr "Įdiegė      : %s"
 
-#: ../output.py:611
+#: ../output.py:846
 #, python-format
 msgid "Changed by  : %s"
 msgstr "Pakeitė     : %s"
 
-#: ../output.py:612
+#: ../output.py:847
 msgid "Summary     : "
 msgstr "Santrauka   : "
 
-#: ../output.py:614 ../output.py:913
+#: ../output.py:849 ../output.py:1345
 #, python-format
 msgid "URL         : %s"
 msgstr "URL         : %s"
 
-#: ../output.py:615
+#: ../output.py:850
 msgid "License     : "
 msgstr "Licencija   : "
 
-#: ../output.py:616 ../output.py:910
+#: ../output.py:851 ../output.py:1342
 msgid "Description : "
 msgstr "Aprašymas   : "
 
-#: ../output.py:684
+#: ../output.py:969
 msgid "y"
 msgstr "t"
 
-#: ../output.py:684
+#: ../output.py:969
 msgid "yes"
 msgstr "taip"
 
-#: ../output.py:685
+#: ../output.py:970
 msgid "n"
 msgstr "n"
 
-#: ../output.py:685
+#: ../output.py:970
 msgid "no"
 msgstr "ne"
 
-#: ../output.py:689
+#: ../output.py:974
 msgid "Is this ok [y/N]: "
 msgstr "Ar tai tinka [t/N]: "
 
-#: ../output.py:777
+#: ../output.py:1097
 #, python-format
 msgid ""
 "\n"
 "Group: %s"
-msgstr ""
-"\n"
-"Grupė: %s"
+msgstr "\nGrupė: %s"
 
-#: ../output.py:781
+#: ../output.py:1101
 #, python-format
 msgid " Group-Id: %s"
 msgstr " Grupės id: %s"
 
-#: ../output.py:786
+#: ../output.py:1122 ../output.py:1169
 #, python-format
 msgid " Description: %s"
 msgstr " Aprašymas: %s"
 
-#: ../output.py:788
+#: ../output.py:1124
 #, python-format
 msgid " Language: %s"
 msgstr "Kalba: %s"
 
-#: ../output.py:790
+#: ../output.py:1126
 msgid " Mandatory Packages:"
 msgstr " Privalomi paketai:"
 
-#: ../output.py:791
+#: ../output.py:1127
 msgid " Default Packages:"
 msgstr " Numatytieji paketai:"
 
-#: ../output.py:792
+#: ../output.py:1128
 msgid " Optional Packages:"
 msgstr " Papildomi paketai:"
 
-#: ../output.py:793
+#: ../output.py:1129
 msgid " Conditional Packages:"
 msgstr " Sąlyginiai paketai:"
 
-#: ../output.py:814
+#: ../output.py:1147
+msgid " Installed Packages:"
+msgstr " Įdiegti paketai:"
+
+#: ../output.py:1157
+#, python-format
+msgid ""
+"\n"
+"Environment Group: %s"
+msgstr ""
+
+#: ../output.py:1158
+#, python-format
+msgid " Environment-Id: %s"
+msgstr ""
+
+#: ../output.py:1191
+msgid " Mandatory Groups:"
+msgstr ""
+
+#: ../output.py:1192
+msgid " Optional Groups:"
+msgstr ""
+
+#: ../output.py:1205
+msgid " Installed Groups:"
+msgstr ""
+
+#: ../output.py:1217
 #, python-format
 msgid "package: %s"
 msgstr "paketas: %s"
 
-#: ../output.py:816
+#: ../output.py:1219
 msgid "  No dependencies for this package"
 msgstr "  Šis paketas neturi priklausomybių"
 
-#: ../output.py:821
+#: ../output.py:1224
 #, python-format
 msgid "  dependency: %s"
 msgstr "  priklausomybė: %s"
 
-#: ../output.py:823
+#: ../output.py:1226
 msgid "   Unsatisfied dependency"
 msgstr "   Nepatenkinta priklausomybė"
 
-#: ../output.py:901
+#: ../output.py:1337
 msgid "Matched from:"
 msgstr "Atitinka:"
 
-#: ../output.py:916
+#: ../output.py:1348
 #, python-format
 msgid "License     : %s"
 msgstr "Licencija   : %s"
 
-#: ../output.py:919
+#: ../output.py:1351
 #, python-format
 msgid "Filename    : %s"
 msgstr "Failo pavadinimas: %s"
 
-#: ../output.py:923
+#: ../output.py:1360
+msgid "Provides    : "
+msgstr "Suteikia    :"
+
+#: ../output.py:1363
 msgid "Other       : "
 msgstr "Kita        : "
 
-#: ../output.py:966
+#: ../output.py:1426
 msgid "There was an error calculating total download size"
 msgstr "Įvyko klaida skaičiuojant visą parsiuntimo dydį"
 
-#: ../output.py:971
+#: ../output.py:1431
 #, python-format
 msgid "Total size: %s"
 msgstr "Visas dydis: %s"
 
-#: ../output.py:974
+#: ../output.py:1433
 #, python-format
 msgid "Total download size: %s"
 msgstr "Visas parsiuntimo dydis: %s"
 
-#: ../output.py:978 ../output.py:998
+#: ../output.py:1436 ../output.py:1459 ../output.py:1463
 #, python-format
 msgid "Installed size: %s"
 msgstr "Įdiegimo dydis: %s"
 
-#: ../output.py:994
+#: ../output.py:1454
 msgid "There was an error calculating installed size"
 msgstr "Įvyko klaida skaičiuojant įdiegimo dydį"
 
-#: ../output.py:1039
+#: ../output.py:1504
 msgid "Reinstalling"
 msgstr "Perdiegiama"
 
-#: ../output.py:1040
+#: ../output.py:1505
 msgid "Downgrading"
 msgstr "Grąžinama"
 
-#: ../output.py:1041
+#: ../output.py:1506
 msgid "Installing for dependencies"
 msgstr "Diegiamos priklausomybės"
 
-#: ../output.py:1042
+#: ../output.py:1507
 msgid "Updating for dependencies"
 msgstr "Atnaujinama priklausomybėms"
 
-#: ../output.py:1043
+#: ../output.py:1508
 msgid "Removing for dependencies"
 msgstr "Šalinama dėl priklausomybių"
 
-#: ../output.py:1050 ../output.py:1171
+#: ../output.py:1515 ../output.py:1576 ../output.py:1672
 msgid "Skipped (dependency problems)"
 msgstr "Praleista (priklausomybių problemos)"
 
-#: ../output.py:1052 ../output.py:1687
+#: ../output.py:1517 ../output.py:1577 ../output.py:2223
 msgid "Not installed"
 msgstr "Neįdiegtas"
 
-#: ../output.py:1053
+#: ../output.py:1518 ../output.py:1578
 msgid "Not available"
-msgstr ""
+msgstr "Neprieinama"
 
-#: ../output.py:1075 ../output.py:2024
+#: ../output.py:1540 ../output.py:1588 ../output.py:1604 ../output.py:2581
 msgid "Package"
-msgstr "Paketas"
+msgid_plural "Packages"
+msgstr[0] "Paketas"
+msgstr[1] "Paketai"
+msgstr[2] "Paketų"
 
-#: ../output.py:1075
+#: ../output.py:1540
 msgid "Arch"
 msgstr "Architektūra"
 
-#: ../output.py:1076
+#: ../output.py:1541
 msgid "Version"
 msgstr "Versija"
 
-#: ../output.py:1076
+#: ../output.py:1541
 msgid "Repository"
 msgstr "Saugykla"
 
-#: ../output.py:1077
+#: ../output.py:1542
 msgid "Size"
 msgstr "Dydis"
 
-#: ../output.py:1089
+#: ../output.py:1554
 #, python-format
 msgid "     replacing  %s%s%s.%s %s\n"
 msgstr "      pakeičiama  %s%s%s.%s %s\n"
 
-#: ../output.py:1098
+#: ../output.py:1563
 #, python-format
 msgid ""
 "\n"
 "Transaction Summary\n"
 "%s\n"
-msgstr ""
-"\n"
-"Transakcijos santrauka\n"
-"%s\n"
+msgstr "\nTranzakcijos santrauka\n%s\n"
 
-#: ../output.py:1109
-#, python-format
-msgid "Install   %5.5s Package(s)\n"
-msgstr "Įdiegti   %5.5s pektą(-us)\n"
+#: ../output.py:1568 ../output.py:2376 ../output.py:2377
+msgid "Install"
+msgstr "Įdiegti"
 
-#: ../output.py:1113
-#, python-format
-msgid "Upgrade   %5.5s Package(s)\n"
-msgstr "Atnaujinti %5.5s paketą(-us)\n"
+#: ../output.py:1570
+msgid "Upgrade"
+msgstr "Atnaujinti"
 
-#: ../output.py:1117
-#, python-format
-msgid "Remove    %5.5s Package(s)\n"
-msgstr "Pašalinti %5.5s paketą(-us)\n"
+#: ../output.py:1572
+msgid "Remove"
+msgstr "Pašalinti"
 
-#: ../output.py:1121
-#, python-format
-msgid "Reinstall %5.5s Package(s)\n"
-msgstr "Perdiegti %5.5s paketą„-u)\n"
+#: ../output.py:1574 ../output.py:2382
+msgid "Reinstall"
+msgstr "Perdiegti"
 
-#: ../output.py:1125
-#, python-format
-msgid "Downgrade %5.5s Package(s)\n"
-msgstr "Grąžinti %5.5s paketą(-us)\n"
+#: ../output.py:1575 ../output.py:2383
+msgid "Downgrade"
+msgstr "Grąžinti"
 
-#: ../output.py:1165
+#: ../output.py:1606
+msgid "Dependent package"
+msgid_plural "Dependent packages"
+msgstr[0] "Priklausomas paketas"
+msgstr[1] "Priklausomi paketai"
+msgstr[2] "Priklausomų paketų"
+
+#: ../output.py:1666
 msgid "Removed"
 msgstr "Pašalinta"
 
-#: ../output.py:1166
+#: ../output.py:1667
 msgid "Dependency Removed"
 msgstr "Priklausomybė pašalinta"
 
-#: ../output.py:1168
+#: ../output.py:1669
 msgid "Dependency Installed"
 msgstr "Priklausomybė įdiegta"
 
-#: ../output.py:1170
+#: ../output.py:1671
 msgid "Dependency Updated"
 msgstr "Priklausomybė atnaujinta"
 
-#: ../output.py:1172
+#: ../output.py:1673
 msgid "Replaced"
 msgstr "Pakeista"
 
-#: ../output.py:1173
+#: ../output.py:1674
 msgid "Failed"
 msgstr "Nepavyko"
 
 #. Delta between C-c's so we treat as exit
-#: ../output.py:1260
+#: ../output.py:1764
 msgid "two"
 msgstr "du"
 
 #. For translators: This is output like:
 #. Current download cancelled, interrupt (ctrl-c) again within two seconds
 #. to exit.
-#. Where "interupt (ctrl-c) again" and "two" are highlighted.
-#: ../output.py:1271
+#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
+#: ../output.py:1775
 #, python-format
 msgid ""
 "\n"
 " Current download cancelled, %sinterrupt (ctrl-c) again%s within %s%s%s seconds\n"
 "to exit.\n"
-msgstr ""
-"\n"
-" Dabartinis parsiuntimas atšauktas, %snutraukite (ctrl-c) vėl%s per %s%s%s sekundes\n"
-"išėjimui.\n"
+msgstr "\n Dabartinis parsiuntimas atšauktas, %snutraukite (ctrl-c) vėl%s per %s%s%s sekundes\nišėjimui.\n"
 
-#: ../output.py:1282
+#: ../output.py:1786
 msgid "user interrupt"
 msgstr "naudotojo nutraukimas"
 
-#: ../output.py:1300
+#: ../output.py:1812
 msgid "Total"
 msgstr "Iš viso"
 
-#: ../output.py:1322
+#: ../output.py:1834
 msgid "I"
 msgstr "I"
 
-#: ../output.py:1323
+#: ../output.py:1835
 msgid "O"
 msgstr "O"
 
-#: ../output.py:1324
+#: ../output.py:1836
 msgid "E"
 msgstr "E"
 
-#: ../output.py:1325
+#: ../output.py:1837
 msgid "R"
 msgstr "R"
 
-#: ../output.py:1326
+#: ../output.py:1838
 msgid "D"
 msgstr "D"
 
-#: ../output.py:1327
+#: ../output.py:1839
 msgid "U"
 msgstr "U"
 
-#: ../output.py:1341
+#: ../output.py:1853
 msgid "<unset>"
 msgstr "<atstatyti>"
 
-#: ../output.py:1342
+#: ../output.py:1854
 msgid "System"
 msgstr "Sistema"
 
-#: ../output.py:1411
+#: ../output.py:1923
 #, python-format
 msgid "Skipping merged transaction %d to %d, as it overlaps"
-msgstr "Praleidžiama persidengianti transakcija %d, apjungta į %d"
+msgstr "Praleidžiama persidengianti tranzakcija %d, apjungta į %d"
 
-#: ../output.py:1421 ../output.py:1592
+#: ../output.py:1933 ../output.py:2125
 msgid "No transactions"
-msgstr "Nėra transakcijų"
+msgstr "Nėra tranzakcijų"
 
-#: ../output.py:1446 ../output.py:2013
+#: ../output.py:1958 ../output.py:2570 ../output.py:2660
 msgid "Bad transaction IDs, or package(s), given"
-msgstr "Pateikti blogi transakcijų ID arba paketai"
+msgstr "Pateikti blogi tranzakcijų ID arba paketai"
 
-#: ../output.py:1484
+#: ../output.py:2007
 msgid "Command line"
 msgstr "Komandų eilutė"
 
-#: ../output.py:1486 ../output.py:1908
+#: ../output.py:2009 ../output.py:2458
 msgid "Login user"
 msgstr "Prisijungęs naudotojas"
 
 #. REALLY Needs to use columns!
-#: ../output.py:1487 ../output.py:2022
+#: ../output.py:2010 ../output.py:2579
 msgid "ID"
 msgstr "ID"
 
-#: ../output.py:1489
+#: ../output.py:2012
 msgid "Date and time"
 msgstr "Data ir laikas"
 
-#: ../output.py:1490 ../output.py:1910 ../output.py:2023
+#: ../output.py:2013 ../output.py:2460 ../output.py:2580
 msgid "Action(s)"
 msgstr "Veiksmas(-ai)"
 
-#: ../output.py:1491 ../output.py:1911
+#: ../output.py:2014 ../output.py:2461
 msgid "Altered"
 msgstr "Pakeista"
 
-#: ../output.py:1538
+#: ../output.py:2061
 msgid "No transaction ID given"
-msgstr "Nepateiktas transakcijos ID"
+msgstr "Nepateiktas tranzakcijos ID"
 
-#: ../output.py:1564 ../output.py:1972
+#: ../output.py:2087 ../output.py:2526
 msgid "Bad transaction ID given"
-msgstr "Pateiktas blogas transakcijos ID"
+msgstr "Pateiktas blogas tranzakcijos ID"
 
-#: ../output.py:1569
+#: ../output.py:2092
 msgid "Not found given transaction ID"
-msgstr "Nerastas pateiktas transakcijos ID"
+msgstr "Nerastas pateiktas tranzakcijos ID"
 
-#: ../output.py:1577
+#: ../output.py:2100
 msgid "Found more than one transaction ID!"
-msgstr "Rastas daugiau nei vienas transakcijos ID!"
+msgstr "Rastas daugiau nei vienas tranzakcijos ID!"
 
-#: ../output.py:1618 ../output.py:1980
+#: ../output.py:2151 ../output.py:2534
 msgid "No transaction ID, or package, given"
-msgstr "Nepateiktas transakcijos ID arba paketas"
+msgstr "Nepateiktas tranzakcijos ID arba paketas"
 
-#: ../output.py:1686 ../output.py:1845
+#: ../output.py:2222 ../output.py:2384
 msgid "Downgraded"
 msgstr "Grąžintas"
 
-#: ../output.py:1688
+#: ../output.py:2224
 msgid "Older"
 msgstr "Senesnis"
 
-#: ../output.py:1688
+#: ../output.py:2224
 msgid "Newer"
 msgstr "Naujesnis"
 
-#: ../output.py:1724 ../output.py:1726
+#: ../output.py:2261 ../output.py:2263 ../output.py:2681
 msgid "Transaction ID :"
-msgstr "Transakcijos ID:"
+msgstr "Tranzakcijos ID:"
 
-#: ../output.py:1728
+#: ../output.py:2265 ../output.py:2683
 msgid "Begin time     :"
 msgstr "Pradžios laikas:"
 
-#: ../output.py:1731 ../output.py:1733
+#: ../output.py:2268 ../output.py:2270
 msgid "Begin rpmdb    :"
 msgstr "Pradėti rpmdb  :"
 
-#: ../output.py:1749
+#: ../output.py:2286
 #, python-format
 msgid "(%u seconds)"
 msgstr "(%u sekundžių)"
 
-#: ../output.py:1751
+#: ../output.py:2288
 #, python-format
 msgid "(%u minutes)"
 msgstr "(%u minučių)"
 
-#: ../output.py:1753
+#: ../output.py:2290
 #, python-format
 msgid "(%u hours)"
 msgstr "(%u valandų)"
 
-#: ../output.py:1755
+#: ../output.py:2292
 #, python-format
 msgid "(%u days)"
 msgstr "(%u dienų)"
 
-#: ../output.py:1756
+#: ../output.py:2293
 msgid "End time       :"
 msgstr "Pabaigos laikas:"
 
-#: ../output.py:1759 ../output.py:1761
+#: ../output.py:2296 ../output.py:2298
 msgid "End rpmdb      :"
 msgstr "Baigti rpmdb   :"
 
-#: ../output.py:1764 ../output.py:1766
+#: ../output.py:2301 ../output.py:2303
 msgid "User           :"
 msgstr "Naudotojas     :"
 
-#: ../output.py:1770 ../output.py:1773 ../output.py:1775 ../output.py:1777
-#: ../output.py:1779
+#: ../output.py:2307 ../output.py:2310 ../output.py:2312 ../output.py:2314
+#: ../output.py:2316
 msgid "Return-Code    :"
 msgstr "Grąžinimo kodas:"
 
-#: ../output.py:1770 ../output.py:1775
+#: ../output.py:2307 ../output.py:2312
 msgid "Aborted"
 msgstr "Nutraukta"
 
-#: ../output.py:1773
+#: ../output.py:2310
 msgid "Failures:"
 msgstr "Klaidos:"
 
-#: ../output.py:1777
+#: ../output.py:2314
 msgid "Failure:"
 msgstr "Klaida:"
 
-#: ../output.py:1779
+#: ../output.py:2316
 msgid "Success"
 msgstr "Sėkminga"
 
-#: ../output.py:1784 ../output.py:1786
+#: ../output.py:2321 ../output.py:2323 ../output.py:2712
 msgid "Command Line   :"
 msgstr "Komandų eilutė :"
 
-#: ../output.py:1795
+#: ../output.py:2332
 #, python-format
 msgid "Additional non-default information stored: %d"
 msgstr "Išsaugota papildoma nenumatyta informacija: %d"
 
 #. This is _possible_, but not common
-#: ../output.py:1800
+#: ../output.py:2337
 msgid "Transaction performed with:"
-msgstr "Transakcija atlikta su:"
+msgstr "Tranzakcija atlikta su:"
 
-#: ../output.py:1804
+#: ../output.py:2341
 msgid "Packages Altered:"
 msgstr "Pakeisti paketai:"
 
-#: ../output.py:1808
+#: ../output.py:2345
 msgid "Packages Skipped:"
 msgstr "Praleisti paketai:"
 
-#: ../output.py:1814
+#: ../output.py:2353
 msgid "Rpmdb Problems:"
 msgstr "Rpmdb problemos:"
 
-#: ../output.py:1825
+#: ../output.py:2364
 msgid "Scriptlet output:"
 msgstr "Scenarijaus išvestis:"
 
-#: ../output.py:1831
+#: ../output.py:2370
 msgid "Errors:"
 msgstr "Klaidos:"
 
-#: ../output.py:1837 ../output.py:1838
-msgid "Install"
-msgstr "Įdiegti"
-
-#: ../output.py:1839
+#: ../output.py:2378
 msgid "Dep-Install"
 msgstr "Įdiegti priklausomybes"
 
-#: ../output.py:1841
+#: ../output.py:2380
 msgid "Obsoleting"
 msgstr "Pažymima pasenusiu"
 
-#: ../output.py:1842
+#: ../output.py:2381
 msgid "Erase"
 msgstr "Pašalinti"
 
-#: ../output.py:1843
-msgid "Reinstall"
-msgstr "Perdiegti"
-
-#: ../output.py:1844
-msgid "Downgrade"
-msgstr "Grąžinti"
-
-#: ../output.py:1846
+#: ../output.py:2385
 msgid "Update"
 msgstr "Atnaujinti"
 
-#: ../output.py:1909
+#: ../output.py:2459
 msgid "Time"
 msgstr "Laikas"
 
-#: ../output.py:1935
+#: ../output.py:2485
 msgid "Last day"
 msgstr "Vakar"
 
-#: ../output.py:1936
+#: ../output.py:2486
 msgid "Last week"
 msgstr "Praėjusią savaitę"
 
-#: ../output.py:1937
+#: ../output.py:2487
 msgid "Last 2 weeks"
 msgstr "Praėjusias 2 savaites"
 
 #. US default :p
-#: ../output.py:1938
+#: ../output.py:2488
 msgid "Last 3 months"
 msgstr "Praėjusius 3 mėnesius"
 
-#: ../output.py:1939
+#: ../output.py:2489
 msgid "Last 6 months"
 msgstr "Praėjusius 6 mėnesius"
 
-#: ../output.py:1940
+#: ../output.py:2490
 msgid "Last year"
 msgstr "Praėjusiais metais"
 
-#: ../output.py:1941
+#: ../output.py:2491
 msgid "Over a year ago"
 msgstr "Daugiau nei prieš metus"
 
-#: ../output.py:1984
+#: ../output.py:2538
 #, python-format
 msgid "No Transaction %s found"
-msgstr "Nerasta transakcija %s"
+msgstr "Nerasta tranzakcija %s"
 
-#: ../output.py:1990
+#: ../output.py:2544
 msgid "Transaction ID:"
-msgstr "Transakcijos ID:"
+msgstr "Tranzakcijos ID:"
 
-#: ../output.py:1991
+#: ../output.py:2545
 msgid "Available additional history information:"
 msgstr "Prieinama papildoma istorijos informacija:"
 
-#: ../output.py:2003
+#: ../output.py:2558
 #, python-format
 msgid "%s: No additional data found by this name"
 msgstr "%s: nerasta papildomų duomenų su šiuo pavadinimu"
 
-#: ../output.py:2106
+#: ../output.py:2684
+msgid "Package        :"
+msgstr "Paketas        :"
+
+#: ../output.py:2685
+msgid "State          :"
+msgstr "Būsena         :"
+
+#: ../output.py:2688
+msgid "Size           :"
+msgstr "Dydis          :"
+
+#: ../output.py:2690
+msgid "Build host     :"
+msgstr "Sukūrimo vieta :"
+
+#: ../output.py:2693
+msgid "Build time     :"
+msgstr "Sukūrimo laikas:"
+
+#: ../output.py:2695
+msgid "Packager       :"
+msgstr "Supakavo       :"
+
+#: ../output.py:2697
+msgid "Vendor         :"
+msgstr "Tiekėjas       :"
+
+#: ../output.py:2699
+msgid "License        :"
+msgstr "Licencija      :"
+
+#: ../output.py:2701
+msgid "URL            :"
+msgstr "URL            :"
+
+#: ../output.py:2703
+msgid "Source RPM     :"
+msgstr "Išeities RPM   :"
+
+#: ../output.py:2706
+msgid "Commit Time    :"
+msgstr "Įdėjimo laikas :"
+
+#: ../output.py:2708
+msgid "Committer      :"
+msgstr "Įdėjo          :"
+
+#: ../output.py:2710
+msgid "Reason         :"
+msgstr "Priežastis     :"
+
+#: ../output.py:2714
+msgid "From repo      :"
+msgstr "Iš saugyklos   :"
+
+#: ../output.py:2718
+msgid "Installed by   :"
+msgstr "Įdiegė         :"
+
+#: ../output.py:2722
+msgid "Changed by     :"
+msgstr "Pakeitė        :"
+
+#: ../output.py:2767
 msgid "installed"
 msgstr "įdiegta"
 
-#: ../output.py:2107
+#: ../output.py:2768
 msgid "an update"
 msgstr "atnaujinimas"
 
-#: ../output.py:2108
+#: ../output.py:2769
 msgid "erased"
 msgstr "pašalinta"
 
-#: ../output.py:2109
+#: ../output.py:2770
 msgid "reinstalled"
 msgstr "perdiegta"
 
-#: ../output.py:2110
+#: ../output.py:2771
 msgid "a downgrade"
 msgstr "grąžinimas"
 
-#: ../output.py:2111
+#: ../output.py:2772
 msgid "obsoleting"
 msgstr "žymima pasenusiu"
 
-#: ../output.py:2112
+#: ../output.py:2773
 msgid "updated"
 msgstr "atnaujinta"
 
-#: ../output.py:2113
+#: ../output.py:2774
 msgid "obsoleted"
 msgstr "pažymėta pasenusiu"
 
-#: ../output.py:2117
+#: ../output.py:2778
 #, python-format
 msgid "---> Package %s.%s %s:%s-%s will be %s"
 msgstr "---> Paketas %s.%s %s:%s-%s bus %s"
 
-#: ../output.py:2124
+#: ../output.py:2789
 msgid "--> Running transaction check"
-msgstr "--> Vykdomas transakcijos tikrinimas"
+msgstr "--> Vykdomas tranzakcijos tikrinimas"
 
-#: ../output.py:2129
+#: ../output.py:2795
 msgid "--> Restarting Dependency Resolution with new changes."
-msgstr ""
-"--> Iš naujo paleidžiamas priklausomybių sprendimas su naujais pakeitimais"
+msgstr "--> Iš naujo paleidžiamas priklausomybių sprendimas su naujais pakeitimais"
 
-#: ../output.py:2134
+#: ../output.py:2801
 msgid "--> Finished Dependency Resolution"
 msgstr "--> Baigtas priklausomybių sprendimas"
 
-#: ../output.py:2139 ../output.py:2144
+#: ../output.py:2814 ../output.py:2827
 #, python-format
 msgid "--> Processing Dependency: %s for package: %s"
 msgstr "--> Apdorojama priklausomybė: %s paketui: %s"
 
-#: ../output.py:2149
+#: ../output.py:2841
 #, python-format
-msgid "---> Keeping package: %s"
-msgstr "---> Paliekamas paketas: %s"
+msgid "---> Keeping package: %s due to %s"
+msgstr ""
 
-#: ../output.py:2152
+#: ../output.py:2850
 #, python-format
 msgid "--> Unresolved Dependency: %s"
 msgstr "--> Nerasta priklausomybė: %s"
 
-#: ../output.py:2163
+#: ../output.py:2867
 #, python-format
 msgid "Package: %s"
 msgstr "Paketas: %s"
 
-#: ../output.py:2165
+#: ../output.py:2869
 #, python-format
 msgid ""
 "\n"
 "    Requires: %s"
-msgstr ""
-"\n"
-"    Reikalauja: %s"
+msgstr "\n    Reikalauja: %s"
 
-#: ../output.py:2174
+#: ../output.py:2878
 #, python-format
 msgid ""
 "\n"
 "    %s: %s (%s)"
-msgstr ""
-"\n"
-"    %s: %s (%s)"
+msgstr "\n    %s: %s (%s)"
 
-#: ../output.py:2179
+#: ../output.py:2883
 #, python-format
 msgid ""
 "\n"
 "        %s"
-msgstr ""
-"\n"
-"        %s"
+msgstr "\n        %s"
 
-#: ../output.py:2181
+#: ../output.py:2885
 msgid ""
 "\n"
 "        Not found"
-msgstr ""
-"\n"
-"        Nerasta"
+msgstr "\n        Nerasta"
 
 #. These should be the only three things we care about:
-#: ../output.py:2196
+#: ../output.py:2900
 msgid "Updated By"
 msgstr "Atnaujino"
 
-#: ../output.py:2197
+#: ../output.py:2901
 msgid "Downgraded By"
 msgstr "Grąžino"
 
-#: ../output.py:2198
+#: ../output.py:2902
 msgid "Obsoleted By"
 msgstr "Pažymėjo pasenusiu"
 
-#: ../output.py:2216
+#: ../output.py:2920
 msgid "Available"
 msgstr "Prieinamas"
 
-#: ../output.py:2243 ../output.py:2248
+#: ../output.py:2955 ../output.py:2968
 #, python-format
 msgid "--> Processing Conflict: %s conflicts %s"
 msgstr "--> Sprendžiamas konfliktas: %s konfliktuoja su %s"
 
-#: ../output.py:2252
+#: ../output.py:2974
 msgid "--> Populating transaction set with selected packages. Please wait."
-msgstr "--> Tęsiama transakcija su pasirinktais paketais. Palaukite."
+msgstr "--> Tęsiama tranzakcija su pasirinktais paketais. Palaukite."
 
-#: ../output.py:2256
+#: ../output.py:2983
 #, python-format
 msgid "---> Downloading header for %s to pack into transaction set."
-msgstr "---> Grąžinama %s antraštė įpakavimui į transakcijos aibę."
+msgstr "---> Grąžinama %s antraštė įpakavimui į tranzakcijos aibę."
 
-#: ../utils.py:99
+#. self.event(txmbr.name, count, len(base.tsInfo), count, )
+#. (te_current*100L)/te_total
+#: ../output.py:3248
+msgid "Verifying"
+msgstr "Tikrinama"
+
+#: ../utils.py:123
 msgid "Running"
 msgstr "Vykdoma"
 
-#: ../utils.py:100
+#: ../utils.py:124
 msgid "Sleeping"
 msgstr "Miegama"
 
-#: ../utils.py:101
+#: ../utils.py:125
 msgid "Uninterruptible"
 msgstr "Nepertraukiama"
 
-#: ../utils.py:102
+#: ../utils.py:126
 msgid "Zombie"
 msgstr "Zombis"
 
-#: ../utils.py:103
+#: ../utils.py:127
 msgid "Traced/Stopped"
 msgstr "Sekamas/Sustabdytas"
 
-#: ../utils.py:104 ../yumcommands.py:994
+#: ../utils.py:128 ../yumcommands.py:2193
 msgid "Unknown"
 msgstr "Nežinomas"
 
-#: ../utils.py:115
+#: ../utils.py:153
 msgid "  The other application is: PackageKit"
 msgstr "  Kita programa yra: PackageKit"
 
-#: ../utils.py:117
+#: ../utils.py:155
 #, python-format
 msgid "  The other application is: %s"
 msgstr "  Kita programa yra: %s"
 
-#: ../utils.py:120
+#: ../utils.py:158
 #, python-format
 msgid "    Memory : %5s RSS (%5sB VSZ)"
 msgstr "  Atmintis : %5s RSS (%5sB VSZ)"
 
-#: ../utils.py:125
+#: ../utils.py:163
 #, python-format
 msgid "    Started: %s - %s ago"
 msgstr "   Paleista: %s - prieš %s"
 
-#: ../utils.py:127
+#: ../utils.py:165
 #, python-format
 msgid "    State  : %s, pid: %d"
 msgstr "    Būsena : %s, pid: %d"
 
-#: ../utils.py:170 ../yummain.py:43
+#: ../utils.py:194 ../yummain.py:43
 msgid ""
 "\n"
 "\n"
 "Exiting on user cancel"
-msgstr ""
-"\n"
-"\n"
-"Išeinama naudotojui nutraukus"
+msgstr "\n\nIšeinama naudotojui nutraukus"
 
-#: ../utils.py:176 ../yummain.py:49
+#: ../utils.py:206 ../yummain.py:49
 msgid ""
 "\n"
 "\n"
 "Exiting on Broken Pipe"
-msgstr ""
-"\n"
-"\n"
-"Išeinama dėl nutraukto konvejerio"
+msgstr "\n\nIšeinama dėl nutraukto konvejerio"
 
-#: ../utils.py:178 ../yummain.py:51
+#: ../utils.py:208 ../yummain.py:51
 #, python-format
 msgid ""
 "\n"
 "\n"
 "%s"
-msgstr ""
-"\n"
-"\n"
-"%s"
-
-#: ../utils.py:228 ../yummain.py:123
-msgid ""
-"Another app is currently holding the yum lock; exiting as configured by "
-"exit_on_lock"
-msgstr ""
-"Kita programa šiuo metu turi yum užraktą; išeinama, kaip nustatyta parametru"
-" exit_on_lock"
+msgstr "\n\n%s"
 
-#: ../utils.py:287
+#: ../utils.py:326
 #, python-format
 msgid "PluginExit Error: %s"
 msgstr "PluginExit klaida: %s"
 
-#: ../utils.py:290
+#: ../utils.py:329
 #, python-format
 msgid "Yum Error: %s"
 msgstr "Yum klaida: %s"
 
-#: ../utils.py:342 ../yummain.py:150 ../yummain.py:189
+#: ../utils.py:387 ../yummain.py:147 ../yummain.py:186
 #, python-format
 msgid "Error: %s"
 msgstr "Klaida: %s"
 
-#: ../utils.py:346 ../yummain.py:194
+#: ../utils.py:391 ../yummain.py:191
 msgid " You could try using --skip-broken to work around the problem"
 msgstr " Galite mėginti --skip-broken problemai apeiti"
 
-#: ../utils.py:348 ../yummain.py:87
+#: ../utils.py:393 ../yummain.py:87
 msgid " You could try running: rpm -Va --nofiles --nodigest"
 msgstr " Galite pamėginti paleisti: rpm -Va --nofiles --nodigest"
 
-#: ../utils.py:355 ../yummain.py:160 ../yummain.py:202
+#: ../utils.py:400 ../yummain.py:157 ../yummain.py:199
 #, python-format
 msgid "Unknown Error(s): Exit Code: %d:"
 msgstr "Nežinoma(-os) klaida(-os): išėjimo kodas: %d:"
 
-#: ../utils.py:361 ../yummain.py:208
+#: ../utils.py:406 ../yummain.py:205
 msgid ""
 "\n"
 "Dependencies Resolved"
-msgstr ""
-"\n"
-"Išspręstos priklausomybės"
+msgstr "\nIšspręstos priklausomybės"
 
-#: ../utils.py:376 ../yummain.py:234
+#: ../utils.py:422 ../yummain.py:237
 msgid "Complete!"
 msgstr "Baigta!"
 
@@ -1517,7 +1663,7 @@ msgstr " Mini naudojimas:\n"
 msgid "You need to be root to perform this command."
 msgstr "Jūs turite būti root šiai komandai atlikti."
 
-#: ../yumcommands.py:59
+#: ../yumcommands.py:67
 msgid ""
 "\n"
 "You have enabled checking of packages via GPG keys. This is a good thing. \n"
@@ -1532,479 +1678,551 @@ msgid ""
 "will install it for you.\n"
 "\n"
 "For more information contact your distribution or package provider.\n"
-msgstr ""
-"\n"
-"Jūs įjungėte paketų tikrinimą naudojant GPG raktus. Tai yra gerai. \n"
-"Tačiau jūs neturite įdiegę jokių GPG viešų raktų. Jums reikia parsiūsti\n"
-"ir įdiegti raktus paketams, kuriuos jūs norite įdiegti.\n"
-"Tą galite padaryti įvykdydami komandą:\n"
-"    rpm --import public.gpg.key\n"
-"\n"
-"\n"
-"Jūs taip pat galite nurodyti rakto url, kurį norite naudoti\n"
-"saugyklai „gpgkey“ parinktyje saugyklos sekcijoje ir yum \n"
-"jį jums įdiegs.\n"
-"\n"
-"Daugiau informacijos gausite susisiekę su jūsų distribucijos ar paketo tiekėju.\n"
+msgstr "\nJūs įjungėte paketų tikrinimą naudojant GPG raktus. Tai yra gerai. \nTačiau jūs neturite įdiegę jokių GPG viešų raktų. Jums reikia parsiūsti\nir įdiegti raktus paketams, kuriuos jūs norite įdiegti.\nTą galite padaryti įvykdydami komandą:\n    rpm --import public.gpg.key\n\n\nJūs taip pat galite nurodyti rakto url, kurį norite naudoti\nsaugyklai „gpgkey“ parinktyje saugyklos sekcijoje ir yum \njį jums įdiegs.\n\nDaugiau informacijos gausite susisiekę su jūsų distribucijos ar paketo tiekėju.\n"
 
-#: ../yumcommands.py:74
+#: ../yumcommands.py:82
 #, python-format
 msgid "Problem repository: %s"
-msgstr ""
+msgstr "Problemų saugykla: %s"
 
-#: ../yumcommands.py:80
+#: ../yumcommands.py:96
 #, python-format
 msgid "Error: Need to pass a list of pkgs to %s"
 msgstr "Klaida: %s reikia perduoti paketų sąrašą"
 
-#: ../yumcommands.py:86
+#: ../yumcommands.py:114
+#, python-format
+msgid "Error: Need at least two packages to %s"
+msgstr ""
+
+#: ../yumcommands.py:129
+#, python-format
+msgid "Error: Need to pass a repoid. and command to %s"
+msgstr ""
+
+#: ../yumcommands.py:136 ../yumcommands.py:142
+#, python-format
+msgid "Error: Need to pass a single valid repoid. to %s"
+msgstr ""
+
+#: ../yumcommands.py:147
+#, python-format
+msgid "Error: Repo %s is not enabled"
+msgstr ""
+
+#: ../yumcommands.py:164
 msgid "Error: Need an item to match"
-msgstr "Klaida: reikia atitikimens"
+msgstr "Klaida: reikia atitikmens"
 
-#: ../yumcommands.py:92
+#: ../yumcommands.py:178
 msgid "Error: Need a group or list of groups"
 msgstr "Klaida: reikia grupės arba grupių sąrašo"
 
-#: ../yumcommands.py:101
+#: ../yumcommands.py:195
 #, python-format
 msgid "Error: clean requires an option: %s"
 msgstr "Klaida: clean reikalauja parinkties: %s"
 
-#: ../yumcommands.py:106
+#: ../yumcommands.py:201
 #, python-format
 msgid "Error: invalid clean argument: %r"
 msgstr "Klaida: netinkamas clean argumentas: %r"
 
-#: ../yumcommands.py:119
+#: ../yumcommands.py:216
 msgid "No argument to shell"
 msgstr "Nėra argumento apvalkalui"
 
-#: ../yumcommands.py:121
+#: ../yumcommands.py:218
 #, python-format
 msgid "Filename passed to shell: %s"
 msgstr "Failo pavadinimas, perduotas apvalkalui: %s"
 
-#: ../yumcommands.py:125
+#: ../yumcommands.py:222
 #, python-format
 msgid "File %s given as argument to shell does not exist."
 msgstr "Failas %s, perduotas kaip argumentas apvalkalui, neegzistuoja."
 
-#: ../yumcommands.py:131
+#: ../yumcommands.py:228
 msgid "Error: more than one file given as argument to shell."
-msgstr ""
-"Klaida: daugiau nei vienas failas perduotas kaip argumentas apvalkalui."
+msgstr "Klaida: daugiau nei vienas failas perduotas kaip argumentas apvalkalui."
 
-#: ../yumcommands.py:148
+#: ../yumcommands.py:247
 msgid ""
 "There are no enabled repos.\n"
 " Run \"yum repolist all\" to see the repos you have.\n"
 " You can enable repos with yum-config-manager --enable <repo>"
-msgstr ""
-"Nėra įjungtų saugyklų.\n"
-" Paleiskite „yum repolist all“ visam saugyklų sąrašui gauti.\n"
-" Jūs galite įjungti saugyklas su yum-config-manager --enable <saugykla>"
+msgstr "Nėra įjungtų saugyklų.\n Paleiskite „yum repolist all“ visam saugyklų sąrašui gauti.\n Jūs galite įjungti saugyklas su yum-config-manager --enable <saugykla>"
 
-#: ../yumcommands.py:200
+#: ../yumcommands.py:383
 msgid "PACKAGE..."
 msgstr "PAKETAS..."
 
-#: ../yumcommands.py:203
+#: ../yumcommands.py:390
 msgid "Install a package or packages on your system"
 msgstr "Įdiegti paketą arba paketus jūsų sistemoje"
 
-#: ../yumcommands.py:212
+#: ../yumcommands.py:421
 msgid "Setting up Install Process"
 msgstr "Nustatomas diegimo procesas"
 
-#: ../yumcommands.py:223 ../yumcommands.py:245
+#: ../yumcommands.py:447 ../yumcommands.py:507
 msgid "[PACKAGE...]"
 msgstr "[PAKETAS...]"
 
-#: ../yumcommands.py:226
+#: ../yumcommands.py:454
 msgid "Update a package or packages on your system"
 msgstr "Atnaujinti paketą arba paketus jūsų sistemoje"
 
-#: ../yumcommands.py:234
+#: ../yumcommands.py:483
 msgid "Setting up Update Process"
 msgstr "Nustatomas atnaujinimo procesas"
 
-#: ../yumcommands.py:248
+#: ../yumcommands.py:514
 msgid "Synchronize installed packages to the latest available versions"
 msgstr "Sinchronizuoti įdiegtus paketus į naujausias prieinamas versijas"
 
-#: ../yumcommands.py:256
+#: ../yumcommands.py:543
 msgid "Setting up Distribution Synchronization Process"
 msgstr "Nustatomas distribucijos sinchronizacijos procesas"
 
-#: ../yumcommands.py:299
+#: ../yumcommands.py:603
 msgid "Display details about a package or group of packages"
 msgstr "Rodyti informaciją apie paketą arba paketų grupę"
 
-#: ../yumcommands.py:348
+#: ../yumcommands.py:672
 msgid "Installed Packages"
 msgstr "Įdiegti paketai"
 
-#: ../yumcommands.py:356
+#: ../yumcommands.py:682
 msgid "Available Packages"
 msgstr "Prieinami paketai"
 
-#: ../yumcommands.py:360
+#: ../yumcommands.py:687
 msgid "Extra Packages"
 msgstr "Papildomi paketai"
 
-#: ../yumcommands.py:364
+#: ../yumcommands.py:691
 msgid "Updated Packages"
 msgstr "Atnaujinti paketai"
 
 #. This only happens in verbose mode
-#: ../yumcommands.py:372 ../yumcommands.py:379 ../yumcommands.py:667
+#: ../yumcommands.py:699 ../yumcommands.py:706 ../yumcommands.py:1539
 msgid "Obsoleting Packages"
 msgstr "Paketai žymimi pasenusiais"
 
-#: ../yumcommands.py:381
+#: ../yumcommands.py:708
 msgid "Recently Added Packages"
 msgstr "Neseniai pridėti paketai"
 
-#: ../yumcommands.py:388
+#: ../yumcommands.py:715
 msgid "No matching Packages to list"
 msgstr "Nėra atitinkančių paketų išvardinimui"
 
-#: ../yumcommands.py:402
+#: ../yumcommands.py:766
 msgid "List a package or groups of packages"
 msgstr "Išvardinti paketus arba paketų grupes"
 
-#: ../yumcommands.py:414
+#: ../yumcommands.py:797
 msgid "Remove a package or packages from your system"
 msgstr "Pašalinti paketą arba paketus iš sistemos"
 
-#: ../yumcommands.py:421
+#: ../yumcommands.py:845
 msgid "Setting up Remove Process"
 msgstr "Nustatomas šalinimo procesas"
 
-#: ../yumcommands.py:435
+#: ../yumcommands.py:906
+msgid "Display, or use, the groups information"
+msgstr "Rodyti arba naudoti grupių informaciją"
+
+#: ../yumcommands.py:909
 msgid "Setting up Group Process"
 msgstr "Nustatomas grupės procesas"
 
-#: ../yumcommands.py:441
+#: ../yumcommands.py:915
 msgid "No Groups on which to run command"
 msgstr "Nėra grupių, kurioms vykdyti komandą"
 
-#: ../yumcommands.py:454
-msgid "List available package groups"
-msgstr "Išvardinti prieinamas paketų grupes"
-
-#: ../yumcommands.py:474
-msgid "Install the packages in a group on your system"
-msgstr "Įdiegti grupės paketus jūsų sistemoje"
+#: ../yumcommands.py:985
+#, python-format
+msgid "Invalid groups sub-command, use: %s."
+msgstr "Netinkama grupių po-komanda, naudokite: %s."
 
-#: ../yumcommands.py:497
-msgid "Remove the packages in a group from your system"
-msgstr "Pašalinti grupės paketus iš jūsų sistemos"
+#: ../yumcommands.py:992
+msgid "There is no installed groups file."
+msgstr "Nėra įdiegtų grupių failo."
 
-#: ../yumcommands.py:525
-msgid "Display details about a package group"
-msgstr "Parodyti informaciją apie paketų grupę"
+#: ../yumcommands.py:994
+msgid "You don't have access to the groups DB."
+msgstr "Jūs neturite prieigos prie grupių DB."
 
-#: ../yumcommands.py:550
+#: ../yumcommands.py:1256
 msgid "Generate the metadata cache"
 msgstr "Generuoti metaduomenų podėlį"
 
-#: ../yumcommands.py:556
+#: ../yumcommands.py:1282
 msgid "Making cache files for all metadata files."
 msgstr "Kuriami podėlio failai visiems metaduomenų failams."
 
-#: ../yumcommands.py:557
+#: ../yumcommands.py:1283
 msgid "This may take a while depending on the speed of this computer"
 msgstr "Tai gali užtrukti priklausomai nuo šio kompiuterio greičio"
 
-#: ../yumcommands.py:578
+#: ../yumcommands.py:1312
 msgid "Metadata Cache Created"
 msgstr "Metaduomenų podėlis sukurtas"
 
-#: ../yumcommands.py:592
+#: ../yumcommands.py:1350
 msgid "Remove cached data"
 msgstr "Pašalinti podėlio duomenis"
 
-#: ../yumcommands.py:613
+#: ../yumcommands.py:1417
 msgid "Find what package provides the given value"
 msgstr "Rasti, kuris paketas teikia pateiktą reikšmę"
 
-#: ../yumcommands.py:633
+#: ../yumcommands.py:1485
 msgid "Check for available package updates"
 msgstr "Tikrinti prieinamus paketų atnaujinimus"
 
-#: ../yumcommands.py:687
+#: ../yumcommands.py:1587
 msgid "Search package details for the given string"
 msgstr "Ieškoti paketų informacijos pateiktai eilutei"
 
-#: ../yumcommands.py:693
+#: ../yumcommands.py:1613
 msgid "Searching Packages: "
 msgstr "Ieškoma paketų:"
 
-#: ../yumcommands.py:710
+#: ../yumcommands.py:1666
 msgid "Update packages taking obsoletes into account"
 msgstr "Atnaujinti paketus įvertinant pasenusius"
 
-#: ../yumcommands.py:719
+#: ../yumcommands.py:1696
 msgid "Setting up Upgrade Process"
 msgstr "Nustatomas atnaujinimo procesas"
 
-#: ../yumcommands.py:737
+#: ../yumcommands.py:1731
 msgid "Install a local RPM"
 msgstr "Įdiegti vietinį RPM"
 
-#: ../yumcommands.py:745
+#: ../yumcommands.py:1761
 msgid "Setting up Local Package Process"
 msgstr "Nustatomas vietinio paketo procesas"
 
-#: ../yumcommands.py:764
-msgid "Determine which package provides the given dependency"
-msgstr "Nustatyti, kuris paketas teikia pateiktą priklausomybę"
-
-#: ../yumcommands.py:767
+#: ../yumcommands.py:1825
 msgid "Searching Packages for Dependency:"
 msgstr "Ieškoti paketų priklausomybei:"
 
-#: ../yumcommands.py:781
+#: ../yumcommands.py:1867
 msgid "Run an interactive yum shell"
 msgstr "Paleisti interaktyvų yum apvalkalą"
 
-#: ../yumcommands.py:787
+#: ../yumcommands.py:1893
 msgid "Setting up Yum Shell"
 msgstr "Nustatomas Yum apvalkalas"
 
-#: ../yumcommands.py:805
+#: ../yumcommands.py:1936
 msgid "List a package's dependencies"
 msgstr "Išvardinti paketo priklausomybes"
 
-#: ../yumcommands.py:811
+#: ../yumcommands.py:1963
 msgid "Finding dependencies: "
 msgstr "Randamos priklausomybės:"
 
-#: ../yumcommands.py:827
+#: ../yumcommands.py:2005
 msgid "Display the configured software repositories"
 msgstr "Rodyti nustatytas programinės įrangos saugyklas"
 
-#: ../yumcommands.py:893 ../yumcommands.py:894
+#: ../yumcommands.py:2094 ../yumcommands.py:2095
 msgid "enabled"
 msgstr "įjungta"
 
-#: ../yumcommands.py:920 ../yumcommands.py:921
+#: ../yumcommands.py:2121 ../yumcommands.py:2122
 msgid "disabled"
 msgstr "išjungta"
 
-#: ../yumcommands.py:937
+#: ../yumcommands.py:2137
 msgid "Repo-id      : "
 msgstr "Saugyklos id : "
 
-#: ../yumcommands.py:938
+#: ../yumcommands.py:2138
 msgid "Repo-name    : "
 msgstr "Saugyklos pavadinimas: "
 
-#: ../yumcommands.py:941
+#: ../yumcommands.py:2141
 msgid "Repo-status  : "
 msgstr "Saugyklos būsena: "
 
-#: ../yumcommands.py:944
+#: ../yumcommands.py:2144
 msgid "Repo-revision: "
-msgstr "Saugyklos poversijis: "
+msgstr "Saugyklos po-versija: "
 
-#: ../yumcommands.py:948
+#: ../yumcommands.py:2148
 msgid "Repo-tags    : "
 msgstr "Saugyklos žymos: "
 
-#: ../yumcommands.py:954
+#: ../yumcommands.py:2154
 msgid "Repo-distro-tags: "
 msgstr "Saugyklos distribucijos žymos: "
 
-#: ../yumcommands.py:959
+#: ../yumcommands.py:2159
 msgid "Repo-updated : "
 msgstr "Saugykla atnaujinta: "
 
-#: ../yumcommands.py:961
+#: ../yumcommands.py:2161
 msgid "Repo-pkgs    : "
 msgstr "Saugyklos paketai: "
 
-#: ../yumcommands.py:962
+#: ../yumcommands.py:2162
 msgid "Repo-size    : "
 msgstr "Saugyklos dydis: "
 
-#: ../yumcommands.py:969 ../yumcommands.py:990
+#: ../yumcommands.py:2169 ../yumcommands.py:2190
 msgid "Repo-baseurl : "
 msgstr "Saugyklos bazinis url: "
 
-#: ../yumcommands.py:977
+#: ../yumcommands.py:2177
 msgid "Repo-metalink: "
 msgstr "Saugyklos metasaitas: "
 
-#: ../yumcommands.py:981
+#: ../yumcommands.py:2181
 msgid "  Updated    : "
 msgstr "  Atnaujinta : "
 
-#: ../yumcommands.py:984
+#: ../yumcommands.py:2184
 msgid "Repo-mirrors : "
 msgstr "Saugyklos tinklavietės: "
 
-#: ../yumcommands.py:1000
+#: ../yumcommands.py:2199
 #, python-format
 msgid "Never (last: %s)"
 msgstr "Niekada (paskutinis: %s)"
 
-#: ../yumcommands.py:1002
+#: ../yumcommands.py:2201
 #, python-format
 msgid "Instant (last: %s)"
 msgstr "Neatdėliotinas (paskutinis: %s)"
 
-#: ../yumcommands.py:1005
+#: ../yumcommands.py:2204
 #, python-format
 msgid "%s second(s) (last: %s)"
 msgstr "%s sekundė(s) (paskutinis: %s)"
 
-#: ../yumcommands.py:1007
+#: ../yumcommands.py:2206
 msgid "Repo-expire  : "
 msgstr "Saugykla pasensta: "
 
-#: ../yumcommands.py:1010
+#: ../yumcommands.py:2209
 msgid "Repo-exclude : "
 msgstr "Saugykla išskiria: "
 
-#: ../yumcommands.py:1014
+#: ../yumcommands.py:2213
 msgid "Repo-include : "
 msgstr "Saugykla įtraukia: "
 
-#: ../yumcommands.py:1018
+#: ../yumcommands.py:2217
 msgid "Repo-excluded: "
 msgstr "Saugykloje išskirta: "
 
-#: ../yumcommands.py:1022
+#: ../yumcommands.py:2221
 msgid "Repo-filename: "
-msgstr ""
+msgstr "Saugyklos failas: "
 
 #. Work out the first (id) and last (enabled/disalbed/count),
 #. then chop the middle (name)...
-#: ../yumcommands.py:1032 ../yumcommands.py:1061
+#: ../yumcommands.py:2230 ../yumcommands.py:2259
 msgid "repo id"
 msgstr "Saugyklos id"
 
-#: ../yumcommands.py:1049 ../yumcommands.py:1050 ../yumcommands.py:1068
+#: ../yumcommands.py:2247 ../yumcommands.py:2248 ../yumcommands.py:2266
 msgid "status"
 msgstr "būsena"
 
-#: ../yumcommands.py:1062
+#: ../yumcommands.py:2260
 msgid "repo name"
 msgstr "saugyklos pavadinimas"
 
-#: ../yumcommands.py:1099
+#: ../yumcommands.py:2332
 msgid "Display a helpful usage message"
 msgstr "Parodyti naudingą naudojimo pranešimą"
 
-#: ../yumcommands.py:1133
+#: ../yumcommands.py:2374
 #, python-format
 msgid "No help available for %s"
 msgstr "Nėra pagalbos veiksmui %s"
 
-#: ../yumcommands.py:1138
+#: ../yumcommands.py:2379
 msgid ""
 "\n"
 "\n"
 "aliases: "
-msgstr ""
-"\n"
-"\n"
-"alternatyvūs vardai: "
+msgstr "\n\nalternatyvūs vardai: "
 
-#: ../yumcommands.py:1140
+#: ../yumcommands.py:2381
 msgid ""
 "\n"
 "\n"
 "alias: "
-msgstr ""
-"\n"
-"\n"
-"alternatyvus vardas: "
+msgstr "\n\nalternatyvus vardas: "
 
-#: ../yumcommands.py:1168
+#: ../yumcommands.py:2466
 msgid "Setting up Reinstall Process"
 msgstr "Nustatomas perdiegimo procesas"
 
-#: ../yumcommands.py:1176
+#: ../yumcommands.py:2478
 msgid "reinstall a package"
 msgstr "perdiegti paketą"
 
-#: ../yumcommands.py:1195
+#: ../yumcommands.py:2541
 msgid "Setting up Downgrade Process"
 msgstr "Nustatomas grąžinimo procesas"
 
-#: ../yumcommands.py:1202
+#: ../yumcommands.py:2552
 msgid "downgrade a package"
 msgstr "grąžinti paketą"
 
-#: ../yumcommands.py:1216
+#: ../yumcommands.py:2591
 msgid "Display a version for the machine and/or available repos."
 msgstr "Parodyti mašinos ir prieinamų saugyklų versiją."
 
-#: ../yumcommands.py:1255
+#: ../yumcommands.py:2643
 msgid " Yum version groups:"
 msgstr "Yum versijų grupės:"
 
-#: ../yumcommands.py:1265
+#: ../yumcommands.py:2653
 msgid " Group   :"
 msgstr " Grupė   :"
 
-#: ../yumcommands.py:1266
+#: ../yumcommands.py:2654
 msgid " Packages:"
 msgstr "  Paketai:"
 
-#: ../yumcommands.py:1295
+#: ../yumcommands.py:2683
 msgid "Installed:"
 msgstr "  Įdiegti:"
 
-#: ../yumcommands.py:1303
+#: ../yumcommands.py:2691
 msgid "Group-Installed:"
 msgstr "Įdiegti per grupes:"
 
-#: ../yumcommands.py:1312
+#: ../yumcommands.py:2700
 msgid "Available:"
 msgstr "Prieinami:"
 
-#: ../yumcommands.py:1321
+#: ../yumcommands.py:2709
 msgid "Group-Available:"
 msgstr "Prieinami per grupes:"
 
-#: ../yumcommands.py:1360
+#: ../yumcommands.py:2783
 msgid "Display, or use, the transaction history"
-msgstr "Parodyti arba naudoti transakcijų istoriją"
+msgstr "Parodyti arba naudoti tranzakcijų istoriją"
+
+#: ../yumcommands.py:2876 ../yumcommands.py:2880
+msgid "Transactions:"
+msgstr "Tranzakcijos:"
+
+#: ../yumcommands.py:2881
+msgid "Begin time  :"
+msgstr "Pradžia     :"
+
+#: ../yumcommands.py:2882
+msgid "End time    :"
+msgstr "Pabaiga     :"
+
+#: ../yumcommands.py:2883
+msgid "Counts      :"
+msgstr "Kartai      :"
+
+#: ../yumcommands.py:2884
+msgid "  NEVRAC :"
+msgstr "  NEVRAC :"
 
-#: ../yumcommands.py:1432
+#: ../yumcommands.py:2885
+msgid "  NEVRA  :"
+msgstr "  NEVRA  :"
+
+#: ../yumcommands.py:2886
+msgid "  NA     :"
+msgstr "  NA     :"
+
+#: ../yumcommands.py:2887
+msgid "  NEVR   :"
+msgstr "  NEVR   :"
+
+#: ../yumcommands.py:2888
+msgid "  rpm DB :"
+msgstr "  rpm DB :"
+
+#: ../yumcommands.py:2889
+msgid "  yum DB :"
+msgstr "  yum DB :"
+
+#: ../yumcommands.py:2922
 #, python-format
 msgid "Invalid history sub-command, use: %s."
 msgstr "Netinkama istorijos po-komanda, naudokite: %s."
 
-#: ../yumcommands.py:1439
+#: ../yumcommands.py:2929
 msgid "You don't have access to the history DB."
 msgstr "Jūs neturite priėjimo prie istorijos DB."
 
-#: ../yumcommands.py:1487
+#: ../yumcommands.py:3036
 msgid "Check for problems in the rpmdb"
 msgstr "Ieškoti problemų rpmdb"
 
-#: ../yumcommands.py:1514
+#: ../yumcommands.py:3102
 msgid "load a saved transaction from filename"
-msgstr "įkelti išsaugotą transakciją iš failo"
+msgstr "įkelti išsaugotą tranzakciją iš failo"
 
-#: ../yumcommands.py:1518
+#: ../yumcommands.py:3119
 msgid "No saved transaction file specified."
-msgstr "Nenurodytas įšsaugotos transakcijos failas."
+msgstr "Nenurodytas įšsaugotos tranzakcijos failas."
 
-#: ../yumcommands.py:1522
+#: ../yumcommands.py:3123
 #, python-format
 msgid "loading transaction from %s"
-msgstr "įkeliama transakcija iš %s"
+msgstr "įkeliama tranzakcija iš %s"
 
-#: ../yumcommands.py:1528
+#: ../yumcommands.py:3129
 #, python-format
 msgid "Transaction loaded from %s with %s members"
-msgstr "Transakcija, įkelta iš %s su %s nariais"
+msgstr "Tranzakcija, įkelta iš %s su %s nariais"
+
+#: ../yumcommands.py:3169
+msgid "Simple way to swap packages, isntead of using shell"
+msgstr ""
+
+#: ../yumcommands.py:3264
+msgid ""
+"Treat a repo. as a group of packages, so we can install/remove all of them"
+msgstr ""
+
+#: ../yumcommands.py:3341
+#, python-format
+msgid "%d package to update"
+msgid_plural "%d packages to update"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#: ../yumcommands.py:3370
+#, python-format
+msgid "%d package to remove/reinstall"
+msgid_plural "%d packages to remove/reinstall"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#: ../yumcommands.py:3413
+#, python-format
+msgid "%d package to remove/sync"
+msgid_plural "%d packages to remove/sync"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#: ../yumcommands.py:3417
+#, python-format
+msgid "Not a valid sub-command of %s"
+msgstr ""
 
 #. This is mainly for PackageSackError from rpmdb.
 #: ../yummain.py:84
@@ -2012,105 +2230,101 @@ msgstr "Transakcija, įkelta iš %s su %s nariais"
 msgid " Yum checks failed: %s"
 msgstr " Yum ckeck nepavyko: %s"
 
-#: ../yummain.py:114
-msgid ""
-"Another app is currently holding the yum lock; waiting for it to exit..."
-msgstr "Kita programa turi yum užraktą; laukiama jos pabaigos..."
+#: ../yummain.py:98
+msgid "No read/execute access in current directory, moving to /"
+msgstr "Nėra skaitymo/rašymo prieigos esamame kataloge, perkeliama į /"
 
-#: ../yummain.py:120
-msgid "Can't create lock file; exiting"
-msgstr "Nepavyko sukurti užrakto failo; išeinama"
+#: ../yummain.py:106
+msgid "No getcwd() access in current directory, moving to /"
+msgstr "Nėra getcwd() prieigos esamame kataloge, pereinama į /"
 
 #. Depsolve stage
-#: ../yummain.py:167
+#: ../yummain.py:164
 msgid "Resolving Dependencies"
 msgstr "Spredžiamos priklausomybės"
 
-#: ../yummain.py:230
+#: ../yummain.py:227 ../yummain.py:235
 #, python-format
-msgid "Your transaction was saved, rerun it with: yum load-transaction %s"
-msgstr ""
-"Jūsų transakcija išsaugota, paleiskite ją su komanda: yum load-transaction "
-"%s"
+msgid ""
+"Your transaction was saved, rerun it with:\n"
+" yum load-transaction %s"
+msgstr "Jūsų tranzakcija buvo įrašyta, paleiskite iš jaujo su: yum load-transaction %s"
 
-#: ../yummain.py:288
+#: ../yummain.py:312
 msgid ""
 "\n"
 "\n"
 "Exiting on user cancel."
-msgstr ""
-"\n"
-"\n"
-"Išeinama po naudotojo atšaukimo."
+msgstr "\n\nIšeinama po naudotojo atšaukimo."
 
-#: ../yum/depsolve.py:84
+#: ../yum/depsolve.py:127
 msgid "doTsSetup() will go away in a future version of Yum.\n"
 msgstr "doTsSetup() bus pašalinta ateities Yum versijose.\n"
 
-#: ../yum/depsolve.py:99
+#: ../yum/depsolve.py:143
 msgid "Setting up TransactionSets before config class is up"
 msgstr "Nustatoma TransactionSets prieš konfigūracijos klasės pakrovimą"
 
-#: ../yum/depsolve.py:153
+#: ../yum/depsolve.py:200
 #, python-format
 msgid "Invalid tsflag in config file: %s"
 msgstr "Netinkama tsflag konfigūracijos faile: %s"
 
-#: ../yum/depsolve.py:164
+#: ../yum/depsolve.py:218
 #, python-format
 msgid "Searching pkgSack for dep: %s"
 msgstr "Ieškoma pkgSack priklausomybei: %s"
 
-#: ../yum/depsolve.py:207
+#: ../yum/depsolve.py:269
 #, python-format
 msgid "Member: %s"
 msgstr "Narys: %s"
 
-#: ../yum/depsolve.py:221 ../yum/depsolve.py:793
+#: ../yum/depsolve.py:283 ../yum/depsolve.py:937
 #, python-format
 msgid "%s converted to install"
 msgstr "%s pakeistas diegimui"
 
-#: ../yum/depsolve.py:233
+#: ../yum/depsolve.py:295
 #, python-format
 msgid "Adding Package %s in mode %s"
 msgstr "Pridedamas paketas %s veiksenoje %s"
 
-#: ../yum/depsolve.py:249
+#: ../yum/depsolve.py:311
 #, python-format
 msgid "Removing Package %s"
 msgstr "Šalinamas paketas %s"
 
-#: ../yum/depsolve.py:271
+#: ../yum/depsolve.py:333
 #, python-format
 msgid "%s requires: %s"
 msgstr "%s reikalauja: %s"
 
-#: ../yum/depsolve.py:312
+#: ../yum/depsolve.py:374
 #, python-format
 msgid "%s requires %s"
 msgstr "%s reikalauja %s"
 
-#: ../yum/depsolve.py:339
+#: ../yum/depsolve.py:401
 msgid "Needed Require has already been looked up, cheating"
 msgstr "Reikalingo reikalavimo jau ieškota, apgaunama"
 
-#: ../yum/depsolve.py:349
+#: ../yum/depsolve.py:411
 #, python-format
 msgid "Needed Require is not a package name. Looking up: %s"
 msgstr "Reikalavimas nėra paketo pavadinimas. Ieškoma: %s"
 
-#: ../yum/depsolve.py:357
+#: ../yum/depsolve.py:419
 #, python-format
 msgid "Potential Provider: %s"
 msgstr "Potencialus tiekėjas: %s"
 
-#: ../yum/depsolve.py:380
+#: ../yum/depsolve.py:442
 #, python-format
 msgid "Mode is %s for provider of %s: %s"
 msgstr "Veiksena %s %s tiekėjui : %s"
 
-#: ../yum/depsolve.py:384
+#: ../yum/depsolve.py:446
 #, python-format
 msgid "Mode for pkg providing %s: %s"
 msgstr "Veiksena paketui, teikiančiam %s: %s"
@@ -2118,1028 +2332,1142 @@ msgstr "Veiksena paketui, teikiančiam %s: %s"
 #. the thing it needs is being updated or obsoleted away
 #. try to update the requiring package in hopes that all this problem goes
 #. away :(
-#: ../yum/depsolve.py:389 ../yum/depsolve.py:406
+#: ../yum/depsolve.py:451 ../yum/depsolve.py:486
 #, python-format
 msgid "Trying to update %s to resolve dep"
 msgstr "Bandoma atnaujinti %s priklausomybių išsprendimui"
 
-#: ../yum/depsolve.py:400 ../yum/depsolve.py:410
+#: ../yum/depsolve.py:480
 #, python-format
 msgid "No update paths found for %s. Failure!"
 msgstr "Nerasta %s atnaujinimo kelių. Klaida!"
 
-#: ../yum/depsolve.py:416
+#: ../yum/depsolve.py:491
+#, python-format
+msgid "No update paths found for %s. Failure due to requirement: %s!"
+msgstr ""
+
+#: ../yum/depsolve.py:507
+#, python-format
+msgid "Update for %s. Doesn't fix requirement: %s!"
+msgstr ""
+
+#: ../yum/depsolve.py:514
 #, python-format
 msgid "TSINFO: %s package requiring %s marked as erase"
 msgstr "TSINFO: %s paketas, reikalaujantis %s pažymėtas pašalinimui"
 
-#: ../yum/depsolve.py:429
+#: ../yum/depsolve.py:527
 #, python-format
 msgid "TSINFO: Obsoleting %s with %s to resolve dep."
 msgstr "TSINFO: %s žymimas pasenusiu su %s, siekiant išspręsti priklausomybę."
 
-#: ../yum/depsolve.py:432
+#: ../yum/depsolve.py:530
 #, python-format
 msgid "TSINFO: Updating %s to resolve dep."
 msgstr "TSINFO: Atnaujinamas %s, siekiant išspręsti priklausomybę."
 
-#: ../yum/depsolve.py:440
+#: ../yum/depsolve.py:538
 #, python-format
 msgid "Cannot find an update path for dep for: %s"
 msgstr "Nepavyko rasti priklausomybės atnaujinimo kelio: %s"
 
-#: ../yum/depsolve.py:471
+#: ../yum/depsolve.py:569
 #, python-format
 msgid "Quick matched %s to require for %s"
 msgstr "Greitas atitikmuo %s %s reikalavimui"
 
 #. is it already installed?
-#: ../yum/depsolve.py:513
+#: ../yum/depsolve.py:611
 #, python-format
 msgid "%s is in providing packages but it is already installed, removing."
 msgstr "%s yra teikiančių paketų sąraše, bet jis jau įdiegtas, pašalinama."
 
-#: ../yum/depsolve.py:529
+#: ../yum/depsolve.py:627
 #, python-format
 msgid "Potential resolving package %s has newer instance in ts."
 msgstr "Potencialiai sprendžiantis paketas %s ts turi naujesnį variantą."
 
-#: ../yum/depsolve.py:540
+#: ../yum/depsolve.py:638
 #, python-format
 msgid "Potential resolving package %s has newer instance installed."
 msgstr "Potencialiai sprendžiantis paketas %s turi įdiegtą naujesnį variantą."
 
-#: ../yum/depsolve.py:558
+#: ../yum/depsolve.py:656
 #, python-format
 msgid "%s already in ts, skipping this one"
 msgstr "%s jau ts, praleidžiama"
 
-#: ../yum/depsolve.py:607
+#: ../yum/depsolve.py:705
 #, python-format
 msgid "TSINFO: Marking %s as update for %s"
 msgstr "TSINFO: pažymima %s kaip %s atnaujinimą"
 
-#: ../yum/depsolve.py:616
+#: ../yum/depsolve.py:714
 #, python-format
 msgid "TSINFO: Marking %s as install for %s"
 msgstr "TSINFO: pažymima %s kaip %s diegimą"
 
-#: ../yum/depsolve.py:727 ../yum/depsolve.py:819
+#: ../yum/depsolve.py:849 ../yum/depsolve.py:967
 msgid "Success - empty transaction"
-msgstr "Sėkminga - tuščia transakcija"
+msgstr "Sėkminga - tuščia tranzakcija"
 
-#: ../yum/depsolve.py:767 ../yum/depsolve.py:783
+#: ../yum/depsolve.py:889 ../yum/depsolve.py:927
 msgid "Restarting Loop"
 msgstr "Iš naujo paleidžiamas ciklas"
 
-#: ../yum/depsolve.py:799
+#: ../yum/depsolve.py:947
 msgid "Dependency Process ending"
 msgstr "Užbaigiamas priklausomybių procesas"
 
-#: ../yum/depsolve.py:821
+#: ../yum/depsolve.py:969
 msgid "Success - deps resolved"
 msgstr "Sėkminga - priklausomybės išspręstos"
 
-#: ../yum/depsolve.py:845
+#: ../yum/depsolve.py:993
 #, python-format
 msgid "Checking deps for %s"
 msgstr "Ieškoma %s priklausomybių"
 
-#: ../yum/depsolve.py:931
+#: ../yum/depsolve.py:1082
 #, python-format
 msgid "looking for %s as a requirement of %s"
 msgstr "ieškoma %s kaip %s reikalavimo"
 
-#: ../yum/depsolve.py:1169
+#: ../yum/depsolve.py:1349
 #, python-format
 msgid "Running compare_providers() for %s"
 msgstr "%s vykdoma compare_providers()"
 
-#: ../yum/depsolve.py:1196 ../yum/depsolve.py:1202
+#: ../yum/depsolve.py:1376 ../yum/depsolve.py:1382
 #, python-format
 msgid "better arch in po %s"
 msgstr "po %s geresnė architektūra"
 
-#: ../yum/depsolve.py:1298
+#: ../yum/depsolve.py:1496
 #, python-format
 msgid "%s obsoletes %s"
 msgstr "%s žymi pasenusiu %s"
 
-#: ../yum/depsolve.py:1310
+#: ../yum/depsolve.py:1508
 #, python-format
 msgid ""
 "archdist compared %s to %s on %s\n"
 "  Winner: %s"
-msgstr ""
-"archdist palygino %s su %s vietoje %s\n"
-"  Nugalėtojas: %s"
+msgstr "archdist palygino %s su %s vietoje %s\n  Nugalėtojas: %s"
 
-#: ../yum/depsolve.py:1318
+#: ../yum/depsolve.py:1516
 #, python-format
 msgid "common sourcerpm %s and %s"
 msgstr "bendras išeities rpm %s ir %s"
 
-#: ../yum/depsolve.py:1322
+#: ../yum/depsolve.py:1520
 #, python-format
 msgid "base package %s is installed for %s"
 msgstr "bazinis paketas %s įdiegtas paketui %s"
 
-#: ../yum/depsolve.py:1328
+#: ../yum/depsolve.py:1526
 #, python-format
 msgid "common prefix of %s between %s and %s"
 msgstr "bendras priešdėlis %s abiems %s ir %s"
 
-#: ../yum/depsolve.py:1359
+#: ../yum/depsolve.py:1543
 #, python-format
-msgid "requires minimal: %d"
-msgstr "reikalauja mažiausiai: %d"
+msgid "provides vercmp: %s"
+msgstr "suteikia vercmp: %s"
 
-#: ../yum/depsolve.py:1363
+#: ../yum/depsolve.py:1547 ../yum/depsolve.py:1581
 #, python-format
 msgid " Winner: %s"
 msgstr " Nugalėtojas: %s"
 
-#: ../yum/depsolve.py:1368
+#: ../yum/depsolve.py:1577
+#, python-format
+msgid "requires minimal: %d"
+msgstr "reikalauja mažiausiai: %d"
+
+#: ../yum/depsolve.py:1586
 #, python-format
 msgid " Loser(with %d): %s"
 msgstr " Pralaimėtojas (su %d): %s"
 
-#: ../yum/depsolve.py:1384
+#: ../yum/depsolve.py:1602
 #, python-format
 msgid "Best Order: %s"
 msgstr "Geriausia tvarka: %s"
 
-#: ../yum/__init__.py:234
+#: ../yum/__init__.py:274
 msgid "doConfigSetup() will go away in a future version of Yum.\n"
 msgstr "doConfigSetup() bus pašalinta ateities Yum versijose.\n"
 
-#: ../yum/__init__.py:482
+#: ../yum/__init__.py:553
+#, python-format
+msgid "Skipping unreadable repository %s"
+msgstr ""
+
+#: ../yum/__init__.py:572
 #, python-format
 msgid "Repository %r: Error parsing config: %s"
 msgstr "Saugykla %r: klaida skaitant konfigūraciją: %s"
 
-#: ../yum/__init__.py:488
+#: ../yum/__init__.py:578
 #, python-format
 msgid "Repository %r is missing name in configuration, using id"
 msgstr "Saugyklai %r trūksta pavadinimo konfigūracijoje, naudojamas id"
 
-#: ../yum/__init__.py:526
+#: ../yum/__init__.py:618
 msgid "plugins already initialised"
 msgstr "įskiepiai jau pakrauti"
 
-#: ../yum/__init__.py:533
+#: ../yum/__init__.py:627
 msgid "doRpmDBSetup() will go away in a future version of Yum.\n"
 msgstr "doRpmDBSetup() bus pašalinta ateities Yum versijose.\n"
 
-#: ../yum/__init__.py:544
+#: ../yum/__init__.py:638
 msgid "Reading Local RPMDB"
 msgstr "Skaitoma vietinė RPMDB"
 
-#: ../yum/__init__.py:567
+#: ../yum/__init__.py:668
 msgid "doRepoSetup() will go away in a future version of Yum.\n"
 msgstr "doRepoSetup() bus pašalinta ateities Yum versijose.\n"
 
-#: ../yum/__init__.py:630
+#: ../yum/__init__.py:722
 msgid "doSackSetup() will go away in a future version of Yum.\n"
 msgstr "doSackSetup() bus pašalinta ateities Yum versijose.\n"
 
-#: ../yum/__init__.py:660
+#: ../yum/__init__.py:752
 msgid "Setting up Package Sacks"
 msgstr "Nustatomos paketų aibės"
 
-#: ../yum/__init__.py:705
+#: ../yum/__init__.py:797
 #, python-format
 msgid "repo object for repo %s lacks a _resetSack method\n"
 msgstr "saugyklos objektui %s trūksta metodo _resetSack\n"
 
-#: ../yum/__init__.py:706
+#: ../yum/__init__.py:798
 msgid "therefore this repo cannot be reset.\n"
 msgstr "todėl ši saugykla negali būti išjungta.\n"
 
-#: ../yum/__init__.py:711
+#: ../yum/__init__.py:806
 msgid "doUpdateSetup() will go away in a future version of Yum.\n"
 msgstr "doUpdateSetup() bus pašalinta ateities Yum versijose.\n"
 
-#: ../yum/__init__.py:723
+#: ../yum/__init__.py:818
 msgid "Building updates object"
 msgstr "Kuriami atnaujinimo objektai"
 
-#: ../yum/__init__.py:765
+#: ../yum/__init__.py:862
 msgid "doGroupSetup() will go away in a future version of Yum.\n"
 msgstr "doGroupSetup() bus pašalinta ateities Yum versijose.\n"
 
-#: ../yum/__init__.py:790
+#: ../yum/__init__.py:887
 msgid "Getting group metadata"
 msgstr "Gaunami grupės metaduomenys"
 
-#: ../yum/__init__.py:816
+#: ../yum/__init__.py:915
 #, python-format
 msgid "Adding group file from repository: %s"
 msgstr "Pridedamas grupės failas iš saugyklos: %s"
 
-#: ../yum/__init__.py:827
+#: ../yum/__init__.py:918
+#, python-format
+msgid "Failed to retrieve group file for repository: %s"
+msgstr ""
+
+#: ../yum/__init__.py:924
 #, python-format
 msgid "Failed to add groups file for repository: %s - %s"
 msgstr "Nepavyko pridėti grupių failo saugyklai: %s - %s"
 
-#: ../yum/__init__.py:833
+#: ../yum/__init__.py:930
 msgid "No Groups Available in any repository"
 msgstr "Nėra prieinamų grupių jokioje saugykloje"
 
-#: ../yum/__init__.py:845
+#: ../yum/__init__.py:945
 msgid "Getting pkgtags metadata"
 msgstr "Gaunami pkgtags metaduomenys"
 
-#: ../yum/__init__.py:855
+#: ../yum/__init__.py:955
 #, python-format
 msgid "Adding tags from repository: %s"
 msgstr "Pridedamos žymos iš saugyklos: %s"
 
-#: ../yum/__init__.py:866
+#: ../yum/__init__.py:966
 #, python-format
 msgid "Failed to add Pkg Tags for repository: %s - %s"
 msgstr "Nepavyko pridėti paketų žymų saugyklai: %s - %s"
 
-#: ../yum/__init__.py:944
+#: ../yum/__init__.py:1059
 msgid "Importing additional filelist information"
 msgstr "Importuojama papildoma failų sąrašų informacija"
 
-#: ../yum/__init__.py:958
+#: ../yum/__init__.py:1077
 #, python-format
 msgid "The program %s%s%s is found in the yum-utils package."
 msgstr "Programa %s%s%s rasta yum-utils pakete."
 
-#: ../yum/__init__.py:966
+#: ../yum/__init__.py:1094
 msgid ""
 "There are unfinished transactions remaining. You might consider running yum-"
 "complete-transaction first to finish them."
-msgstr ""
-"Yra likusių nebaigtų transakcijų. Jūs turbūt norite paleisti yum-complete-"
-"transaction joms užbaigti."
+msgstr "Yra likusių nebaigtų tranzakcijų. Jūs turbūt norite paleisti yum-complete-transaction joms užbaigti."
 
-#: ../yum/__init__.py:983
+#: ../yum/__init__.py:1111
 msgid "--> Finding unneeded leftover dependencies"
 msgstr "--> Randamos nereikalingos paliktos priklausomybės"
 
-#: ../yum/__init__.py:1041
+#: ../yum/__init__.py:1169
 #, python-format
 msgid "Protected multilib versions: %s != %s"
 msgstr "Apsaugotos daugiabibliokekės versijos: %s != %s"
 
-#: ../yum/__init__.py:1096
+#. People are confused about protected mutilib ... so give
+#. them a nicer message.
+#: ../yum/__init__.py:1173
+#, python-format
+msgid ""
+" Multilib version problems found. This often means that the root\n"
+"cause is something else and multilib version checking is just\n"
+"pointing out that there is a problem. Eg.:\n"
+"\n"
+"  1. You have an upgrade for %(name)s which is missing some\n"
+"     dependency that another package requires. Yum is trying to\n"
+"     solve this by installing an older version of %(name)s of the\n"
+"     different architecture. If you exclude the bad architecture\n"
+"     yum will tell you what the root cause is (which package\n"
+"     requires what). You can try redoing the upgrade with\n"
+"     --exclude %(name)s.otherarch ... this should give you an error\n"
+"     message showing the root cause of the problem.\n"
+"\n"
+"  2. You have multiple architectures of %(name)s installed, but\n"
+"     yum can only see an upgrade for one of those arcitectures.\n"
+"     If you don't want/need both architectures anymore then you\n"
+"     can remove the one with the missing update and everything\n"
+"     will work.\n"
+"\n"
+"  3. You have duplicate versions of %(name)s installed already.\n"
+"     You can use \"yum check\" to get yum show these errors.\n"
+"\n"
+"...you can also use --setopt=protected_multilib=false to remove\n"
+"this checking, however this is almost never the correct thing to\n"
+"do as something else is very likely to go wrong (often causing\n"
+"much more problems).\n"
+"\n"
+msgstr ""
+
+#: ../yum/__init__.py:1257
 #, python-format
 msgid "Trying to remove \"%s\", which is protected"
 msgstr "Bandoma pašalinti „%s“, kuris yra apsaugotas"
 
-#: ../yum/__init__.py:1217
+#: ../yum/__init__.py:1378
 msgid ""
 "\n"
 "Packages skipped because of dependency problems:"
-msgstr ""
-"\n"
-"Paketai, praleisti dėl priklausomybių problemų:"
+msgstr "\nPaketai, praleisti dėl priklausomybių problemų:"
 
-#: ../yum/__init__.py:1221
+#: ../yum/__init__.py:1382
 #, python-format
 msgid "    %s from %s"
 msgstr "    %s iš %s"
 
 #. FIXME: _N()
-#: ../yum/__init__.py:1391
+#: ../yum/__init__.py:1556
 #, python-format
 msgid "** Found %d pre-existing rpmdb problem(s), 'yum check' output follows:"
 msgstr "** Rasta %d esamų rpmdb problemų, „yum check“ išvestis:"
 
-#: ../yum/__init__.py:1395
+#: ../yum/__init__.py:1560
 msgid "Warning: RPMDB altered outside of yum."
 msgstr "Įspėjimas: RPMDB pakeista už yum ribų."
 
-#: ../yum/__init__.py:1407
+#: ../yum/__init__.py:1572
 msgid "missing requires"
 msgstr "trūksta reikalavimų"
 
-#: ../yum/__init__.py:1408
+#: ../yum/__init__.py:1573
 msgid "installed conflict"
 msgstr "įdiegtas konfliktas"
 
-#: ../yum/__init__.py:1525
+#: ../yum/__init__.py:1709
 msgid ""
 "Warning: scriptlet or other non-fatal errors occurred during transaction."
-msgstr ""
-"Įspėjimas: scenarijaus arba kitos negalutinės klaidos įvyko transakcijos "
-"metu."
+msgstr "Įspėjimas: scenarijaus arba kitos negalutinės klaidos įvyko tranzakcijos metu."
 
-#: ../yum/__init__.py:1535
+#: ../yum/__init__.py:1719
 msgid "Transaction couldn't start:"
-msgstr "Transakcijos paleisti nepavyko:"
+msgstr "Tranzakcijos paleisti nepavyko:"
 
 #. should this be 'to_unicoded'?
-#: ../yum/__init__.py:1538
+#: ../yum/__init__.py:1722
 msgid "Could not run transaction."
-msgstr "Nepavyko paleisti transakcijos."
+msgstr "Nepavyko paleisti tranzakcijos."
 
-#: ../yum/__init__.py:1552
+#: ../yum/__init__.py:1736
 #, python-format
 msgid "Failed to remove transaction file %s"
-msgstr "Nepavyko pašalinti transakcijos failo %s"
+msgstr "Nepavyko pašalinti tranzakcijos failo %s"
 
 #. maybe a file log here, too
 #. but raising an exception is not going to do any good
-#: ../yum/__init__.py:1590
+#: ../yum/__init__.py:1792
 #, python-format
 msgid "%s was supposed to be installed but is not!"
 msgstr "%s turėjo būti įdiegtas, bet nebuvo!"
 
 #. maybe a file log here, too
 #. but raising an exception is not going to do any good
-#: ../yum/__init__.py:1651
+#. Note: This actually triggers atm. because we can't
+#. always find the erased txmbr to set it when
+#. we should.
+#: ../yum/__init__.py:1869
 #, python-format
 msgid "%s was supposed to be removed but is not!"
 msgstr "%s turėjo būti pašalintas, bet nebuvo!"
 
-#: ../yum/__init__.py:1768
-#, python-format
-msgid "Could not open lock %s: %s"
-msgstr "Nepavyko atverti užrakto %s: %s"
-
-#. Whoa. What the heck happened?
-#: ../yum/__init__.py:1785
-#, python-format
-msgid "Unable to check if PID %s is active"
-msgstr "Nepavyksta patikrinti, ar PID %s yra aktyvus"
-
 #. Another copy seems to be running.
-#: ../yum/__init__.py:1789
+#: ../yum/__init__.py:2004
 #, python-format
 msgid "Existing lock %s: another copy is running as pid %s."
 msgstr "Esamas užraktas %s: kito kopija veikia kaip pid %s."
 
 #. Whoa. What the heck happened?
-#: ../yum/__init__.py:1830
+#: ../yum/__init__.py:2053
 #, python-format
 msgid "Could not create lock at %s: %s "
 msgstr "Nepavyko sukurti užrakto %s: %s"
 
-#: ../yum/__init__.py:1875
+#: ../yum/__init__.py:2065
+#, python-format
+msgid "Could not open lock %s: %s"
+msgstr "Nepavyko atverti užrakto %s: %s"
+
+#. The pid doesn't exist
+#. Whoa. What the heck happened?
+#: ../yum/__init__.py:2082
+#, python-format
+msgid "Unable to check if PID %s is active"
+msgstr "Nepavyksta patikrinti, ar PID %s yra aktyvus"
+
+#: ../yum/__init__.py:2132
 #, python-format
 msgid ""
 "Package does not match intended download. Suggestion: run yum "
 "--enablerepo=%s clean metadata"
-msgstr ""
-"Paketai nesutampa su pageidautu parsiuntimu. Pasiūlymas: paleisti yum "
-"--enablerepo=%s clean metadata"
+msgstr "Paketai nesutampa su pageidautu parsiuntimu. Pasiūlymas: paleisti yum --enablerepo=%s clean metadata"
 
-#: ../yum/__init__.py:1891
+#: ../yum/__init__.py:2155
 msgid "Could not perform checksum"
 msgstr "Nepavyko patikrinti kontrolinės sumos"
 
-#: ../yum/__init__.py:1894
+#: ../yum/__init__.py:2158
 msgid "Package does not match checksum"
 msgstr "Paketo kontrolinė suma nesutampa"
 
-#: ../yum/__init__.py:1946
+#: ../yum/__init__.py:2222
 #, python-format
 msgid "package fails checksum but caching is enabled for %s"
 msgstr "paketo kontrolinė suma nesutampa, bet %s podėlis yra įjungtas"
 
-#: ../yum/__init__.py:1949 ../yum/__init__.py:1979
+#: ../yum/__init__.py:2225 ../yum/__init__.py:2268
 #, python-format
 msgid "using local copy of %s"
 msgstr "naudojama vietinė %s kopija"
 
-#: ../yum/__init__.py:1991
-#, python-format
-msgid ""
-"Insufficient space in download directory %s\n"
-"    * free   %s\n"
-"    * needed %s"
+#. caller handles errors
+#: ../yum/__init__.py:2342
+msgid "exiting because --downloadonly specified"
 msgstr ""
-"Nepakanka vietos parsiuntimų kataloge %s\n"
-"    * laisva %s\n"
-"    * reikia %s"
 
-#: ../yum/__init__.py:2052
+#: ../yum/__init__.py:2371
 msgid "Header is not complete."
 msgstr "Antraštė nepilna."
 
-#: ../yum/__init__.py:2089
+#: ../yum/__init__.py:2411
 #, python-format
 msgid ""
 "Header not in local cache and caching-only mode enabled. Cannot download %s"
-msgstr ""
-"Antraštė ne vietiniame podėlyje, o tik podėlio veiksena yra įjungta. "
-"Negalima parsiūsti %s"
+msgstr "Antraštė ne vietiniame podėlyje, o tik podėlio veiksena yra įjungta. Negalima parsiūsti %s"
 
-#: ../yum/__init__.py:2147
+#: ../yum/__init__.py:2471
 #, python-format
 msgid "Public key for %s is not installed"
 msgstr "%s viešas raktas neįdiegtas"
 
-#: ../yum/__init__.py:2151
+#: ../yum/__init__.py:2475
 #, python-format
 msgid "Problem opening package %s"
 msgstr "Problema atveriant paketą %s"
 
-#: ../yum/__init__.py:2159
+#: ../yum/__init__.py:2483
 #, python-format
 msgid "Public key for %s is not trusted"
 msgstr "%s viešasis raktas nepatikimas"
 
-#: ../yum/__init__.py:2163
+#: ../yum/__init__.py:2487
 #, python-format
 msgid "Package %s is not signed"
 msgstr "Paketas %s nepasirašytas"
 
-#: ../yum/__init__.py:2202
+#: ../yum/__init__.py:2529
 #, python-format
 msgid "Cannot remove %s"
 msgstr "Nepavyksta pašalinti %s"
 
-#: ../yum/__init__.py:2206
+#: ../yum/__init__.py:2533
 #, python-format
 msgid "%s removed"
 msgstr "%s pašalintas"
 
-#: ../yum/__init__.py:2252
+#: ../yum/__init__.py:2594
 #, python-format
 msgid "Cannot remove %s file %s"
 msgstr "Nepavyksta pašalinti %s failo %s"
 
-#: ../yum/__init__.py:2256
+#: ../yum/__init__.py:2598
 #, python-format
 msgid "%s file %s removed"
 msgstr "%s failas %s pašalintas"
 
-#: ../yum/__init__.py:2258
+#: ../yum/__init__.py:2600
 #, python-format
-msgid "%d %s files removed"
-msgstr "%d %s failai pašalinti"
+msgid "%d %s file removed"
+msgid_plural "%d %s files removed"
+msgstr[0] "%d %s failas pašalintas"
+msgstr[1] "%d %s failai pašalintas"
+msgstr[2] "%d %s failų pašalintas"
 
-#: ../yum/__init__.py:2327
+#: ../yum/__init__.py:2712
 #, python-format
 msgid "More than one identical match in sack for %s"
 msgstr "Daugiau nei vienas identiškas atitikmuo ieškomam %s"
 
-#: ../yum/__init__.py:2333
+#: ../yum/__init__.py:2718
 #, python-format
 msgid "Nothing matches %s.%s %s:%s-%s from update"
 msgstr "Nėra %s.%s %s:%s-%s atitikmenų atnaujinime"
 
-#: ../yum/__init__.py:2632
+#: ../yum/__init__.py:3096
 msgid ""
 "searchPackages() will go away in a future version of Yum."
 "                      Use searchGenerator() instead. \n"
-msgstr ""
-"searchPackages() bus pašalinta ateities Yum versijose.                      "
-"Naudokite searchGenerator(). \n"
+msgstr "searchPackages() bus pašalinta ateities Yum versijose.                      Naudokite searchGenerator(). \n"
 
-#: ../yum/__init__.py:2675
+#: ../yum/__init__.py:3149
 #, python-format
-msgid "Searching %d packages"
-msgstr "Ieškoma %d paketų"
+msgid "Searching %d package"
+msgid_plural "Searching %d packages"
+msgstr[0] "Ieškoma %d paketo"
+msgstr[1] "Ieškoma %d paketų"
+msgstr[2] "Ieškoma %d paketų"
 
-#: ../yum/__init__.py:2679
+#: ../yum/__init__.py:3153
 #, python-format
 msgid "searching package %s"
 msgstr "ieškoma paketo %s"
 
-#: ../yum/__init__.py:2691
+#: ../yum/__init__.py:3165
 msgid "searching in file entries"
 msgstr "ieškoma failų įrašuose"
 
-#: ../yum/__init__.py:2698
+#: ../yum/__init__.py:3172
 msgid "searching in provides entries"
 msgstr "ieškoma teikimo įrašuose"
 
-#: ../yum/__init__.py:2777
+#: ../yum/__init__.py:3369
 msgid "No group data available for configured repositories"
 msgstr "Nėra prieinamų grupių duomenų nustatytose saugyklose"
 
-#: ../yum/__init__.py:2808 ../yum/__init__.py:2827 ../yum/__init__.py:2858
-#: ../yum/__init__.py:2864 ../yum/__init__.py:2953 ../yum/__init__.py:2957
-#: ../yum/__init__.py:3339
+#: ../yum/__init__.py:3466 ../yum/__init__.py:3500 ../yum/__init__.py:3576
+#: ../yum/__init__.py:3582 ../yum/__init__.py:3719 ../yum/__init__.py:3723
+#: ../yum/__init__.py:4298
 #, python-format
 msgid "No Group named %s exists"
 msgstr "Nėra grupės %s"
 
-#: ../yum/__init__.py:2839 ../yum/__init__.py:2973
+#: ../yum/__init__.py:3512 ../yum/__init__.py:3740
 #, python-format
 msgid "package %s was not marked in group %s"
 msgstr "paketas %s nebuvo pažymėtas grupėje %s"
 
-#: ../yum/__init__.py:2887
+#. (upgrade and igroup_data[pkg] == 'available')):
+#: ../yum/__init__.py:3622
+#, python-format
+msgid "Skipping package %s from group %s"
+msgstr "Praleidžiamas paketas %s iš grupės %s"
+
+#: ../yum/__init__.py:3628
 #, python-format
 msgid "Adding package %s from group %s"
 msgstr "Pridedamas paketas %s iš grupės %s"
 
-#: ../yum/__init__.py:2891
+#: ../yum/__init__.py:3649
 #, python-format
 msgid "No package named %s available to be installed"
 msgstr "Nėra paketo %s, prieinamo diegimui"
 
-#: ../yum/__init__.py:2941
+#: ../yum/__init__.py:3702
 #, python-format
-msgid "Warning: Group %s does not have any packages."
-msgstr "Įspėjimas: grupė %s neturi jokių paketų."
+msgid "Warning: Group %s does not have any packages to install."
+msgstr ""
 
-#: ../yum/__init__.py:2943
+#: ../yum/__init__.py:3704
 #, python-format
 msgid "Group %s does have %u conditional packages, which may get installed."
 msgstr "Grupė %s turi %u sąlyginių paketų, kurie gali būti įdiegti."
 
+#: ../yum/__init__.py:3794
+#, python-format
+msgid "Skipping group %s from environment %s"
+msgstr ""
+
 #. This can happen due to excludes after .up has
 #. happened.
-#: ../yum/__init__.py:3002
+#: ../yum/__init__.py:3858
 #, python-format
 msgid "Package tuple %s could not be found in packagesack"
 msgstr "Nepavyksta rasti paketų rinkinio %s krepšyje"
 
-#: ../yum/__init__.py:3022
+#: ../yum/__init__.py:3886
 #, python-format
 msgid "Package tuple %s could not be found in rpmdb"
 msgstr "Nepavyksta rasti paketų rinkinio %s rpmdb"
 
-#: ../yum/__init__.py:3079 ../yum/__init__.py:3129
+#: ../yum/__init__.py:3949 ../yum/__init__.py:4012
 #, python-format
 msgid "Invalid version flag from: %s"
 msgstr "Netinkamas versijos požymis iš: %s"
 
-#: ../yum/__init__.py:3096 ../yum/__init__.py:3101
+#: ../yum/__init__.py:3973 ../yum/__init__.py:3979 ../yum/__init__.py:4036
+#: ../yum/__init__.py:4042
 #, python-format
 msgid "No Package found for %s"
 msgstr "Nerastas paketas %s"
 
-#: ../yum/__init__.py:3401
+#: ../yum/__init__.py:4245 ../yum/__init__.py:4274
+#, python-format
+msgid "Warning: Environment Group %s does not exist."
+msgstr ""
+
+#: ../yum/__init__.py:4397
+#, python-format
+msgid "Package: %s - can't co-install with %s"
+msgstr ""
+
+#: ../yum/__init__.py:4437
 msgid "Package Object was not a package object instance"
 msgstr "Paketo objektas nebuvo paketo objekto egzempliorius"
 
-#: ../yum/__init__.py:3405
+#: ../yum/__init__.py:4441
 msgid "Nothing specified to install"
 msgstr "Nieko nenurodyta įdiegti"
 
-#: ../yum/__init__.py:3424 ../yum/__init__.py:4283
+#: ../yum/__init__.py:4465 ../yum/__init__.py:5410
 #, python-format
 msgid "Checking for virtual provide or file-provide for %s"
 msgstr "Tikrinamas virtualus tiekimas arba failo tiekimas %s"
 
-#: ../yum/__init__.py:3430 ../yum/__init__.py:3775 ../yum/__init__.py:3969
-#: ../yum/__init__.py:4289
-#, python-format
-msgid "No Match for argument: %s"
-msgstr "Nėra atitikmens argumentui: %s"
-
-#: ../yum/__init__.py:3507
+#: ../yum/__init__.py:4542
 #, python-format
 msgid "Package %s installed and not available"
 msgstr "Paketas %s įdiegtas ir neprieinamas"
 
-#: ../yum/__init__.py:3510
+#: ../yum/__init__.py:4545
 msgid "No package(s) available to install"
 msgstr "Nėra paketo(-ų), prieinamo diegimui"
 
-#: ../yum/__init__.py:3522
+#: ../yum/__init__.py:4557
 #, python-format
 msgid "Package: %s  - already in transaction set"
-msgstr "Paketas: %s - jau transakcijos aibėje"
+msgstr "Paketas: %s - jau tranzakcijos aibėje"
 
-#: ../yum/__init__.py:3550
+#: ../yum/__init__.py:4589
 #, python-format
 msgid "Package %s is obsoleted by %s which is already installed"
 msgstr "Paketas %s yra pažymėtas pasenusiu paketo %s, kuris jau įdiegtas"
 
-#: ../yum/__init__.py:3555
+#: ../yum/__init__.py:4594
 #, python-format
 msgid ""
 "Package %s is obsoleted by %s, but obsoleting package does not provide for "
 "requirements"
-msgstr ""
-"Paketas %s pažymėtas pasenusiu paketo %s, bet žymėjimas pasenusiu neatitinka"
-" reikalavimų"
+msgstr "Paketas %s pažymėtas pasenusiu paketo %s, bet žymėjimas pasenusiu neatitinka reikalavimų"
 
-#: ../yum/__init__.py:3558
+#: ../yum/__init__.py:4597
 #, python-format
 msgid "Package %s is obsoleted by %s, trying to install %s instead"
 msgstr "Paketas %s pažymėtas pasenusiu paketo %s, todėl bandoma įdiegti %s"
 
-#: ../yum/__init__.py:3566
+#: ../yum/__init__.py:4605
 #, python-format
 msgid "Package %s already installed and latest version"
 msgstr "Paketas %s jau įdiegtas ir paskutinės versijos"
 
-#: ../yum/__init__.py:3580
+#: ../yum/__init__.py:4619
 #, python-format
 msgid "Package matching %s already installed. Checking for update."
 msgstr "Paketas, atitinkantis %s, jau įdiegtas. Tikrinamas atnaujinimas."
 
 #. update everything (the easy case)
-#: ../yum/__init__.py:3684
+#: ../yum/__init__.py:4751
 msgid "Updating Everything"
 msgstr "Atnaujinti viską"
 
-#: ../yum/__init__.py:3708 ../yum/__init__.py:3849 ../yum/__init__.py:3879
-#: ../yum/__init__.py:3915
+#: ../yum/__init__.py:4775 ../yum/__init__.py:4930 ../yum/__init__.py:4975
+#: ../yum/__init__.py:5011
 #, python-format
 msgid "Not Updating Package that is already obsoleted: %s.%s %s:%s-%s"
 msgstr "Neatnaujinamas paketas, kuris jau yra pasenęs: %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3753 ../yum/__init__.py:3965
+#: ../yum/__init__.py:4830 ../yum/__init__.py:5072
 #, python-format
 msgid "%s"
 msgstr "%s"
 
-#: ../yum/__init__.py:3838
+#: ../yum/__init__.py:4854 ../yum/__init__.py:5080 ../yum/__init__.py:5416
+#, python-format
+msgid "No Match for argument: %s"
+msgstr "Nėra atitikmens argumentui: %s"
+
+#: ../yum/__init__.py:4872
+#, python-format
+msgid "No package matched to upgrade: %s"
+msgstr "Nerasta paketo atnaujinimui: %s"
+
+#: ../yum/__init__.py:4919
 #, python-format
 msgid "Package is already obsoleted: %s.%s %s:%s-%s"
 msgstr "Paketas jau yra pasenęs: %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3874
+#: ../yum/__init__.py:4970
 #, python-format
 msgid "Not Updating Package that is obsoleted: %s"
 msgstr "Neatnaujinamas paketas, kuris yra pasenęs: %s"
 
-#: ../yum/__init__.py:3883 ../yum/__init__.py:3919
+#: ../yum/__init__.py:4979 ../yum/__init__.py:5015
 #, python-format
 msgid "Not Updating Package that is already updated: %s.%s %s:%s-%s"
 msgstr "Neatnaujinamas paketas, kuris jau yra atnaujintas: %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3982
-msgid "No package matched to remove"
-msgstr "Nėra paketo atitikmens pašalinimui"
+#: ../yum/__init__.py:5093
+#, python-format
+msgid "No package matched to remove: %s"
+msgstr "Nerasta paketo pašalinimui: %s"
 
-#: ../yum/__init__.py:3988
+#: ../yum/__init__.py:5099
 #, python-format
 msgid "Skipping the running kernel: %s"
 msgstr "Praleidžiama ir vykdomas branduolys: %s"
 
-#: ../yum/__init__.py:3994
+#: ../yum/__init__.py:5105
 #, python-format
 msgid "Removing %s from the transaction"
-msgstr "Pašalinamas %s iš transakcijos"
+msgstr "Pašalinamas %s iš tranzakcijos"
 
-#: ../yum/__init__.py:4029
+#: ../yum/__init__.py:5142
 #, python-format
 msgid "Cannot open: %s. Skipping."
 msgstr "Nepavyksta atverti: %s. Praleidžiama."
 
-#: ../yum/__init__.py:4032 ../yum/__init__.py:4150 ../yum/__init__.py:4226
+#: ../yum/__init__.py:5145 ../yum/__init__.py:5262 ../yum/__init__.py:5347
 #, python-format
 msgid "Examining %s: %s"
 msgstr "Tikrinama %s: %s"
 
-#: ../yum/__init__.py:4036
+#: ../yum/__init__.py:5149
 #, python-format
 msgid "Cannot localinstall deltarpm: %s. Skipping."
 msgstr "Nepavyksta vietinis deltarpm diegimas: %s. Praleidžiama."
 
-#: ../yum/__init__.py:4045 ../yum/__init__.py:4153 ../yum/__init__.py:4229
+#: ../yum/__init__.py:5158 ../yum/__init__.py:5265 ../yum/__init__.py:5350
 #, python-format
 msgid ""
 "Cannot add package %s to transaction. Not a compatible architecture: %s"
-msgstr ""
-"Nepavyksta pridėti paketo %s į transakciją. Nesuderinama architektūra: %s"
+msgstr "Nepavyksta pridėti paketo %s į tranzakciją. Nesuderinama architektūra: %s"
 
-#: ../yum/__init__.py:4051
+#: ../yum/__init__.py:5164
 #, python-format
 msgid "Cannot install package %s. It is obsoleted by installed package %s"
-msgstr ""
-"Nepavyksta įdiegti paketo %s. Jis pažymėtas pasenusiu įdiegto paketo %s"
+msgstr "Nepavyksta įdiegti paketo %s. Jis pažymėtas pasenusiu įdiegto paketo %s"
 
-#: ../yum/__init__.py:4059
+#: ../yum/__init__.py:5172
 #, python-format
 msgid ""
 "Package %s not installed, cannot update it. Run yum install to install it "
 "instead."
-msgstr ""
-"Paketas %s neįdiegtas, negalima jo atnaujinti. Paleiskite yum install jo "
-"įdiegimui."
+msgstr "Paketas %s neįdiegtas, negalima jo atnaujinti. Paleiskite yum install jo įdiegimui."
 
-#: ../yum/__init__.py:4078 ../yum/__init__.py:4085
+#: ../yum/__init__.py:5191 ../yum/__init__.py:5198
 #, python-format
 msgid ""
 "Package %s.%s not installed, cannot update it. Run yum install to install it"
 " instead."
-msgstr ""
-"Paketas %s.%s neįdiegtas, negalima jo atnaujinti. Paleiskite yum install jam"
-" įdiegti."
+msgstr "Paketas %s.%s neįdiegtas, negalima jo atnaujinti. Paleiskite yum install jam įdiegti."
 
-#: ../yum/__init__.py:4094 ../yum/__init__.py:4158 ../yum/__init__.py:4234
+#: ../yum/__init__.py:5207 ../yum/__init__.py:5270 ../yum/__init__.py:5355
 #, python-format
 msgid "Excluding %s"
 msgstr "Išskiriamas %s"
 
-#: ../yum/__init__.py:4099
+#: ../yum/__init__.py:5212
 #, python-format
 msgid "Marking %s to be installed"
 msgstr "Žymimas %s įdiegimui"
 
-#: ../yum/__init__.py:4105
+#: ../yum/__init__.py:5218
 #, python-format
 msgid "Marking %s as an update to %s"
 msgstr "Žymimas %s kaip %s atnaujinimas"
 
-#: ../yum/__init__.py:4112
+#: ../yum/__init__.py:5225
 #, python-format
 msgid "%s: does not update installed package."
 msgstr "%s: neatnaujina įdiegto paketo."
 
-#: ../yum/__init__.py:4147 ../yum/__init__.py:4223
+#: ../yum/__init__.py:5259 ../yum/__init__.py:5344
 #, python-format
 msgid "Cannot open file: %s. Skipping."
 msgstr "Nepavyksta atverti failo: %s. Praleidžiama."
 
-#: ../yum/__init__.py:4177
+#: ../yum/__init__.py:5299
 msgid "Problem in reinstall: no package matched to remove"
 msgstr "Perdiegimo problema: nėra paketo atitikmens pašalinimui"
 
-#: ../yum/__init__.py:4203
+#: ../yum/__init__.py:5325
 #, python-format
 msgid "Problem in reinstall: no package %s matched to install"
 msgstr "Perdiegimo problema: nėra paketo %s atitikmens diegimui"
 
-#: ../yum/__init__.py:4311
+#: ../yum/__init__.py:5438
 msgid "No package(s) available to downgrade"
 msgstr "Nėra paketo(-ų) grąžinimui"
 
-#: ../yum/__init__.py:4319
+#: ../yum/__init__.py:5446
 #, python-format
 msgid "Package %s is allowed multiple installs, skipping"
 msgstr "Paketas %s leidžia daugkartinius diegimus, praleidžiama"
 
-#: ../yum/__init__.py:4365
+#: ../yum/__init__.py:5496
 #, python-format
 msgid "No Match for available package: %s"
 msgstr "Nėra atitikmens prieinamam paketui: %s"
 
-#: ../yum/__init__.py:4372
+#: ../yum/__init__.py:5506
 #, python-format
 msgid "Only Upgrade available on package: %s"
 msgstr "Tik atnaujinimas yra prieinamas paketui: %s"
 
-#: ../yum/__init__.py:4442 ../yum/__init__.py:4479
+#: ../yum/__init__.py:5619 ../yum/__init__.py:5686
 #, python-format
 msgid "Failed to downgrade: %s"
 msgstr "Nepavyko grąžinti: %s"
 
-#: ../yum/__init__.py:4516
+#: ../yum/__init__.py:5636 ../yum/__init__.py:5692
+#, python-format
+msgid "Failed to upgrade: %s"
+msgstr "Nepavyko atnaujinti: %s"
+
+#: ../yum/__init__.py:5725
 #, python-format
 msgid "Retrieving key from %s"
 msgstr "Gaunamas raktas iš %s"
 
-#: ../yum/__init__.py:4534
+#: ../yum/__init__.py:5743
 msgid "GPG key retrieval failed: "
 msgstr "GPG rakto gavimas nepavyko: "
 
 #. if we decide we want to check, even though the sig failed
 #. here is where we would do that
-#: ../yum/__init__.py:4557
+#: ../yum/__init__.py:5766
 #, python-format
 msgid "GPG key signature on key %s does not match CA Key for repo: %s"
 msgstr "GPG rakto parašas raktui %s neatitinka saugyklos CA rakto: %s"
 
-#: ../yum/__init__.py:4559
+#: ../yum/__init__.py:5768
 msgid "GPG key signature verified against CA Key(s)"
 msgstr "GPG rakto parašas patikrinas su CA raktu(-ais)."
 
-#: ../yum/__init__.py:4567
+#: ../yum/__init__.py:5776
 #, python-format
 msgid "Invalid GPG Key from %s: %s"
 msgstr "Netinkamas GPG raktas iš %s: %s"
 
-#: ../yum/__init__.py:4576
+#: ../yum/__init__.py:5785
 #, python-format
 msgid "GPG key parsing failed: key does not have value %s"
 msgstr "GPG rakto skaitymas nepavyko: raktas neturi %s reikšmės"
 
-#: ../yum/__init__.py:4592
+#: ../yum/__init__.py:5801
 #, python-format
 msgid ""
 "Importing %s key 0x%s:\n"
-" Userid : %s\n"
-" Package: %s (%s)\n"
-" From   : %s"
-msgstr ""
-"Importuojamas %s raktas 0x%s:\n"
-" Naudotojo id: %s\n"
-" Paketas     : %s (%s)\n"
-" Iš          : %s"
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" Package    : %s (%s)\n"
+" From       : %s"
+msgstr "Importuojamas %s raktas 0x%s:\n Naudotojas : „%s“\n Atspaudas  : %s\n Paketas    : %s (%s)\n Iš         : %s"
 
-#: ../yum/__init__.py:4600
+#: ../yum/__init__.py:5811
 #, python-format
 msgid ""
 "Importing %s key 0x%s:\n"
-" Userid: \"%s\"\n"
-" From  : %s"
-msgstr ""
-"Importuojamas %s raktas 0x%s:\n"
-" Naudotojo id: \"%s\"\n"
-" Iš          : %s"
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" From       : %s"
+msgstr "Importuojamas %s raktas 0x%s:\n Naudotojas : „%s“\n Atspaudas  : %s\n Iš         : %s"
+
+#: ../yum/__init__.py:5839
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" Failing package is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr "\n\n\n Nepavykęs paketas: %s\n GPG raktai yra sukonfigūruoti kaip: %s\n"
 
-#: ../yum/__init__.py:4634
+#: ../yum/__init__.py:5853
 #, python-format
 msgid "GPG key at %s (0x%s) is already installed"
 msgstr "GPG raktas iš %s (0x%s) jau įdiegtas"
 
-#: ../yum/__init__.py:4671
+#: ../yum/__init__.py:5891
 #, python-format
 msgid "Key import failed (code %d)"
 msgstr "Rakto importas neapvyko (kodas %d)"
 
-#: ../yum/__init__.py:4672 ../yum/__init__.py:4755
+#: ../yum/__init__.py:5893 ../yum/__init__.py:5994
 msgid "Key imported successfully"
 msgstr "Raktas sėkmingai importuotas"
 
-#: ../yum/__init__.py:4676
+#: ../yum/__init__.py:5897
 msgid "Didn't install any keys"
 msgstr "Neįdiegta jokių raktų"
 
-#: ../yum/__init__.py:4680
+#: ../yum/__init__.py:5900
 #, python-format
 msgid ""
 "The GPG keys listed for the \"%s\" repository are already installed but they are not correct for this package.\n"
 "Check that the correct key URLs are configured for this repository."
-msgstr ""
-"GPG raktai, išvardinti „%s“ saugyklai, jau yra įdiegti, bet nėra teisingi šiam paketui.\n"
-"Patikrinkite, ar teisingi URL yra nustatyti šiai saugyklai."
+msgstr "GPG raktai, išvardinti „%s“ saugyklai, jau yra įdiegti, bet nėra teisingi šiam paketui.\nPatikrinkite, ar teisingi URL yra nustatyti šiai saugyklai."
 
-#: ../yum/__init__.py:4689
+#: ../yum/__init__.py:5910
 msgid "Import of key(s) didn't help, wrong key(s)?"
 msgstr "Rakto(-ų) importas nepadėjo, neteisingas(-i) raktas(-ai)?"
 
-#: ../yum/__init__.py:4713
+#: ../yum/__init__.py:5932
+msgid "No"
+msgstr "Ne"
+
+#: ../yum/__init__.py:5934
+msgid "Yes"
+msgstr "Taip"
+
+#: ../yum/__init__.py:5935
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" CA Key: %s\n"
+" Failing repo is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr "\n\n\n CA raktas: %s\n Nepavykusi saugykla: %s\n GPG raktai yra sukonfigūruoti kaip: %s\n"
+
+#: ../yum/__init__.py:5948
 #, python-format
 msgid "GPG key at %s (0x%s) is already imported"
 msgstr "GPG raktas iš %s (0x%s) jau importuotas"
 
-#: ../yum/__init__.py:4754
-msgid "Key import failed"
-msgstr "Rakto importas nepavyko"
+#: ../yum/__init__.py:5992
+#, python-format
+msgid "Key %s import failed"
+msgstr "Rakto %s importavimas nepavyko"
 
-#: ../yum/__init__.py:4770
+#: ../yum/__init__.py:6009
 #, python-format
 msgid "Didn't install any keys for repo %s"
 msgstr "Neįdiegta jokių raktų saugyklai %s"
 
-#: ../yum/__init__.py:4774
+#: ../yum/__init__.py:6014
 #, python-format
 msgid ""
 "The GPG keys listed for the \"%s\" repository are already installed but they are not correct.\n"
 "Check that the correct key URLs are configured for this repository."
-msgstr ""
-"GPG raktai, išvardinti „%s“ saugyklai, jau yra įdiegti, bet nėra teisingi.\n"
-"Patikrinkite, ar teisingi URL yra nustatyti šiai saugyklai."
+msgstr "GPG raktai, išvardinti „%s“ saugyklai, jau yra įdiegti, bet nėra teisingi.\nPatikrinkite, ar teisingi URL yra nustatyti šiai saugyklai."
 
-#: ../yum/__init__.py:4924
+#: ../yum/__init__.py:6172
 msgid "Unable to find a suitable mirror."
 msgstr "Nepavyksta rasti tinkamos dubliuojančios tinklavietės."
 
-#: ../yum/__init__.py:4926
+#: ../yum/__init__.py:6174
 msgid "Errors were encountered while downloading packages."
 msgstr "Kilo klaidų parsiunčiant paketus."
 
-#: ../yum/__init__.py:4981
+#: ../yum/__init__.py:6229
 #, python-format
 msgid "Please report this error at %s"
 msgstr "Praneškite apie šią klaidą adresu %s"
 
-#: ../yum/__init__.py:4998
+#: ../yum/__init__.py:6246
 msgid "Test Transaction Errors: "
-msgstr "Transakcijos testavimo klaidos: "
+msgstr "Tranzakcijos testavimo klaidos: "
 
-#: ../yum/__init__.py:5098
+#: ../yum/__init__.py:6358
 #, python-format
 msgid "Could not set cachedir: %s"
 msgstr "Nepavyko nustatyti podėlio katalogo: %s"
 
-#: ../yum/__init__.py:5148 ../yum/__init__.py:5150
+#: ../yum/__init__.py:6420 ../yum/__init__.py:6422
 msgid "Dependencies not solved. Will not save unresolved transaction."
-msgstr "Priklausomybės neįšspręsto. Neišsaugoma neišspręsta transakcija."
+msgstr "Priklausomybės neįšspręsto. Neišsaugoma neišspręsta tranzakcija."
 
-#: ../yum/__init__.py:5179 ../yum/__init__.py:5181
+#: ../yum/__init__.py:6455 ../yum/__init__.py:6457
 #, python-format
 msgid "Could not save transaction file %s: %s"
-msgstr "Nepavyko išsaugoti transakcijos į failą %s: %s"
+msgstr "Nepavyko išsaugoti tranzakcijos į failą %s: %s"
 
-#: ../yum/__init__.py:5195
+#: ../yum/__init__.py:6483
 #, python-format
 msgid "Could not access/read saved transaction %s : %s"
-msgstr "Nepavyko pasiekti/perskaityti išsaugotos transakcijos %s : %s"
-
-#: ../yum/__init__.py:5214
-msgid "rpmdb ver mismatched saved transaction version, "
-msgstr "rpmdb versija nesutampa su išsaugotos transakcijos versija, "
-
-#: ../yum/__init__.py:5216
-msgid " ignoring, as requested."
-msgstr " nepaisoma, kaip nurodyta."
+msgstr "Nepavyko pasiekti/perskaityti išsaugotos tranzakcijos %s : %s"
 
-#: ../yum/__init__.py:5219 ../yum/__init__.py:5354
-msgid " aborting."
-msgstr " atšaukiama."
+#: ../yum/__init__.py:6521
+msgid "rpmdb ver mismatched saved transaction version,"
+msgstr ""
 
-#: ../yum/__init__.py:5228
+#: ../yum/__init__.py:6535
 msgid "cannot find tsflags or tsflags not integer."
 msgstr "nepavyksta rasti tsflags arba tai nėra sveikas skaičius."
 
-#: ../yum/__init__.py:5267
+#: ../yum/__init__.py:6584
 #, python-format
 msgid "Found txmbr in unknown current state: %s"
 msgstr "Rastas txmbr nežinomoje būsenoje: %s"
 
-#: ../yum/__init__.py:5271
+#: ../yum/__init__.py:6588
 #, python-format
 msgid "Could not find txmbr: %s in state %s"
 msgstr "Nepavyksta rasti txmbr: %s būsenoje %s"
 
-#: ../yum/__init__.py:5307 ../yum/__init__.py:5324
+#: ../yum/__init__.py:6625 ../yum/__init__.py:6642
 #, python-format
 msgid "Could not find txmbr: %s from origin: %s"
 msgstr "Nepavyksta rasti txmbr: %s iš šaltinio: %s"
 
-#: ../yum/__init__.py:5349
+#: ../yum/__init__.py:6667
 msgid "Transaction members, relations are missing or ts has been modified,"
-msgstr "Trūksta transakcijos narių, ryšių arba transakcija buvo pakeista,"
+msgstr "Trūksta tranzakcijos narių, ryšių arba transakcija buvo pakeista,"
 
-#: ../yum/__init__.py:5351
+#: ../yum/__init__.py:6670
 msgid " ignoring, as requested. You must redepsolve!"
 msgstr " nepaisoma, kaip nurodyta. Jūs turite išspręsti priklausomybes!"
 
+#. Debugging output
+#: ../yum/__init__.py:6738 ../yum/__init__.py:6757
+#, python-format
+msgid "%s has been visited already and cannot be removed."
+msgstr "%s jau buvo aplankytas ir negali būti pašalintas."
+
+#. Debugging output
+#: ../yum/__init__.py:6741
+#, python-format
+msgid "Examining revdeps of %s"
+msgstr "Tikrinama %s revdeps"
+
+#. Debugging output
+#: ../yum/__init__.py:6762
+#, python-format
+msgid "%s has revdep %s which was user-installed."
+msgstr "%s turi revdep %s, kuri yra naudotojo įdiegta."
+
+#: ../yum/__init__.py:6773 ../yum/__init__.py:6779
+#, python-format
+msgid "%s is needed by a package to be installed."
+msgstr ""
+
+#. Debugging output
+#: ../yum/__init__.py:6793
+#, python-format
+msgid "%s has no user-installed revdeps."
+msgstr "%s neturi naudotojo įdiegtų revdeps."
+
 #. Mostly copied from YumOutput._outKeyValFill()
-#: ../yum/plugins.py:209
+#: ../yum/plugins.py:212
 msgid "Loaded plugins: "
 msgstr "Įkelti įskiepiai: "
 
-#: ../yum/plugins.py:223 ../yum/plugins.py:229
+#: ../yum/plugins.py:226 ../yum/plugins.py:232
 #, python-format
 msgid "No plugin match for: %s"
 msgstr "Nėra įskiepio atitikmens : %s"
 
-#: ../yum/plugins.py:259
+#: ../yum/plugins.py:262
 #, python-format
 msgid "Not loading \"%s\" plugin, as it is disabled"
 msgstr "Neįkeliamas įskiepis „%s“, nes jis išjungtas"
 
 #. Give full backtrace:
-#: ../yum/plugins.py:271
+#: ../yum/plugins.py:274
 #, python-format
 msgid "Plugin \"%s\" can't be imported"
 msgstr "Įskiepis „%s“ negali būti importuotas"
 
-#: ../yum/plugins.py:278
+#: ../yum/plugins.py:281
 #, python-format
 msgid "Plugin \"%s\" doesn't specify required API version"
 msgstr "Įskiepis „%s“ nenurodo reikalingos API versijos"
 
-#: ../yum/plugins.py:283
+#: ../yum/plugins.py:286
 #, python-format
 msgid "Plugin \"%s\" requires API %s. Supported API is %s."
 msgstr "Įskiepis „%s“ reikalauja API %s. Palaikoma API yra %s."
 
-#: ../yum/plugins.py:316
+#: ../yum/plugins.py:319
 #, python-format
 msgid "Loading \"%s\" plugin"
 msgstr "Įkeliamas įskiepis „%s“"
 
-#: ../yum/plugins.py:323
+#: ../yum/plugins.py:326
 #, python-format
 msgid "Two or more plugins with the name \"%s\" exist in the plugin search path"
-msgstr ""
-"Vienas ar daugiau įskiepių pavadinimu „%s“ yra įskiepių ieškojimo kelyje"
+msgstr "Vienas ar daugiau įskiepių pavadinimu „%s“ yra įskiepių ieškojimo kelyje"
 
-#: ../yum/plugins.py:343
+#: ../yum/plugins.py:346
 #, python-format
 msgid "Configuration file %s not found"
 msgstr "Konfigūracijos failas %s nerastas"
 
 #. for
 #. Configuration files for the plugin not found
-#: ../yum/plugins.py:346
+#: ../yum/plugins.py:349
 #, python-format
 msgid "Unable to find configuration file for plugin %s"
 msgstr "Nepavyksta rasti konfigūracijos failo įskiepiui %s"
 
-#: ../yum/plugins.py:508
+#: ../yum/plugins.py:553
 msgid "registration of commands not supported"
 msgstr "komandų registravimas nepalaikomas"
 
-#: ../yum/rpmsack.py:148
+#: ../yum/rpmsack.py:159
 msgid "has missing requires of"
 msgstr "turi trūkstamų reikalavimų"
 
-#: ../yum/rpmsack.py:151
+#: ../yum/rpmsack.py:162
 msgid "has installed conflicts"
 msgstr "turi įdiegtų konfliktų"
 
-#: ../yum/rpmsack.py:160
+#: ../yum/rpmsack.py:171
 #, python-format
 msgid "%s is a duplicate with %s"
 msgstr "%s yra %s dublikatas"
 
-#: ../yum/rpmsack.py:168
+#: ../yum/rpmsack.py:179
 #, python-format
 msgid "%s is obsoleted by %s"
 msgstr "%s yra apžymėtas pasenusio paketo %s"
 
-#: ../yum/rpmsack.py:176
+#: ../yum/rpmsack.py:187
 #, python-format
 msgid "%s provides %s but it cannot be found"
 msgstr "%s teikia %s, bet nepavyksta jo rasti"
@@ -3148,6 +3476,23 @@ msgstr "%s teikia %s, bet nepavyksta jo rasti"
 msgid "Repackaging"
 msgstr "Perpakuojama"
 
+#: ../yum/rpmtrans.py:149
+#, python-format
+msgid "Verify: %u/%u: %s"
+msgstr "Patikrinti: %u/%u: %s"
+
+#: ../yum/yumRepo.py:919
+#, python-format
+msgid ""
+"Insufficient space in download directory %s\n"
+"    * free   %s\n"
+"    * needed %s"
+msgstr "Nepakanka vietos parsiuntimų kataloge %s\n    * laisva %s\n    * reikia %s"
+
+#: ../yum/yumRepo.py:986
+msgid "Package does not match intended download."
+msgstr ""
+
 #: ../rpmUtils/oldUtils.py:33
 #, python-format
 msgid "Header cannot be opened or does not match %s, %s."
@@ -3160,8 +3505,7 @@ msgstr "RPM %s neatitinka md5 tikrinimo"
 
 #: ../rpmUtils/oldUtils.py:151
 msgid "Could not open RPM database for reading. Perhaps it is already in use?"
-msgstr ""
-"Nepavyksta atverti RPM duomenų bazės skaitymui. Galbūt ji jau naudojama?"
+msgstr "Nepavyksta atverti RPM duomenų bazės skaitymui. Galbūt ji jau naudojama?"
 
 #: ../rpmUtils/oldUtils.py:183
 msgid "Got an empty Header, something has gone wrong"
@@ -3177,5 +3521,3 @@ msgstr "Sugadinta antraštė %s"
 #, python-format
 msgid "Error opening rpm %s - error %s"
 msgstr "Klaida atveriant rpm %s - klaida %s"
-
-
diff --git a/po/mr.po b/po/mr.po
index 5163eab..7556e8f 100644
--- a/po/mr.po
+++ b/po/mr.po
@@ -2,427 +2,506 @@
 # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
 # This file is distributed under the same license as the PACKAGE package.
 # 
+# Translators:
 msgid ""
 msgstr ""
 "Project-Id-Version: Yum\n"
-"Report-Msgid-Bugs-To: http://yum.baseurl.org/\n"
-"POT-Creation-Date: 2011-06-06 10:21-0400\n"
-"PO-Revision-Date: 2011-06-06 14:21+0000\n"
-"Last-Translator: skvidal <skvidal@fedoraproject.org>\n"
-"Language-Team: Marathi (http://www.transifex.net/projects/p/yum/team/mr/)\n"
+"Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
+"POT-Creation-Date: 2013-01-30 09:08-0500\n"
+"PO-Revision-Date: 2013-01-30 14:08+0000\n"
+"Last-Translator: james <james@fedoraproject.org>\n"
+"Language-Team: Marathi (http://www.transifex.com/projects/p/yum/language/mr/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Language: mr\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: ../callback.py:48 ../output.py:1037 ../yum/rpmtrans.py:73
+#: ../callback.py:45 ../output.py:1502 ../yum/rpmtrans.py:73
 msgid "Updating"
 msgstr ""
 
-#: ../callback.py:49 ../yum/rpmtrans.py:74
+#: ../callback.py:46 ../yum/rpmtrans.py:74
 msgid "Erasing"
 msgstr ""
 
-#: ../callback.py:50 ../callback.py:51 ../callback.py:53 ../output.py:1036
-#: ../output.py:2218 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
+#: ../callback.py:47 ../callback.py:48 ../callback.py:50 ../output.py:1501
+#: ../output.py:2922 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
 #: ../yum/rpmtrans.py:78
 msgid "Installing"
 msgstr ""
 
-#: ../callback.py:52 ../callback.py:58 ../output.py:1840 ../yum/rpmtrans.py:77
+#: ../callback.py:49 ../callback.py:55 ../output.py:2379 ../yum/rpmtrans.py:77
 msgid "Obsoleted"
 msgstr ""
 
-#: ../callback.py:54 ../output.py:1169 ../output.py:1686 ../output.py:1847
+#: ../callback.py:51 ../output.py:1670 ../output.py:2222 ../output.py:2386
 msgid "Updated"
 msgstr ""
 
-#: ../callback.py:55 ../output.py:1685
+#: ../callback.py:52 ../output.py:2221
 msgid "Erased"
 msgstr ""
 
-#: ../callback.py:56 ../callback.py:57 ../callback.py:59 ../output.py:1167
-#: ../output.py:1685 ../output.py:1687 ../output.py:2190
+#: ../callback.py:53 ../callback.py:54 ../callback.py:56 ../output.py:1668
+#: ../output.py:2221 ../output.py:2223 ../output.py:2894
 msgid "Installed"
 msgstr ""
 
-#: ../callback.py:130
+#: ../callback.py:142
 msgid "No header - huh?"
 msgstr ""
 
-#: ../callback.py:168
+#: ../callback.py:180
 msgid "Repackage"
 msgstr ""
 
-#: ../callback.py:189
+#: ../callback.py:201
 #, python-format
 msgid "Error: invalid output state: %s for %s"
 msgstr ""
 
-#: ../callback.py:212
+#: ../callback.py:224
 #, python-format
 msgid "Erased: %s"
 msgstr ""
 
-#: ../callback.py:217 ../output.py:1038 ../output.py:2193
+#: ../callback.py:229 ../output.py:1503 ../output.py:2897
 msgid "Removing"
 msgstr ""
 
-#: ../callback.py:219 ../yum/rpmtrans.py:79
+#: ../callback.py:231 ../yum/rpmtrans.py:79
 msgid "Cleanup"
 msgstr ""
 
-#: ../cli.py:115
+#: ../cli.py:122
 #, python-format
 msgid "Command \"%s\" already defined"
 msgstr ""
 
-#: ../cli.py:127
+#: ../cli.py:137
 msgid "Setting up repositories"
 msgstr ""
 
-#: ../cli.py:138
+#: ../cli.py:148
 msgid "Reading repository metadata in from local files"
 msgstr ""
 
-#: ../cli.py:245 ../utils.py:281
+#: ../cli.py:273 ../cli.py:277 ../utils.py:320
 #, python-format
 msgid "Config Error: %s"
 msgstr ""
 
-#: ../cli.py:248 ../cli.py:1584 ../utils.py:284
+#: ../cli.py:280 ../cli.py:2206 ../utils.py:323
 #, python-format
 msgid "Options Error: %s"
 msgstr ""
 
-#: ../cli.py:293
+#: ../cli.py:327
 #, python-format
 msgid "  Installed: %s-%s at %s"
 msgstr ""
 
-#: ../cli.py:295
+#: ../cli.py:329
 #, python-format
 msgid "  Built    : %s at %s"
 msgstr ""
 
-#: ../cli.py:297
+#: ../cli.py:331
 #, python-format
 msgid "  Committed: %s at %s"
 msgstr ""
 
-#: ../cli.py:336
+#: ../cli.py:372
 msgid "You need to give some command"
 msgstr ""
 
-#: ../cli.py:350
+#: ../cli.py:386
 #, python-format
 msgid "No such command: %s. Please use %s --help"
 msgstr ""
 
-#: ../cli.py:400
+#: ../cli.py:444
 msgid "Disk Requirements:\n"
 msgstr ""
 
-#: ../cli.py:402
+#: ../cli.py:446
 #, python-format
 msgid "  At least %dMB more space needed on the %s filesystem.\n"
-msgstr ""
+msgid_plural "  At least %dMB more space needed on the %s filesystem.\n"
+msgstr[0] ""
+msgstr[1] ""
 
 #. TODO: simplify the dependency errors?
 #. Fixup the summary
-#: ../cli.py:407
+#: ../cli.py:451
 msgid ""
 "Error Summary\n"
 "-------------\n"
 msgstr ""
 
-#: ../cli.py:450
+#: ../cli.py:472
+msgid "Can't create lock file; exiting"
+msgstr ""
+
+#: ../cli.py:479
+msgid ""
+"Another app is currently holding the yum lock; exiting as configured by "
+"exit_on_lock"
+msgstr ""
+
+#: ../cli.py:532
 msgid "Trying to run the transaction but nothing to do. Exiting."
 msgstr ""
 
-#: ../cli.py:497
+#: ../cli.py:577
+msgid "future rpmdb ver mismatched saved transaction version,"
+msgstr ""
+
+#: ../cli.py:579 ../yum/__init__.py:6523
+msgid " ignoring, as requested."
+msgstr ""
+
+#: ../cli.py:582 ../yum/__init__.py:6526 ../yum/__init__.py:6673
+msgid " aborting."
+msgstr ""
+
+#: ../cli.py:588
 msgid "Exiting on user Command"
 msgstr ""
 
-#: ../cli.py:501
+#: ../cli.py:592
 msgid "Downloading Packages:"
 msgstr ""
 
-#: ../cli.py:506
+#: ../cli.py:597
 msgid "Error Downloading Packages:\n"
 msgstr ""
 
-#: ../cli.py:525 ../yum/__init__.py:4967
+#: ../cli.py:616 ../yum/__init__.py:6215
 msgid "Running Transaction Check"
 msgstr ""
 
-#: ../cli.py:534 ../yum/__init__.py:4976
+#: ../cli.py:625 ../yum/__init__.py:6224
 msgid "ERROR You need to update rpm to handle:"
 msgstr ""
 
-#: ../cli.py:536 ../yum/__init__.py:4979
+#: ../cli.py:627 ../yum/__init__.py:6227
 msgid "ERROR with transaction check vs depsolve:"
 msgstr ""
 
-#: ../cli.py:542
+#: ../cli.py:633
 msgid "RPM needs to be updated"
 msgstr ""
 
-#: ../cli.py:543
+#: ../cli.py:634
 #, python-format
 msgid "Please report this error in %s"
 msgstr ""
 
-#: ../cli.py:549
+#: ../cli.py:640
 msgid "Running Transaction Test"
 msgstr ""
 
-#: ../cli.py:561
+#: ../cli.py:652
 msgid "Transaction Check Error:\n"
 msgstr ""
 
-#: ../cli.py:568
+#: ../cli.py:659
 msgid "Transaction Test Succeeded"
 msgstr ""
 
-#: ../cli.py:600
+#: ../cli.py:691
 msgid "Running Transaction"
 msgstr ""
 
-#: ../cli.py:630
+#: ../cli.py:724
 msgid ""
 "Refusing to automatically import keys when running unattended.\n"
 "Use \"-y\" to override."
 msgstr ""
 
-#: ../cli.py:649 ../cli.py:692
+#: ../cli.py:743 ../cli.py:786
 msgid "  * Maybe you meant: "
 msgstr ""
 
-#: ../cli.py:675 ../cli.py:683
+#: ../cli.py:769 ../cli.py:777
 #, python-format
 msgid "Package(s) %s%s%s available, but not installed."
 msgstr ""
 
-#: ../cli.py:689 ../cli.py:722 ../cli.py:908
+#: ../cli.py:783 ../cli.py:891 ../cli.py:1158
 #, python-format
 msgid "No package %s%s%s available."
 msgstr ""
 
-#: ../cli.py:729 ../cli.py:973
-msgid "Package(s) to install"
+#: ../cli.py:871 ../cli.py:881 ../cli.py:1101 ../cli.py:1111
+#, python-format
+msgid "Bad %s argument %s."
 msgstr ""
 
-#: ../cli.py:732 ../cli.py:733 ../cli.py:914 ../cli.py:948 ../cli.py:974
-#: ../yumcommands.py:190
+#: ../cli.py:900 ../yumcommands.py:3331
+#, python-format
+msgid "%d package to install"
+msgid_plural "%d packages to install"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../cli.py:903 ../cli.py:904 ../cli.py:1169 ../cli.py:1170 ../cli.py:1224
+#: ../cli.py:1225 ../cli.py:1260 ../yumcommands.py:323 ../yumcommands.py:3419
 msgid "Nothing to do"
 msgstr ""
 
-#: ../cli.py:767
+#: ../cli.py:953
 #, python-format
-msgid "%d packages marked for Update"
-msgstr ""
+msgid "%d package marked for Update"
+msgid_plural "%d packages marked for Update"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:770
+#: ../cli.py:955
 msgid "No Packages marked for Update"
 msgstr ""
 
-#: ../cli.py:866
+#: ../cli.py:1067
 #, python-format
-msgid "%d packages marked for Distribution Synchronization"
-msgstr ""
+msgid "%d package marked for Distribution Synchronization"
+msgid_plural "%d packages marked for Distribution Synchronization"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:869
+#: ../cli.py:1069
 msgid "No Packages marked for Distribution Synchronization"
 msgstr ""
 
-#: ../cli.py:885
+#: ../cli.py:1124
 #, python-format
-msgid "%d packages marked for removal"
-msgstr ""
+msgid "%d package marked for removal"
+msgid_plural "%d packages marked for removal"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:888
+#: ../cli.py:1126
 msgid "No Packages marked for removal"
 msgstr ""
 
-#: ../cli.py:913
-msgid "Package(s) to downgrade"
-msgstr ""
+#: ../cli.py:1166
+#, python-format
+msgid "%d package to downgrade"
+msgid_plural "%d packages to downgrade"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:938
+#: ../cli.py:1207
 #, python-format
 msgid " (from %s)"
 msgstr ""
 
-#: ../cli.py:939
+#: ../cli.py:1208
 #, python-format
 msgid "Installed package %s%s%s%s not available."
 msgstr ""
 
-#: ../cli.py:947
-msgid "Package(s) to reinstall"
-msgstr ""
+#: ../cli.py:1221
+#, python-format
+msgid "%d package to reinstall"
+msgid_plural "%d packages to reinstall"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:960
+#: ../cli.py:1246
 msgid "No Packages Provided"
 msgstr ""
 
-#: ../cli.py:1058
+#: ../cli.py:1259
+msgid "Package(s) to install"
+msgstr ""
+
+#: ../cli.py:1367
 #, python-format
 msgid "N/S Matched: %s"
 msgstr ""
 
-#: ../cli.py:1075
+#: ../cli.py:1384
 #, python-format
 msgid "  Name and summary matches %sonly%s, use \"search all\" for everything."
 msgstr ""
 
-#: ../cli.py:1077
+#: ../cli.py:1386
 #, python-format
 msgid ""
 "  Full name and summary matches %sonly%s, use \"search all\" for everything."
 msgstr ""
 
-#: ../cli.py:1095
+#: ../cli.py:1404
 #, python-format
 msgid "Matched: %s"
 msgstr ""
 
-#: ../cli.py:1102
+#: ../cli.py:1411
 #, python-format
 msgid "  Name and summary matches %smostly%s, use \"search all\" for everything."
 msgstr ""
 
-#: ../cli.py:1106
+#: ../cli.py:1415
 #, python-format
 msgid "Warning: No matches found for: %s"
 msgstr ""
 
-#: ../cli.py:1109
+#: ../cli.py:1418
 msgid "No Matches found"
 msgstr ""
 
-#: ../cli.py:1174
+#: ../cli.py:1536
 #, python-format
-msgid "No Package Found for %s"
+msgid ""
+"Error: No Packages found for:\n"
+"  %s"
 msgstr ""
 
-#: ../cli.py:1184
+#: ../cli.py:1572
 msgid "Cleaning repos: "
 msgstr ""
 
-#: ../cli.py:1189
+#: ../cli.py:1577
 msgid "Cleaning up Everything"
 msgstr ""
 
-#: ../cli.py:1205
+#: ../cli.py:1593
 msgid "Cleaning up Headers"
 msgstr ""
 
-#: ../cli.py:1208
+#: ../cli.py:1596
 msgid "Cleaning up Packages"
 msgstr ""
 
-#: ../cli.py:1211
+#: ../cli.py:1599
 msgid "Cleaning up xml metadata"
 msgstr ""
 
-#: ../cli.py:1214
+#: ../cli.py:1602
 msgid "Cleaning up database cache"
 msgstr ""
 
-#: ../cli.py:1217
+#: ../cli.py:1605
 msgid "Cleaning up expire-cache metadata"
 msgstr ""
 
-#: ../cli.py:1220
+#: ../cli.py:1608
 msgid "Cleaning up cached rpmdb data"
 msgstr ""
 
-#: ../cli.py:1223
+#: ../cli.py:1611
 msgid "Cleaning up plugins"
 msgstr ""
 
-#: ../cli.py:1247
-#, python-format
-msgid "Warning: No groups match: %s"
+#: ../cli.py:1727
+msgid "Installed Environment Groups:"
+msgstr ""
+
+#: ../cli.py:1728
+msgid "Available Environment Groups:"
 msgstr ""
 
-#: ../cli.py:1264
+#: ../cli.py:1735
 msgid "Installed Groups:"
 msgstr ""
 
-#: ../cli.py:1270
+#: ../cli.py:1742
 msgid "Installed Language Groups:"
 msgstr ""
 
-#: ../cli.py:1276
+#: ../cli.py:1749
 msgid "Available Groups:"
 msgstr ""
 
-#: ../cli.py:1282
+#: ../cli.py:1756
 msgid "Available Language Groups:"
 msgstr ""
 
-#: ../cli.py:1285
+#: ../cli.py:1759
+#, python-format
+msgid "Warning: No Environments/Groups match: %s"
+msgstr ""
+
+#: ../cli.py:1763
 msgid "Done"
 msgstr ""
 
-#: ../cli.py:1296 ../cli.py:1314 ../cli.py:1320 ../yum/__init__.py:3313
+#: ../cli.py:1818
+#, python-format
+msgid "Warning: Group/Environment %s does not exist."
+msgstr ""
+
+#: ../cli.py:1859
+#, python-format
+msgid "Warning: Environment %s does not exist."
+msgstr ""
+
+#: ../cli.py:1873 ../cli.py:1879 ../yum/__init__.py:4254
 #, python-format
 msgid "Warning: Group %s does not exist."
 msgstr ""
 
-#: ../cli.py:1324
+#: ../cli.py:1883
 msgid "No packages in any requested group available to install or update"
 msgstr ""
 
-#: ../cli.py:1326
+#: ../cli.py:1885
 #, python-format
-msgid "%d Package(s) to Install"
+msgid "%d package to Install"
+msgid_plural "%d packages to Install"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../cli.py:1919 ../yum/__init__.py:3536 ../yum/__init__.py:3766
+#: ../yum/__init__.py:3824
+#, python-format
+msgid "No Environment named %s exists"
 msgstr ""
 
-#: ../cli.py:1336 ../yum/__init__.py:3325
+#: ../cli.py:1935 ../yum/__init__.py:4282
 #, python-format
 msgid "No group named %s exists"
 msgstr ""
 
-#: ../cli.py:1342
+#: ../cli.py:1945
 msgid "No packages to remove from groups"
 msgstr ""
 
-#: ../cli.py:1344
+#: ../cli.py:1947 ../yumcommands.py:3351
 #, python-format
-msgid "%d Package(s) to remove"
-msgstr ""
+msgid "%d package to remove"
+msgid_plural "%d packages to remove"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:1386
+#: ../cli.py:1988
 #, python-format
 msgid "Package %s is already installed, skipping"
 msgstr ""
 
-#: ../cli.py:1397
+#: ../cli.py:1999
 #, python-format
 msgid "Discarding non-comparable pkg %s.%s"
 msgstr ""
 
 #. we've not got any installed that match n or n+a
-#: ../cli.py:1423
+#: ../cli.py:2025
 #, python-format
 msgid "No other %s installed, adding to list for potential install"
 msgstr ""
 
-#: ../cli.py:1443
+#: ../cli.py:2045
 msgid "Plugin Options"
 msgstr ""
 
-#: ../cli.py:1451
+#: ../cli.py:2057
 #, python-format
 msgid "Command line error: %s"
 msgstr ""
 
-#: ../cli.py:1467
+#: ../cli.py:2079
 #, python-format
 msgid ""
 "\n"
@@ -430,438 +509,484 @@ msgid ""
 "%s: %s option requires an argument"
 msgstr ""
 
-#: ../cli.py:1521
+#: ../cli.py:2147
 msgid "--color takes one of: auto, always, never"
 msgstr ""
 
 #. We have a relative installroot ... haha
-#: ../cli.py:1596
+#: ../cli.py:2218
 #, python-format
 msgid "--installroot must be an absolute path: %s"
 msgstr ""
 
-#: ../cli.py:1642
+#: ../cli.py:2272
 msgid "show this help message and exit"
 msgstr ""
 
-#: ../cli.py:1646
+#: ../cli.py:2276
 msgid "be tolerant of errors"
 msgstr ""
 
-#: ../cli.py:1649
+#: ../cli.py:2279
 msgid "run entirely from system cache, don't update cache"
 msgstr ""
 
-#: ../cli.py:1652
+#: ../cli.py:2282
 msgid "config file location"
 msgstr ""
 
-#: ../cli.py:1655
+#: ../cli.py:2285
 msgid "maximum command wait time"
 msgstr ""
 
-#: ../cli.py:1657
+#: ../cli.py:2287
 msgid "debugging output level"
 msgstr ""
 
-#: ../cli.py:1661
+#: ../cli.py:2291
 msgid "show duplicates, in repos, in list/search commands"
 msgstr ""
 
-#: ../cli.py:1663
+#: ../cli.py:2296
 msgid "error output level"
 msgstr ""
 
-#: ../cli.py:1666
+#: ../cli.py:2299
 msgid "debugging output level for rpm"
 msgstr ""
 
-#: ../cli.py:1669
+#: ../cli.py:2302
 msgid "quiet operation"
 msgstr ""
 
-#: ../cli.py:1671
+#: ../cli.py:2304
 msgid "verbose operation"
 msgstr ""
 
-#: ../cli.py:1673
+#: ../cli.py:2306
 msgid "answer yes for all questions"
 msgstr ""
 
-#: ../cli.py:1675
+#: ../cli.py:2308
+msgid "answer no for all questions"
+msgstr ""
+
+#: ../cli.py:2312
 msgid "show Yum version and exit"
 msgstr ""
 
-#: ../cli.py:1676
+#: ../cli.py:2313
 msgid "set install root"
 msgstr ""
 
-#: ../cli.py:1680
+#: ../cli.py:2317
 msgid "enable one or more repositories (wildcards allowed)"
 msgstr ""
 
-#: ../cli.py:1684
+#: ../cli.py:2321
 msgid "disable one or more repositories (wildcards allowed)"
 msgstr ""
 
-#: ../cli.py:1687
+#: ../cli.py:2324
 msgid "exclude package(s) by name or glob"
 msgstr ""
 
-#: ../cli.py:1689
+#: ../cli.py:2326
 msgid "disable exclude from main, for a repo or for everything"
 msgstr ""
 
-#: ../cli.py:1692
+#: ../cli.py:2329
 msgid "enable obsoletes processing during updates"
 msgstr ""
 
-#: ../cli.py:1694
+#: ../cli.py:2331
 msgid "disable Yum plugins"
 msgstr ""
 
-#: ../cli.py:1696
+#: ../cli.py:2333
 msgid "disable gpg signature checking"
 msgstr ""
 
-#: ../cli.py:1698
+#: ../cli.py:2335
 msgid "disable plugins by name"
 msgstr ""
 
-#: ../cli.py:1701
+#: ../cli.py:2338
 msgid "enable plugins by name"
 msgstr ""
 
-#: ../cli.py:1704
+#: ../cli.py:2341
 msgid "skip packages with depsolving problems"
 msgstr ""
 
-#: ../cli.py:1706
+#: ../cli.py:2343
 msgid "control whether color is used"
 msgstr ""
 
-#: ../cli.py:1708
+#: ../cli.py:2345
 msgid "set value of $releasever in yum config and repo files"
 msgstr ""
 
-#: ../cli.py:1710
+#: ../cli.py:2347
+msgid "don't update, just download"
+msgstr ""
+
+#: ../cli.py:2349
+msgid "specifies an alternate directory to store packages"
+msgstr ""
+
+#: ../cli.py:2351
 msgid "set arbitrary config and repo options"
 msgstr ""
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Jan"
 msgstr ""
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Feb"
 msgstr ""
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Mar"
 msgstr ""
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Apr"
 msgstr ""
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "May"
 msgstr ""
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Jun"
 msgstr ""
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Jul"
 msgstr ""
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Aug"
 msgstr ""
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Sep"
 msgstr ""
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Oct"
 msgstr ""
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Nov"
 msgstr ""
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Dec"
 msgstr ""
 
-#: ../output.py:318
+#: ../output.py:473
 msgid "Trying other mirror."
 msgstr ""
 
-#: ../output.py:581
+#: ../output.py:816
 #, python-format
 msgid "Name        : %s%s%s"
 msgstr ""
 
-#: ../output.py:582
+#: ../output.py:817
 #, python-format
 msgid "Arch        : %s"
 msgstr ""
 
-#: ../output.py:584
+#: ../output.py:819
 #, python-format
 msgid "Epoch       : %s"
 msgstr ""
 
-#: ../output.py:585
+#: ../output.py:820
 #, python-format
 msgid "Version     : %s"
 msgstr ""
 
-#: ../output.py:586
+#: ../output.py:821
 #, python-format
 msgid "Release     : %s"
 msgstr ""
 
-#: ../output.py:587
+#: ../output.py:822
 #, python-format
 msgid "Size        : %s"
 msgstr ""
 
-#: ../output.py:588 ../output.py:900
+#: ../output.py:823 ../output.py:1329
 #, python-format
 msgid "Repo        : %s"
 msgstr ""
 
-#: ../output.py:590
+#: ../output.py:825
 #, python-format
 msgid "From repo   : %s"
 msgstr ""
 
-#: ../output.py:592
+#: ../output.py:827
 #, python-format
 msgid "Committer   : %s"
 msgstr ""
 
-#: ../output.py:593
+#: ../output.py:828
 #, python-format
 msgid "Committime  : %s"
 msgstr ""
 
-#: ../output.py:594
+#: ../output.py:829
 #, python-format
 msgid "Buildtime   : %s"
 msgstr ""
 
-#: ../output.py:596
+#: ../output.py:831
 #, python-format
 msgid "Install time: %s"
 msgstr ""
 
-#: ../output.py:604
+#: ../output.py:839
 #, python-format
 msgid "Installed by: %s"
 msgstr ""
 
-#: ../output.py:611
+#: ../output.py:846
 #, python-format
 msgid "Changed by  : %s"
 msgstr ""
 
-#: ../output.py:612
+#: ../output.py:847
 msgid "Summary     : "
 msgstr ""
 
-#: ../output.py:614 ../output.py:913
+#: ../output.py:849 ../output.py:1345
 #, python-format
 msgid "URL         : %s"
 msgstr ""
 
-#: ../output.py:615
+#: ../output.py:850
 msgid "License     : "
 msgstr ""
 
-#: ../output.py:616 ../output.py:910
+#: ../output.py:851 ../output.py:1342
 msgid "Description : "
 msgstr ""
 
-#: ../output.py:684
+#: ../output.py:969
 msgid "y"
 msgstr ""
 
-#: ../output.py:684
+#: ../output.py:969
 msgid "yes"
 msgstr ""
 
-#: ../output.py:685
+#: ../output.py:970
 msgid "n"
 msgstr ""
 
-#: ../output.py:685
+#: ../output.py:970
 msgid "no"
 msgstr ""
 
-#: ../output.py:689
+#: ../output.py:974
 msgid "Is this ok [y/N]: "
 msgstr ""
 
-#: ../output.py:777
+#: ../output.py:1097
 #, python-format
 msgid ""
 "\n"
 "Group: %s"
 msgstr ""
 
-#: ../output.py:781
+#: ../output.py:1101
 #, python-format
 msgid " Group-Id: %s"
 msgstr ""
 
-#: ../output.py:786
+#: ../output.py:1122 ../output.py:1169
 #, python-format
 msgid " Description: %s"
 msgstr ""
 
-#: ../output.py:788
+#: ../output.py:1124
 #, python-format
 msgid " Language: %s"
 msgstr ""
 
-#: ../output.py:790
+#: ../output.py:1126
 msgid " Mandatory Packages:"
 msgstr ""
 
-#: ../output.py:791
+#: ../output.py:1127
 msgid " Default Packages:"
 msgstr ""
 
-#: ../output.py:792
+#: ../output.py:1128
 msgid " Optional Packages:"
 msgstr ""
 
-#: ../output.py:793
+#: ../output.py:1129
 msgid " Conditional Packages:"
 msgstr ""
 
-#: ../output.py:814
+#: ../output.py:1147
+msgid " Installed Packages:"
+msgstr ""
+
+#: ../output.py:1157
+#, python-format
+msgid ""
+"\n"
+"Environment Group: %s"
+msgstr ""
+
+#: ../output.py:1158
+#, python-format
+msgid " Environment-Id: %s"
+msgstr ""
+
+#: ../output.py:1191
+msgid " Mandatory Groups:"
+msgstr ""
+
+#: ../output.py:1192
+msgid " Optional Groups:"
+msgstr ""
+
+#: ../output.py:1205
+msgid " Installed Groups:"
+msgstr ""
+
+#: ../output.py:1217
 #, python-format
 msgid "package: %s"
 msgstr ""
 
-#: ../output.py:816
+#: ../output.py:1219
 msgid "  No dependencies for this package"
 msgstr ""
 
-#: ../output.py:821
+#: ../output.py:1224
 #, python-format
 msgid "  dependency: %s"
 msgstr ""
 
-#: ../output.py:823
+#: ../output.py:1226
 msgid "   Unsatisfied dependency"
 msgstr ""
 
-#: ../output.py:901
+#: ../output.py:1337
 msgid "Matched from:"
 msgstr ""
 
-#: ../output.py:916
+#: ../output.py:1348
 #, python-format
 msgid "License     : %s"
 msgstr ""
 
-#: ../output.py:919
+#: ../output.py:1351
 #, python-format
 msgid "Filename    : %s"
 msgstr ""
 
-#: ../output.py:923
+#: ../output.py:1360
+msgid "Provides    : "
+msgstr ""
+
+#: ../output.py:1363
 msgid "Other       : "
 msgstr ""
 
-#: ../output.py:966
+#: ../output.py:1426
 msgid "There was an error calculating total download size"
 msgstr ""
 
-#: ../output.py:971
+#: ../output.py:1431
 #, python-format
 msgid "Total size: %s"
 msgstr ""
 
-#: ../output.py:974
+#: ../output.py:1433
 #, python-format
 msgid "Total download size: %s"
 msgstr ""
 
-#: ../output.py:978 ../output.py:998
+#: ../output.py:1436 ../output.py:1459 ../output.py:1463
 #, python-format
 msgid "Installed size: %s"
 msgstr ""
 
-#: ../output.py:994
+#: ../output.py:1454
 msgid "There was an error calculating installed size"
 msgstr ""
 
-#: ../output.py:1039
+#: ../output.py:1504
 msgid "Reinstalling"
 msgstr ""
 
-#: ../output.py:1040
+#: ../output.py:1505
 msgid "Downgrading"
 msgstr ""
 
-#: ../output.py:1041
+#: ../output.py:1506
 msgid "Installing for dependencies"
 msgstr ""
 
-#: ../output.py:1042
+#: ../output.py:1507
 msgid "Updating for dependencies"
 msgstr ""
 
-#: ../output.py:1043
+#: ../output.py:1508
 msgid "Removing for dependencies"
 msgstr ""
 
-#: ../output.py:1050 ../output.py:1171
+#: ../output.py:1515 ../output.py:1576 ../output.py:1672
 msgid "Skipped (dependency problems)"
 msgstr ""
 
-#: ../output.py:1052 ../output.py:1687
+#: ../output.py:1517 ../output.py:1577 ../output.py:2223
 msgid "Not installed"
 msgstr ""
 
-#: ../output.py:1053
+#: ../output.py:1518 ../output.py:1578
 msgid "Not available"
 msgstr ""
 
-#: ../output.py:1075 ../output.py:2024
+#: ../output.py:1540 ../output.py:1588 ../output.py:1604 ../output.py:2581
 msgid "Package"
-msgstr ""
+msgid_plural "Packages"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../output.py:1075
+#: ../output.py:1540
 msgid "Arch"
 msgstr ""
 
-#: ../output.py:1076
+#: ../output.py:1541
 msgid "Version"
 msgstr ""
 
-#: ../output.py:1076
+#: ../output.py:1541
 msgid "Repository"
 msgstr ""
 
-#: ../output.py:1077
+#: ../output.py:1542
 msgid "Size"
 msgstr ""
 
-#: ../output.py:1089
+#: ../output.py:1554
 #, python-format
 msgid "     replacing  %s%s%s.%s %s\n"
 msgstr ""
 
-#: ../output.py:1098
+#: ../output.py:1563
 #, python-format
 msgid ""
 "\n"
@@ -869,65 +994,66 @@ msgid ""
 "%s\n"
 msgstr ""
 
-#: ../output.py:1109
-#, python-format
-msgid "Install   %5.5s Package(s)\n"
+#: ../output.py:1568 ../output.py:2376 ../output.py:2377
+msgid "Install"
 msgstr ""
 
-#: ../output.py:1113
-#, python-format
-msgid "Upgrade   %5.5s Package(s)\n"
+#: ../output.py:1570
+msgid "Upgrade"
 msgstr ""
 
-#: ../output.py:1117
-#, python-format
-msgid "Remove    %5.5s Package(s)\n"
+#: ../output.py:1572
+msgid "Remove"
 msgstr ""
 
-#: ../output.py:1121
-#, python-format
-msgid "Reinstall %5.5s Package(s)\n"
+#: ../output.py:1574 ../output.py:2382
+msgid "Reinstall"
 msgstr ""
 
-#: ../output.py:1125
-#, python-format
-msgid "Downgrade %5.5s Package(s)\n"
+#: ../output.py:1575 ../output.py:2383
+msgid "Downgrade"
 msgstr ""
 
-#: ../output.py:1165
+#: ../output.py:1606
+msgid "Dependent package"
+msgid_plural "Dependent packages"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../output.py:1666
 msgid "Removed"
 msgstr ""
 
-#: ../output.py:1166
+#: ../output.py:1667
 msgid "Dependency Removed"
 msgstr ""
 
-#: ../output.py:1168
+#: ../output.py:1669
 msgid "Dependency Installed"
 msgstr ""
 
-#: ../output.py:1170
+#: ../output.py:1671
 msgid "Dependency Updated"
 msgstr ""
 
-#: ../output.py:1172
+#: ../output.py:1673
 msgid "Replaced"
 msgstr ""
 
-#: ../output.py:1173
+#: ../output.py:1674
 msgid "Failed"
 msgstr ""
 
 #. Delta between C-c's so we treat as exit
-#: ../output.py:1260
+#: ../output.py:1764
 msgid "two"
 msgstr ""
 
 #. For translators: This is output like:
 #. Current download cancelled, interrupt (ctrl-c) again within two seconds
 #. to exit.
-#. Where "interupt (ctrl-c) again" and "two" are highlighted.
-#: ../output.py:1271
+#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
+#: ../output.py:1775
 #, python-format
 msgid ""
 "\n"
@@ -935,484 +1061,542 @@ msgid ""
 "to exit.\n"
 msgstr ""
 
-#: ../output.py:1282
+#: ../output.py:1786
 msgid "user interrupt"
 msgstr ""
 
-#: ../output.py:1300
+#: ../output.py:1812
 msgid "Total"
 msgstr ""
 
-#: ../output.py:1322
+#: ../output.py:1834
 msgid "I"
 msgstr ""
 
-#: ../output.py:1323
+#: ../output.py:1835
 msgid "O"
 msgstr ""
 
-#: ../output.py:1324
+#: ../output.py:1836
 msgid "E"
 msgstr ""
 
-#: ../output.py:1325
+#: ../output.py:1837
 msgid "R"
 msgstr ""
 
-#: ../output.py:1326
+#: ../output.py:1838
 msgid "D"
 msgstr ""
 
-#: ../output.py:1327
+#: ../output.py:1839
 msgid "U"
 msgstr ""
 
-#: ../output.py:1341
+#: ../output.py:1853
 msgid "<unset>"
 msgstr ""
 
-#: ../output.py:1342
+#: ../output.py:1854
 msgid "System"
 msgstr ""
 
-#: ../output.py:1411
+#: ../output.py:1923
 #, python-format
 msgid "Skipping merged transaction %d to %d, as it overlaps"
 msgstr ""
 
-#: ../output.py:1421 ../output.py:1592
+#: ../output.py:1933 ../output.py:2125
 msgid "No transactions"
 msgstr ""
 
-#: ../output.py:1446 ../output.py:2013
+#: ../output.py:1958 ../output.py:2570 ../output.py:2660
 msgid "Bad transaction IDs, or package(s), given"
 msgstr ""
 
-#: ../output.py:1484
+#: ../output.py:2007
 msgid "Command line"
 msgstr ""
 
-#: ../output.py:1486 ../output.py:1908
+#: ../output.py:2009 ../output.py:2458
 msgid "Login user"
 msgstr ""
 
 #. REALLY Needs to use columns!
-#: ../output.py:1487 ../output.py:2022
+#: ../output.py:2010 ../output.py:2579
 msgid "ID"
 msgstr ""
 
-#: ../output.py:1489
+#: ../output.py:2012
 msgid "Date and time"
 msgstr ""
 
-#: ../output.py:1490 ../output.py:1910 ../output.py:2023
+#: ../output.py:2013 ../output.py:2460 ../output.py:2580
 msgid "Action(s)"
 msgstr ""
 
-#: ../output.py:1491 ../output.py:1911
+#: ../output.py:2014 ../output.py:2461
 msgid "Altered"
 msgstr ""
 
-#: ../output.py:1538
+#: ../output.py:2061
 msgid "No transaction ID given"
 msgstr ""
 
-#: ../output.py:1564 ../output.py:1972
+#: ../output.py:2087 ../output.py:2526
 msgid "Bad transaction ID given"
 msgstr ""
 
-#: ../output.py:1569
+#: ../output.py:2092
 msgid "Not found given transaction ID"
 msgstr ""
 
-#: ../output.py:1577
+#: ../output.py:2100
 msgid "Found more than one transaction ID!"
 msgstr ""
 
-#: ../output.py:1618 ../output.py:1980
+#: ../output.py:2151 ../output.py:2534
 msgid "No transaction ID, or package, given"
 msgstr ""
 
-#: ../output.py:1686 ../output.py:1845
+#: ../output.py:2222 ../output.py:2384
 msgid "Downgraded"
 msgstr ""
 
-#: ../output.py:1688
+#: ../output.py:2224
 msgid "Older"
 msgstr ""
 
-#: ../output.py:1688
+#: ../output.py:2224
 msgid "Newer"
 msgstr ""
 
-#: ../output.py:1724 ../output.py:1726
+#: ../output.py:2261 ../output.py:2263 ../output.py:2681
 msgid "Transaction ID :"
 msgstr ""
 
-#: ../output.py:1728
+#: ../output.py:2265 ../output.py:2683
 msgid "Begin time     :"
 msgstr ""
 
-#: ../output.py:1731 ../output.py:1733
+#: ../output.py:2268 ../output.py:2270
 msgid "Begin rpmdb    :"
 msgstr ""
 
-#: ../output.py:1749
+#: ../output.py:2286
 #, python-format
 msgid "(%u seconds)"
 msgstr ""
 
-#: ../output.py:1751
+#: ../output.py:2288
 #, python-format
 msgid "(%u minutes)"
 msgstr ""
 
-#: ../output.py:1753
+#: ../output.py:2290
 #, python-format
 msgid "(%u hours)"
 msgstr ""
 
-#: ../output.py:1755
+#: ../output.py:2292
 #, python-format
 msgid "(%u days)"
 msgstr ""
 
-#: ../output.py:1756
+#: ../output.py:2293
 msgid "End time       :"
 msgstr ""
 
-#: ../output.py:1759 ../output.py:1761
+#: ../output.py:2296 ../output.py:2298
 msgid "End rpmdb      :"
 msgstr ""
 
-#: ../output.py:1764 ../output.py:1766
+#: ../output.py:2301 ../output.py:2303
 msgid "User           :"
 msgstr ""
 
-#: ../output.py:1770 ../output.py:1773 ../output.py:1775 ../output.py:1777
-#: ../output.py:1779
+#: ../output.py:2307 ../output.py:2310 ../output.py:2312 ../output.py:2314
+#: ../output.py:2316
 msgid "Return-Code    :"
 msgstr ""
 
-#: ../output.py:1770 ../output.py:1775
+#: ../output.py:2307 ../output.py:2312
 msgid "Aborted"
 msgstr ""
 
-#: ../output.py:1773
+#: ../output.py:2310
 msgid "Failures:"
 msgstr ""
 
-#: ../output.py:1777
+#: ../output.py:2314
 msgid "Failure:"
 msgstr ""
 
-#: ../output.py:1779
+#: ../output.py:2316
 msgid "Success"
 msgstr ""
 
-#: ../output.py:1784 ../output.py:1786
+#: ../output.py:2321 ../output.py:2323 ../output.py:2712
 msgid "Command Line   :"
 msgstr ""
 
-#: ../output.py:1795
+#: ../output.py:2332
 #, python-format
 msgid "Additional non-default information stored: %d"
 msgstr ""
 
 #. This is _possible_, but not common
-#: ../output.py:1800
+#: ../output.py:2337
 msgid "Transaction performed with:"
 msgstr ""
 
-#: ../output.py:1804
+#: ../output.py:2341
 msgid "Packages Altered:"
 msgstr ""
 
-#: ../output.py:1808
+#: ../output.py:2345
 msgid "Packages Skipped:"
 msgstr ""
 
-#: ../output.py:1814
+#: ../output.py:2353
 msgid "Rpmdb Problems:"
 msgstr ""
 
-#: ../output.py:1825
+#: ../output.py:2364
 msgid "Scriptlet output:"
 msgstr ""
 
-#: ../output.py:1831
+#: ../output.py:2370
 msgid "Errors:"
 msgstr ""
 
-#: ../output.py:1837 ../output.py:1838
-msgid "Install"
-msgstr ""
-
-#: ../output.py:1839
+#: ../output.py:2378
 msgid "Dep-Install"
 msgstr ""
 
-#: ../output.py:1841
+#: ../output.py:2380
 msgid "Obsoleting"
 msgstr ""
 
-#: ../output.py:1842
+#: ../output.py:2381
 msgid "Erase"
 msgstr ""
 
-#: ../output.py:1843
-msgid "Reinstall"
-msgstr ""
-
-#: ../output.py:1844
-msgid "Downgrade"
-msgstr ""
-
-#: ../output.py:1846
+#: ../output.py:2385
 msgid "Update"
 msgstr ""
 
-#: ../output.py:1909
+#: ../output.py:2459
 msgid "Time"
 msgstr ""
 
-#: ../output.py:1935
+#: ../output.py:2485
 msgid "Last day"
 msgstr ""
 
-#: ../output.py:1936
+#: ../output.py:2486
 msgid "Last week"
 msgstr ""
 
-#: ../output.py:1937
+#: ../output.py:2487
 msgid "Last 2 weeks"
 msgstr ""
 
 #. US default :p
-#: ../output.py:1938
+#: ../output.py:2488
 msgid "Last 3 months"
 msgstr ""
 
-#: ../output.py:1939
+#: ../output.py:2489
 msgid "Last 6 months"
 msgstr ""
 
-#: ../output.py:1940
+#: ../output.py:2490
 msgid "Last year"
 msgstr ""
 
-#: ../output.py:1941
+#: ../output.py:2491
 msgid "Over a year ago"
 msgstr ""
 
-#: ../output.py:1984
+#: ../output.py:2538
 #, python-format
 msgid "No Transaction %s found"
 msgstr ""
 
-#: ../output.py:1990
+#: ../output.py:2544
 msgid "Transaction ID:"
 msgstr ""
 
-#: ../output.py:1991
+#: ../output.py:2545
 msgid "Available additional history information:"
 msgstr ""
 
-#: ../output.py:2003
+#: ../output.py:2558
 #, python-format
 msgid "%s: No additional data found by this name"
 msgstr ""
 
-#: ../output.py:2106
+#: ../output.py:2684
+msgid "Package        :"
+msgstr ""
+
+#: ../output.py:2685
+msgid "State          :"
+msgstr ""
+
+#: ../output.py:2688
+msgid "Size           :"
+msgstr ""
+
+#: ../output.py:2690
+msgid "Build host     :"
+msgstr ""
+
+#: ../output.py:2693
+msgid "Build time     :"
+msgstr ""
+
+#: ../output.py:2695
+msgid "Packager       :"
+msgstr ""
+
+#: ../output.py:2697
+msgid "Vendor         :"
+msgstr ""
+
+#: ../output.py:2699
+msgid "License        :"
+msgstr ""
+
+#: ../output.py:2701
+msgid "URL            :"
+msgstr ""
+
+#: ../output.py:2703
+msgid "Source RPM     :"
+msgstr ""
+
+#: ../output.py:2706
+msgid "Commit Time    :"
+msgstr ""
+
+#: ../output.py:2708
+msgid "Committer      :"
+msgstr ""
+
+#: ../output.py:2710
+msgid "Reason         :"
+msgstr ""
+
+#: ../output.py:2714
+msgid "From repo      :"
+msgstr ""
+
+#: ../output.py:2718
+msgid "Installed by   :"
+msgstr ""
+
+#: ../output.py:2722
+msgid "Changed by     :"
+msgstr ""
+
+#: ../output.py:2767
 msgid "installed"
 msgstr ""
 
-#: ../output.py:2107
+#: ../output.py:2768
 msgid "an update"
 msgstr ""
 
-#: ../output.py:2108
+#: ../output.py:2769
 msgid "erased"
 msgstr ""
 
-#: ../output.py:2109
+#: ../output.py:2770
 msgid "reinstalled"
 msgstr ""
 
-#: ../output.py:2110
+#: ../output.py:2771
 msgid "a downgrade"
 msgstr ""
 
-#: ../output.py:2111
+#: ../output.py:2772
 msgid "obsoleting"
 msgstr ""
 
-#: ../output.py:2112
+#: ../output.py:2773
 msgid "updated"
 msgstr ""
 
-#: ../output.py:2113
+#: ../output.py:2774
 msgid "obsoleted"
 msgstr ""
 
-#: ../output.py:2117
+#: ../output.py:2778
 #, python-format
 msgid "---> Package %s.%s %s:%s-%s will be %s"
 msgstr ""
 
-#: ../output.py:2124
+#: ../output.py:2789
 msgid "--> Running transaction check"
 msgstr ""
 
-#: ../output.py:2129
+#: ../output.py:2795
 msgid "--> Restarting Dependency Resolution with new changes."
 msgstr ""
 
-#: ../output.py:2134
+#: ../output.py:2801
 msgid "--> Finished Dependency Resolution"
 msgstr ""
 
-#: ../output.py:2139 ../output.py:2144
+#: ../output.py:2814 ../output.py:2827
 #, python-format
 msgid "--> Processing Dependency: %s for package: %s"
 msgstr ""
 
-#: ../output.py:2149
+#: ../output.py:2841
 #, python-format
-msgid "---> Keeping package: %s"
+msgid "---> Keeping package: %s due to %s"
 msgstr ""
 
-#: ../output.py:2152
+#: ../output.py:2850
 #, python-format
 msgid "--> Unresolved Dependency: %s"
 msgstr ""
 
-#: ../output.py:2163
+#: ../output.py:2867
 #, python-format
 msgid "Package: %s"
 msgstr ""
 
-#: ../output.py:2165
+#: ../output.py:2869
 #, python-format
 msgid ""
 "\n"
 "    Requires: %s"
 msgstr ""
 
-#: ../output.py:2174
+#: ../output.py:2878
 #, python-format
 msgid ""
 "\n"
 "    %s: %s (%s)"
 msgstr ""
 
-#: ../output.py:2179
+#: ../output.py:2883
 #, python-format
 msgid ""
 "\n"
 "        %s"
 msgstr ""
 
-#: ../output.py:2181
+#: ../output.py:2885
 msgid ""
 "\n"
 "        Not found"
 msgstr ""
 
 #. These should be the only three things we care about:
-#: ../output.py:2196
+#: ../output.py:2900
 msgid "Updated By"
 msgstr ""
 
-#: ../output.py:2197
+#: ../output.py:2901
 msgid "Downgraded By"
 msgstr ""
 
-#: ../output.py:2198
+#: ../output.py:2902
 msgid "Obsoleted By"
 msgstr ""
 
-#: ../output.py:2216
+#: ../output.py:2920
 msgid "Available"
 msgstr ""
 
-#: ../output.py:2243 ../output.py:2248
+#: ../output.py:2955 ../output.py:2968
 #, python-format
 msgid "--> Processing Conflict: %s conflicts %s"
 msgstr ""
 
-#: ../output.py:2252
+#: ../output.py:2974
 msgid "--> Populating transaction set with selected packages. Please wait."
 msgstr ""
 
-#: ../output.py:2256
+#: ../output.py:2983
 #, python-format
 msgid "---> Downloading header for %s to pack into transaction set."
 msgstr ""
 
-#: ../utils.py:99
+#. self.event(txmbr.name, count, len(base.tsInfo), count, )
+#. (te_current*100L)/te_total
+#: ../output.py:3248
+msgid "Verifying"
+msgstr ""
+
+#: ../utils.py:123
 msgid "Running"
 msgstr ""
 
-#: ../utils.py:100
+#: ../utils.py:124
 msgid "Sleeping"
 msgstr ""
 
-#: ../utils.py:101
+#: ../utils.py:125
 msgid "Uninterruptible"
 msgstr ""
 
-#: ../utils.py:102
+#: ../utils.py:126
 msgid "Zombie"
 msgstr ""
 
-#: ../utils.py:103
+#: ../utils.py:127
 msgid "Traced/Stopped"
 msgstr ""
 
-#: ../utils.py:104 ../yumcommands.py:994
+#: ../utils.py:128 ../yumcommands.py:2193
 msgid "Unknown"
 msgstr ""
 
-#: ../utils.py:115
+#: ../utils.py:153
 msgid "  The other application is: PackageKit"
 msgstr ""
 
-#: ../utils.py:117
+#: ../utils.py:155
 #, python-format
 msgid "  The other application is: %s"
 msgstr ""
 
-#: ../utils.py:120
+#: ../utils.py:158
 #, python-format
 msgid "    Memory : %5s RSS (%5sB VSZ)"
 msgstr ""
 
-#: ../utils.py:125
+#: ../utils.py:163
 #, python-format
 msgid "    Started: %s - %s ago"
 msgstr ""
 
-#: ../utils.py:127
+#: ../utils.py:165
 #, python-format
 msgid "    State  : %s, pid: %d"
 msgstr ""
 
-#: ../utils.py:170 ../yummain.py:43
+#: ../utils.py:194 ../yummain.py:43
 msgid ""
 "\n"
 "\n"
 "Exiting on user cancel"
 msgstr ""
 
-#: ../utils.py:176 ../yummain.py:49
+#: ../utils.py:206 ../yummain.py:49
 msgid ""
 "\n"
 "\n"
 "Exiting on Broken Pipe"
 msgstr ""
 
-#: ../utils.py:178 ../yummain.py:51
+#: ../utils.py:208 ../yummain.py:51
 #, python-format
 msgid ""
 "\n"
@@ -1420,47 +1604,41 @@ msgid ""
 "%s"
 msgstr ""
 
-#: ../utils.py:228 ../yummain.py:123
-msgid ""
-"Another app is currently holding the yum lock; exiting as configured by "
-"exit_on_lock"
-msgstr ""
-
-#: ../utils.py:287
+#: ../utils.py:326
 #, python-format
 msgid "PluginExit Error: %s"
 msgstr ""
 
-#: ../utils.py:290
+#: ../utils.py:329
 #, python-format
 msgid "Yum Error: %s"
 msgstr ""
 
-#: ../utils.py:342 ../yummain.py:150 ../yummain.py:189
+#: ../utils.py:387 ../yummain.py:147 ../yummain.py:186
 #, python-format
 msgid "Error: %s"
 msgstr ""
 
-#: ../utils.py:346 ../yummain.py:194
+#: ../utils.py:391 ../yummain.py:191
 msgid " You could try using --skip-broken to work around the problem"
 msgstr ""
 
-#: ../utils.py:348 ../yummain.py:87
+#: ../utils.py:393 ../yummain.py:87
 msgid " You could try running: rpm -Va --nofiles --nodigest"
 msgstr ""
 
-#: ../utils.py:355 ../yummain.py:160 ../yummain.py:202
+#: ../utils.py:400 ../yummain.py:157 ../yummain.py:199
 #, python-format
 msgid "Unknown Error(s): Exit Code: %d:"
 msgstr ""
 
-#: ../utils.py:361 ../yummain.py:208
+#: ../utils.py:406 ../yummain.py:205
 msgid ""
 "\n"
 "Dependencies Resolved"
 msgstr ""
 
-#: ../utils.py:376 ../yummain.py:234
+#: ../utils.py:422 ../yummain.py:237
 msgid "Complete!"
 msgstr ""
 
@@ -1472,7 +1650,7 @@ msgstr ""
 msgid "You need to be root to perform this command."
 msgstr ""
 
-#: ../yumcommands.py:59
+#: ../yumcommands.py:67
 msgid ""
 "\n"
 "You have enabled checking of packages via GPG keys. This is a good thing. \n"
@@ -1489,555 +1667,648 @@ msgid ""
 "For more information contact your distribution or package provider.\n"
 msgstr ""
 
-#: ../yumcommands.py:74
+#: ../yumcommands.py:82
 #, python-format
 msgid "Problem repository: %s"
 msgstr ""
 
-#: ../yumcommands.py:80
+#: ../yumcommands.py:96
 #, python-format
 msgid "Error: Need to pass a list of pkgs to %s"
 msgstr ""
 
-#: ../yumcommands.py:86
+#: ../yumcommands.py:114
+#, python-format
+msgid "Error: Need at least two packages to %s"
+msgstr ""
+
+#: ../yumcommands.py:129
+#, python-format
+msgid "Error: Need to pass a repoid. and command to %s"
+msgstr ""
+
+#: ../yumcommands.py:136 ../yumcommands.py:142
+#, python-format
+msgid "Error: Need to pass a single valid repoid. to %s"
+msgstr ""
+
+#: ../yumcommands.py:147
+#, python-format
+msgid "Error: Repo %s is not enabled"
+msgstr ""
+
+#: ../yumcommands.py:164
 msgid "Error: Need an item to match"
 msgstr ""
 
-#: ../yumcommands.py:92
+#: ../yumcommands.py:178
 msgid "Error: Need a group or list of groups"
 msgstr ""
 
-#: ../yumcommands.py:101
+#: ../yumcommands.py:195
 #, python-format
 msgid "Error: clean requires an option: %s"
 msgstr ""
 
-#: ../yumcommands.py:106
+#: ../yumcommands.py:201
 #, python-format
 msgid "Error: invalid clean argument: %r"
 msgstr ""
 
-#: ../yumcommands.py:119
+#: ../yumcommands.py:216
 msgid "No argument to shell"
 msgstr ""
 
-#: ../yumcommands.py:121
+#: ../yumcommands.py:218
 #, python-format
 msgid "Filename passed to shell: %s"
 msgstr ""
 
-#: ../yumcommands.py:125
+#: ../yumcommands.py:222
 #, python-format
 msgid "File %s given as argument to shell does not exist."
 msgstr ""
 
-#: ../yumcommands.py:131
+#: ../yumcommands.py:228
 msgid "Error: more than one file given as argument to shell."
 msgstr ""
 
-#: ../yumcommands.py:148
+#: ../yumcommands.py:247
 msgid ""
 "There are no enabled repos.\n"
 " Run \"yum repolist all\" to see the repos you have.\n"
 " You can enable repos with yum-config-manager --enable <repo>"
 msgstr ""
 
-#: ../yumcommands.py:200
+#: ../yumcommands.py:383
 msgid "PACKAGE..."
 msgstr ""
 
-#: ../yumcommands.py:203
+#: ../yumcommands.py:390
 msgid "Install a package or packages on your system"
 msgstr ""
 
-#: ../yumcommands.py:212
+#: ../yumcommands.py:421
 msgid "Setting up Install Process"
 msgstr ""
 
-#: ../yumcommands.py:223 ../yumcommands.py:245
+#: ../yumcommands.py:447 ../yumcommands.py:507
 msgid "[PACKAGE...]"
 msgstr ""
 
-#: ../yumcommands.py:226
+#: ../yumcommands.py:454
 msgid "Update a package or packages on your system"
 msgstr ""
 
-#: ../yumcommands.py:234
+#: ../yumcommands.py:483
 msgid "Setting up Update Process"
 msgstr ""
 
-#: ../yumcommands.py:248
+#: ../yumcommands.py:514
 msgid "Synchronize installed packages to the latest available versions"
 msgstr ""
 
-#: ../yumcommands.py:256
+#: ../yumcommands.py:543
 msgid "Setting up Distribution Synchronization Process"
 msgstr ""
 
-#: ../yumcommands.py:299
+#: ../yumcommands.py:603
 msgid "Display details about a package or group of packages"
 msgstr ""
 
-#: ../yumcommands.py:348
+#: ../yumcommands.py:672
 msgid "Installed Packages"
 msgstr ""
 
-#: ../yumcommands.py:356
+#: ../yumcommands.py:682
 msgid "Available Packages"
 msgstr ""
 
-#: ../yumcommands.py:360
+#: ../yumcommands.py:687
 msgid "Extra Packages"
 msgstr ""
 
-#: ../yumcommands.py:364
+#: ../yumcommands.py:691
 msgid "Updated Packages"
 msgstr ""
 
 #. This only happens in verbose mode
-#: ../yumcommands.py:372 ../yumcommands.py:379 ../yumcommands.py:667
+#: ../yumcommands.py:699 ../yumcommands.py:706 ../yumcommands.py:1539
 msgid "Obsoleting Packages"
 msgstr ""
 
-#: ../yumcommands.py:381
+#: ../yumcommands.py:708
 msgid "Recently Added Packages"
 msgstr ""
 
-#: ../yumcommands.py:388
+#: ../yumcommands.py:715
 msgid "No matching Packages to list"
 msgstr ""
 
-#: ../yumcommands.py:402
+#: ../yumcommands.py:766
 msgid "List a package or groups of packages"
 msgstr ""
 
-#: ../yumcommands.py:414
+#: ../yumcommands.py:797
 msgid "Remove a package or packages from your system"
 msgstr ""
 
-#: ../yumcommands.py:421
+#: ../yumcommands.py:845
 msgid "Setting up Remove Process"
 msgstr ""
 
-#: ../yumcommands.py:435
-msgid "Setting up Group Process"
+#: ../yumcommands.py:906
+msgid "Display, or use, the groups information"
 msgstr ""
 
-#: ../yumcommands.py:441
-msgid "No Groups on which to run command"
+#: ../yumcommands.py:909
+msgid "Setting up Group Process"
 msgstr ""
 
-#: ../yumcommands.py:454
-msgid "List available package groups"
+#: ../yumcommands.py:915
+msgid "No Groups on which to run command"
 msgstr ""
 
-#: ../yumcommands.py:474
-msgid "Install the packages in a group on your system"
+#: ../yumcommands.py:985
+#, python-format
+msgid "Invalid groups sub-command, use: %s."
 msgstr ""
 
-#: ../yumcommands.py:497
-msgid "Remove the packages in a group from your system"
+#: ../yumcommands.py:992
+msgid "There is no installed groups file."
 msgstr ""
 
-#: ../yumcommands.py:525
-msgid "Display details about a package group"
+#: ../yumcommands.py:994
+msgid "You don't have access to the groups DB."
 msgstr ""
 
-#: ../yumcommands.py:550
+#: ../yumcommands.py:1256
 msgid "Generate the metadata cache"
 msgstr ""
 
-#: ../yumcommands.py:556
+#: ../yumcommands.py:1282
 msgid "Making cache files for all metadata files."
 msgstr ""
 
-#: ../yumcommands.py:557
+#: ../yumcommands.py:1283
 msgid "This may take a while depending on the speed of this computer"
 msgstr ""
 
-#: ../yumcommands.py:578
+#: ../yumcommands.py:1312
 msgid "Metadata Cache Created"
 msgstr ""
 
-#: ../yumcommands.py:592
+#: ../yumcommands.py:1350
 msgid "Remove cached data"
 msgstr ""
 
-#: ../yumcommands.py:613
+#: ../yumcommands.py:1417
 msgid "Find what package provides the given value"
 msgstr ""
 
-#: ../yumcommands.py:633
+#: ../yumcommands.py:1485
 msgid "Check for available package updates"
 msgstr ""
 
-#: ../yumcommands.py:687
+#: ../yumcommands.py:1587
 msgid "Search package details for the given string"
 msgstr ""
 
-#: ../yumcommands.py:693
+#: ../yumcommands.py:1613
 msgid "Searching Packages: "
 msgstr ""
 
-#: ../yumcommands.py:710
+#: ../yumcommands.py:1666
 msgid "Update packages taking obsoletes into account"
 msgstr ""
 
-#: ../yumcommands.py:719
+#: ../yumcommands.py:1696
 msgid "Setting up Upgrade Process"
 msgstr ""
 
-#: ../yumcommands.py:737
+#: ../yumcommands.py:1731
 msgid "Install a local RPM"
 msgstr ""
 
-#: ../yumcommands.py:745
+#: ../yumcommands.py:1761
 msgid "Setting up Local Package Process"
 msgstr ""
 
-#: ../yumcommands.py:764
-msgid "Determine which package provides the given dependency"
-msgstr ""
-
-#: ../yumcommands.py:767
+#: ../yumcommands.py:1825
 msgid "Searching Packages for Dependency:"
 msgstr ""
 
-#: ../yumcommands.py:781
+#: ../yumcommands.py:1867
 msgid "Run an interactive yum shell"
 msgstr ""
 
-#: ../yumcommands.py:787
+#: ../yumcommands.py:1893
 msgid "Setting up Yum Shell"
 msgstr ""
 
-#: ../yumcommands.py:805
+#: ../yumcommands.py:1936
 msgid "List a package's dependencies"
 msgstr ""
 
-#: ../yumcommands.py:811
+#: ../yumcommands.py:1963
 msgid "Finding dependencies: "
 msgstr ""
 
-#: ../yumcommands.py:827
+#: ../yumcommands.py:2005
 msgid "Display the configured software repositories"
 msgstr ""
 
-#: ../yumcommands.py:893 ../yumcommands.py:894
+#: ../yumcommands.py:2094 ../yumcommands.py:2095
 msgid "enabled"
 msgstr ""
 
-#: ../yumcommands.py:920 ../yumcommands.py:921
+#: ../yumcommands.py:2121 ../yumcommands.py:2122
 msgid "disabled"
 msgstr ""
 
-#: ../yumcommands.py:937
+#: ../yumcommands.py:2137
 msgid "Repo-id      : "
 msgstr ""
 
-#: ../yumcommands.py:938
+#: ../yumcommands.py:2138
 msgid "Repo-name    : "
 msgstr ""
 
-#: ../yumcommands.py:941
+#: ../yumcommands.py:2141
 msgid "Repo-status  : "
 msgstr ""
 
-#: ../yumcommands.py:944
+#: ../yumcommands.py:2144
 msgid "Repo-revision: "
 msgstr ""
 
-#: ../yumcommands.py:948
+#: ../yumcommands.py:2148
 msgid "Repo-tags    : "
 msgstr ""
 
-#: ../yumcommands.py:954
+#: ../yumcommands.py:2154
 msgid "Repo-distro-tags: "
 msgstr ""
 
-#: ../yumcommands.py:959
+#: ../yumcommands.py:2159
 msgid "Repo-updated : "
 msgstr ""
 
-#: ../yumcommands.py:961
+#: ../yumcommands.py:2161
 msgid "Repo-pkgs    : "
 msgstr ""
 
-#: ../yumcommands.py:962
+#: ../yumcommands.py:2162
 msgid "Repo-size    : "
 msgstr ""
 
-#: ../yumcommands.py:969 ../yumcommands.py:990
+#: ../yumcommands.py:2169 ../yumcommands.py:2190
 msgid "Repo-baseurl : "
 msgstr ""
 
-#: ../yumcommands.py:977
+#: ../yumcommands.py:2177
 msgid "Repo-metalink: "
 msgstr ""
 
-#: ../yumcommands.py:981
+#: ../yumcommands.py:2181
 msgid "  Updated    : "
 msgstr ""
 
-#: ../yumcommands.py:984
+#: ../yumcommands.py:2184
 msgid "Repo-mirrors : "
 msgstr ""
 
-#: ../yumcommands.py:1000
+#: ../yumcommands.py:2199
 #, python-format
 msgid "Never (last: %s)"
 msgstr ""
 
-#: ../yumcommands.py:1002
+#: ../yumcommands.py:2201
 #, python-format
 msgid "Instant (last: %s)"
 msgstr ""
 
-#: ../yumcommands.py:1005
+#: ../yumcommands.py:2204
 #, python-format
 msgid "%s second(s) (last: %s)"
 msgstr ""
 
-#: ../yumcommands.py:1007
+#: ../yumcommands.py:2206
 msgid "Repo-expire  : "
 msgstr ""
 
-#: ../yumcommands.py:1010
+#: ../yumcommands.py:2209
 msgid "Repo-exclude : "
 msgstr ""
 
-#: ../yumcommands.py:1014
+#: ../yumcommands.py:2213
 msgid "Repo-include : "
 msgstr ""
 
-#: ../yumcommands.py:1018
+#: ../yumcommands.py:2217
 msgid "Repo-excluded: "
 msgstr ""
 
-#: ../yumcommands.py:1022
+#: ../yumcommands.py:2221
 msgid "Repo-filename: "
 msgstr ""
 
 #. Work out the first (id) and last (enabled/disalbed/count),
 #. then chop the middle (name)...
-#: ../yumcommands.py:1032 ../yumcommands.py:1061
+#: ../yumcommands.py:2230 ../yumcommands.py:2259
 msgid "repo id"
 msgstr ""
 
-#: ../yumcommands.py:1049 ../yumcommands.py:1050 ../yumcommands.py:1068
+#: ../yumcommands.py:2247 ../yumcommands.py:2248 ../yumcommands.py:2266
 msgid "status"
 msgstr ""
 
-#: ../yumcommands.py:1062
+#: ../yumcommands.py:2260
 msgid "repo name"
 msgstr ""
 
-#: ../yumcommands.py:1099
+#: ../yumcommands.py:2332
 msgid "Display a helpful usage message"
 msgstr ""
 
-#: ../yumcommands.py:1133
+#: ../yumcommands.py:2374
 #, python-format
 msgid "No help available for %s"
 msgstr ""
 
-#: ../yumcommands.py:1138
+#: ../yumcommands.py:2379
 msgid ""
 "\n"
 "\n"
 "aliases: "
 msgstr ""
 
-#: ../yumcommands.py:1140
+#: ../yumcommands.py:2381
 msgid ""
 "\n"
 "\n"
 "alias: "
 msgstr ""
 
-#: ../yumcommands.py:1168
+#: ../yumcommands.py:2466
 msgid "Setting up Reinstall Process"
 msgstr ""
 
-#: ../yumcommands.py:1176
+#: ../yumcommands.py:2478
 msgid "reinstall a package"
 msgstr ""
 
-#: ../yumcommands.py:1195
+#: ../yumcommands.py:2541
 msgid "Setting up Downgrade Process"
 msgstr ""
 
-#: ../yumcommands.py:1202
+#: ../yumcommands.py:2552
 msgid "downgrade a package"
 msgstr ""
 
-#: ../yumcommands.py:1216
+#: ../yumcommands.py:2591
 msgid "Display a version for the machine and/or available repos."
 msgstr ""
 
-#: ../yumcommands.py:1255
+#: ../yumcommands.py:2643
 msgid " Yum version groups:"
 msgstr ""
 
-#: ../yumcommands.py:1265
+#: ../yumcommands.py:2653
 msgid " Group   :"
 msgstr ""
 
-#: ../yumcommands.py:1266
+#: ../yumcommands.py:2654
 msgid " Packages:"
 msgstr ""
 
-#: ../yumcommands.py:1295
+#: ../yumcommands.py:2683
 msgid "Installed:"
 msgstr ""
 
-#: ../yumcommands.py:1303
+#: ../yumcommands.py:2691
 msgid "Group-Installed:"
 msgstr ""
 
-#: ../yumcommands.py:1312
+#: ../yumcommands.py:2700
 msgid "Available:"
 msgstr ""
 
-#: ../yumcommands.py:1321
+#: ../yumcommands.py:2709
 msgid "Group-Available:"
 msgstr ""
 
-#: ../yumcommands.py:1360
+#: ../yumcommands.py:2783
 msgid "Display, or use, the transaction history"
 msgstr ""
 
-#: ../yumcommands.py:1432
+#: ../yumcommands.py:2876 ../yumcommands.py:2880
+msgid "Transactions:"
+msgstr ""
+
+#: ../yumcommands.py:2881
+msgid "Begin time  :"
+msgstr ""
+
+#: ../yumcommands.py:2882
+msgid "End time    :"
+msgstr ""
+
+#: ../yumcommands.py:2883
+msgid "Counts      :"
+msgstr ""
+
+#: ../yumcommands.py:2884
+msgid "  NEVRAC :"
+msgstr ""
+
+#: ../yumcommands.py:2885
+msgid "  NEVRA  :"
+msgstr ""
+
+#: ../yumcommands.py:2886
+msgid "  NA     :"
+msgstr ""
+
+#: ../yumcommands.py:2887
+msgid "  NEVR   :"
+msgstr ""
+
+#: ../yumcommands.py:2888
+msgid "  rpm DB :"
+msgstr ""
+
+#: ../yumcommands.py:2889
+msgid "  yum DB :"
+msgstr ""
+
+#: ../yumcommands.py:2922
 #, python-format
 msgid "Invalid history sub-command, use: %s."
 msgstr ""
 
-#: ../yumcommands.py:1439
+#: ../yumcommands.py:2929
 msgid "You don't have access to the history DB."
 msgstr ""
 
-#: ../yumcommands.py:1487
+#: ../yumcommands.py:3036
 msgid "Check for problems in the rpmdb"
 msgstr ""
 
-#: ../yumcommands.py:1514
+#: ../yumcommands.py:3102
 msgid "load a saved transaction from filename"
 msgstr ""
 
-#: ../yumcommands.py:1518
+#: ../yumcommands.py:3119
 msgid "No saved transaction file specified."
 msgstr ""
 
-#: ../yumcommands.py:1522
+#: ../yumcommands.py:3123
 #, python-format
 msgid "loading transaction from %s"
 msgstr ""
 
-#: ../yumcommands.py:1528
+#: ../yumcommands.py:3129
 #, python-format
 msgid "Transaction loaded from %s with %s members"
 msgstr ""
 
+#: ../yumcommands.py:3169
+msgid "Simple way to swap packages, isntead of using shell"
+msgstr ""
+
+#: ../yumcommands.py:3264
+msgid ""
+"Treat a repo. as a group of packages, so we can install/remove all of them"
+msgstr ""
+
+#: ../yumcommands.py:3341
+#, python-format
+msgid "%d package to update"
+msgid_plural "%d packages to update"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../yumcommands.py:3370
+#, python-format
+msgid "%d package to remove/reinstall"
+msgid_plural "%d packages to remove/reinstall"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../yumcommands.py:3413
+#, python-format
+msgid "%d package to remove/sync"
+msgid_plural "%d packages to remove/sync"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../yumcommands.py:3417
+#, python-format
+msgid "Not a valid sub-command of %s"
+msgstr ""
+
 #. This is mainly for PackageSackError from rpmdb.
 #: ../yummain.py:84
 #, python-format
 msgid " Yum checks failed: %s"
 msgstr ""
 
-#: ../yummain.py:114
-msgid ""
-"Another app is currently holding the yum lock; waiting for it to exit..."
+#: ../yummain.py:98
+msgid "No read/execute access in current directory, moving to /"
 msgstr ""
 
-#: ../yummain.py:120
-msgid "Can't create lock file; exiting"
+#: ../yummain.py:106
+msgid "No getcwd() access in current directory, moving to /"
 msgstr ""
 
 #. Depsolve stage
-#: ../yummain.py:167
+#: ../yummain.py:164
 msgid "Resolving Dependencies"
 msgstr ""
 
-#: ../yummain.py:230
+#: ../yummain.py:227 ../yummain.py:235
 #, python-format
-msgid "Your transaction was saved, rerun it with: yum load-transaction %s"
+msgid ""
+"Your transaction was saved, rerun it with:\n"
+" yum load-transaction %s"
 msgstr ""
 
-#: ../yummain.py:288
+#: ../yummain.py:312
 msgid ""
 "\n"
 "\n"
 "Exiting on user cancel."
 msgstr ""
 
-#: ../yum/depsolve.py:84
+#: ../yum/depsolve.py:127
 msgid "doTsSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/depsolve.py:99
+#: ../yum/depsolve.py:143
 msgid "Setting up TransactionSets before config class is up"
 msgstr ""
 
-#: ../yum/depsolve.py:153
+#: ../yum/depsolve.py:200
 #, python-format
 msgid "Invalid tsflag in config file: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:164
+#: ../yum/depsolve.py:218
 #, python-format
 msgid "Searching pkgSack for dep: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:207
+#: ../yum/depsolve.py:269
 #, python-format
 msgid "Member: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:221 ../yum/depsolve.py:793
+#: ../yum/depsolve.py:283 ../yum/depsolve.py:937
 #, python-format
 msgid "%s converted to install"
 msgstr ""
 
-#: ../yum/depsolve.py:233
+#: ../yum/depsolve.py:295
 #, python-format
 msgid "Adding Package %s in mode %s"
 msgstr ""
 
-#: ../yum/depsolve.py:249
+#: ../yum/depsolve.py:311
 #, python-format
 msgid "Removing Package %s"
 msgstr ""
 
-#: ../yum/depsolve.py:271
+#: ../yum/depsolve.py:333
 #, python-format
 msgid "%s requires: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:312
+#: ../yum/depsolve.py:374
 #, python-format
 msgid "%s requires %s"
 msgstr ""
 
-#: ../yum/depsolve.py:339
+#: ../yum/depsolve.py:401
 msgid "Needed Require has already been looked up, cheating"
 msgstr ""
 
-#: ../yum/depsolve.py:349
+#: ../yum/depsolve.py:411
 #, python-format
 msgid "Needed Require is not a package name. Looking up: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:357
+#: ../yum/depsolve.py:419
 #, python-format
 msgid "Potential Provider: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:380
+#: ../yum/depsolve.py:442
 #, python-format
 msgid "Mode is %s for provider of %s: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:384
+#: ../yum/depsolve.py:446
 #, python-format
 msgid "Mode for pkg providing %s: %s"
 msgstr ""
@@ -2045,991 +2316,1140 @@ msgstr ""
 #. the thing it needs is being updated or obsoleted away
 #. try to update the requiring package in hopes that all this problem goes
 #. away :(
-#: ../yum/depsolve.py:389 ../yum/depsolve.py:406
+#: ../yum/depsolve.py:451 ../yum/depsolve.py:486
 #, python-format
 msgid "Trying to update %s to resolve dep"
 msgstr ""
 
-#: ../yum/depsolve.py:400 ../yum/depsolve.py:410
+#: ../yum/depsolve.py:480
 #, python-format
 msgid "No update paths found for %s. Failure!"
 msgstr ""
 
-#: ../yum/depsolve.py:416
+#: ../yum/depsolve.py:491
+#, python-format
+msgid "No update paths found for %s. Failure due to requirement: %s!"
+msgstr ""
+
+#: ../yum/depsolve.py:507
+#, python-format
+msgid "Update for %s. Doesn't fix requirement: %s!"
+msgstr ""
+
+#: ../yum/depsolve.py:514
 #, python-format
 msgid "TSINFO: %s package requiring %s marked as erase"
 msgstr ""
 
-#: ../yum/depsolve.py:429
+#: ../yum/depsolve.py:527
 #, python-format
 msgid "TSINFO: Obsoleting %s with %s to resolve dep."
 msgstr ""
 
-#: ../yum/depsolve.py:432
+#: ../yum/depsolve.py:530
 #, python-format
 msgid "TSINFO: Updating %s to resolve dep."
 msgstr ""
 
-#: ../yum/depsolve.py:440
+#: ../yum/depsolve.py:538
 #, python-format
 msgid "Cannot find an update path for dep for: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:471
+#: ../yum/depsolve.py:569
 #, python-format
 msgid "Quick matched %s to require for %s"
 msgstr ""
 
 #. is it already installed?
-#: ../yum/depsolve.py:513
+#: ../yum/depsolve.py:611
 #, python-format
 msgid "%s is in providing packages but it is already installed, removing."
 msgstr ""
 
-#: ../yum/depsolve.py:529
+#: ../yum/depsolve.py:627
 #, python-format
 msgid "Potential resolving package %s has newer instance in ts."
 msgstr ""
 
-#: ../yum/depsolve.py:540
+#: ../yum/depsolve.py:638
 #, python-format
 msgid "Potential resolving package %s has newer instance installed."
 msgstr ""
 
-#: ../yum/depsolve.py:558
+#: ../yum/depsolve.py:656
 #, python-format
 msgid "%s already in ts, skipping this one"
 msgstr ""
 
-#: ../yum/depsolve.py:607
+#: ../yum/depsolve.py:705
 #, python-format
 msgid "TSINFO: Marking %s as update for %s"
 msgstr ""
 
-#: ../yum/depsolve.py:616
+#: ../yum/depsolve.py:714
 #, python-format
 msgid "TSINFO: Marking %s as install for %s"
 msgstr ""
 
-#: ../yum/depsolve.py:727 ../yum/depsolve.py:819
+#: ../yum/depsolve.py:849 ../yum/depsolve.py:967
 msgid "Success - empty transaction"
 msgstr ""
 
-#: ../yum/depsolve.py:767 ../yum/depsolve.py:783
+#: ../yum/depsolve.py:889 ../yum/depsolve.py:927
 msgid "Restarting Loop"
 msgstr ""
 
-#: ../yum/depsolve.py:799
+#: ../yum/depsolve.py:947
 msgid "Dependency Process ending"
 msgstr ""
 
-#: ../yum/depsolve.py:821
+#: ../yum/depsolve.py:969
 msgid "Success - deps resolved"
 msgstr ""
 
-#: ../yum/depsolve.py:845
+#: ../yum/depsolve.py:993
 #, python-format
 msgid "Checking deps for %s"
 msgstr ""
 
-#: ../yum/depsolve.py:931
+#: ../yum/depsolve.py:1082
 #, python-format
 msgid "looking for %s as a requirement of %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1169
+#: ../yum/depsolve.py:1349
 #, python-format
 msgid "Running compare_providers() for %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1196 ../yum/depsolve.py:1202
+#: ../yum/depsolve.py:1376 ../yum/depsolve.py:1382
 #, python-format
 msgid "better arch in po %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1298
+#: ../yum/depsolve.py:1496
 #, python-format
 msgid "%s obsoletes %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1310
+#: ../yum/depsolve.py:1508
 #, python-format
 msgid ""
 "archdist compared %s to %s on %s\n"
 "  Winner: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1318
+#: ../yum/depsolve.py:1516
 #, python-format
 msgid "common sourcerpm %s and %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1322
+#: ../yum/depsolve.py:1520
 #, python-format
 msgid "base package %s is installed for %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1328
+#: ../yum/depsolve.py:1526
 #, python-format
 msgid "common prefix of %s between %s and %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1359
+#: ../yum/depsolve.py:1543
 #, python-format
-msgid "requires minimal: %d"
+msgid "provides vercmp: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1363
+#: ../yum/depsolve.py:1547 ../yum/depsolve.py:1581
 #, python-format
 msgid " Winner: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1368
+#: ../yum/depsolve.py:1577
+#, python-format
+msgid "requires minimal: %d"
+msgstr ""
+
+#: ../yum/depsolve.py:1586
 #, python-format
 msgid " Loser(with %d): %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1384
+#: ../yum/depsolve.py:1602
 #, python-format
 msgid "Best Order: %s"
 msgstr ""
 
-#: ../yum/__init__.py:234
+#: ../yum/__init__.py:274
 msgid "doConfigSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/__init__.py:482
+#: ../yum/__init__.py:553
+#, python-format
+msgid "Skipping unreadable repository %s"
+msgstr ""
+
+#: ../yum/__init__.py:572
 #, python-format
 msgid "Repository %r: Error parsing config: %s"
 msgstr ""
 
-#: ../yum/__init__.py:488
+#: ../yum/__init__.py:578
 #, python-format
 msgid "Repository %r is missing name in configuration, using id"
 msgstr ""
 
-#: ../yum/__init__.py:526
+#: ../yum/__init__.py:618
 msgid "plugins already initialised"
 msgstr ""
 
-#: ../yum/__init__.py:533
+#: ../yum/__init__.py:627
 msgid "doRpmDBSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/__init__.py:544
+#: ../yum/__init__.py:638
 msgid "Reading Local RPMDB"
 msgstr ""
 
-#: ../yum/__init__.py:567
+#: ../yum/__init__.py:668
 msgid "doRepoSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/__init__.py:630
+#: ../yum/__init__.py:722
 msgid "doSackSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/__init__.py:660
+#: ../yum/__init__.py:752
 msgid "Setting up Package Sacks"
 msgstr ""
 
-#: ../yum/__init__.py:705
+#: ../yum/__init__.py:797
 #, python-format
 msgid "repo object for repo %s lacks a _resetSack method\n"
 msgstr ""
 
-#: ../yum/__init__.py:706
+#: ../yum/__init__.py:798
 msgid "therefore this repo cannot be reset.\n"
 msgstr ""
 
-#: ../yum/__init__.py:711
+#: ../yum/__init__.py:806
 msgid "doUpdateSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/__init__.py:723
+#: ../yum/__init__.py:818
 msgid "Building updates object"
 msgstr ""
 
-#: ../yum/__init__.py:765
+#: ../yum/__init__.py:862
 msgid "doGroupSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/__init__.py:790
+#: ../yum/__init__.py:887
 msgid "Getting group metadata"
 msgstr ""
 
-#: ../yum/__init__.py:816
+#: ../yum/__init__.py:915
 #, python-format
 msgid "Adding group file from repository: %s"
 msgstr ""
 
-#: ../yum/__init__.py:827
+#: ../yum/__init__.py:918
+#, python-format
+msgid "Failed to retrieve group file for repository: %s"
+msgstr ""
+
+#: ../yum/__init__.py:924
 #, python-format
 msgid "Failed to add groups file for repository: %s - %s"
 msgstr ""
 
-#: ../yum/__init__.py:833
+#: ../yum/__init__.py:930
 msgid "No Groups Available in any repository"
 msgstr ""
 
-#: ../yum/__init__.py:845
+#: ../yum/__init__.py:945
 msgid "Getting pkgtags metadata"
 msgstr ""
 
-#: ../yum/__init__.py:855
+#: ../yum/__init__.py:955
 #, python-format
 msgid "Adding tags from repository: %s"
 msgstr ""
 
-#: ../yum/__init__.py:866
+#: ../yum/__init__.py:966
 #, python-format
 msgid "Failed to add Pkg Tags for repository: %s - %s"
 msgstr ""
 
-#: ../yum/__init__.py:944
+#: ../yum/__init__.py:1059
 msgid "Importing additional filelist information"
 msgstr ""
 
-#: ../yum/__init__.py:958
+#: ../yum/__init__.py:1077
 #, python-format
 msgid "The program %s%s%s is found in the yum-utils package."
 msgstr ""
 
-#: ../yum/__init__.py:966
+#: ../yum/__init__.py:1094
 msgid ""
 "There are unfinished transactions remaining. You might consider running yum-"
 "complete-transaction first to finish them."
 msgstr ""
 
-#: ../yum/__init__.py:983
+#: ../yum/__init__.py:1111
 msgid "--> Finding unneeded leftover dependencies"
 msgstr ""
 
-#: ../yum/__init__.py:1041
+#: ../yum/__init__.py:1169
 #, python-format
 msgid "Protected multilib versions: %s != %s"
 msgstr ""
 
-#: ../yum/__init__.py:1096
+#. People are confused about protected mutilib ... so give
+#. them a nicer message.
+#: ../yum/__init__.py:1173
+#, python-format
+msgid ""
+" Multilib version problems found. This often means that the root\n"
+"cause is something else and multilib version checking is just\n"
+"pointing out that there is a problem. Eg.:\n"
+"\n"
+"  1. You have an upgrade for %(name)s which is missing some\n"
+"     dependency that another package requires. Yum is trying to\n"
+"     solve this by installing an older version of %(name)s of the\n"
+"     different architecture. If you exclude the bad architecture\n"
+"     yum will tell you what the root cause is (which package\n"
+"     requires what). You can try redoing the upgrade with\n"
+"     --exclude %(name)s.otherarch ... this should give you an error\n"
+"     message showing the root cause of the problem.\n"
+"\n"
+"  2. You have multiple architectures of %(name)s installed, but\n"
+"     yum can only see an upgrade for one of those arcitectures.\n"
+"     If you don't want/need both architectures anymore then you\n"
+"     can remove the one with the missing update and everything\n"
+"     will work.\n"
+"\n"
+"  3. You have duplicate versions of %(name)s installed already.\n"
+"     You can use \"yum check\" to get yum show these errors.\n"
+"\n"
+"...you can also use --setopt=protected_multilib=false to remove\n"
+"this checking, however this is almost never the correct thing to\n"
+"do as something else is very likely to go wrong (often causing\n"
+"much more problems).\n"
+"\n"
+msgstr ""
+
+#: ../yum/__init__.py:1257
 #, python-format
 msgid "Trying to remove \"%s\", which is protected"
 msgstr ""
 
-#: ../yum/__init__.py:1217
+#: ../yum/__init__.py:1378
 msgid ""
 "\n"
 "Packages skipped because of dependency problems:"
 msgstr ""
 
-#: ../yum/__init__.py:1221
+#: ../yum/__init__.py:1382
 #, python-format
 msgid "    %s from %s"
 msgstr ""
 
 #. FIXME: _N()
-#: ../yum/__init__.py:1391
+#: ../yum/__init__.py:1556
 #, python-format
 msgid "** Found %d pre-existing rpmdb problem(s), 'yum check' output follows:"
 msgstr ""
 
-#: ../yum/__init__.py:1395
+#: ../yum/__init__.py:1560
 msgid "Warning: RPMDB altered outside of yum."
 msgstr ""
 
-#: ../yum/__init__.py:1407
+#: ../yum/__init__.py:1572
 msgid "missing requires"
 msgstr ""
 
-#: ../yum/__init__.py:1408
+#: ../yum/__init__.py:1573
 msgid "installed conflict"
 msgstr ""
 
-#: ../yum/__init__.py:1525
+#: ../yum/__init__.py:1709
 msgid ""
 "Warning: scriptlet or other non-fatal errors occurred during transaction."
 msgstr ""
 
-#: ../yum/__init__.py:1535
+#: ../yum/__init__.py:1719
 msgid "Transaction couldn't start:"
 msgstr ""
 
 #. should this be 'to_unicoded'?
-#: ../yum/__init__.py:1538
+#: ../yum/__init__.py:1722
 msgid "Could not run transaction."
 msgstr ""
 
-#: ../yum/__init__.py:1552
+#: ../yum/__init__.py:1736
 #, python-format
 msgid "Failed to remove transaction file %s"
 msgstr ""
 
 #. maybe a file log here, too
 #. but raising an exception is not going to do any good
-#: ../yum/__init__.py:1590
+#: ../yum/__init__.py:1792
 #, python-format
 msgid "%s was supposed to be installed but is not!"
 msgstr ""
 
 #. maybe a file log here, too
 #. but raising an exception is not going to do any good
-#: ../yum/__init__.py:1651
+#. Note: This actually triggers atm. because we can't
+#. always find the erased txmbr to set it when
+#. we should.
+#: ../yum/__init__.py:1869
 #, python-format
 msgid "%s was supposed to be removed but is not!"
 msgstr ""
 
-#: ../yum/__init__.py:1768
+#. Another copy seems to be running.
+#: ../yum/__init__.py:2004
 #, python-format
-msgid "Could not open lock %s: %s"
+msgid "Existing lock %s: another copy is running as pid %s."
 msgstr ""
 
 #. Whoa. What the heck happened?
-#: ../yum/__init__.py:1785
+#: ../yum/__init__.py:2053
 #, python-format
-msgid "Unable to check if PID %s is active"
+msgid "Could not create lock at %s: %s "
 msgstr ""
 
-#. Another copy seems to be running.
-#: ../yum/__init__.py:1789
+#: ../yum/__init__.py:2065
 #, python-format
-msgid "Existing lock %s: another copy is running as pid %s."
+msgid "Could not open lock %s: %s"
 msgstr ""
 
+#. The pid doesn't exist
 #. Whoa. What the heck happened?
-#: ../yum/__init__.py:1830
+#: ../yum/__init__.py:2082
 #, python-format
-msgid "Could not create lock at %s: %s "
+msgid "Unable to check if PID %s is active"
 msgstr ""
 
-#: ../yum/__init__.py:1875
+#: ../yum/__init__.py:2132
 #, python-format
 msgid ""
 "Package does not match intended download. Suggestion: run yum "
 "--enablerepo=%s clean metadata"
 msgstr ""
 
-#: ../yum/__init__.py:1891
+#: ../yum/__init__.py:2155
 msgid "Could not perform checksum"
 msgstr ""
 
-#: ../yum/__init__.py:1894
+#: ../yum/__init__.py:2158
 msgid "Package does not match checksum"
 msgstr ""
 
-#: ../yum/__init__.py:1946
+#: ../yum/__init__.py:2222
 #, python-format
 msgid "package fails checksum but caching is enabled for %s"
 msgstr ""
 
-#: ../yum/__init__.py:1949 ../yum/__init__.py:1979
+#: ../yum/__init__.py:2225 ../yum/__init__.py:2268
 #, python-format
 msgid "using local copy of %s"
 msgstr ""
 
-#: ../yum/__init__.py:1991
-#, python-format
-msgid ""
-"Insufficient space in download directory %s\n"
-"    * free   %s\n"
-"    * needed %s"
+#. caller handles errors
+#: ../yum/__init__.py:2342
+msgid "exiting because --downloadonly specified"
 msgstr ""
 
-#: ../yum/__init__.py:2052
+#: ../yum/__init__.py:2371
 msgid "Header is not complete."
 msgstr ""
 
-#: ../yum/__init__.py:2089
+#: ../yum/__init__.py:2411
 #, python-format
 msgid ""
 "Header not in local cache and caching-only mode enabled. Cannot download %s"
 msgstr ""
 
-#: ../yum/__init__.py:2147
+#: ../yum/__init__.py:2471
 #, python-format
 msgid "Public key for %s is not installed"
 msgstr ""
 
-#: ../yum/__init__.py:2151
+#: ../yum/__init__.py:2475
 #, python-format
 msgid "Problem opening package %s"
 msgstr ""
 
-#: ../yum/__init__.py:2159
+#: ../yum/__init__.py:2483
 #, python-format
 msgid "Public key for %s is not trusted"
 msgstr ""
 
-#: ../yum/__init__.py:2163
+#: ../yum/__init__.py:2487
 #, python-format
 msgid "Package %s is not signed"
 msgstr ""
 
-#: ../yum/__init__.py:2202
+#: ../yum/__init__.py:2529
 #, python-format
 msgid "Cannot remove %s"
 msgstr ""
 
-#: ../yum/__init__.py:2206
+#: ../yum/__init__.py:2533
 #, python-format
 msgid "%s removed"
 msgstr ""
 
-#: ../yum/__init__.py:2252
+#: ../yum/__init__.py:2594
 #, python-format
 msgid "Cannot remove %s file %s"
 msgstr ""
 
-#: ../yum/__init__.py:2256
+#: ../yum/__init__.py:2598
 #, python-format
 msgid "%s file %s removed"
 msgstr ""
 
-#: ../yum/__init__.py:2258
+#: ../yum/__init__.py:2600
 #, python-format
-msgid "%d %s files removed"
-msgstr ""
+msgid "%d %s file removed"
+msgid_plural "%d %s files removed"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../yum/__init__.py:2327
+#: ../yum/__init__.py:2712
 #, python-format
 msgid "More than one identical match in sack for %s"
 msgstr ""
 
-#: ../yum/__init__.py:2333
+#: ../yum/__init__.py:2718
 #, python-format
 msgid "Nothing matches %s.%s %s:%s-%s from update"
 msgstr ""
 
-#: ../yum/__init__.py:2632
+#: ../yum/__init__.py:3096
 msgid ""
 "searchPackages() will go away in a future version of Yum."
 "                      Use searchGenerator() instead. \n"
 msgstr ""
 
-#: ../yum/__init__.py:2675
+#: ../yum/__init__.py:3149
 #, python-format
-msgid "Searching %d packages"
-msgstr ""
+msgid "Searching %d package"
+msgid_plural "Searching %d packages"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../yum/__init__.py:2679
+#: ../yum/__init__.py:3153
 #, python-format
 msgid "searching package %s"
 msgstr ""
 
-#: ../yum/__init__.py:2691
+#: ../yum/__init__.py:3165
 msgid "searching in file entries"
 msgstr ""
 
-#: ../yum/__init__.py:2698
+#: ../yum/__init__.py:3172
 msgid "searching in provides entries"
 msgstr ""
 
-#: ../yum/__init__.py:2777
+#: ../yum/__init__.py:3369
 msgid "No group data available for configured repositories"
 msgstr ""
 
-#: ../yum/__init__.py:2808 ../yum/__init__.py:2827 ../yum/__init__.py:2858
-#: ../yum/__init__.py:2864 ../yum/__init__.py:2953 ../yum/__init__.py:2957
-#: ../yum/__init__.py:3339
+#: ../yum/__init__.py:3466 ../yum/__init__.py:3500 ../yum/__init__.py:3576
+#: ../yum/__init__.py:3582 ../yum/__init__.py:3719 ../yum/__init__.py:3723
+#: ../yum/__init__.py:4298
 #, python-format
 msgid "No Group named %s exists"
 msgstr ""
 
-#: ../yum/__init__.py:2839 ../yum/__init__.py:2973
+#: ../yum/__init__.py:3512 ../yum/__init__.py:3740
 #, python-format
 msgid "package %s was not marked in group %s"
 msgstr ""
 
-#: ../yum/__init__.py:2887
+#. (upgrade and igroup_data[pkg] == 'available')):
+#: ../yum/__init__.py:3622
+#, python-format
+msgid "Skipping package %s from group %s"
+msgstr ""
+
+#: ../yum/__init__.py:3628
 #, python-format
 msgid "Adding package %s from group %s"
 msgstr ""
 
-#: ../yum/__init__.py:2891
+#: ../yum/__init__.py:3649
 #, python-format
 msgid "No package named %s available to be installed"
 msgstr ""
 
-#: ../yum/__init__.py:2941
+#: ../yum/__init__.py:3702
 #, python-format
-msgid "Warning: Group %s does not have any packages."
+msgid "Warning: Group %s does not have any packages to install."
 msgstr ""
 
-#: ../yum/__init__.py:2943
+#: ../yum/__init__.py:3704
 #, python-format
 msgid "Group %s does have %u conditional packages, which may get installed."
 msgstr ""
 
+#: ../yum/__init__.py:3794
+#, python-format
+msgid "Skipping group %s from environment %s"
+msgstr ""
+
 #. This can happen due to excludes after .up has
 #. happened.
-#: ../yum/__init__.py:3002
+#: ../yum/__init__.py:3858
 #, python-format
 msgid "Package tuple %s could not be found in packagesack"
 msgstr ""
 
-#: ../yum/__init__.py:3022
+#: ../yum/__init__.py:3886
 #, python-format
 msgid "Package tuple %s could not be found in rpmdb"
 msgstr ""
 
-#: ../yum/__init__.py:3079 ../yum/__init__.py:3129
+#: ../yum/__init__.py:3949 ../yum/__init__.py:4012
 #, python-format
 msgid "Invalid version flag from: %s"
 msgstr ""
 
-#: ../yum/__init__.py:3096 ../yum/__init__.py:3101
+#: ../yum/__init__.py:3973 ../yum/__init__.py:3979 ../yum/__init__.py:4036
+#: ../yum/__init__.py:4042
 #, python-format
 msgid "No Package found for %s"
 msgstr ""
 
-#: ../yum/__init__.py:3401
+#: ../yum/__init__.py:4245 ../yum/__init__.py:4274
+#, python-format
+msgid "Warning: Environment Group %s does not exist."
+msgstr ""
+
+#: ../yum/__init__.py:4397
+#, python-format
+msgid "Package: %s - can't co-install with %s"
+msgstr ""
+
+#: ../yum/__init__.py:4437
 msgid "Package Object was not a package object instance"
 msgstr ""
 
-#: ../yum/__init__.py:3405
+#: ../yum/__init__.py:4441
 msgid "Nothing specified to install"
 msgstr ""
 
-#: ../yum/__init__.py:3424 ../yum/__init__.py:4283
+#: ../yum/__init__.py:4465 ../yum/__init__.py:5410
 #, python-format
 msgid "Checking for virtual provide or file-provide for %s"
 msgstr ""
 
-#: ../yum/__init__.py:3430 ../yum/__init__.py:3775 ../yum/__init__.py:3969
-#: ../yum/__init__.py:4289
-#, python-format
-msgid "No Match for argument: %s"
-msgstr ""
-
-#: ../yum/__init__.py:3507
+#: ../yum/__init__.py:4542
 #, python-format
 msgid "Package %s installed and not available"
 msgstr ""
 
-#: ../yum/__init__.py:3510
+#: ../yum/__init__.py:4545
 msgid "No package(s) available to install"
 msgstr ""
 
-#: ../yum/__init__.py:3522
+#: ../yum/__init__.py:4557
 #, python-format
 msgid "Package: %s  - already in transaction set"
 msgstr ""
 
-#: ../yum/__init__.py:3550
+#: ../yum/__init__.py:4589
 #, python-format
 msgid "Package %s is obsoleted by %s which is already installed"
 msgstr ""
 
-#: ../yum/__init__.py:3555
+#: ../yum/__init__.py:4594
 #, python-format
 msgid ""
 "Package %s is obsoleted by %s, but obsoleting package does not provide for "
 "requirements"
 msgstr ""
 
-#: ../yum/__init__.py:3558
+#: ../yum/__init__.py:4597
 #, python-format
 msgid "Package %s is obsoleted by %s, trying to install %s instead"
 msgstr ""
 
-#: ../yum/__init__.py:3566
+#: ../yum/__init__.py:4605
 #, python-format
 msgid "Package %s already installed and latest version"
 msgstr ""
 
-#: ../yum/__init__.py:3580
+#: ../yum/__init__.py:4619
 #, python-format
 msgid "Package matching %s already installed. Checking for update."
 msgstr ""
 
 #. update everything (the easy case)
-#: ../yum/__init__.py:3684
+#: ../yum/__init__.py:4751
 msgid "Updating Everything"
 msgstr ""
 
-#: ../yum/__init__.py:3708 ../yum/__init__.py:3849 ../yum/__init__.py:3879
-#: ../yum/__init__.py:3915
+#: ../yum/__init__.py:4775 ../yum/__init__.py:4930 ../yum/__init__.py:4975
+#: ../yum/__init__.py:5011
 #, python-format
 msgid "Not Updating Package that is already obsoleted: %s.%s %s:%s-%s"
 msgstr ""
 
-#: ../yum/__init__.py:3753 ../yum/__init__.py:3965
+#: ../yum/__init__.py:4830 ../yum/__init__.py:5072
 #, python-format
 msgid "%s"
 msgstr ""
 
-#: ../yum/__init__.py:3838
+#: ../yum/__init__.py:4854 ../yum/__init__.py:5080 ../yum/__init__.py:5416
+#, python-format
+msgid "No Match for argument: %s"
+msgstr ""
+
+#: ../yum/__init__.py:4872
+#, python-format
+msgid "No package matched to upgrade: %s"
+msgstr ""
+
+#: ../yum/__init__.py:4919
 #, python-format
 msgid "Package is already obsoleted: %s.%s %s:%s-%s"
 msgstr ""
 
-#: ../yum/__init__.py:3874
+#: ../yum/__init__.py:4970
 #, python-format
 msgid "Not Updating Package that is obsoleted: %s"
 msgstr ""
 
-#: ../yum/__init__.py:3883 ../yum/__init__.py:3919
+#: ../yum/__init__.py:4979 ../yum/__init__.py:5015
 #, python-format
 msgid "Not Updating Package that is already updated: %s.%s %s:%s-%s"
 msgstr ""
 
-#: ../yum/__init__.py:3982
-msgid "No package matched to remove"
+#: ../yum/__init__.py:5093
+#, python-format
+msgid "No package matched to remove: %s"
 msgstr ""
 
-#: ../yum/__init__.py:3988
+#: ../yum/__init__.py:5099
 #, python-format
 msgid "Skipping the running kernel: %s"
 msgstr ""
 
-#: ../yum/__init__.py:3994
+#: ../yum/__init__.py:5105
 #, python-format
 msgid "Removing %s from the transaction"
 msgstr ""
 
-#: ../yum/__init__.py:4029
+#: ../yum/__init__.py:5142
 #, python-format
 msgid "Cannot open: %s. Skipping."
 msgstr ""
 
-#: ../yum/__init__.py:4032 ../yum/__init__.py:4150 ../yum/__init__.py:4226
+#: ../yum/__init__.py:5145 ../yum/__init__.py:5262 ../yum/__init__.py:5347
 #, python-format
 msgid "Examining %s: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4036
+#: ../yum/__init__.py:5149
 #, python-format
 msgid "Cannot localinstall deltarpm: %s. Skipping."
 msgstr ""
 
-#: ../yum/__init__.py:4045 ../yum/__init__.py:4153 ../yum/__init__.py:4229
+#: ../yum/__init__.py:5158 ../yum/__init__.py:5265 ../yum/__init__.py:5350
 #, python-format
 msgid ""
 "Cannot add package %s to transaction. Not a compatible architecture: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4051
+#: ../yum/__init__.py:5164
 #, python-format
 msgid "Cannot install package %s. It is obsoleted by installed package %s"
 msgstr ""
 
-#: ../yum/__init__.py:4059
+#: ../yum/__init__.py:5172
 #, python-format
 msgid ""
 "Package %s not installed, cannot update it. Run yum install to install it "
 "instead."
 msgstr ""
 
-#: ../yum/__init__.py:4078 ../yum/__init__.py:4085
+#: ../yum/__init__.py:5191 ../yum/__init__.py:5198
 #, python-format
 msgid ""
 "Package %s.%s not installed, cannot update it. Run yum install to install it"
 " instead."
 msgstr ""
 
-#: ../yum/__init__.py:4094 ../yum/__init__.py:4158 ../yum/__init__.py:4234
+#: ../yum/__init__.py:5207 ../yum/__init__.py:5270 ../yum/__init__.py:5355
 #, python-format
 msgid "Excluding %s"
 msgstr ""
 
-#: ../yum/__init__.py:4099
+#: ../yum/__init__.py:5212
 #, python-format
 msgid "Marking %s to be installed"
 msgstr ""
 
-#: ../yum/__init__.py:4105
+#: ../yum/__init__.py:5218
 #, python-format
 msgid "Marking %s as an update to %s"
 msgstr ""
 
-#: ../yum/__init__.py:4112
+#: ../yum/__init__.py:5225
 #, python-format
 msgid "%s: does not update installed package."
 msgstr ""
 
-#: ../yum/__init__.py:4147 ../yum/__init__.py:4223
+#: ../yum/__init__.py:5259 ../yum/__init__.py:5344
 #, python-format
 msgid "Cannot open file: %s. Skipping."
 msgstr ""
 
-#: ../yum/__init__.py:4177
+#: ../yum/__init__.py:5299
 msgid "Problem in reinstall: no package matched to remove"
 msgstr ""
 
-#: ../yum/__init__.py:4203
+#: ../yum/__init__.py:5325
 #, python-format
 msgid "Problem in reinstall: no package %s matched to install"
 msgstr ""
 
-#: ../yum/__init__.py:4311
+#: ../yum/__init__.py:5438
 msgid "No package(s) available to downgrade"
 msgstr ""
 
-#: ../yum/__init__.py:4319
+#: ../yum/__init__.py:5446
 #, python-format
 msgid "Package %s is allowed multiple installs, skipping"
 msgstr ""
 
-#: ../yum/__init__.py:4365
+#: ../yum/__init__.py:5496
 #, python-format
 msgid "No Match for available package: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4372
+#: ../yum/__init__.py:5506
 #, python-format
 msgid "Only Upgrade available on package: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4442 ../yum/__init__.py:4479
+#: ../yum/__init__.py:5619 ../yum/__init__.py:5686
 #, python-format
 msgid "Failed to downgrade: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4516
+#: ../yum/__init__.py:5636 ../yum/__init__.py:5692
+#, python-format
+msgid "Failed to upgrade: %s"
+msgstr ""
+
+#: ../yum/__init__.py:5725
 #, python-format
 msgid "Retrieving key from %s"
 msgstr ""
 
-#: ../yum/__init__.py:4534
+#: ../yum/__init__.py:5743
 msgid "GPG key retrieval failed: "
 msgstr ""
 
 #. if we decide we want to check, even though the sig failed
 #. here is where we would do that
-#: ../yum/__init__.py:4557
+#: ../yum/__init__.py:5766
 #, python-format
 msgid "GPG key signature on key %s does not match CA Key for repo: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4559
+#: ../yum/__init__.py:5768
 msgid "GPG key signature verified against CA Key(s)"
 msgstr ""
 
-#: ../yum/__init__.py:4567
+#: ../yum/__init__.py:5776
 #, python-format
 msgid "Invalid GPG Key from %s: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4576
+#: ../yum/__init__.py:5785
 #, python-format
 msgid "GPG key parsing failed: key does not have value %s"
 msgstr ""
 
-#: ../yum/__init__.py:4592
+#: ../yum/__init__.py:5801
 #, python-format
 msgid ""
 "Importing %s key 0x%s:\n"
-" Userid : %s\n"
-" Package: %s (%s)\n"
-" From   : %s"
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" Package    : %s (%s)\n"
+" From       : %s"
 msgstr ""
 
-#: ../yum/__init__.py:4600
+#: ../yum/__init__.py:5811
 #, python-format
 msgid ""
 "Importing %s key 0x%s:\n"
-" Userid: \"%s\"\n"
-" From  : %s"
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" From       : %s"
 msgstr ""
 
-#: ../yum/__init__.py:4634
+#: ../yum/__init__.py:5839
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" Failing package is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr ""
+
+#: ../yum/__init__.py:5853
 #, python-format
 msgid "GPG key at %s (0x%s) is already installed"
 msgstr ""
 
-#: ../yum/__init__.py:4671
+#: ../yum/__init__.py:5891
 #, python-format
 msgid "Key import failed (code %d)"
 msgstr ""
 
-#: ../yum/__init__.py:4672 ../yum/__init__.py:4755
+#: ../yum/__init__.py:5893 ../yum/__init__.py:5994
 msgid "Key imported successfully"
 msgstr ""
 
-#: ../yum/__init__.py:4676
+#: ../yum/__init__.py:5897
 msgid "Didn't install any keys"
 msgstr ""
 
-#: ../yum/__init__.py:4680
+#: ../yum/__init__.py:5900
 #, python-format
 msgid ""
 "The GPG keys listed for the \"%s\" repository are already installed but they are not correct for this package.\n"
 "Check that the correct key URLs are configured for this repository."
 msgstr ""
 
-#: ../yum/__init__.py:4689
+#: ../yum/__init__.py:5910
 msgid "Import of key(s) didn't help, wrong key(s)?"
 msgstr ""
 
-#: ../yum/__init__.py:4713
+#: ../yum/__init__.py:5932
+msgid "No"
+msgstr ""
+
+#: ../yum/__init__.py:5934
+msgid "Yes"
+msgstr ""
+
+#: ../yum/__init__.py:5935
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" CA Key: %s\n"
+" Failing repo is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr ""
+
+#: ../yum/__init__.py:5948
 #, python-format
 msgid "GPG key at %s (0x%s) is already imported"
 msgstr ""
 
-#: ../yum/__init__.py:4754
-msgid "Key import failed"
+#: ../yum/__init__.py:5992
+#, python-format
+msgid "Key %s import failed"
 msgstr ""
 
-#: ../yum/__init__.py:4770
+#: ../yum/__init__.py:6009
 #, python-format
 msgid "Didn't install any keys for repo %s"
 msgstr ""
 
-#: ../yum/__init__.py:4774
+#: ../yum/__init__.py:6014
 #, python-format
 msgid ""
 "The GPG keys listed for the \"%s\" repository are already installed but they are not correct.\n"
 "Check that the correct key URLs are configured for this repository."
 msgstr ""
 
-#: ../yum/__init__.py:4924
+#: ../yum/__init__.py:6172
 msgid "Unable to find a suitable mirror."
 msgstr ""
 
-#: ../yum/__init__.py:4926
+#: ../yum/__init__.py:6174
 msgid "Errors were encountered while downloading packages."
 msgstr ""
 
-#: ../yum/__init__.py:4981
+#: ../yum/__init__.py:6229
 #, python-format
 msgid "Please report this error at %s"
 msgstr ""
 
-#: ../yum/__init__.py:4998
+#: ../yum/__init__.py:6246
 msgid "Test Transaction Errors: "
 msgstr ""
 
-#: ../yum/__init__.py:5098
+#: ../yum/__init__.py:6358
 #, python-format
 msgid "Could not set cachedir: %s"
 msgstr ""
 
-#: ../yum/__init__.py:5148 ../yum/__init__.py:5150
+#: ../yum/__init__.py:6420 ../yum/__init__.py:6422
 msgid "Dependencies not solved. Will not save unresolved transaction."
 msgstr ""
 
-#: ../yum/__init__.py:5179 ../yum/__init__.py:5181
+#: ../yum/__init__.py:6455 ../yum/__init__.py:6457
 #, python-format
 msgid "Could not save transaction file %s: %s"
 msgstr ""
 
-#: ../yum/__init__.py:5195
+#: ../yum/__init__.py:6483
 #, python-format
 msgid "Could not access/read saved transaction %s : %s"
 msgstr ""
 
-#: ../yum/__init__.py:5214
-msgid "rpmdb ver mismatched saved transaction version, "
-msgstr ""
-
-#: ../yum/__init__.py:5216
-msgid " ignoring, as requested."
-msgstr ""
-
-#: ../yum/__init__.py:5219 ../yum/__init__.py:5354
-msgid " aborting."
+#: ../yum/__init__.py:6521
+msgid "rpmdb ver mismatched saved transaction version,"
 msgstr ""
 
-#: ../yum/__init__.py:5228
+#: ../yum/__init__.py:6535
 msgid "cannot find tsflags or tsflags not integer."
 msgstr ""
 
-#: ../yum/__init__.py:5267
+#: ../yum/__init__.py:6584
 #, python-format
 msgid "Found txmbr in unknown current state: %s"
 msgstr ""
 
-#: ../yum/__init__.py:5271
+#: ../yum/__init__.py:6588
 #, python-format
 msgid "Could not find txmbr: %s in state %s"
 msgstr ""
 
-#: ../yum/__init__.py:5307 ../yum/__init__.py:5324
+#: ../yum/__init__.py:6625 ../yum/__init__.py:6642
 #, python-format
 msgid "Could not find txmbr: %s from origin: %s"
 msgstr ""
 
-#: ../yum/__init__.py:5349
+#: ../yum/__init__.py:6667
 msgid "Transaction members, relations are missing or ts has been modified,"
 msgstr ""
 
-#: ../yum/__init__.py:5351
+#: ../yum/__init__.py:6670
 msgid " ignoring, as requested. You must redepsolve!"
 msgstr ""
 
+#. Debugging output
+#: ../yum/__init__.py:6738 ../yum/__init__.py:6757
+#, python-format
+msgid "%s has been visited already and cannot be removed."
+msgstr ""
+
+#. Debugging output
+#: ../yum/__init__.py:6741
+#, python-format
+msgid "Examining revdeps of %s"
+msgstr ""
+
+#. Debugging output
+#: ../yum/__init__.py:6762
+#, python-format
+msgid "%s has revdep %s which was user-installed."
+msgstr ""
+
+#: ../yum/__init__.py:6773 ../yum/__init__.py:6779
+#, python-format
+msgid "%s is needed by a package to be installed."
+msgstr ""
+
+#. Debugging output
+#: ../yum/__init__.py:6793
+#, python-format
+msgid "%s has no user-installed revdeps."
+msgstr ""
+
 #. Mostly copied from YumOutput._outKeyValFill()
-#: ../yum/plugins.py:209
+#: ../yum/plugins.py:212
 msgid "Loaded plugins: "
 msgstr ""
 
-#: ../yum/plugins.py:223 ../yum/plugins.py:229
+#: ../yum/plugins.py:226 ../yum/plugins.py:232
 #, python-format
 msgid "No plugin match for: %s"
 msgstr ""
 
-#: ../yum/plugins.py:259
+#: ../yum/plugins.py:262
 #, python-format
 msgid "Not loading \"%s\" plugin, as it is disabled"
 msgstr ""
 
 #. Give full backtrace:
-#: ../yum/plugins.py:271
+#: ../yum/plugins.py:274
 #, python-format
 msgid "Plugin \"%s\" can't be imported"
 msgstr ""
 
-#: ../yum/plugins.py:278
+#: ../yum/plugins.py:281
 #, python-format
 msgid "Plugin \"%s\" doesn't specify required API version"
 msgstr ""
 
-#: ../yum/plugins.py:283
+#: ../yum/plugins.py:286
 #, python-format
 msgid "Plugin \"%s\" requires API %s. Supported API is %s."
 msgstr ""
 
-#: ../yum/plugins.py:316
+#: ../yum/plugins.py:319
 #, python-format
 msgid "Loading \"%s\" plugin"
 msgstr ""
 
-#: ../yum/plugins.py:323
+#: ../yum/plugins.py:326
 #, python-format
 msgid "Two or more plugins with the name \"%s\" exist in the plugin search path"
 msgstr ""
 
-#: ../yum/plugins.py:343
+#: ../yum/plugins.py:346
 #, python-format
 msgid "Configuration file %s not found"
 msgstr ""
 
 #. for
 #. Configuration files for the plugin not found
-#: ../yum/plugins.py:346
+#: ../yum/plugins.py:349
 #, python-format
 msgid "Unable to find configuration file for plugin %s"
 msgstr ""
 
-#: ../yum/plugins.py:508
+#: ../yum/plugins.py:553
 msgid "registration of commands not supported"
 msgstr ""
 
-#: ../yum/rpmsack.py:148
+#: ../yum/rpmsack.py:159
 msgid "has missing requires of"
 msgstr ""
 
-#: ../yum/rpmsack.py:151
+#: ../yum/rpmsack.py:162
 msgid "has installed conflicts"
 msgstr ""
 
-#: ../yum/rpmsack.py:160
+#: ../yum/rpmsack.py:171
 #, python-format
 msgid "%s is a duplicate with %s"
 msgstr ""
 
-#: ../yum/rpmsack.py:168
+#: ../yum/rpmsack.py:179
 #, python-format
 msgid "%s is obsoleted by %s"
 msgstr ""
 
-#: ../yum/rpmsack.py:176
+#: ../yum/rpmsack.py:187
 #, python-format
 msgid "%s provides %s but it cannot be found"
 msgstr ""
@@ -3038,6 +3458,23 @@ msgstr ""
 msgid "Repackaging"
 msgstr ""
 
+#: ../yum/rpmtrans.py:149
+#, python-format
+msgid "Verify: %u/%u: %s"
+msgstr ""
+
+#: ../yum/yumRepo.py:919
+#, python-format
+msgid ""
+"Insufficient space in download directory %s\n"
+"    * free   %s\n"
+"    * needed %s"
+msgstr ""
+
+#: ../yum/yumRepo.py:986
+msgid "Package does not match intended download."
+msgstr ""
+
 #: ../rpmUtils/oldUtils.py:33
 #, python-format
 msgid "Header cannot be opened or does not match %s, %s."
@@ -3066,5 +3503,3 @@ msgstr ""
 #, python-format
 msgid "Error opening rpm %s - error %s"
 msgstr ""
-
-
diff --git a/po/ms.po b/po/ms.po
index 2b9119e..e4d6a73 100644
--- a/po/ms.po
+++ b/po/ms.po
@@ -2,427 +2,497 @@
 # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
 # This file is distributed under the same license as the PACKAGE package.
 # 
+# Translators:
 msgid ""
 msgstr ""
 "Project-Id-Version: Yum\n"
-"Report-Msgid-Bugs-To: http://yum.baseurl.org/\n"
-"POT-Creation-Date: 2011-06-06 10:21-0400\n"
-"PO-Revision-Date: 2011-06-06 14:21+0000\n"
-"Last-Translator: skvidal <skvidal@fedoraproject.org>\n"
+"Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
+"POT-Creation-Date: 2013-01-30 09:08-0500\n"
+"PO-Revision-Date: 2013-01-30 14:08+0000\n"
+"Last-Translator: james <james@fedoraproject.org>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Language: ms\n"
-"Plural-Forms: nplurals=1; plural=0\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
 
-#: ../callback.py:48 ../output.py:1037 ../yum/rpmtrans.py:73
+#: ../callback.py:45 ../output.py:1502 ../yum/rpmtrans.py:73
 msgid "Updating"
 msgstr ""
 
-#: ../callback.py:49 ../yum/rpmtrans.py:74
+#: ../callback.py:46 ../yum/rpmtrans.py:74
 msgid "Erasing"
 msgstr ""
 
-#: ../callback.py:50 ../callback.py:51 ../callback.py:53 ../output.py:1036
-#: ../output.py:2218 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
+#: ../callback.py:47 ../callback.py:48 ../callback.py:50 ../output.py:1501
+#: ../output.py:2922 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
 #: ../yum/rpmtrans.py:78
 msgid "Installing"
 msgstr ""
 
-#: ../callback.py:52 ../callback.py:58 ../output.py:1840 ../yum/rpmtrans.py:77
+#: ../callback.py:49 ../callback.py:55 ../output.py:2379 ../yum/rpmtrans.py:77
 msgid "Obsoleted"
 msgstr ""
 
-#: ../callback.py:54 ../output.py:1169 ../output.py:1686 ../output.py:1847
+#: ../callback.py:51 ../output.py:1670 ../output.py:2222 ../output.py:2386
 msgid "Updated"
 msgstr ""
 
-#: ../callback.py:55 ../output.py:1685
+#: ../callback.py:52 ../output.py:2221
 msgid "Erased"
 msgstr ""
 
-#: ../callback.py:56 ../callback.py:57 ../callback.py:59 ../output.py:1167
-#: ../output.py:1685 ../output.py:1687 ../output.py:2190
+#: ../callback.py:53 ../callback.py:54 ../callback.py:56 ../output.py:1668
+#: ../output.py:2221 ../output.py:2223 ../output.py:2894
 msgid "Installed"
 msgstr ""
 
-#: ../callback.py:130
+#: ../callback.py:142
 msgid "No header - huh?"
 msgstr "Tiada pengepala - huh?"
 
-#: ../callback.py:168
+#: ../callback.py:180
 msgid "Repackage"
 msgstr ""
 
-#: ../callback.py:189
+#: ../callback.py:201
 #, python-format
 msgid "Error: invalid output state: %s for %s"
 msgstr ""
 
-#: ../callback.py:212
+#: ../callback.py:224
 #, python-format
 msgid "Erased: %s"
 msgstr ""
 
-#: ../callback.py:217 ../output.py:1038 ../output.py:2193
+#: ../callback.py:229 ../output.py:1503 ../output.py:2897
 msgid "Removing"
 msgstr ""
 
-#: ../callback.py:219 ../yum/rpmtrans.py:79
+#: ../callback.py:231 ../yum/rpmtrans.py:79
 msgid "Cleanup"
 msgstr ""
 
-#: ../cli.py:115
+#: ../cli.py:122
 #, python-format
 msgid "Command \"%s\" already defined"
 msgstr ""
 
-#: ../cli.py:127
+#: ../cli.py:137
 msgid "Setting up repositories"
 msgstr ""
 
-#: ../cli.py:138
+#: ../cli.py:148
 msgid "Reading repository metadata in from local files"
 msgstr ""
 
-#: ../cli.py:245 ../utils.py:281
+#: ../cli.py:273 ../cli.py:277 ../utils.py:320
 #, python-format
 msgid "Config Error: %s"
 msgstr ""
 
-#: ../cli.py:248 ../cli.py:1584 ../utils.py:284
+#: ../cli.py:280 ../cli.py:2206 ../utils.py:323
 #, python-format
 msgid "Options Error: %s"
 msgstr ""
 
-#: ../cli.py:293
+#: ../cli.py:327
 #, python-format
 msgid "  Installed: %s-%s at %s"
 msgstr ""
 
-#: ../cli.py:295
+#: ../cli.py:329
 #, python-format
 msgid "  Built    : %s at %s"
 msgstr ""
 
-#: ../cli.py:297
+#: ../cli.py:331
 #, python-format
 msgid "  Committed: %s at %s"
 msgstr ""
 
-#: ../cli.py:336
+#: ../cli.py:372
 msgid "You need to give some command"
 msgstr ""
 
-#: ../cli.py:350
+#: ../cli.py:386
 #, python-format
 msgid "No such command: %s. Please use %s --help"
 msgstr ""
 
-#: ../cli.py:400
+#: ../cli.py:444
 msgid "Disk Requirements:\n"
 msgstr ""
 
-#: ../cli.py:402
+#: ../cli.py:446
 #, python-format
 msgid "  At least %dMB more space needed on the %s filesystem.\n"
-msgstr ""
+msgid_plural "  At least %dMB more space needed on the %s filesystem.\n"
+msgstr[0] ""
 
 #. TODO: simplify the dependency errors?
 #. Fixup the summary
-#: ../cli.py:407
+#: ../cli.py:451
 msgid ""
 "Error Summary\n"
 "-------------\n"
 msgstr ""
 
-#: ../cli.py:450
+#: ../cli.py:472
+msgid "Can't create lock file; exiting"
+msgstr ""
+
+#: ../cli.py:479
+msgid ""
+"Another app is currently holding the yum lock; exiting as configured by "
+"exit_on_lock"
+msgstr ""
+
+#: ../cli.py:532
 msgid "Trying to run the transaction but nothing to do. Exiting."
 msgstr ""
 
-#: ../cli.py:497
+#: ../cli.py:577
+msgid "future rpmdb ver mismatched saved transaction version,"
+msgstr ""
+
+#: ../cli.py:579 ../yum/__init__.py:6523
+msgid " ignoring, as requested."
+msgstr ""
+
+#: ../cli.py:582 ../yum/__init__.py:6526 ../yum/__init__.py:6673
+msgid " aborting."
+msgstr ""
+
+#: ../cli.py:588
 msgid "Exiting on user Command"
 msgstr ""
 
-#: ../cli.py:501
+#: ../cli.py:592
 msgid "Downloading Packages:"
 msgstr ""
 
-#: ../cli.py:506
+#: ../cli.py:597
 msgid "Error Downloading Packages:\n"
 msgstr ""
 
-#: ../cli.py:525 ../yum/__init__.py:4967
+#: ../cli.py:616 ../yum/__init__.py:6215
 msgid "Running Transaction Check"
 msgstr ""
 
-#: ../cli.py:534 ../yum/__init__.py:4976
+#: ../cli.py:625 ../yum/__init__.py:6224
 msgid "ERROR You need to update rpm to handle:"
 msgstr ""
 
-#: ../cli.py:536 ../yum/__init__.py:4979
+#: ../cli.py:627 ../yum/__init__.py:6227
 msgid "ERROR with transaction check vs depsolve:"
 msgstr ""
 
-#: ../cli.py:542
+#: ../cli.py:633
 msgid "RPM needs to be updated"
 msgstr ""
 
-#: ../cli.py:543
+#: ../cli.py:634
 #, python-format
 msgid "Please report this error in %s"
 msgstr ""
 
-#: ../cli.py:549
+#: ../cli.py:640
 msgid "Running Transaction Test"
 msgstr ""
 
-#: ../cli.py:561
+#: ../cli.py:652
 msgid "Transaction Check Error:\n"
 msgstr ""
 
-#: ../cli.py:568
+#: ../cli.py:659
 msgid "Transaction Test Succeeded"
 msgstr ""
 
-#: ../cli.py:600
+#: ../cli.py:691
 msgid "Running Transaction"
 msgstr ""
 
-#: ../cli.py:630
+#: ../cli.py:724
 msgid ""
 "Refusing to automatically import keys when running unattended.\n"
 "Use \"-y\" to override."
 msgstr ""
 
-#: ../cli.py:649 ../cli.py:692
+#: ../cli.py:743 ../cli.py:786
 msgid "  * Maybe you meant: "
 msgstr ""
 
-#: ../cli.py:675 ../cli.py:683
+#: ../cli.py:769 ../cli.py:777
 #, python-format
 msgid "Package(s) %s%s%s available, but not installed."
 msgstr ""
 
-#: ../cli.py:689 ../cli.py:722 ../cli.py:908
+#: ../cli.py:783 ../cli.py:891 ../cli.py:1158
 #, python-format
 msgid "No package %s%s%s available."
 msgstr ""
 
-#: ../cli.py:729 ../cli.py:973
-msgid "Package(s) to install"
+#: ../cli.py:871 ../cli.py:881 ../cli.py:1101 ../cli.py:1111
+#, python-format
+msgid "Bad %s argument %s."
 msgstr ""
 
-#: ../cli.py:732 ../cli.py:733 ../cli.py:914 ../cli.py:948 ../cli.py:974
-#: ../yumcommands.py:190
+#: ../cli.py:900 ../yumcommands.py:3331
+#, python-format
+msgid "%d package to install"
+msgid_plural "%d packages to install"
+msgstr[0] ""
+
+#: ../cli.py:903 ../cli.py:904 ../cli.py:1169 ../cli.py:1170 ../cli.py:1224
+#: ../cli.py:1225 ../cli.py:1260 ../yumcommands.py:323 ../yumcommands.py:3419
 msgid "Nothing to do"
 msgstr ""
 
-#: ../cli.py:767
+#: ../cli.py:953
 #, python-format
-msgid "%d packages marked for Update"
-msgstr ""
+msgid "%d package marked for Update"
+msgid_plural "%d packages marked for Update"
+msgstr[0] ""
 
-#: ../cli.py:770
+#: ../cli.py:955
 msgid "No Packages marked for Update"
 msgstr ""
 
-#: ../cli.py:866
+#: ../cli.py:1067
 #, python-format
-msgid "%d packages marked for Distribution Synchronization"
-msgstr ""
+msgid "%d package marked for Distribution Synchronization"
+msgid_plural "%d packages marked for Distribution Synchronization"
+msgstr[0] ""
 
-#: ../cli.py:869
+#: ../cli.py:1069
 msgid "No Packages marked for Distribution Synchronization"
 msgstr ""
 
-#: ../cli.py:885
+#: ../cli.py:1124
 #, python-format
-msgid "%d packages marked for removal"
-msgstr ""
+msgid "%d package marked for removal"
+msgid_plural "%d packages marked for removal"
+msgstr[0] ""
 
-#: ../cli.py:888
+#: ../cli.py:1126
 msgid "No Packages marked for removal"
 msgstr ""
 
-#: ../cli.py:913
-msgid "Package(s) to downgrade"
-msgstr ""
+#: ../cli.py:1166
+#, python-format
+msgid "%d package to downgrade"
+msgid_plural "%d packages to downgrade"
+msgstr[0] ""
 
-#: ../cli.py:938
+#: ../cli.py:1207
 #, python-format
 msgid " (from %s)"
 msgstr ""
 
-#: ../cli.py:939
+#: ../cli.py:1208
 #, python-format
 msgid "Installed package %s%s%s%s not available."
 msgstr ""
 
-#: ../cli.py:947
-msgid "Package(s) to reinstall"
-msgstr ""
+#: ../cli.py:1221
+#, python-format
+msgid "%d package to reinstall"
+msgid_plural "%d packages to reinstall"
+msgstr[0] ""
 
-#: ../cli.py:960
+#: ../cli.py:1246
 msgid "No Packages Provided"
 msgstr ""
 
-#: ../cli.py:1058
+#: ../cli.py:1259
+msgid "Package(s) to install"
+msgstr ""
+
+#: ../cli.py:1367
 #, python-format
 msgid "N/S Matched: %s"
 msgstr ""
 
-#: ../cli.py:1075
+#: ../cli.py:1384
 #, python-format
 msgid "  Name and summary matches %sonly%s, use \"search all\" for everything."
 msgstr ""
 
-#: ../cli.py:1077
+#: ../cli.py:1386
 #, python-format
 msgid ""
 "  Full name and summary matches %sonly%s, use \"search all\" for everything."
 msgstr ""
 
-#: ../cli.py:1095
+#: ../cli.py:1404
 #, python-format
 msgid "Matched: %s"
 msgstr ""
 
-#: ../cli.py:1102
+#: ../cli.py:1411
 #, python-format
 msgid "  Name and summary matches %smostly%s, use \"search all\" for everything."
 msgstr ""
 
-#: ../cli.py:1106
+#: ../cli.py:1415
 #, python-format
 msgid "Warning: No matches found for: %s"
 msgstr ""
 
-#: ../cli.py:1109
+#: ../cli.py:1418
 msgid "No Matches found"
 msgstr ""
 
-#: ../cli.py:1174
+#: ../cli.py:1536
 #, python-format
-msgid "No Package Found for %s"
+msgid ""
+"Error: No Packages found for:\n"
+"  %s"
 msgstr ""
 
-#: ../cli.py:1184
+#: ../cli.py:1572
 msgid "Cleaning repos: "
 msgstr ""
 
-#: ../cli.py:1189
+#: ../cli.py:1577
 msgid "Cleaning up Everything"
 msgstr ""
 
-#: ../cli.py:1205
+#: ../cli.py:1593
 msgid "Cleaning up Headers"
 msgstr ""
 
-#: ../cli.py:1208
+#: ../cli.py:1596
 msgid "Cleaning up Packages"
 msgstr ""
 
-#: ../cli.py:1211
+#: ../cli.py:1599
 msgid "Cleaning up xml metadata"
 msgstr ""
 
-#: ../cli.py:1214
+#: ../cli.py:1602
 msgid "Cleaning up database cache"
 msgstr ""
 
-#: ../cli.py:1217
+#: ../cli.py:1605
 msgid "Cleaning up expire-cache metadata"
 msgstr ""
 
-#: ../cli.py:1220
+#: ../cli.py:1608
 msgid "Cleaning up cached rpmdb data"
 msgstr ""
 
-#: ../cli.py:1223
+#: ../cli.py:1611
 msgid "Cleaning up plugins"
 msgstr ""
 
-#: ../cli.py:1247
-#, python-format
-msgid "Warning: No groups match: %s"
+#: ../cli.py:1727
+msgid "Installed Environment Groups:"
+msgstr ""
+
+#: ../cli.py:1728
+msgid "Available Environment Groups:"
 msgstr ""
 
-#: ../cli.py:1264
+#: ../cli.py:1735
 msgid "Installed Groups:"
 msgstr ""
 
-#: ../cli.py:1270
+#: ../cli.py:1742
 msgid "Installed Language Groups:"
 msgstr ""
 
-#: ../cli.py:1276
+#: ../cli.py:1749
 msgid "Available Groups:"
 msgstr ""
 
-#: ../cli.py:1282
+#: ../cli.py:1756
 msgid "Available Language Groups:"
 msgstr ""
 
-#: ../cli.py:1285
+#: ../cli.py:1759
+#, python-format
+msgid "Warning: No Environments/Groups match: %s"
+msgstr ""
+
+#: ../cli.py:1763
 msgid "Done"
 msgstr ""
 
-#: ../cli.py:1296 ../cli.py:1314 ../cli.py:1320 ../yum/__init__.py:3313
+#: ../cli.py:1818
+#, python-format
+msgid "Warning: Group/Environment %s does not exist."
+msgstr ""
+
+#: ../cli.py:1859
+#, python-format
+msgid "Warning: Environment %s does not exist."
+msgstr ""
+
+#: ../cli.py:1873 ../cli.py:1879 ../yum/__init__.py:4254
 #, python-format
 msgid "Warning: Group %s does not exist."
 msgstr ""
 
-#: ../cli.py:1324
+#: ../cli.py:1883
 msgid "No packages in any requested group available to install or update"
 msgstr ""
 
-#: ../cli.py:1326
+#: ../cli.py:1885
 #, python-format
-msgid "%d Package(s) to Install"
+msgid "%d package to Install"
+msgid_plural "%d packages to Install"
+msgstr[0] ""
+
+#: ../cli.py:1919 ../yum/__init__.py:3536 ../yum/__init__.py:3766
+#: ../yum/__init__.py:3824
+#, python-format
+msgid "No Environment named %s exists"
 msgstr ""
 
-#: ../cli.py:1336 ../yum/__init__.py:3325
+#: ../cli.py:1935 ../yum/__init__.py:4282
 #, python-format
 msgid "No group named %s exists"
 msgstr ""
 
-#: ../cli.py:1342
+#: ../cli.py:1945
 msgid "No packages to remove from groups"
 msgstr ""
 
-#: ../cli.py:1344
+#: ../cli.py:1947 ../yumcommands.py:3351
 #, python-format
-msgid "%d Package(s) to remove"
-msgstr ""
+msgid "%d package to remove"
+msgid_plural "%d packages to remove"
+msgstr[0] ""
 
-#: ../cli.py:1386
+#: ../cli.py:1988
 #, python-format
 msgid "Package %s is already installed, skipping"
 msgstr ""
 
-#: ../cli.py:1397
+#: ../cli.py:1999
 #, python-format
 msgid "Discarding non-comparable pkg %s.%s"
 msgstr ""
 
 #. we've not got any installed that match n or n+a
-#: ../cli.py:1423
+#: ../cli.py:2025
 #, python-format
 msgid "No other %s installed, adding to list for potential install"
 msgstr ""
 
-#: ../cli.py:1443
+#: ../cli.py:2045
 msgid "Plugin Options"
 msgstr ""
 
-#: ../cli.py:1451
+#: ../cli.py:2057
 #, python-format
 msgid "Command line error: %s"
 msgstr ""
 
-#: ../cli.py:1467
+#: ../cli.py:2079
 #, python-format
 msgid ""
 "\n"
@@ -430,438 +500,483 @@ msgid ""
 "%s: %s option requires an argument"
 msgstr ""
 
-#: ../cli.py:1521
+#: ../cli.py:2147
 msgid "--color takes one of: auto, always, never"
 msgstr ""
 
 #. We have a relative installroot ... haha
-#: ../cli.py:1596
+#: ../cli.py:2218
 #, python-format
 msgid "--installroot must be an absolute path: %s"
 msgstr ""
 
-#: ../cli.py:1642
+#: ../cli.py:2272
 msgid "show this help message and exit"
 msgstr ""
 
-#: ../cli.py:1646
+#: ../cli.py:2276
 msgid "be tolerant of errors"
 msgstr ""
 
-#: ../cli.py:1649
+#: ../cli.py:2279
 msgid "run entirely from system cache, don't update cache"
 msgstr ""
 
-#: ../cli.py:1652
+#: ../cli.py:2282
 msgid "config file location"
 msgstr ""
 
-#: ../cli.py:1655
+#: ../cli.py:2285
 msgid "maximum command wait time"
 msgstr ""
 
-#: ../cli.py:1657
+#: ../cli.py:2287
 msgid "debugging output level"
 msgstr ""
 
-#: ../cli.py:1661
+#: ../cli.py:2291
 msgid "show duplicates, in repos, in list/search commands"
 msgstr ""
 
-#: ../cli.py:1663
+#: ../cli.py:2296
 msgid "error output level"
 msgstr ""
 
-#: ../cli.py:1666
+#: ../cli.py:2299
 msgid "debugging output level for rpm"
 msgstr ""
 
-#: ../cli.py:1669
+#: ../cli.py:2302
 msgid "quiet operation"
 msgstr ""
 
-#: ../cli.py:1671
+#: ../cli.py:2304
 msgid "verbose operation"
 msgstr ""
 
-#: ../cli.py:1673
+#: ../cli.py:2306
 msgid "answer yes for all questions"
 msgstr ""
 
-#: ../cli.py:1675
+#: ../cli.py:2308
+msgid "answer no for all questions"
+msgstr ""
+
+#: ../cli.py:2312
 msgid "show Yum version and exit"
 msgstr ""
 
-#: ../cli.py:1676
+#: ../cli.py:2313
 msgid "set install root"
 msgstr ""
 
-#: ../cli.py:1680
+#: ../cli.py:2317
 msgid "enable one or more repositories (wildcards allowed)"
 msgstr ""
 
-#: ../cli.py:1684
+#: ../cli.py:2321
 msgid "disable one or more repositories (wildcards allowed)"
 msgstr ""
 
-#: ../cli.py:1687
+#: ../cli.py:2324
 msgid "exclude package(s) by name or glob"
 msgstr ""
 
-#: ../cli.py:1689
+#: ../cli.py:2326
 msgid "disable exclude from main, for a repo or for everything"
 msgstr ""
 
-#: ../cli.py:1692
+#: ../cli.py:2329
 msgid "enable obsoletes processing during updates"
 msgstr ""
 
-#: ../cli.py:1694
+#: ../cli.py:2331
 msgid "disable Yum plugins"
 msgstr ""
 
-#: ../cli.py:1696
+#: ../cli.py:2333
 msgid "disable gpg signature checking"
 msgstr ""
 
-#: ../cli.py:1698
+#: ../cli.py:2335
 msgid "disable plugins by name"
 msgstr ""
 
-#: ../cli.py:1701
+#: ../cli.py:2338
 msgid "enable plugins by name"
 msgstr ""
 
-#: ../cli.py:1704
+#: ../cli.py:2341
 msgid "skip packages with depsolving problems"
 msgstr ""
 
-#: ../cli.py:1706
+#: ../cli.py:2343
 msgid "control whether color is used"
 msgstr ""
 
-#: ../cli.py:1708
+#: ../cli.py:2345
 msgid "set value of $releasever in yum config and repo files"
 msgstr ""
 
-#: ../cli.py:1710
+#: ../cli.py:2347
+msgid "don't update, just download"
+msgstr ""
+
+#: ../cli.py:2349
+msgid "specifies an alternate directory to store packages"
+msgstr ""
+
+#: ../cli.py:2351
 msgid "set arbitrary config and repo options"
 msgstr ""
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Jan"
 msgstr ""
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Feb"
 msgstr ""
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Mar"
 msgstr ""
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Apr"
 msgstr ""
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "May"
 msgstr ""
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Jun"
 msgstr ""
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Jul"
 msgstr ""
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Aug"
 msgstr ""
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Sep"
 msgstr ""
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Oct"
 msgstr ""
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Nov"
 msgstr ""
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Dec"
 msgstr ""
 
-#: ../output.py:318
+#: ../output.py:473
 msgid "Trying other mirror."
 msgstr ""
 
-#: ../output.py:581
+#: ../output.py:816
 #, python-format
 msgid "Name        : %s%s%s"
 msgstr ""
 
-#: ../output.py:582
+#: ../output.py:817
 #, python-format
 msgid "Arch        : %s"
 msgstr ""
 
-#: ../output.py:584
+#: ../output.py:819
 #, python-format
 msgid "Epoch       : %s"
 msgstr ""
 
-#: ../output.py:585
+#: ../output.py:820
 #, python-format
 msgid "Version     : %s"
 msgstr ""
 
-#: ../output.py:586
+#: ../output.py:821
 #, python-format
 msgid "Release     : %s"
 msgstr ""
 
-#: ../output.py:587
+#: ../output.py:822
 #, python-format
 msgid "Size        : %s"
 msgstr ""
 
-#: ../output.py:588 ../output.py:900
+#: ../output.py:823 ../output.py:1329
 #, python-format
 msgid "Repo        : %s"
 msgstr ""
 
-#: ../output.py:590
+#: ../output.py:825
 #, python-format
 msgid "From repo   : %s"
 msgstr ""
 
-#: ../output.py:592
+#: ../output.py:827
 #, python-format
 msgid "Committer   : %s"
 msgstr ""
 
-#: ../output.py:593
+#: ../output.py:828
 #, python-format
 msgid "Committime  : %s"
 msgstr ""
 
-#: ../output.py:594
+#: ../output.py:829
 #, python-format
 msgid "Buildtime   : %s"
 msgstr ""
 
-#: ../output.py:596
+#: ../output.py:831
 #, python-format
 msgid "Install time: %s"
 msgstr ""
 
-#: ../output.py:604
+#: ../output.py:839
 #, python-format
 msgid "Installed by: %s"
 msgstr ""
 
-#: ../output.py:611
+#: ../output.py:846
 #, python-format
 msgid "Changed by  : %s"
 msgstr ""
 
-#: ../output.py:612
+#: ../output.py:847
 msgid "Summary     : "
 msgstr ""
 
-#: ../output.py:614 ../output.py:913
+#: ../output.py:849 ../output.py:1345
 #, python-format
 msgid "URL         : %s"
 msgstr ""
 
-#: ../output.py:615
+#: ../output.py:850
 msgid "License     : "
 msgstr ""
 
-#: ../output.py:616 ../output.py:910
+#: ../output.py:851 ../output.py:1342
 msgid "Description : "
 msgstr ""
 
-#: ../output.py:684
+#: ../output.py:969
 msgid "y"
 msgstr ""
 
-#: ../output.py:684
+#: ../output.py:969
 msgid "yes"
 msgstr "ya"
 
-#: ../output.py:685
+#: ../output.py:970
 msgid "n"
 msgstr "t"
 
-#: ../output.py:685
+#: ../output.py:970
 msgid "no"
 msgstr "tidak"
 
-#: ../output.py:689
+#: ../output.py:974
 msgid "Is this ok [y/N]: "
 msgstr "Adakah ini ok [y/T]:"
 
-#: ../output.py:777
+#: ../output.py:1097
 #, python-format
 msgid ""
 "\n"
 "Group: %s"
 msgstr ""
 
-#: ../output.py:781
+#: ../output.py:1101
 #, python-format
 msgid " Group-Id: %s"
 msgstr ""
 
-#: ../output.py:786
+#: ../output.py:1122 ../output.py:1169
 #, python-format
 msgid " Description: %s"
 msgstr ""
 
-#: ../output.py:788
+#: ../output.py:1124
 #, python-format
 msgid " Language: %s"
 msgstr ""
 
-#: ../output.py:790
+#: ../output.py:1126
 msgid " Mandatory Packages:"
 msgstr ""
 
-#: ../output.py:791
+#: ../output.py:1127
 msgid " Default Packages:"
 msgstr ""
 
-#: ../output.py:792
+#: ../output.py:1128
 msgid " Optional Packages:"
 msgstr ""
 
-#: ../output.py:793
+#: ../output.py:1129
 msgid " Conditional Packages:"
 msgstr ""
 
-#: ../output.py:814
+#: ../output.py:1147
+msgid " Installed Packages:"
+msgstr ""
+
+#: ../output.py:1157
+#, python-format
+msgid ""
+"\n"
+"Environment Group: %s"
+msgstr ""
+
+#: ../output.py:1158
+#, python-format
+msgid " Environment-Id: %s"
+msgstr ""
+
+#: ../output.py:1191
+msgid " Mandatory Groups:"
+msgstr ""
+
+#: ../output.py:1192
+msgid " Optional Groups:"
+msgstr ""
+
+#: ../output.py:1205
+msgid " Installed Groups:"
+msgstr ""
+
+#: ../output.py:1217
 #, python-format
 msgid "package: %s"
 msgstr ""
 
-#: ../output.py:816
+#: ../output.py:1219
 msgid "  No dependencies for this package"
 msgstr ""
 
-#: ../output.py:821
+#: ../output.py:1224
 #, python-format
 msgid "  dependency: %s"
 msgstr ""
 
-#: ../output.py:823
+#: ../output.py:1226
 msgid "   Unsatisfied dependency"
 msgstr ""
 
-#: ../output.py:901
+#: ../output.py:1337
 msgid "Matched from:"
 msgstr ""
 
-#: ../output.py:916
+#: ../output.py:1348
 #, python-format
 msgid "License     : %s"
 msgstr ""
 
-#: ../output.py:919
+#: ../output.py:1351
 #, python-format
 msgid "Filename    : %s"
 msgstr ""
 
-#: ../output.py:923
+#: ../output.py:1360
+msgid "Provides    : "
+msgstr ""
+
+#: ../output.py:1363
 msgid "Other       : "
 msgstr ""
 
-#: ../output.py:966
+#: ../output.py:1426
 msgid "There was an error calculating total download size"
 msgstr ""
 
-#: ../output.py:971
+#: ../output.py:1431
 #, python-format
 msgid "Total size: %s"
 msgstr ""
 
-#: ../output.py:974
+#: ../output.py:1433
 #, python-format
 msgid "Total download size: %s"
 msgstr ""
 
-#: ../output.py:978 ../output.py:998
+#: ../output.py:1436 ../output.py:1459 ../output.py:1463
 #, python-format
 msgid "Installed size: %s"
 msgstr ""
 
-#: ../output.py:994
+#: ../output.py:1454
 msgid "There was an error calculating installed size"
 msgstr ""
 
-#: ../output.py:1039
+#: ../output.py:1504
 msgid "Reinstalling"
 msgstr ""
 
-#: ../output.py:1040
+#: ../output.py:1505
 msgid "Downgrading"
 msgstr ""
 
-#: ../output.py:1041
+#: ../output.py:1506
 msgid "Installing for dependencies"
 msgstr ""
 
-#: ../output.py:1042
+#: ../output.py:1507
 msgid "Updating for dependencies"
 msgstr ""
 
-#: ../output.py:1043
+#: ../output.py:1508
 msgid "Removing for dependencies"
 msgstr ""
 
-#: ../output.py:1050 ../output.py:1171
+#: ../output.py:1515 ../output.py:1576 ../output.py:1672
 msgid "Skipped (dependency problems)"
 msgstr ""
 
-#: ../output.py:1052 ../output.py:1687
+#: ../output.py:1517 ../output.py:1577 ../output.py:2223
 msgid "Not installed"
 msgstr ""
 
-#: ../output.py:1053
+#: ../output.py:1518 ../output.py:1578
 msgid "Not available"
 msgstr ""
 
-#: ../output.py:1075 ../output.py:2024
+#: ../output.py:1540 ../output.py:1588 ../output.py:1604 ../output.py:2581
 msgid "Package"
-msgstr ""
+msgid_plural "Packages"
+msgstr[0] ""
 
-#: ../output.py:1075
+#: ../output.py:1540
 msgid "Arch"
 msgstr ""
 
-#: ../output.py:1076
+#: ../output.py:1541
 msgid "Version"
 msgstr "Versi"
 
-#: ../output.py:1076
+#: ../output.py:1541
 msgid "Repository"
 msgstr ""
 
-#: ../output.py:1077
+#: ../output.py:1542
 msgid "Size"
 msgstr "Saiz"
 
-#: ../output.py:1089
+#: ../output.py:1554
 #, python-format
 msgid "     replacing  %s%s%s.%s %s\n"
 msgstr ""
 
-#: ../output.py:1098
+#: ../output.py:1563
 #, python-format
 msgid ""
 "\n"
@@ -869,65 +984,65 @@ msgid ""
 "%s\n"
 msgstr ""
 
-#: ../output.py:1109
-#, python-format
-msgid "Install   %5.5s Package(s)\n"
+#: ../output.py:1568 ../output.py:2376 ../output.py:2377
+msgid "Install"
 msgstr ""
 
-#: ../output.py:1113
-#, python-format
-msgid "Upgrade   %5.5s Package(s)\n"
+#: ../output.py:1570
+msgid "Upgrade"
 msgstr ""
 
-#: ../output.py:1117
-#, python-format
-msgid "Remove    %5.5s Package(s)\n"
+#: ../output.py:1572
+msgid "Remove"
 msgstr ""
 
-#: ../output.py:1121
-#, python-format
-msgid "Reinstall %5.5s Package(s)\n"
+#: ../output.py:1574 ../output.py:2382
+msgid "Reinstall"
 msgstr ""
 
-#: ../output.py:1125
-#, python-format
-msgid "Downgrade %5.5s Package(s)\n"
+#: ../output.py:1575 ../output.py:2383
+msgid "Downgrade"
 msgstr ""
 
-#: ../output.py:1165
+#: ../output.py:1606
+msgid "Dependent package"
+msgid_plural "Dependent packages"
+msgstr[0] ""
+
+#: ../output.py:1666
 msgid "Removed"
 msgstr ""
 
-#: ../output.py:1166
+#: ../output.py:1667
 msgid "Dependency Removed"
 msgstr ""
 
-#: ../output.py:1168
+#: ../output.py:1669
 msgid "Dependency Installed"
 msgstr ""
 
-#: ../output.py:1170
+#: ../output.py:1671
 msgid "Dependency Updated"
 msgstr ""
 
-#: ../output.py:1172
+#: ../output.py:1673
 msgid "Replaced"
 msgstr ""
 
-#: ../output.py:1173
+#: ../output.py:1674
 msgid "Failed"
 msgstr ""
 
 #. Delta between C-c's so we treat as exit
-#: ../output.py:1260
+#: ../output.py:1764
 msgid "two"
 msgstr ""
 
 #. For translators: This is output like:
 #. Current download cancelled, interrupt (ctrl-c) again within two seconds
 #. to exit.
-#. Where "interupt (ctrl-c) again" and "two" are highlighted.
-#: ../output.py:1271
+#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
+#: ../output.py:1775
 #, python-format
 msgid ""
 "\n"
@@ -935,484 +1050,542 @@ msgid ""
 "to exit.\n"
 msgstr ""
 
-#: ../output.py:1282
+#: ../output.py:1786
 msgid "user interrupt"
 msgstr ""
 
-#: ../output.py:1300
+#: ../output.py:1812
 msgid "Total"
 msgstr ""
 
-#: ../output.py:1322
+#: ../output.py:1834
 msgid "I"
 msgstr ""
 
-#: ../output.py:1323
+#: ../output.py:1835
 msgid "O"
 msgstr ""
 
-#: ../output.py:1324
+#: ../output.py:1836
 msgid "E"
 msgstr ""
 
-#: ../output.py:1325
+#: ../output.py:1837
 msgid "R"
 msgstr ""
 
-#: ../output.py:1326
+#: ../output.py:1838
 msgid "D"
 msgstr ""
 
-#: ../output.py:1327
+#: ../output.py:1839
 msgid "U"
 msgstr ""
 
-#: ../output.py:1341
+#: ../output.py:1853
 msgid "<unset>"
 msgstr ""
 
-#: ../output.py:1342
+#: ../output.py:1854
 msgid "System"
 msgstr ""
 
-#: ../output.py:1411
+#: ../output.py:1923
 #, python-format
 msgid "Skipping merged transaction %d to %d, as it overlaps"
 msgstr ""
 
-#: ../output.py:1421 ../output.py:1592
+#: ../output.py:1933 ../output.py:2125
 msgid "No transactions"
 msgstr ""
 
-#: ../output.py:1446 ../output.py:2013
+#: ../output.py:1958 ../output.py:2570 ../output.py:2660
 msgid "Bad transaction IDs, or package(s), given"
 msgstr ""
 
-#: ../output.py:1484
+#: ../output.py:2007
 msgid "Command line"
 msgstr ""
 
-#: ../output.py:1486 ../output.py:1908
+#: ../output.py:2009 ../output.py:2458
 msgid "Login user"
 msgstr ""
 
 #. REALLY Needs to use columns!
-#: ../output.py:1487 ../output.py:2022
+#: ../output.py:2010 ../output.py:2579
 msgid "ID"
 msgstr ""
 
-#: ../output.py:1489
+#: ../output.py:2012
 msgid "Date and time"
 msgstr ""
 
-#: ../output.py:1490 ../output.py:1910 ../output.py:2023
+#: ../output.py:2013 ../output.py:2460 ../output.py:2580
 msgid "Action(s)"
 msgstr ""
 
-#: ../output.py:1491 ../output.py:1911
+#: ../output.py:2014 ../output.py:2461
 msgid "Altered"
 msgstr ""
 
-#: ../output.py:1538
+#: ../output.py:2061
 msgid "No transaction ID given"
 msgstr ""
 
-#: ../output.py:1564 ../output.py:1972
+#: ../output.py:2087 ../output.py:2526
 msgid "Bad transaction ID given"
 msgstr ""
 
-#: ../output.py:1569
+#: ../output.py:2092
 msgid "Not found given transaction ID"
 msgstr ""
 
-#: ../output.py:1577
+#: ../output.py:2100
 msgid "Found more than one transaction ID!"
 msgstr ""
 
-#: ../output.py:1618 ../output.py:1980
+#: ../output.py:2151 ../output.py:2534
 msgid "No transaction ID, or package, given"
 msgstr ""
 
-#: ../output.py:1686 ../output.py:1845
+#: ../output.py:2222 ../output.py:2384
 msgid "Downgraded"
 msgstr ""
 
-#: ../output.py:1688
+#: ../output.py:2224
 msgid "Older"
 msgstr ""
 
-#: ../output.py:1688
+#: ../output.py:2224
 msgid "Newer"
 msgstr ""
 
-#: ../output.py:1724 ../output.py:1726
+#: ../output.py:2261 ../output.py:2263 ../output.py:2681
 msgid "Transaction ID :"
 msgstr ""
 
-#: ../output.py:1728
+#: ../output.py:2265 ../output.py:2683
 msgid "Begin time     :"
 msgstr ""
 
-#: ../output.py:1731 ../output.py:1733
+#: ../output.py:2268 ../output.py:2270
 msgid "Begin rpmdb    :"
 msgstr ""
 
-#: ../output.py:1749
+#: ../output.py:2286
 #, python-format
 msgid "(%u seconds)"
 msgstr ""
 
-#: ../output.py:1751
+#: ../output.py:2288
 #, python-format
 msgid "(%u minutes)"
 msgstr ""
 
-#: ../output.py:1753
+#: ../output.py:2290
 #, python-format
 msgid "(%u hours)"
 msgstr ""
 
-#: ../output.py:1755
+#: ../output.py:2292
 #, python-format
 msgid "(%u days)"
 msgstr ""
 
-#: ../output.py:1756
+#: ../output.py:2293
 msgid "End time       :"
 msgstr ""
 
-#: ../output.py:1759 ../output.py:1761
+#: ../output.py:2296 ../output.py:2298
 msgid "End rpmdb      :"
 msgstr ""
 
-#: ../output.py:1764 ../output.py:1766
+#: ../output.py:2301 ../output.py:2303
 msgid "User           :"
 msgstr ""
 
-#: ../output.py:1770 ../output.py:1773 ../output.py:1775 ../output.py:1777
-#: ../output.py:1779
+#: ../output.py:2307 ../output.py:2310 ../output.py:2312 ../output.py:2314
+#: ../output.py:2316
 msgid "Return-Code    :"
 msgstr ""
 
-#: ../output.py:1770 ../output.py:1775
+#: ../output.py:2307 ../output.py:2312
 msgid "Aborted"
 msgstr ""
 
-#: ../output.py:1773
+#: ../output.py:2310
 msgid "Failures:"
 msgstr ""
 
-#: ../output.py:1777
+#: ../output.py:2314
 msgid "Failure:"
 msgstr ""
 
-#: ../output.py:1779
+#: ../output.py:2316
 msgid "Success"
 msgstr ""
 
-#: ../output.py:1784 ../output.py:1786
+#: ../output.py:2321 ../output.py:2323 ../output.py:2712
 msgid "Command Line   :"
 msgstr ""
 
-#: ../output.py:1795
+#: ../output.py:2332
 #, python-format
 msgid "Additional non-default information stored: %d"
 msgstr ""
 
 #. This is _possible_, but not common
-#: ../output.py:1800
+#: ../output.py:2337
 msgid "Transaction performed with:"
 msgstr ""
 
-#: ../output.py:1804
+#: ../output.py:2341
 msgid "Packages Altered:"
 msgstr ""
 
-#: ../output.py:1808
+#: ../output.py:2345
 msgid "Packages Skipped:"
 msgstr ""
 
-#: ../output.py:1814
+#: ../output.py:2353
 msgid "Rpmdb Problems:"
 msgstr ""
 
-#: ../output.py:1825
+#: ../output.py:2364
 msgid "Scriptlet output:"
 msgstr ""
 
-#: ../output.py:1831
+#: ../output.py:2370
 msgid "Errors:"
 msgstr ""
 
-#: ../output.py:1837 ../output.py:1838
-msgid "Install"
-msgstr ""
-
-#: ../output.py:1839
+#: ../output.py:2378
 msgid "Dep-Install"
 msgstr ""
 
-#: ../output.py:1841
+#: ../output.py:2380
 msgid "Obsoleting"
 msgstr ""
 
-#: ../output.py:1842
+#: ../output.py:2381
 msgid "Erase"
 msgstr ""
 
-#: ../output.py:1843
-msgid "Reinstall"
-msgstr ""
-
-#: ../output.py:1844
-msgid "Downgrade"
-msgstr ""
-
-#: ../output.py:1846
+#: ../output.py:2385
 msgid "Update"
 msgstr ""
 
-#: ../output.py:1909
+#: ../output.py:2459
 msgid "Time"
 msgstr ""
 
-#: ../output.py:1935
+#: ../output.py:2485
 msgid "Last day"
 msgstr ""
 
-#: ../output.py:1936
+#: ../output.py:2486
 msgid "Last week"
 msgstr ""
 
-#: ../output.py:1937
+#: ../output.py:2487
 msgid "Last 2 weeks"
 msgstr ""
 
 #. US default :p
-#: ../output.py:1938
+#: ../output.py:2488
 msgid "Last 3 months"
 msgstr ""
 
-#: ../output.py:1939
+#: ../output.py:2489
 msgid "Last 6 months"
 msgstr ""
 
-#: ../output.py:1940
+#: ../output.py:2490
 msgid "Last year"
 msgstr ""
 
-#: ../output.py:1941
+#: ../output.py:2491
 msgid "Over a year ago"
 msgstr ""
 
-#: ../output.py:1984
+#: ../output.py:2538
 #, python-format
 msgid "No Transaction %s found"
 msgstr ""
 
-#: ../output.py:1990
+#: ../output.py:2544
 msgid "Transaction ID:"
 msgstr ""
 
-#: ../output.py:1991
+#: ../output.py:2545
 msgid "Available additional history information:"
 msgstr ""
 
-#: ../output.py:2003
+#: ../output.py:2558
 #, python-format
 msgid "%s: No additional data found by this name"
 msgstr ""
 
-#: ../output.py:2106
+#: ../output.py:2684
+msgid "Package        :"
+msgstr ""
+
+#: ../output.py:2685
+msgid "State          :"
+msgstr ""
+
+#: ../output.py:2688
+msgid "Size           :"
+msgstr ""
+
+#: ../output.py:2690
+msgid "Build host     :"
+msgstr ""
+
+#: ../output.py:2693
+msgid "Build time     :"
+msgstr ""
+
+#: ../output.py:2695
+msgid "Packager       :"
+msgstr ""
+
+#: ../output.py:2697
+msgid "Vendor         :"
+msgstr ""
+
+#: ../output.py:2699
+msgid "License        :"
+msgstr ""
+
+#: ../output.py:2701
+msgid "URL            :"
+msgstr ""
+
+#: ../output.py:2703
+msgid "Source RPM     :"
+msgstr ""
+
+#: ../output.py:2706
+msgid "Commit Time    :"
+msgstr ""
+
+#: ../output.py:2708
+msgid "Committer      :"
+msgstr ""
+
+#: ../output.py:2710
+msgid "Reason         :"
+msgstr ""
+
+#: ../output.py:2714
+msgid "From repo      :"
+msgstr ""
+
+#: ../output.py:2718
+msgid "Installed by   :"
+msgstr ""
+
+#: ../output.py:2722
+msgid "Changed by     :"
+msgstr ""
+
+#: ../output.py:2767
 msgid "installed"
 msgstr ""
 
-#: ../output.py:2107
+#: ../output.py:2768
 msgid "an update"
 msgstr ""
 
-#: ../output.py:2108
+#: ../output.py:2769
 msgid "erased"
 msgstr ""
 
-#: ../output.py:2109
+#: ../output.py:2770
 msgid "reinstalled"
 msgstr ""
 
-#: ../output.py:2110
+#: ../output.py:2771
 msgid "a downgrade"
 msgstr ""
 
-#: ../output.py:2111
+#: ../output.py:2772
 msgid "obsoleting"
 msgstr ""
 
-#: ../output.py:2112
+#: ../output.py:2773
 msgid "updated"
 msgstr ""
 
-#: ../output.py:2113
+#: ../output.py:2774
 msgid "obsoleted"
 msgstr ""
 
-#: ../output.py:2117
+#: ../output.py:2778
 #, python-format
 msgid "---> Package %s.%s %s:%s-%s will be %s"
 msgstr ""
 
-#: ../output.py:2124
+#: ../output.py:2789
 msgid "--> Running transaction check"
 msgstr ""
 
-#: ../output.py:2129
+#: ../output.py:2795
 msgid "--> Restarting Dependency Resolution with new changes."
 msgstr ""
 
-#: ../output.py:2134
+#: ../output.py:2801
 msgid "--> Finished Dependency Resolution"
 msgstr ""
 
-#: ../output.py:2139 ../output.py:2144
+#: ../output.py:2814 ../output.py:2827
 #, python-format
 msgid "--> Processing Dependency: %s for package: %s"
 msgstr ""
 
-#: ../output.py:2149
+#: ../output.py:2841
 #, python-format
-msgid "---> Keeping package: %s"
+msgid "---> Keeping package: %s due to %s"
 msgstr ""
 
-#: ../output.py:2152
+#: ../output.py:2850
 #, python-format
 msgid "--> Unresolved Dependency: %s"
 msgstr ""
 
-#: ../output.py:2163
+#: ../output.py:2867
 #, python-format
 msgid "Package: %s"
 msgstr ""
 
-#: ../output.py:2165
+#: ../output.py:2869
 #, python-format
 msgid ""
 "\n"
 "    Requires: %s"
 msgstr ""
 
-#: ../output.py:2174
+#: ../output.py:2878
 #, python-format
 msgid ""
 "\n"
 "    %s: %s (%s)"
 msgstr ""
 
-#: ../output.py:2179
+#: ../output.py:2883
 #, python-format
 msgid ""
 "\n"
 "        %s"
 msgstr ""
 
-#: ../output.py:2181
+#: ../output.py:2885
 msgid ""
 "\n"
 "        Not found"
 msgstr ""
 
 #. These should be the only three things we care about:
-#: ../output.py:2196
+#: ../output.py:2900
 msgid "Updated By"
 msgstr ""
 
-#: ../output.py:2197
+#: ../output.py:2901
 msgid "Downgraded By"
 msgstr ""
 
-#: ../output.py:2198
+#: ../output.py:2902
 msgid "Obsoleted By"
 msgstr ""
 
-#: ../output.py:2216
+#: ../output.py:2920
 msgid "Available"
 msgstr ""
 
-#: ../output.py:2243 ../output.py:2248
+#: ../output.py:2955 ../output.py:2968
 #, python-format
 msgid "--> Processing Conflict: %s conflicts %s"
 msgstr ""
 
-#: ../output.py:2252
+#: ../output.py:2974
 msgid "--> Populating transaction set with selected packages. Please wait."
 msgstr ""
 
-#: ../output.py:2256
+#: ../output.py:2983
 #, python-format
 msgid "---> Downloading header for %s to pack into transaction set."
 msgstr ""
 
-#: ../utils.py:99
+#. self.event(txmbr.name, count, len(base.tsInfo), count, )
+#. (te_current*100L)/te_total
+#: ../output.py:3248
+msgid "Verifying"
+msgstr ""
+
+#: ../utils.py:123
 msgid "Running"
 msgstr ""
 
-#: ../utils.py:100
+#: ../utils.py:124
 msgid "Sleeping"
 msgstr ""
 
-#: ../utils.py:101
+#: ../utils.py:125
 msgid "Uninterruptible"
 msgstr ""
 
-#: ../utils.py:102
+#: ../utils.py:126
 msgid "Zombie"
 msgstr ""
 
-#: ../utils.py:103
+#: ../utils.py:127
 msgid "Traced/Stopped"
 msgstr ""
 
-#: ../utils.py:104 ../yumcommands.py:994
+#: ../utils.py:128 ../yumcommands.py:2193
 msgid "Unknown"
 msgstr ""
 
-#: ../utils.py:115
+#: ../utils.py:153
 msgid "  The other application is: PackageKit"
 msgstr ""
 
-#: ../utils.py:117
+#: ../utils.py:155
 #, python-format
 msgid "  The other application is: %s"
 msgstr ""
 
-#: ../utils.py:120
+#: ../utils.py:158
 #, python-format
 msgid "    Memory : %5s RSS (%5sB VSZ)"
 msgstr ""
 
-#: ../utils.py:125
+#: ../utils.py:163
 #, python-format
 msgid "    Started: %s - %s ago"
 msgstr ""
 
-#: ../utils.py:127
+#: ../utils.py:165
 #, python-format
 msgid "    State  : %s, pid: %d"
 msgstr ""
 
-#: ../utils.py:170 ../yummain.py:43
+#: ../utils.py:194 ../yummain.py:43
 msgid ""
 "\n"
 "\n"
 "Exiting on user cancel"
 msgstr ""
 
-#: ../utils.py:176 ../yummain.py:49
+#: ../utils.py:206 ../yummain.py:49
 msgid ""
 "\n"
 "\n"
 "Exiting on Broken Pipe"
 msgstr ""
 
-#: ../utils.py:178 ../yummain.py:51
+#: ../utils.py:208 ../yummain.py:51
 #, python-format
 msgid ""
 "\n"
@@ -1420,47 +1593,41 @@ msgid ""
 "%s"
 msgstr ""
 
-#: ../utils.py:228 ../yummain.py:123
-msgid ""
-"Another app is currently holding the yum lock; exiting as configured by "
-"exit_on_lock"
-msgstr ""
-
-#: ../utils.py:287
+#: ../utils.py:326
 #, python-format
 msgid "PluginExit Error: %s"
 msgstr ""
 
-#: ../utils.py:290
+#: ../utils.py:329
 #, python-format
 msgid "Yum Error: %s"
 msgstr ""
 
-#: ../utils.py:342 ../yummain.py:150 ../yummain.py:189
+#: ../utils.py:387 ../yummain.py:147 ../yummain.py:186
 #, python-format
 msgid "Error: %s"
 msgstr ""
 
-#: ../utils.py:346 ../yummain.py:194
+#: ../utils.py:391 ../yummain.py:191
 msgid " You could try using --skip-broken to work around the problem"
 msgstr ""
 
-#: ../utils.py:348 ../yummain.py:87
+#: ../utils.py:393 ../yummain.py:87
 msgid " You could try running: rpm -Va --nofiles --nodigest"
 msgstr ""
 
-#: ../utils.py:355 ../yummain.py:160 ../yummain.py:202
+#: ../utils.py:400 ../yummain.py:157 ../yummain.py:199
 #, python-format
 msgid "Unknown Error(s): Exit Code: %d:"
 msgstr ""
 
-#: ../utils.py:361 ../yummain.py:208
+#: ../utils.py:406 ../yummain.py:205
 msgid ""
 "\n"
 "Dependencies Resolved"
 msgstr ""
 
-#: ../utils.py:376 ../yummain.py:234
+#: ../utils.py:422 ../yummain.py:237
 msgid "Complete!"
 msgstr ""
 
@@ -1472,7 +1639,7 @@ msgstr ""
 msgid "You need to be root to perform this command."
 msgstr ""
 
-#: ../yumcommands.py:59
+#: ../yumcommands.py:67
 msgid ""
 "\n"
 "You have enabled checking of packages via GPG keys. This is a good thing. \n"
@@ -1489,555 +1656,645 @@ msgid ""
 "For more information contact your distribution or package provider.\n"
 msgstr ""
 
-#: ../yumcommands.py:74
+#: ../yumcommands.py:82
 #, python-format
 msgid "Problem repository: %s"
 msgstr ""
 
-#: ../yumcommands.py:80
+#: ../yumcommands.py:96
 #, python-format
 msgid "Error: Need to pass a list of pkgs to %s"
 msgstr ""
 
-#: ../yumcommands.py:86
+#: ../yumcommands.py:114
+#, python-format
+msgid "Error: Need at least two packages to %s"
+msgstr ""
+
+#: ../yumcommands.py:129
+#, python-format
+msgid "Error: Need to pass a repoid. and command to %s"
+msgstr ""
+
+#: ../yumcommands.py:136 ../yumcommands.py:142
+#, python-format
+msgid "Error: Need to pass a single valid repoid. to %s"
+msgstr ""
+
+#: ../yumcommands.py:147
+#, python-format
+msgid "Error: Repo %s is not enabled"
+msgstr ""
+
+#: ../yumcommands.py:164
 msgid "Error: Need an item to match"
 msgstr ""
 
-#: ../yumcommands.py:92
+#: ../yumcommands.py:178
 msgid "Error: Need a group or list of groups"
 msgstr ""
 
-#: ../yumcommands.py:101
+#: ../yumcommands.py:195
 #, python-format
 msgid "Error: clean requires an option: %s"
 msgstr ""
 
-#: ../yumcommands.py:106
+#: ../yumcommands.py:201
 #, python-format
 msgid "Error: invalid clean argument: %r"
 msgstr ""
 
-#: ../yumcommands.py:119
+#: ../yumcommands.py:216
 msgid "No argument to shell"
 msgstr ""
 
-#: ../yumcommands.py:121
+#: ../yumcommands.py:218
 #, python-format
 msgid "Filename passed to shell: %s"
 msgstr ""
 
-#: ../yumcommands.py:125
+#: ../yumcommands.py:222
 #, python-format
 msgid "File %s given as argument to shell does not exist."
 msgstr ""
 
-#: ../yumcommands.py:131
+#: ../yumcommands.py:228
 msgid "Error: more than one file given as argument to shell."
 msgstr ""
 
-#: ../yumcommands.py:148
+#: ../yumcommands.py:247
 msgid ""
 "There are no enabled repos.\n"
 " Run \"yum repolist all\" to see the repos you have.\n"
 " You can enable repos with yum-config-manager --enable <repo>"
 msgstr ""
 
-#: ../yumcommands.py:200
+#: ../yumcommands.py:383
 msgid "PACKAGE..."
 msgstr ""
 
-#: ../yumcommands.py:203
+#: ../yumcommands.py:390
 msgid "Install a package or packages on your system"
 msgstr ""
 
-#: ../yumcommands.py:212
+#: ../yumcommands.py:421
 msgid "Setting up Install Process"
 msgstr ""
 
-#: ../yumcommands.py:223 ../yumcommands.py:245
+#: ../yumcommands.py:447 ../yumcommands.py:507
 msgid "[PACKAGE...]"
 msgstr ""
 
-#: ../yumcommands.py:226
+#: ../yumcommands.py:454
 msgid "Update a package or packages on your system"
 msgstr ""
 
-#: ../yumcommands.py:234
+#: ../yumcommands.py:483
 msgid "Setting up Update Process"
 msgstr ""
 
-#: ../yumcommands.py:248
+#: ../yumcommands.py:514
 msgid "Synchronize installed packages to the latest available versions"
 msgstr ""
 
-#: ../yumcommands.py:256
+#: ../yumcommands.py:543
 msgid "Setting up Distribution Synchronization Process"
 msgstr ""
 
-#: ../yumcommands.py:299
+#: ../yumcommands.py:603
 msgid "Display details about a package or group of packages"
 msgstr ""
 
-#: ../yumcommands.py:348
+#: ../yumcommands.py:672
 msgid "Installed Packages"
 msgstr ""
 
-#: ../yumcommands.py:356
+#: ../yumcommands.py:682
 msgid "Available Packages"
 msgstr ""
 
-#: ../yumcommands.py:360
+#: ../yumcommands.py:687
 msgid "Extra Packages"
 msgstr ""
 
-#: ../yumcommands.py:364
+#: ../yumcommands.py:691
 msgid "Updated Packages"
 msgstr ""
 
 #. This only happens in verbose mode
-#: ../yumcommands.py:372 ../yumcommands.py:379 ../yumcommands.py:667
+#: ../yumcommands.py:699 ../yumcommands.py:706 ../yumcommands.py:1539
 msgid "Obsoleting Packages"
 msgstr ""
 
-#: ../yumcommands.py:381
+#: ../yumcommands.py:708
 msgid "Recently Added Packages"
 msgstr ""
 
-#: ../yumcommands.py:388
+#: ../yumcommands.py:715
 msgid "No matching Packages to list"
 msgstr ""
 
-#: ../yumcommands.py:402
+#: ../yumcommands.py:766
 msgid "List a package or groups of packages"
 msgstr ""
 
-#: ../yumcommands.py:414
+#: ../yumcommands.py:797
 msgid "Remove a package or packages from your system"
 msgstr ""
 
-#: ../yumcommands.py:421
+#: ../yumcommands.py:845
 msgid "Setting up Remove Process"
 msgstr ""
 
-#: ../yumcommands.py:435
-msgid "Setting up Group Process"
+#: ../yumcommands.py:906
+msgid "Display, or use, the groups information"
 msgstr ""
 
-#: ../yumcommands.py:441
-msgid "No Groups on which to run command"
+#: ../yumcommands.py:909
+msgid "Setting up Group Process"
 msgstr ""
 
-#: ../yumcommands.py:454
-msgid "List available package groups"
+#: ../yumcommands.py:915
+msgid "No Groups on which to run command"
 msgstr ""
 
-#: ../yumcommands.py:474
-msgid "Install the packages in a group on your system"
+#: ../yumcommands.py:985
+#, python-format
+msgid "Invalid groups sub-command, use: %s."
 msgstr ""
 
-#: ../yumcommands.py:497
-msgid "Remove the packages in a group from your system"
+#: ../yumcommands.py:992
+msgid "There is no installed groups file."
 msgstr ""
 
-#: ../yumcommands.py:525
-msgid "Display details about a package group"
+#: ../yumcommands.py:994
+msgid "You don't have access to the groups DB."
 msgstr ""
 
-#: ../yumcommands.py:550
+#: ../yumcommands.py:1256
 msgid "Generate the metadata cache"
 msgstr ""
 
-#: ../yumcommands.py:556
+#: ../yumcommands.py:1282
 msgid "Making cache files for all metadata files."
 msgstr ""
 
-#: ../yumcommands.py:557
+#: ../yumcommands.py:1283
 msgid "This may take a while depending on the speed of this computer"
 msgstr ""
 
-#: ../yumcommands.py:578
+#: ../yumcommands.py:1312
 msgid "Metadata Cache Created"
 msgstr ""
 
-#: ../yumcommands.py:592
+#: ../yumcommands.py:1350
 msgid "Remove cached data"
 msgstr ""
 
-#: ../yumcommands.py:613
+#: ../yumcommands.py:1417
 msgid "Find what package provides the given value"
 msgstr ""
 
-#: ../yumcommands.py:633
+#: ../yumcommands.py:1485
 msgid "Check for available package updates"
 msgstr ""
 
-#: ../yumcommands.py:687
+#: ../yumcommands.py:1587
 msgid "Search package details for the given string"
 msgstr ""
 
-#: ../yumcommands.py:693
+#: ../yumcommands.py:1613
 msgid "Searching Packages: "
 msgstr ""
 
-#: ../yumcommands.py:710
+#: ../yumcommands.py:1666
 msgid "Update packages taking obsoletes into account"
 msgstr ""
 
-#: ../yumcommands.py:719
+#: ../yumcommands.py:1696
 msgid "Setting up Upgrade Process"
 msgstr ""
 
-#: ../yumcommands.py:737
+#: ../yumcommands.py:1731
 msgid "Install a local RPM"
 msgstr ""
 
-#: ../yumcommands.py:745
+#: ../yumcommands.py:1761
 msgid "Setting up Local Package Process"
 msgstr ""
 
-#: ../yumcommands.py:764
-msgid "Determine which package provides the given dependency"
-msgstr ""
-
-#: ../yumcommands.py:767
+#: ../yumcommands.py:1825
 msgid "Searching Packages for Dependency:"
 msgstr ""
 
-#: ../yumcommands.py:781
+#: ../yumcommands.py:1867
 msgid "Run an interactive yum shell"
 msgstr ""
 
-#: ../yumcommands.py:787
+#: ../yumcommands.py:1893
 msgid "Setting up Yum Shell"
 msgstr ""
 
-#: ../yumcommands.py:805
+#: ../yumcommands.py:1936
 msgid "List a package's dependencies"
 msgstr ""
 
-#: ../yumcommands.py:811
+#: ../yumcommands.py:1963
 msgid "Finding dependencies: "
 msgstr ""
 
-#: ../yumcommands.py:827
+#: ../yumcommands.py:2005
 msgid "Display the configured software repositories"
 msgstr ""
 
-#: ../yumcommands.py:893 ../yumcommands.py:894
+#: ../yumcommands.py:2094 ../yumcommands.py:2095
 msgid "enabled"
 msgstr ""
 
-#: ../yumcommands.py:920 ../yumcommands.py:921
+#: ../yumcommands.py:2121 ../yumcommands.py:2122
 msgid "disabled"
 msgstr ""
 
-#: ../yumcommands.py:937
+#: ../yumcommands.py:2137
 msgid "Repo-id      : "
 msgstr ""
 
-#: ../yumcommands.py:938
+#: ../yumcommands.py:2138
 msgid "Repo-name    : "
 msgstr ""
 
-#: ../yumcommands.py:941
+#: ../yumcommands.py:2141
 msgid "Repo-status  : "
 msgstr ""
 
-#: ../yumcommands.py:944
+#: ../yumcommands.py:2144
 msgid "Repo-revision: "
 msgstr ""
 
-#: ../yumcommands.py:948
+#: ../yumcommands.py:2148
 msgid "Repo-tags    : "
 msgstr ""
 
-#: ../yumcommands.py:954
+#: ../yumcommands.py:2154
 msgid "Repo-distro-tags: "
 msgstr ""
 
-#: ../yumcommands.py:959
+#: ../yumcommands.py:2159
 msgid "Repo-updated : "
 msgstr ""
 
-#: ../yumcommands.py:961
+#: ../yumcommands.py:2161
 msgid "Repo-pkgs    : "
 msgstr ""
 
-#: ../yumcommands.py:962
+#: ../yumcommands.py:2162
 msgid "Repo-size    : "
 msgstr ""
 
-#: ../yumcommands.py:969 ../yumcommands.py:990
+#: ../yumcommands.py:2169 ../yumcommands.py:2190
 msgid "Repo-baseurl : "
 msgstr ""
 
-#: ../yumcommands.py:977
+#: ../yumcommands.py:2177
 msgid "Repo-metalink: "
 msgstr ""
 
-#: ../yumcommands.py:981
+#: ../yumcommands.py:2181
 msgid "  Updated    : "
 msgstr ""
 
-#: ../yumcommands.py:984
+#: ../yumcommands.py:2184
 msgid "Repo-mirrors : "
 msgstr ""
 
-#: ../yumcommands.py:1000
+#: ../yumcommands.py:2199
 #, python-format
 msgid "Never (last: %s)"
 msgstr ""
 
-#: ../yumcommands.py:1002
+#: ../yumcommands.py:2201
 #, python-format
 msgid "Instant (last: %s)"
 msgstr ""
 
-#: ../yumcommands.py:1005
+#: ../yumcommands.py:2204
 #, python-format
 msgid "%s second(s) (last: %s)"
 msgstr ""
 
-#: ../yumcommands.py:1007
+#: ../yumcommands.py:2206
 msgid "Repo-expire  : "
 msgstr ""
 
-#: ../yumcommands.py:1010
+#: ../yumcommands.py:2209
 msgid "Repo-exclude : "
 msgstr ""
 
-#: ../yumcommands.py:1014
+#: ../yumcommands.py:2213
 msgid "Repo-include : "
 msgstr ""
 
-#: ../yumcommands.py:1018
+#: ../yumcommands.py:2217
 msgid "Repo-excluded: "
 msgstr ""
 
-#: ../yumcommands.py:1022
+#: ../yumcommands.py:2221
 msgid "Repo-filename: "
 msgstr ""
 
 #. Work out the first (id) and last (enabled/disalbed/count),
 #. then chop the middle (name)...
-#: ../yumcommands.py:1032 ../yumcommands.py:1061
+#: ../yumcommands.py:2230 ../yumcommands.py:2259
 msgid "repo id"
 msgstr ""
 
-#: ../yumcommands.py:1049 ../yumcommands.py:1050 ../yumcommands.py:1068
+#: ../yumcommands.py:2247 ../yumcommands.py:2248 ../yumcommands.py:2266
 msgid "status"
 msgstr ""
 
-#: ../yumcommands.py:1062
+#: ../yumcommands.py:2260
 msgid "repo name"
 msgstr ""
 
-#: ../yumcommands.py:1099
+#: ../yumcommands.py:2332
 msgid "Display a helpful usage message"
 msgstr ""
 
-#: ../yumcommands.py:1133
+#: ../yumcommands.py:2374
 #, python-format
 msgid "No help available for %s"
 msgstr ""
 
-#: ../yumcommands.py:1138
+#: ../yumcommands.py:2379
 msgid ""
 "\n"
 "\n"
 "aliases: "
 msgstr ""
 
-#: ../yumcommands.py:1140
+#: ../yumcommands.py:2381
 msgid ""
 "\n"
 "\n"
 "alias: "
 msgstr ""
 
-#: ../yumcommands.py:1168
+#: ../yumcommands.py:2466
 msgid "Setting up Reinstall Process"
 msgstr ""
 
-#: ../yumcommands.py:1176
+#: ../yumcommands.py:2478
 msgid "reinstall a package"
 msgstr ""
 
-#: ../yumcommands.py:1195
+#: ../yumcommands.py:2541
 msgid "Setting up Downgrade Process"
 msgstr ""
 
-#: ../yumcommands.py:1202
+#: ../yumcommands.py:2552
 msgid "downgrade a package"
 msgstr ""
 
-#: ../yumcommands.py:1216
+#: ../yumcommands.py:2591
 msgid "Display a version for the machine and/or available repos."
 msgstr ""
 
-#: ../yumcommands.py:1255
+#: ../yumcommands.py:2643
 msgid " Yum version groups:"
 msgstr ""
 
-#: ../yumcommands.py:1265
+#: ../yumcommands.py:2653
 msgid " Group   :"
 msgstr ""
 
-#: ../yumcommands.py:1266
+#: ../yumcommands.py:2654
 msgid " Packages:"
 msgstr ""
 
-#: ../yumcommands.py:1295
+#: ../yumcommands.py:2683
 msgid "Installed:"
 msgstr ""
 
-#: ../yumcommands.py:1303
+#: ../yumcommands.py:2691
 msgid "Group-Installed:"
 msgstr ""
 
-#: ../yumcommands.py:1312
+#: ../yumcommands.py:2700
 msgid "Available:"
 msgstr ""
 
-#: ../yumcommands.py:1321
+#: ../yumcommands.py:2709
 msgid "Group-Available:"
 msgstr ""
 
-#: ../yumcommands.py:1360
+#: ../yumcommands.py:2783
 msgid "Display, or use, the transaction history"
 msgstr ""
 
-#: ../yumcommands.py:1432
+#: ../yumcommands.py:2876 ../yumcommands.py:2880
+msgid "Transactions:"
+msgstr ""
+
+#: ../yumcommands.py:2881
+msgid "Begin time  :"
+msgstr ""
+
+#: ../yumcommands.py:2882
+msgid "End time    :"
+msgstr ""
+
+#: ../yumcommands.py:2883
+msgid "Counts      :"
+msgstr ""
+
+#: ../yumcommands.py:2884
+msgid "  NEVRAC :"
+msgstr ""
+
+#: ../yumcommands.py:2885
+msgid "  NEVRA  :"
+msgstr ""
+
+#: ../yumcommands.py:2886
+msgid "  NA     :"
+msgstr ""
+
+#: ../yumcommands.py:2887
+msgid "  NEVR   :"
+msgstr ""
+
+#: ../yumcommands.py:2888
+msgid "  rpm DB :"
+msgstr ""
+
+#: ../yumcommands.py:2889
+msgid "  yum DB :"
+msgstr ""
+
+#: ../yumcommands.py:2922
 #, python-format
 msgid "Invalid history sub-command, use: %s."
 msgstr ""
 
-#: ../yumcommands.py:1439
+#: ../yumcommands.py:2929
 msgid "You don't have access to the history DB."
 msgstr ""
 
-#: ../yumcommands.py:1487
+#: ../yumcommands.py:3036
 msgid "Check for problems in the rpmdb"
 msgstr ""
 
-#: ../yumcommands.py:1514
+#: ../yumcommands.py:3102
 msgid "load a saved transaction from filename"
 msgstr ""
 
-#: ../yumcommands.py:1518
+#: ../yumcommands.py:3119
 msgid "No saved transaction file specified."
 msgstr ""
 
-#: ../yumcommands.py:1522
+#: ../yumcommands.py:3123
 #, python-format
 msgid "loading transaction from %s"
 msgstr ""
 
-#: ../yumcommands.py:1528
+#: ../yumcommands.py:3129
 #, python-format
 msgid "Transaction loaded from %s with %s members"
 msgstr ""
 
+#: ../yumcommands.py:3169
+msgid "Simple way to swap packages, isntead of using shell"
+msgstr ""
+
+#: ../yumcommands.py:3264
+msgid ""
+"Treat a repo. as a group of packages, so we can install/remove all of them"
+msgstr ""
+
+#: ../yumcommands.py:3341
+#, python-format
+msgid "%d package to update"
+msgid_plural "%d packages to update"
+msgstr[0] ""
+
+#: ../yumcommands.py:3370
+#, python-format
+msgid "%d package to remove/reinstall"
+msgid_plural "%d packages to remove/reinstall"
+msgstr[0] ""
+
+#: ../yumcommands.py:3413
+#, python-format
+msgid "%d package to remove/sync"
+msgid_plural "%d packages to remove/sync"
+msgstr[0] ""
+
+#: ../yumcommands.py:3417
+#, python-format
+msgid "Not a valid sub-command of %s"
+msgstr ""
+
 #. This is mainly for PackageSackError from rpmdb.
 #: ../yummain.py:84
 #, python-format
 msgid " Yum checks failed: %s"
 msgstr ""
 
-#: ../yummain.py:114
-msgid ""
-"Another app is currently holding the yum lock; waiting for it to exit..."
+#: ../yummain.py:98
+msgid "No read/execute access in current directory, moving to /"
 msgstr ""
 
-#: ../yummain.py:120
-msgid "Can't create lock file; exiting"
+#: ../yummain.py:106
+msgid "No getcwd() access in current directory, moving to /"
 msgstr ""
 
 #. Depsolve stage
-#: ../yummain.py:167
+#: ../yummain.py:164
 msgid "Resolving Dependencies"
 msgstr ""
 
-#: ../yummain.py:230
+#: ../yummain.py:227 ../yummain.py:235
 #, python-format
-msgid "Your transaction was saved, rerun it with: yum load-transaction %s"
+msgid ""
+"Your transaction was saved, rerun it with:\n"
+" yum load-transaction %s"
 msgstr ""
 
-#: ../yummain.py:288
+#: ../yummain.py:312
 msgid ""
 "\n"
 "\n"
 "Exiting on user cancel."
 msgstr ""
 
-#: ../yum/depsolve.py:84
+#: ../yum/depsolve.py:127
 msgid "doTsSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/depsolve.py:99
+#: ../yum/depsolve.py:143
 msgid "Setting up TransactionSets before config class is up"
 msgstr ""
 
-#: ../yum/depsolve.py:153
+#: ../yum/depsolve.py:200
 #, python-format
 msgid "Invalid tsflag in config file: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:164
+#: ../yum/depsolve.py:218
 #, python-format
 msgid "Searching pkgSack for dep: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:207
+#: ../yum/depsolve.py:269
 #, python-format
 msgid "Member: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:221 ../yum/depsolve.py:793
+#: ../yum/depsolve.py:283 ../yum/depsolve.py:937
 #, python-format
 msgid "%s converted to install"
 msgstr ""
 
-#: ../yum/depsolve.py:233
+#: ../yum/depsolve.py:295
 #, python-format
 msgid "Adding Package %s in mode %s"
 msgstr ""
 
-#: ../yum/depsolve.py:249
+#: ../yum/depsolve.py:311
 #, python-format
 msgid "Removing Package %s"
 msgstr ""
 
-#: ../yum/depsolve.py:271
+#: ../yum/depsolve.py:333
 #, python-format
 msgid "%s requires: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:312
+#: ../yum/depsolve.py:374
 #, python-format
 msgid "%s requires %s"
 msgstr ""
 
-#: ../yum/depsolve.py:339
+#: ../yum/depsolve.py:401
 msgid "Needed Require has already been looked up, cheating"
 msgstr ""
 
-#: ../yum/depsolve.py:349
+#: ../yum/depsolve.py:411
 #, python-format
 msgid "Needed Require is not a package name. Looking up: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:357
+#: ../yum/depsolve.py:419
 #, python-format
 msgid "Potential Provider: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:380
+#: ../yum/depsolve.py:442
 #, python-format
 msgid "Mode is %s for provider of %s: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:384
+#: ../yum/depsolve.py:446
 #, python-format
 msgid "Mode for pkg providing %s: %s"
 msgstr ""
@@ -2045,991 +2302,1138 @@ msgstr ""
 #. the thing it needs is being updated or obsoleted away
 #. try to update the requiring package in hopes that all this problem goes
 #. away :(
-#: ../yum/depsolve.py:389 ../yum/depsolve.py:406
+#: ../yum/depsolve.py:451 ../yum/depsolve.py:486
 #, python-format
 msgid "Trying to update %s to resolve dep"
 msgstr ""
 
-#: ../yum/depsolve.py:400 ../yum/depsolve.py:410
+#: ../yum/depsolve.py:480
 #, python-format
 msgid "No update paths found for %s. Failure!"
 msgstr ""
 
-#: ../yum/depsolve.py:416
+#: ../yum/depsolve.py:491
+#, python-format
+msgid "No update paths found for %s. Failure due to requirement: %s!"
+msgstr ""
+
+#: ../yum/depsolve.py:507
+#, python-format
+msgid "Update for %s. Doesn't fix requirement: %s!"
+msgstr ""
+
+#: ../yum/depsolve.py:514
 #, python-format
 msgid "TSINFO: %s package requiring %s marked as erase"
 msgstr ""
 
-#: ../yum/depsolve.py:429
+#: ../yum/depsolve.py:527
 #, python-format
 msgid "TSINFO: Obsoleting %s with %s to resolve dep."
 msgstr ""
 
-#: ../yum/depsolve.py:432
+#: ../yum/depsolve.py:530
 #, python-format
 msgid "TSINFO: Updating %s to resolve dep."
 msgstr ""
 
-#: ../yum/depsolve.py:440
+#: ../yum/depsolve.py:538
 #, python-format
 msgid "Cannot find an update path for dep for: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:471
+#: ../yum/depsolve.py:569
 #, python-format
 msgid "Quick matched %s to require for %s"
 msgstr ""
 
 #. is it already installed?
-#: ../yum/depsolve.py:513
+#: ../yum/depsolve.py:611
 #, python-format
 msgid "%s is in providing packages but it is already installed, removing."
 msgstr ""
 
-#: ../yum/depsolve.py:529
+#: ../yum/depsolve.py:627
 #, python-format
 msgid "Potential resolving package %s has newer instance in ts."
 msgstr ""
 
-#: ../yum/depsolve.py:540
+#: ../yum/depsolve.py:638
 #, python-format
 msgid "Potential resolving package %s has newer instance installed."
 msgstr ""
 
-#: ../yum/depsolve.py:558
+#: ../yum/depsolve.py:656
 #, python-format
 msgid "%s already in ts, skipping this one"
 msgstr ""
 
-#: ../yum/depsolve.py:607
+#: ../yum/depsolve.py:705
 #, python-format
 msgid "TSINFO: Marking %s as update for %s"
 msgstr ""
 
-#: ../yum/depsolve.py:616
+#: ../yum/depsolve.py:714
 #, python-format
 msgid "TSINFO: Marking %s as install for %s"
 msgstr ""
 
-#: ../yum/depsolve.py:727 ../yum/depsolve.py:819
+#: ../yum/depsolve.py:849 ../yum/depsolve.py:967
 msgid "Success - empty transaction"
 msgstr ""
 
-#: ../yum/depsolve.py:767 ../yum/depsolve.py:783
+#: ../yum/depsolve.py:889 ../yum/depsolve.py:927
 msgid "Restarting Loop"
 msgstr ""
 
-#: ../yum/depsolve.py:799
+#: ../yum/depsolve.py:947
 msgid "Dependency Process ending"
 msgstr ""
 
-#: ../yum/depsolve.py:821
+#: ../yum/depsolve.py:969
 msgid "Success - deps resolved"
 msgstr ""
 
-#: ../yum/depsolve.py:845
+#: ../yum/depsolve.py:993
 #, python-format
 msgid "Checking deps for %s"
 msgstr ""
 
-#: ../yum/depsolve.py:931
+#: ../yum/depsolve.py:1082
 #, python-format
 msgid "looking for %s as a requirement of %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1169
+#: ../yum/depsolve.py:1349
 #, python-format
 msgid "Running compare_providers() for %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1196 ../yum/depsolve.py:1202
+#: ../yum/depsolve.py:1376 ../yum/depsolve.py:1382
 #, python-format
 msgid "better arch in po %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1298
+#: ../yum/depsolve.py:1496
 #, python-format
 msgid "%s obsoletes %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1310
+#: ../yum/depsolve.py:1508
 #, python-format
 msgid ""
 "archdist compared %s to %s on %s\n"
 "  Winner: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1318
+#: ../yum/depsolve.py:1516
 #, python-format
 msgid "common sourcerpm %s and %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1322
+#: ../yum/depsolve.py:1520
 #, python-format
 msgid "base package %s is installed for %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1328
+#: ../yum/depsolve.py:1526
 #, python-format
 msgid "common prefix of %s between %s and %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1359
+#: ../yum/depsolve.py:1543
 #, python-format
-msgid "requires minimal: %d"
+msgid "provides vercmp: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1363
+#: ../yum/depsolve.py:1547 ../yum/depsolve.py:1581
 #, python-format
 msgid " Winner: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1368
+#: ../yum/depsolve.py:1577
+#, python-format
+msgid "requires minimal: %d"
+msgstr ""
+
+#: ../yum/depsolve.py:1586
 #, python-format
 msgid " Loser(with %d): %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1384
+#: ../yum/depsolve.py:1602
 #, python-format
 msgid "Best Order: %s"
 msgstr ""
 
-#: ../yum/__init__.py:234
+#: ../yum/__init__.py:274
 msgid "doConfigSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/__init__.py:482
+#: ../yum/__init__.py:553
+#, python-format
+msgid "Skipping unreadable repository %s"
+msgstr ""
+
+#: ../yum/__init__.py:572
 #, python-format
 msgid "Repository %r: Error parsing config: %s"
 msgstr ""
 
-#: ../yum/__init__.py:488
+#: ../yum/__init__.py:578
 #, python-format
 msgid "Repository %r is missing name in configuration, using id"
 msgstr ""
 
-#: ../yum/__init__.py:526
+#: ../yum/__init__.py:618
 msgid "plugins already initialised"
 msgstr ""
 
-#: ../yum/__init__.py:533
+#: ../yum/__init__.py:627
 msgid "doRpmDBSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/__init__.py:544
+#: ../yum/__init__.py:638
 msgid "Reading Local RPMDB"
 msgstr ""
 
-#: ../yum/__init__.py:567
+#: ../yum/__init__.py:668
 msgid "doRepoSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/__init__.py:630
+#: ../yum/__init__.py:722
 msgid "doSackSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/__init__.py:660
+#: ../yum/__init__.py:752
 msgid "Setting up Package Sacks"
 msgstr ""
 
-#: ../yum/__init__.py:705
+#: ../yum/__init__.py:797
 #, python-format
 msgid "repo object for repo %s lacks a _resetSack method\n"
 msgstr ""
 
-#: ../yum/__init__.py:706
+#: ../yum/__init__.py:798
 msgid "therefore this repo cannot be reset.\n"
 msgstr ""
 
-#: ../yum/__init__.py:711
+#: ../yum/__init__.py:806
 msgid "doUpdateSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/__init__.py:723
+#: ../yum/__init__.py:818
 msgid "Building updates object"
 msgstr ""
 
-#: ../yum/__init__.py:765
+#: ../yum/__init__.py:862
 msgid "doGroupSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/__init__.py:790
+#: ../yum/__init__.py:887
 msgid "Getting group metadata"
 msgstr ""
 
-#: ../yum/__init__.py:816
+#: ../yum/__init__.py:915
 #, python-format
 msgid "Adding group file from repository: %s"
 msgstr ""
 
-#: ../yum/__init__.py:827
+#: ../yum/__init__.py:918
+#, python-format
+msgid "Failed to retrieve group file for repository: %s"
+msgstr ""
+
+#: ../yum/__init__.py:924
 #, python-format
 msgid "Failed to add groups file for repository: %s - %s"
 msgstr ""
 
-#: ../yum/__init__.py:833
+#: ../yum/__init__.py:930
 msgid "No Groups Available in any repository"
 msgstr ""
 
-#: ../yum/__init__.py:845
+#: ../yum/__init__.py:945
 msgid "Getting pkgtags metadata"
 msgstr ""
 
-#: ../yum/__init__.py:855
+#: ../yum/__init__.py:955
 #, python-format
 msgid "Adding tags from repository: %s"
 msgstr ""
 
-#: ../yum/__init__.py:866
+#: ../yum/__init__.py:966
 #, python-format
 msgid "Failed to add Pkg Tags for repository: %s - %s"
 msgstr ""
 
-#: ../yum/__init__.py:944
+#: ../yum/__init__.py:1059
 msgid "Importing additional filelist information"
 msgstr ""
 
-#: ../yum/__init__.py:958
+#: ../yum/__init__.py:1077
 #, python-format
 msgid "The program %s%s%s is found in the yum-utils package."
 msgstr ""
 
-#: ../yum/__init__.py:966
+#: ../yum/__init__.py:1094
 msgid ""
 "There are unfinished transactions remaining. You might consider running yum-"
 "complete-transaction first to finish them."
 msgstr ""
 
-#: ../yum/__init__.py:983
+#: ../yum/__init__.py:1111
 msgid "--> Finding unneeded leftover dependencies"
 msgstr ""
 
-#: ../yum/__init__.py:1041
+#: ../yum/__init__.py:1169
 #, python-format
 msgid "Protected multilib versions: %s != %s"
 msgstr ""
 
-#: ../yum/__init__.py:1096
+#. People are confused about protected mutilib ... so give
+#. them a nicer message.
+#: ../yum/__init__.py:1173
+#, python-format
+msgid ""
+" Multilib version problems found. This often means that the root\n"
+"cause is something else and multilib version checking is just\n"
+"pointing out that there is a problem. Eg.:\n"
+"\n"
+"  1. You have an upgrade for %(name)s which is missing some\n"
+"     dependency that another package requires. Yum is trying to\n"
+"     solve this by installing an older version of %(name)s of the\n"
+"     different architecture. If you exclude the bad architecture\n"
+"     yum will tell you what the root cause is (which package\n"
+"     requires what). You can try redoing the upgrade with\n"
+"     --exclude %(name)s.otherarch ... this should give you an error\n"
+"     message showing the root cause of the problem.\n"
+"\n"
+"  2. You have multiple architectures of %(name)s installed, but\n"
+"     yum can only see an upgrade for one of those arcitectures.\n"
+"     If you don't want/need both architectures anymore then you\n"
+"     can remove the one with the missing update and everything\n"
+"     will work.\n"
+"\n"
+"  3. You have duplicate versions of %(name)s installed already.\n"
+"     You can use \"yum check\" to get yum show these errors.\n"
+"\n"
+"...you can also use --setopt=protected_multilib=false to remove\n"
+"this checking, however this is almost never the correct thing to\n"
+"do as something else is very likely to go wrong (often causing\n"
+"much more problems).\n"
+"\n"
+msgstr ""
+
+#: ../yum/__init__.py:1257
 #, python-format
 msgid "Trying to remove \"%s\", which is protected"
 msgstr ""
 
-#: ../yum/__init__.py:1217
+#: ../yum/__init__.py:1378
 msgid ""
 "\n"
 "Packages skipped because of dependency problems:"
 msgstr ""
 
-#: ../yum/__init__.py:1221
+#: ../yum/__init__.py:1382
 #, python-format
 msgid "    %s from %s"
 msgstr ""
 
 #. FIXME: _N()
-#: ../yum/__init__.py:1391
+#: ../yum/__init__.py:1556
 #, python-format
 msgid "** Found %d pre-existing rpmdb problem(s), 'yum check' output follows:"
 msgstr ""
 
-#: ../yum/__init__.py:1395
+#: ../yum/__init__.py:1560
 msgid "Warning: RPMDB altered outside of yum."
 msgstr ""
 
-#: ../yum/__init__.py:1407
+#: ../yum/__init__.py:1572
 msgid "missing requires"
 msgstr ""
 
-#: ../yum/__init__.py:1408
+#: ../yum/__init__.py:1573
 msgid "installed conflict"
 msgstr ""
 
-#: ../yum/__init__.py:1525
+#: ../yum/__init__.py:1709
 msgid ""
 "Warning: scriptlet or other non-fatal errors occurred during transaction."
 msgstr ""
 
-#: ../yum/__init__.py:1535
+#: ../yum/__init__.py:1719
 msgid "Transaction couldn't start:"
 msgstr ""
 
 #. should this be 'to_unicoded'?
-#: ../yum/__init__.py:1538
+#: ../yum/__init__.py:1722
 msgid "Could not run transaction."
 msgstr ""
 
-#: ../yum/__init__.py:1552
+#: ../yum/__init__.py:1736
 #, python-format
 msgid "Failed to remove transaction file %s"
 msgstr ""
 
 #. maybe a file log here, too
 #. but raising an exception is not going to do any good
-#: ../yum/__init__.py:1590
+#: ../yum/__init__.py:1792
 #, python-format
 msgid "%s was supposed to be installed but is not!"
 msgstr ""
 
 #. maybe a file log here, too
 #. but raising an exception is not going to do any good
-#: ../yum/__init__.py:1651
+#. Note: This actually triggers atm. because we can't
+#. always find the erased txmbr to set it when
+#. we should.
+#: ../yum/__init__.py:1869
 #, python-format
 msgid "%s was supposed to be removed but is not!"
 msgstr ""
 
-#: ../yum/__init__.py:1768
+#. Another copy seems to be running.
+#: ../yum/__init__.py:2004
 #, python-format
-msgid "Could not open lock %s: %s"
+msgid "Existing lock %s: another copy is running as pid %s."
 msgstr ""
 
 #. Whoa. What the heck happened?
-#: ../yum/__init__.py:1785
+#: ../yum/__init__.py:2053
 #, python-format
-msgid "Unable to check if PID %s is active"
+msgid "Could not create lock at %s: %s "
 msgstr ""
 
-#. Another copy seems to be running.
-#: ../yum/__init__.py:1789
+#: ../yum/__init__.py:2065
 #, python-format
-msgid "Existing lock %s: another copy is running as pid %s."
+msgid "Could not open lock %s: %s"
 msgstr ""
 
+#. The pid doesn't exist
 #. Whoa. What the heck happened?
-#: ../yum/__init__.py:1830
+#: ../yum/__init__.py:2082
 #, python-format
-msgid "Could not create lock at %s: %s "
+msgid "Unable to check if PID %s is active"
 msgstr ""
 
-#: ../yum/__init__.py:1875
+#: ../yum/__init__.py:2132
 #, python-format
 msgid ""
 "Package does not match intended download. Suggestion: run yum "
 "--enablerepo=%s clean metadata"
 msgstr ""
 
-#: ../yum/__init__.py:1891
+#: ../yum/__init__.py:2155
 msgid "Could not perform checksum"
 msgstr "Tidak dapat melaksanakan checksum"
 
-#: ../yum/__init__.py:1894
+#: ../yum/__init__.py:2158
 msgid "Package does not match checksum"
 msgstr ""
 
-#: ../yum/__init__.py:1946
+#: ../yum/__init__.py:2222
 #, python-format
 msgid "package fails checksum but caching is enabled for %s"
 msgstr ""
 
-#: ../yum/__init__.py:1949 ../yum/__init__.py:1979
+#: ../yum/__init__.py:2225 ../yum/__init__.py:2268
 #, python-format
 msgid "using local copy of %s"
 msgstr "menggunakan salinan tempatan bagi %s"
 
-#: ../yum/__init__.py:1991
-#, python-format
-msgid ""
-"Insufficient space in download directory %s\n"
-"    * free   %s\n"
-"    * needed %s"
+#. caller handles errors
+#: ../yum/__init__.py:2342
+msgid "exiting because --downloadonly specified"
 msgstr ""
 
-#: ../yum/__init__.py:2052
+#: ../yum/__init__.py:2371
 msgid "Header is not complete."
 msgstr "Pengepala tidak lengkap."
 
-#: ../yum/__init__.py:2089
+#: ../yum/__init__.py:2411
 #, python-format
 msgid ""
 "Header not in local cache and caching-only mode enabled. Cannot download %s"
 msgstr ""
 
-#: ../yum/__init__.py:2147
+#: ../yum/__init__.py:2471
 #, python-format
 msgid "Public key for %s is not installed"
 msgstr ""
 
-#: ../yum/__init__.py:2151
+#: ../yum/__init__.py:2475
 #, python-format
 msgid "Problem opening package %s"
 msgstr "Masalah membuka pakej %s"
 
-#: ../yum/__init__.py:2159
+#: ../yum/__init__.py:2483
 #, python-format
 msgid "Public key for %s is not trusted"
 msgstr ""
 
-#: ../yum/__init__.py:2163
+#: ../yum/__init__.py:2487
 #, python-format
 msgid "Package %s is not signed"
 msgstr "Pakej %s tidak ditandatangan"
 
-#: ../yum/__init__.py:2202
+#: ../yum/__init__.py:2529
 #, python-format
 msgid "Cannot remove %s"
 msgstr "Tidak dapat membuang %s"
 
-#: ../yum/__init__.py:2206
+#: ../yum/__init__.py:2533
 #, python-format
 msgid "%s removed"
 msgstr ""
 
-#: ../yum/__init__.py:2252
+#: ../yum/__init__.py:2594
 #, python-format
 msgid "Cannot remove %s file %s"
 msgstr "Tidak dapat membuang %s fail %s"
 
-#: ../yum/__init__.py:2256
+#: ../yum/__init__.py:2598
 #, python-format
 msgid "%s file %s removed"
 msgstr "%s fail %s dibuang"
 
-#: ../yum/__init__.py:2258
+#: ../yum/__init__.py:2600
 #, python-format
-msgid "%d %s files removed"
-msgstr "%d %s fail dibuang"
+msgid "%d %s file removed"
+msgid_plural "%d %s files removed"
+msgstr[0] ""
 
-#: ../yum/__init__.py:2327
+#: ../yum/__init__.py:2712
 #, python-format
 msgid "More than one identical match in sack for %s"
 msgstr ""
 
-#: ../yum/__init__.py:2333
+#: ../yum/__init__.py:2718
 #, python-format
 msgid "Nothing matches %s.%s %s:%s-%s from update"
 msgstr ""
 
-#: ../yum/__init__.py:2632
+#: ../yum/__init__.py:3096
 msgid ""
 "searchPackages() will go away in a future version of Yum."
 "                      Use searchGenerator() instead. \n"
 msgstr ""
 
-#: ../yum/__init__.py:2675
+#: ../yum/__init__.py:3149
 #, python-format
-msgid "Searching %d packages"
-msgstr "Mencari %d pakej"
+msgid "Searching %d package"
+msgid_plural "Searching %d packages"
+msgstr[0] ""
 
-#: ../yum/__init__.py:2679
+#: ../yum/__init__.py:3153
 #, python-format
 msgid "searching package %s"
 msgstr "mencari pakej %s"
 
-#: ../yum/__init__.py:2691
+#: ../yum/__init__.py:3165
 msgid "searching in file entries"
 msgstr ""
 
-#: ../yum/__init__.py:2698
+#: ../yum/__init__.py:3172
 msgid "searching in provides entries"
 msgstr ""
 
-#: ../yum/__init__.py:2777
+#: ../yum/__init__.py:3369
 msgid "No group data available for configured repositories"
 msgstr ""
 
-#: ../yum/__init__.py:2808 ../yum/__init__.py:2827 ../yum/__init__.py:2858
-#: ../yum/__init__.py:2864 ../yum/__init__.py:2953 ../yum/__init__.py:2957
-#: ../yum/__init__.py:3339
+#: ../yum/__init__.py:3466 ../yum/__init__.py:3500 ../yum/__init__.py:3576
+#: ../yum/__init__.py:3582 ../yum/__init__.py:3719 ../yum/__init__.py:3723
+#: ../yum/__init__.py:4298
 #, python-format
 msgid "No Group named %s exists"
 msgstr ""
 
-#: ../yum/__init__.py:2839 ../yum/__init__.py:2973
+#: ../yum/__init__.py:3512 ../yum/__init__.py:3740
 #, python-format
 msgid "package %s was not marked in group %s"
 msgstr ""
 
-#: ../yum/__init__.py:2887
+#. (upgrade and igroup_data[pkg] == 'available')):
+#: ../yum/__init__.py:3622
+#, python-format
+msgid "Skipping package %s from group %s"
+msgstr ""
+
+#: ../yum/__init__.py:3628
 #, python-format
 msgid "Adding package %s from group %s"
 msgstr ""
 
-#: ../yum/__init__.py:2891
+#: ../yum/__init__.py:3649
 #, python-format
 msgid "No package named %s available to be installed"
 msgstr ""
 
-#: ../yum/__init__.py:2941
+#: ../yum/__init__.py:3702
 #, python-format
-msgid "Warning: Group %s does not have any packages."
+msgid "Warning: Group %s does not have any packages to install."
 msgstr ""
 
-#: ../yum/__init__.py:2943
+#: ../yum/__init__.py:3704
 #, python-format
 msgid "Group %s does have %u conditional packages, which may get installed."
 msgstr ""
 
+#: ../yum/__init__.py:3794
+#, python-format
+msgid "Skipping group %s from environment %s"
+msgstr ""
+
 #. This can happen due to excludes after .up has
 #. happened.
-#: ../yum/__init__.py:3002
+#: ../yum/__init__.py:3858
 #, python-format
 msgid "Package tuple %s could not be found in packagesack"
 msgstr ""
 
-#: ../yum/__init__.py:3022
+#: ../yum/__init__.py:3886
 #, python-format
 msgid "Package tuple %s could not be found in rpmdb"
 msgstr ""
 
-#: ../yum/__init__.py:3079 ../yum/__init__.py:3129
+#: ../yum/__init__.py:3949 ../yum/__init__.py:4012
 #, python-format
 msgid "Invalid version flag from: %s"
 msgstr ""
 
-#: ../yum/__init__.py:3096 ../yum/__init__.py:3101
+#: ../yum/__init__.py:3973 ../yum/__init__.py:3979 ../yum/__init__.py:4036
+#: ../yum/__init__.py:4042
 #, python-format
 msgid "No Package found for %s"
 msgstr "Tiada Pakej dijumpai untuk %s"
 
-#: ../yum/__init__.py:3401
+#: ../yum/__init__.py:4245 ../yum/__init__.py:4274
+#, python-format
+msgid "Warning: Environment Group %s does not exist."
+msgstr ""
+
+#: ../yum/__init__.py:4397
+#, python-format
+msgid "Package: %s - can't co-install with %s"
+msgstr ""
+
+#: ../yum/__init__.py:4437
 msgid "Package Object was not a package object instance"
 msgstr ""
 
-#: ../yum/__init__.py:3405
+#: ../yum/__init__.py:4441
 msgid "Nothing specified to install"
 msgstr ""
 
-#: ../yum/__init__.py:3424 ../yum/__init__.py:4283
+#: ../yum/__init__.py:4465 ../yum/__init__.py:5410
 #, python-format
 msgid "Checking for virtual provide or file-provide for %s"
 msgstr ""
 
-#: ../yum/__init__.py:3430 ../yum/__init__.py:3775 ../yum/__init__.py:3969
-#: ../yum/__init__.py:4289
-#, python-format
-msgid "No Match for argument: %s"
-msgstr ""
-
-#: ../yum/__init__.py:3507
+#: ../yum/__init__.py:4542
 #, python-format
 msgid "Package %s installed and not available"
 msgstr ""
 
-#: ../yum/__init__.py:3510
+#: ../yum/__init__.py:4545
 msgid "No package(s) available to install"
 msgstr ""
 
-#: ../yum/__init__.py:3522
+#: ../yum/__init__.py:4557
 #, python-format
 msgid "Package: %s  - already in transaction set"
 msgstr ""
 
-#: ../yum/__init__.py:3550
+#: ../yum/__init__.py:4589
 #, python-format
 msgid "Package %s is obsoleted by %s which is already installed"
 msgstr ""
 
-#: ../yum/__init__.py:3555
+#: ../yum/__init__.py:4594
 #, python-format
 msgid ""
 "Package %s is obsoleted by %s, but obsoleting package does not provide for "
 "requirements"
 msgstr ""
 
-#: ../yum/__init__.py:3558
+#: ../yum/__init__.py:4597
 #, python-format
 msgid "Package %s is obsoleted by %s, trying to install %s instead"
 msgstr ""
 
-#: ../yum/__init__.py:3566
+#: ../yum/__init__.py:4605
 #, python-format
 msgid "Package %s already installed and latest version"
 msgstr ""
 
-#: ../yum/__init__.py:3580
+#: ../yum/__init__.py:4619
 #, python-format
 msgid "Package matching %s already installed. Checking for update."
 msgstr ""
 
 #. update everything (the easy case)
-#: ../yum/__init__.py:3684
+#: ../yum/__init__.py:4751
 msgid "Updating Everything"
 msgstr "Mengemaskini Semuanya"
 
-#: ../yum/__init__.py:3708 ../yum/__init__.py:3849 ../yum/__init__.py:3879
-#: ../yum/__init__.py:3915
+#: ../yum/__init__.py:4775 ../yum/__init__.py:4930 ../yum/__init__.py:4975
+#: ../yum/__init__.py:5011
 #, python-format
 msgid "Not Updating Package that is already obsoleted: %s.%s %s:%s-%s"
 msgstr ""
 
-#: ../yum/__init__.py:3753 ../yum/__init__.py:3965
+#: ../yum/__init__.py:4830 ../yum/__init__.py:5072
 #, python-format
 msgid "%s"
 msgstr "%s"
 
-#: ../yum/__init__.py:3838
+#: ../yum/__init__.py:4854 ../yum/__init__.py:5080 ../yum/__init__.py:5416
+#, python-format
+msgid "No Match for argument: %s"
+msgstr ""
+
+#: ../yum/__init__.py:4872
+#, python-format
+msgid "No package matched to upgrade: %s"
+msgstr ""
+
+#: ../yum/__init__.py:4919
 #, python-format
 msgid "Package is already obsoleted: %s.%s %s:%s-%s"
 msgstr ""
 
-#: ../yum/__init__.py:3874
+#: ../yum/__init__.py:4970
 #, python-format
 msgid "Not Updating Package that is obsoleted: %s"
 msgstr ""
 
-#: ../yum/__init__.py:3883 ../yum/__init__.py:3919
+#: ../yum/__init__.py:4979 ../yum/__init__.py:5015
 #, python-format
 msgid "Not Updating Package that is already updated: %s.%s %s:%s-%s"
 msgstr ""
 
-#: ../yum/__init__.py:3982
-msgid "No package matched to remove"
+#: ../yum/__init__.py:5093
+#, python-format
+msgid "No package matched to remove: %s"
 msgstr ""
 
-#: ../yum/__init__.py:3988
+#: ../yum/__init__.py:5099
 #, python-format
 msgid "Skipping the running kernel: %s"
 msgstr ""
 
-#: ../yum/__init__.py:3994
+#: ../yum/__init__.py:5105
 #, python-format
 msgid "Removing %s from the transaction"
 msgstr ""
 
-#: ../yum/__init__.py:4029
+#: ../yum/__init__.py:5142
 #, python-format
 msgid "Cannot open: %s. Skipping."
 msgstr ""
 
-#: ../yum/__init__.py:4032 ../yum/__init__.py:4150 ../yum/__init__.py:4226
+#: ../yum/__init__.py:5145 ../yum/__init__.py:5262 ../yum/__init__.py:5347
 #, python-format
 msgid "Examining %s: %s"
 msgstr "Memeriksa %s: %s"
 
-#: ../yum/__init__.py:4036
+#: ../yum/__init__.py:5149
 #, python-format
 msgid "Cannot localinstall deltarpm: %s. Skipping."
 msgstr ""
 
-#: ../yum/__init__.py:4045 ../yum/__init__.py:4153 ../yum/__init__.py:4229
+#: ../yum/__init__.py:5158 ../yum/__init__.py:5265 ../yum/__init__.py:5350
 #, python-format
 msgid ""
 "Cannot add package %s to transaction. Not a compatible architecture: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4051
+#: ../yum/__init__.py:5164
 #, python-format
 msgid "Cannot install package %s. It is obsoleted by installed package %s"
 msgstr ""
 
-#: ../yum/__init__.py:4059
+#: ../yum/__init__.py:5172
 #, python-format
 msgid ""
 "Package %s not installed, cannot update it. Run yum install to install it "
 "instead."
 msgstr ""
 
-#: ../yum/__init__.py:4078 ../yum/__init__.py:4085
+#: ../yum/__init__.py:5191 ../yum/__init__.py:5198
 #, python-format
 msgid ""
 "Package %s.%s not installed, cannot update it. Run yum install to install it"
 " instead."
 msgstr ""
 
-#: ../yum/__init__.py:4094 ../yum/__init__.py:4158 ../yum/__init__.py:4234
+#: ../yum/__init__.py:5207 ../yum/__init__.py:5270 ../yum/__init__.py:5355
 #, python-format
 msgid "Excluding %s"
 msgstr ""
 
-#: ../yum/__init__.py:4099
+#: ../yum/__init__.py:5212
 #, python-format
 msgid "Marking %s to be installed"
 msgstr "Menanda %s untuk dipasang"
 
-#: ../yum/__init__.py:4105
+#: ../yum/__init__.py:5218
 #, python-format
 msgid "Marking %s as an update to %s"
 msgstr ""
 
-#: ../yum/__init__.py:4112
+#: ../yum/__init__.py:5225
 #, python-format
 msgid "%s: does not update installed package."
 msgstr ""
 
-#: ../yum/__init__.py:4147 ../yum/__init__.py:4223
+#: ../yum/__init__.py:5259 ../yum/__init__.py:5344
 #, python-format
 msgid "Cannot open file: %s. Skipping."
 msgstr "Tidak dapat membuka fail: %s. Melangkau."
 
-#: ../yum/__init__.py:4177
+#: ../yum/__init__.py:5299
 msgid "Problem in reinstall: no package matched to remove"
 msgstr ""
 
-#: ../yum/__init__.py:4203
+#: ../yum/__init__.py:5325
 #, python-format
 msgid "Problem in reinstall: no package %s matched to install"
 msgstr ""
 
-#: ../yum/__init__.py:4311
+#: ../yum/__init__.py:5438
 msgid "No package(s) available to downgrade"
 msgstr ""
 
-#: ../yum/__init__.py:4319
+#: ../yum/__init__.py:5446
 #, python-format
 msgid "Package %s is allowed multiple installs, skipping"
 msgstr ""
 
-#: ../yum/__init__.py:4365
+#: ../yum/__init__.py:5496
 #, python-format
 msgid "No Match for available package: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4372
+#: ../yum/__init__.py:5506
 #, python-format
 msgid "Only Upgrade available on package: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4442 ../yum/__init__.py:4479
+#: ../yum/__init__.py:5619 ../yum/__init__.py:5686
 #, python-format
 msgid "Failed to downgrade: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4516
+#: ../yum/__init__.py:5636 ../yum/__init__.py:5692
+#, python-format
+msgid "Failed to upgrade: %s"
+msgstr ""
+
+#: ../yum/__init__.py:5725
 #, python-format
 msgid "Retrieving key from %s"
 msgstr ""
 
-#: ../yum/__init__.py:4534
+#: ../yum/__init__.py:5743
 msgid "GPG key retrieval failed: "
 msgstr ""
 
 #. if we decide we want to check, even though the sig failed
 #. here is where we would do that
-#: ../yum/__init__.py:4557
+#: ../yum/__init__.py:5766
 #, python-format
 msgid "GPG key signature on key %s does not match CA Key for repo: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4559
+#: ../yum/__init__.py:5768
 msgid "GPG key signature verified against CA Key(s)"
 msgstr ""
 
-#: ../yum/__init__.py:4567
+#: ../yum/__init__.py:5776
 #, python-format
 msgid "Invalid GPG Key from %s: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4576
+#: ../yum/__init__.py:5785
 #, python-format
 msgid "GPG key parsing failed: key does not have value %s"
 msgstr ""
 
-#: ../yum/__init__.py:4592
+#: ../yum/__init__.py:5801
 #, python-format
 msgid ""
 "Importing %s key 0x%s:\n"
-" Userid : %s\n"
-" Package: %s (%s)\n"
-" From   : %s"
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" Package    : %s (%s)\n"
+" From       : %s"
 msgstr ""
 
-#: ../yum/__init__.py:4600
+#: ../yum/__init__.py:5811
 #, python-format
 msgid ""
 "Importing %s key 0x%s:\n"
-" Userid: \"%s\"\n"
-" From  : %s"
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" From       : %s"
 msgstr ""
 
-#: ../yum/__init__.py:4634
+#: ../yum/__init__.py:5839
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" Failing package is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr ""
+
+#: ../yum/__init__.py:5853
 #, python-format
 msgid "GPG key at %s (0x%s) is already installed"
 msgstr ""
 
-#: ../yum/__init__.py:4671
+#: ../yum/__init__.py:5891
 #, python-format
 msgid "Key import failed (code %d)"
 msgstr ""
 
-#: ../yum/__init__.py:4672 ../yum/__init__.py:4755
+#: ../yum/__init__.py:5893 ../yum/__init__.py:5994
 msgid "Key imported successfully"
 msgstr "Kekunci berjaya diimport"
 
-#: ../yum/__init__.py:4676
+#: ../yum/__init__.py:5897
 msgid "Didn't install any keys"
 msgstr ""
 
-#: ../yum/__init__.py:4680
+#: ../yum/__init__.py:5900
 #, python-format
 msgid ""
 "The GPG keys listed for the \"%s\" repository are already installed but they are not correct for this package.\n"
 "Check that the correct key URLs are configured for this repository."
 msgstr ""
 
-#: ../yum/__init__.py:4689
+#: ../yum/__init__.py:5910
 msgid "Import of key(s) didn't help, wrong key(s)?"
 msgstr ""
 
-#: ../yum/__init__.py:4713
+#: ../yum/__init__.py:5932
+msgid "No"
+msgstr ""
+
+#: ../yum/__init__.py:5934
+msgid "Yes"
+msgstr ""
+
+#: ../yum/__init__.py:5935
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" CA Key: %s\n"
+" Failing repo is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr ""
+
+#: ../yum/__init__.py:5948
 #, python-format
 msgid "GPG key at %s (0x%s) is already imported"
 msgstr ""
 
-#: ../yum/__init__.py:4754
-msgid "Key import failed"
+#: ../yum/__init__.py:5992
+#, python-format
+msgid "Key %s import failed"
 msgstr ""
 
-#: ../yum/__init__.py:4770
+#: ../yum/__init__.py:6009
 #, python-format
 msgid "Didn't install any keys for repo %s"
 msgstr ""
 
-#: ../yum/__init__.py:4774
+#: ../yum/__init__.py:6014
 #, python-format
 msgid ""
 "The GPG keys listed for the \"%s\" repository are already installed but they are not correct.\n"
 "Check that the correct key URLs are configured for this repository."
 msgstr ""
 
-#: ../yum/__init__.py:4924
+#: ../yum/__init__.py:6172
 msgid "Unable to find a suitable mirror."
 msgstr ""
 
-#: ../yum/__init__.py:4926
+#: ../yum/__init__.py:6174
 msgid "Errors were encountered while downloading packages."
 msgstr ""
 
-#: ../yum/__init__.py:4981
+#: ../yum/__init__.py:6229
 #, python-format
 msgid "Please report this error at %s"
 msgstr ""
 
-#: ../yum/__init__.py:4998
+#: ../yum/__init__.py:6246
 msgid "Test Transaction Errors: "
 msgstr "Ralat Ujian Transaksi:"
 
-#: ../yum/__init__.py:5098
+#: ../yum/__init__.py:6358
 #, python-format
 msgid "Could not set cachedir: %s"
 msgstr ""
 
-#: ../yum/__init__.py:5148 ../yum/__init__.py:5150
+#: ../yum/__init__.py:6420 ../yum/__init__.py:6422
 msgid "Dependencies not solved. Will not save unresolved transaction."
 msgstr ""
 
-#: ../yum/__init__.py:5179 ../yum/__init__.py:5181
+#: ../yum/__init__.py:6455 ../yum/__init__.py:6457
 #, python-format
 msgid "Could not save transaction file %s: %s"
 msgstr ""
 
-#: ../yum/__init__.py:5195
+#: ../yum/__init__.py:6483
 #, python-format
 msgid "Could not access/read saved transaction %s : %s"
 msgstr ""
 
-#: ../yum/__init__.py:5214
-msgid "rpmdb ver mismatched saved transaction version, "
-msgstr ""
-
-#: ../yum/__init__.py:5216
-msgid " ignoring, as requested."
-msgstr ""
-
-#: ../yum/__init__.py:5219 ../yum/__init__.py:5354
-msgid " aborting."
+#: ../yum/__init__.py:6521
+msgid "rpmdb ver mismatched saved transaction version,"
 msgstr ""
 
-#: ../yum/__init__.py:5228
+#: ../yum/__init__.py:6535
 msgid "cannot find tsflags or tsflags not integer."
 msgstr ""
 
-#: ../yum/__init__.py:5267
+#: ../yum/__init__.py:6584
 #, python-format
 msgid "Found txmbr in unknown current state: %s"
 msgstr ""
 
-#: ../yum/__init__.py:5271
+#: ../yum/__init__.py:6588
 #, python-format
 msgid "Could not find txmbr: %s in state %s"
 msgstr ""
 
-#: ../yum/__init__.py:5307 ../yum/__init__.py:5324
+#: ../yum/__init__.py:6625 ../yum/__init__.py:6642
 #, python-format
 msgid "Could not find txmbr: %s from origin: %s"
 msgstr ""
 
-#: ../yum/__init__.py:5349
+#: ../yum/__init__.py:6667
 msgid "Transaction members, relations are missing or ts has been modified,"
 msgstr ""
 
-#: ../yum/__init__.py:5351
+#: ../yum/__init__.py:6670
 msgid " ignoring, as requested. You must redepsolve!"
 msgstr ""
 
+#. Debugging output
+#: ../yum/__init__.py:6738 ../yum/__init__.py:6757
+#, python-format
+msgid "%s has been visited already and cannot be removed."
+msgstr ""
+
+#. Debugging output
+#: ../yum/__init__.py:6741
+#, python-format
+msgid "Examining revdeps of %s"
+msgstr ""
+
+#. Debugging output
+#: ../yum/__init__.py:6762
+#, python-format
+msgid "%s has revdep %s which was user-installed."
+msgstr ""
+
+#: ../yum/__init__.py:6773 ../yum/__init__.py:6779
+#, python-format
+msgid "%s is needed by a package to be installed."
+msgstr ""
+
+#. Debugging output
+#: ../yum/__init__.py:6793
+#, python-format
+msgid "%s has no user-installed revdeps."
+msgstr ""
+
 #. Mostly copied from YumOutput._outKeyValFill()
-#: ../yum/plugins.py:209
+#: ../yum/plugins.py:212
 msgid "Loaded plugins: "
 msgstr ""
 
-#: ../yum/plugins.py:223 ../yum/plugins.py:229
+#: ../yum/plugins.py:226 ../yum/plugins.py:232
 #, python-format
 msgid "No plugin match for: %s"
 msgstr ""
 
-#: ../yum/plugins.py:259
+#: ../yum/plugins.py:262
 #, python-format
 msgid "Not loading \"%s\" plugin, as it is disabled"
 msgstr ""
 
 #. Give full backtrace:
-#: ../yum/plugins.py:271
+#: ../yum/plugins.py:274
 #, python-format
 msgid "Plugin \"%s\" can't be imported"
 msgstr ""
 
-#: ../yum/plugins.py:278
+#: ../yum/plugins.py:281
 #, python-format
 msgid "Plugin \"%s\" doesn't specify required API version"
 msgstr ""
 
-#: ../yum/plugins.py:283
+#: ../yum/plugins.py:286
 #, python-format
 msgid "Plugin \"%s\" requires API %s. Supported API is %s."
 msgstr ""
 
-#: ../yum/plugins.py:316
+#: ../yum/plugins.py:319
 #, python-format
 msgid "Loading \"%s\" plugin"
 msgstr ""
 
-#: ../yum/plugins.py:323
+#: ../yum/plugins.py:326
 #, python-format
 msgid "Two or more plugins with the name \"%s\" exist in the plugin search path"
 msgstr ""
 
-#: ../yum/plugins.py:343
+#: ../yum/plugins.py:346
 #, python-format
 msgid "Configuration file %s not found"
 msgstr ""
 
 #. for
 #. Configuration files for the plugin not found
-#: ../yum/plugins.py:346
+#: ../yum/plugins.py:349
 #, python-format
 msgid "Unable to find configuration file for plugin %s"
 msgstr ""
 
-#: ../yum/plugins.py:508
+#: ../yum/plugins.py:553
 msgid "registration of commands not supported"
 msgstr ""
 
-#: ../yum/rpmsack.py:148
+#: ../yum/rpmsack.py:159
 msgid "has missing requires of"
 msgstr ""
 
-#: ../yum/rpmsack.py:151
+#: ../yum/rpmsack.py:162
 msgid "has installed conflicts"
 msgstr ""
 
-#: ../yum/rpmsack.py:160
+#: ../yum/rpmsack.py:171
 #, python-format
 msgid "%s is a duplicate with %s"
 msgstr ""
 
-#: ../yum/rpmsack.py:168
+#: ../yum/rpmsack.py:179
 #, python-format
 msgid "%s is obsoleted by %s"
 msgstr ""
 
-#: ../yum/rpmsack.py:176
+#: ../yum/rpmsack.py:187
 #, python-format
 msgid "%s provides %s but it cannot be found"
 msgstr ""
@@ -3038,6 +3442,23 @@ msgstr ""
 msgid "Repackaging"
 msgstr ""
 
+#: ../yum/rpmtrans.py:149
+#, python-format
+msgid "Verify: %u/%u: %s"
+msgstr ""
+
+#: ../yum/yumRepo.py:919
+#, python-format
+msgid ""
+"Insufficient space in download directory %s\n"
+"    * free   %s\n"
+"    * needed %s"
+msgstr ""
+
+#: ../yum/yumRepo.py:986
+msgid "Package does not match intended download."
+msgstr ""
+
 #: ../rpmUtils/oldUtils.py:33
 #, python-format
 msgid "Header cannot be opened or does not match %s, %s."
@@ -3066,5 +3487,3 @@ msgstr "Pengepala Rosak %s"
 #, python-format
 msgid "Error opening rpm %s - error %s"
 msgstr "Ralat membuka rpm %s - ralat %s"
-
-
diff --git a/po/nb.po b/po/nb.po
index d2ee996..cf3cf41 100644
--- a/po/nb.po
+++ b/po/nb.po
@@ -2,1442 +2,1601 @@
 # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
 # This file is distributed under the same license as the PACKAGE package.
 # 
+# Translators:
 msgid ""
 msgstr ""
 "Project-Id-Version: Yum\n"
-"Report-Msgid-Bugs-To: http://yum.baseurl.org/\n"
-"POT-Creation-Date: 2011-06-06 10:21-0400\n"
-"PO-Revision-Date: 2011-06-06 14:21+0000\n"
-"Last-Translator: skvidal <skvidal@fedoraproject.org>\n"
+"Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
+"POT-Creation-Date: 2013-01-30 09:08-0500\n"
+"PO-Revision-Date: 2013-01-30 14:08+0000\n"
+"Last-Translator: james <james@fedoraproject.org>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Language: nb\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: ../callback.py:48 ../output.py:1037 ../yum/rpmtrans.py:73
+#: ../callback.py:45 ../output.py:1502 ../yum/rpmtrans.py:73
 msgid "Updating"
 msgstr "Oppdaterer"
 
-#: ../callback.py:49 ../yum/rpmtrans.py:74
+#: ../callback.py:46 ../yum/rpmtrans.py:74
 msgid "Erasing"
 msgstr "Fjerner"
 
-#: ../callback.py:50 ../callback.py:51 ../callback.py:53 ../output.py:1036
-#: ../output.py:2218 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
+#: ../callback.py:47 ../callback.py:48 ../callback.py:50 ../output.py:1501
+#: ../output.py:2922 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
 #: ../yum/rpmtrans.py:78
 msgid "Installing"
 msgstr "Installerer"
 
-#: ../callback.py:52 ../callback.py:58 ../output.py:1840 ../yum/rpmtrans.py:77
+#: ../callback.py:49 ../callback.py:55 ../output.py:2379 ../yum/rpmtrans.py:77
 msgid "Obsoleted"
 msgstr "Utgått"
 
-#: ../callback.py:54 ../output.py:1169 ../output.py:1686 ../output.py:1847
+#: ../callback.py:51 ../output.py:1670 ../output.py:2222 ../output.py:2386
 msgid "Updated"
 msgstr "Oppdatert"
 
-#: ../callback.py:55 ../output.py:1685
+#: ../callback.py:52 ../output.py:2221
 msgid "Erased"
 msgstr "Fjernet"
 
-#: ../callback.py:56 ../callback.py:57 ../callback.py:59 ../output.py:1167
-#: ../output.py:1685 ../output.py:1687 ../output.py:2190
+#: ../callback.py:53 ../callback.py:54 ../callback.py:56 ../output.py:1668
+#: ../output.py:2221 ../output.py:2223 ../output.py:2894
 msgid "Installed"
 msgstr "Installert"
 
-#: ../callback.py:130
+#: ../callback.py:142
 msgid "No header - huh?"
 msgstr "Intet hode - merksnodig?!"
 
-#: ../callback.py:168
+#: ../callback.py:180
 msgid "Repackage"
 msgstr "Pakk på nytt"
 
-#: ../callback.py:189
+#: ../callback.py:201
 #, python-format
 msgid "Error: invalid output state: %s for %s"
 msgstr "Feil: ugyldig tilstand ut: %s for %s"
 
-#: ../callback.py:212
+#: ../callback.py:224
 #, python-format
 msgid "Erased: %s"
 msgstr "Fjernet: %s"
 
-#: ../callback.py:217 ../output.py:1038 ../output.py:2193
+#: ../callback.py:229 ../output.py:1503 ../output.py:2897
 msgid "Removing"
 msgstr "Fjerner"
 
-#: ../callback.py:219 ../yum/rpmtrans.py:79
+#: ../callback.py:231 ../yum/rpmtrans.py:79
 msgid "Cleanup"
 msgstr "Rydder opp"
 
-#: ../cli.py:115
+#: ../cli.py:122
 #, python-format
 msgid "Command \"%s\" already defined"
 msgstr "Kommando «%s» er allerede definert"
 
-#: ../cli.py:127
+#: ../cli.py:137
 msgid "Setting up repositories"
 msgstr "Konfigurerer lagre"
 
-#: ../cli.py:138
+#: ../cli.py:148
 msgid "Reading repository metadata in from local files"
 msgstr "Leser inn data om lager fra lokale filer"
 
-#: ../cli.py:245 ../utils.py:281
+#: ../cli.py:273 ../cli.py:277 ../utils.py:320
 #, python-format
 msgid "Config Error: %s"
 msgstr "Feil i konfigurasjon: %s"
 
-#: ../cli.py:248 ../cli.py:1584 ../utils.py:284
+#: ../cli.py:280 ../cli.py:2206 ../utils.py:323
 #, python-format
 msgid "Options Error: %s"
 msgstr "Feil i flagg: %s"
 
-#: ../cli.py:293
+#: ../cli.py:327
 #, python-format
 msgid "  Installed: %s-%s at %s"
 msgstr "Installert: %s-%s til %s"
 
-#: ../cli.py:295
+#: ../cli.py:329
 #, python-format
 msgid "  Built    : %s at %s"
 msgstr "  Bygd      : %s til %s"
 
-#: ../cli.py:297
+#: ../cli.py:331
 #, python-format
 msgid "  Committed: %s at %s"
 msgstr "Sendt inn: %s til %s"
 
-#: ../cli.py:336
+#: ../cli.py:372
 msgid "You need to give some command"
 msgstr "Du må oppgi en kommando"
 
-#: ../cli.py:350
+#: ../cli.py:386
 #, python-format
 msgid "No such command: %s. Please use %s --help"
 msgstr ""
 
-#: ../cli.py:400
+#: ../cli.py:444
 msgid "Disk Requirements:\n"
 msgstr "Krav til disk:\n"
 
-#: ../cli.py:402
+#: ../cli.py:446
 #, python-format
 msgid "  At least %dMB more space needed on the %s filesystem.\n"
-msgstr ""
+msgid_plural "  At least %dMB more space needed on the %s filesystem.\n"
+msgstr[0] ""
+msgstr[1] ""
 
 #. TODO: simplify the dependency errors?
 #. Fixup the summary
-#: ../cli.py:407
+#: ../cli.py:451
 msgid ""
 "Error Summary\n"
 "-------------\n"
+msgstr "Sammendrag for feil\n---------------------\n"
+
+#: ../cli.py:472
+msgid "Can't create lock file; exiting"
 msgstr ""
-"Sammendrag for feil\n"
-"---------------------\n"
 
-#: ../cli.py:450
+#: ../cli.py:479
+msgid ""
+"Another app is currently holding the yum lock; exiting as configured by "
+"exit_on_lock"
+msgstr ""
+
+#: ../cli.py:532
 msgid "Trying to run the transaction but nothing to do. Exiting."
 msgstr "Prøver å kjøre transaksjonen, men den er tom. Avslutter."
 
-#: ../cli.py:497
+#: ../cli.py:577
+msgid "future rpmdb ver mismatched saved transaction version,"
+msgstr ""
+
+#: ../cli.py:579 ../yum/__init__.py:6523
+msgid " ignoring, as requested."
+msgstr ""
+
+#: ../cli.py:582 ../yum/__init__.py:6526 ../yum/__init__.py:6673
+msgid " aborting."
+msgstr ""
+
+#: ../cli.py:588
 msgid "Exiting on user Command"
 msgstr "Avslutter på grunn av kommando fra bruker"
 
-#: ../cli.py:501
+#: ../cli.py:592
 msgid "Downloading Packages:"
 msgstr "Laster ned pakker:"
 
-#: ../cli.py:506
+#: ../cli.py:597
 msgid "Error Downloading Packages:\n"
 msgstr "Kunne ikke laste ned pakkene:\n"
 
-#: ../cli.py:525 ../yum/__init__.py:4967
+#: ../cli.py:616 ../yum/__init__.py:6215
 msgid "Running Transaction Check"
 msgstr ""
 
-#: ../cli.py:534 ../yum/__init__.py:4976
+#: ../cli.py:625 ../yum/__init__.py:6224
 msgid "ERROR You need to update rpm to handle:"
 msgstr ""
 
-#: ../cli.py:536 ../yum/__init__.py:4979
+#: ../cli.py:627 ../yum/__init__.py:6227
 msgid "ERROR with transaction check vs depsolve:"
 msgstr ""
 
-#: ../cli.py:542
+#: ../cli.py:633
 msgid "RPM needs to be updated"
 msgstr ""
 
-#: ../cli.py:543
+#: ../cli.py:634
 #, python-format
 msgid "Please report this error in %s"
 msgstr "Vennligst rapporter denne feilen i %s"
 
-#: ../cli.py:549
+#: ../cli.py:640
 msgid "Running Transaction Test"
 msgstr "Kjører test på transaksjonen"
 
-#: ../cli.py:561
+#: ../cli.py:652
 msgid "Transaction Check Error:\n"
 msgstr "Feil ved test av transaksjonen:\n"
 
-#: ../cli.py:568
+#: ../cli.py:659
 msgid "Transaction Test Succeeded"
 msgstr "Test av transaksjonen var vellykket"
 
-#: ../cli.py:600
+#: ../cli.py:691
 msgid "Running Transaction"
 msgstr "Utfører transaksjonen"
 
-#: ../cli.py:630
+#: ../cli.py:724
 msgid ""
 "Refusing to automatically import keys when running unattended.\n"
 "Use \"-y\" to override."
-msgstr ""
-"Nekter å importere nøkler automatisk ved kjøring uten oppsyn.\n"
-"Bruk «-y» for å overstyre."
+msgstr "Nekter å importere nøkler automatisk ved kjøring uten oppsyn.\nBruk «-y» for å overstyre."
 
-#: ../cli.py:649 ../cli.py:692
+#: ../cli.py:743 ../cli.py:786
 msgid "  * Maybe you meant: "
 msgstr "  * Du mente kanskje:"
 
-#: ../cli.py:675 ../cli.py:683
+#: ../cli.py:769 ../cli.py:777
 #, python-format
 msgid "Package(s) %s%s%s available, but not installed."
 msgstr "Pakken(e) %s%s%s er tilgjengelig, men ikke installert."
 
-#: ../cli.py:689 ../cli.py:722 ../cli.py:908
+#: ../cli.py:783 ../cli.py:891 ../cli.py:1158
 #, python-format
 msgid "No package %s%s%s available."
 msgstr "Pakke %s%s%s er ikke tilgjengelig."
 
-#: ../cli.py:729 ../cli.py:973
-msgid "Package(s) to install"
-msgstr "Pakke(r) som skal installeres"
+#: ../cli.py:871 ../cli.py:881 ../cli.py:1101 ../cli.py:1111
+#, python-format
+msgid "Bad %s argument %s."
+msgstr ""
+
+#: ../cli.py:900 ../yumcommands.py:3331
+#, python-format
+msgid "%d package to install"
+msgid_plural "%d packages to install"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:732 ../cli.py:733 ../cli.py:914 ../cli.py:948 ../cli.py:974
-#: ../yumcommands.py:190
+#: ../cli.py:903 ../cli.py:904 ../cli.py:1169 ../cli.py:1170 ../cli.py:1224
+#: ../cli.py:1225 ../cli.py:1260 ../yumcommands.py:323 ../yumcommands.py:3419
 msgid "Nothing to do"
 msgstr "Ingenting å gjøre"
 
-#: ../cli.py:767
+#: ../cli.py:953
 #, python-format
-msgid "%d packages marked for Update"
-msgstr "%d pakker merket for oppdatering"
+msgid "%d package marked for Update"
+msgid_plural "%d packages marked for Update"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:770
+#: ../cli.py:955
 msgid "No Packages marked for Update"
 msgstr "Ingen pakker merket for oppdatering"
 
-#: ../cli.py:866
+#: ../cli.py:1067
 #, python-format
-msgid "%d packages marked for Distribution Synchronization"
-msgstr ""
+msgid "%d package marked for Distribution Synchronization"
+msgid_plural "%d packages marked for Distribution Synchronization"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:869
+#: ../cli.py:1069
 msgid "No Packages marked for Distribution Synchronization"
 msgstr ""
 
-#: ../cli.py:885
+#: ../cli.py:1124
 #, python-format
-msgid "%d packages marked for removal"
-msgstr "%d pakker merket for fjerning"
+msgid "%d package marked for removal"
+msgid_plural "%d packages marked for removal"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:888
+#: ../cli.py:1126
 msgid "No Packages marked for removal"
 msgstr "Ingen pakker merket for fjerning"
 
-#: ../cli.py:913
-msgid "Package(s) to downgrade"
-msgstr "Pakke(r) som skal nedgraderes"
+#: ../cli.py:1166
+#, python-format
+msgid "%d package to downgrade"
+msgid_plural "%d packages to downgrade"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:938
+#: ../cli.py:1207
 #, python-format
 msgid " (from %s)"
 msgstr " (fra %s)"
 
-#: ../cli.py:939
+#: ../cli.py:1208
 #, python-format
 msgid "Installed package %s%s%s%s not available."
 msgstr "Den installerte pakken %s%s%s%s er ikke tilgjengelig."
 
-#: ../cli.py:947
-msgid "Package(s) to reinstall"
-msgstr "Pakke(r) som skal ominstalleres"
+#: ../cli.py:1221
+#, python-format
+msgid "%d package to reinstall"
+msgid_plural "%d packages to reinstall"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:960
+#: ../cli.py:1246
 msgid "No Packages Provided"
 msgstr "Ingen pakker ble tilbudt"
 
-#: ../cli.py:1058
+#: ../cli.py:1259
+msgid "Package(s) to install"
+msgstr "Pakke(r) som skal installeres"
+
+#: ../cli.py:1367
 #, python-format
 msgid "N/S Matched: %s"
 msgstr ""
 
-#: ../cli.py:1075
+#: ../cli.py:1384
 #, python-format
 msgid "  Name and summary matches %sonly%s, use \"search all\" for everything."
 msgstr ""
 
-#: ../cli.py:1077
+#: ../cli.py:1386
 #, python-format
 msgid ""
 "  Full name and summary matches %sonly%s, use \"search all\" for everything."
 msgstr ""
 
-#: ../cli.py:1095
+#: ../cli.py:1404
 #, python-format
 msgid "Matched: %s"
 msgstr ""
 
-#: ../cli.py:1102
+#: ../cli.py:1411
 #, python-format
 msgid "  Name and summary matches %smostly%s, use \"search all\" for everything."
 msgstr ""
 
-#: ../cli.py:1106
+#: ../cli.py:1415
 #, python-format
 msgid "Warning: No matches found for: %s"
 msgstr "Advarsel: Ingen treff funnet for: %s"
 
-#: ../cli.py:1109
+#: ../cli.py:1418
 msgid "No Matches found"
 msgstr "Fant ingen treff"
 
-#: ../cli.py:1174
+#: ../cli.py:1536
 #, python-format
-msgid "No Package Found for %s"
-msgstr "Ingen pakke ble funnet for %s"
+msgid ""
+"Error: No Packages found for:\n"
+"  %s"
+msgstr ""
 
-#: ../cli.py:1184
+#: ../cli.py:1572
 msgid "Cleaning repos: "
 msgstr ""
 
-#: ../cli.py:1189
+#: ../cli.py:1577
 msgid "Cleaning up Everything"
 msgstr "Rydder opp alt"
 
-#: ../cli.py:1205
+#: ../cli.py:1593
 msgid "Cleaning up Headers"
 msgstr "Rydder opp pakkehoder"
 
-#: ../cli.py:1208
+#: ../cli.py:1596
 msgid "Cleaning up Packages"
 msgstr "Rydder opp pakker"
 
-#: ../cli.py:1211
+#: ../cli.py:1599
 msgid "Cleaning up xml metadata"
 msgstr "Rydder opp i XML-metadata"
 
-#: ../cli.py:1214
+#: ../cli.py:1602
 msgid "Cleaning up database cache"
 msgstr "Rydder opp i mellomlager for database"
 
-#: ../cli.py:1217
+#: ../cli.py:1605
 msgid "Cleaning up expire-cache metadata"
 msgstr "Rydder opp i metadata for expire-cache"
 
-#: ../cli.py:1220
+#: ../cli.py:1608
 msgid "Cleaning up cached rpmdb data"
 msgstr ""
 
-#: ../cli.py:1223
+#: ../cli.py:1611
 msgid "Cleaning up plugins"
 msgstr "Rydder opp i programtillegg"
 
-#: ../cli.py:1247
-#, python-format
-msgid "Warning: No groups match: %s"
+#: ../cli.py:1727
+msgid "Installed Environment Groups:"
+msgstr ""
+
+#: ../cli.py:1728
+msgid "Available Environment Groups:"
 msgstr ""
 
-#: ../cli.py:1264
+#: ../cli.py:1735
 msgid "Installed Groups:"
 msgstr "Installerte grupper:"
 
-#: ../cli.py:1270
+#: ../cli.py:1742
 msgid "Installed Language Groups:"
 msgstr ""
 
-#: ../cli.py:1276
+#: ../cli.py:1749
 msgid "Available Groups:"
 msgstr "Tilgjengelig grupper:"
 
-#: ../cli.py:1282
+#: ../cli.py:1756
 msgid "Available Language Groups:"
 msgstr ""
 
-#: ../cli.py:1285
+#: ../cli.py:1759
+#, python-format
+msgid "Warning: No Environments/Groups match: %s"
+msgstr ""
+
+#: ../cli.py:1763
 msgid "Done"
 msgstr "Ferdig"
 
-#: ../cli.py:1296 ../cli.py:1314 ../cli.py:1320 ../yum/__init__.py:3313
+#: ../cli.py:1818
+#, python-format
+msgid "Warning: Group/Environment %s does not exist."
+msgstr ""
+
+#: ../cli.py:1859
+#, python-format
+msgid "Warning: Environment %s does not exist."
+msgstr ""
+
+#: ../cli.py:1873 ../cli.py:1879 ../yum/__init__.py:4254
 #, python-format
 msgid "Warning: Group %s does not exist."
 msgstr "Advarsel: Gruppe %s eksisterer ikke."
 
-#: ../cli.py:1324
+#: ../cli.py:1883
 msgid "No packages in any requested group available to install or update"
-msgstr ""
-"Ingen pakker tilgjengelig for installering eller oppdatering i aktuelle "
-"grupper"
+msgstr "Ingen pakker tilgjengelig for installering eller oppdatering i aktuelle grupper"
 
-#: ../cli.py:1326
+#: ../cli.py:1885
 #, python-format
-msgid "%d Package(s) to Install"
-msgstr "%d pakke(r) vil bli installert"
+msgid "%d package to Install"
+msgid_plural "%d packages to Install"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:1336 ../yum/__init__.py:3325
+#: ../cli.py:1919 ../yum/__init__.py:3536 ../yum/__init__.py:3766
+#: ../yum/__init__.py:3824
+#, python-format
+msgid "No Environment named %s exists"
+msgstr ""
+
+#: ../cli.py:1935 ../yum/__init__.py:4282
 #, python-format
 msgid "No group named %s exists"
 msgstr "Det finnes ingen gruppe med navn %s"
 
-#: ../cli.py:1342
+#: ../cli.py:1945
 msgid "No packages to remove from groups"
 msgstr "Ingen pakker å fjerne fra grupper"
 
-#: ../cli.py:1344
+#: ../cli.py:1947 ../yumcommands.py:3351
 #, python-format
-msgid "%d Package(s) to remove"
-msgstr "%d pakker vil bli fjernet"
+msgid "%d package to remove"
+msgid_plural "%d packages to remove"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:1386
+#: ../cli.py:1988
 #, python-format
 msgid "Package %s is already installed, skipping"
 msgstr "Pakke %s er allerede lagt inn, hopper over"
 
-#: ../cli.py:1397
+#: ../cli.py:1999
 #, python-format
 msgid "Discarding non-comparable pkg %s.%s"
 msgstr "Vraker pakke som ikke kan sammenlignes %s.%s"
 
 #. we've not got any installed that match n or n+a
-#: ../cli.py:1423
+#: ../cli.py:2025
 #, python-format
 msgid "No other %s installed, adding to list for potential install"
-msgstr ""
-"Ingen annen %s er lagt inn, legger til pakke til liste over potensielle "
-"pakker"
+msgstr "Ingen annen %s er lagt inn, legger til pakke til liste over potensielle pakker"
 
-#: ../cli.py:1443
+#: ../cli.py:2045
 msgid "Plugin Options"
 msgstr "Programtilleggs valg"
 
-#: ../cli.py:1451
+#: ../cli.py:2057
 #, python-format
 msgid "Command line error: %s"
 msgstr "Feil med kommandolinje: %s"
 
-#: ../cli.py:1467
+#: ../cli.py:2079
 #, python-format
 msgid ""
 "\n"
 "\n"
 "%s: %s option requires an argument"
-msgstr ""
-"\n"
-"\n"
-"%s: flagg %s krever et argument"
+msgstr "\n\n%s: flagg %s krever et argument"
 
-#: ../cli.py:1521
+#: ../cli.py:2147
 msgid "--color takes one of: auto, always, never"
 msgstr "--color tar et av: auto, alltid, aldri"
 
 #. We have a relative installroot ... haha
-#: ../cli.py:1596
+#: ../cli.py:2218
 #, python-format
 msgid "--installroot must be an absolute path: %s"
 msgstr ""
 
-#: ../cli.py:1642
+#: ../cli.py:2272
 msgid "show this help message and exit"
 msgstr "vis denne hjelpteksten og avslutt"
 
-#: ../cli.py:1646
+#: ../cli.py:2276
 msgid "be tolerant of errors"
 msgstr "vær tolerant ved feil"
 
-#: ../cli.py:1649
+#: ../cli.py:2279
 msgid "run entirely from system cache, don't update cache"
 msgstr ""
 
-#: ../cli.py:1652
+#: ../cli.py:2282
 msgid "config file location"
 msgstr "plassering av konfigurasjonsfil"
 
-#: ../cli.py:1655
+#: ../cli.py:2285
 msgid "maximum command wait time"
 msgstr "maksimaltid for å vente på kommando"
 
-#: ../cli.py:1657
+#: ../cli.py:2287
 msgid "debugging output level"
 msgstr "nivå for tilbakemeldinger ved avlusing"
 
-#: ../cli.py:1661
+#: ../cli.py:2291
 msgid "show duplicates, in repos, in list/search commands"
 msgstr "vis duplikater i lager og i kommandoer for å liste/søke i pakker"
 
-#: ../cli.py:1663
+#: ../cli.py:2296
 msgid "error output level"
 msgstr "mengde tilbakemelding ved feil"
 
-#: ../cli.py:1666
+#: ../cli.py:2299
 msgid "debugging output level for rpm"
 msgstr ""
 
-#: ../cli.py:1669
+#: ../cli.py:2302
 msgid "quiet operation"
 msgstr "stille operasjon"
 
-#: ../cli.py:1671
+#: ../cli.py:2304
 msgid "verbose operation"
 msgstr "vis ekstra informasjon"
 
-#: ../cli.py:1673
+#: ../cli.py:2306
 msgid "answer yes for all questions"
 msgstr "svar Ja til alle spørsmål"
 
-#: ../cli.py:1675
+#: ../cli.py:2308
+msgid "answer no for all questions"
+msgstr ""
+
+#: ../cli.py:2312
 msgid "show Yum version and exit"
 msgstr "vis Yum-versjon og avslutt"
 
-#: ../cli.py:1676
+#: ../cli.py:2313
 msgid "set install root"
 msgstr "sett rot for installasjonen"
 
-#: ../cli.py:1680
+#: ../cli.py:2317
 msgid "enable one or more repositories (wildcards allowed)"
 msgstr "legger til et eller flere lager (jokertegn er tillatt)"
 
-#: ../cli.py:1684
+#: ../cli.py:2321
 msgid "disable one or more repositories (wildcards allowed)"
 msgstr "slå av et eller flere lager (jokertegn er tillatt)"
 
-#: ../cli.py:1687
+#: ../cli.py:2324
 msgid "exclude package(s) by name or glob"
 msgstr "overse pakke(r) ved navn eller mønster"
 
-#: ../cli.py:1689
+#: ../cli.py:2326
 msgid "disable exclude from main, for a repo or for everything"
 msgstr "fjerner ekskludering av pakker, for et lager eller alle pakker"
 
-#: ../cli.py:1692
+#: ../cli.py:2329
 msgid "enable obsoletes processing during updates"
 msgstr "ta med foreldede pakker i beregningen ved oppdatering"
 
-#: ../cli.py:1694
+#: ../cli.py:2331
 msgid "disable Yum plugins"
 msgstr "ikke bruk programtilleggene til Yum"
 
-#: ../cli.py:1696
+#: ../cli.py:2333
 msgid "disable gpg signature checking"
 msgstr "ikke sjekk GPG-signaturer"
 
-#: ../cli.py:1698
+#: ../cli.py:2335
 msgid "disable plugins by name"
 msgstr "slå av tillegg til yum etter navn"
 
-#: ../cli.py:1701
+#: ../cli.py:2338
 msgid "enable plugins by name"
 msgstr "slå av programtillegg til yum etter navn"
 
-#: ../cli.py:1704
+#: ../cli.py:2341
 msgid "skip packages with depsolving problems"
 msgstr "hopp over pakker som har problemer med avhengigheter"
 
-#: ../cli.py:1706
+#: ../cli.py:2343
 msgid "control whether color is used"
 msgstr "kontroller om farger er brukt"
 
-#: ../cli.py:1708
+#: ../cli.py:2345
 msgid "set value of $releasever in yum config and repo files"
 msgstr ""
 
-#: ../cli.py:1710
+#: ../cli.py:2347
+msgid "don't update, just download"
+msgstr ""
+
+#: ../cli.py:2349
+msgid "specifies an alternate directory to store packages"
+msgstr ""
+
+#: ../cli.py:2351
 msgid "set arbitrary config and repo options"
 msgstr ""
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Jan"
 msgstr "jan"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Feb"
 msgstr "feb"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Mar"
 msgstr "mar"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Apr"
 msgstr "apr"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "May"
 msgstr "mai"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Jun"
 msgstr "jun"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Jul"
 msgstr "jul"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Aug"
 msgstr "aug"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Sep"
 msgstr "sep"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Oct"
 msgstr "okt"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Nov"
 msgstr "nov"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Dec"
 msgstr "des"
 
-#: ../output.py:318
+#: ../output.py:473
 msgid "Trying other mirror."
 msgstr "Prøver et annet speil."
 
-#: ../output.py:581
+#: ../output.py:816
 #, python-format
 msgid "Name        : %s%s%s"
 msgstr ""
 
-#: ../output.py:582
+#: ../output.py:817
 #, python-format
 msgid "Arch        : %s"
 msgstr ""
 
-#: ../output.py:584
+#: ../output.py:819
 #, python-format
 msgid "Epoch       : %s"
 msgstr ""
 
-#: ../output.py:585
+#: ../output.py:820
 #, python-format
 msgid "Version     : %s"
 msgstr ""
 
-#: ../output.py:586
+#: ../output.py:821
 #, python-format
 msgid "Release     : %s"
 msgstr ""
 
-#: ../output.py:587
+#: ../output.py:822
 #, python-format
 msgid "Size        : %s"
 msgstr ""
 
-#: ../output.py:588 ../output.py:900
+#: ../output.py:823 ../output.py:1329
 #, python-format
 msgid "Repo        : %s"
 msgstr "Arkiv      : %s"
 
-#: ../output.py:590
+#: ../output.py:825
 #, python-format
 msgid "From repo   : %s"
 msgstr ""
 
-#: ../output.py:592
+#: ../output.py:827
 #, python-format
 msgid "Committer   : %s"
 msgstr ""
 
-#: ../output.py:593
+#: ../output.py:828
 #, python-format
 msgid "Committime  : %s"
 msgstr ""
 
-#: ../output.py:594
+#: ../output.py:829
 #, python-format
 msgid "Buildtime   : %s"
 msgstr ""
 
-#: ../output.py:596
+#: ../output.py:831
 #, python-format
 msgid "Install time: %s"
 msgstr ""
 
-#: ../output.py:604
+#: ../output.py:839
 #, python-format
 msgid "Installed by: %s"
 msgstr ""
 
-#: ../output.py:611
+#: ../output.py:846
 #, python-format
 msgid "Changed by  : %s"
 msgstr ""
 
-#: ../output.py:612
+#: ../output.py:847
 msgid "Summary     : "
 msgstr ""
 
-#: ../output.py:614 ../output.py:913
+#: ../output.py:849 ../output.py:1345
 #, python-format
 msgid "URL         : %s"
 msgstr "Nettadresse        : %s"
 
-#: ../output.py:615
+#: ../output.py:850
 msgid "License     : "
 msgstr ""
 
-#: ../output.py:616 ../output.py:910
+#: ../output.py:851 ../output.py:1342
 msgid "Description : "
 msgstr "Beskrivelse : "
 
-#: ../output.py:684
+#: ../output.py:969
 msgid "y"
 msgstr "j"
 
-#: ../output.py:684
+#: ../output.py:969
 msgid "yes"
 msgstr "ja"
 
-#: ../output.py:685
+#: ../output.py:970
 msgid "n"
 msgstr "n"
 
-#: ../output.py:685
+#: ../output.py:970
 msgid "no"
 msgstr "nei"
 
-#: ../output.py:689
+#: ../output.py:974
 msgid "Is this ok [y/N]: "
 msgstr "Er dette ok [j/N]:"
 
-#: ../output.py:777
+#: ../output.py:1097
 #, python-format
 msgid ""
 "\n"
 "Group: %s"
-msgstr ""
-"\n"
-"Gruppe:%s"
+msgstr "\nGruppe:%s"
 
-#: ../output.py:781
+#: ../output.py:1101
 #, python-format
 msgid " Group-Id: %s"
 msgstr "GruppeId:%s"
 
-#: ../output.py:786
+#: ../output.py:1122 ../output.py:1169
 #, python-format
 msgid " Description: %s"
 msgstr " Beskrivelse: %s"
 
-#: ../output.py:788
+#: ../output.py:1124
 #, python-format
 msgid " Language: %s"
 msgstr ""
 
-#: ../output.py:790
+#: ../output.py:1126
 msgid " Mandatory Packages:"
 msgstr "Obligatoriske pakker:"
 
-#: ../output.py:791
+#: ../output.py:1127
 msgid " Default Packages:"
 msgstr "Standard pakker:"
 
-#: ../output.py:792
+#: ../output.py:1128
 msgid " Optional Packages:"
 msgstr "Valgfrie pakker:"
 
-#: ../output.py:793
+#: ../output.py:1129
 msgid " Conditional Packages:"
 msgstr "Betingede pakker:"
 
-#: ../output.py:814
+#: ../output.py:1147
+msgid " Installed Packages:"
+msgstr ""
+
+#: ../output.py:1157
+#, python-format
+msgid ""
+"\n"
+"Environment Group: %s"
+msgstr ""
+
+#: ../output.py:1158
+#, python-format
+msgid " Environment-Id: %s"
+msgstr ""
+
+#: ../output.py:1191
+msgid " Mandatory Groups:"
+msgstr ""
+
+#: ../output.py:1192
+msgid " Optional Groups:"
+msgstr ""
+
+#: ../output.py:1205
+msgid " Installed Groups:"
+msgstr ""
+
+#: ../output.py:1217
 #, python-format
 msgid "package: %s"
 msgstr "pakke: %s"
 
-#: ../output.py:816
+#: ../output.py:1219
 msgid "  No dependencies for this package"
 msgstr " Ingen avhengigheter for denne pakka"
 
-#: ../output.py:821
+#: ../output.py:1224
 #, python-format
 msgid "  dependency: %s"
 msgstr " avhengighet: %s"
 
-#: ../output.py:823
+#: ../output.py:1226
 msgid "   Unsatisfied dependency"
 msgstr " avhengighet som ikke kunne tilfredstilles"
 
-#: ../output.py:901
+#: ../output.py:1337
 msgid "Matched from:"
 msgstr "Treff fra:"
 
-#: ../output.py:916
+#: ../output.py:1348
 #, python-format
 msgid "License     : %s"
 msgstr "Lisens     : %s"
 
-#: ../output.py:919
+#: ../output.py:1351
 #, python-format
 msgid "Filename    : %s"
 msgstr "Filnavn     : %s"
 
-#: ../output.py:923
+#: ../output.py:1360
+msgid "Provides    : "
+msgstr ""
+
+#: ../output.py:1363
 msgid "Other       : "
 msgstr "Andre ting       : %s"
 
-#: ../output.py:966
+#: ../output.py:1426
 msgid "There was an error calculating total download size"
 msgstr "Kunne ikke finne ut størrelse på det som skal hentes ned"
 
-#: ../output.py:971
+#: ../output.py:1431
 #, python-format
 msgid "Total size: %s"
 msgstr "Totale størrelse: %s"
 
-#: ../output.py:974
+#: ../output.py:1433
 #, python-format
 msgid "Total download size: %s"
 msgstr "Totale størrelse på pakker som hentes: %s"
 
-#: ../output.py:978 ../output.py:998
+#: ../output.py:1436 ../output.py:1459 ../output.py:1463
 #, python-format
 msgid "Installed size: %s"
 msgstr ""
 
-#: ../output.py:994
+#: ../output.py:1454
 msgid "There was an error calculating installed size"
 msgstr ""
 
-#: ../output.py:1039
+#: ../output.py:1504
 msgid "Reinstalling"
 msgstr "Ominstallerer"
 
-#: ../output.py:1040
+#: ../output.py:1505
 msgid "Downgrading"
 msgstr "Nedgraderer"
 
-#: ../output.py:1041
+#: ../output.py:1506
 msgid "Installing for dependencies"
 msgstr "Legges inn på grunn avhengigheter"
 
-#: ../output.py:1042
+#: ../output.py:1507
 msgid "Updating for dependencies"
 msgstr "Oppdateres på grunn avhengigheter"
 
-#: ../output.py:1043
+#: ../output.py:1508
 msgid "Removing for dependencies"
 msgstr "Fjernes på grunn avhengigheter"
 
-#: ../output.py:1050 ../output.py:1171
+#: ../output.py:1515 ../output.py:1576 ../output.py:1672
 msgid "Skipped (dependency problems)"
 msgstr "Hoppet over (problemer med avhengigheter)"
 
-#: ../output.py:1052 ../output.py:1687
+#: ../output.py:1517 ../output.py:1577 ../output.py:2223
 msgid "Not installed"
 msgstr ""
 
-#: ../output.py:1053
+#: ../output.py:1518 ../output.py:1578
 msgid "Not available"
 msgstr ""
 
-#: ../output.py:1075 ../output.py:2024
+#: ../output.py:1540 ../output.py:1588 ../output.py:1604 ../output.py:2581
 msgid "Package"
-msgstr "Pakke"
+msgid_plural "Packages"
+msgstr[0] ""
+msgstr[1] "Pakke"
 
-#: ../output.py:1075
+#: ../output.py:1540
 msgid "Arch"
 msgstr "Arkitektur"
 
-#: ../output.py:1076
+#: ../output.py:1541
 msgid "Version"
 msgstr "Versjon"
 
-#: ../output.py:1076
+#: ../output.py:1541
 msgid "Repository"
 msgstr "Pakkeoversikt"
 
-#: ../output.py:1077
+#: ../output.py:1542
 msgid "Size"
 msgstr "Størrelse"
 
-#: ../output.py:1089
+#: ../output.py:1554
 #, python-format
 msgid "     replacing  %s%s%s.%s %s\n"
 msgstr ""
 
-#: ../output.py:1098
+#: ../output.py:1563
 #, python-format
 msgid ""
 "\n"
 "Transaction Summary\n"
 "%s\n"
-msgstr ""
-"\n"
-"Transaksjonsammendrag\n"
-"%s\n"
+msgstr "\nTransaksjonsammendrag\n%s\n"
 
-#: ../output.py:1109
-#, python-format
-msgid "Install   %5.5s Package(s)\n"
+#: ../output.py:1568 ../output.py:2376 ../output.py:2377
+msgid "Install"
 msgstr ""
 
-#: ../output.py:1113
-#, python-format
-msgid "Upgrade   %5.5s Package(s)\n"
+#: ../output.py:1570
+msgid "Upgrade"
 msgstr ""
 
-#: ../output.py:1117
-#, python-format
-msgid "Remove    %5.5s Package(s)\n"
+#: ../output.py:1572
+msgid "Remove"
 msgstr ""
 
-#: ../output.py:1121
-#, python-format
-msgid "Reinstall %5.5s Package(s)\n"
+#: ../output.py:1574 ../output.py:2382
+msgid "Reinstall"
 msgstr ""
 
-#: ../output.py:1125
-#, python-format
-msgid "Downgrade %5.5s Package(s)\n"
+#: ../output.py:1575 ../output.py:2383
+msgid "Downgrade"
 msgstr ""
 
-#: ../output.py:1165
+#: ../output.py:1606
+msgid "Dependent package"
+msgid_plural "Dependent packages"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../output.py:1666
 msgid "Removed"
 msgstr "Fjernet"
 
-#: ../output.py:1166
+#: ../output.py:1667
 msgid "Dependency Removed"
 msgstr "Fjernet på grunn avhengighet"
 
-#: ../output.py:1168
+#: ../output.py:1669
 msgid "Dependency Installed"
 msgstr "Lagt inn på grunn av avhengighet"
 
-#: ../output.py:1170
+#: ../output.py:1671
 msgid "Dependency Updated"
 msgstr "Oppdatert på grunn avhengighet"
 
-#: ../output.py:1172
+#: ../output.py:1673
 msgid "Replaced"
 msgstr "Erstattet"
 
-#: ../output.py:1173
+#: ../output.py:1674
 msgid "Failed"
 msgstr "Feilet"
 
 #. Delta between C-c's so we treat as exit
-#: ../output.py:1260
+#: ../output.py:1764
 msgid "two"
 msgstr "to"
 
 #. For translators: This is output like:
 #. Current download cancelled, interrupt (ctrl-c) again within two seconds
 #. to exit.
-#. Where "interupt (ctrl-c) again" and "two" are highlighted.
-#: ../output.py:1271
+#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
+#: ../output.py:1775
 #, python-format
 msgid ""
 "\n"
 " Current download cancelled, %sinterrupt (ctrl-c) again%s within %s%s%s seconds\n"
 "to exit.\n"
-msgstr ""
-"\n"
-" Pågående nedlastning er avbrutt, %s avbryt (ved å trykke Ctrl-C) %s ganger til innen %s%s%s sekunder\n"
-"for å avslutte.\n"
+msgstr "\n Pågående nedlastning er avbrutt, %s avbryt (ved å trykke Ctrl-C) %s ganger til innen %s%s%s sekunder\nfor å avslutte.\n"
 
-#: ../output.py:1282
+#: ../output.py:1786
 msgid "user interrupt"
 msgstr "avbrutt av bruker"
 
-#: ../output.py:1300
+#: ../output.py:1812
 msgid "Total"
 msgstr "Totalt"
 
-#: ../output.py:1322
+#: ../output.py:1834
 msgid "I"
 msgstr ""
 
-#: ../output.py:1323
+#: ../output.py:1835
 msgid "O"
 msgstr ""
 
-#: ../output.py:1324
+#: ../output.py:1836
 msgid "E"
 msgstr ""
 
-#: ../output.py:1325
+#: ../output.py:1837
 msgid "R"
 msgstr ""
 
-#: ../output.py:1326
+#: ../output.py:1838
 msgid "D"
 msgstr ""
 
-#: ../output.py:1327
+#: ../output.py:1839
 msgid "U"
 msgstr ""
 
-#: ../output.py:1341
+#: ../output.py:1853
 msgid "<unset>"
 msgstr ""
 
-#: ../output.py:1342
+#: ../output.py:1854
 msgid "System"
 msgstr ""
 
-#: ../output.py:1411
+#: ../output.py:1923
 #, python-format
 msgid "Skipping merged transaction %d to %d, as it overlaps"
 msgstr ""
 
-#: ../output.py:1421 ../output.py:1592
+#: ../output.py:1933 ../output.py:2125
 msgid "No transactions"
 msgstr ""
 
-#: ../output.py:1446 ../output.py:2013
+#: ../output.py:1958 ../output.py:2570 ../output.py:2660
 msgid "Bad transaction IDs, or package(s), given"
 msgstr ""
 
-#: ../output.py:1484
+#: ../output.py:2007
 msgid "Command line"
 msgstr ""
 
-#: ../output.py:1486 ../output.py:1908
+#: ../output.py:2009 ../output.py:2458
 msgid "Login user"
 msgstr ""
 
 #. REALLY Needs to use columns!
-#: ../output.py:1487 ../output.py:2022
+#: ../output.py:2010 ../output.py:2579
 msgid "ID"
 msgstr ""
 
-#: ../output.py:1489
+#: ../output.py:2012
 msgid "Date and time"
 msgstr ""
 
-#: ../output.py:1490 ../output.py:1910 ../output.py:2023
+#: ../output.py:2013 ../output.py:2460 ../output.py:2580
 msgid "Action(s)"
 msgstr ""
 
-#: ../output.py:1491 ../output.py:1911
+#: ../output.py:2014 ../output.py:2461
 msgid "Altered"
 msgstr ""
 
-#: ../output.py:1538
+#: ../output.py:2061
 msgid "No transaction ID given"
 msgstr ""
 
-#: ../output.py:1564 ../output.py:1972
+#: ../output.py:2087 ../output.py:2526
 msgid "Bad transaction ID given"
 msgstr ""
 
-#: ../output.py:1569
+#: ../output.py:2092
 msgid "Not found given transaction ID"
 msgstr ""
 
-#: ../output.py:1577
+#: ../output.py:2100
 msgid "Found more than one transaction ID!"
 msgstr ""
 
-#: ../output.py:1618 ../output.py:1980
+#: ../output.py:2151 ../output.py:2534
 msgid "No transaction ID, or package, given"
 msgstr ""
 
-#: ../output.py:1686 ../output.py:1845
+#: ../output.py:2222 ../output.py:2384
 msgid "Downgraded"
 msgstr ""
 
-#: ../output.py:1688
+#: ../output.py:2224
 msgid "Older"
 msgstr ""
 
-#: ../output.py:1688
+#: ../output.py:2224
 msgid "Newer"
 msgstr ""
 
-#: ../output.py:1724 ../output.py:1726
+#: ../output.py:2261 ../output.py:2263 ../output.py:2681
 msgid "Transaction ID :"
 msgstr ""
 
-#: ../output.py:1728
+#: ../output.py:2265 ../output.py:2683
 msgid "Begin time     :"
 msgstr ""
 
-#: ../output.py:1731 ../output.py:1733
+#: ../output.py:2268 ../output.py:2270
 msgid "Begin rpmdb    :"
 msgstr ""
 
-#: ../output.py:1749
+#: ../output.py:2286
 #, python-format
 msgid "(%u seconds)"
 msgstr ""
 
-#: ../output.py:1751
+#: ../output.py:2288
 #, python-format
 msgid "(%u minutes)"
 msgstr ""
 
-#: ../output.py:1753
+#: ../output.py:2290
 #, python-format
 msgid "(%u hours)"
 msgstr ""
 
-#: ../output.py:1755
+#: ../output.py:2292
 #, python-format
 msgid "(%u days)"
 msgstr ""
 
-#: ../output.py:1756
+#: ../output.py:2293
 msgid "End time       :"
 msgstr ""
 
-#: ../output.py:1759 ../output.py:1761
+#: ../output.py:2296 ../output.py:2298
 msgid "End rpmdb      :"
 msgstr ""
 
-#: ../output.py:1764 ../output.py:1766
+#: ../output.py:2301 ../output.py:2303
 msgid "User           :"
 msgstr ""
 
-#: ../output.py:1770 ../output.py:1773 ../output.py:1775 ../output.py:1777
-#: ../output.py:1779
+#: ../output.py:2307 ../output.py:2310 ../output.py:2312 ../output.py:2314
+#: ../output.py:2316
 msgid "Return-Code    :"
 msgstr ""
 
-#: ../output.py:1770 ../output.py:1775
+#: ../output.py:2307 ../output.py:2312
 msgid "Aborted"
 msgstr ""
 
-#: ../output.py:1773
+#: ../output.py:2310
 msgid "Failures:"
 msgstr ""
 
-#: ../output.py:1777
+#: ../output.py:2314
 msgid "Failure:"
 msgstr ""
 
-#: ../output.py:1779
+#: ../output.py:2316
 msgid "Success"
 msgstr ""
 
-#: ../output.py:1784 ../output.py:1786
+#: ../output.py:2321 ../output.py:2323 ../output.py:2712
 msgid "Command Line   :"
 msgstr ""
 
-#: ../output.py:1795
+#: ../output.py:2332
 #, python-format
 msgid "Additional non-default information stored: %d"
 msgstr ""
 
 #. This is _possible_, but not common
-#: ../output.py:1800
+#: ../output.py:2337
 msgid "Transaction performed with:"
 msgstr ""
 
-#: ../output.py:1804
+#: ../output.py:2341
 msgid "Packages Altered:"
 msgstr ""
 
-#: ../output.py:1808
+#: ../output.py:2345
 msgid "Packages Skipped:"
 msgstr ""
 
-#: ../output.py:1814
+#: ../output.py:2353
 msgid "Rpmdb Problems:"
 msgstr ""
 
-#: ../output.py:1825
+#: ../output.py:2364
 msgid "Scriptlet output:"
 msgstr ""
 
-#: ../output.py:1831
+#: ../output.py:2370
 msgid "Errors:"
 msgstr ""
 
-#: ../output.py:1837 ../output.py:1838
-msgid "Install"
-msgstr ""
-
-#: ../output.py:1839
+#: ../output.py:2378
 msgid "Dep-Install"
 msgstr ""
 
-#: ../output.py:1841
+#: ../output.py:2380
 msgid "Obsoleting"
 msgstr ""
 
-#: ../output.py:1842
+#: ../output.py:2381
 msgid "Erase"
 msgstr ""
 
-#: ../output.py:1843
-msgid "Reinstall"
-msgstr ""
-
-#: ../output.py:1844
-msgid "Downgrade"
-msgstr ""
-
-#: ../output.py:1846
+#: ../output.py:2385
 msgid "Update"
 msgstr ""
 
-#: ../output.py:1909
+#: ../output.py:2459
 msgid "Time"
 msgstr ""
 
-#: ../output.py:1935
+#: ../output.py:2485
 msgid "Last day"
 msgstr ""
 
-#: ../output.py:1936
+#: ../output.py:2486
 msgid "Last week"
 msgstr ""
 
-#: ../output.py:1937
+#: ../output.py:2487
 msgid "Last 2 weeks"
 msgstr ""
 
 #. US default :p
-#: ../output.py:1938
+#: ../output.py:2488
 msgid "Last 3 months"
 msgstr ""
 
-#: ../output.py:1939
+#: ../output.py:2489
 msgid "Last 6 months"
 msgstr ""
 
-#: ../output.py:1940
+#: ../output.py:2490
 msgid "Last year"
 msgstr ""
 
-#: ../output.py:1941
+#: ../output.py:2491
 msgid "Over a year ago"
 msgstr ""
 
-#: ../output.py:1984
+#: ../output.py:2538
 #, python-format
 msgid "No Transaction %s found"
 msgstr ""
 
-#: ../output.py:1990
+#: ../output.py:2544
 msgid "Transaction ID:"
 msgstr ""
 
-#: ../output.py:1991
+#: ../output.py:2545
 msgid "Available additional history information:"
 msgstr ""
 
-#: ../output.py:2003
+#: ../output.py:2558
 #, python-format
 msgid "%s: No additional data found by this name"
 msgstr ""
 
-#: ../output.py:2106
+#: ../output.py:2684
+msgid "Package        :"
+msgstr ""
+
+#: ../output.py:2685
+msgid "State          :"
+msgstr ""
+
+#: ../output.py:2688
+msgid "Size           :"
+msgstr ""
+
+#: ../output.py:2690
+msgid "Build host     :"
+msgstr ""
+
+#: ../output.py:2693
+msgid "Build time     :"
+msgstr ""
+
+#: ../output.py:2695
+msgid "Packager       :"
+msgstr ""
+
+#: ../output.py:2697
+msgid "Vendor         :"
+msgstr ""
+
+#: ../output.py:2699
+msgid "License        :"
+msgstr ""
+
+#: ../output.py:2701
+msgid "URL            :"
+msgstr ""
+
+#: ../output.py:2703
+msgid "Source RPM     :"
+msgstr ""
+
+#: ../output.py:2706
+msgid "Commit Time    :"
+msgstr ""
+
+#: ../output.py:2708
+msgid "Committer      :"
+msgstr ""
+
+#: ../output.py:2710
+msgid "Reason         :"
+msgstr ""
+
+#: ../output.py:2714
+msgid "From repo      :"
+msgstr ""
+
+#: ../output.py:2718
+msgid "Installed by   :"
+msgstr ""
+
+#: ../output.py:2722
+msgid "Changed by     :"
+msgstr ""
+
+#: ../output.py:2767
 msgid "installed"
 msgstr "installert"
 
-#: ../output.py:2107
+#: ../output.py:2768
 msgid "an update"
 msgstr ""
 
-#: ../output.py:2108
+#: ../output.py:2769
 msgid "erased"
 msgstr "fjernet"
 
-#: ../output.py:2109
+#: ../output.py:2770
 msgid "reinstalled"
 msgstr ""
 
-#: ../output.py:2110
+#: ../output.py:2771
 msgid "a downgrade"
 msgstr ""
 
-#: ../output.py:2111
+#: ../output.py:2772
 msgid "obsoleting"
 msgstr ""
 
-#: ../output.py:2112
+#: ../output.py:2773
 msgid "updated"
 msgstr "oppdatert"
 
-#: ../output.py:2113
+#: ../output.py:2774
 msgid "obsoleted"
 msgstr "foreldet"
 
-#: ../output.py:2117
+#: ../output.py:2778
 #, python-format
 msgid "---> Package %s.%s %s:%s-%s will be %s"
 msgstr ""
 
-#: ../output.py:2124
+#: ../output.py:2789
 msgid "--> Running transaction check"
 msgstr "--> Utfører sjekk av transaksjonen"
 
-#: ../output.py:2129
+#: ../output.py:2795
 msgid "--> Restarting Dependency Resolution with new changes."
 msgstr "--> Starter løsing av avhengigheter på nytt med endringer"
 
-#: ../output.py:2134
+#: ../output.py:2801
 msgid "--> Finished Dependency Resolution"
 msgstr "--> Alle avhengigheter er løst"
 
-#: ../output.py:2139 ../output.py:2144
+#: ../output.py:2814 ../output.py:2827
 #, python-format
 msgid "--> Processing Dependency: %s for package: %s"
 msgstr "--> Beregner avhengighet: %s for pakke: %s"
 
-#: ../output.py:2149
+#: ../output.py:2841
 #, python-format
-msgid "---> Keeping package: %s"
+msgid "---> Keeping package: %s due to %s"
 msgstr ""
 
-#: ../output.py:2152
+#: ../output.py:2850
 #, python-format
 msgid "--> Unresolved Dependency: %s"
 msgstr "--> Avhengigheter som ikke kunne bli tilfredstilt: %s"
 
-#: ../output.py:2163
+#: ../output.py:2867
 #, python-format
 msgid "Package: %s"
 msgstr ""
 
-#: ../output.py:2165
+#: ../output.py:2869
 #, python-format
 msgid ""
 "\n"
 "    Requires: %s"
 msgstr ""
 
-#: ../output.py:2174
+#: ../output.py:2878
 #, python-format
 msgid ""
 "\n"
 "    %s: %s (%s)"
 msgstr ""
 
-#: ../output.py:2179
+#: ../output.py:2883
 #, python-format
 msgid ""
 "\n"
 "        %s"
 msgstr ""
 
-#: ../output.py:2181
+#: ../output.py:2885
 msgid ""
 "\n"
 "        Not found"
 msgstr ""
 
 #. These should be the only three things we care about:
-#: ../output.py:2196
+#: ../output.py:2900
 msgid "Updated By"
 msgstr ""
 
-#: ../output.py:2197
+#: ../output.py:2901
 msgid "Downgraded By"
 msgstr ""
 
-#: ../output.py:2198
+#: ../output.py:2902
 msgid "Obsoleted By"
 msgstr ""
 
-#: ../output.py:2216
+#: ../output.py:2920
 msgid "Available"
 msgstr ""
 
-#: ../output.py:2243 ../output.py:2248
+#: ../output.py:2955 ../output.py:2968
 #, python-format
 msgid "--> Processing Conflict: %s conflicts %s"
 msgstr "--> Beregner konflikter: %s er i konflikt med %s"
 
-#: ../output.py:2252
+#: ../output.py:2974
 msgid "--> Populating transaction set with selected packages. Please wait."
 msgstr "--> Fyller transaksjonen med valgte pakker. Vennligst vent."
 
-#: ../output.py:2256
+#: ../output.py:2983
 #, python-format
 msgid "---> Downloading header for %s to pack into transaction set."
 msgstr "---> Henter ned filhode for pakke %s for å fylle transaksjonen."
 
-#: ../utils.py:99
+#. self.event(txmbr.name, count, len(base.tsInfo), count, )
+#. (te_current*100L)/te_total
+#: ../output.py:3248
+msgid "Verifying"
+msgstr ""
+
+#: ../utils.py:123
 msgid "Running"
 msgstr "Kjører"
 
-#: ../utils.py:100
+#: ../utils.py:124
 msgid "Sleeping"
 msgstr "Sover"
 
-#: ../utils.py:101
+#: ../utils.py:125
 msgid "Uninterruptible"
 msgstr ""
 
-#: ../utils.py:102
+#: ../utils.py:126
 msgid "Zombie"
 msgstr "Zombie"
 
-#: ../utils.py:103
+#: ../utils.py:127
 msgid "Traced/Stopped"
 msgstr "Sporet/Stoppet"
 
-#: ../utils.py:104 ../yumcommands.py:994
+#: ../utils.py:128 ../yumcommands.py:2193
 msgid "Unknown"
 msgstr "Ukjent"
 
-#: ../utils.py:115
+#: ../utils.py:153
 msgid "  The other application is: PackageKit"
 msgstr "  Det andre programmet er: PackageKit"
 
-#: ../utils.py:117
+#: ../utils.py:155
 #, python-format
 msgid "  The other application is: %s"
 msgstr "  Det andre programmet er: %s"
 
-#: ../utils.py:120
+#: ../utils.py:158
 #, python-format
 msgid "    Memory : %5s RSS (%5sB VSZ)"
 msgstr "    Minne : %5s RSS (%5sB VSZ)"
 
-#: ../utils.py:125
+#: ../utils.py:163
 #, python-format
 msgid "    Started: %s - %s ago"
 msgstr "    Startet for %s - %s siden"
 
-#: ../utils.py:127
+#: ../utils.py:165
 #, python-format
 msgid "    State  : %s, pid: %d"
 msgstr "    Status  : %s, pid: %d"
 
-#: ../utils.py:170 ../yummain.py:43
+#: ../utils.py:194 ../yummain.py:43
 msgid ""
 "\n"
 "\n"
 "Exiting on user cancel"
-msgstr ""
-"\n"
-"\n"
-"Avslutter etter ønske"
+msgstr "\n\nAvslutter etter ønske"
 
-#: ../utils.py:176 ../yummain.py:49
+#: ../utils.py:206 ../yummain.py:49
 msgid ""
 "\n"
 "\n"
 "Exiting on Broken Pipe"
-msgstr ""
-"\n"
-"\n"
-"Avslutter på grunn av brutt rør"
+msgstr "\n\nAvslutter på grunn av brutt rør"
 
-#: ../utils.py:178 ../yummain.py:51
+#: ../utils.py:208 ../yummain.py:51
 #, python-format
 msgid ""
 "\n"
@@ -1445,49 +1604,41 @@ msgid ""
 "%s"
 msgstr ""
 
-#: ../utils.py:228 ../yummain.py:123
-msgid ""
-"Another app is currently holding the yum lock; exiting as configured by "
-"exit_on_lock"
-msgstr ""
-
-#: ../utils.py:287
+#: ../utils.py:326
 #, python-format
 msgid "PluginExit Error: %s"
 msgstr ""
 
-#: ../utils.py:290
+#: ../utils.py:329
 #, python-format
 msgid "Yum Error: %s"
 msgstr ""
 
-#: ../utils.py:342 ../yummain.py:150 ../yummain.py:189
+#: ../utils.py:387 ../yummain.py:147 ../yummain.py:186
 #, python-format
 msgid "Error: %s"
 msgstr "Feil: %s"
 
-#: ../utils.py:346 ../yummain.py:194
+#: ../utils.py:391 ../yummain.py:191
 msgid " You could try using --skip-broken to work around the problem"
 msgstr "Du kan prøve å bruke --skip-broken for å jobbe deg rundt problem"
 
-#: ../utils.py:348 ../yummain.py:87
+#: ../utils.py:393 ../yummain.py:87
 msgid " You could try running: rpm -Va --nofiles --nodigest"
 msgstr ""
 
-#: ../utils.py:355 ../yummain.py:160 ../yummain.py:202
+#: ../utils.py:400 ../yummain.py:157 ../yummain.py:199
 #, python-format
 msgid "Unknown Error(s): Exit Code: %d:"
 msgstr "Ukjent feil: feilkode: %d:"
 
-#: ../utils.py:361 ../yummain.py:208
+#: ../utils.py:406 ../yummain.py:205
 msgid ""
 "\n"
 "Dependencies Resolved"
-msgstr ""
-"\n"
-"Alle avhengigheter er løst"
+msgstr "\nAlle avhengigheter er løst"
 
-#: ../utils.py:376 ../yummain.py:234
+#: ../utils.py:422 ../yummain.py:237
 msgid "Complete!"
 msgstr "Ferdig!"
 
@@ -1499,7 +1650,7 @@ msgstr ""
 msgid "You need to be root to perform this command."
 msgstr "Du må være rootbruker for å utføre denne kommandoen."
 
-#: ../yumcommands.py:59
+#: ../yumcommands.py:67
 msgid ""
 "\n"
 "You have enabled checking of packages via GPG keys. This is a good thing. \n"
@@ -1514,579 +1665,650 @@ msgid ""
 "will install it for you.\n"
 "\n"
 "For more information contact your distribution or package provider.\n"
-msgstr ""
-"\n"
-"Du har valgt å sjekke pakkene ved hjelp av GPG-nøkler. Det er fornuftig.\n"
-"Du har imidlertid ingen offentlige GPG-nøkler installert\n"
-"Du må hente ned og legge inn nøklene. Du kan legge dem inn med kommandoen:\n"
-"\n"
-"  rpm --import public.gpg.key\n"
-"\n"
-"Et annet og bedre alternativ er å oppgi URL til de nøklene du vil bruke.\n"
-"Bruk opsjonen 'gpgkey' for hvert lager for å ta dette i bruk.\n"
-"\n"
-"Kontakt din distribusjon eller pakkeansvarlig for mer informasjon.\n"
+msgstr "\nDu har valgt å sjekke pakkene ved hjelp av GPG-nøkler. Det er fornuftig.\nDu har imidlertid ingen offentlige GPG-nøkler installert\nDu må hente ned og legge inn nøklene. Du kan legge dem inn med kommandoen:\n\n  rpm --import public.gpg.key\n\nEt annet og bedre alternativ er å oppgi URL til de nøklene du vil bruke.\nBruk opsjonen 'gpgkey' for hvert lager for å ta dette i bruk.\n\nKontakt din distribusjon eller pakkeansvarlig for mer informasjon.\n"
 
-#: ../yumcommands.py:74
+#: ../yumcommands.py:82
 #, python-format
 msgid "Problem repository: %s"
 msgstr ""
 
-#: ../yumcommands.py:80
+#: ../yumcommands.py:96
 #, python-format
 msgid "Error: Need to pass a list of pkgs to %s"
 msgstr "Feil: du må oppgi en liste med pakker som skal %s"
 
-#: ../yumcommands.py:86
+#: ../yumcommands.py:114
+#, python-format
+msgid "Error: Need at least two packages to %s"
+msgstr ""
+
+#: ../yumcommands.py:129
+#, python-format
+msgid "Error: Need to pass a repoid. and command to %s"
+msgstr ""
+
+#: ../yumcommands.py:136 ../yumcommands.py:142
+#, python-format
+msgid "Error: Need to pass a single valid repoid. to %s"
+msgstr ""
+
+#: ../yumcommands.py:147
+#, python-format
+msgid "Error: Repo %s is not enabled"
+msgstr ""
+
+#: ../yumcommands.py:164
 msgid "Error: Need an item to match"
 msgstr "Feil: trenger noe å sammenligne med"
 
-#: ../yumcommands.py:92
+#: ../yumcommands.py:178
 msgid "Error: Need a group or list of groups"
 msgstr "Feil: trenger en gruppe eller en liste med grupper"
 
-#: ../yumcommands.py:101
+#: ../yumcommands.py:195
 #, python-format
 msgid "Error: clean requires an option: %s"
 msgstr "Feil: clean trenger minst et argument: %s"
 
-#: ../yumcommands.py:106
+#: ../yumcommands.py:201
 #, python-format
 msgid "Error: invalid clean argument: %r"
 msgstr "Feil: ugyldig argument gitt til kommandoen clean: %r"
 
-#: ../yumcommands.py:119
+#: ../yumcommands.py:216
 msgid "No argument to shell"
 msgstr "Ingen argumenter ble gitt til kommandoen shell"
 
-#: ../yumcommands.py:121
+#: ../yumcommands.py:218
 #, python-format
 msgid "Filename passed to shell: %s"
 msgstr "Følgende filnavn ble sendt til skallet: %s"
 
-#: ../yumcommands.py:125
+#: ../yumcommands.py:222
 #, python-format
 msgid "File %s given as argument to shell does not exist."
-msgstr ""
-"Filen %s som ble gitt som argument til kommandoen shell eksisterer ikke."
+msgstr "Filen %s som ble gitt som argument til kommandoen shell eksisterer ikke."
 
-#: ../yumcommands.py:131
+#: ../yumcommands.py:228
 msgid "Error: more than one file given as argument to shell."
 msgstr "Feil: mer enn en fil ble gitt som argument til kommandoen shell."
 
-#: ../yumcommands.py:148
+#: ../yumcommands.py:247
 msgid ""
 "There are no enabled repos.\n"
 " Run \"yum repolist all\" to see the repos you have.\n"
 " You can enable repos with yum-config-manager --enable <repo>"
 msgstr ""
 
-#: ../yumcommands.py:200
+#: ../yumcommands.py:383
 msgid "PACKAGE..."
 msgstr "PAKKE..."
 
-#: ../yumcommands.py:203
+#: ../yumcommands.py:390
 msgid "Install a package or packages on your system"
 msgstr "Legg inn en eller flere pakker på systemet"
 
-#: ../yumcommands.py:212
+#: ../yumcommands.py:421
 msgid "Setting up Install Process"
 msgstr "Forberedelser for installasjon"
 
-#: ../yumcommands.py:223 ../yumcommands.py:245
+#: ../yumcommands.py:447 ../yumcommands.py:507
 msgid "[PACKAGE...]"
 msgstr "[PAKKE...]"
 
-#: ../yumcommands.py:226
+#: ../yumcommands.py:454
 msgid "Update a package or packages on your system"
 msgstr "Oppdater en eller flere pakker på systemet"
 
-#: ../yumcommands.py:234
+#: ../yumcommands.py:483
 msgid "Setting up Update Process"
 msgstr "Forberedelser for oppdatering"
 
-#: ../yumcommands.py:248
+#: ../yumcommands.py:514
 msgid "Synchronize installed packages to the latest available versions"
 msgstr ""
 
-#: ../yumcommands.py:256
+#: ../yumcommands.py:543
 msgid "Setting up Distribution Synchronization Process"
 msgstr ""
 
-#: ../yumcommands.py:299
+#: ../yumcommands.py:603
 msgid "Display details about a package or group of packages"
 msgstr "Viser detaljer om en pakke eller en gruppe av grupper"
 
-#: ../yumcommands.py:348
+#: ../yumcommands.py:672
 msgid "Installed Packages"
 msgstr "Pakker som er installert"
 
-#: ../yumcommands.py:356
+#: ../yumcommands.py:682
 msgid "Available Packages"
 msgstr "Tilgjengelige pakker"
 
-#: ../yumcommands.py:360
+#: ../yumcommands.py:687
 msgid "Extra Packages"
 msgstr "Tilleggspakker"
 
-#: ../yumcommands.py:364
+#: ../yumcommands.py:691
 msgid "Updated Packages"
 msgstr "Oppdaterte pakker"
 
 #. This only happens in verbose mode
-#: ../yumcommands.py:372 ../yumcommands.py:379 ../yumcommands.py:667
+#: ../yumcommands.py:699 ../yumcommands.py:706 ../yumcommands.py:1539
 msgid "Obsoleting Packages"
 msgstr "Utdaterte pakker"
 
-#: ../yumcommands.py:381
+#: ../yumcommands.py:708
 msgid "Recently Added Packages"
 msgstr "Pakker som nylig er lagt til"
 
-#: ../yumcommands.py:388
+#: ../yumcommands.py:715
 msgid "No matching Packages to list"
 msgstr "Ingen passende pakker å liste opp"
 
-#: ../yumcommands.py:402
+#: ../yumcommands.py:766
 msgid "List a package or groups of packages"
 msgstr "Lag en liste med pakker eller grupper av pakker"
 
-#: ../yumcommands.py:414
+#: ../yumcommands.py:797
 msgid "Remove a package or packages from your system"
 msgstr "Fjern en eller flere pakker fra systemet"
 
-#: ../yumcommands.py:421
+#: ../yumcommands.py:845
 msgid "Setting up Remove Process"
 msgstr "Klargjør for fjerning av pakker"
 
-#: ../yumcommands.py:435
+#: ../yumcommands.py:906
+msgid "Display, or use, the groups information"
+msgstr ""
+
+#: ../yumcommands.py:909
 msgid "Setting up Group Process"
 msgstr "Klargjør grupper med pakker"
 
-#: ../yumcommands.py:441
+#: ../yumcommands.py:915
 msgid "No Groups on which to run command"
 msgstr "Ingen gruppe er valgt for aktuell kommando"
 
-#: ../yumcommands.py:454
-msgid "List available package groups"
-msgstr "Lag liste over tilgjengelige pakkegrupper"
-
-#: ../yumcommands.py:474
-msgid "Install the packages in a group on your system"
-msgstr "Legger inn pakkene i en gruppe på systemet"
+#: ../yumcommands.py:985
+#, python-format
+msgid "Invalid groups sub-command, use: %s."
+msgstr ""
 
-#: ../yumcommands.py:497
-msgid "Remove the packages in a group from your system"
-msgstr "Fjern pakkene i en gruppe fra systemet"
+#: ../yumcommands.py:992
+msgid "There is no installed groups file."
+msgstr ""
 
-#: ../yumcommands.py:525
-msgid "Display details about a package group"
-msgstr "Viser detaljer om en gruppe av pakker"
+#: ../yumcommands.py:994
+msgid "You don't have access to the groups DB."
+msgstr ""
 
-#: ../yumcommands.py:550
+#: ../yumcommands.py:1256
 msgid "Generate the metadata cache"
 msgstr "Lag mellomlager med metadata"
 
-#: ../yumcommands.py:556
+#: ../yumcommands.py:1282
 msgid "Making cache files for all metadata files."
 msgstr "Lager mellomlager for samtlige filer med metadata."
 
-#: ../yumcommands.py:557
+#: ../yumcommands.py:1283
 msgid "This may take a while depending on the speed of this computer"
 msgstr "Dette kan en stund avhengig av hvor rask datamaskinen er"
 
-#: ../yumcommands.py:578
+#: ../yumcommands.py:1312
 msgid "Metadata Cache Created"
 msgstr "Mellomlager er ferdig lagd"
 
-#: ../yumcommands.py:592
+#: ../yumcommands.py:1350
 msgid "Remove cached data"
 msgstr "Fjern mellomlager med metadata"
 
-#: ../yumcommands.py:613
+#: ../yumcommands.py:1417
 msgid "Find what package provides the given value"
 msgstr "Finn hvilken pakke som inneholder etterspurt verdi"
 
-#: ../yumcommands.py:633
+#: ../yumcommands.py:1485
 msgid "Check for available package updates"
 msgstr "Se etter tilgjengelige pakkeoppdateringer"
 
-#: ../yumcommands.py:687
+#: ../yumcommands.py:1587
 msgid "Search package details for the given string"
 msgstr "Søker etter oppgitt streng i pakkedetaljene"
 
-#: ../yumcommands.py:693
+#: ../yumcommands.py:1613
 msgid "Searching Packages: "
 msgstr "Søker i pakker: "
 
-#: ../yumcommands.py:710
+#: ../yumcommands.py:1666
 msgid "Update packages taking obsoletes into account"
 msgstr "Oppdater pakker og ta hensyn til pakker som blir utdatert"
 
-#: ../yumcommands.py:719
+#: ../yumcommands.py:1696
 msgid "Setting up Upgrade Process"
 msgstr "Klargjør for oppdatering"
 
-#: ../yumcommands.py:737
+#: ../yumcommands.py:1731
 msgid "Install a local RPM"
 msgstr "Legger inn en RPM fra filsystemet"
 
-#: ../yumcommands.py:745
+#: ../yumcommands.py:1761
 msgid "Setting up Local Package Process"
 msgstr "Klargjøring for pakker på lokalt filsystem"
 
-#: ../yumcommands.py:764
-msgid "Determine which package provides the given dependency"
-msgstr "Finner hvilken pakke som tilbyr den gitte avhengigheten"
-
-#: ../yumcommands.py:767
+#: ../yumcommands.py:1825
 msgid "Searching Packages for Dependency:"
 msgstr "Søker i pakker etter avhengighet:"
 
-#: ../yumcommands.py:781
+#: ../yumcommands.py:1867
 msgid "Run an interactive yum shell"
 msgstr "Kjører det interaktive Yum-skallet"
 
-#: ../yumcommands.py:787
+#: ../yumcommands.py:1893
 msgid "Setting up Yum Shell"
 msgstr "Klargjør Yum-skallet"
 
-#: ../yumcommands.py:805
+#: ../yumcommands.py:1936
 msgid "List a package's dependencies"
 msgstr "Vis avhengigheter for en pakke"
 
-#: ../yumcommands.py:811
+#: ../yumcommands.py:1963
 msgid "Finding dependencies: "
 msgstr "Finner avhengigheter: "
 
-#: ../yumcommands.py:827
+#: ../yumcommands.py:2005
 msgid "Display the configured software repositories"
 msgstr "Viser de pakkeoversiktene som er satt opp"
 
-#: ../yumcommands.py:893 ../yumcommands.py:894
+#: ../yumcommands.py:2094 ../yumcommands.py:2095
 msgid "enabled"
 msgstr "aktiv"
 
-#: ../yumcommands.py:920 ../yumcommands.py:921
+#: ../yumcommands.py:2121 ../yumcommands.py:2122
 msgid "disabled"
 msgstr "inaktiv"
 
-#: ../yumcommands.py:937
+#: ../yumcommands.py:2137
 msgid "Repo-id      : "
 msgstr ""
 
-#: ../yumcommands.py:938
+#: ../yumcommands.py:2138
 msgid "Repo-name    : "
 msgstr ""
 
-#: ../yumcommands.py:941
+#: ../yumcommands.py:2141
 msgid "Repo-status  : "
 msgstr ""
 
-#: ../yumcommands.py:944
+#: ../yumcommands.py:2144
 msgid "Repo-revision: "
 msgstr "Arkivrevisjon: "
 
-#: ../yumcommands.py:948
+#: ../yumcommands.py:2148
 msgid "Repo-tags    : "
 msgstr ""
 
-#: ../yumcommands.py:954
+#: ../yumcommands.py:2154
 msgid "Repo-distro-tags: "
 msgstr "Arkivdistribusjonsmerkelapper:"
 
-#: ../yumcommands.py:959
+#: ../yumcommands.py:2159
 msgid "Repo-updated : "
 msgstr ""
 
-#: ../yumcommands.py:961
+#: ../yumcommands.py:2161
 msgid "Repo-pkgs    : "
 msgstr ""
 
-#: ../yumcommands.py:962
+#: ../yumcommands.py:2162
 msgid "Repo-size    : "
 msgstr ""
 
-#: ../yumcommands.py:969 ../yumcommands.py:990
+#: ../yumcommands.py:2169 ../yumcommands.py:2190
 msgid "Repo-baseurl : "
 msgstr ""
 
-#: ../yumcommands.py:977
+#: ../yumcommands.py:2177
 msgid "Repo-metalink: "
 msgstr "Arkivmetalink: "
 
-#: ../yumcommands.py:981
+#: ../yumcommands.py:2181
 msgid "  Updated    : "
 msgstr "  Oppdatert    : "
 
-#: ../yumcommands.py:984
+#: ../yumcommands.py:2184
 msgid "Repo-mirrors : "
 msgstr ""
 
-#: ../yumcommands.py:1000
+#: ../yumcommands.py:2199
 #, python-format
 msgid "Never (last: %s)"
 msgstr ""
 
-#: ../yumcommands.py:1002
+#: ../yumcommands.py:2201
 #, python-format
 msgid "Instant (last: %s)"
 msgstr ""
 
-#: ../yumcommands.py:1005
+#: ../yumcommands.py:2204
 #, python-format
 msgid "%s second(s) (last: %s)"
 msgstr ""
 
-#: ../yumcommands.py:1007
+#: ../yumcommands.py:2206
 msgid "Repo-expire  : "
 msgstr ""
 
-#: ../yumcommands.py:1010
+#: ../yumcommands.py:2209
 msgid "Repo-exclude : "
 msgstr ""
 
-#: ../yumcommands.py:1014
+#: ../yumcommands.py:2213
 msgid "Repo-include : "
 msgstr ""
 
-#: ../yumcommands.py:1018
+#: ../yumcommands.py:2217
 msgid "Repo-excluded: "
 msgstr ""
 
-#: ../yumcommands.py:1022
+#: ../yumcommands.py:2221
 msgid "Repo-filename: "
 msgstr ""
 
 #. Work out the first (id) and last (enabled/disalbed/count),
 #. then chop the middle (name)...
-#: ../yumcommands.py:1032 ../yumcommands.py:1061
+#: ../yumcommands.py:2230 ../yumcommands.py:2259
 msgid "repo id"
 msgstr "arkiv id"
 
-#: ../yumcommands.py:1049 ../yumcommands.py:1050 ../yumcommands.py:1068
+#: ../yumcommands.py:2247 ../yumcommands.py:2248 ../yumcommands.py:2266
 msgid "status"
 msgstr "status"
 
-#: ../yumcommands.py:1062
+#: ../yumcommands.py:2260
 msgid "repo name"
 msgstr "arkiv navn"
 
-#: ../yumcommands.py:1099
+#: ../yumcommands.py:2332
 msgid "Display a helpful usage message"
 msgstr "Viser en hjelpetekst"
 
-#: ../yumcommands.py:1133
+#: ../yumcommands.py:2374
 #, python-format
 msgid "No help available for %s"
 msgstr "Ingen hjelp er tilgjengelig for %s"
 
-#: ../yumcommands.py:1138
+#: ../yumcommands.py:2379
 msgid ""
 "\n"
 "\n"
 "aliases: "
-msgstr ""
-"\n"
-"\n"
-"alias:"
+msgstr "\n\nalias:"
 
-#: ../yumcommands.py:1140
+#: ../yumcommands.py:2381
 msgid ""
 "\n"
 "\n"
 "alias: "
-msgstr ""
-"\n"
-"\n"
-"alias:"
+msgstr "\n\nalias:"
 
-#: ../yumcommands.py:1168
+#: ../yumcommands.py:2466
 msgid "Setting up Reinstall Process"
 msgstr "Klargjør for å legge inn pakke(r) på nytt"
 
-#: ../yumcommands.py:1176
+#: ../yumcommands.py:2478
 msgid "reinstall a package"
 msgstr "ominstaller en pakke "
 
-#: ../yumcommands.py:1195
+#: ../yumcommands.py:2541
 msgid "Setting up Downgrade Process"
 msgstr "Klargjør for oppdatering"
 
-#: ../yumcommands.py:1202
+#: ../yumcommands.py:2552
 msgid "downgrade a package"
 msgstr "nedgrader en pakke"
 
-#: ../yumcommands.py:1216
+#: ../yumcommands.py:2591
 msgid "Display a version for the machine and/or available repos."
 msgstr "Vi sen versjon for maskinen og/eller tilgjengelige arkiver"
 
-#: ../yumcommands.py:1255
+#: ../yumcommands.py:2643
 msgid " Yum version groups:"
 msgstr ""
 
-#: ../yumcommands.py:1265
+#: ../yumcommands.py:2653
 msgid " Group   :"
 msgstr ""
 
-#: ../yumcommands.py:1266
+#: ../yumcommands.py:2654
 msgid " Packages:"
 msgstr ""
 
-#: ../yumcommands.py:1295
+#: ../yumcommands.py:2683
 msgid "Installed:"
 msgstr "Installert:"
 
-#: ../yumcommands.py:1303
+#: ../yumcommands.py:2691
 msgid "Group-Installed:"
 msgstr ""
 
-#: ../yumcommands.py:1312
+#: ../yumcommands.py:2700
 msgid "Available:"
 msgstr "Tilgjengelig:"
 
-#: ../yumcommands.py:1321
+#: ../yumcommands.py:2709
 msgid "Group-Available:"
 msgstr ""
 
-#: ../yumcommands.py:1360
+#: ../yumcommands.py:2783
 msgid "Display, or use, the transaction history"
 msgstr ""
 
-#: ../yumcommands.py:1432
+#: ../yumcommands.py:2876 ../yumcommands.py:2880
+msgid "Transactions:"
+msgstr ""
+
+#: ../yumcommands.py:2881
+msgid "Begin time  :"
+msgstr ""
+
+#: ../yumcommands.py:2882
+msgid "End time    :"
+msgstr ""
+
+#: ../yumcommands.py:2883
+msgid "Counts      :"
+msgstr ""
+
+#: ../yumcommands.py:2884
+msgid "  NEVRAC :"
+msgstr ""
+
+#: ../yumcommands.py:2885
+msgid "  NEVRA  :"
+msgstr ""
+
+#: ../yumcommands.py:2886
+msgid "  NA     :"
+msgstr ""
+
+#: ../yumcommands.py:2887
+msgid "  NEVR   :"
+msgstr ""
+
+#: ../yumcommands.py:2888
+msgid "  rpm DB :"
+msgstr ""
+
+#: ../yumcommands.py:2889
+msgid "  yum DB :"
+msgstr ""
+
+#: ../yumcommands.py:2922
 #, python-format
 msgid "Invalid history sub-command, use: %s."
 msgstr ""
 
-#: ../yumcommands.py:1439
+#: ../yumcommands.py:2929
 msgid "You don't have access to the history DB."
 msgstr ""
 
-#: ../yumcommands.py:1487
+#: ../yumcommands.py:3036
 msgid "Check for problems in the rpmdb"
 msgstr ""
 
-#: ../yumcommands.py:1514
+#: ../yumcommands.py:3102
 msgid "load a saved transaction from filename"
 msgstr ""
 
-#: ../yumcommands.py:1518
+#: ../yumcommands.py:3119
 msgid "No saved transaction file specified."
 msgstr ""
 
-#: ../yumcommands.py:1522
+#: ../yumcommands.py:3123
 #, python-format
 msgid "loading transaction from %s"
 msgstr ""
 
-#: ../yumcommands.py:1528
+#: ../yumcommands.py:3129
 #, python-format
 msgid "Transaction loaded from %s with %s members"
 msgstr ""
 
+#: ../yumcommands.py:3169
+msgid "Simple way to swap packages, isntead of using shell"
+msgstr ""
+
+#: ../yumcommands.py:3264
+msgid ""
+"Treat a repo. as a group of packages, so we can install/remove all of them"
+msgstr ""
+
+#: ../yumcommands.py:3341
+#, python-format
+msgid "%d package to update"
+msgid_plural "%d packages to update"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../yumcommands.py:3370
+#, python-format
+msgid "%d package to remove/reinstall"
+msgid_plural "%d packages to remove/reinstall"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../yumcommands.py:3413
+#, python-format
+msgid "%d package to remove/sync"
+msgid_plural "%d packages to remove/sync"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../yumcommands.py:3417
+#, python-format
+msgid "Not a valid sub-command of %s"
+msgstr ""
+
 #. This is mainly for PackageSackError from rpmdb.
 #: ../yummain.py:84
 #, python-format
 msgid " Yum checks failed: %s"
 msgstr ""
 
-#: ../yummain.py:114
-msgid ""
-"Another app is currently holding the yum lock; waiting for it to exit..."
+#: ../yummain.py:98
+msgid "No read/execute access in current directory, moving to /"
 msgstr ""
-"Et annet program holder en fillås for Yum, venter til fillåsen frigjøres..."
 
-#: ../yummain.py:120
-msgid "Can't create lock file; exiting"
+#: ../yummain.py:106
+msgid "No getcwd() access in current directory, moving to /"
 msgstr ""
 
 #. Depsolve stage
-#: ../yummain.py:167
+#: ../yummain.py:164
 msgid "Resolving Dependencies"
 msgstr "Løser avhengigheter"
 
-#: ../yummain.py:230
+#: ../yummain.py:227 ../yummain.py:235
 #, python-format
-msgid "Your transaction was saved, rerun it with: yum load-transaction %s"
+msgid ""
+"Your transaction was saved, rerun it with:\n"
+" yum load-transaction %s"
 msgstr ""
 
-#: ../yummain.py:288
+#: ../yummain.py:312
 msgid ""
 "\n"
 "\n"
 "Exiting on user cancel."
-msgstr ""
-"\n"
-"\n"
-"Avslutter etter ønske"
+msgstr "\n\nAvslutter etter ønske"
 
-#: ../yum/depsolve.py:84
+#: ../yum/depsolve.py:127
 msgid "doTsSetup() will go away in a future version of Yum.\n"
 msgstr "doTsSetup() vil forsvinne i en kommende utgave av Yum.\n"
 
-#: ../yum/depsolve.py:99
+#: ../yum/depsolve.py:143
 msgid "Setting up TransactionSets before config class is up"
 msgstr "Setter opp transaksjons-sett før config klassen er klar"
 
-#: ../yum/depsolve.py:153
+#: ../yum/depsolve.py:200
 #, python-format
 msgid "Invalid tsflag in config file: %s"
 msgstr "Ugyldig tsflag in konfigurasjonsfil: %s"
 
-#: ../yum/depsolve.py:164
+#: ../yum/depsolve.py:218
 #, python-format
 msgid "Searching pkgSack for dep: %s"
 msgstr "Søker i pkgSack etter avhengighet: %s"
 
-#: ../yum/depsolve.py:207
+#: ../yum/depsolve.py:269
 #, python-format
 msgid "Member: %s"
 msgstr "Medlem: %s"
 
-#: ../yum/depsolve.py:221 ../yum/depsolve.py:793
+#: ../yum/depsolve.py:283 ../yum/depsolve.py:937
 #, python-format
 msgid "%s converted to install"
 msgstr "%s ble omdannet til installering"
 
-#: ../yum/depsolve.py:233
+#: ../yum/depsolve.py:295
 #, python-format
 msgid "Adding Package %s in mode %s"
 msgstr "Legger til pakke %s in modus %s"
 
-#: ../yum/depsolve.py:249
+#: ../yum/depsolve.py:311
 #, python-format
 msgid "Removing Package %s"
 msgstr "Fjerner pakke %s"
 
-#: ../yum/depsolve.py:271
+#: ../yum/depsolve.py:333
 #, python-format
 msgid "%s requires: %s"
 msgstr "%s krever: %s"
 
-#: ../yum/depsolve.py:312
+#: ../yum/depsolve.py:374
 #, python-format
 msgid "%s requires %s"
 msgstr ""
 
-#: ../yum/depsolve.py:339
+#: ../yum/depsolve.py:401
 msgid "Needed Require has already been looked up, cheating"
 msgstr "Nødvendig avhengighet har allerede blitt plukket opp, jukser"
 
-#: ../yum/depsolve.py:349
+#: ../yum/depsolve.py:411
 #, python-format
 msgid "Needed Require is not a package name. Looking up: %s"
 msgstr "Nødvendig avhengighet er ikke et navn på pakke. Ser etter: %s"
 
-#: ../yum/depsolve.py:357
+#: ../yum/depsolve.py:419
 #, python-format
 msgid "Potential Provider: %s"
 msgstr "Potensiell tilbyder: %s"
 
-#: ../yum/depsolve.py:380
+#: ../yum/depsolve.py:442
 #, python-format
 msgid "Mode is %s for provider of %s: %s"
 msgstr "Modus er %s for tilbyder av %s: %s"
 
-#: ../yum/depsolve.py:384
+#: ../yum/depsolve.py:446
 #, python-format
 msgid "Mode for pkg providing %s: %s"
 msgstr "Modus for pakke som tilbyr %s: %s"
@@ -2094,1016 +2316,1140 @@ msgstr "Modus for pakke som tilbyr %s: %s"
 #. the thing it needs is being updated or obsoleted away
 #. try to update the requiring package in hopes that all this problem goes
 #. away :(
-#: ../yum/depsolve.py:389 ../yum/depsolve.py:406
+#: ../yum/depsolve.py:451 ../yum/depsolve.py:486
 #, python-format
 msgid "Trying to update %s to resolve dep"
 msgstr ""
 
-#: ../yum/depsolve.py:400 ../yum/depsolve.py:410
+#: ../yum/depsolve.py:480
 #, python-format
 msgid "No update paths found for %s. Failure!"
 msgstr ""
 
-#: ../yum/depsolve.py:416
+#: ../yum/depsolve.py:491
+#, python-format
+msgid "No update paths found for %s. Failure due to requirement: %s!"
+msgstr ""
+
+#: ../yum/depsolve.py:507
+#, python-format
+msgid "Update for %s. Doesn't fix requirement: %s!"
+msgstr ""
+
+#: ../yum/depsolve.py:514
 #, python-format
 msgid "TSINFO: %s package requiring %s marked as erase"
 msgstr "TSINFO: pakke %s som er nødvendig for %s vil bli fjernet"
 
-#: ../yum/depsolve.py:429
+#: ../yum/depsolve.py:527
 #, python-format
 msgid "TSINFO: Obsoleting %s with %s to resolve dep."
 msgstr "TSINFO: Bytter ut %s med %s for å løse opp i avhengighet."
 
-#: ../yum/depsolve.py:432
+#: ../yum/depsolve.py:530
 #, python-format
 msgid "TSINFO: Updating %s to resolve dep."
 msgstr "TSINFO: Oppdaterer %s for å løse opp i avhengighet."
 
-#: ../yum/depsolve.py:440
+#: ../yum/depsolve.py:538
 #, python-format
 msgid "Cannot find an update path for dep for: %s"
 msgstr "Kunne ikke finne måte å oppdatere sti for avhengighet: %s."
 
-#: ../yum/depsolve.py:471
+#: ../yum/depsolve.py:569
 #, python-format
 msgid "Quick matched %s to require for %s"
 msgstr "Hurtigpasset %s for å tilfredstille %s"
 
 #. is it already installed?
-#: ../yum/depsolve.py:513
+#: ../yum/depsolve.py:611
 #, python-format
 msgid "%s is in providing packages but it is already installed, removing."
 msgstr "%s tilbyr pakker, men er allerede installert, fjerner denne."
 
-#: ../yum/depsolve.py:529
+#: ../yum/depsolve.py:627
 #, python-format
 msgid "Potential resolving package %s has newer instance in ts."
-msgstr ""
-"Pakke %s som potensielt løser opp avhengighet har nyere instans in ts."
+msgstr "Pakke %s som potensielt løser opp avhengighet har nyere instans in ts."
 
-#: ../yum/depsolve.py:540
+#: ../yum/depsolve.py:638
 #, python-format
 msgid "Potential resolving package %s has newer instance installed."
 msgstr "Pakke %s som potensielt løser opp avhengighet er allerde installert."
 
-#: ../yum/depsolve.py:558
+#: ../yum/depsolve.py:656
 #, python-format
 msgid "%s already in ts, skipping this one"
 msgstr "%s er allerde i ts, hopper over denne"
 
-#: ../yum/depsolve.py:607
+#: ../yum/depsolve.py:705
 #, python-format
 msgid "TSINFO: Marking %s as update for %s"
 msgstr "TSINFO: Setter opp %s som oppdatering av %s"
 
-#: ../yum/depsolve.py:616
+#: ../yum/depsolve.py:714
 #, python-format
 msgid "TSINFO: Marking %s as install for %s"
 msgstr "TSINFO: Setter opp %s som pakke for installering av %s"
 
-#: ../yum/depsolve.py:727 ../yum/depsolve.py:819
+#: ../yum/depsolve.py:849 ../yum/depsolve.py:967
 msgid "Success - empty transaction"
 msgstr "Suksess - transaksjonen er tom"
 
-#: ../yum/depsolve.py:767 ../yum/depsolve.py:783
+#: ../yum/depsolve.py:889 ../yum/depsolve.py:927
 msgid "Restarting Loop"
 msgstr "Starter sløyfe på nytt"
 
-#: ../yum/depsolve.py:799
+#: ../yum/depsolve.py:947
 msgid "Dependency Process ending"
 msgstr "Beregning av avhengighet avsluttes"
 
-#: ../yum/depsolve.py:821
+#: ../yum/depsolve.py:969
 msgid "Success - deps resolved"
 msgstr "Suksess - alle avhengigheter er tilfredstilt"
 
-#: ../yum/depsolve.py:845
+#: ../yum/depsolve.py:993
 #, python-format
 msgid "Checking deps for %s"
 msgstr "Sjekker avhengigheter for %s"
 
-#: ../yum/depsolve.py:931
+#: ../yum/depsolve.py:1082
 #, python-format
 msgid "looking for %s as a requirement of %s"
 msgstr "leter etter %s som kreves av %s"
 
-#: ../yum/depsolve.py:1169
+#: ../yum/depsolve.py:1349
 #, python-format
 msgid "Running compare_providers() for %s"
 msgstr "Kjører compare_providers() for %s"
 
-#: ../yum/depsolve.py:1196 ../yum/depsolve.py:1202
+#: ../yum/depsolve.py:1376 ../yum/depsolve.py:1382
 #, python-format
 msgid "better arch in po %s"
 msgstr "bedre arch i po %s"
 
-#: ../yum/depsolve.py:1298
+#: ../yum/depsolve.py:1496
 #, python-format
 msgid "%s obsoletes %s"
 msgstr "%s faser ut %s"
 
-#: ../yum/depsolve.py:1310
+#: ../yum/depsolve.py:1508
 #, python-format
 msgid ""
 "archdist compared %s to %s on %s\n"
 "  Winner: %s"
-msgstr ""
-"archdist sammenlignet %s med %s på %s\n"
-" Vinner: %s"
+msgstr "archdist sammenlignet %s med %s på %s\n Vinner: %s"
 
-#: ../yum/depsolve.py:1318
+#: ../yum/depsolve.py:1516
 #, python-format
 msgid "common sourcerpm %s and %s"
 msgstr "felles kilderpm %s og %s"
 
-#: ../yum/depsolve.py:1322
+#: ../yum/depsolve.py:1520
 #, python-format
 msgid "base package %s is installed for %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1328
+#: ../yum/depsolve.py:1526
 #, python-format
 msgid "common prefix of %s between %s and %s"
 msgstr "felles prefiks fra %s mellom %s og %s"
 
-#: ../yum/depsolve.py:1359
+#: ../yum/depsolve.py:1543
 #, python-format
-msgid "requires minimal: %d"
+msgid "provides vercmp: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1363
+#: ../yum/depsolve.py:1547 ../yum/depsolve.py:1581
 #, python-format
 msgid " Winner: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1368
+#: ../yum/depsolve.py:1577
+#, python-format
+msgid "requires minimal: %d"
+msgstr ""
+
+#: ../yum/depsolve.py:1586
 #, python-format
 msgid " Loser(with %d): %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1384
+#: ../yum/depsolve.py:1602
 #, python-format
 msgid "Best Order: %s"
 msgstr "Beste rekkefølge: %s"
 
-#: ../yum/__init__.py:234
+#: ../yum/__init__.py:274
 msgid "doConfigSetup() will go away in a future version of Yum.\n"
 msgstr "doConfigSetup() vil forsvinne i en kommende utgave av Yum.\n"
 
-#: ../yum/__init__.py:482
+#: ../yum/__init__.py:553
+#, python-format
+msgid "Skipping unreadable repository %s"
+msgstr ""
+
+#: ../yum/__init__.py:572
 #, python-format
 msgid "Repository %r: Error parsing config: %s"
 msgstr ""
 
-#: ../yum/__init__.py:488
+#: ../yum/__init__.py:578
 #, python-format
 msgid "Repository %r is missing name in configuration, using id"
 msgstr "Pakkelager %r mangler navn i konfigurasjonsfilen(e), bruker id"
 
-#: ../yum/__init__.py:526
+#: ../yum/__init__.py:618
 msgid "plugins already initialised"
 msgstr "tillegg til yum er allerede initiert"
 
-#: ../yum/__init__.py:533
+#: ../yum/__init__.py:627
 msgid "doRpmDBSetup() will go away in a future version of Yum.\n"
 msgstr "doRepoSetup() vil forsvinne i en kommende utgave av Yum.\n"
 
-#: ../yum/__init__.py:544
+#: ../yum/__init__.py:638
 msgid "Reading Local RPMDB"
 msgstr "Leser inn lokal RPM-database"
 
-#: ../yum/__init__.py:567
+#: ../yum/__init__.py:668
 msgid "doRepoSetup() will go away in a future version of Yum.\n"
 msgstr "doRepoSetup() vil forsvinne i en kommende utgave av Yum\n"
 
-#: ../yum/__init__.py:630
+#: ../yum/__init__.py:722
 msgid "doSackSetup() will go away in a future version of Yum.\n"
 msgstr "doSackSetup() vil forsvinne i en kommende utgave av Yum\n"
 
-#: ../yum/__init__.py:660
+#: ../yum/__init__.py:752
 msgid "Setting up Package Sacks"
 msgstr "Lager sekker med pakker"
 
-#: ../yum/__init__.py:705
+#: ../yum/__init__.py:797
 #, python-format
 msgid "repo object for repo %s lacks a _resetSack method\n"
 msgstr "objekt for pakkelager %s mangler metoden _resetSack\n"
 
-#: ../yum/__init__.py:706
+#: ../yum/__init__.py:798
 msgid "therefore this repo cannot be reset.\n"
 msgstr "derfor kan ikke denne pakkeoversikten nullstilles\n"
 
-#: ../yum/__init__.py:711
+#: ../yum/__init__.py:806
 msgid "doUpdateSetup() will go away in a future version of Yum.\n"
 msgstr "doUpdateSetup() vil forsvinne i en kommende utgave av Yum.\n"
 
-#: ../yum/__init__.py:723
+#: ../yum/__init__.py:818
 msgid "Building updates object"
 msgstr "Bygger opp oppdateringsobjekt"
 
-#: ../yum/__init__.py:765
+#: ../yum/__init__.py:862
 msgid "doGroupSetup() will go away in a future version of Yum.\n"
 msgstr "doGroupSetup() vil forsvinne i en kommende utgave av Yum.\n"
 
-#: ../yum/__init__.py:790
+#: ../yum/__init__.py:887
 msgid "Getting group metadata"
 msgstr "Henter metadata for grupper"
 
-#: ../yum/__init__.py:816
+#: ../yum/__init__.py:915
 #, python-format
 msgid "Adding group file from repository: %s"
 msgstr "Legger til gruppefil fra pakkeoversikt: %s"
 
-#: ../yum/__init__.py:827
+#: ../yum/__init__.py:918
+#, python-format
+msgid "Failed to retrieve group file for repository: %s"
+msgstr ""
+
+#: ../yum/__init__.py:924
 #, python-format
 msgid "Failed to add groups file for repository: %s - %s"
 msgstr "Kunne ikke legge til gruppefil for pakkeoversikt: %s - %s"
 
-#: ../yum/__init__.py:833
+#: ../yum/__init__.py:930
 msgid "No Groups Available in any repository"
 msgstr "Ingen grupper tilgjengelig fra noen lagre"
 
-#: ../yum/__init__.py:845
+#: ../yum/__init__.py:945
 msgid "Getting pkgtags metadata"
 msgstr ""
 
-#: ../yum/__init__.py:855
+#: ../yum/__init__.py:955
 #, python-format
 msgid "Adding tags from repository: %s"
 msgstr ""
 
-#: ../yum/__init__.py:866
+#: ../yum/__init__.py:966
 #, python-format
 msgid "Failed to add Pkg Tags for repository: %s - %s"
 msgstr ""
 
-#: ../yum/__init__.py:944
+#: ../yum/__init__.py:1059
 msgid "Importing additional filelist information"
 msgstr "Henter mer informasjon om fil-lister"
 
-#: ../yum/__init__.py:958
+#: ../yum/__init__.py:1077
 #, python-format
 msgid "The program %s%s%s is found in the yum-utils package."
 msgstr "Programmet %s%s%s er funnet i yum-utils pakken."
 
-#: ../yum/__init__.py:966
+#: ../yum/__init__.py:1094
 msgid ""
 "There are unfinished transactions remaining. You might consider running yum-"
 "complete-transaction first to finish them."
-msgstr ""
-"Det er uferdige transaksjoner igjen. Du vil kanskje vurdere å kjøre yum-"
-"complete-transaction først for å gjøre dem ferdig."
+msgstr "Det er uferdige transaksjoner igjen. Du vil kanskje vurdere å kjøre yum-complete-transaction først for å gjøre dem ferdig."
 
-#: ../yum/__init__.py:983
+#: ../yum/__init__.py:1111
 msgid "--> Finding unneeded leftover dependencies"
 msgstr ""
 
-#: ../yum/__init__.py:1041
+#: ../yum/__init__.py:1169
 #, python-format
 msgid "Protected multilib versions: %s != %s"
 msgstr ""
 
-#: ../yum/__init__.py:1096
+#. People are confused about protected mutilib ... so give
+#. them a nicer message.
+#: ../yum/__init__.py:1173
+#, python-format
+msgid ""
+" Multilib version problems found. This often means that the root\n"
+"cause is something else and multilib version checking is just\n"
+"pointing out that there is a problem. Eg.:\n"
+"\n"
+"  1. You have an upgrade for %(name)s which is missing some\n"
+"     dependency that another package requires. Yum is trying to\n"
+"     solve this by installing an older version of %(name)s of the\n"
+"     different architecture. If you exclude the bad architecture\n"
+"     yum will tell you what the root cause is (which package\n"
+"     requires what). You can try redoing the upgrade with\n"
+"     --exclude %(name)s.otherarch ... this should give you an error\n"
+"     message showing the root cause of the problem.\n"
+"\n"
+"  2. You have multiple architectures of %(name)s installed, but\n"
+"     yum can only see an upgrade for one of those arcitectures.\n"
+"     If you don't want/need both architectures anymore then you\n"
+"     can remove the one with the missing update and everything\n"
+"     will work.\n"
+"\n"
+"  3. You have duplicate versions of %(name)s installed already.\n"
+"     You can use \"yum check\" to get yum show these errors.\n"
+"\n"
+"...you can also use --setopt=protected_multilib=false to remove\n"
+"this checking, however this is almost never the correct thing to\n"
+"do as something else is very likely to go wrong (often causing\n"
+"much more problems).\n"
+"\n"
+msgstr ""
+
+#: ../yum/__init__.py:1257
 #, python-format
 msgid "Trying to remove \"%s\", which is protected"
 msgstr ""
 
-#: ../yum/__init__.py:1217
+#: ../yum/__init__.py:1378
 msgid ""
 "\n"
 "Packages skipped because of dependency problems:"
-msgstr ""
-"\n"
-"Pakker som ble oversett på grunn av problemer med avhengigheter:"
+msgstr "\nPakker som ble oversett på grunn av problemer med avhengigheter:"
 
-#: ../yum/__init__.py:1221
+#: ../yum/__init__.py:1382
 #, python-format
 msgid "    %s from %s"
 msgstr "    %s fra %s"
 
 #. FIXME: _N()
-#: ../yum/__init__.py:1391
+#: ../yum/__init__.py:1556
 #, python-format
 msgid "** Found %d pre-existing rpmdb problem(s), 'yum check' output follows:"
 msgstr ""
 
-#: ../yum/__init__.py:1395
+#: ../yum/__init__.py:1560
 msgid "Warning: RPMDB altered outside of yum."
 msgstr ""
 
-#: ../yum/__init__.py:1407
+#: ../yum/__init__.py:1572
 msgid "missing requires"
 msgstr ""
 
-#: ../yum/__init__.py:1408
+#: ../yum/__init__.py:1573
 msgid "installed conflict"
 msgstr ""
 
-#: ../yum/__init__.py:1525
+#: ../yum/__init__.py:1709
 msgid ""
 "Warning: scriptlet or other non-fatal errors occurred during transaction."
-msgstr ""
-"Advarsel: et scriptlet eller andre ikkekritiske feil oppstod under "
-"transaksjonen."
+msgstr "Advarsel: et scriptlet eller andre ikkekritiske feil oppstod under transaksjonen."
 
-#: ../yum/__init__.py:1535
+#: ../yum/__init__.py:1719
 msgid "Transaction couldn't start:"
 msgstr ""
 
 #. should this be 'to_unicoded'?
-#: ../yum/__init__.py:1538
+#: ../yum/__init__.py:1722
 msgid "Could not run transaction."
 msgstr ""
 
-#: ../yum/__init__.py:1552
+#: ../yum/__init__.py:1736
 #, python-format
 msgid "Failed to remove transaction file %s"
 msgstr "Kunne ikke fjerne transaksjonsfil %s"
 
 #. maybe a file log here, too
 #. but raising an exception is not going to do any good
-#: ../yum/__init__.py:1590
+#: ../yum/__init__.py:1792
 #, python-format
 msgid "%s was supposed to be installed but is not!"
 msgstr "%s var ment til å bli installert men er ikke!"
 
 #. maybe a file log here, too
 #. but raising an exception is not going to do any good
-#: ../yum/__init__.py:1651
+#. Note: This actually triggers atm. because we can't
+#. always find the erased txmbr to set it when
+#. we should.
+#: ../yum/__init__.py:1869
 #, python-format
 msgid "%s was supposed to be removed but is not!"
 msgstr "%s var ment til å bli fjernet men er ikke!"
 
-#: ../yum/__init__.py:1768
-#, python-format
-msgid "Could not open lock %s: %s"
-msgstr ""
-
-#. Whoa. What the heck happened?
-#: ../yum/__init__.py:1785
-#, python-format
-msgid "Unable to check if PID %s is active"
-msgstr "Kunne ikke sjekke om PID %s er aktiv"
-
 #. Another copy seems to be running.
-#: ../yum/__init__.py:1789
+#: ../yum/__init__.py:2004
 #, python-format
 msgid "Existing lock %s: another copy is running as pid %s."
 msgstr "Det fins allerede en låsfil %s: en annen Yum kjører med PID %s."
 
 #. Whoa. What the heck happened?
-#: ../yum/__init__.py:1830
+#: ../yum/__init__.py:2053
 #, python-format
 msgid "Could not create lock at %s: %s "
 msgstr ""
 
-#: ../yum/__init__.py:1875
+#: ../yum/__init__.py:2065
+#, python-format
+msgid "Could not open lock %s: %s"
+msgstr ""
+
+#. The pid doesn't exist
+#. Whoa. What the heck happened?
+#: ../yum/__init__.py:2082
+#, python-format
+msgid "Unable to check if PID %s is active"
+msgstr "Kunne ikke sjekke om PID %s er aktiv"
+
+#: ../yum/__init__.py:2132
 #, python-format
 msgid ""
 "Package does not match intended download. Suggestion: run yum "
 "--enablerepo=%s clean metadata"
 msgstr ""
 
-#: ../yum/__init__.py:1891
+#: ../yum/__init__.py:2155
 msgid "Could not perform checksum"
 msgstr "Kunne ikke beregne sjekksum"
 
-#: ../yum/__init__.py:1894
+#: ../yum/__init__.py:2158
 msgid "Package does not match checksum"
 msgstr "Pakken har ikke korrekt sjekksum"
 
-#: ../yum/__init__.py:1946
+#: ../yum/__init__.py:2222
 #, python-format
 msgid "package fails checksum but caching is enabled for %s"
 msgstr "sjekksummen til pakken er feil, men mellomlagring er satt på for %s"
 
-#: ../yum/__init__.py:1949 ../yum/__init__.py:1979
+#: ../yum/__init__.py:2225 ../yum/__init__.py:2268
 #, python-format
 msgid "using local copy of %s"
 msgstr "bruker lokal kopi av %s"
 
-#: ../yum/__init__.py:1991
-#, python-format
-msgid ""
-"Insufficient space in download directory %s\n"
-"    * free   %s\n"
-"    * needed %s"
+#. caller handles errors
+#: ../yum/__init__.py:2342
+msgid "exiting because --downloadonly specified"
 msgstr ""
-"Det er ikke nok ledig plass i nedlastingskatalogen %s\n"
-"    * ledig   %s \n"
-"    * trenger %s"
 
-#: ../yum/__init__.py:2052
+#: ../yum/__init__.py:2371
 msgid "Header is not complete."
 msgstr "Filhode er ikke fullstendig."
 
-#: ../yum/__init__.py:2089
+#: ../yum/__init__.py:2411
 #, python-format
 msgid ""
 "Header not in local cache and caching-only mode enabled. Cannot download %s"
-msgstr ""
-"Filhode er ikke tilgjengelig lokalt og mellomlager-modus er aktivert Kan "
-"ikke hente ned %s"
+msgstr "Filhode er ikke tilgjengelig lokalt og mellomlager-modus er aktivert Kan ikke hente ned %s"
 
-#: ../yum/__init__.py:2147
+#: ../yum/__init__.py:2471
 #, python-format
 msgid "Public key for %s is not installed"
 msgstr "Offentlig nøkkel for %s er ikke lagt inn"
 
-#: ../yum/__init__.py:2151
+#: ../yum/__init__.py:2475
 #, python-format
 msgid "Problem opening package %s"
 msgstr "Problem ved åpning av pakke %s"
 
-#: ../yum/__init__.py:2159
+#: ../yum/__init__.py:2483
 #, python-format
 msgid "Public key for %s is not trusted"
 msgstr "Offentlig nøkkel %s er ikke til å stole på"
 
-#: ../yum/__init__.py:2163
+#: ../yum/__init__.py:2487
 #, python-format
 msgid "Package %s is not signed"
 msgstr "Pakken %s er ikke signert"
 
-#: ../yum/__init__.py:2202
+#: ../yum/__init__.py:2529
 #, python-format
 msgid "Cannot remove %s"
 msgstr "Kan ikke fjerne %s"
 
-#: ../yum/__init__.py:2206
+#: ../yum/__init__.py:2533
 #, python-format
 msgid "%s removed"
 msgstr "%s fjernet"
 
-#: ../yum/__init__.py:2252
+#: ../yum/__init__.py:2594
 #, python-format
 msgid "Cannot remove %s file %s"
 msgstr "Kan ikke fjerne %s fra fil %s"
 
-#: ../yum/__init__.py:2256
+#: ../yum/__init__.py:2598
 #, python-format
 msgid "%s file %s removed"
 msgstr "%s fil %s er fjernet"
 
-#: ../yum/__init__.py:2258
+#: ../yum/__init__.py:2600
 #, python-format
-msgid "%d %s files removed"
-msgstr "%d %s filer fjernet"
+msgid "%d %s file removed"
+msgid_plural "%d %s files removed"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../yum/__init__.py:2327
+#: ../yum/__init__.py:2712
 #, python-format
 msgid "More than one identical match in sack for %s"
 msgstr "Mer enn ett identisk passende treff i sekken %s"
 
-#: ../yum/__init__.py:2333
+#: ../yum/__init__.py:2718
 #, python-format
 msgid "Nothing matches %s.%s %s:%s-%s from update"
 msgstr "Ingenting passer %s.%s %s:%s-%s fra oppdatering"
 
-#: ../yum/__init__.py:2632
+#: ../yum/__init__.py:3096
 msgid ""
 "searchPackages() will go away in a future version of Yum."
 "                      Use searchGenerator() instead. \n"
-msgstr ""
-"searchPackages() vil forsvinne i en kommende utgave av Yum.\n"
-"Bruk heller searchGenerator()\n"
+msgstr "searchPackages() vil forsvinne i en kommende utgave av Yum.\nBruk heller searchGenerator()\n"
 
-#: ../yum/__init__.py:2675
+#: ../yum/__init__.py:3149
 #, python-format
-msgid "Searching %d packages"
-msgstr "Søker etter %d pakker"
+msgid "Searching %d package"
+msgid_plural "Searching %d packages"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../yum/__init__.py:2679
+#: ../yum/__init__.py:3153
 #, python-format
 msgid "searching package %s"
 msgstr "søker etter pakke %s"
 
-#: ../yum/__init__.py:2691
+#: ../yum/__init__.py:3165
 msgid "searching in file entries"
 msgstr "søker i filoversikt"
 
-#: ../yum/__init__.py:2698
+#: ../yum/__init__.py:3172
 msgid "searching in provides entries"
 msgstr "søker i oppføringer av tilbud"
 
-#: ../yum/__init__.py:2777
+#: ../yum/__init__.py:3369
 msgid "No group data available for configured repositories"
 msgstr "Ingen gruppedata tilgjengelig for konfigurerte pakkelager"
 
-#: ../yum/__init__.py:2808 ../yum/__init__.py:2827 ../yum/__init__.py:2858
-#: ../yum/__init__.py:2864 ../yum/__init__.py:2953 ../yum/__init__.py:2957
-#: ../yum/__init__.py:3339
+#: ../yum/__init__.py:3466 ../yum/__init__.py:3500 ../yum/__init__.py:3576
+#: ../yum/__init__.py:3582 ../yum/__init__.py:3719 ../yum/__init__.py:3723
+#: ../yum/__init__.py:4298
 #, python-format
 msgid "No Group named %s exists"
 msgstr "Det eksisterer ingen gruppe med navn %s "
 
-#: ../yum/__init__.py:2839 ../yum/__init__.py:2973
+#: ../yum/__init__.py:3512 ../yum/__init__.py:3740
 #, python-format
 msgid "package %s was not marked in group %s"
 msgstr "pakke %s var ikke med i gruppe %s"
 
-#: ../yum/__init__.py:2887
+#. (upgrade and igroup_data[pkg] == 'available')):
+#: ../yum/__init__.py:3622
+#, python-format
+msgid "Skipping package %s from group %s"
+msgstr ""
+
+#: ../yum/__init__.py:3628
 #, python-format
 msgid "Adding package %s from group %s"
 msgstr "Legger til pakke %s fra gruppe %s"
 
-#: ../yum/__init__.py:2891
+#: ../yum/__init__.py:3649
 #, python-format
 msgid "No package named %s available to be installed"
 msgstr "Ingen pakke med navn %s er tilgjendelig for installering"
 
-#: ../yum/__init__.py:2941
+#: ../yum/__init__.py:3702
 #, python-format
-msgid "Warning: Group %s does not have any packages."
+msgid "Warning: Group %s does not have any packages to install."
 msgstr ""
 
-#: ../yum/__init__.py:2943
+#: ../yum/__init__.py:3704
 #, python-format
 msgid "Group %s does have %u conditional packages, which may get installed."
 msgstr ""
 
+#: ../yum/__init__.py:3794
+#, python-format
+msgid "Skipping group %s from environment %s"
+msgstr ""
+
 #. This can happen due to excludes after .up has
 #. happened.
-#: ../yum/__init__.py:3002
+#: ../yum/__init__.py:3858
 #, python-format
 msgid "Package tuple %s could not be found in packagesack"
 msgstr "Pakke tuppel %s ble ikke funnet i sekken med pakker"
 
-#: ../yum/__init__.py:3022
+#: ../yum/__init__.py:3886
 #, python-format
 msgid "Package tuple %s could not be found in rpmdb"
 msgstr ""
 
-#: ../yum/__init__.py:3079 ../yum/__init__.py:3129
+#: ../yum/__init__.py:3949 ../yum/__init__.py:4012
 #, python-format
 msgid "Invalid version flag from: %s"
 msgstr ""
 
-#: ../yum/__init__.py:3096 ../yum/__init__.py:3101
+#: ../yum/__init__.py:3973 ../yum/__init__.py:3979 ../yum/__init__.py:4036
+#: ../yum/__init__.py:4042
 #, python-format
 msgid "No Package found for %s"
 msgstr "Ingen pakke for %s er funnet"
 
-#: ../yum/__init__.py:3401
+#: ../yum/__init__.py:4245 ../yum/__init__.py:4274
+#, python-format
+msgid "Warning: Environment Group %s does not exist."
+msgstr ""
+
+#: ../yum/__init__.py:4397
+#, python-format
+msgid "Package: %s - can't co-install with %s"
+msgstr ""
+
+#: ../yum/__init__.py:4437
 msgid "Package Object was not a package object instance"
 msgstr "Pakkeobjekt var ikke en pakkeobjektinstans"
 
-#: ../yum/__init__.py:3405
+#: ../yum/__init__.py:4441
 msgid "Nothing specified to install"
 msgstr "Ingenting oppgitt for installasjon"
 
-#: ../yum/__init__.py:3424 ../yum/__init__.py:4283
+#: ../yum/__init__.py:4465 ../yum/__init__.py:5410
 #, python-format
 msgid "Checking for virtual provide or file-provide for %s"
 msgstr "Sjekker for virtuelle tilbydere eller tilbydere av filer for %s"
 
-#: ../yum/__init__.py:3430 ../yum/__init__.py:3775 ../yum/__init__.py:3969
-#: ../yum/__init__.py:4289
-#, python-format
-msgid "No Match for argument: %s"
-msgstr "Ingen treff for argument: %s"
-
-#: ../yum/__init__.py:3507
+#: ../yum/__init__.py:4542
 #, python-format
 msgid "Package %s installed and not available"
 msgstr "Pakke %s er installert og ikke tilgjengelig"
 
-#: ../yum/__init__.py:3510
+#: ../yum/__init__.py:4545
 msgid "No package(s) available to install"
 msgstr "Ingen pakke(r) er tilgjengelig for installering"
 
-#: ../yum/__init__.py:3522
+#: ../yum/__init__.py:4557
 #, python-format
 msgid "Package: %s  - already in transaction set"
 msgstr "Pakke: %s - allerede i transaksjonensettet"
 
-#: ../yum/__init__.py:3550
+#: ../yum/__init__.py:4589
 #, python-format
 msgid "Package %s is obsoleted by %s which is already installed"
 msgstr "Pakke %s er foreldet av %s som allerede er installert"
 
-#: ../yum/__init__.py:3555
+#: ../yum/__init__.py:4594
 #, python-format
 msgid ""
 "Package %s is obsoleted by %s, but obsoleting package does not provide for "
 "requirements"
 msgstr ""
 
-#: ../yum/__init__.py:3558
+#: ../yum/__init__.py:4597
 #, python-format
 msgid "Package %s is obsoleted by %s, trying to install %s instead"
 msgstr "Pakke %s er foreldet av %s, prøver å installere %s isteden."
 
-#: ../yum/__init__.py:3566
+#: ../yum/__init__.py:4605
 #, python-format
 msgid "Package %s already installed and latest version"
 msgstr "Pakke %s er allerede installert i siste versjon"
 
-#: ../yum/__init__.py:3580
+#: ../yum/__init__.py:4619
 #, python-format
 msgid "Package matching %s already installed. Checking for update."
 msgstr "Pakke med treff på %s er allerede lagt inn. Ser etter oppdatering"
 
 #. update everything (the easy case)
-#: ../yum/__init__.py:3684
+#: ../yum/__init__.py:4751
 msgid "Updating Everything"
 msgstr "Oppdaterer alt"
 
-#: ../yum/__init__.py:3708 ../yum/__init__.py:3849 ../yum/__init__.py:3879
-#: ../yum/__init__.py:3915
+#: ../yum/__init__.py:4775 ../yum/__init__.py:4930 ../yum/__init__.py:4975
+#: ../yum/__init__.py:5011
 #, python-format
 msgid "Not Updating Package that is already obsoleted: %s.%s %s:%s-%s"
 msgstr "Vil ikke oppdatere pakke som allerede er foreldet: %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3753 ../yum/__init__.py:3965
+#: ../yum/__init__.py:4830 ../yum/__init__.py:5072
 #, python-format
 msgid "%s"
 msgstr "%s"
 
-#: ../yum/__init__.py:3838
+#: ../yum/__init__.py:4854 ../yum/__init__.py:5080 ../yum/__init__.py:5416
+#, python-format
+msgid "No Match for argument: %s"
+msgstr "Ingen treff for argument: %s"
+
+#: ../yum/__init__.py:4872
+#, python-format
+msgid "No package matched to upgrade: %s"
+msgstr ""
+
+#: ../yum/__init__.py:4919
 #, python-format
 msgid "Package is already obsoleted: %s.%s %s:%s-%s"
 msgstr "Pakka er allerede foreldet:  %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3874
+#: ../yum/__init__.py:4970
 #, python-format
 msgid "Not Updating Package that is obsoleted: %s"
 msgstr ""
 
-#: ../yum/__init__.py:3883 ../yum/__init__.py:3919
+#: ../yum/__init__.py:4979 ../yum/__init__.py:5015
 #, python-format
 msgid "Not Updating Package that is already updated: %s.%s %s:%s-%s"
 msgstr "Oppdatere ikke pakken som allerede er oppdatert: %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3982
-msgid "No package matched to remove"
-msgstr "Kunne ikke finne noen passende pakke for fjerning"
+#: ../yum/__init__.py:5093
+#, python-format
+msgid "No package matched to remove: %s"
+msgstr ""
 
-#: ../yum/__init__.py:3988
+#: ../yum/__init__.py:5099
 #, python-format
 msgid "Skipping the running kernel: %s"
 msgstr ""
 
-#: ../yum/__init__.py:3994
+#: ../yum/__init__.py:5105
 #, python-format
 msgid "Removing %s from the transaction"
 msgstr ""
 
-#: ../yum/__init__.py:4029
+#: ../yum/__init__.py:5142
 #, python-format
 msgid "Cannot open: %s. Skipping."
 msgstr ""
 
-#: ../yum/__init__.py:4032 ../yum/__init__.py:4150 ../yum/__init__.py:4226
+#: ../yum/__init__.py:5145 ../yum/__init__.py:5262 ../yum/__init__.py:5347
 #, python-format
 msgid "Examining %s: %s"
 msgstr "Undersøker: %s: %s"
 
-#: ../yum/__init__.py:4036
+#: ../yum/__init__.py:5149
 #, python-format
 msgid "Cannot localinstall deltarpm: %s. Skipping."
 msgstr ""
 
-#: ../yum/__init__.py:4045 ../yum/__init__.py:4153 ../yum/__init__.py:4229
+#: ../yum/__init__.py:5158 ../yum/__init__.py:5265 ../yum/__init__.py:5350
 #, python-format
 msgid ""
 "Cannot add package %s to transaction. Not a compatible architecture: %s"
-msgstr ""
-"Kan ikke legge til pakke %s til transaksjonen. Det er ikke en kompatibel "
-"arkitektur: %s"
+msgstr "Kan ikke legge til pakke %s til transaksjonen. Det er ikke en kompatibel arkitektur: %s"
 
-#: ../yum/__init__.py:4051
+#: ../yum/__init__.py:5164
 #, python-format
 msgid "Cannot install package %s. It is obsoleted by installed package %s"
 msgstr ""
 
-#: ../yum/__init__.py:4059
+#: ../yum/__init__.py:5172
 #, python-format
 msgid ""
 "Package %s not installed, cannot update it. Run yum install to install it "
 "instead."
-msgstr ""
-"Pakka %s er ikke installert, så den kan ikke oppdateres. Bruk kommandoen yum"
-" install for å legge den inn."
+msgstr "Pakka %s er ikke installert, så den kan ikke oppdateres. Bruk kommandoen yum install for å legge den inn."
 
-#: ../yum/__init__.py:4078 ../yum/__init__.py:4085
+#: ../yum/__init__.py:5191 ../yum/__init__.py:5198
 #, python-format
 msgid ""
 "Package %s.%s not installed, cannot update it. Run yum install to install it"
 " instead."
 msgstr ""
 
-#: ../yum/__init__.py:4094 ../yum/__init__.py:4158 ../yum/__init__.py:4234
+#: ../yum/__init__.py:5207 ../yum/__init__.py:5270 ../yum/__init__.py:5355
 #, python-format
 msgid "Excluding %s"
 msgstr "Ekskluderer %s"
 
-#: ../yum/__init__.py:4099
+#: ../yum/__init__.py:5212
 #, python-format
 msgid "Marking %s to be installed"
 msgstr "Setter av %s for kommende installering"
 
-#: ../yum/__init__.py:4105
+#: ../yum/__init__.py:5218
 #, python-format
 msgid "Marking %s as an update to %s"
 msgstr "Setter av %s som en oppdatering av %s"
 
-#: ../yum/__init__.py:4112
+#: ../yum/__init__.py:5225
 #, python-format
 msgid "%s: does not update installed package."
 msgstr "%s: vil ikke oppdatere installert pakke."
 
-#: ../yum/__init__.py:4147 ../yum/__init__.py:4223
+#: ../yum/__init__.py:5259 ../yum/__init__.py:5344
 #, python-format
 msgid "Cannot open file: %s. Skipping."
 msgstr "Kunne ikke åpne fil: %s. Hopper over."
 
-#: ../yum/__init__.py:4177
+#: ../yum/__init__.py:5299
 msgid "Problem in reinstall: no package matched to remove"
 msgstr "Problem ved reinstall: kunne ikke finne passende pakke og fjerne"
 
-#: ../yum/__init__.py:4203
+#: ../yum/__init__.py:5325
 #, python-format
 msgid "Problem in reinstall: no package %s matched to install"
 msgstr "Problem i ominstalleringen: ingen pakke %s funnet for installering."
 
-#: ../yum/__init__.py:4311
+#: ../yum/__init__.py:5438
 msgid "No package(s) available to downgrade"
 msgstr "Ingen pakke(r) er tilgjengelig for nedgradering"
 
-#: ../yum/__init__.py:4319
+#: ../yum/__init__.py:5446
 #, python-format
 msgid "Package %s is allowed multiple installs, skipping"
 msgstr "Pakke %s er tillatt flere installeringer, hopper over."
 
-#: ../yum/__init__.py:4365
+#: ../yum/__init__.py:5496
 #, python-format
 msgid "No Match for available package: %s"
 msgstr "Ingen treff for tilgjengelig pakke: %s"
 
-#: ../yum/__init__.py:4372
+#: ../yum/__init__.py:5506
 #, python-format
 msgid "Only Upgrade available on package: %s"
 msgstr "Bare oppgraderinger tilgjengelig på pakke: %s"
 
-#: ../yum/__init__.py:4442 ../yum/__init__.py:4479
+#: ../yum/__init__.py:5619 ../yum/__init__.py:5686
 #, python-format
 msgid "Failed to downgrade: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4516
+#: ../yum/__init__.py:5636 ../yum/__init__.py:5692
+#, python-format
+msgid "Failed to upgrade: %s"
+msgstr ""
+
+#: ../yum/__init__.py:5725
 #, python-format
 msgid "Retrieving key from %s"
 msgstr ""
 
-#: ../yum/__init__.py:4534
+#: ../yum/__init__.py:5743
 msgid "GPG key retrieval failed: "
 msgstr "Henting av GPG-nøkkel feilet: "
 
 #. if we decide we want to check, even though the sig failed
 #. here is where we would do that
-#: ../yum/__init__.py:4557
+#: ../yum/__init__.py:5766
 #, python-format
 msgid "GPG key signature on key %s does not match CA Key for repo: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4559
+#: ../yum/__init__.py:5768
 msgid "GPG key signature verified against CA Key(s)"
 msgstr ""
 
-#: ../yum/__init__.py:4567
+#: ../yum/__init__.py:5776
 #, python-format
 msgid "Invalid GPG Key from %s: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4576
+#: ../yum/__init__.py:5785
 #, python-format
 msgid "GPG key parsing failed: key does not have value %s"
 msgstr "Analyse av GPG-nøkkel feilet: nøkkelen har ikke verdi %s"
 
-#: ../yum/__init__.py:4592
+#: ../yum/__init__.py:5801
 #, python-format
 msgid ""
 "Importing %s key 0x%s:\n"
-" Userid : %s\n"
-" Package: %s (%s)\n"
-" From   : %s"
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" Package    : %s (%s)\n"
+" From       : %s"
 msgstr ""
 
-#: ../yum/__init__.py:4600
+#: ../yum/__init__.py:5811
 #, python-format
 msgid ""
 "Importing %s key 0x%s:\n"
-" Userid: \"%s\"\n"
-" From  : %s"
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" From       : %s"
+msgstr ""
+
+#: ../yum/__init__.py:5839
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" Failing package is: %s\n"
+" GPG Keys are configured as: %s\n"
 msgstr ""
 
-#: ../yum/__init__.py:4634
+#: ../yum/__init__.py:5853
 #, python-format
 msgid "GPG key at %s (0x%s) is already installed"
 msgstr "GPG-nøkkel ved %s (0x%s) er allerede lagt inn"
 
-#: ../yum/__init__.py:4671
+#: ../yum/__init__.py:5891
 #, python-format
 msgid "Key import failed (code %d)"
 msgstr "Import av nøkkel feilet (kode %d)"
 
-#: ../yum/__init__.py:4672 ../yum/__init__.py:4755
+#: ../yum/__init__.py:5893 ../yum/__init__.py:5994
 msgid "Key imported successfully"
 msgstr "Nøkler ble lagt inn med suksess"
 
-#: ../yum/__init__.py:4676
+#: ../yum/__init__.py:5897
 msgid "Didn't install any keys"
 msgstr ""
 
-#: ../yum/__init__.py:4680
+#: ../yum/__init__.py:5900
 #, python-format
 msgid ""
 "The GPG keys listed for the \"%s\" repository are already installed but they are not correct for this package.\n"
 "Check that the correct key URLs are configured for this repository."
-msgstr ""
-"GPG-nøkkelen for pakkeoversikten %s er allerede lagt inn, men\n"
-"nøkkelen passer ikke til den aktuelle pakka fra samme oversikt.\n"
-"Sjekk at korrekt URL (gpgkey opsjonen) er oppgitt for denne\n"
-"pakkeoversikten."
+msgstr "GPG-nøkkelen for pakkeoversikten %s er allerede lagt inn, men\nnøkkelen passer ikke til den aktuelle pakka fra samme oversikt.\nSjekk at korrekt URL (gpgkey opsjonen) er oppgitt for denne\npakkeoversikten."
 
-#: ../yum/__init__.py:4689
+#: ../yum/__init__.py:5910
 msgid "Import of key(s) didn't help, wrong key(s)?"
 msgstr "Import av nøkler hjalp ikke, feil nøkler?"
 
-#: ../yum/__init__.py:4713
+#: ../yum/__init__.py:5932
+msgid "No"
+msgstr ""
+
+#: ../yum/__init__.py:5934
+msgid "Yes"
+msgstr ""
+
+#: ../yum/__init__.py:5935
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" CA Key: %s\n"
+" Failing repo is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr ""
+
+#: ../yum/__init__.py:5948
 #, python-format
 msgid "GPG key at %s (0x%s) is already imported"
 msgstr "GPG-nøkkel ved %s (0x%s) er allerede importert"
 
-#: ../yum/__init__.py:4754
-msgid "Key import failed"
-msgstr "Import av nøkkel feilet"
+#: ../yum/__init__.py:5992
+#, python-format
+msgid "Key %s import failed"
+msgstr ""
 
-#: ../yum/__init__.py:4770
+#: ../yum/__init__.py:6009
 #, python-format
 msgid "Didn't install any keys for repo %s"
 msgstr ""
 
-#: ../yum/__init__.py:4774
+#: ../yum/__init__.py:6014
 #, python-format
 msgid ""
 "The GPG keys listed for the \"%s\" repository are already installed but they are not correct.\n"
 "Check that the correct key URLs are configured for this repository."
 msgstr ""
 
-#: ../yum/__init__.py:4924
+#: ../yum/__init__.py:6172
 msgid "Unable to find a suitable mirror."
 msgstr "Kunne ikke finne passende filspeil"
 
-#: ../yum/__init__.py:4926
+#: ../yum/__init__.py:6174
 msgid "Errors were encountered while downloading packages."
 msgstr "Det oppstod feil ved nedlastning av pakker."
 
-#: ../yum/__init__.py:4981
+#: ../yum/__init__.py:6229
 #, python-format
 msgid "Please report this error at %s"
 msgstr "Vennligst send en feilrapport til %s"
 
-#: ../yum/__init__.py:4998
+#: ../yum/__init__.py:6246
 msgid "Test Transaction Errors: "
 msgstr "Feil ved testtransaksjon: "
 
-#: ../yum/__init__.py:5098
+#: ../yum/__init__.py:6358
 #, python-format
 msgid "Could not set cachedir: %s"
 msgstr ""
 
-#: ../yum/__init__.py:5148 ../yum/__init__.py:5150
+#: ../yum/__init__.py:6420 ../yum/__init__.py:6422
 msgid "Dependencies not solved. Will not save unresolved transaction."
 msgstr ""
 
-#: ../yum/__init__.py:5179 ../yum/__init__.py:5181
+#: ../yum/__init__.py:6455 ../yum/__init__.py:6457
 #, python-format
 msgid "Could not save transaction file %s: %s"
 msgstr ""
 
-#: ../yum/__init__.py:5195
+#: ../yum/__init__.py:6483
 #, python-format
 msgid "Could not access/read saved transaction %s : %s"
 msgstr ""
 
-#: ../yum/__init__.py:5214
-msgid "rpmdb ver mismatched saved transaction version, "
+#: ../yum/__init__.py:6521
+msgid "rpmdb ver mismatched saved transaction version,"
 msgstr ""
 
-#: ../yum/__init__.py:5216
-msgid " ignoring, as requested."
-msgstr ""
-
-#: ../yum/__init__.py:5219 ../yum/__init__.py:5354
-msgid " aborting."
-msgstr ""
-
-#: ../yum/__init__.py:5228
+#: ../yum/__init__.py:6535
 msgid "cannot find tsflags or tsflags not integer."
 msgstr ""
 
-#: ../yum/__init__.py:5267
+#: ../yum/__init__.py:6584
 #, python-format
 msgid "Found txmbr in unknown current state: %s"
 msgstr ""
 
-#: ../yum/__init__.py:5271
+#: ../yum/__init__.py:6588
 #, python-format
 msgid "Could not find txmbr: %s in state %s"
 msgstr ""
 
-#: ../yum/__init__.py:5307 ../yum/__init__.py:5324
+#: ../yum/__init__.py:6625 ../yum/__init__.py:6642
 #, python-format
 msgid "Could not find txmbr: %s from origin: %s"
 msgstr ""
 
-#: ../yum/__init__.py:5349
+#: ../yum/__init__.py:6667
 msgid "Transaction members, relations are missing or ts has been modified,"
 msgstr ""
 
-#: ../yum/__init__.py:5351
+#: ../yum/__init__.py:6670
 msgid " ignoring, as requested. You must redepsolve!"
 msgstr ""
 
+#. Debugging output
+#: ../yum/__init__.py:6738 ../yum/__init__.py:6757
+#, python-format
+msgid "%s has been visited already and cannot be removed."
+msgstr ""
+
+#. Debugging output
+#: ../yum/__init__.py:6741
+#, python-format
+msgid "Examining revdeps of %s"
+msgstr ""
+
+#. Debugging output
+#: ../yum/__init__.py:6762
+#, python-format
+msgid "%s has revdep %s which was user-installed."
+msgstr ""
+
+#: ../yum/__init__.py:6773 ../yum/__init__.py:6779
+#, python-format
+msgid "%s is needed by a package to be installed."
+msgstr ""
+
+#. Debugging output
+#: ../yum/__init__.py:6793
+#, python-format
+msgid "%s has no user-installed revdeps."
+msgstr ""
+
 #. Mostly copied from YumOutput._outKeyValFill()
-#: ../yum/plugins.py:209
+#: ../yum/plugins.py:212
 msgid "Loaded plugins: "
 msgstr "Tillegg som er i bruk:"
 
-#: ../yum/plugins.py:223 ../yum/plugins.py:229
+#: ../yum/plugins.py:226 ../yum/plugins.py:232
 #, python-format
 msgid "No plugin match for: %s"
 msgstr "Intet programtilleggs treff for: %s"
 
-#: ../yum/plugins.py:259
+#: ../yum/plugins.py:262
 #, python-format
 msgid "Not loading \"%s\" plugin, as it is disabled"
 msgstr "Laster ikke programtillegg \"%s\", siden den er deaktivert"
 
 #. Give full backtrace:
-#: ../yum/plugins.py:271
+#: ../yum/plugins.py:274
 #, python-format
 msgid "Plugin \"%s\" can't be imported"
 msgstr "Programtillegg \"%s\" kan ikke bli importert"
 
-#: ../yum/plugins.py:278
+#: ../yum/plugins.py:281
 #, python-format
 msgid "Plugin \"%s\" doesn't specify required API version"
 msgstr "Tillegg \"%s\" tilfredstiller ikke versjonskravene fra Yum."
 
-#: ../yum/plugins.py:283
+#: ../yum/plugins.py:286
 #, python-format
 msgid "Plugin \"%s\" requires API %s. Supported API is %s."
 msgstr "Tillegg \"%s\" krever API versjon: %s. Men støttet API versjon er %s."
 
-#: ../yum/plugins.py:316
+#: ../yum/plugins.py:319
 #, python-format
 msgid "Loading \"%s\" plugin"
 msgstr "Laster tillegg \"%s\""
 
-#: ../yum/plugins.py:323
+#: ../yum/plugins.py:326
 #, python-format
 msgid "Two or more plugins with the name \"%s\" exist in the plugin search path"
-msgstr ""
-"Det finnes to eller flere tillegg med navn «%s» i søkestien for tillegg"
+msgstr "Det finnes to eller flere tillegg med navn «%s» i søkestien for tillegg"
 
-#: ../yum/plugins.py:343
+#: ../yum/plugins.py:346
 #, python-format
 msgid "Configuration file %s not found"
 msgstr "Konfigurasjonsfila %s ble ikke funnet"
 
 #. for
 #. Configuration files for the plugin not found
-#: ../yum/plugins.py:346
+#: ../yum/plugins.py:349
 #, python-format
 msgid "Unable to find configuration file for plugin %s"
 msgstr "Kunne ikke finne konfigurasjon for tillegg %s"
 
-#: ../yum/plugins.py:508
+#: ../yum/plugins.py:553
 msgid "registration of commands not supported"
 msgstr "registering av kommandoer er ikke støttet"
 
-#: ../yum/rpmsack.py:148
+#: ../yum/rpmsack.py:159
 msgid "has missing requires of"
 msgstr ""
 
-#: ../yum/rpmsack.py:151
+#: ../yum/rpmsack.py:162
 msgid "has installed conflicts"
 msgstr ""
 
-#: ../yum/rpmsack.py:160
+#: ../yum/rpmsack.py:171
 #, python-format
 msgid "%s is a duplicate with %s"
 msgstr ""
 
-#: ../yum/rpmsack.py:168
+#: ../yum/rpmsack.py:179
 #, python-format
 msgid "%s is obsoleted by %s"
 msgstr ""
 
-#: ../yum/rpmsack.py:176
+#: ../yum/rpmsack.py:187
 #, python-format
 msgid "%s provides %s but it cannot be found"
 msgstr ""
@@ -3112,6 +3458,23 @@ msgstr ""
 msgid "Repackaging"
 msgstr "Pakker på nytt"
 
+#: ../yum/rpmtrans.py:149
+#, python-format
+msgid "Verify: %u/%u: %s"
+msgstr ""
+
+#: ../yum/yumRepo.py:919
+#, python-format
+msgid ""
+"Insufficient space in download directory %s\n"
+"    * free   %s\n"
+"    * needed %s"
+msgstr "Det er ikke nok ledig plass i nedlastingskatalogen %s\n    * ledig   %s \n    * trenger %s"
+
+#: ../yum/yumRepo.py:986
+msgid "Package does not match intended download."
+msgstr ""
+
 #: ../rpmUtils/oldUtils.py:33
 #, python-format
 msgid "Header cannot be opened or does not match %s, %s."
@@ -3140,5 +3503,3 @@ msgstr "Filhode til %s er ødelagt"
 #, python-format
 msgid "Error opening rpm %s - error %s"
 msgstr "Kunne ikke åpen rpm pakke %s - feilen er %s"
-
-
diff --git a/po/nl.po b/po/nl.po
new file mode 100644
index 0000000..47bc5e9
--- /dev/null
+++ b/po/nl.po
@@ -0,0 +1,3506 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# 
+# Translators:
+# Richard E. van der Luit <nippur@fedoraproject.org>, 2011-2013.
+msgid ""
+msgstr ""
+"Project-Id-Version: Yum\n"
+"Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
+"POT-Creation-Date: 2013-01-30 09:08-0500\n"
+"PO-Revision-Date: 2013-01-30 16:51+0000\n"
+"Last-Translator: Richard E. van der Luit <nippur@fedoraproject.org>\n"
+"Language-Team: Dutch (http://www.transifex.com/projects/p/yum/language/nl/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: nl\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../callback.py:45 ../output.py:1502 ../yum/rpmtrans.py:73
+msgid "Updating"
+msgstr "Bijwerken"
+
+#: ../callback.py:46 ../yum/rpmtrans.py:74
+msgid "Erasing"
+msgstr "Wissen"
+
+#: ../callback.py:47 ../callback.py:48 ../callback.py:50 ../output.py:1501
+#: ../output.py:2922 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
+#: ../yum/rpmtrans.py:78
+msgid "Installing"
+msgstr "Installeren"
+
+#: ../callback.py:49 ../callback.py:55 ../output.py:2379 ../yum/rpmtrans.py:77
+msgid "Obsoleted"
+msgstr "Aangemerkt als verouderd"
+
+#: ../callback.py:51 ../output.py:1670 ../output.py:2222 ../output.py:2386
+msgid "Updated"
+msgstr "Bijgewerkt"
+
+#: ../callback.py:52 ../output.py:2221
+msgid "Erased"
+msgstr "Gewist"
+
+#: ../callback.py:53 ../callback.py:54 ../callback.py:56 ../output.py:1668
+#: ../output.py:2221 ../output.py:2223 ../output.py:2894
+msgid "Installed"
+msgstr "Geïnstalleerd"
+
+#: ../callback.py:142
+msgid "No header - huh?"
+msgstr "Geen header - huh?"
+
+#: ../callback.py:180
+msgid "Repackage"
+msgstr "Opnieuw verpakken"
+
+#: ../callback.py:201
+#, python-format
+msgid "Error: invalid output state: %s for %s"
+msgstr "Fout: ongeldige out-put status: %s voor %s"
+
+#: ../callback.py:224
+#, python-format
+msgid "Erased: %s"
+msgstr "Verwijderd: %s"
+
+#: ../callback.py:229 ../output.py:1503 ../output.py:2897
+msgid "Removing"
+msgstr "Verwijderen"
+
+#: ../callback.py:231 ../yum/rpmtrans.py:79
+msgid "Cleanup"
+msgstr "Opruimen"
+
+#: ../cli.py:122
+#, python-format
+msgid "Command \"%s\" already defined"
+msgstr "Opdracht \"%s\" is al gedefinieerd"
+
+#: ../cli.py:137
+msgid "Setting up repositories"
+msgstr "Opzetten "
+
+#: ../cli.py:148
+msgid "Reading repository metadata in from local files"
+msgstr "Repositorymetadata inlezen van lokale bestanden"
+
+#: ../cli.py:273 ../cli.py:277 ../utils.py:320
+#, python-format
+msgid "Config Error: %s"
+msgstr "Configuratiefout: %s"
+
+#: ../cli.py:280 ../cli.py:2206 ../utils.py:323
+#, python-format
+msgid "Options Error: %s"
+msgstr "Optiefout: %s"
+
+#: ../cli.py:327
+#, python-format
+msgid "  Installed: %s-%s at %s"
+msgstr "  Geïnstalleerd: %s-%s op %s"
+
+#: ../cli.py:329
+#, python-format
+msgid "  Built    : %s at %s"
+msgstr "  Gebouwd    : %s op %s"
+
+#: ../cli.py:331
+#, python-format
+msgid "  Committed: %s at %s"
+msgstr "  Ingediend: %s op %s"
+
+#: ../cli.py:372
+msgid "You need to give some command"
+msgstr "Je moet een commando ingeven"
+
+#: ../cli.py:386
+#, python-format
+msgid "No such command: %s. Please use %s --help"
+msgstr "Een dergelijk commando bestaat niet: %s. Gebruik a.u.b. %s - help"
+
+#: ../cli.py:444
+msgid "Disk Requirements:\n"
+msgstr "Hardeschijf-vereisten:\n"
+
+#: ../cli.py:446
+#, python-format
+msgid "  At least %dMB more space needed on the %s filesystem.\n"
+msgid_plural "  At least %dMB more space needed on the %s filesystem.\n"
+msgstr[0] "  Minstens %d MB meer ruimte nodig op het bestandssysteem %s.\n"
+msgstr[1] "  Minstens %d MB meer ruimte nodig op  bestandssysteem  %s.\n"
+
+#. TODO: simplify the dependency errors?
+#. Fixup the summary
+#: ../cli.py:451
+msgid ""
+"Error Summary\n"
+"-------------\n"
+msgstr "Samenvatting Fouten\n-------------\n"
+
+#: ../cli.py:472
+msgid "Can't create lock file; exiting"
+msgstr "Kan geen lock-bestand aanmaken; verlaten"
+
+#: ../cli.py:479
+msgid ""
+"Another app is currently holding the yum lock; exiting as configured by "
+"exit_on_lock"
+msgstr "Een andere toepassing heeft op dit moment yum gelocked; Stoppen zoals geconfigureerd door exit_on_lock"
+
+#: ../cli.py:532
+msgid "Trying to run the transaction but nothing to do. Exiting."
+msgstr "Aan het proberen de transactie uit te voeren, maar er is niets te doen. Ik hou er mee op."
+
+#: ../cli.py:577
+msgid "future rpmdb ver mismatched saved transaction version,"
+msgstr "aanstaande rpmdb-versie kwam niet overeen met opgeslagen  transactieversie,"
+
+#: ../cli.py:579 ../yum/__init__.py:6523
+msgid " ignoring, as requested."
+msgstr " negeren, zoals gevraagd."
+
+#: ../cli.py:582 ../yum/__init__.py:6526 ../yum/__init__.py:6673
+msgid " aborting."
+msgstr "afbreken."
+
+#: ../cli.py:588
+msgid "Exiting on user Command"
+msgstr "Ophouden op commando van gebruiker "
+
+#: ../cli.py:592
+msgid "Downloading Packages:"
+msgstr "Downloaden Pakketten:"
+
+#: ../cli.py:597
+msgid "Error Downloading Packages:\n"
+msgstr "Fout Downloaden Pakketten:\n"
+
+#: ../cli.py:616 ../yum/__init__.py:6215
+msgid "Running Transaction Check"
+msgstr "Uitvoeren Transactie Check"
+
+#: ../cli.py:625 ../yum/__init__.py:6224
+msgid "ERROR You need to update rpm to handle:"
+msgstr "FOUT U moet rpm bijwerken om het op te lossen:"
+
+#: ../cli.py:627 ../yum/__init__.py:6227
+msgid "ERROR with transaction check vs depsolve:"
+msgstr "FOUT bij transactiecheck ten opzichte van afhankelijkheidsoplossing:"
+
+#: ../cli.py:633
+msgid "RPM needs to be updated"
+msgstr "RPM moet worden bijgewerkt"
+
+#: ../cli.py:634
+#, python-format
+msgid "Please report this error in %s"
+msgstr "Meld deze fout in %s a.u.b."
+
+#: ../cli.py:640
+msgid "Running Transaction Test"
+msgstr "Uitvoeren Transactie Test"
+
+#: ../cli.py:652
+msgid "Transaction Check Error:\n"
+msgstr "Transactie Check Fout:\n"
+
+#: ../cli.py:659
+msgid "Transaction Test Succeeded"
+msgstr "Transactie Test geslaagd"
+
+#: ../cli.py:691
+msgid "Running Transaction"
+msgstr "Uitvoeren Transactie"
+
+#: ../cli.py:724
+msgid ""
+"Refusing to automatically import keys when running unattended.\n"
+"Use \"-y\" to override."
+msgstr "Weiger om automatisch sleutels te importeren tijdens onbewaakt uitvoeren. \nGebruik \"-y\" om dit te overrulen."
+
+#: ../cli.py:743 ../cli.py:786
+msgid "  * Maybe you meant: "
+msgstr "  * Misschien heb je hier bedoeld: "
+
+#: ../cli.py:769 ../cli.py:777
+#, python-format
+msgid "Package(s) %s%s%s available, but not installed."
+msgstr "Pakket(ten) %s %s %s beschikbaar, maar niet geïnstalleerd."
+
+#: ../cli.py:783 ../cli.py:891 ../cli.py:1158
+#, python-format
+msgid "No package %s%s%s available."
+msgstr "Geen pakket %s %s %s beschikbaar."
+
+#: ../cli.py:871 ../cli.py:881 ../cli.py:1101 ../cli.py:1111
+#, python-format
+msgid "Bad %s argument %s."
+msgstr "Slecht %s argument %s."
+
+#: ../cli.py:900 ../yumcommands.py:3331
+#, python-format
+msgid "%d package to install"
+msgid_plural "%d packages to install"
+msgstr[0] "%d pakket om te installeren"
+msgstr[1] "%d pakketten om te installeren"
+
+#: ../cli.py:903 ../cli.py:904 ../cli.py:1169 ../cli.py:1170 ../cli.py:1224
+#: ../cli.py:1225 ../cli.py:1260 ../yumcommands.py:323 ../yumcommands.py:3419
+msgid "Nothing to do"
+msgstr "Niets te doen"
+
+#: ../cli.py:953
+#, python-format
+msgid "%d package marked for Update"
+msgid_plural "%d packages marked for Update"
+msgstr[0] "%d pakket gemarkeerd voor update"
+msgstr[1] "%d pakketten gemarkeerd voor update"
+
+#: ../cli.py:955
+msgid "No Packages marked for Update"
+msgstr "Geen pakketten gemarkeerd voor Bijwerken"
+
+#: ../cli.py:1067
+#, python-format
+msgid "%d package marked for Distribution Synchronization"
+msgid_plural "%d packages marked for Distribution Synchronization"
+msgstr[0] "%d pakket gemarkeerd voor Distributie Synchronisatie"
+msgstr[1] "%d pakketten gemarkeerd voor Distributie Synchronisatie"
+
+#: ../cli.py:1069
+msgid "No Packages marked for Distribution Synchronization"
+msgstr "Geen pakketten gemarkeerd voor Distributie Synchronisatie"
+
+#: ../cli.py:1124
+#, python-format
+msgid "%d package marked for removal"
+msgid_plural "%d packages marked for removal"
+msgstr[0] "%d pakketten gemarkeerd voor verwijdering"
+msgstr[1] "%d pakketten gemarkeerd voor verwijdering"
+
+#: ../cli.py:1126
+msgid "No Packages marked for removal"
+msgstr "Geen pakketten gemarkeerd voor verwijdering"
+
+#: ../cli.py:1166
+#, python-format
+msgid "%d package to downgrade"
+msgid_plural "%d packages to downgrade"
+msgstr[0] "%d pakket te downgraden"
+msgstr[1] "%d pakketten te downgraden"
+
+#: ../cli.py:1207
+#, python-format
+msgid " (from %s)"
+msgstr " (van %s)"
+
+#: ../cli.py:1208
+#, python-format
+msgid "Installed package %s%s%s%s not available."
+msgstr "Geïnstalleerd pakket %s %s %s %s niet beschikbaar."
+
+#: ../cli.py:1221
+#, python-format
+msgid "%d package to reinstall"
+msgid_plural "%d packages to reinstall"
+msgstr[0] "%d pakket te herinstalleren"
+msgstr[1] "%d pakketten te herinstalleren"
+
+#: ../cli.py:1246
+msgid "No Packages Provided"
+msgstr "Geen Pakketten Opgeleverd"
+
+#: ../cli.py:1259
+msgid "Package(s) to install"
+msgstr "Pakket(ten) te installeren"
+
+#: ../cli.py:1367
+#, python-format
+msgid "N/S Matched: %s"
+msgstr "N/S Matched: %s"
+
+#: ../cli.py:1384
+#, python-format
+msgid "  Name and summary matches %sonly%s, use \"search all\" for everything."
+msgstr "  Naam en opsomming matches %sonly%s, gebruik \"search all\" voor alles."
+
+#: ../cli.py:1386
+#, python-format
+msgid ""
+"  Full name and summary matches %sonly%s, use \"search all\" for everything."
+msgstr "  Volledige naam en opsomming matches %sonly%s, gebruik \"search all\" voor alles."
+
+#: ../cli.py:1404
+#, python-format
+msgid "Matched: %s"
+msgstr "Passend: %s"
+
+#: ../cli.py:1411
+#, python-format
+msgid "  Name and summary matches %smostly%s, use \"search all\" for everything."
+msgstr "  Naam en opsomming matches %smostly%s, gebruik \"search all\" voor alles."
+
+#: ../cli.py:1415
+#, python-format
+msgid "Warning: No matches found for: %s"
+msgstr "Waarschuwing: Er zijn geen resultaten gevonden voor: %s"
+
+#: ../cli.py:1418
+msgid "No Matches found"
+msgstr "Geen resultaten gevonden"
+
+#: ../cli.py:1536
+#, python-format
+msgid ""
+"Error: No Packages found for:\n"
+"  %s"
+msgstr "Fout: Geen pakketten gevonden voor:\n  %s"
+
+#: ../cli.py:1572
+msgid "Cleaning repos: "
+msgstr "Opschonen repo's:"
+
+#: ../cli.py:1577
+msgid "Cleaning up Everything"
+msgstr "Alles opruimen"
+
+#: ../cli.py:1593
+msgid "Cleaning up Headers"
+msgstr "Headers opruimen"
+
+#: ../cli.py:1596
+msgid "Cleaning up Packages"
+msgstr "Pakketten opruimen"
+
+#: ../cli.py:1599
+msgid "Cleaning up xml metadata"
+msgstr "Xml metadata "
+
+#: ../cli.py:1602
+msgid "Cleaning up database cache"
+msgstr "Database cache schonen"
+
+#: ../cli.py:1605
+msgid "Cleaning up expire-cache metadata"
+msgstr "Expire-cache metadata "
+
+#: ../cli.py:1608
+msgid "Cleaning up cached rpmdb data"
+msgstr "Cache rpmdb data "
+
+#: ../cli.py:1611
+msgid "Cleaning up plugins"
+msgstr "Plugins schonen"
+
+#: ../cli.py:1727
+msgid "Installed Environment Groups:"
+msgstr "Geïnstalleerde omgevingsgroepen:"
+
+#: ../cli.py:1728
+msgid "Available Environment Groups:"
+msgstr "Beschikbare omgevingsgroepen:"
+
+#: ../cli.py:1735
+msgid "Installed Groups:"
+msgstr "Geïnstalleerd Groepen:"
+
+#: ../cli.py:1742
+msgid "Installed Language Groups:"
+msgstr "Geïnstalleerde Taalgroepen:"
+
+#: ../cli.py:1749
+msgid "Available Groups:"
+msgstr "Beschikbare groepen:"
+
+#: ../cli.py:1756
+msgid "Available Language Groups:"
+msgstr "Beschikbare Taal Groepen:"
+
+#: ../cli.py:1759
+#, python-format
+msgid "Warning: No Environments/Groups match: %s"
+msgstr "Waarschuwing: Geen omgevingen/groepen komen overeen: %s"
+
+#: ../cli.py:1763
+msgid "Done"
+msgstr "Klaar"
+
+#: ../cli.py:1818
+#, python-format
+msgid "Warning: Group/Environment %s does not exist."
+msgstr "Waarschuwing: Groep/Omgeving %s bestaat niet."
+
+#: ../cli.py:1859
+#, python-format
+msgid "Warning: Environment %s does not exist."
+msgstr "Waarschuwing: Omgeving %s bestaat niet."
+
+#: ../cli.py:1873 ../cli.py:1879 ../yum/__init__.py:4254
+#, python-format
+msgid "Warning: Group %s does not exist."
+msgstr "Waarschuwing: Groep %s bestaat niet."
+
+#: ../cli.py:1883
+msgid "No packages in any requested group available to install or update"
+msgstr "Geen pakketten in welke gewenste groep dan ook beschikbaar om te installeren of bij te werken"
+
+#: ../cli.py:1885
+#, python-format
+msgid "%d package to Install"
+msgid_plural "%d packages to Install"
+msgstr[0] "%d pakket te installeren"
+msgstr[1] "%d pakketten te installeren"
+
+#: ../cli.py:1919 ../yum/__init__.py:3536 ../yum/__init__.py:3766
+#: ../yum/__init__.py:3824
+#, python-format
+msgid "No Environment named %s exists"
+msgstr "Er bestaat geen omgeving met de naam %s"
+
+#: ../cli.py:1935 ../yum/__init__.py:4282
+#, python-format
+msgid "No group named %s exists"
+msgstr "Geen enkele groep met de naam %s bestaat"
+
+#: ../cli.py:1945
+msgid "No packages to remove from groups"
+msgstr "Geen pakketten om uit de groepen te verwijderen"
+
+#: ../cli.py:1947 ../yumcommands.py:3351
+#, python-format
+msgid "%d package to remove"
+msgid_plural "%d packages to remove"
+msgstr[0] "%d pakket te verwijderen"
+msgstr[1] "%d pakketten te verwijderen"
+
+#: ../cli.py:1988
+#, python-format
+msgid "Package %s is already installed, skipping"
+msgstr "Pakket %s is reeds geïnstalleerd, overslaan"
+
+#: ../cli.py:1999
+#, python-format
+msgid "Discarding non-comparable pkg %s.%s"
+msgstr "Afwijzen van niet-vergelijkbare pkg %s.%s"
+
+#. we've not got any installed that match n or n+a
+#: ../cli.py:2025
+#, python-format
+msgid "No other %s installed, adding to list for potential install"
+msgstr "Geen ander %s geïnstalleerd, wordt toegevoegd aan de lijst van potentieel te installeren"
+
+#: ../cli.py:2045
+msgid "Plugin Options"
+msgstr "Plugin Opties"
+
+#: ../cli.py:2057
+#, python-format
+msgid "Command line error: %s"
+msgstr "Command line error: %s"
+
+#: ../cli.py:2079
+#, python-format
+msgid ""
+"\n"
+"\n"
+"%s: %s option requires an argument"
+msgstr "\n\n%s: %s optie vereist een argument"
+
+#: ../cli.py:2147
+msgid "--color takes one of: auto, always, never"
+msgstr "--color   kies uit: auto, always, never"
+
+#. We have a relative installroot ... haha
+#: ../cli.py:2218
+#, python-format
+msgid "--installroot must be an absolute path: %s"
+msgstr "--installroot moet een absoluut pad zijn: %s"
+
+#: ../cli.py:2272
+msgid "show this help message and exit"
+msgstr "Dit helpbericht tonen en afsluiten"
+
+#: ../cli.py:2276
+msgid "be tolerant of errors"
+msgstr "fout-tolerant zijn"
+
+#: ../cli.py:2279
+msgid "run entirely from system cache, don't update cache"
+msgstr "draai volledig uit systeemcache, werk cachegeheugen niet bij"
+
+#: ../cli.py:2282
+msgid "config file location"
+msgstr "locatie config-bestand"
+
+#: ../cli.py:2285
+msgid "maximum command wait time"
+msgstr "maximale wachttijd commando"
+
+#: ../cli.py:2287
+msgid "debugging output level"
+msgstr "debugging output niveau"
+
+#: ../cli.py:2291
+msgid "show duplicates, in repos, in list/search commands"
+msgstr "laat dubbelen zien, in de repo's, in lijst/zoek-opdrachten"
+
+#: ../cli.py:2296
+msgid "error output level"
+msgstr "fouten output niveau"
+
+#: ../cli.py:2299
+msgid "debugging output level for rpm"
+msgstr "debugging output level voor rpm"
+
+#: ../cli.py:2302
+msgid "quiet operation"
+msgstr "stille uitvoering"
+
+#: ../cli.py:2304
+msgid "verbose operation"
+msgstr "verbose uitvoering"
+
+#: ../cli.py:2306
+msgid "answer yes for all questions"
+msgstr "antwoord ja op alle vragen"
+
+#: ../cli.py:2308
+msgid "answer no for all questions"
+msgstr "antwoord nee voor alle vragen"
+
+#: ../cli.py:2312
+msgid "show Yum version and exit"
+msgstr "Toon Yum versie en sluit af"
+
+#: ../cli.py:2313
+msgid "set install root"
+msgstr "installatie root instellen"
+
+#: ../cli.py:2317
+msgid "enable one or more repositories (wildcards allowed)"
+msgstr "aanzetten één of meerdere repositories (wildcards toegestaan)"
+
+#: ../cli.py:2321
+msgid "disable one or more repositories (wildcards allowed)"
+msgstr "uitschakelen één of meerdere repositories (wildcards toegestaan)"
+
+#: ../cli.py:2324
+msgid "exclude package(s) by name or glob"
+msgstr "uitsluiten pakket(ten) op naam of globaal"
+
+#: ../cli.py:2326
+msgid "disable exclude from main, for a repo or for everything"
+msgstr "uitschakelen Uitsluiting van 'main', voor een repo of voor alles"
+
+#: ../cli.py:2329
+msgid "enable obsoletes processing during updates"
+msgstr "aanzetten Verwerking verouderde pakketten tijdens updates"
+
+#: ../cli.py:2331
+msgid "disable Yum plugins"
+msgstr "uitschakelen Yum plug-ins"
+
+#: ../cli.py:2333
+msgid "disable gpg signature checking"
+msgstr "uitschakelen GPG signature controleren"
+
+#: ../cli.py:2335
+msgid "disable plugins by name"
+msgstr "uitschakelen plugins op naam"
+
+#: ../cli.py:2338
+msgid "enable plugins by name"
+msgstr "aanzetten plugins op naam"
+
+#: ../cli.py:2341
+msgid "skip packages with depsolving problems"
+msgstr "sla pakketten met afhankelijkheidsproblemen over"
+
+#: ../cli.py:2343
+msgid "control whether color is used"
+msgstr "bepalen of kleur wordt gebruikt"
+
+#: ../cli.py:2345
+msgid "set value of $releasever in yum config and repo files"
+msgstr "instellen waarde van $releasever in yum config en repo-bestanden"
+
+#: ../cli.py:2347
+msgid "don't update, just download"
+msgstr "niet updaten, alleen downloaden"
+
+#: ../cli.py:2349
+msgid "specifies an alternate directory to store packages"
+msgstr "geeft een andere map op om pakketten in op te slaan"
+
+#: ../cli.py:2351
+msgid "set arbitrary config and repo options"
+msgstr "instellen arbitraire config en repo-opties"
+
+#: ../output.py:458
+msgid "Jan"
+msgstr "Jan"
+
+#: ../output.py:458
+msgid "Feb"
+msgstr "Feb"
+
+#: ../output.py:458
+msgid "Mar"
+msgstr "Mrt"
+
+#: ../output.py:458
+msgid "Apr"
+msgstr "Apr"
+
+#: ../output.py:458
+msgid "May"
+msgstr "Mei"
+
+#: ../output.py:458
+msgid "Jun"
+msgstr "Jun"
+
+#: ../output.py:459
+msgid "Jul"
+msgstr "Jul"
+
+#: ../output.py:459
+msgid "Aug"
+msgstr "Aug"
+
+#: ../output.py:459
+msgid "Sep"
+msgstr "Sep"
+
+#: ../output.py:459
+msgid "Oct"
+msgstr "Okt"
+
+#: ../output.py:459
+msgid "Nov"
+msgstr "Nov"
+
+#: ../output.py:459
+msgid "Dec"
+msgstr "Dec"
+
+#: ../output.py:473
+msgid "Trying other mirror."
+msgstr "Proberen andere mirror..."
+
+#: ../output.py:816
+#, python-format
+msgid "Name        : %s%s%s"
+msgstr "Naam        : %s %s %s"
+
+#: ../output.py:817
+#, python-format
+msgid "Arch        : %s"
+msgstr "Arch        : %s"
+
+#: ../output.py:819
+#, python-format
+msgid "Epoch       : %s"
+msgstr "Epoch       : %s"
+
+#: ../output.py:820
+#, python-format
+msgid "Version     : %s"
+msgstr "Versie      : %s"
+
+#: ../output.py:821
+#, python-format
+msgid "Release     : %s"
+msgstr "Release     : %s"
+
+#: ../output.py:822
+#, python-format
+msgid "Size        : %s"
+msgstr "Grootte     : %s"
+
+#: ../output.py:823 ../output.py:1329
+#, python-format
+msgid "Repo        : %s"
+msgstr "Repo        : %s"
+
+#: ../output.py:825
+#, python-format
+msgid "From repo   : %s"
+msgstr "Van  repo   : %s"
+
+#: ../output.py:827
+#, python-format
+msgid "Committer   : %s"
+msgstr "Indiener    : %s"
+
+#: ../output.py:828
+#, python-format
+msgid "Committime  : %s"
+msgstr "Ingediend op: %s"
+
+#: ../output.py:829
+#, python-format
+msgid "Buildtime   : %s"
+msgstr "Bouwtijd    : %s"
+
+#: ../output.py:831
+#, python-format
+msgid "Install time: %s"
+msgstr "Installeertijd    : %s"
+
+#: ../output.py:839
+#, python-format
+msgid "Installed by: %s"
+msgstr "Geïnstalleerd door: %s"
+
+#: ../output.py:846
+#, python-format
+msgid "Changed by  : %s"
+msgstr "Gewijzigd door    : %s"
+
+#: ../output.py:847
+msgid "Summary     : "
+msgstr "Samenvatting: "
+
+#: ../output.py:849 ../output.py:1345
+#, python-format
+msgid "URL         : %s"
+msgstr "URL         : %s"
+
+#: ../output.py:850
+msgid "License     : "
+msgstr "Licentie    : "
+
+#: ../output.py:851 ../output.py:1342
+msgid "Description : "
+msgstr "Beschrijving: "
+
+#: ../output.py:969
+msgid "y"
+msgstr "y"
+
+#: ../output.py:969
+msgid "yes"
+msgstr "yes"
+
+#: ../output.py:970
+msgid "n"
+msgstr "n"
+
+#: ../output.py:970
+msgid "no"
+msgstr "no"
+
+#: ../output.py:974
+msgid "Is this ok [y/N]: "
+msgstr "Is dit ok [y / N]:"
+
+#: ../output.py:1097
+#, python-format
+msgid ""
+"\n"
+"Group: %s"
+msgstr "\nGroep: %s"
+
+#: ../output.py:1101
+#, python-format
+msgid " Group-Id: %s"
+msgstr " Group-Id: %s"
+
+#: ../output.py:1122 ../output.py:1169
+#, python-format
+msgid " Description: %s"
+msgstr " Beschrijving: %s"
+
+#: ../output.py:1124
+#, python-format
+msgid " Language: %s"
+msgstr " Taal: %s"
+
+#: ../output.py:1126
+msgid " Mandatory Packages:"
+msgstr " Verplichte pakketten:"
+
+#: ../output.py:1127
+msgid " Default Packages:"
+msgstr "Standaard Pakketten:"
+
+#: ../output.py:1128
+msgid " Optional Packages:"
+msgstr " Optionele pakketten:"
+
+#: ../output.py:1129
+msgid " Conditional Packages:"
+msgstr " Voorwaardelijke Pakketten:"
+
+#: ../output.py:1147
+msgid " Installed Packages:"
+msgstr " Geïnstalleerde Pakketten:"
+
+#: ../output.py:1157
+#, python-format
+msgid ""
+"\n"
+"Environment Group: %s"
+msgstr "\nOmgevingsgroep: %s"
+
+#: ../output.py:1158
+#, python-format
+msgid " Environment-Id: %s"
+msgstr "Omgevings-id: %s"
+
+#: ../output.py:1191
+msgid " Mandatory Groups:"
+msgstr "Verplichte groepen:"
+
+#: ../output.py:1192
+msgid " Optional Groups:"
+msgstr "Optionele groepen:"
+
+#: ../output.py:1205
+msgid " Installed Groups:"
+msgstr "Geïnstalleerde groepen:"
+
+#: ../output.py:1217
+#, python-format
+msgid "package: %s"
+msgstr "pakket: %s"
+
+#: ../output.py:1219
+msgid "  No dependencies for this package"
+msgstr "  Geen afhankelijkheden voor dit pakket"
+
+#: ../output.py:1224
+#, python-format
+msgid "  dependency: %s"
+msgstr "  afhankelijkheid: %s"
+
+#: ../output.py:1226
+msgid "   Unsatisfied dependency"
+msgstr "   Onvervulde afhankelijkheid"
+
+#: ../output.py:1337
+msgid "Matched from:"
+msgstr "Match uit:"
+
+#: ../output.py:1348
+#, python-format
+msgid "License     : %s"
+msgstr "Licentie    : %s"
+
+#: ../output.py:1351
+#, python-format
+msgid "Filename    : %s"
+msgstr "Bestandsnaam: %s"
+
+#: ../output.py:1360
+msgid "Provides    : "
+msgstr "Levert    : "
+
+#: ../output.py:1363
+msgid "Other       : "
+msgstr "Andere      : "
+
+#: ../output.py:1426
+msgid "There was an error calculating total download size"
+msgstr "Er is een fout opgetreden bij de berekening van de totale download-grootte"
+
+#: ../output.py:1431
+#, python-format
+msgid "Total size: %s"
+msgstr "Totale grootte: %s"
+
+#: ../output.py:1433
+#, python-format
+msgid "Total download size: %s"
+msgstr "Totale download grootte: %s"
+
+#: ../output.py:1436 ../output.py:1459 ../output.py:1463
+#, python-format
+msgid "Installed size: %s"
+msgstr "Geïnstalleerde grootte: %s"
+
+#: ../output.py:1454
+msgid "There was an error calculating installed size"
+msgstr "Er was een fout bij het berekenen van geïnstalleerde grootte"
+
+#: ../output.py:1504
+msgid "Reinstalling"
+msgstr "Herinstalleren"
+
+#: ../output.py:1505
+msgid "Downgrading"
+msgstr "Downgrading"
+
+#: ../output.py:1506
+msgid "Installing for dependencies"
+msgstr "Installeren vanwege afhankelijkheden"
+
+#: ../output.py:1507
+msgid "Updating for dependencies"
+msgstr "Updaten vanwege afhankelijkheden"
+
+#: ../output.py:1508
+msgid "Removing for dependencies"
+msgstr "Verwijderen vanwege afhankelijkheden"
+
+#: ../output.py:1515 ../output.py:1576 ../output.py:1672
+msgid "Skipped (dependency problems)"
+msgstr "Overgeslagen (afhankelijkheidsproblemen)"
+
+#: ../output.py:1517 ../output.py:1577 ../output.py:2223
+msgid "Not installed"
+msgstr "Niet geïnstalleerd"
+
+#: ../output.py:1518 ../output.py:1578
+msgid "Not available"
+msgstr "Niet beschikbaar"
+
+#: ../output.py:1540 ../output.py:1588 ../output.py:1604 ../output.py:2581
+msgid "Package"
+msgid_plural "Packages"
+msgstr[0] "Pakket"
+msgstr[1] "Pakketten"
+
+#: ../output.py:1540
+msgid "Arch"
+msgstr "Arch"
+
+#: ../output.py:1541
+msgid "Version"
+msgstr "Versie"
+
+#: ../output.py:1541
+msgid "Repository"
+msgstr "Repository"
+
+#: ../output.py:1542
+msgid "Size"
+msgstr "Grootte"
+
+#: ../output.py:1554
+#, python-format
+msgid "     replacing  %s%s%s.%s %s\n"
+msgstr "    vervangen van %s%s%s.%s%s\n"
+
+#: ../output.py:1563
+#, python-format
+msgid ""
+"\n"
+"Transaction Summary\n"
+"%s\n"
+msgstr "\nTransactie Samenvatting\n%s\n"
+
+#: ../output.py:1568 ../output.py:2376 ../output.py:2377
+msgid "Install"
+msgstr "Installeren"
+
+#: ../output.py:1570
+msgid "Upgrade"
+msgstr "Upgrade"
+
+#: ../output.py:1572
+msgid "Remove"
+msgstr "Verwijderen"
+
+#: ../output.py:1574 ../output.py:2382
+msgid "Reinstall"
+msgstr "Herinstalleren"
+
+#: ../output.py:1575 ../output.py:2383
+msgid "Downgrade"
+msgstr "Downgrade"
+
+#: ../output.py:1606
+msgid "Dependent package"
+msgid_plural "Dependent packages"
+msgstr[0] "Afhankelijk pakket"
+msgstr[1] "Afhankelijke pakketten"
+
+#: ../output.py:1666
+msgid "Removed"
+msgstr "Verwijderd"
+
+#: ../output.py:1667
+msgid "Dependency Removed"
+msgstr "Afhankelijkheid verwijderd"
+
+#: ../output.py:1669
+msgid "Dependency Installed"
+msgstr "Afhankelijkheid geïnstalleerd"
+
+#: ../output.py:1671
+msgid "Dependency Updated"
+msgstr "Afhankelijkheid bijgewerkt"
+
+#: ../output.py:1673
+msgid "Replaced"
+msgstr "Vervangen"
+
+#: ../output.py:1674
+msgid "Failed"
+msgstr "Mislukt"
+
+#. Delta between C-c's so we treat as exit
+#: ../output.py:1764
+msgid "two"
+msgstr "twee"
+
+#. For translators: This is output like:
+#. Current download cancelled, interrupt (ctrl-c) again within two seconds
+#. to exit.
+#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
+#: ../output.py:1775
+#, python-format
+msgid ""
+"\n"
+" Current download cancelled, %sinterrupt (ctrl-c) again%s within %s%s%s seconds\n"
+"to exit.\n"
+msgstr "\nHuidige download geannuleerd, %sinterrupt (ctrl-c) nogmaals%s binnen %s%s%s seconden \nom af te sluiten.\n"
+
+#: ../output.py:1786
+msgid "user interrupt"
+msgstr "onderbreking door gebruiker"
+
+#: ../output.py:1812
+msgid "Total"
+msgstr "Totaal"
+
+#: ../output.py:1834
+msgid "I"
+msgstr "I"
+
+#: ../output.py:1835
+msgid "O"
+msgstr "O"
+
+#: ../output.py:1836
+msgid "E"
+msgstr "E"
+
+#: ../output.py:1837
+msgid "R"
+msgstr "R"
+
+#: ../output.py:1838
+msgid "D"
+msgstr "D"
+
+#: ../output.py:1839
+msgid "U"
+msgstr "U"
+
+#: ../output.py:1853
+msgid "<unset>"
+msgstr "<unset>"
+
+#: ../output.py:1854
+msgid "System"
+msgstr "Systeem"
+
+#: ../output.py:1923
+#, python-format
+msgid "Skipping merged transaction %d to %d, as it overlaps"
+msgstr "Overslaan van samengevoegde transactie %d tot %d, omdat dat overlapt"
+
+#: ../output.py:1933 ../output.py:2125
+msgid "No transactions"
+msgstr "Geen transacties"
+
+#: ../output.py:1958 ../output.py:2570 ../output.py:2660
+msgid "Bad transaction IDs, or package(s), given"
+msgstr "Slechte transactie-ID's, of pakket(ten), gegeven"
+
+#: ../output.py:2007
+msgid "Command line"
+msgstr "Commando lijn"
+
+#: ../output.py:2009 ../output.py:2458
+msgid "Login user"
+msgstr "Login gebruiker"
+
+#. REALLY Needs to use columns!
+#: ../output.py:2010 ../output.py:2579
+msgid "ID"
+msgstr "ID"
+
+#: ../output.py:2012
+msgid "Date and time"
+msgstr "Datum en tijd"
+
+#: ../output.py:2013 ../output.py:2460 ../output.py:2580
+msgid "Action(s)"
+msgstr "Actie(s)"
+
+#: ../output.py:2014 ../output.py:2461
+msgid "Altered"
+msgstr "Veranderd"
+
+#: ../output.py:2061
+msgid "No transaction ID given"
+msgstr "Geen transactie-ID opgegeven"
+
+#: ../output.py:2087 ../output.py:2526
+msgid "Bad transaction ID given"
+msgstr "Onjuiste transactie-ID opgegeven"
+
+#: ../output.py:2092
+msgid "Not found given transaction ID"
+msgstr "Opgegeven transactie-ID niet gevonden"
+
+#: ../output.py:2100
+msgid "Found more than one transaction ID!"
+msgstr "Vond meer dan één transactie ID!"
+
+#: ../output.py:2151 ../output.py:2534
+msgid "No transaction ID, or package, given"
+msgstr "Geen transactie-ID, of pakket, opgegeven"
+
+#: ../output.py:2222 ../output.py:2384
+msgid "Downgraded"
+msgstr "Downgraded"
+
+#: ../output.py:2224
+msgid "Older"
+msgstr "Ouder"
+
+#: ../output.py:2224
+msgid "Newer"
+msgstr "Nieuwer"
+
+#: ../output.py:2261 ../output.py:2263 ../output.py:2681
+msgid "Transaction ID :"
+msgstr "Transactie-ID:"
+
+#: ../output.py:2265 ../output.py:2683
+msgid "Begin time     :"
+msgstr "Starttijd      :"
+
+#: ../output.py:2268 ../output.py:2270
+msgid "Begin rpmdb    :"
+msgstr "Begin rpmdb    :"
+
+#: ../output.py:2286
+#, python-format
+msgid "(%u seconds)"
+msgstr "(%u seconden)"
+
+#: ../output.py:2288
+#, python-format
+msgid "(%u minutes)"
+msgstr "(%u minuten)"
+
+#: ../output.py:2290
+#, python-format
+msgid "(%u hours)"
+msgstr "(%u uur)"
+
+#: ../output.py:2292
+#, python-format
+msgid "(%u days)"
+msgstr "(%u dagen)"
+
+#: ../output.py:2293
+msgid "End time       :"
+msgstr "Eindtijd       :"
+
+#: ../output.py:2296 ../output.py:2298
+msgid "End rpmdb      :"
+msgstr "Einde rpmdb    :"
+
+#: ../output.py:2301 ../output.py:2303
+msgid "User           :"
+msgstr "Gebruiker      :"
+
+#: ../output.py:2307 ../output.py:2310 ../output.py:2312 ../output.py:2314
+#: ../output.py:2316
+msgid "Return-Code    :"
+msgstr "Return-Code    :"
+
+#: ../output.py:2307 ../output.py:2312
+msgid "Aborted"
+msgstr "Afgebroken"
+
+#: ../output.py:2310
+msgid "Failures:"
+msgstr "Mislukkingen:"
+
+#: ../output.py:2314
+msgid "Failure:"
+msgstr "Falen:"
+
+#: ../output.py:2316
+msgid "Success"
+msgstr "Succes"
+
+#: ../output.py:2321 ../output.py:2323 ../output.py:2712
+msgid "Command Line   :"
+msgstr "Commando Lijn   :"
+
+#: ../output.py:2332
+#, python-format
+msgid "Additional non-default information stored: %d"
+msgstr "Extra niet-standaardinfo opgeslagen: %d"
+
+#. This is _possible_, but not common
+#: ../output.py:2337
+msgid "Transaction performed with:"
+msgstr "Transactie uitgevoerd met:"
+
+#: ../output.py:2341
+msgid "Packages Altered:"
+msgstr "Pakketten veranderd:"
+
+#: ../output.py:2345
+msgid "Packages Skipped:"
+msgstr "Pakketten overgeslagen:"
+
+#: ../output.py:2353
+msgid "Rpmdb Problems:"
+msgstr "Rpmdb Problemen:"
+
+#: ../output.py:2364
+msgid "Scriptlet output:"
+msgstr "Scriptlet output:"
+
+#: ../output.py:2370
+msgid "Errors:"
+msgstr "Fouten:"
+
+#: ../output.py:2378
+msgid "Dep-Install"
+msgstr "Dep-Installeren"
+
+#: ../output.py:2380
+msgid "Obsoleting"
+msgstr "Als verouderd aanmerken"
+
+#: ../output.py:2381
+msgid "Erase"
+msgstr "Wissen"
+
+#: ../output.py:2385
+msgid "Update"
+msgstr "Update"
+
+#: ../output.py:2459
+msgid "Time"
+msgstr "Tijd"
+
+#: ../output.py:2485
+msgid "Last day"
+msgstr "Gisteren"
+
+#: ../output.py:2486
+msgid "Last week"
+msgstr "Vorige week"
+
+#: ../output.py:2487
+msgid "Last 2 weeks"
+msgstr "Laatste 2 weken"
+
+#. US default :p
+#: ../output.py:2488
+msgid "Last 3 months"
+msgstr "Laatste 3 maanden"
+
+#: ../output.py:2489
+msgid "Last 6 months"
+msgstr "Laatste 6 maanden"
+
+#: ../output.py:2490
+msgid "Last year"
+msgstr "Afgelopen jaar"
+
+#: ../output.py:2491
+msgid "Over a year ago"
+msgstr "Ruim een ​​jaar geleden"
+
+#: ../output.py:2538
+#, python-format
+msgid "No Transaction %s found"
+msgstr "Geen transactie %s gevonden"
+
+#: ../output.py:2544
+msgid "Transaction ID:"
+msgstr "Transactie-ID:"
+
+#: ../output.py:2545
+msgid "Available additional history information:"
+msgstr "Beschikbare extra historische informatie:"
+
+#: ../output.py:2558
+#, python-format
+msgid "%s: No additional data found by this name"
+msgstr "%s: Geen aanvullende gegevens gevonden met deze naam"
+
+#: ../output.py:2684
+msgid "Package        :"
+msgstr "Pakket         :"
+
+#: ../output.py:2685
+msgid "State          :"
+msgstr "Status         :"
+
+#: ../output.py:2688
+msgid "Size           :"
+msgstr "Grootte        :"
+
+#: ../output.py:2690
+msgid "Build host     :"
+msgstr "Build host     :"
+
+#: ../output.py:2693
+msgid "Build time     :"
+msgstr "Build time     :"
+
+#: ../output.py:2695
+msgid "Packager       :"
+msgstr "Packager       :"
+
+#: ../output.py:2697
+msgid "Vendor         :"
+msgstr "Verkoper       :"
+
+#: ../output.py:2699
+msgid "License        :"
+msgstr "Licentie       :"
+
+#: ../output.py:2701
+msgid "URL            :"
+msgstr "URL            :"
+
+#: ../output.py:2703
+msgid "Source RPM     :"
+msgstr "Source RPM     :"
+
+#: ../output.py:2706
+msgid "Commit Time    :"
+msgstr "Commit Tijd    :"
+
+#: ../output.py:2708
+msgid "Committer      :"
+msgstr "Committer      :"
+
+#: ../output.py:2710
+msgid "Reason         :"
+msgstr "Reden          :"
+
+#: ../output.py:2714
+msgid "From repo      :"
+msgstr "Van repo       :"
+
+#: ../output.py:2718
+msgid "Installed by   :"
+msgstr "Geïnstalleerd door:"
+
+#: ../output.py:2722
+msgid "Changed by     :"
+msgstr "Gewijzigd door :"
+
+#: ../output.py:2767
+msgid "installed"
+msgstr "geïnstalleerd"
+
+#: ../output.py:2768
+msgid "an update"
+msgstr "een update"
+
+#: ../output.py:2769
+msgid "erased"
+msgstr "gewist"
+
+#: ../output.py:2770
+msgid "reinstalled"
+msgstr "opnieuw geïnstalleerd"
+
+#: ../output.py:2771
+msgid "a downgrade"
+msgstr "een downgrade"
+
+#: ../output.py:2772
+msgid "obsoleting"
+msgstr "als verouderd aanmerken"
+
+#: ../output.py:2773
+msgid "updated"
+msgstr "bijgewerkt"
+
+#: ../output.py:2774
+msgid "obsoleted"
+msgstr "als verouderd aangemerkt"
+
+#: ../output.py:2778
+#, python-format
+msgid "---> Package %s.%s %s:%s-%s will be %s"
+msgstr "---> Pakket %s.%s %s:%s-%s wordt %s"
+
+#: ../output.py:2789
+msgid "--> Running transaction check"
+msgstr "--> Transactiecontrole uitvoeren"
+
+#: ../output.py:2795
+msgid "--> Restarting Dependency Resolution with new changes."
+msgstr "--> Herstarten Oplossen Afhankelijkheden met de nieuwe gegevens"
+
+#: ../output.py:2801
+msgid "--> Finished Dependency Resolution"
+msgstr "--> Klaar met oplossen afhankelijkheden"
+
+#: ../output.py:2814 ../output.py:2827
+#, python-format
+msgid "--> Processing Dependency: %s for package: %s"
+msgstr "--> Verwerking afhankelijkheid: %s voor pakket: %s"
+
+#: ../output.py:2841
+#, python-format
+msgid "---> Keeping package: %s due to %s"
+msgstr "---> Behouden van pakket: %s vanwege %s"
+
+#: ../output.py:2850
+#, python-format
+msgid "--> Unresolved Dependency: %s"
+msgstr "--> Onopgeloste afhankelijkheid: %s"
+
+#: ../output.py:2867
+#, python-format
+msgid "Package: %s"
+msgstr "Pakket: %s"
+
+#: ../output.py:2869
+#, python-format
+msgid ""
+"\n"
+"    Requires: %s"
+msgstr "\n     Vereist: %s"
+
+#: ../output.py:2878
+#, python-format
+msgid ""
+"\n"
+"    %s: %s (%s)"
+msgstr "\n    %s: %s (%s)"
+
+#: ../output.py:2883
+#, python-format
+msgid ""
+"\n"
+"        %s"
+msgstr "\n        %s"
+
+#: ../output.py:2885
+msgid ""
+"\n"
+"        Not found"
+msgstr "\n        Niet gevonden"
+
+#. These should be the only three things we care about:
+#: ../output.py:2900
+msgid "Updated By"
+msgstr "Bijgewerkt door"
+
+#: ../output.py:2901
+msgid "Downgraded By"
+msgstr "Downgraded door"
+
+#: ../output.py:2902
+msgid "Obsoleted By"
+msgstr "Nieuwer pakket is:"
+
+#: ../output.py:2920
+msgid "Available"
+msgstr "Beschikbaar"
+
+#: ../output.py:2955 ../output.py:2968
+#, python-format
+msgid "--> Processing Conflict: %s conflicts %s"
+msgstr "--> Verwerking Conflict: %s %s conflicteren"
+
+#: ../output.py:2974
+msgid "--> Populating transaction set with selected packages. Please wait."
+msgstr "--> De transactieset wordt met de geselecteerde pakketten gevuld. Een ogenblikje geduld."
+
+#: ../output.py:2983
+#, python-format
+msgid "---> Downloading header for %s to pack into transaction set."
+msgstr "---> Downloaden header voor %s om in de transactie op te nemen."
+
+#. self.event(txmbr.name, count, len(base.tsInfo), count, )
+#. (te_current*100L)/te_total
+#: ../output.py:3248
+msgid "Verifying"
+msgstr "Verifiëren"
+
+#: ../utils.py:123
+msgid "Running"
+msgstr "Uitvoeren"
+
+#: ../utils.py:124
+msgid "Sleeping"
+msgstr "Slapen"
+
+#: ../utils.py:125
+msgid "Uninterruptible"
+msgstr "Ononderbroken"
+
+#: ../utils.py:126
+msgid "Zombie"
+msgstr "Zombie"
+
+#: ../utils.py:127
+msgid "Traced/Stopped"
+msgstr "Getraceerd / Gestopt"
+
+#: ../utils.py:128 ../yumcommands.py:2193
+msgid "Unknown"
+msgstr "Onbekend"
+
+#: ../utils.py:153
+msgid "  The other application is: PackageKit"
+msgstr "  De andere toepassing is: PackageKit"
+
+#: ../utils.py:155
+#, python-format
+msgid "  The other application is: %s"
+msgstr "  De andere toepassing is: %s"
+
+#: ../utils.py:158
+#, python-format
+msgid "    Memory : %5s RSS (%5sB VSZ)"
+msgstr "    Memory : %5s RSS (%5sB VSZ)"
+
+#: ../utils.py:163
+#, python-format
+msgid "    Started: %s - %s ago"
+msgstr "    Gestart: %s - %s geleden"
+
+#: ../utils.py:165
+#, python-format
+msgid "    State  : %s, pid: %d"
+msgstr "    Status  : %s, pid: %d"
+
+#: ../utils.py:194 ../yummain.py:43
+msgid ""
+"\n"
+"\n"
+"Exiting on user cancel"
+msgstr "\n\nBeëindigen vanwege afbreken door gebruiker"
+
+#: ../utils.py:206 ../yummain.py:49
+msgid ""
+"\n"
+"\n"
+"Exiting on Broken Pipe"
+msgstr "\n\nBeëindigen vanwege Broken Pipe"
+
+#: ../utils.py:208 ../yummain.py:51
+#, python-format
+msgid ""
+"\n"
+"\n"
+"%s"
+msgstr "\n\n%s"
+
+#: ../utils.py:326
+#, python-format
+msgid "PluginExit Error: %s"
+msgstr "PluginExit Fout: %s"
+
+#: ../utils.py:329
+#, python-format
+msgid "Yum Error: %s"
+msgstr "Yum Fout: %s"
+
+#: ../utils.py:387 ../yummain.py:147 ../yummain.py:186
+#, python-format
+msgid "Error: %s"
+msgstr "Fout: %s"
+
+#: ../utils.py:391 ../yummain.py:191
+msgid " You could try using --skip-broken to work around the problem"
+msgstr " Je zou kunnen proberen met behulp van --skip-broken het probleem te omzeilen"
+
+#: ../utils.py:393 ../yummain.py:87
+msgid " You could try running: rpm -Va --nofiles --nodigest"
+msgstr " Je zou kunnen proberen: rpm -Va --nofiles --nodigest"
+
+#: ../utils.py:400 ../yummain.py:157 ../yummain.py:199
+#, python-format
+msgid "Unknown Error(s): Exit Code: %d:"
+msgstr "Onbekende fout(en): Exit Code: %d:"
+
+#: ../utils.py:406 ../yummain.py:205
+msgid ""
+"\n"
+"Dependencies Resolved"
+msgstr "\nAfhankelijkheden opgelost"
+
+#: ../utils.py:422 ../yummain.py:237
+msgid "Complete!"
+msgstr "Compleet!"
+
+#: ../yumcommands.py:42
+msgid " Mini usage:\n"
+msgstr " Minimaal gebruik:\n"
+
+#: ../yumcommands.py:52
+msgid "You need to be root to perform this command."
+msgstr "U moet root zijn om dit commando uit te voeren."
+
+#: ../yumcommands.py:67
+msgid ""
+"\n"
+"You have enabled checking of packages via GPG keys. This is a good thing. \n"
+"However, you do not have any GPG public keys installed. You need to download\n"
+"the keys for packages you wish to install and install them.\n"
+"You can do that by running the command:\n"
+"    rpm --import public.gpg.key\n"
+"\n"
+"\n"
+"Alternatively you can specify the url to the key you would like to use\n"
+"for a repository in the 'gpgkey' option in a repository section and yum \n"
+"will install it for you.\n"
+"\n"
+"For more information contact your distribution or package provider.\n"
+msgstr "\nJe hebt het controleren van pakketten via GPG-sleutes aanstaan. Dat is een goede keuze.\nJe hebt echter geen publieke GPG-sleutels geïnstalleerd.\nDownload sleutels voor pakketten die je wilt installeren en\nimporteer deze daarna.\nImporteren kan je doen met het commando:\n    rpm --import public.gpg.key\n\n\nAlternatief is, de URL van de sleutel van de repo die je wil gebruiken, als 'gpgkey'-optie opnemen in een repo-sectie.\nYum installeert deze dan 'automagisch' voor u.\n\nInformeer bij de mensen van je distributie of van het pakket.\n"
+
+#: ../yumcommands.py:82
+#, python-format
+msgid "Problem repository: %s"
+msgstr "Probleem repository: %s"
+
+#: ../yumcommands.py:96
+#, python-format
+msgid "Error: Need to pass a list of pkgs to %s"
+msgstr "Fout: Lijst van Pkgs nodig om door te geven aan %s"
+
+#: ../yumcommands.py:114
+#, python-format
+msgid "Error: Need at least two packages to %s"
+msgstr "Fout: Tenminste twee pakketten nodig om %s"
+
+#: ../yumcommands.py:129
+#, python-format
+msgid "Error: Need to pass a repoid. and command to %s"
+msgstr "Fout: Moet een repo-id en commando doorgeven aan %s"
+
+#: ../yumcommands.py:136 ../yumcommands.py:142
+#, python-format
+msgid "Error: Need to pass a single valid repoid. to %s"
+msgstr "Fout: Moet een enkel, geldig repo-id doorgeven aan %s"
+
+#: ../yumcommands.py:147
+#, python-format
+msgid "Error: Repo %s is not enabled"
+msgstr "Fout: Repo %s is niet ingeschakeld"
+
+#: ../yumcommands.py:164
+msgid "Error: Need an item to match"
+msgstr "Fout: Item om te vergelijken nodig"
+
+#: ../yumcommands.py:178
+msgid "Error: Need a group or list of groups"
+msgstr "Fout: Een groep of lijst van groepen nodig"
+
+#: ../yumcommands.py:195
+#, python-format
+msgid "Error: clean requires an option: %s"
+msgstr "Fout: clean vereist een optie: %s"
+
+#: ../yumcommands.py:201
+#, python-format
+msgid "Error: invalid clean argument: %r"
+msgstr "Fout: ongeldige clean argument: %r"
+
+#: ../yumcommands.py:216
+msgid "No argument to shell"
+msgstr "Geen argument voor shell"
+
+#: ../yumcommands.py:218
+#, python-format
+msgid "Filename passed to shell: %s"
+msgstr "Bestandsnaam doorgegeven aan shell: %s"
+
+#: ../yumcommands.py:222
+#, python-format
+msgid "File %s given as argument to shell does not exist."
+msgstr "Bestand %s gegeven als argument aan shell bestaat niet."
+
+#: ../yumcommands.py:228
+msgid "Error: more than one file given as argument to shell."
+msgstr "Fout: meer dan één bestand gegeven als argument aan shell."
+
+#: ../yumcommands.py:247
+msgid ""
+"There are no enabled repos.\n"
+" Run \"yum repolist all\" to see the repos you have.\n"
+" You can enable repos with yum-config-manager --enable <repo>"
+msgstr "Er zijn geen ingeschakeld repo's. \nRun \"yum repolist all\" om de repo's die je hebt te zien. \nJe kunt de repo's met yum-config-manager --enable <repo> instellen"
+
+#: ../yumcommands.py:383
+msgid "PACKAGE..."
+msgstr "PAKKET..."
+
+#: ../yumcommands.py:390
+msgid "Install a package or packages on your system"
+msgstr "Installeer een pakket of pakketten op je systeem"
+
+#: ../yumcommands.py:421
+msgid "Setting up Install Process"
+msgstr "Opzetten van installatieproces"
+
+#: ../yumcommands.py:447 ../yumcommands.py:507
+msgid "[PACKAGE...]"
+msgstr "[PAKKET...]"
+
+#: ../yumcommands.py:454
+msgid "Update a package or packages on your system"
+msgstr "Update een pakket of pakketten op je systeem"
+
+#: ../yumcommands.py:483
+msgid "Setting up Update Process"
+msgstr "Opzetten van update-proces"
+
+#: ../yumcommands.py:514
+msgid "Synchronize installed packages to the latest available versions"
+msgstr "Synchroniseren geïnstalleerde pakketten naar de nieuwste beschikbare versies"
+
+#: ../yumcommands.py:543
+msgid "Setting up Distribution Synchronization Process"
+msgstr "Opzetten van distributie synchronisatie proces"
+
+#: ../yumcommands.py:603
+msgid "Display details about a package or group of packages"
+msgstr "Weergeven details van pakket of een groep pakketten"
+
+#: ../yumcommands.py:672
+msgid "Installed Packages"
+msgstr "Geïnstalleerde pakketten"
+
+#: ../yumcommands.py:682
+msgid "Available Packages"
+msgstr "Beschikbare pakketten"
+
+#: ../yumcommands.py:687
+msgid "Extra Packages"
+msgstr "Extra pakketten"
+
+#: ../yumcommands.py:691
+msgid "Updated Packages"
+msgstr "Bijgewerkte pakketten"
+
+#. This only happens in verbose mode
+#: ../yumcommands.py:699 ../yumcommands.py:706 ../yumcommands.py:1539
+msgid "Obsoleting Packages"
+msgstr "Als verouderd aangemerkte pakketten"
+
+#: ../yumcommands.py:708
+msgid "Recently Added Packages"
+msgstr "Onlangs toegevoegde pakketten"
+
+#: ../yumcommands.py:715
+msgid "No matching Packages to list"
+msgstr "Geen passende pakketten om te tonen"
+
+#: ../yumcommands.py:766
+msgid "List a package or groups of packages"
+msgstr "Toon een pakket of groepen van pakketten"
+
+#: ../yumcommands.py:797
+msgid "Remove a package or packages from your system"
+msgstr "Verwijderen van pakket of pakketten van je systeem"
+
+#: ../yumcommands.py:845
+msgid "Setting up Remove Process"
+msgstr "Opzetten Verwijder-proces"
+
+#: ../yumcommands.py:906
+msgid "Display, or use, the groups information"
+msgstr "Toon, of gebruik, de groepen-informatie"
+
+#: ../yumcommands.py:909
+msgid "Setting up Group Process"
+msgstr "Opzetten van Groep-proces"
+
+#: ../yumcommands.py:915
+msgid "No Groups on which to run command"
+msgstr "Geen groepen waarop commando uit te voeren is"
+
+#: ../yumcommands.py:985
+#, python-format
+msgid "Invalid groups sub-command, use: %s."
+msgstr "Ongeldige groepen sub-commando, gebruik: %s."
+
+#: ../yumcommands.py:992
+msgid "There is no installed groups file."
+msgstr "Er bestaat geen geïnstalleerd groepenbestand"
+
+#: ../yumcommands.py:994
+msgid "You don't have access to the groups DB."
+msgstr "U hebt geen toegang tot de groepen DB"
+
+#: ../yumcommands.py:1256
+msgid "Generate the metadata cache"
+msgstr "Genereer de metadata-cache"
+
+#: ../yumcommands.py:1282
+msgid "Making cache files for all metadata files."
+msgstr "Maken van cache-bestanden voor alle metadata bestanden."
+
+#: ../yumcommands.py:1283
+msgid "This may take a while depending on the speed of this computer"
+msgstr "Dit kan enige tijd duren afhankelijk van de snelheid van deze computer"
+
+#: ../yumcommands.py:1312
+msgid "Metadata Cache Created"
+msgstr "Metadata Cache gemaakt"
+
+#: ../yumcommands.py:1350
+msgid "Remove cached data"
+msgstr "Verwijderen gegevens in het cachegeheugen"
+
+#: ../yumcommands.py:1417
+msgid "Find what package provides the given value"
+msgstr "Uitzoeken welk pakket de opgegeven waarde bevat"
+
+#: ../yumcommands.py:1485
+msgid "Check for available package updates"
+msgstr "Controleren beschikbaarheid update-pakketten"
+
+#: ../yumcommands.py:1587
+msgid "Search package details for the given string"
+msgstr "Doorzoeken pakketdetails voor de opgegeven string"
+
+#: ../yumcommands.py:1613
+msgid "Searching Packages: "
+msgstr "Zoeken Pakketten: "
+
+#: ../yumcommands.py:1666
+msgid "Update packages taking obsoletes into account"
+msgstr "Bijwerken pakketten met verouderde pakketten meerekenend"
+
+#: ../yumcommands.py:1696
+msgid "Setting up Upgrade Process"
+msgstr "Opzetten van Upgrade Proces"
+
+#: ../yumcommands.py:1731
+msgid "Install a local RPM"
+msgstr "Installeren lokale RPM"
+
+#: ../yumcommands.py:1761
+msgid "Setting up Local Package Process"
+msgstr "Opzetten Lokaal Pakket Proces"
+
+#: ../yumcommands.py:1825
+msgid "Searching Packages for Dependency:"
+msgstr "Opzoeken pakketten wegens afhankelijkheid:"
+
+#: ../yumcommands.py:1867
+msgid "Run an interactive yum shell"
+msgstr "Run een interactieve yum shell"
+
+#: ../yumcommands.py:1893
+msgid "Setting up Yum Shell"
+msgstr "Opzetten van Yum Shell"
+
+#: ../yumcommands.py:1936
+msgid "List a package's dependencies"
+msgstr "Toon pakketafhankelijkheden"
+
+#: ../yumcommands.py:1963
+msgid "Finding dependencies: "
+msgstr "Opzoeken van afhankelijkheden:"
+
+#: ../yumcommands.py:2005
+msgid "Display the configured software repositories"
+msgstr "Toon de geconfigureerde software repositories"
+
+#: ../yumcommands.py:2094 ../yumcommands.py:2095
+msgid "enabled"
+msgstr "ingeschakeld"
+
+#: ../yumcommands.py:2121 ../yumcommands.py:2122
+msgid "disabled"
+msgstr "uitgeschakeld"
+
+#: ../yumcommands.py:2137
+msgid "Repo-id      : "
+msgstr "Repo-id      : "
+
+#: ../yumcommands.py:2138
+msgid "Repo-name    : "
+msgstr "Repo-naam    : "
+
+#: ../yumcommands.py:2141
+msgid "Repo-status  : "
+msgstr "Repo-status  : "
+
+#: ../yumcommands.py:2144
+msgid "Repo-revision: "
+msgstr "Repo-revisie : "
+
+#: ../yumcommands.py:2148
+msgid "Repo-tags    : "
+msgstr "Repo-tags    : "
+
+#: ../yumcommands.py:2154
+msgid "Repo-distro-tags: "
+msgstr "Repo-distro-tags: "
+
+#: ../yumcommands.py:2159
+msgid "Repo-updated : "
+msgstr "Repo-updated : "
+
+#: ../yumcommands.py:2161
+msgid "Repo-pkgs    : "
+msgstr "Repo-pkgs    : "
+
+#: ../yumcommands.py:2162
+msgid "Repo-size    : "
+msgstr "Repo-grootte : "
+
+#: ../yumcommands.py:2169 ../yumcommands.py:2190
+msgid "Repo-baseurl : "
+msgstr "Repo-baseurl : "
+
+#: ../yumcommands.py:2177
+msgid "Repo-metalink: "
+msgstr "Repo-metalink: "
+
+#: ../yumcommands.py:2181
+msgid "  Updated    : "
+msgstr "  Bijgewerkt : "
+
+#: ../yumcommands.py:2184
+msgid "Repo-mirrors : "
+msgstr "Repo-mirrors : "
+
+#: ../yumcommands.py:2199
+#, python-format
+msgid "Never (last: %s)"
+msgstr "Nooit (laatste: %s)"
+
+#: ../yumcommands.py:2201
+#, python-format
+msgid "Instant (last: %s)"
+msgstr "Instant (laatste: %s)"
+
+#: ../yumcommands.py:2204
+#, python-format
+msgid "%s second(s) (last: %s)"
+msgstr "%s second(en) (vorige: %s)"
+
+#: ../yumcommands.py:2206
+msgid "Repo-expire  : "
+msgstr "Repo-expiratie: "
+
+#: ../yumcommands.py:2209
+msgid "Repo-exclude : "
+msgstr "Repo-uitsluiting : "
+
+#: ../yumcommands.py:2213
+msgid "Repo-include : "
+msgstr "Repo-inbegrepen: "
+
+#: ../yumcommands.py:2217
+msgid "Repo-excluded: "
+msgstr "Repo-uitgesloten: "
+
+#: ../yumcommands.py:2221
+msgid "Repo-filename: "
+msgstr "Repo-bestandsnaam:"
+
+#. Work out the first (id) and last (enabled/disalbed/count),
+#. then chop the middle (name)...
+#: ../yumcommands.py:2230 ../yumcommands.py:2259
+msgid "repo id"
+msgstr "repo id"
+
+#: ../yumcommands.py:2247 ../yumcommands.py:2248 ../yumcommands.py:2266
+msgid "status"
+msgstr "status"
+
+#: ../yumcommands.py:2260
+msgid "repo name"
+msgstr "repo naam"
+
+#: ../yumcommands.py:2332
+msgid "Display a helpful usage message"
+msgstr "Toon een hulpvaardig gebruiksbericht"
+
+#: ../yumcommands.py:2374
+#, python-format
+msgid "No help available for %s"
+msgstr "Geen hulp beschikbaar voor %s"
+
+#: ../yumcommands.py:2379
+msgid ""
+"\n"
+"\n"
+"aliases: "
+msgstr "\naliassen: "
+
+#: ../yumcommands.py:2381
+msgid ""
+"\n"
+"\n"
+"alias: "
+msgstr "\n\nalias: "
+
+#: ../yumcommands.py:2466
+msgid "Setting up Reinstall Process"
+msgstr "Opzetten herinstallatieproces"
+
+#: ../yumcommands.py:2478
+msgid "reinstall a package"
+msgstr "Herinstalleer een pakket"
+
+#: ../yumcommands.py:2541
+msgid "Setting up Downgrade Process"
+msgstr "Opzetten van Downgrade Proces"
+
+#: ../yumcommands.py:2552
+msgid "downgrade a package"
+msgstr "downgraden van een pakket"
+
+#: ../yumcommands.py:2591
+msgid "Display a version for the machine and/or available repos."
+msgstr "Toon een versie voor de machine en/of beschikbare repos."
+
+#: ../yumcommands.py:2643
+msgid " Yum version groups:"
+msgstr " Yum versie groepen:"
+
+#: ../yumcommands.py:2653
+msgid " Group   :"
+msgstr " Groep   :"
+
+#: ../yumcommands.py:2654
+msgid " Packages:"
+msgstr " Pakketten:"
+
+#: ../yumcommands.py:2683
+msgid "Installed:"
+msgstr "Geïnstalleerd:"
+
+#: ../yumcommands.py:2691
+msgid "Group-Installed:"
+msgstr "Groep-Geïnstalleerd:"
+
+#: ../yumcommands.py:2700
+msgid "Available:"
+msgstr "Beschikbaar:"
+
+#: ../yumcommands.py:2709
+msgid "Group-Available:"
+msgstr "Groep-Beschikbaar:"
+
+#: ../yumcommands.py:2783
+msgid "Display, or use, the transaction history"
+msgstr "Toon, of gebruik, de transactiegeschiedenis"
+
+#: ../yumcommands.py:2876 ../yumcommands.py:2880
+msgid "Transactions:"
+msgstr "Transacties:"
+
+#: ../yumcommands.py:2881
+msgid "Begin time  :"
+msgstr "Begin tijd  :"
+
+#: ../yumcommands.py:2882
+msgid "End time    :"
+msgstr "Eindtijd    :"
+
+#: ../yumcommands.py:2883
+msgid "Counts      :"
+msgstr "Telling     :"
+
+#: ../yumcommands.py:2884
+msgid "  NEVRAC :"
+msgstr "  NEVRAC :"
+
+#: ../yumcommands.py:2885
+msgid "  NEVRA  :"
+msgstr "  NEVRA  :"
+
+#: ../yumcommands.py:2886
+msgid "  NA     :"
+msgstr "  NA     :"
+
+#: ../yumcommands.py:2887
+msgid "  NEVR   :"
+msgstr "  NEVR   :"
+
+#: ../yumcommands.py:2888
+msgid "  rpm DB :"
+msgstr "  rpm DB :"
+
+#: ../yumcommands.py:2889
+msgid "  yum DB :"
+msgstr "  yum DB :"
+
+#: ../yumcommands.py:2922
+#, python-format
+msgid "Invalid history sub-command, use: %s."
+msgstr "Ongeldig geschiedenis sub-commando, gebruik: %s."
+
+#: ../yumcommands.py:2929
+msgid "You don't have access to the history DB."
+msgstr "Je hebt geen toegang tot de geschiedenis-DB."
+
+#: ../yumcommands.py:3036
+msgid "Check for problems in the rpmdb"
+msgstr "Controleer op problemen in de rpmdb"
+
+#: ../yumcommands.py:3102
+msgid "load a saved transaction from filename"
+msgstr "laad opgeslagen transactie uit bestandsnaam"
+
+#: ../yumcommands.py:3119
+msgid "No saved transaction file specified."
+msgstr "Geen opgeslagen transactie bestand gespecificeerd."
+
+#: ../yumcommands.py:3123
+#, python-format
+msgid "loading transaction from %s"
+msgstr "laden transactie van %s"
+
+#: ../yumcommands.py:3129
+#, python-format
+msgid "Transaction loaded from %s with %s members"
+msgstr "Transactie geladen van %s met %s leden"
+
+#: ../yumcommands.py:3169
+msgid "Simple way to swap packages, isntead of using shell"
+msgstr "Makkelijke manier om pakketten te wisselen, in plaats van de shell te gebruiken."
+
+#: ../yumcommands.py:3264
+msgid ""
+"Treat a repo. as a group of packages, so we can install/remove all of them"
+msgstr "Beschouw een repo als een groep pakketten, waardoor we ze allemaal kunnen installeren/verwijderen"
+
+#: ../yumcommands.py:3341
+#, python-format
+msgid "%d package to update"
+msgid_plural "%d packages to update"
+msgstr[0] "%d pakket te updaten"
+msgstr[1] "%d pakketten te updaten"
+
+#: ../yumcommands.py:3370
+#, python-format
+msgid "%d package to remove/reinstall"
+msgid_plural "%d packages to remove/reinstall"
+msgstr[0] "%d pakket te verwijderen/te herinstalleren"
+msgstr[1] "%d pakketten te verwijderen/te herinstalleren"
+
+#: ../yumcommands.py:3413
+#, python-format
+msgid "%d package to remove/sync"
+msgid_plural "%d packages to remove/sync"
+msgstr[0] "%d pakket te verwijderen/sync"
+msgstr[1] "%d pakketten te verwijderen/sync"
+
+#: ../yumcommands.py:3417
+#, python-format
+msgid "Not a valid sub-command of %s"
+msgstr "Geen geldig sub-commando van %s"
+
+#. This is mainly for PackageSackError from rpmdb.
+#: ../yummain.py:84
+#, python-format
+msgid " Yum checks failed: %s"
+msgstr " Yum controles is mislukt: %s"
+
+#: ../yummain.py:98
+msgid "No read/execute access in current directory, moving to /"
+msgstr "Geen lezen/uitvoeren rechten in de huidige directory, verhuizen naar /"
+
+#: ../yummain.py:106
+msgid "No getcwd() access in current directory, moving to /"
+msgstr "Geen getcwd() toegang in huidige directory, ik ga naar /"
+
+#. Depsolve stage
+#: ../yummain.py:164
+msgid "Resolving Dependencies"
+msgstr "Oplossen van afhankelijkheden"
+
+#: ../yummain.py:227 ../yummain.py:235
+#, python-format
+msgid ""
+"Your transaction was saved, rerun it with:\n"
+" yum load-transaction %s"
+msgstr "Je transactie was gesaved, voer opnieuw uit met:\n yum load-transaction %s"
+
+#: ../yummain.py:312
+msgid ""
+"\n"
+"\n"
+"Exiting on user cancel."
+msgstr "\n\nOphouden vanwege afbreken door gebruiker."
+
+#: ../yum/depsolve.py:127
+msgid "doTsSetup() will go away in a future version of Yum.\n"
+msgstr "doTsSetup() zal verdwijnen in een toekomstige versie van Yum.\n"
+
+#: ../yum/depsolve.py:143
+msgid "Setting up TransactionSets before config class is up"
+msgstr "Opzetten van TransactionSets voordat config klasse actief is"
+
+#: ../yum/depsolve.py:200
+#, python-format
+msgid "Invalid tsflag in config file: %s"
+msgstr "Ongeldige tsflag in config bestand: %s"
+
+#: ../yum/depsolve.py:218
+#, python-format
+msgid "Searching pkgSack for dep: %s"
+msgstr "Op zoek naar pkgSack afhankelijkheden: %s"
+
+#: ../yum/depsolve.py:269
+#, python-format
+msgid "Member: %s"
+msgstr "Lid: %s"
+
+#: ../yum/depsolve.py:283 ../yum/depsolve.py:937
+#, python-format
+msgid "%s converted to install"
+msgstr "%s omgezet om te installeren"
+
+#: ../yum/depsolve.py:295
+#, python-format
+msgid "Adding Package %s in mode %s"
+msgstr "Toevoegen van pakket %s in %s modus"
+
+#: ../yum/depsolve.py:311
+#, python-format
+msgid "Removing Package %s"
+msgstr "Verwijderen van pakket %s"
+
+#: ../yum/depsolve.py:333
+#, python-format
+msgid "%s requires: %s"
+msgstr "%s vereist: %s"
+
+#: ../yum/depsolve.py:374
+#, python-format
+msgid "%s requires %s"
+msgstr "%s vereist %s"
+
+#: ../yum/depsolve.py:401
+msgid "Needed Require has already been looked up, cheating"
+msgstr "Benodigde Vereiste is al opgezocht, even vals spelen"
+
+#: ../yum/depsolve.py:411
+#, python-format
+msgid "Needed Require is not a package name. Looking up: %s"
+msgstr "Benodigde Vereiste is geen pakketnaam. Opzoeken: %s "
+
+#: ../yum/depsolve.py:419
+#, python-format
+msgid "Potential Provider: %s"
+msgstr "Potentiële Leverancier: %s"
+
+#: ../yum/depsolve.py:442
+#, python-format
+msgid "Mode is %s for provider of %s: %s"
+msgstr "Modus is %s voor de leverancier van %s: %s"
+
+#: ../yum/depsolve.py:446
+#, python-format
+msgid "Mode for pkg providing %s: %s"
+msgstr "Modus voor pkg-verstrekking van %s: %s"
+
+#. the thing it needs is being updated or obsoleted away
+#. try to update the requiring package in hopes that all this problem goes
+#. away :(
+#: ../yum/depsolve.py:451 ../yum/depsolve.py:486
+#, python-format
+msgid "Trying to update %s to resolve dep"
+msgstr "Proberen om, door %s bij te werken, afhankelijkheden op te lossen"
+
+#: ../yum/depsolve.py:480
+#, python-format
+msgid "No update paths found for %s. Failure!"
+msgstr "Geen update paden gevonden voor %s. Faal!"
+
+#: ../yum/depsolve.py:491
+#, python-format
+msgid "No update paths found for %s. Failure due to requirement: %s!"
+msgstr "Geen update-paden gevonden voor %s. Mislukt vanwege vereiste: %s!"
+
+#: ../yum/depsolve.py:507
+#, python-format
+msgid "Update for %s. Doesn't fix requirement: %s!"
+msgstr "Update voor %s. Repareert niet vereiste: %s!"
+
+#: ../yum/depsolve.py:514
+#, python-format
+msgid "TSINFO: %s package requiring %s marked as erase"
+msgstr "TSINFO: %s pakket dat %s nodig heeft is gemarkeerd als wissen"
+
+#: ../yum/depsolve.py:527
+#, python-format
+msgid "TSINFO: Obsoleting %s with %s to resolve dep."
+msgstr "TSINFO: Vervangen %s door %s om afhankelijkheid op te lossen."
+
+#: ../yum/depsolve.py:530
+#, python-format
+msgid "TSINFO: Updating %s to resolve dep."
+msgstr "TSINFO: Bijwerken %s om afhankelijkheid op te lossen."
+
+#: ../yum/depsolve.py:538
+#, python-format
+msgid "Cannot find an update path for dep for: %s"
+msgstr "Kan geen update-pad voor afhankelijkheden vinden voor: %s"
+
+#: ../yum/depsolve.py:569
+#, python-format
+msgid "Quick matched %s to require for %s"
+msgstr "Snelselectie %s, benodigd voor %s"
+
+#. is it already installed?
+#: ../yum/depsolve.py:611
+#, python-format
+msgid "%s is in providing packages but it is already installed, removing."
+msgstr "%s is aanwezig in klaargezette pakketten, maar is al geïnstalleerd, verwijderen."
+
+#: ../yum/depsolve.py:627
+#, python-format
+msgid "Potential resolving package %s has newer instance in ts."
+msgstr "Van potentieel afhankelijkheidoplossend pakket %s is nieuwere versie in ts aanwezig"
+
+#: ../yum/depsolve.py:638
+#, python-format
+msgid "Potential resolving package %s has newer instance installed."
+msgstr "Van potentieel afhankelijkheidoplossend pakket %s is al een nieuwere versie geïnstalleerd"
+
+#: ../yum/depsolve.py:656
+#, python-format
+msgid "%s already in ts, skipping this one"
+msgstr "%s reeds in transactieset, deze wordt overgeslagen"
+
+#: ../yum/depsolve.py:705
+#, python-format
+msgid "TSINFO: Marking %s as update for %s"
+msgstr "TSINFO: Markeren %s als update voor %s"
+
+#: ../yum/depsolve.py:714
+#, python-format
+msgid "TSINFO: Marking %s as install for %s"
+msgstr "TSINFO: Markeren %s als installatie voor %s"
+
+#: ../yum/depsolve.py:849 ../yum/depsolve.py:967
+msgid "Success - empty transaction"
+msgstr "Succes - lege transactie"
+
+#: ../yum/depsolve.py:889 ../yum/depsolve.py:927
+msgid "Restarting Loop"
+msgstr "Herstarten Loop"
+
+#: ../yum/depsolve.py:947
+msgid "Dependency Process ending"
+msgstr "Proces Afhankelijkheid beëindigen"
+
+#: ../yum/depsolve.py:969
+msgid "Success - deps resolved"
+msgstr "Succes - afhankelijkheden opgelost"
+
+#: ../yum/depsolve.py:993
+#, python-format
+msgid "Checking deps for %s"
+msgstr "Controleren afhankelijkheden voor %s"
+
+#: ../yum/depsolve.py:1082
+#, python-format
+msgid "looking for %s as a requirement of %s"
+msgstr "Zoeken naar %s als een vereiste voor %s"
+
+#: ../yum/depsolve.py:1349
+#, python-format
+msgid "Running compare_providers() for %s"
+msgstr "Uitvoeren compare_providers() voor %s"
+
+#: ../yum/depsolve.py:1376 ../yum/depsolve.py:1382
+#, python-format
+msgid "better arch in po %s"
+msgstr "betere arch in po %s"
+
+#: ../yum/depsolve.py:1496
+#, python-format
+msgid "%s obsoletes %s"
+msgstr "%s is nieuwer dan %s"
+
+#: ../yum/depsolve.py:1508
+#, python-format
+msgid ""
+"archdist compared %s to %s on %s\n"
+"  Winner: %s"
+msgstr "archdist vergeleek %s met %s op %s\n  Winnaar: %s"
+
+#: ../yum/depsolve.py:1516
+#, python-format
+msgid "common sourcerpm %s and %s"
+msgstr "gemeenschappelijke sourcerpm %s en %s"
+
+#: ../yum/depsolve.py:1520
+#, python-format
+msgid "base package %s is installed for %s"
+msgstr "basispakket %s is geïnstalleerd voor %s"
+
+#: ../yum/depsolve.py:1526
+#, python-format
+msgid "common prefix of %s between %s and %s"
+msgstr "gemeenschappelijke prefix van %s tussen %s en %s"
+
+#: ../yum/depsolve.py:1543
+#, python-format
+msgid "provides vercmp: %s"
+msgstr "levert vercmp: %s"
+
+#: ../yum/depsolve.py:1547 ../yum/depsolve.py:1581
+#, python-format
+msgid " Winner: %s"
+msgstr " Winnaar: %s"
+
+#: ../yum/depsolve.py:1577
+#, python-format
+msgid "requires minimal: %d"
+msgstr "vereist minimaal: %d"
+
+#: ../yum/depsolve.py:1586
+#, python-format
+msgid " Loser(with %d): %s"
+msgstr " Verliezer (met %d): %s"
+
+#: ../yum/depsolve.py:1602
+#, python-format
+msgid "Best Order: %s"
+msgstr "De beste keus: %s"
+
+#: ../yum/__init__.py:274
+msgid "doConfigSetup() will go away in a future version of Yum.\n"
+msgstr "doConfigSetup() zal verdwijnen in een toekomstige versie van Yum.\n"
+
+#: ../yum/__init__.py:553
+#, python-format
+msgid "Skipping unreadable repository %s"
+msgstr "Overslaan onleesbare repository %s"
+
+#: ../yum/__init__.py:572
+#, python-format
+msgid "Repository %r: Error parsing config: %s"
+msgstr "Repository %r: Fout parsing config: %s"
+
+#: ../yum/__init__.py:578
+#, python-format
+msgid "Repository %r is missing name in configuration, using id"
+msgstr "Van repository %r ontbreekt naam in configuratie, id wordt gebruikt"
+
+#: ../yum/__init__.py:618
+msgid "plugins already initialised"
+msgstr "plugins al geïnitialiseerd"
+
+#: ../yum/__init__.py:627
+msgid "doRpmDBSetup() will go away in a future version of Yum.\n"
+msgstr "doRpmDBSetup() zal verdwijnen in een toekomstige versie van Yum.\n"
+
+#: ../yum/__init__.py:638
+msgid "Reading Local RPMDB"
+msgstr "Lezen lokale RPMDB"
+
+#: ../yum/__init__.py:668
+msgid "doRepoSetup() will go away in a future version of Yum.\n"
+msgstr "doRepoSetup() zal verdwijnen in een toekomstige versie van Yum.\n"
+
+#: ../yum/__init__.py:722
+msgid "doSackSetup() will go away in a future version of Yum.\n"
+msgstr "doSackSetup() zal verdwijnen in een toekomstige versie van Yum.\n"
+
+#: ../yum/__init__.py:752
+msgid "Setting up Package Sacks"
+msgstr "Opzetten van Pakkethouders"
+
+#: ../yum/__init__.py:797
+#, python-format
+msgid "repo object for repo %s lacks a _resetSack method\n"
+msgstr "repo object voor repo %s ontbeert een _resetSack methode\n"
+
+#: ../yum/__init__.py:798
+msgid "therefore this repo cannot be reset.\n"
+msgstr "daarom kan deze repo niet gereset worden.\n"
+
+#: ../yum/__init__.py:806
+msgid "doUpdateSetup() will go away in a future version of Yum.\n"
+msgstr "doUpdateSetup() zal verdwijnen in een toekomstige versie van Yum.\n"
+
+#: ../yum/__init__.py:818
+msgid "Building updates object"
+msgstr "Opbouwen updates object"
+
+#: ../yum/__init__.py:862
+msgid "doGroupSetup() will go away in a future version of Yum.\n"
+msgstr "doGroupSetup() zal verdwijnen in een toekomstige versie van Yum.\n"
+
+#: ../yum/__init__.py:887
+msgid "Getting group metadata"
+msgstr "Verkrijgen groep metadata"
+
+#: ../yum/__init__.py:915
+#, python-format
+msgid "Adding group file from repository: %s"
+msgstr "Toevoegen van groep-bestand uit repository: %s"
+
+#: ../yum/__init__.py:918
+#, python-format
+msgid "Failed to retrieve group file for repository: %s"
+msgstr "Groepbestand ophalen voor repository %s is niet gelukt"
+
+#: ../yum/__init__.py:924
+#, python-format
+msgid "Failed to add groups file for repository: %s - %s"
+msgstr "Niet gelukt groepen-bestand toe te voegen voor repository: %s - %s"
+
+#: ../yum/__init__.py:930
+msgid "No Groups Available in any repository"
+msgstr "Geen Groepen beschikbaar in welke repository dan ook"
+
+#: ../yum/__init__.py:945
+msgid "Getting pkgtags metadata"
+msgstr "Verkrijgen pkgtags metadata"
+
+#: ../yum/__init__.py:955
+#, python-format
+msgid "Adding tags from repository: %s"
+msgstr "Toevoegen van tags van repository: %s"
+
+#: ../yum/__init__.py:966
+#, python-format
+msgid "Failed to add Pkg Tags for repository: %s - %s"
+msgstr "Niet gelukt Pkg Tags toe te voegen voor repository: %s -%s"
+
+#: ../yum/__init__.py:1059
+msgid "Importing additional filelist information"
+msgstr "Importeren van extra filelist informatie"
+
+#: ../yum/__init__.py:1077
+#, python-format
+msgid "The program %s%s%s is found in the yum-utils package."
+msgstr "Het programma %s%s%s is gevonden in het yum-utils pakket."
+
+#: ../yum/__init__.py:1094
+msgid ""
+"There are unfinished transactions remaining. You might consider running yum-"
+"complete-transaction first to finish them."
+msgstr "Er zijn onvoltooid gebleven transactiehandelingen. Je zou kunnen overwegen om yum-complete-transaction eerst uit te voeren om deze af te maken."
+
+#: ../yum/__init__.py:1111
+msgid "--> Finding unneeded leftover dependencies"
+msgstr "--> Vinden van overbodige achtergebleven afhankelijkheden"
+
+#: ../yum/__init__.py:1169
+#, python-format
+msgid "Protected multilib versions: %s != %s"
+msgstr "Beschermde multilib-versies: %s!=%s"
+
+#. People are confused about protected mutilib ... so give
+#. them a nicer message.
+#: ../yum/__init__.py:1173
+#, python-format
+msgid ""
+" Multilib version problems found. This often means that the root\n"
+"cause is something else and multilib version checking is just\n"
+"pointing out that there is a problem. Eg.:\n"
+"\n"
+"  1. You have an upgrade for %(name)s which is missing some\n"
+"     dependency that another package requires. Yum is trying to\n"
+"     solve this by installing an older version of %(name)s of the\n"
+"     different architecture. If you exclude the bad architecture\n"
+"     yum will tell you what the root cause is (which package\n"
+"     requires what). You can try redoing the upgrade with\n"
+"     --exclude %(name)s.otherarch ... this should give you an error\n"
+"     message showing the root cause of the problem.\n"
+"\n"
+"  2. You have multiple architectures of %(name)s installed, but\n"
+"     yum can only see an upgrade for one of those arcitectures.\n"
+"     If you don't want/need both architectures anymore then you\n"
+"     can remove the one with the missing update and everything\n"
+"     will work.\n"
+"\n"
+"  3. You have duplicate versions of %(name)s installed already.\n"
+"     You can use \"yum check\" to get yum show these errors.\n"
+"\n"
+"...you can also use --setopt=protected_multilib=false to remove\n"
+"this checking, however this is almost never the correct thing to\n"
+"do as something else is very likely to go wrong (often causing\n"
+"much more problems).\n"
+"\n"
+msgstr " 'Multilib-versie'-probleem gevonden. Dit betekent meestal dat de\nhoofdoorzaak ergens anders ligt en 'multilib versie'-controle er\nslechts op wijst dat er een probleem is, b.v.:\n\n  1. U hebt een upgrade voor %(name)s. Deze mist een afhanke-\n     lijkheid dat een ander pakket nodig heeft. Yum probeert dit op te\n     lossen met het installeren van een oudere versie van %(name)s met\n     een andere architectuur. Indien u de foute architectuur uitsluit\n     meldt yum u wat de hoofdoorzaak is (welk pakket wat\n     nodig heeft). U kunt proberen de upgrade opnieuw te doen met\n     --exclude %(name)s.otherarch ... dit zou een foutmelding moeten\n     geven met de hoofdoorzaak van het probleem vermeld.\n\n  2. U hebt meerdere architecturen van %(name)s geïnstalleerd, maar\n     yum kan alleen een upgrade van één van beide zien.\n     Indien u beide architecturen niet meer wilt/nodig hebt, kunt\n     u degene met de missende afhankelijkheid verwijderen en alles\n     zal weer werken.\n\n  3. U hebt al identieke versies van %(name)s geïnstalleerd.\n     U kunt \"yum check\" gebruiken om yum deze fouten te laten melden.\n\n...u kunt ook --setopt=protected_multilib=false gebruiken om deze\ncheck uit te schakelen. Dit is echter vrijwel nooit een goede oplossing,\nomdat iets anders zeer waarschijnlijk niet goed zal gaan (meestal \ngeeft dat veel, veel meer problemen).\n\n"
+
+#: ../yum/__init__.py:1257
+#, python-format
+msgid "Trying to remove \"%s\", which is protected"
+msgstr "Proberen \"%s\" te verwijderen, welke wordt beschermd"
+
+#: ../yum/__init__.py:1378
+msgid ""
+"\n"
+"Packages skipped because of dependency problems:"
+msgstr "\nPakketten overgeslagen vanwege afhankelijkheidsproblemen:"
+
+#: ../yum/__init__.py:1382
+#, python-format
+msgid "    %s from %s"
+msgstr "    %s van %s"
+
+#. FIXME: _N()
+#: ../yum/__init__.py:1556
+#, python-format
+msgid "** Found %d pre-existing rpmdb problem(s), 'yum check' output follows:"
+msgstr "** %d reeds bestaande rpmdb problem(en) gevonden, 'yum check' output geeft:"
+
+#: ../yum/__init__.py:1560
+msgid "Warning: RPMDB altered outside of yum."
+msgstr "Waarschuwing: RPMDB buiten yum om veranderd."
+
+#: ../yum/__init__.py:1572
+msgid "missing requires"
+msgstr "ontbrekende vereist"
+
+#: ../yum/__init__.py:1573
+msgid "installed conflict"
+msgstr "geïnstalleerd conflict"
+
+#: ../yum/__init__.py:1709
+msgid ""
+"Warning: scriptlet or other non-fatal errors occurred during transaction."
+msgstr "Waarschuwing: scriptlet of andere niet-fatale fouten opgetreden tijdens de transactie."
+
+#: ../yum/__init__.py:1719
+msgid "Transaction couldn't start:"
+msgstr "Transactie kon niet worden gestart:"
+
+#. should this be 'to_unicoded'?
+#: ../yum/__init__.py:1722
+msgid "Could not run transaction."
+msgstr "Transactie kon niet worden uitgevoerd."
+
+#: ../yum/__init__.py:1736
+#, python-format
+msgid "Failed to remove transaction file %s"
+msgstr "Niet gelukt transactiebestand %s te verwijderen"
+
+#. maybe a file log here, too
+#. but raising an exception is not going to do any good
+#: ../yum/__init__.py:1792
+#, python-format
+msgid "%s was supposed to be installed but is not!"
+msgstr "%s zou worden geïnstalleerd, maar werd het niet!"
+
+#. maybe a file log here, too
+#. but raising an exception is not going to do any good
+#. Note: This actually triggers atm. because we can't
+#. always find the erased txmbr to set it when
+#. we should.
+#: ../yum/__init__.py:1869
+#, python-format
+msgid "%s was supposed to be removed but is not!"
+msgstr "%s moest worden verwijderd, maar werd het niet!"
+
+#. Another copy seems to be running.
+#: ../yum/__init__.py:2004
+#, python-format
+msgid "Existing lock %s: another copy is running as pid %s."
+msgstr "Bestaande lock %s: een ander exemplaar wordt uitgevoerd met PID %s."
+
+#. Whoa. What the heck happened?
+#: ../yum/__init__.py:2053
+#, python-format
+msgid "Could not create lock at %s: %s "
+msgstr "Kon geen lock maken op %s: %s"
+
+#: ../yum/__init__.py:2065
+#, python-format
+msgid "Could not open lock %s: %s"
+msgstr "Kon lock %s niet openen: %s"
+
+#. The pid doesn't exist
+#. Whoa. What the heck happened?
+#: ../yum/__init__.py:2082
+#, python-format
+msgid "Unable to check if PID %s is active"
+msgstr "Kon niet vaststellen of PID %s actief is"
+
+#: ../yum/__init__.py:2132
+#, python-format
+msgid ""
+"Package does not match intended download. Suggestion: run yum "
+"--enablerepo=%s clean metadata"
+msgstr "Pakket komt niet overeen met voorgenomen download. Suggestie: voer yum --enablerepo=%s clean metadata uit"
+
+#: ../yum/__init__.py:2155
+msgid "Could not perform checksum"
+msgstr "Kon checksum niet uitvoeren"
+
+#: ../yum/__init__.py:2158
+msgid "Package does not match checksum"
+msgstr "Pakket komt niet overeen met checksum"
+
+#: ../yum/__init__.py:2222
+#, python-format
+msgid "package fails checksum but caching is enabled for %s"
+msgstr "pakket ontbeert checksum, maar caching is ingeschakeld voor %s"
+
+#: ../yum/__init__.py:2225 ../yum/__init__.py:2268
+#, python-format
+msgid "using local copy of %s"
+msgstr "lokale kopie van %s wordt gebruikt"
+
+#. caller handles errors
+#: ../yum/__init__.py:2342
+msgid "exiting because --downloadonly specified"
+msgstr "afsluiten omdat  --downloadonly is opgegeven"
+
+#: ../yum/__init__.py:2371
+msgid "Header is not complete."
+msgstr "Header is niet compleet."
+
+#: ../yum/__init__.py:2411
+#, python-format
+msgid ""
+"Header not in local cache and caching-only mode enabled. Cannot download %s"
+msgstr "Header niet in lokale cache aanwezig en caching-only modus ingeschakeld. Kan %s niet downloaden"
+
+#: ../yum/__init__.py:2471
+#, python-format
+msgid "Public key for %s is not installed"
+msgstr "Publieke sleutel voor %s is niet geïnstalleerd"
+
+#: ../yum/__init__.py:2475
+#, python-format
+msgid "Problem opening package %s"
+msgstr "Probleem met openen van pakket %s"
+
+#: ../yum/__init__.py:2483
+#, python-format
+msgid "Public key for %s is not trusted"
+msgstr "Publieke sleutel voor %s is niet vertrouwd"
+
+#: ../yum/__init__.py:2487
+#, python-format
+msgid "Package %s is not signed"
+msgstr "Pakket %s is niet ondertekend"
+
+#: ../yum/__init__.py:2529
+#, python-format
+msgid "Cannot remove %s"
+msgstr "Kan %s niet verwijderen"
+
+#: ../yum/__init__.py:2533
+#, python-format
+msgid "%s removed"
+msgstr "Verwijderd %s"
+
+#: ../yum/__init__.py:2594
+#, python-format
+msgid "Cannot remove %s file %s"
+msgstr "Kan niet verwijderen %s bestand %s"
+
+#: ../yum/__init__.py:2598
+#, python-format
+msgid "%s file %s removed"
+msgstr "%s bestand verwijderd %s"
+
+#: ../yum/__init__.py:2600
+#, python-format
+msgid "%d %s file removed"
+msgid_plural "%d %s files removed"
+msgstr[0] "%d %s bestand verwijderd"
+msgstr[1] "%d %s bestanden verwijderd"
+
+#: ../yum/__init__.py:2712
+#, python-format
+msgid "More than one identical match in sack for %s"
+msgstr "Meer dan één identieke match in houder voor %s"
+
+#: ../yum/__init__.py:2718
+#, python-format
+msgid "Nothing matches %s.%s %s:%s-%s from update"
+msgstr "Niets komt overeen met %s.%s%s:%s-%s van update"
+
+#: ../yum/__init__.py:3096
+msgid ""
+"searchPackages() will go away in a future version of Yum."
+"                      Use searchGenerator() instead. \n"
+msgstr "searchPackages() zal verdwijnen in een toekomstige versie van Yum.                      Gebruik searchGenerator()  \n"
+
+#: ../yum/__init__.py:3149
+#, python-format
+msgid "Searching %d package"
+msgid_plural "Searching %d packages"
+msgstr[0] "Zoeken %d pakket"
+msgstr[1] "Zoeken %d pakketten"
+
+#: ../yum/__init__.py:3153
+#, python-format
+msgid "searching package %s"
+msgstr "zoeken pakket %s"
+
+#: ../yum/__init__.py:3165
+msgid "searching in file entries"
+msgstr "zoeken in file entries"
+
+#: ../yum/__init__.py:3172
+msgid "searching in provides entries"
+msgstr "zoeken in provides entries"
+
+#: ../yum/__init__.py:3369
+msgid "No group data available for configured repositories"
+msgstr "Geen groepsgegevens beschikbaar voor geconfigureerde repositories"
+
+#: ../yum/__init__.py:3466 ../yum/__init__.py:3500 ../yum/__init__.py:3576
+#: ../yum/__init__.py:3582 ../yum/__init__.py:3719 ../yum/__init__.py:3723
+#: ../yum/__init__.py:4298
+#, python-format
+msgid "No Group named %s exists"
+msgstr "Er bestaat geen groep met de naam %s"
+
+#: ../yum/__init__.py:3512 ../yum/__init__.py:3740
+#, python-format
+msgid "package %s was not marked in group %s"
+msgstr "pakket %s is niet gemarkeerd in groep %s"
+
+#. (upgrade and igroup_data[pkg] == 'available')):
+#: ../yum/__init__.py:3622
+#, python-format
+msgid "Skipping package %s from group %s"
+msgstr "Pakket %s van groep %s wordt overgeslagen"
+
+#: ../yum/__init__.py:3628
+#, python-format
+msgid "Adding package %s from group %s"
+msgstr "Toevoegen van pakket %s uit de groep %s"
+
+#: ../yum/__init__.py:3649
+#, python-format
+msgid "No package named %s available to be installed"
+msgstr "Geen pakket met de naam %s beschikbaar om te worden geïnstalleerd"
+
+#: ../yum/__init__.py:3702
+#, python-format
+msgid "Warning: Group %s does not have any packages to install."
+msgstr "Waarschuwing: Groep %s heeft geen pakketten om te installeren."
+
+#: ../yum/__init__.py:3704
+#, python-format
+msgid "Group %s does have %u conditional packages, which may get installed."
+msgstr "Groep %s heeft %u voorwaardelijk pakketten, welke zouden kunnen worden geïnstalleerd."
+
+#: ../yum/__init__.py:3794
+#, python-format
+msgid "Skipping group %s from environment %s"
+msgstr "Groep %s wordt weggelaten uit omgeving %s"
+
+#. This can happen due to excludes after .up has
+#. happened.
+#: ../yum/__init__.py:3858
+#, python-format
+msgid "Package tuple %s could not be found in packagesack"
+msgstr "Pakket-tupel %s kon niet in pakkethouder gevonden worden"
+
+#: ../yum/__init__.py:3886
+#, python-format
+msgid "Package tuple %s could not be found in rpmdb"
+msgstr "Pakket-tupel %s kon niet in rpmdb gevonden worden"
+
+#: ../yum/__init__.py:3949 ../yum/__init__.py:4012
+#, python-format
+msgid "Invalid version flag from: %s"
+msgstr "Ongeldige versie vlag van: %s"
+
+#: ../yum/__init__.py:3973 ../yum/__init__.py:3979 ../yum/__init__.py:4036
+#: ../yum/__init__.py:4042
+#, python-format
+msgid "No Package found for %s"
+msgstr "Geen pakket gevonden voor %s"
+
+#: ../yum/__init__.py:4245 ../yum/__init__.py:4274
+#, python-format
+msgid "Warning: Environment Group %s does not exist."
+msgstr "Waarschuwing: Omgevingsgroep %s bestaat niet."
+
+#: ../yum/__init__.py:4397
+#, python-format
+msgid "Package: %s - can't co-install with %s"
+msgstr "Pakket: %s - kan niet co-installeren met %s"
+
+#: ../yum/__init__.py:4437
+msgid "Package Object was not a package object instance"
+msgstr "Pakket Object was niet een pakket objectinstantie"
+
+#: ../yum/__init__.py:4441
+msgid "Nothing specified to install"
+msgstr "Niets aangemerkt om te installeren"
+
+#: ../yum/__init__.py:4465 ../yum/__init__.py:5410
+#, python-format
+msgid "Checking for virtual provide or file-provide for %s"
+msgstr "Controleren op virtuele levering dan wel bestand-levering voor %s"
+
+#: ../yum/__init__.py:4542
+#, python-format
+msgid "Package %s installed and not available"
+msgstr "Pakket %s geïnstalleerd en niet beschikbaar"
+
+#: ../yum/__init__.py:4545
+msgid "No package(s) available to install"
+msgstr "Geen pakket(ten) beschikbaar om te installeren"
+
+#: ../yum/__init__.py:4557
+#, python-format
+msgid "Package: %s  - already in transaction set"
+msgstr "Pakket: %s  - reeds in transactie set"
+
+#: ../yum/__init__.py:4589
+#, python-format
+msgid "Package %s is obsoleted by %s which is already installed"
+msgstr "Pakket %s is ouder dan %s, dat reeds is geïnstalleerd"
+
+#: ../yum/__init__.py:4594
+#, python-format
+msgid ""
+"Package %s is obsoleted by %s, but obsoleting package does not provide for "
+"requirements"
+msgstr "Pakket %s is ouder dan %s, maar nieuwer pakket voldoet niet aan de vereisten"
+
+#: ../yum/__init__.py:4597
+#, python-format
+msgid "Package %s is obsoleted by %s, trying to install %s instead"
+msgstr "Pakket %s is ouder dan %s, zal dientengevolge pogen %s te installeren"
+
+#: ../yum/__init__.py:4605
+#, python-format
+msgid "Package %s already installed and latest version"
+msgstr "Pakket %s is reeds geïnstalleerd en de meest recente versie"
+
+#: ../yum/__init__.py:4619
+#, python-format
+msgid "Package matching %s already installed. Checking for update."
+msgstr "Pakket dat overeenkomt met %s is al geïnstalleerd. Controleren op update."
+
+#. update everything (the easy case)
+#: ../yum/__init__.py:4751
+msgid "Updating Everything"
+msgstr "Updaten Alles"
+
+#: ../yum/__init__.py:4775 ../yum/__init__.py:4930 ../yum/__init__.py:4975
+#: ../yum/__init__.py:5011
+#, python-format
+msgid "Not Updating Package that is already obsoleted: %s.%s %s:%s-%s"
+msgstr "Niet Bijwerken pakket dat al verouderd is: %s.%s%s:%s-%s"
+
+#: ../yum/__init__.py:4830 ../yum/__init__.py:5072
+#, python-format
+msgid "%s"
+msgstr "%s"
+
+#: ../yum/__init__.py:4854 ../yum/__init__.py:5080 ../yum/__init__.py:5416
+#, python-format
+msgid "No Match for argument: %s"
+msgstr "Geen resultaat voor argument: %s"
+
+#: ../yum/__init__.py:4872
+#, python-format
+msgid "No package matched to upgrade: %s"
+msgstr "Geen pakket aangetroffen om te upgraden: %s"
+
+#: ../yum/__init__.py:4919
+#, python-format
+msgid "Package is already obsoleted: %s.%s %s:%s-%s"
+msgstr "Pakket is al verouderd: %s.%s%s:%s-%s"
+
+#: ../yum/__init__.py:4970
+#, python-format
+msgid "Not Updating Package that is obsoleted: %s"
+msgstr "Niet Bijwerken pakket dat verouderd is: %s"
+
+#: ../yum/__init__.py:4979 ../yum/__init__.py:5015
+#, python-format
+msgid "Not Updating Package that is already updated: %s.%s %s:%s-%s"
+msgstr "Niet Bijwerken pakket dat al bijgewerkt is: %s.%s%s:%s-%s"
+
+#: ../yum/__init__.py:5093
+#, python-format
+msgid "No package matched to remove: %s"
+msgstr "Geen pakket aangetroffen om te verwijderen: %s"
+
+#: ../yum/__init__.py:5099
+#, python-format
+msgid "Skipping the running kernel: %s"
+msgstr "Overslaan van -draaiende- kernel: %s"
+
+#: ../yum/__init__.py:5105
+#, python-format
+msgid "Removing %s from the transaction"
+msgstr "Verwijderen van %s uit de transactie"
+
+#: ../yum/__init__.py:5142
+#, python-format
+msgid "Cannot open: %s. Skipping."
+msgstr "Kan niet openen: %s. Overslaan."
+
+#: ../yum/__init__.py:5145 ../yum/__init__.py:5262 ../yum/__init__.py:5347
+#, python-format
+msgid "Examining %s: %s"
+msgstr "Onderzoeken %s: %s"
+
+#: ../yum/__init__.py:5149
+#, python-format
+msgid "Cannot localinstall deltarpm: %s. Skipping."
+msgstr "Niet gelukt deltarpm lokaal te installeren: %s. Overslaan."
+
+#: ../yum/__init__.py:5158 ../yum/__init__.py:5265 ../yum/__init__.py:5350
+#, python-format
+msgid ""
+"Cannot add package %s to transaction. Not a compatible architecture: %s"
+msgstr "Kan pakket %s niet toevoegen aan transactie. Geen compatibele architectuur: %s"
+
+#: ../yum/__init__.py:5164
+#, python-format
+msgid "Cannot install package %s. It is obsoleted by installed package %s"
+msgstr "Kan pakket %s niet installeren. Het al geïnstalleerde pakket %s is nieuwer"
+
+#: ../yum/__init__.py:5172
+#, python-format
+msgid ""
+"Package %s not installed, cannot update it. Run yum install to install it "
+"instead."
+msgstr "Pakket %s is niet geïnstalleerd, en kan dus ook niet vernieuwd worden. Voer in de plaats daarvan yum install uit, om te installeren."
+
+#: ../yum/__init__.py:5191 ../yum/__init__.py:5198
+#, python-format
+msgid ""
+"Package %s.%s not installed, cannot update it. Run yum install to install it"
+" instead."
+msgstr "Pakket %s.%s is niet geïnstalleerd, kan het dus niet vernieuwen. Voer in de plaats daarvan yum install uit om te installeren."
+
+#: ../yum/__init__.py:5207 ../yum/__init__.py:5270 ../yum/__init__.py:5355
+#, python-format
+msgid "Excluding %s"
+msgstr "Uitsluiten %s"
+
+#: ../yum/__init__.py:5212
+#, python-format
+msgid "Marking %s to be installed"
+msgstr "Markeren %s om te installeren"
+
+#: ../yum/__init__.py:5218
+#, python-format
+msgid "Marking %s as an update to %s"
+msgstr "Markeren %s als een update voor %s"
+
+#: ../yum/__init__.py:5225
+#, python-format
+msgid "%s: does not update installed package."
+msgstr "%s: is geen update voor geïnstalleerd pakket."
+
+#: ../yum/__init__.py:5259 ../yum/__init__.py:5344
+#, python-format
+msgid "Cannot open file: %s. Skipping."
+msgstr "Kan bestand niet openen: %s. Overslaan."
+
+#: ../yum/__init__.py:5299
+msgid "Problem in reinstall: no package matched to remove"
+msgstr "Probleem met herinstalleren: geen overeenkomstig pakket gevonden om eerst te verwijderen"
+
+#: ../yum/__init__.py:5325
+#, python-format
+msgid "Problem in reinstall: no package %s matched to install"
+msgstr "Probleem met herinstalleren: geen overeenkomstig pakket %s gevonden om opnieuw te installeren "
+
+#: ../yum/__init__.py:5438
+msgid "No package(s) available to downgrade"
+msgstr "Geen pakket(ten) beschikbaar om te downgraden"
+
+#: ../yum/__init__.py:5446
+#, python-format
+msgid "Package %s is allowed multiple installs, skipping"
+msgstr "Pakket %s is toegestaan ​​meerdere installaties te hebben, wordt overgeslagen"
+
+#: ../yum/__init__.py:5496
+#, python-format
+msgid "No Match for available package: %s"
+msgstr "Geen match voor beschikbaar pakket: %s"
+
+#: ../yum/__init__.py:5506
+#, python-format
+msgid "Only Upgrade available on package: %s"
+msgstr "Upgrade alleen beschikbaar voor het pakket: %s"
+
+#: ../yum/__init__.py:5619 ../yum/__init__.py:5686
+#, python-format
+msgid "Failed to downgrade: %s"
+msgstr "Mislukt downgraden: %s"
+
+#: ../yum/__init__.py:5636 ../yum/__init__.py:5692
+#, python-format
+msgid "Failed to upgrade: %s"
+msgstr "Bijwerken mislukt van: %s"
+
+#: ../yum/__init__.py:5725
+#, python-format
+msgid "Retrieving key from %s"
+msgstr "Ophalen sleutel uit %s"
+
+#: ../yum/__init__.py:5743
+msgid "GPG key retrieval failed: "
+msgstr "GPG sleutel ophalen mislukte:"
+
+#. if we decide we want to check, even though the sig failed
+#. here is where we would do that
+#: ../yum/__init__.py:5766
+#, python-format
+msgid "GPG key signature on key %s does not match CA Key for repo: %s"
+msgstr "GPG key signature van sleutel %s komt niet overeen met de CA Key van repo: %s"
+
+#: ../yum/__init__.py:5768
+msgid "GPG key signature verified against CA Key(s)"
+msgstr "GPG key geverifieerd middels CA Key(s)"
+
+#: ../yum/__init__.py:5776
+#, python-format
+msgid "Invalid GPG Key from %s: %s"
+msgstr "Ongeldige GPG sleutel van %s: %s"
+
+#: ../yum/__init__.py:5785
+#, python-format
+msgid "GPG key parsing failed: key does not have value %s"
+msgstr "GPG sleutel parsing faalde: sleutel heeft geen waarde %s"
+
+#: ../yum/__init__.py:5801
+#, python-format
+msgid ""
+"Importing %s key 0x%s:\n"
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" Package    : %s (%s)\n"
+" From       : %s"
+msgstr "Importeren %s sleutel 0x%s:\n Userid     : \"%s\"\n Fingerprint: %s\n Pakket     : %s (%s)\n Van        : %s"
+
+#: ../yum/__init__.py:5811
+#, python-format
+msgid ""
+"Importing %s key 0x%s:\n"
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" From       : %s"
+msgstr "Importeren %s sleutel 0x%s:\n Userid     : \"%s\"\n Fingerprint: %s\n Van        : %s"
+
+#: ../yum/__init__.py:5839
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" Failing package is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr "\n\n\n Falende pakket is: %s\n GPG Sleutels zijn geconfigureerd als: %s\n"
+
+#: ../yum/__init__.py:5853
+#, python-format
+msgid "GPG key at %s (0x%s) is already installed"
+msgstr "GPG sleutel %s (0x%s) is al geïnstalleerd"
+
+#: ../yum/__init__.py:5891
+#, python-format
+msgid "Key import failed (code %d)"
+msgstr "Importeren sleutel is mislukt (code %d)"
+
+#: ../yum/__init__.py:5893 ../yum/__init__.py:5994
+msgid "Key imported successfully"
+msgstr "Sleutel succesvol geïmporteerd"
+
+#: ../yum/__init__.py:5897
+msgid "Didn't install any keys"
+msgstr "Er werden geen sleutels geïnstalleerd"
+
+#: ../yum/__init__.py:5900
+#, python-format
+msgid ""
+"The GPG keys listed for the \"%s\" repository are already installed but they are not correct for this package.\n"
+"Check that the correct key URLs are configured for this repository."
+msgstr "De GPG sleutels vermeld voor de \"%s\" repository zijn al geïnstalleerd, maar ze zijn niet correct voor dit pakket. \nControleer of de juiste sleutel-URL's zijn geconfigureerd voor deze repository."
+
+#: ../yum/__init__.py:5910
+msgid "Import of key(s) didn't help, wrong key(s)?"
+msgstr "Import van sleutel(s) heeft niet geholpen, verkeerde sleutel(s)?"
+
+#: ../yum/__init__.py:5932
+msgid "No"
+msgstr "Nee"
+
+#: ../yum/__init__.py:5934
+msgid "Yes"
+msgstr "Ja"
+
+#: ../yum/__init__.py:5935
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" CA Key: %s\n"
+" Failing repo is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr "\n\n\n CA Sleutel: %s\n Falende repo is: %s\n GPG Sleutels zijn geconfigureerd als: %s\n"
+
+#: ../yum/__init__.py:5948
+#, python-format
+msgid "GPG key at %s (0x%s) is already imported"
+msgstr "GPG-sleutel op %s (0x%s) is reeds geïmporteerd"
+
+#: ../yum/__init__.py:5992
+#, python-format
+msgid "Key %s import failed"
+msgstr "Import sleutel %s faalde"
+
+#: ../yum/__init__.py:6009
+#, python-format
+msgid "Didn't install any keys for repo %s"
+msgstr "Er werden geen sleutels geïnstalleerd voor repo %s"
+
+#: ../yum/__init__.py:6014
+#, python-format
+msgid ""
+"The GPG keys listed for the \"%s\" repository are already installed but they are not correct.\n"
+"Check that the correct key URLs are configured for this repository."
+msgstr "De GPG sleutels vermeld voor de \"%s\" repository zijn al geïnstalleerd, maar ze zijn niet correct. \nControleer of de juiste sleutel-URL's zijn geconfigureerd voor deze repository."
+
+#: ../yum/__init__.py:6172
+msgid "Unable to find a suitable mirror."
+msgstr "Niet in staat om een ​​geschikte mirror te vinden."
+
+#: ../yum/__init__.py:6174
+msgid "Errors were encountered while downloading packages."
+msgstr "Fouten tegengekomen tijdens het downloaden van pakketten."
+
+#: ../yum/__init__.py:6229
+#, python-format
+msgid "Please report this error at %s"
+msgstr "Meld deze fout a.u.b. op %s"
+
+#: ../yum/__init__.py:6246
+msgid "Test Transaction Errors: "
+msgstr "Test Transactie Fouten: "
+
+#: ../yum/__init__.py:6358
+#, python-format
+msgid "Could not set cachedir: %s"
+msgstr "Kon cachedir niet instellen: %s"
+
+#: ../yum/__init__.py:6420 ../yum/__init__.py:6422
+msgid "Dependencies not solved. Will not save unresolved transaction."
+msgstr "Afhankelijkheden niet opgelost. Zal een transactie met onopgeloste afhankelijkheden niet opslaan."
+
+#: ../yum/__init__.py:6455 ../yum/__init__.py:6457
+#, python-format
+msgid "Could not save transaction file %s: %s"
+msgstr "Kon transactiebestand %s niet opslaan: %s"
+
+#: ../yum/__init__.py:6483
+#, python-format
+msgid "Could not access/read saved transaction %s : %s"
+msgstr "Kon geen toegang krijgen tot/lezen opgeslagen transactie %s: %s"
+
+#: ../yum/__init__.py:6521
+msgid "rpmdb ver mismatched saved transaction version,"
+msgstr "rpmdb versie kwam niet overeen met opgeslagen transactie versie,"
+
+#: ../yum/__init__.py:6535
+msgid "cannot find tsflags or tsflags not integer."
+msgstr "kan tsflags of tsflags niet vinden, geen integer."
+
+#: ../yum/__init__.py:6584
+#, python-format
+msgid "Found txmbr in unknown current state: %s"
+msgstr "Trof txmbr in onbekende huidige status aan: %s"
+
+#: ../yum/__init__.py:6588
+#, python-format
+msgid "Could not find txmbr: %s in state %s"
+msgstr "Kon txmbr niet vinden: %s in status %s"
+
+#: ../yum/__init__.py:6625 ../yum/__init__.py:6642
+#, python-format
+msgid "Could not find txmbr: %s from origin: %s"
+msgstr "Kon txmbr niet vinden: %s van herkomst: %s"
+
+#: ../yum/__init__.py:6667
+msgid "Transaction members, relations are missing or ts has been modified,"
+msgstr "Transactie-leden, relaties ontbreken of ts is gewijzigd,"
+
+#: ../yum/__init__.py:6670
+msgid " ignoring, as requested. You must redepsolve!"
+msgstr " negeren, zoals gevraagd. U moet afhankelijkheden opnieuw oplossen!"
+
+#. Debugging output
+#: ../yum/__init__.py:6738 ../yum/__init__.py:6757
+#, python-format
+msgid "%s has been visited already and cannot be removed."
+msgstr "%s is al bezocht en kan niet worden verwijderd."
+
+#. Debugging output
+#: ../yum/__init__.py:6741
+#, python-format
+msgid "Examining revdeps of %s"
+msgstr "Onderzoeken revdeps van %s"
+
+#. Debugging output
+#: ../yum/__init__.py:6762
+#, python-format
+msgid "%s has revdep %s which was user-installed."
+msgstr "%s heeft revdep %s en was gebruiker-geïnstalleerd."
+
+#: ../yum/__init__.py:6773 ../yum/__init__.py:6779
+#, python-format
+msgid "%s is needed by a package to be installed."
+msgstr "%s moet voor dit pakket al zijn geïnstalleerd"
+
+#. Debugging output
+#: ../yum/__init__.py:6793
+#, python-format
+msgid "%s has no user-installed revdeps."
+msgstr "%s heeft geen door gebruiker geïnstalleerd revdeps."
+
+#. Mostly copied from YumOutput._outKeyValFill()
+#: ../yum/plugins.py:212
+msgid "Loaded plugins: "
+msgstr "Geladen plugins: "
+
+#: ../yum/plugins.py:226 ../yum/plugins.py:232
+#, python-format
+msgid "No plugin match for: %s"
+msgstr "Geen plugin match voor: %s"
+
+#: ../yum/plugins.py:262
+#, python-format
+msgid "Not loading \"%s\" plugin, as it is disabled"
+msgstr "\"%s\" plug-in wordt niet geladen, staat uitgeschakeld"
+
+#. Give full backtrace:
+#: ../yum/plugins.py:274
+#, python-format
+msgid "Plugin \"%s\" can't be imported"
+msgstr "Plugin \"%s\" kan niet worden geïmporteerd"
+
+#: ../yum/plugins.py:281
+#, python-format
+msgid "Plugin \"%s\" doesn't specify required API version"
+msgstr "Plugin \"%s\" geeft niet de vereiste API-versie aan"
+
+#: ../yum/plugins.py:286
+#, python-format
+msgid "Plugin \"%s\" requires API %s. Supported API is %s."
+msgstr "Plugin \"%s\" vereist API %s. Ondersteunde API is echter %s."
+
+#: ../yum/plugins.py:319
+#, python-format
+msgid "Loading \"%s\" plugin"
+msgstr "Laden van \"%s\" plugin"
+
+#: ../yum/plugins.py:326
+#, python-format
+msgid "Two or more plugins with the name \"%s\" exist in the plugin search path"
+msgstr "Twee of meer plugins met de naam \"%s\" komen voor ​​in het plugin zoekpad"
+
+#: ../yum/plugins.py:346
+#, python-format
+msgid "Configuration file %s not found"
+msgstr "Configuratiebestand %s niet gevonden"
+
+#. for
+#. Configuration files for the plugin not found
+#: ../yum/plugins.py:349
+#, python-format
+msgid "Unable to find configuration file for plugin %s"
+msgstr "Kan configuratiebestand niet vinden voor plugin %s"
+
+#: ../yum/plugins.py:553
+msgid "registration of commands not supported"
+msgstr "registratie van commando's niet ondersteund"
+
+#: ../yum/rpmsack.py:159
+msgid "has missing requires of"
+msgstr "heeft ontbrekende vereisten"
+
+#: ../yum/rpmsack.py:162
+msgid "has installed conflicts"
+msgstr "heeft geïnstalleerde conflicten"
+
+#: ../yum/rpmsack.py:171
+#, python-format
+msgid "%s is a duplicate with %s"
+msgstr "%s is een duplicaat van %s"
+
+#: ../yum/rpmsack.py:179
+#, python-format
+msgid "%s is obsoleted by %s"
+msgstr "%s is ouder dan %s"
+
+#: ../yum/rpmsack.py:187
+#, python-format
+msgid "%s provides %s but it cannot be found"
+msgstr "%s bevat %s, maar kan niet worden gevonden"
+
+#: ../yum/rpmtrans.py:80
+msgid "Repackaging"
+msgstr "Opnieuw verpakken"
+
+#: ../yum/rpmtrans.py:149
+#, python-format
+msgid "Verify: %u/%u: %s"
+msgstr "Verifiëer: %u/%u: %s"
+
+#: ../yum/yumRepo.py:919
+#, python-format
+msgid ""
+"Insufficient space in download directory %s\n"
+"    * free   %s\n"
+"    * needed %s"
+msgstr "Onvoldoende ruimte in download directory %s\n    * vrij     %s\n    * nodig %s"
+
+#: ../yum/yumRepo.py:986
+msgid "Package does not match intended download."
+msgstr "Pakket komt niet overeen met bedoelde download"
+
+#: ../rpmUtils/oldUtils.py:33
+#, python-format
+msgid "Header cannot be opened or does not match %s, %s."
+msgstr "Header kan niet worden geopend of komt niet overeen met %s, %s."
+
+#: ../rpmUtils/oldUtils.py:53
+#, python-format
+msgid "RPM %s fails md5 check"
+msgstr "RPM %s komt niet door de md5 check"
+
+#: ../rpmUtils/oldUtils.py:151
+msgid "Could not open RPM database for reading. Perhaps it is already in use?"
+msgstr "RPM-database kan niet worden geopend om te lezen. Misschien al in gebruik?"
+
+#: ../rpmUtils/oldUtils.py:183
+msgid "Got an empty Header, something has gone wrong"
+msgstr "Verkreeg een lege Header, iets is er mis gegaan"
+
+#: ../rpmUtils/oldUtils.py:253 ../rpmUtils/oldUtils.py:260
+#: ../rpmUtils/oldUtils.py:263 ../rpmUtils/oldUtils.py:266
+#, python-format
+msgid "Damaged Header %s"
+msgstr "Beschadigde Header %s"
+
+#: ../rpmUtils/oldUtils.py:281
+#, python-format
+msgid "Error opening rpm %s - error %s"
+msgstr "Fout bij het openen van rpm %s - fout %s"
diff --git a/po/nl_NL.po b/po/nl_NL.po
new file mode 100644
index 0000000..43145ae
--- /dev/null
+++ b/po/nl_NL.po
@@ -0,0 +1,3506 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# 
+# Translators:
+# Richard E. van der Luit <nippur@fedoraproject.org>, 2011-2012.
+msgid ""
+msgstr ""
+"Project-Id-Version: Yum\n"
+"Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
+"POT-Creation-Date: 2013-01-30 09:08-0500\n"
+"PO-Revision-Date: 2013-01-30 16:53+0000\n"
+"Last-Translator: Richard E. van der Luit <nippur@fedoraproject.org>\n"
+"Language-Team: Dutch (Netherlands) (http://www.transifex.com/projects/p/yum/language/nl_NL/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: nl_NL\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../callback.py:45 ../output.py:1502 ../yum/rpmtrans.py:73
+msgid "Updating"
+msgstr "Bijwerken"
+
+#: ../callback.py:46 ../yum/rpmtrans.py:74
+msgid "Erasing"
+msgstr "Wissen"
+
+#: ../callback.py:47 ../callback.py:48 ../callback.py:50 ../output.py:1501
+#: ../output.py:2922 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
+#: ../yum/rpmtrans.py:78
+msgid "Installing"
+msgstr "Installeren"
+
+#: ../callback.py:49 ../callback.py:55 ../output.py:2379 ../yum/rpmtrans.py:77
+msgid "Obsoleted"
+msgstr "Aangemerkt als verouderd"
+
+#: ../callback.py:51 ../output.py:1670 ../output.py:2222 ../output.py:2386
+msgid "Updated"
+msgstr "Bijgewerkt"
+
+#: ../callback.py:52 ../output.py:2221
+msgid "Erased"
+msgstr "Gewist"
+
+#: ../callback.py:53 ../callback.py:54 ../callback.py:56 ../output.py:1668
+#: ../output.py:2221 ../output.py:2223 ../output.py:2894
+msgid "Installed"
+msgstr "Geïnstalleerd"
+
+#: ../callback.py:142
+msgid "No header - huh?"
+msgstr "Geen header - huh?"
+
+#: ../callback.py:180
+msgid "Repackage"
+msgstr "Opnieuw verpakken"
+
+#: ../callback.py:201
+#, python-format
+msgid "Error: invalid output state: %s for %s"
+msgstr "Fout: ongeldige out-put status: %s voor %s"
+
+#: ../callback.py:224
+#, python-format
+msgid "Erased: %s"
+msgstr "Verwijderd: %s"
+
+#: ../callback.py:229 ../output.py:1503 ../output.py:2897
+msgid "Removing"
+msgstr "Verwijderen"
+
+#: ../callback.py:231 ../yum/rpmtrans.py:79
+msgid "Cleanup"
+msgstr "Opruimen"
+
+#: ../cli.py:122
+#, python-format
+msgid "Command \"%s\" already defined"
+msgstr "Opdracht \"%s\" is al gedefinieerd"
+
+#: ../cli.py:137
+msgid "Setting up repositories"
+msgstr "Opzetten "
+
+#: ../cli.py:148
+msgid "Reading repository metadata in from local files"
+msgstr "Repositorymetadata inlezen van lokale bestanden"
+
+#: ../cli.py:273 ../cli.py:277 ../utils.py:320
+#, python-format
+msgid "Config Error: %s"
+msgstr "Configuratiefout: %s"
+
+#: ../cli.py:280 ../cli.py:2206 ../utils.py:323
+#, python-format
+msgid "Options Error: %s"
+msgstr "Optiefout: %s"
+
+#: ../cli.py:327
+#, python-format
+msgid "  Installed: %s-%s at %s"
+msgstr "  Geïnstalleerd: %s-%s op %s"
+
+#: ../cli.py:329
+#, python-format
+msgid "  Built    : %s at %s"
+msgstr "  Gebouwd    : %s op %s"
+
+#: ../cli.py:331
+#, python-format
+msgid "  Committed: %s at %s"
+msgstr "  Ingediend: %s op %s"
+
+#: ../cli.py:372
+msgid "You need to give some command"
+msgstr "Je moet een commando ingeven"
+
+#: ../cli.py:386
+#, python-format
+msgid "No such command: %s. Please use %s --help"
+msgstr "Een dergelijk commando bestaat niet: %s. Gebruik a.u.b. %s - help"
+
+#: ../cli.py:444
+msgid "Disk Requirements:\n"
+msgstr "Hardeschijf-vereisten:\n"
+
+#: ../cli.py:446
+#, python-format
+msgid "  At least %dMB more space needed on the %s filesystem.\n"
+msgid_plural "  At least %dMB more space needed on the %s filesystem.\n"
+msgstr[0] "  Minstens %d MB meer ruimte nodig op het bestandssysteem %s.\n"
+msgstr[1] "  Minstens %d MB meer ruimte nodig op  bestandssysteem  %s.\n"
+
+#. TODO: simplify the dependency errors?
+#. Fixup the summary
+#: ../cli.py:451
+msgid ""
+"Error Summary\n"
+"-------------\n"
+msgstr "Samenvatting Fouten\n-------------\n"
+
+#: ../cli.py:472
+msgid "Can't create lock file; exiting"
+msgstr "Kan geen lock-bestand aanmaken; verlaten"
+
+#: ../cli.py:479
+msgid ""
+"Another app is currently holding the yum lock; exiting as configured by "
+"exit_on_lock"
+msgstr "Een andere toepassing heeft op dit moment yum gelocked; Stoppen zoals geconfigureerd door exit_on_lock"
+
+#: ../cli.py:532
+msgid "Trying to run the transaction but nothing to do. Exiting."
+msgstr "Aan het proberen de transactie uit te voeren, maar er is niets te doen. Ik hou er mee op."
+
+#: ../cli.py:577
+msgid "future rpmdb ver mismatched saved transaction version,"
+msgstr "aanstaande rpmdb-versie kwam niet overeen met opgeslagen  transactieversie,"
+
+#: ../cli.py:579 ../yum/__init__.py:6523
+msgid " ignoring, as requested."
+msgstr " negeren, zoals gevraagd."
+
+#: ../cli.py:582 ../yum/__init__.py:6526 ../yum/__init__.py:6673
+msgid " aborting."
+msgstr "afbreken."
+
+#: ../cli.py:588
+msgid "Exiting on user Command"
+msgstr "Ophouden op commando van gebruiker "
+
+#: ../cli.py:592
+msgid "Downloading Packages:"
+msgstr "Downloaden Pakketten:"
+
+#: ../cli.py:597
+msgid "Error Downloading Packages:\n"
+msgstr "Fout Downloaden Pakketten:\n"
+
+#: ../cli.py:616 ../yum/__init__.py:6215
+msgid "Running Transaction Check"
+msgstr "Uitvoeren Transactie Check"
+
+#: ../cli.py:625 ../yum/__init__.py:6224
+msgid "ERROR You need to update rpm to handle:"
+msgstr "FOUT U moet rpm bijwerken om het op te lossen:"
+
+#: ../cli.py:627 ../yum/__init__.py:6227
+msgid "ERROR with transaction check vs depsolve:"
+msgstr "FOUT bij transactiecheck ten opzichte van afhankelijkheidsoplossing:"
+
+#: ../cli.py:633
+msgid "RPM needs to be updated"
+msgstr "RPM moet worden bijgewerkt"
+
+#: ../cli.py:634
+#, python-format
+msgid "Please report this error in %s"
+msgstr "Meld deze fout in %s a.u.b."
+
+#: ../cli.py:640
+msgid "Running Transaction Test"
+msgstr "Uitvoeren Transactie Test"
+
+#: ../cli.py:652
+msgid "Transaction Check Error:\n"
+msgstr "Transactie Check Fout:\n"
+
+#: ../cli.py:659
+msgid "Transaction Test Succeeded"
+msgstr "Transactie Test geslaagd"
+
+#: ../cli.py:691
+msgid "Running Transaction"
+msgstr "Uitvoeren Transactie"
+
+#: ../cli.py:724
+msgid ""
+"Refusing to automatically import keys when running unattended.\n"
+"Use \"-y\" to override."
+msgstr "Weiger om automatisch sleutels te importeren tijdens onbewaakt uitvoeren. \nGebruik \"-y\" om dit te overrulen."
+
+#: ../cli.py:743 ../cli.py:786
+msgid "  * Maybe you meant: "
+msgstr "  * Misschien heb je hier bedoeld: "
+
+#: ../cli.py:769 ../cli.py:777
+#, python-format
+msgid "Package(s) %s%s%s available, but not installed."
+msgstr "Pakket(ten) %s %s %s beschikbaar, maar niet geïnstalleerd."
+
+#: ../cli.py:783 ../cli.py:891 ../cli.py:1158
+#, python-format
+msgid "No package %s%s%s available."
+msgstr "Geen pakket %s %s %s beschikbaar."
+
+#: ../cli.py:871 ../cli.py:881 ../cli.py:1101 ../cli.py:1111
+#, python-format
+msgid "Bad %s argument %s."
+msgstr "Slecht %s argument %s."
+
+#: ../cli.py:900 ../yumcommands.py:3331
+#, python-format
+msgid "%d package to install"
+msgid_plural "%d packages to install"
+msgstr[0] "%d pakket om te installeren"
+msgstr[1] "%d pakketten om te installeren"
+
+#: ../cli.py:903 ../cli.py:904 ../cli.py:1169 ../cli.py:1170 ../cli.py:1224
+#: ../cli.py:1225 ../cli.py:1260 ../yumcommands.py:323 ../yumcommands.py:3419
+msgid "Nothing to do"
+msgstr "Niets te doen"
+
+#: ../cli.py:953
+#, python-format
+msgid "%d package marked for Update"
+msgid_plural "%d packages marked for Update"
+msgstr[0] "%d pakket gemarkeerd voor update"
+msgstr[1] "%d pakketten gemarkeerd voor update"
+
+#: ../cli.py:955
+msgid "No Packages marked for Update"
+msgstr "Geen pakketten gemarkeerd voor Bijwerken"
+
+#: ../cli.py:1067
+#, python-format
+msgid "%d package marked for Distribution Synchronization"
+msgid_plural "%d packages marked for Distribution Synchronization"
+msgstr[0] "%d pakket gemarkeerd voor Distributie Synchronisatie"
+msgstr[1] "%d pakketten gemarkeerd voor Distributie Synchronisatie"
+
+#: ../cli.py:1069
+msgid "No Packages marked for Distribution Synchronization"
+msgstr "Geen pakketten gemarkeerd voor Distributie Synchronisatie"
+
+#: ../cli.py:1124
+#, python-format
+msgid "%d package marked for removal"
+msgid_plural "%d packages marked for removal"
+msgstr[0] "%d pakketten gemarkeerd voor verwijdering"
+msgstr[1] "%d pakketten gemarkeerd voor verwijdering"
+
+#: ../cli.py:1126
+msgid "No Packages marked for removal"
+msgstr "Geen pakketten gemarkeerd voor verwijdering"
+
+#: ../cli.py:1166
+#, python-format
+msgid "%d package to downgrade"
+msgid_plural "%d packages to downgrade"
+msgstr[0] "%d pakket te downgraden"
+msgstr[1] "%d pakketten te downgraden"
+
+#: ../cli.py:1207
+#, python-format
+msgid " (from %s)"
+msgstr " (van %s)"
+
+#: ../cli.py:1208
+#, python-format
+msgid "Installed package %s%s%s%s not available."
+msgstr "Geïnstalleerd pakket %s %s %s %s niet beschikbaar."
+
+#: ../cli.py:1221
+#, python-format
+msgid "%d package to reinstall"
+msgid_plural "%d packages to reinstall"
+msgstr[0] "%d pakket te herinstalleren"
+msgstr[1] "%d pakketten te herinstalleren"
+
+#: ../cli.py:1246
+msgid "No Packages Provided"
+msgstr "Geen Pakketten Opgeleverd"
+
+#: ../cli.py:1259
+msgid "Package(s) to install"
+msgstr "Pakket(ten) te installeren"
+
+#: ../cli.py:1367
+#, python-format
+msgid "N/S Matched: %s"
+msgstr "N/S Matched: %s"
+
+#: ../cli.py:1384
+#, python-format
+msgid "  Name and summary matches %sonly%s, use \"search all\" for everything."
+msgstr "  Naam en opsomming matches %sonly%s, gebruik \"search all\" voor alles."
+
+#: ../cli.py:1386
+#, python-format
+msgid ""
+"  Full name and summary matches %sonly%s, use \"search all\" for everything."
+msgstr "  Volledige naam en opsomming matches %sonly%s, gebruik \"search all\" voor alles."
+
+#: ../cli.py:1404
+#, python-format
+msgid "Matched: %s"
+msgstr "Passend: %s"
+
+#: ../cli.py:1411
+#, python-format
+msgid "  Name and summary matches %smostly%s, use \"search all\" for everything."
+msgstr "  Naam en opsomming matches %smostly%s, gebruik \"search all\" voor alles."
+
+#: ../cli.py:1415
+#, python-format
+msgid "Warning: No matches found for: %s"
+msgstr "Waarschuwing: Er zijn geen resultaten gevonden voor: %s"
+
+#: ../cli.py:1418
+msgid "No Matches found"
+msgstr "Geen resultaten gevonden"
+
+#: ../cli.py:1536
+#, python-format
+msgid ""
+"Error: No Packages found for:\n"
+"  %s"
+msgstr "Fout: Geen pakketten gevonden voor:\n  %s"
+
+#: ../cli.py:1572
+msgid "Cleaning repos: "
+msgstr "Opschonen repo's:"
+
+#: ../cli.py:1577
+msgid "Cleaning up Everything"
+msgstr "Alles opruimen"
+
+#: ../cli.py:1593
+msgid "Cleaning up Headers"
+msgstr "Headers opruimen"
+
+#: ../cli.py:1596
+msgid "Cleaning up Packages"
+msgstr "Pakketten opruimen"
+
+#: ../cli.py:1599
+msgid "Cleaning up xml metadata"
+msgstr "Xml metadata "
+
+#: ../cli.py:1602
+msgid "Cleaning up database cache"
+msgstr "Database cache schonen"
+
+#: ../cli.py:1605
+msgid "Cleaning up expire-cache metadata"
+msgstr "Expire-cache metadata "
+
+#: ../cli.py:1608
+msgid "Cleaning up cached rpmdb data"
+msgstr "Cache rpmdb data "
+
+#: ../cli.py:1611
+msgid "Cleaning up plugins"
+msgstr "Plugins schonen"
+
+#: ../cli.py:1727
+msgid "Installed Environment Groups:"
+msgstr "Geïnstalleerde omgevingsgroepen:"
+
+#: ../cli.py:1728
+msgid "Available Environment Groups:"
+msgstr "Beschikbare omgevingsgroepen:"
+
+#: ../cli.py:1735
+msgid "Installed Groups:"
+msgstr "Geïnstalleerd Groepen:"
+
+#: ../cli.py:1742
+msgid "Installed Language Groups:"
+msgstr "Geïnstalleerde Taalgroepen:"
+
+#: ../cli.py:1749
+msgid "Available Groups:"
+msgstr "Beschikbare groepen:"
+
+#: ../cli.py:1756
+msgid "Available Language Groups:"
+msgstr "Beschikbare Taal Groepen:"
+
+#: ../cli.py:1759
+#, python-format
+msgid "Warning: No Environments/Groups match: %s"
+msgstr "Waarschuwing: Geen omgevingen/groepen komen overeen: %s"
+
+#: ../cli.py:1763
+msgid "Done"
+msgstr "Klaar"
+
+#: ../cli.py:1818
+#, python-format
+msgid "Warning: Group/Environment %s does not exist."
+msgstr "Waarschuwing: Groep/Omgeving %s bestaat niet."
+
+#: ../cli.py:1859
+#, python-format
+msgid "Warning: Environment %s does not exist."
+msgstr "Waarschuwing: Omgeving %s bestaat niet."
+
+#: ../cli.py:1873 ../cli.py:1879 ../yum/__init__.py:4254
+#, python-format
+msgid "Warning: Group %s does not exist."
+msgstr "Waarschuwing: Groep %s bestaat niet."
+
+#: ../cli.py:1883
+msgid "No packages in any requested group available to install or update"
+msgstr "Geen pakketten in welke gewenste groep dan ook beschikbaar om te installeren of bij te werken"
+
+#: ../cli.py:1885
+#, python-format
+msgid "%d package to Install"
+msgid_plural "%d packages to Install"
+msgstr[0] "%d pakket te installeren"
+msgstr[1] "%d pakketten te installeren"
+
+#: ../cli.py:1919 ../yum/__init__.py:3536 ../yum/__init__.py:3766
+#: ../yum/__init__.py:3824
+#, python-format
+msgid "No Environment named %s exists"
+msgstr "Er bestaat geen omgeving met de naam %s"
+
+#: ../cli.py:1935 ../yum/__init__.py:4282
+#, python-format
+msgid "No group named %s exists"
+msgstr "Geen enkele groep met de naam %s bestaat"
+
+#: ../cli.py:1945
+msgid "No packages to remove from groups"
+msgstr "Geen pakketten om uit de groepen te verwijderen"
+
+#: ../cli.py:1947 ../yumcommands.py:3351
+#, python-format
+msgid "%d package to remove"
+msgid_plural "%d packages to remove"
+msgstr[0] "%d pakket te verwijderen"
+msgstr[1] "%d pakketten te verwijderen"
+
+#: ../cli.py:1988
+#, python-format
+msgid "Package %s is already installed, skipping"
+msgstr "Pakket %s is reeds geïnstalleerd, overslaan"
+
+#: ../cli.py:1999
+#, python-format
+msgid "Discarding non-comparable pkg %s.%s"
+msgstr "Afwijzen van niet-vergelijkbare pkg %s.%s"
+
+#. we've not got any installed that match n or n+a
+#: ../cli.py:2025
+#, python-format
+msgid "No other %s installed, adding to list for potential install"
+msgstr "Geen ander %s geïnstalleerd, wordt toegevoegd aan de lijst van potentieel te installeren"
+
+#: ../cli.py:2045
+msgid "Plugin Options"
+msgstr "Plugin Opties"
+
+#: ../cli.py:2057
+#, python-format
+msgid "Command line error: %s"
+msgstr "Command line error: %s"
+
+#: ../cli.py:2079
+#, python-format
+msgid ""
+"\n"
+"\n"
+"%s: %s option requires an argument"
+msgstr "\n\n%s: %s optie vereist een argument"
+
+#: ../cli.py:2147
+msgid "--color takes one of: auto, always, never"
+msgstr "--color   kies uit: auto, always, never"
+
+#. We have a relative installroot ... haha
+#: ../cli.py:2218
+#, python-format
+msgid "--installroot must be an absolute path: %s"
+msgstr "--installroot moet een absoluut pad zijn: %s"
+
+#: ../cli.py:2272
+msgid "show this help message and exit"
+msgstr "Dit helpbericht tonen en afsluiten"
+
+#: ../cli.py:2276
+msgid "be tolerant of errors"
+msgstr "fout-tolerant zijn"
+
+#: ../cli.py:2279
+msgid "run entirely from system cache, don't update cache"
+msgstr "draai volledig uit systeemcache, werk cachegeheugen niet bij"
+
+#: ../cli.py:2282
+msgid "config file location"
+msgstr "locatie config-bestand"
+
+#: ../cli.py:2285
+msgid "maximum command wait time"
+msgstr "maximale wachttijd commando"
+
+#: ../cli.py:2287
+msgid "debugging output level"
+msgstr "debugging output niveau"
+
+#: ../cli.py:2291
+msgid "show duplicates, in repos, in list/search commands"
+msgstr "laat dubbelen zien, in de repo's, in lijst/zoek-opdrachten"
+
+#: ../cli.py:2296
+msgid "error output level"
+msgstr "fouten output niveau"
+
+#: ../cli.py:2299
+msgid "debugging output level for rpm"
+msgstr "debugging output level voor rpm"
+
+#: ../cli.py:2302
+msgid "quiet operation"
+msgstr "stille uitvoering"
+
+#: ../cli.py:2304
+msgid "verbose operation"
+msgstr "verbose uitvoering"
+
+#: ../cli.py:2306
+msgid "answer yes for all questions"
+msgstr "antwoord ja op alle vragen"
+
+#: ../cli.py:2308
+msgid "answer no for all questions"
+msgstr "antwoord nee voor alle vragen"
+
+#: ../cli.py:2312
+msgid "show Yum version and exit"
+msgstr "Toon Yum versie en sluit af"
+
+#: ../cli.py:2313
+msgid "set install root"
+msgstr "installatie root instellen"
+
+#: ../cli.py:2317
+msgid "enable one or more repositories (wildcards allowed)"
+msgstr "aanzetten één of meerdere repositories (wildcards toegestaan)"
+
+#: ../cli.py:2321
+msgid "disable one or more repositories (wildcards allowed)"
+msgstr "uitschakelen één of meerdere repositories (wildcards toegestaan)"
+
+#: ../cli.py:2324
+msgid "exclude package(s) by name or glob"
+msgstr "uitsluiten pakket(ten) op naam of globaal"
+
+#: ../cli.py:2326
+msgid "disable exclude from main, for a repo or for everything"
+msgstr "uitschakelen Uitsluiting van 'main', voor een repo of voor alles"
+
+#: ../cli.py:2329
+msgid "enable obsoletes processing during updates"
+msgstr "aanzetten Verwerking verouderde pakketten tijdens updates"
+
+#: ../cli.py:2331
+msgid "disable Yum plugins"
+msgstr "uitschakelen Yum plug-ins"
+
+#: ../cli.py:2333
+msgid "disable gpg signature checking"
+msgstr "uitschakelen GPG signature controleren"
+
+#: ../cli.py:2335
+msgid "disable plugins by name"
+msgstr "uitschakelen plugins op naam"
+
+#: ../cli.py:2338
+msgid "enable plugins by name"
+msgstr "aanzetten plugins op naam"
+
+#: ../cli.py:2341
+msgid "skip packages with depsolving problems"
+msgstr "sla pakketten met afhankelijkheidsproblemen over"
+
+#: ../cli.py:2343
+msgid "control whether color is used"
+msgstr "bepalen of kleur wordt gebruikt"
+
+#: ../cli.py:2345
+msgid "set value of $releasever in yum config and repo files"
+msgstr "instellen waarde van $releasever in yum config en repo-bestanden"
+
+#: ../cli.py:2347
+msgid "don't update, just download"
+msgstr "niet updaten, alleen downloaden"
+
+#: ../cli.py:2349
+msgid "specifies an alternate directory to store packages"
+msgstr "geeft een andere map op om pakketten in op te slaan"
+
+#: ../cli.py:2351
+msgid "set arbitrary config and repo options"
+msgstr "instellen arbitraire config en repo-opties"
+
+#: ../output.py:458
+msgid "Jan"
+msgstr "Jan"
+
+#: ../output.py:458
+msgid "Feb"
+msgstr "Feb"
+
+#: ../output.py:458
+msgid "Mar"
+msgstr "Mrt"
+
+#: ../output.py:458
+msgid "Apr"
+msgstr "Apr"
+
+#: ../output.py:458
+msgid "May"
+msgstr "Mei"
+
+#: ../output.py:458
+msgid "Jun"
+msgstr "Jun"
+
+#: ../output.py:459
+msgid "Jul"
+msgstr "Jul"
+
+#: ../output.py:459
+msgid "Aug"
+msgstr "Aug"
+
+#: ../output.py:459
+msgid "Sep"
+msgstr "Sep"
+
+#: ../output.py:459
+msgid "Oct"
+msgstr "Okt"
+
+#: ../output.py:459
+msgid "Nov"
+msgstr "Nov"
+
+#: ../output.py:459
+msgid "Dec"
+msgstr "Dec"
+
+#: ../output.py:473
+msgid "Trying other mirror."
+msgstr "Proberen andere mirror..."
+
+#: ../output.py:816
+#, python-format
+msgid "Name        : %s%s%s"
+msgstr "Naam        : %s %s %s"
+
+#: ../output.py:817
+#, python-format
+msgid "Arch        : %s"
+msgstr "Arch        : %s"
+
+#: ../output.py:819
+#, python-format
+msgid "Epoch       : %s"
+msgstr "Epoch       : %s"
+
+#: ../output.py:820
+#, python-format
+msgid "Version     : %s"
+msgstr "Versie      : %s"
+
+#: ../output.py:821
+#, python-format
+msgid "Release     : %s"
+msgstr "Release     : %s"
+
+#: ../output.py:822
+#, python-format
+msgid "Size        : %s"
+msgstr "Grootte     : %s"
+
+#: ../output.py:823 ../output.py:1329
+#, python-format
+msgid "Repo        : %s"
+msgstr "Repo        : %s"
+
+#: ../output.py:825
+#, python-format
+msgid "From repo   : %s"
+msgstr "Van  repo   : %s"
+
+#: ../output.py:827
+#, python-format
+msgid "Committer   : %s"
+msgstr "Indiener    : %s"
+
+#: ../output.py:828
+#, python-format
+msgid "Committime  : %s"
+msgstr "Ingediend op: %s"
+
+#: ../output.py:829
+#, python-format
+msgid "Buildtime   : %s"
+msgstr "Bouwtijd    : %s"
+
+#: ../output.py:831
+#, python-format
+msgid "Install time: %s"
+msgstr "Installeertijd    : %s"
+
+#: ../output.py:839
+#, python-format
+msgid "Installed by: %s"
+msgstr "Geïnstalleerd door: %s"
+
+#: ../output.py:846
+#, python-format
+msgid "Changed by  : %s"
+msgstr "Gewijzigd door    : %s"
+
+#: ../output.py:847
+msgid "Summary     : "
+msgstr "Samenvatting: "
+
+#: ../output.py:849 ../output.py:1345
+#, python-format
+msgid "URL         : %s"
+msgstr "URL         : %s"
+
+#: ../output.py:850
+msgid "License     : "
+msgstr "Licentie    : "
+
+#: ../output.py:851 ../output.py:1342
+msgid "Description : "
+msgstr "Beschrijving: "
+
+#: ../output.py:969
+msgid "y"
+msgstr "y"
+
+#: ../output.py:969
+msgid "yes"
+msgstr "yes"
+
+#: ../output.py:970
+msgid "n"
+msgstr "n"
+
+#: ../output.py:970
+msgid "no"
+msgstr "no"
+
+#: ../output.py:974
+msgid "Is this ok [y/N]: "
+msgstr "Is dit ok [y / N]:"
+
+#: ../output.py:1097
+#, python-format
+msgid ""
+"\n"
+"Group: %s"
+msgstr "\nGroep: %s"
+
+#: ../output.py:1101
+#, python-format
+msgid " Group-Id: %s"
+msgstr " Group-Id: %s"
+
+#: ../output.py:1122 ../output.py:1169
+#, python-format
+msgid " Description: %s"
+msgstr " Beschrijving: %s"
+
+#: ../output.py:1124
+#, python-format
+msgid " Language: %s"
+msgstr " Taal: %s"
+
+#: ../output.py:1126
+msgid " Mandatory Packages:"
+msgstr " Verplichte pakketten:"
+
+#: ../output.py:1127
+msgid " Default Packages:"
+msgstr "Standaard Pakketten:"
+
+#: ../output.py:1128
+msgid " Optional Packages:"
+msgstr " Optionele pakketten:"
+
+#: ../output.py:1129
+msgid " Conditional Packages:"
+msgstr " Voorwaardelijke Pakketten:"
+
+#: ../output.py:1147
+msgid " Installed Packages:"
+msgstr " Geïnstalleerde Pakketten:"
+
+#: ../output.py:1157
+#, python-format
+msgid ""
+"\n"
+"Environment Group: %s"
+msgstr "\nOmgevingsgroep: %s"
+
+#: ../output.py:1158
+#, python-format
+msgid " Environment-Id: %s"
+msgstr "Omgevings-id: %s"
+
+#: ../output.py:1191
+msgid " Mandatory Groups:"
+msgstr "Verplichte groepen:"
+
+#: ../output.py:1192
+msgid " Optional Groups:"
+msgstr "Optionele groepen:"
+
+#: ../output.py:1205
+msgid " Installed Groups:"
+msgstr "Geïnstalleerde groepen:"
+
+#: ../output.py:1217
+#, python-format
+msgid "package: %s"
+msgstr "pakket: %s"
+
+#: ../output.py:1219
+msgid "  No dependencies for this package"
+msgstr "  Geen afhankelijkheden voor dit pakket"
+
+#: ../output.py:1224
+#, python-format
+msgid "  dependency: %s"
+msgstr "  afhankelijkheid: %s"
+
+#: ../output.py:1226
+msgid "   Unsatisfied dependency"
+msgstr "   Onvervulde afhankelijkheid"
+
+#: ../output.py:1337
+msgid "Matched from:"
+msgstr "Match uit:"
+
+#: ../output.py:1348
+#, python-format
+msgid "License     : %s"
+msgstr "Licentie    : %s"
+
+#: ../output.py:1351
+#, python-format
+msgid "Filename    : %s"
+msgstr "Bestandsnaam: %s"
+
+#: ../output.py:1360
+msgid "Provides    : "
+msgstr "Levert    : "
+
+#: ../output.py:1363
+msgid "Other       : "
+msgstr "Andere      : "
+
+#: ../output.py:1426
+msgid "There was an error calculating total download size"
+msgstr "Er is een fout opgetreden bij de berekening van de totale download-grootte"
+
+#: ../output.py:1431
+#, python-format
+msgid "Total size: %s"
+msgstr "Totale grootte: %s"
+
+#: ../output.py:1433
+#, python-format
+msgid "Total download size: %s"
+msgstr "Totale download grootte: %s"
+
+#: ../output.py:1436 ../output.py:1459 ../output.py:1463
+#, python-format
+msgid "Installed size: %s"
+msgstr "Geïnstalleerde grootte: %s"
+
+#: ../output.py:1454
+msgid "There was an error calculating installed size"
+msgstr "Er was een fout bij het berekenen van geïnstalleerde grootte"
+
+#: ../output.py:1504
+msgid "Reinstalling"
+msgstr "Herinstalleren"
+
+#: ../output.py:1505
+msgid "Downgrading"
+msgstr "Downgrading"
+
+#: ../output.py:1506
+msgid "Installing for dependencies"
+msgstr "Installeren vanwege afhankelijkheden"
+
+#: ../output.py:1507
+msgid "Updating for dependencies"
+msgstr "Updaten vanwege afhankelijkheden"
+
+#: ../output.py:1508
+msgid "Removing for dependencies"
+msgstr "Verwijderen vanwege afhankelijkheden"
+
+#: ../output.py:1515 ../output.py:1576 ../output.py:1672
+msgid "Skipped (dependency problems)"
+msgstr "Overgeslagen (afhankelijkheidsproblemen)"
+
+#: ../output.py:1517 ../output.py:1577 ../output.py:2223
+msgid "Not installed"
+msgstr "Niet geïnstalleerd"
+
+#: ../output.py:1518 ../output.py:1578
+msgid "Not available"
+msgstr "Niet beschikbaar"
+
+#: ../output.py:1540 ../output.py:1588 ../output.py:1604 ../output.py:2581
+msgid "Package"
+msgid_plural "Packages"
+msgstr[0] "Pakket"
+msgstr[1] "Pakketten"
+
+#: ../output.py:1540
+msgid "Arch"
+msgstr "Arch"
+
+#: ../output.py:1541
+msgid "Version"
+msgstr "Versie"
+
+#: ../output.py:1541
+msgid "Repository"
+msgstr "Repository"
+
+#: ../output.py:1542
+msgid "Size"
+msgstr "Grootte"
+
+#: ../output.py:1554
+#, python-format
+msgid "     replacing  %s%s%s.%s %s\n"
+msgstr "    vervangen van %s%s%s.%s%s\n"
+
+#: ../output.py:1563
+#, python-format
+msgid ""
+"\n"
+"Transaction Summary\n"
+"%s\n"
+msgstr "\nTransactie Samenvatting\n%s\n"
+
+#: ../output.py:1568 ../output.py:2376 ../output.py:2377
+msgid "Install"
+msgstr "Installeren"
+
+#: ../output.py:1570
+msgid "Upgrade"
+msgstr "Upgrade"
+
+#: ../output.py:1572
+msgid "Remove"
+msgstr "Verwijderen"
+
+#: ../output.py:1574 ../output.py:2382
+msgid "Reinstall"
+msgstr "Herinstalleren"
+
+#: ../output.py:1575 ../output.py:2383
+msgid "Downgrade"
+msgstr "Downgrade"
+
+#: ../output.py:1606
+msgid "Dependent package"
+msgid_plural "Dependent packages"
+msgstr[0] "Afhankelijk pakket"
+msgstr[1] "Afhankelijke pakketten"
+
+#: ../output.py:1666
+msgid "Removed"
+msgstr "Verwijderd"
+
+#: ../output.py:1667
+msgid "Dependency Removed"
+msgstr "Afhankelijkheid verwijderd"
+
+#: ../output.py:1669
+msgid "Dependency Installed"
+msgstr "Afhankelijkheid geïnstalleerd"
+
+#: ../output.py:1671
+msgid "Dependency Updated"
+msgstr "Afhankelijkheid bijgewerkt"
+
+#: ../output.py:1673
+msgid "Replaced"
+msgstr "Vervangen"
+
+#: ../output.py:1674
+msgid "Failed"
+msgstr "Mislukt"
+
+#. Delta between C-c's so we treat as exit
+#: ../output.py:1764
+msgid "two"
+msgstr "twee"
+
+#. For translators: This is output like:
+#. Current download cancelled, interrupt (ctrl-c) again within two seconds
+#. to exit.
+#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
+#: ../output.py:1775
+#, python-format
+msgid ""
+"\n"
+" Current download cancelled, %sinterrupt (ctrl-c) again%s within %s%s%s seconds\n"
+"to exit.\n"
+msgstr "\nHuidige download geannuleerd, %sinterrupt (ctrl-c) nogmaals%s binnen %s%s%s seconden \nom af te sluiten.\n"
+
+#: ../output.py:1786
+msgid "user interrupt"
+msgstr "onderbreking door gebruiker"
+
+#: ../output.py:1812
+msgid "Total"
+msgstr "Totaal"
+
+#: ../output.py:1834
+msgid "I"
+msgstr "I"
+
+#: ../output.py:1835
+msgid "O"
+msgstr "O"
+
+#: ../output.py:1836
+msgid "E"
+msgstr "E"
+
+#: ../output.py:1837
+msgid "R"
+msgstr "R"
+
+#: ../output.py:1838
+msgid "D"
+msgstr "D"
+
+#: ../output.py:1839
+msgid "U"
+msgstr "U"
+
+#: ../output.py:1853
+msgid "<unset>"
+msgstr "<unset>"
+
+#: ../output.py:1854
+msgid "System"
+msgstr "Systeem"
+
+#: ../output.py:1923
+#, python-format
+msgid "Skipping merged transaction %d to %d, as it overlaps"
+msgstr "Overslaan van samengevoegde transactie %d tot %d, omdat dat overlapt"
+
+#: ../output.py:1933 ../output.py:2125
+msgid "No transactions"
+msgstr "Geen transacties"
+
+#: ../output.py:1958 ../output.py:2570 ../output.py:2660
+msgid "Bad transaction IDs, or package(s), given"
+msgstr "Slechte transactie-ID's, of pakket(ten), gegeven"
+
+#: ../output.py:2007
+msgid "Command line"
+msgstr "Commando lijn"
+
+#: ../output.py:2009 ../output.py:2458
+msgid "Login user"
+msgstr "Login gebruiker"
+
+#. REALLY Needs to use columns!
+#: ../output.py:2010 ../output.py:2579
+msgid "ID"
+msgstr "ID"
+
+#: ../output.py:2012
+msgid "Date and time"
+msgstr "Datum en tijd"
+
+#: ../output.py:2013 ../output.py:2460 ../output.py:2580
+msgid "Action(s)"
+msgstr "Actie(s)"
+
+#: ../output.py:2014 ../output.py:2461
+msgid "Altered"
+msgstr "Veranderd"
+
+#: ../output.py:2061
+msgid "No transaction ID given"
+msgstr "Geen transactie-ID opgegeven"
+
+#: ../output.py:2087 ../output.py:2526
+msgid "Bad transaction ID given"
+msgstr "Onjuiste transactie-ID opgegeven"
+
+#: ../output.py:2092
+msgid "Not found given transaction ID"
+msgstr "Opgegeven transactie-ID niet gevonden"
+
+#: ../output.py:2100
+msgid "Found more than one transaction ID!"
+msgstr "Vond meer dan één transactie ID!"
+
+#: ../output.py:2151 ../output.py:2534
+msgid "No transaction ID, or package, given"
+msgstr "Geen transactie-ID, of pakket, opgegeven"
+
+#: ../output.py:2222 ../output.py:2384
+msgid "Downgraded"
+msgstr "Downgraded"
+
+#: ../output.py:2224
+msgid "Older"
+msgstr "Ouder"
+
+#: ../output.py:2224
+msgid "Newer"
+msgstr "Nieuwer"
+
+#: ../output.py:2261 ../output.py:2263 ../output.py:2681
+msgid "Transaction ID :"
+msgstr "Transactie-ID:"
+
+#: ../output.py:2265 ../output.py:2683
+msgid "Begin time     :"
+msgstr "Starttijd      :"
+
+#: ../output.py:2268 ../output.py:2270
+msgid "Begin rpmdb    :"
+msgstr "Begin rpmdb    :"
+
+#: ../output.py:2286
+#, python-format
+msgid "(%u seconds)"
+msgstr "(%u seconden)"
+
+#: ../output.py:2288
+#, python-format
+msgid "(%u minutes)"
+msgstr "(%u minuten)"
+
+#: ../output.py:2290
+#, python-format
+msgid "(%u hours)"
+msgstr "(%u uur)"
+
+#: ../output.py:2292
+#, python-format
+msgid "(%u days)"
+msgstr "(%u dagen)"
+
+#: ../output.py:2293
+msgid "End time       :"
+msgstr "Eindtijd       :"
+
+#: ../output.py:2296 ../output.py:2298
+msgid "End rpmdb      :"
+msgstr "Einde rpmdb    :"
+
+#: ../output.py:2301 ../output.py:2303
+msgid "User           :"
+msgstr "Gebruiker      :"
+
+#: ../output.py:2307 ../output.py:2310 ../output.py:2312 ../output.py:2314
+#: ../output.py:2316
+msgid "Return-Code    :"
+msgstr "Return-Code    :"
+
+#: ../output.py:2307 ../output.py:2312
+msgid "Aborted"
+msgstr "Afgebroken"
+
+#: ../output.py:2310
+msgid "Failures:"
+msgstr "Mislukkingen:"
+
+#: ../output.py:2314
+msgid "Failure:"
+msgstr "Falen:"
+
+#: ../output.py:2316
+msgid "Success"
+msgstr "Succes"
+
+#: ../output.py:2321 ../output.py:2323 ../output.py:2712
+msgid "Command Line   :"
+msgstr "Commando Lijn   :"
+
+#: ../output.py:2332
+#, python-format
+msgid "Additional non-default information stored: %d"
+msgstr "Extra niet-standaardinfo opgeslagen: %d"
+
+#. This is _possible_, but not common
+#: ../output.py:2337
+msgid "Transaction performed with:"
+msgstr "Transactie uitgevoerd met:"
+
+#: ../output.py:2341
+msgid "Packages Altered:"
+msgstr "Pakketten veranderd:"
+
+#: ../output.py:2345
+msgid "Packages Skipped:"
+msgstr "Pakketten overgeslagen:"
+
+#: ../output.py:2353
+msgid "Rpmdb Problems:"
+msgstr "Rpmdb Problemen:"
+
+#: ../output.py:2364
+msgid "Scriptlet output:"
+msgstr "Scriptlet output:"
+
+#: ../output.py:2370
+msgid "Errors:"
+msgstr "Fouten:"
+
+#: ../output.py:2378
+msgid "Dep-Install"
+msgstr "Dep-Installeren"
+
+#: ../output.py:2380
+msgid "Obsoleting"
+msgstr "Als verouderd aanmerken"
+
+#: ../output.py:2381
+msgid "Erase"
+msgstr "Wissen"
+
+#: ../output.py:2385
+msgid "Update"
+msgstr "Update"
+
+#: ../output.py:2459
+msgid "Time"
+msgstr "Tijd"
+
+#: ../output.py:2485
+msgid "Last day"
+msgstr "Gisteren"
+
+#: ../output.py:2486
+msgid "Last week"
+msgstr "Vorige week"
+
+#: ../output.py:2487
+msgid "Last 2 weeks"
+msgstr "Laatste 2 weken"
+
+#. US default :p
+#: ../output.py:2488
+msgid "Last 3 months"
+msgstr "Laatste 3 maanden"
+
+#: ../output.py:2489
+msgid "Last 6 months"
+msgstr "Laatste 6 maanden"
+
+#: ../output.py:2490
+msgid "Last year"
+msgstr "Afgelopen jaar"
+
+#: ../output.py:2491
+msgid "Over a year ago"
+msgstr "Ruim een ​​jaar geleden"
+
+#: ../output.py:2538
+#, python-format
+msgid "No Transaction %s found"
+msgstr "Geen transactie %s gevonden"
+
+#: ../output.py:2544
+msgid "Transaction ID:"
+msgstr "Transactie-ID:"
+
+#: ../output.py:2545
+msgid "Available additional history information:"
+msgstr "Beschikbare extra historische informatie:"
+
+#: ../output.py:2558
+#, python-format
+msgid "%s: No additional data found by this name"
+msgstr "%s: Geen aanvullende gegevens gevonden met deze naam"
+
+#: ../output.py:2684
+msgid "Package        :"
+msgstr "Pakket         :"
+
+#: ../output.py:2685
+msgid "State          :"
+msgstr "Status         :"
+
+#: ../output.py:2688
+msgid "Size           :"
+msgstr "Grootte        :"
+
+#: ../output.py:2690
+msgid "Build host     :"
+msgstr "Build host     :"
+
+#: ../output.py:2693
+msgid "Build time     :"
+msgstr "Build time     :"
+
+#: ../output.py:2695
+msgid "Packager       :"
+msgstr "Packager       :"
+
+#: ../output.py:2697
+msgid "Vendor         :"
+msgstr "Verkoper       :"
+
+#: ../output.py:2699
+msgid "License        :"
+msgstr "Licentie       :"
+
+#: ../output.py:2701
+msgid "URL            :"
+msgstr "URL            :"
+
+#: ../output.py:2703
+msgid "Source RPM     :"
+msgstr "Source RPM     :"
+
+#: ../output.py:2706
+msgid "Commit Time    :"
+msgstr "Commit Tijd    :"
+
+#: ../output.py:2708
+msgid "Committer      :"
+msgstr "Committer      :"
+
+#: ../output.py:2710
+msgid "Reason         :"
+msgstr "Reden          :"
+
+#: ../output.py:2714
+msgid "From repo      :"
+msgstr "Van repo       :"
+
+#: ../output.py:2718
+msgid "Installed by   :"
+msgstr "Geïnstalleerd door:"
+
+#: ../output.py:2722
+msgid "Changed by     :"
+msgstr "Gewijzigd door :"
+
+#: ../output.py:2767
+msgid "installed"
+msgstr "geïnstalleerd"
+
+#: ../output.py:2768
+msgid "an update"
+msgstr "een update"
+
+#: ../output.py:2769
+msgid "erased"
+msgstr "gewist"
+
+#: ../output.py:2770
+msgid "reinstalled"
+msgstr "opnieuw geïnstalleerd"
+
+#: ../output.py:2771
+msgid "a downgrade"
+msgstr "een downgrade"
+
+#: ../output.py:2772
+msgid "obsoleting"
+msgstr "als verouderd aanmerken"
+
+#: ../output.py:2773
+msgid "updated"
+msgstr "bijgewerkt"
+
+#: ../output.py:2774
+msgid "obsoleted"
+msgstr "als verouderd aangemerkt"
+
+#: ../output.py:2778
+#, python-format
+msgid "---> Package %s.%s %s:%s-%s will be %s"
+msgstr "---> Pakket %s.%s %s:%s-%s wordt %s"
+
+#: ../output.py:2789
+msgid "--> Running transaction check"
+msgstr "--> Transactiecontrole uitvoeren"
+
+#: ../output.py:2795
+msgid "--> Restarting Dependency Resolution with new changes."
+msgstr "--> Herstarten Oplossen Afhankelijkheden met de nieuwe gegevens"
+
+#: ../output.py:2801
+msgid "--> Finished Dependency Resolution"
+msgstr "--> Klaar met oplossen afhankelijkheden"
+
+#: ../output.py:2814 ../output.py:2827
+#, python-format
+msgid "--> Processing Dependency: %s for package: %s"
+msgstr "--> Verwerking afhankelijkheid: %s voor pakket: %s"
+
+#: ../output.py:2841
+#, python-format
+msgid "---> Keeping package: %s due to %s"
+msgstr "---> Behouden van pakket: %s vanwege %s"
+
+#: ../output.py:2850
+#, python-format
+msgid "--> Unresolved Dependency: %s"
+msgstr "--> Onopgeloste afhankelijkheid: %s"
+
+#: ../output.py:2867
+#, python-format
+msgid "Package: %s"
+msgstr "Pakket: %s"
+
+#: ../output.py:2869
+#, python-format
+msgid ""
+"\n"
+"    Requires: %s"
+msgstr "\n     Vereist: %s"
+
+#: ../output.py:2878
+#, python-format
+msgid ""
+"\n"
+"    %s: %s (%s)"
+msgstr "\n    %s: %s (%s)"
+
+#: ../output.py:2883
+#, python-format
+msgid ""
+"\n"
+"        %s"
+msgstr "\n        %s"
+
+#: ../output.py:2885
+msgid ""
+"\n"
+"        Not found"
+msgstr "\n        Niet gevonden"
+
+#. These should be the only three things we care about:
+#: ../output.py:2900
+msgid "Updated By"
+msgstr "Bijgewerkt door"
+
+#: ../output.py:2901
+msgid "Downgraded By"
+msgstr "Downgraded door"
+
+#: ../output.py:2902
+msgid "Obsoleted By"
+msgstr "Nieuwer pakket is:"
+
+#: ../output.py:2920
+msgid "Available"
+msgstr "Beschikbaar"
+
+#: ../output.py:2955 ../output.py:2968
+#, python-format
+msgid "--> Processing Conflict: %s conflicts %s"
+msgstr "--> Verwerking Conflict: %s %s conflicteren"
+
+#: ../output.py:2974
+msgid "--> Populating transaction set with selected packages. Please wait."
+msgstr "--> De transactieset wordt met de geselecteerde pakketten gevuld. Een ogenblikje geduld."
+
+#: ../output.py:2983
+#, python-format
+msgid "---> Downloading header for %s to pack into transaction set."
+msgstr "---> Downloaden header voor %s om in de transactie op te nemen."
+
+#. self.event(txmbr.name, count, len(base.tsInfo), count, )
+#. (te_current*100L)/te_total
+#: ../output.py:3248
+msgid "Verifying"
+msgstr "Verifiëren"
+
+#: ../utils.py:123
+msgid "Running"
+msgstr "Uitvoeren"
+
+#: ../utils.py:124
+msgid "Sleeping"
+msgstr "Slapen"
+
+#: ../utils.py:125
+msgid "Uninterruptible"
+msgstr "Ononderbroken"
+
+#: ../utils.py:126
+msgid "Zombie"
+msgstr "Zombie"
+
+#: ../utils.py:127
+msgid "Traced/Stopped"
+msgstr "Getraceerd / Gestopt"
+
+#: ../utils.py:128 ../yumcommands.py:2193
+msgid "Unknown"
+msgstr "Onbekend"
+
+#: ../utils.py:153
+msgid "  The other application is: PackageKit"
+msgstr "  De andere toepassing is: PackageKit"
+
+#: ../utils.py:155
+#, python-format
+msgid "  The other application is: %s"
+msgstr "  De andere toepassing is: %s"
+
+#: ../utils.py:158
+#, python-format
+msgid "    Memory : %5s RSS (%5sB VSZ)"
+msgstr "    Memory : %5s RSS (%5sB VSZ)"
+
+#: ../utils.py:163
+#, python-format
+msgid "    Started: %s - %s ago"
+msgstr "    Gestart: %s - %s geleden"
+
+#: ../utils.py:165
+#, python-format
+msgid "    State  : %s, pid: %d"
+msgstr "    Status  : %s, pid: %d"
+
+#: ../utils.py:194 ../yummain.py:43
+msgid ""
+"\n"
+"\n"
+"Exiting on user cancel"
+msgstr "\n\nBeëindigen vanwege afbreken door gebruiker"
+
+#: ../utils.py:206 ../yummain.py:49
+msgid ""
+"\n"
+"\n"
+"Exiting on Broken Pipe"
+msgstr "\n\nBeëindigen vanwege Broken Pipe"
+
+#: ../utils.py:208 ../yummain.py:51
+#, python-format
+msgid ""
+"\n"
+"\n"
+"%s"
+msgstr "\n\n%s"
+
+#: ../utils.py:326
+#, python-format
+msgid "PluginExit Error: %s"
+msgstr "PluginExit Fout: %s"
+
+#: ../utils.py:329
+#, python-format
+msgid "Yum Error: %s"
+msgstr "Yum Fout: %s"
+
+#: ../utils.py:387 ../yummain.py:147 ../yummain.py:186
+#, python-format
+msgid "Error: %s"
+msgstr "Fout: %s"
+
+#: ../utils.py:391 ../yummain.py:191
+msgid " You could try using --skip-broken to work around the problem"
+msgstr " Je zou kunnen proberen met behulp van --skip-broken het probleem te omzeilen"
+
+#: ../utils.py:393 ../yummain.py:87
+msgid " You could try running: rpm -Va --nofiles --nodigest"
+msgstr " Je zou kunnen proberen: rpm -Va --nofiles --nodigest"
+
+#: ../utils.py:400 ../yummain.py:157 ../yummain.py:199
+#, python-format
+msgid "Unknown Error(s): Exit Code: %d:"
+msgstr "Onbekende fout(en): Exit Code: %d:"
+
+#: ../utils.py:406 ../yummain.py:205
+msgid ""
+"\n"
+"Dependencies Resolved"
+msgstr "\nAfhankelijkheden opgelost"
+
+#: ../utils.py:422 ../yummain.py:237
+msgid "Complete!"
+msgstr "Compleet!"
+
+#: ../yumcommands.py:42
+msgid " Mini usage:\n"
+msgstr " Minimaal gebruik:\n"
+
+#: ../yumcommands.py:52
+msgid "You need to be root to perform this command."
+msgstr "U moet root zijn om dit commando uit te voeren."
+
+#: ../yumcommands.py:67
+msgid ""
+"\n"
+"You have enabled checking of packages via GPG keys. This is a good thing. \n"
+"However, you do not have any GPG public keys installed. You need to download\n"
+"the keys for packages you wish to install and install them.\n"
+"You can do that by running the command:\n"
+"    rpm --import public.gpg.key\n"
+"\n"
+"\n"
+"Alternatively you can specify the url to the key you would like to use\n"
+"for a repository in the 'gpgkey' option in a repository section and yum \n"
+"will install it for you.\n"
+"\n"
+"For more information contact your distribution or package provider.\n"
+msgstr "\nJe hebt het controleren van pakketten via GPG-sleutes aanstaan. Dat is een goede keuze.\nJe hebt echter geen publieke GPG-sleutels geïnstalleerd.\nDownload sleutels voor pakketten die je wilt installeren en\nimporteer deze daarna.\nImporteren kan je doen met het commando:\n    rpm --import public.gpg.key\n\n\nAlternatief is, de URL van de sleutel van de repo die je wil gebruiken, als 'gpgkey'-optie opnemen in een repo-sectie.\nYum installeert deze dan 'automagisch' voor u.\n\nInformeer bij de mensen van je distributie of van het pakket.\n"
+
+#: ../yumcommands.py:82
+#, python-format
+msgid "Problem repository: %s"
+msgstr "Probleem repository: %s"
+
+#: ../yumcommands.py:96
+#, python-format
+msgid "Error: Need to pass a list of pkgs to %s"
+msgstr "Fout: Lijst van Pkgs nodig om door te geven aan %s"
+
+#: ../yumcommands.py:114
+#, python-format
+msgid "Error: Need at least two packages to %s"
+msgstr "Fout: Tenminste twee pakketten nodig om %s"
+
+#: ../yumcommands.py:129
+#, python-format
+msgid "Error: Need to pass a repoid. and command to %s"
+msgstr "Fout: Moet een repo-id en commando doorgeven aan %s"
+
+#: ../yumcommands.py:136 ../yumcommands.py:142
+#, python-format
+msgid "Error: Need to pass a single valid repoid. to %s"
+msgstr "Fout: Moet een enkel, geldig repo-id doorgeven aan %s"
+
+#: ../yumcommands.py:147
+#, python-format
+msgid "Error: Repo %s is not enabled"
+msgstr "Fout: Repo %s is niet ingeschakeld"
+
+#: ../yumcommands.py:164
+msgid "Error: Need an item to match"
+msgstr "Fout: Item om te vergelijken nodig"
+
+#: ../yumcommands.py:178
+msgid "Error: Need a group or list of groups"
+msgstr "Fout: Een groep of lijst van groepen nodig"
+
+#: ../yumcommands.py:195
+#, python-format
+msgid "Error: clean requires an option: %s"
+msgstr "Fout: clean vereist een optie: %s"
+
+#: ../yumcommands.py:201
+#, python-format
+msgid "Error: invalid clean argument: %r"
+msgstr "Fout: ongeldige clean argument: %r"
+
+#: ../yumcommands.py:216
+msgid "No argument to shell"
+msgstr "Geen argument voor shell"
+
+#: ../yumcommands.py:218
+#, python-format
+msgid "Filename passed to shell: %s"
+msgstr "Bestandsnaam doorgegeven aan shell: %s"
+
+#: ../yumcommands.py:222
+#, python-format
+msgid "File %s given as argument to shell does not exist."
+msgstr "Bestand %s gegeven als argument aan shell bestaat niet."
+
+#: ../yumcommands.py:228
+msgid "Error: more than one file given as argument to shell."
+msgstr "Fout: meer dan één bestand gegeven als argument aan shell."
+
+#: ../yumcommands.py:247
+msgid ""
+"There are no enabled repos.\n"
+" Run \"yum repolist all\" to see the repos you have.\n"
+" You can enable repos with yum-config-manager --enable <repo>"
+msgstr "Er zijn geen ingeschakeld repo's. \nRun \"yum repolist all\" om de repo's die je hebt te zien. \nJe kunt de repo's met yum-config-manager --enable <repo> instellen"
+
+#: ../yumcommands.py:383
+msgid "PACKAGE..."
+msgstr "PAKKET..."
+
+#: ../yumcommands.py:390
+msgid "Install a package or packages on your system"
+msgstr "Installeer een pakket of pakketten op je systeem"
+
+#: ../yumcommands.py:421
+msgid "Setting up Install Process"
+msgstr "Opzetten van installatieproces"
+
+#: ../yumcommands.py:447 ../yumcommands.py:507
+msgid "[PACKAGE...]"
+msgstr "[PAKKET...]"
+
+#: ../yumcommands.py:454
+msgid "Update a package or packages on your system"
+msgstr "Update een pakket of pakketten op je systeem"
+
+#: ../yumcommands.py:483
+msgid "Setting up Update Process"
+msgstr "Opzetten van update-proces"
+
+#: ../yumcommands.py:514
+msgid "Synchronize installed packages to the latest available versions"
+msgstr "Synchroniseren geïnstalleerde pakketten naar de nieuwste beschikbare versies"
+
+#: ../yumcommands.py:543
+msgid "Setting up Distribution Synchronization Process"
+msgstr "Opzetten van distributie synchronisatie proces"
+
+#: ../yumcommands.py:603
+msgid "Display details about a package or group of packages"
+msgstr "Weergeven details van pakket of een groep pakketten"
+
+#: ../yumcommands.py:672
+msgid "Installed Packages"
+msgstr "Geïnstalleerde pakketten"
+
+#: ../yumcommands.py:682
+msgid "Available Packages"
+msgstr "Beschikbare pakketten"
+
+#: ../yumcommands.py:687
+msgid "Extra Packages"
+msgstr "Extra pakketten"
+
+#: ../yumcommands.py:691
+msgid "Updated Packages"
+msgstr "Bijgewerkte pakketten"
+
+#. This only happens in verbose mode
+#: ../yumcommands.py:699 ../yumcommands.py:706 ../yumcommands.py:1539
+msgid "Obsoleting Packages"
+msgstr "Als verouderd aangemerkte pakketten"
+
+#: ../yumcommands.py:708
+msgid "Recently Added Packages"
+msgstr "Onlangs toegevoegde pakketten"
+
+#: ../yumcommands.py:715
+msgid "No matching Packages to list"
+msgstr "Geen passende pakketten om te tonen"
+
+#: ../yumcommands.py:766
+msgid "List a package or groups of packages"
+msgstr "Toon een pakket of groepen van pakketten"
+
+#: ../yumcommands.py:797
+msgid "Remove a package or packages from your system"
+msgstr "Verwijderen van pakket of pakketten van je systeem"
+
+#: ../yumcommands.py:845
+msgid "Setting up Remove Process"
+msgstr "Opzetten Verwijder-proces"
+
+#: ../yumcommands.py:906
+msgid "Display, or use, the groups information"
+msgstr "Toon, of gebruik, de groepen-informatie"
+
+#: ../yumcommands.py:909
+msgid "Setting up Group Process"
+msgstr "Opzetten van Groep-proces"
+
+#: ../yumcommands.py:915
+msgid "No Groups on which to run command"
+msgstr "Geen groepen waarop commando uit te voeren is"
+
+#: ../yumcommands.py:985
+#, python-format
+msgid "Invalid groups sub-command, use: %s."
+msgstr "Ongeldige groepen sub-commando, gebruik: %s."
+
+#: ../yumcommands.py:992
+msgid "There is no installed groups file."
+msgstr "Er bestaat geen geïnstalleerd groepenbestand"
+
+#: ../yumcommands.py:994
+msgid "You don't have access to the groups DB."
+msgstr "U hebt geen toegang tot de groepen DB"
+
+#: ../yumcommands.py:1256
+msgid "Generate the metadata cache"
+msgstr "Genereer de metadata-cache"
+
+#: ../yumcommands.py:1282
+msgid "Making cache files for all metadata files."
+msgstr "Maken van cache-bestanden voor alle metadata bestanden."
+
+#: ../yumcommands.py:1283
+msgid "This may take a while depending on the speed of this computer"
+msgstr "Dit kan enige tijd duren afhankelijk van de snelheid van deze computer"
+
+#: ../yumcommands.py:1312
+msgid "Metadata Cache Created"
+msgstr "Metadata Cache gemaakt"
+
+#: ../yumcommands.py:1350
+msgid "Remove cached data"
+msgstr "Verwijderen gegevens in het cachegeheugen"
+
+#: ../yumcommands.py:1417
+msgid "Find what package provides the given value"
+msgstr "Uitzoeken welk pakket de opgegeven waarde bevat"
+
+#: ../yumcommands.py:1485
+msgid "Check for available package updates"
+msgstr "Controleren beschikbaarheid update-pakketten"
+
+#: ../yumcommands.py:1587
+msgid "Search package details for the given string"
+msgstr "Doorzoeken pakketdetails voor de opgegeven string"
+
+#: ../yumcommands.py:1613
+msgid "Searching Packages: "
+msgstr "Zoeken Pakketten: "
+
+#: ../yumcommands.py:1666
+msgid "Update packages taking obsoletes into account"
+msgstr "Bijwerken pakketten met verouderde pakketten meerekenend"
+
+#: ../yumcommands.py:1696
+msgid "Setting up Upgrade Process"
+msgstr "Opzetten van Upgrade Proces"
+
+#: ../yumcommands.py:1731
+msgid "Install a local RPM"
+msgstr "Installeren lokale RPM"
+
+#: ../yumcommands.py:1761
+msgid "Setting up Local Package Process"
+msgstr "Opzetten Lokaal Pakket Proces"
+
+#: ../yumcommands.py:1825
+msgid "Searching Packages for Dependency:"
+msgstr "Opzoeken pakketten wegens afhankelijkheid:"
+
+#: ../yumcommands.py:1867
+msgid "Run an interactive yum shell"
+msgstr "Run een interactieve yum shell"
+
+#: ../yumcommands.py:1893
+msgid "Setting up Yum Shell"
+msgstr "Opzetten van Yum Shell"
+
+#: ../yumcommands.py:1936
+msgid "List a package's dependencies"
+msgstr "Toon pakketafhankelijkheden"
+
+#: ../yumcommands.py:1963
+msgid "Finding dependencies: "
+msgstr "Opzoeken van afhankelijkheden:"
+
+#: ../yumcommands.py:2005
+msgid "Display the configured software repositories"
+msgstr "Toon de geconfigureerde software repositories"
+
+#: ../yumcommands.py:2094 ../yumcommands.py:2095
+msgid "enabled"
+msgstr "ingeschakeld"
+
+#: ../yumcommands.py:2121 ../yumcommands.py:2122
+msgid "disabled"
+msgstr "uitgeschakeld"
+
+#: ../yumcommands.py:2137
+msgid "Repo-id      : "
+msgstr "Repo-id      : "
+
+#: ../yumcommands.py:2138
+msgid "Repo-name    : "
+msgstr "Repo-naam    : "
+
+#: ../yumcommands.py:2141
+msgid "Repo-status  : "
+msgstr "Repo-status  : "
+
+#: ../yumcommands.py:2144
+msgid "Repo-revision: "
+msgstr "Repo-revisie : "
+
+#: ../yumcommands.py:2148
+msgid "Repo-tags    : "
+msgstr "Repo-tags    : "
+
+#: ../yumcommands.py:2154
+msgid "Repo-distro-tags: "
+msgstr "Repo-distro-tags: "
+
+#: ../yumcommands.py:2159
+msgid "Repo-updated : "
+msgstr "Repo-updated : "
+
+#: ../yumcommands.py:2161
+msgid "Repo-pkgs    : "
+msgstr "Repo-pkgs    : "
+
+#: ../yumcommands.py:2162
+msgid "Repo-size    : "
+msgstr "Repo-grootte : "
+
+#: ../yumcommands.py:2169 ../yumcommands.py:2190
+msgid "Repo-baseurl : "
+msgstr "Repo-baseurl : "
+
+#: ../yumcommands.py:2177
+msgid "Repo-metalink: "
+msgstr "Repo-metalink: "
+
+#: ../yumcommands.py:2181
+msgid "  Updated    : "
+msgstr "  Bijgewerkt : "
+
+#: ../yumcommands.py:2184
+msgid "Repo-mirrors : "
+msgstr "Repo-mirrors : "
+
+#: ../yumcommands.py:2199
+#, python-format
+msgid "Never (last: %s)"
+msgstr "Nooit (laatste: %s)"
+
+#: ../yumcommands.py:2201
+#, python-format
+msgid "Instant (last: %s)"
+msgstr "Instant (laatste: %s)"
+
+#: ../yumcommands.py:2204
+#, python-format
+msgid "%s second(s) (last: %s)"
+msgstr "%s second(en) (vorige: %s)"
+
+#: ../yumcommands.py:2206
+msgid "Repo-expire  : "
+msgstr "Repo-expiratie: "
+
+#: ../yumcommands.py:2209
+msgid "Repo-exclude : "
+msgstr "Repo-uitsluiting : "
+
+#: ../yumcommands.py:2213
+msgid "Repo-include : "
+msgstr "Repo-inbegrepen: "
+
+#: ../yumcommands.py:2217
+msgid "Repo-excluded: "
+msgstr "Repo-uitgesloten: "
+
+#: ../yumcommands.py:2221
+msgid "Repo-filename: "
+msgstr "Repo-bestandsnaam:"
+
+#. Work out the first (id) and last (enabled/disalbed/count),
+#. then chop the middle (name)...
+#: ../yumcommands.py:2230 ../yumcommands.py:2259
+msgid "repo id"
+msgstr "repo id"
+
+#: ../yumcommands.py:2247 ../yumcommands.py:2248 ../yumcommands.py:2266
+msgid "status"
+msgstr "status"
+
+#: ../yumcommands.py:2260
+msgid "repo name"
+msgstr "repo naam"
+
+#: ../yumcommands.py:2332
+msgid "Display a helpful usage message"
+msgstr "Toon een hulpvaardig gebruiksbericht"
+
+#: ../yumcommands.py:2374
+#, python-format
+msgid "No help available for %s"
+msgstr "Geen hulp beschikbaar voor %s"
+
+#: ../yumcommands.py:2379
+msgid ""
+"\n"
+"\n"
+"aliases: "
+msgstr "\naliassen: "
+
+#: ../yumcommands.py:2381
+msgid ""
+"\n"
+"\n"
+"alias: "
+msgstr "\n\nalias: "
+
+#: ../yumcommands.py:2466
+msgid "Setting up Reinstall Process"
+msgstr "Opzetten herinstallatieproces"
+
+#: ../yumcommands.py:2478
+msgid "reinstall a package"
+msgstr "Herinstalleer een pakket"
+
+#: ../yumcommands.py:2541
+msgid "Setting up Downgrade Process"
+msgstr "Opzetten van Downgrade Proces"
+
+#: ../yumcommands.py:2552
+msgid "downgrade a package"
+msgstr "downgraden van een pakket"
+
+#: ../yumcommands.py:2591
+msgid "Display a version for the machine and/or available repos."
+msgstr "Toon een versie voor de machine en/of beschikbare repos."
+
+#: ../yumcommands.py:2643
+msgid " Yum version groups:"
+msgstr " Yum versie groepen:"
+
+#: ../yumcommands.py:2653
+msgid " Group   :"
+msgstr " Groep   :"
+
+#: ../yumcommands.py:2654
+msgid " Packages:"
+msgstr " Pakketten:"
+
+#: ../yumcommands.py:2683
+msgid "Installed:"
+msgstr "Geïnstalleerd:"
+
+#: ../yumcommands.py:2691
+msgid "Group-Installed:"
+msgstr "Groep-Geïnstalleerd:"
+
+#: ../yumcommands.py:2700
+msgid "Available:"
+msgstr "Beschikbaar:"
+
+#: ../yumcommands.py:2709
+msgid "Group-Available:"
+msgstr "Groep-Beschikbaar:"
+
+#: ../yumcommands.py:2783
+msgid "Display, or use, the transaction history"
+msgstr "Toon, of gebruik, de transactiegeschiedenis"
+
+#: ../yumcommands.py:2876 ../yumcommands.py:2880
+msgid "Transactions:"
+msgstr "Transacties:"
+
+#: ../yumcommands.py:2881
+msgid "Begin time  :"
+msgstr "Begin tijd  :"
+
+#: ../yumcommands.py:2882
+msgid "End time    :"
+msgstr "Eindtijd    :"
+
+#: ../yumcommands.py:2883
+msgid "Counts      :"
+msgstr "Telling     :"
+
+#: ../yumcommands.py:2884
+msgid "  NEVRAC :"
+msgstr "  NEVRAC :"
+
+#: ../yumcommands.py:2885
+msgid "  NEVRA  :"
+msgstr "  NEVRA  :"
+
+#: ../yumcommands.py:2886
+msgid "  NA     :"
+msgstr "  NA     :"
+
+#: ../yumcommands.py:2887
+msgid "  NEVR   :"
+msgstr "  NEVR   :"
+
+#: ../yumcommands.py:2888
+msgid "  rpm DB :"
+msgstr "  rpm DB :"
+
+#: ../yumcommands.py:2889
+msgid "  yum DB :"
+msgstr "  yum DB :"
+
+#: ../yumcommands.py:2922
+#, python-format
+msgid "Invalid history sub-command, use: %s."
+msgstr "Ongeldig geschiedenis sub-commando, gebruik: %s."
+
+#: ../yumcommands.py:2929
+msgid "You don't have access to the history DB."
+msgstr "Je hebt geen toegang tot de geschiedenis-DB."
+
+#: ../yumcommands.py:3036
+msgid "Check for problems in the rpmdb"
+msgstr "Controleer op problemen in de rpmdb"
+
+#: ../yumcommands.py:3102
+msgid "load a saved transaction from filename"
+msgstr "laad opgeslagen transactie uit bestandsnaam"
+
+#: ../yumcommands.py:3119
+msgid "No saved transaction file specified."
+msgstr "Geen opgeslagen transactie bestand gespecificeerd."
+
+#: ../yumcommands.py:3123
+#, python-format
+msgid "loading transaction from %s"
+msgstr "laden transactie van %s"
+
+#: ../yumcommands.py:3129
+#, python-format
+msgid "Transaction loaded from %s with %s members"
+msgstr "Transactie geladen van %s met %s leden"
+
+#: ../yumcommands.py:3169
+msgid "Simple way to swap packages, isntead of using shell"
+msgstr "Makkelijke manier om pakketten te wisselen, in plaats van de shell te gebruiken."
+
+#: ../yumcommands.py:3264
+msgid ""
+"Treat a repo. as a group of packages, so we can install/remove all of them"
+msgstr "Beschouw een repo als een groep pakketten, waardoor we ze allemaal kunnen installeren/verwijderen"
+
+#: ../yumcommands.py:3341
+#, python-format
+msgid "%d package to update"
+msgid_plural "%d packages to update"
+msgstr[0] "%d pakket te updaten"
+msgstr[1] "%d pakketten te updaten"
+
+#: ../yumcommands.py:3370
+#, python-format
+msgid "%d package to remove/reinstall"
+msgid_plural "%d packages to remove/reinstall"
+msgstr[0] "%d pakket te verwijderen/te herinstalleren"
+msgstr[1] "%d pakketten te verwijderen/te herinstalleren"
+
+#: ../yumcommands.py:3413
+#, python-format
+msgid "%d package to remove/sync"
+msgid_plural "%d packages to remove/sync"
+msgstr[0] "%d pakket te verwijderen/sync"
+msgstr[1] "%d pakketten te verwijderen/sync"
+
+#: ../yumcommands.py:3417
+#, python-format
+msgid "Not a valid sub-command of %s"
+msgstr "Geen geldig sub-commando van %s"
+
+#. This is mainly for PackageSackError from rpmdb.
+#: ../yummain.py:84
+#, python-format
+msgid " Yum checks failed: %s"
+msgstr " Yum controles is mislukt: %s"
+
+#: ../yummain.py:98
+msgid "No read/execute access in current directory, moving to /"
+msgstr "Geen lezen/uitvoeren rechten in de huidige directory, verhuizen naar /"
+
+#: ../yummain.py:106
+msgid "No getcwd() access in current directory, moving to /"
+msgstr "Geen getcwd() toegang in huidige directory, ik ga naar /"
+
+#. Depsolve stage
+#: ../yummain.py:164
+msgid "Resolving Dependencies"
+msgstr "Oplossen van afhankelijkheden"
+
+#: ../yummain.py:227 ../yummain.py:235
+#, python-format
+msgid ""
+"Your transaction was saved, rerun it with:\n"
+" yum load-transaction %s"
+msgstr "Je transactie was gesaved, voer opnieuw uit met:\n yum load-transaction %s"
+
+#: ../yummain.py:312
+msgid ""
+"\n"
+"\n"
+"Exiting on user cancel."
+msgstr "\n\nOphouden vanwege afbreken door gebruiker."
+
+#: ../yum/depsolve.py:127
+msgid "doTsSetup() will go away in a future version of Yum.\n"
+msgstr "doTsSetup() zal verdwijnen in een toekomstige versie van Yum.\n"
+
+#: ../yum/depsolve.py:143
+msgid "Setting up TransactionSets before config class is up"
+msgstr "Opzetten van TransactionSets voordat config klasse actief is"
+
+#: ../yum/depsolve.py:200
+#, python-format
+msgid "Invalid tsflag in config file: %s"
+msgstr "Ongeldige tsflag in config bestand: %s"
+
+#: ../yum/depsolve.py:218
+#, python-format
+msgid "Searching pkgSack for dep: %s"
+msgstr "Op zoek naar pkgSack afhankelijkheden: %s"
+
+#: ../yum/depsolve.py:269
+#, python-format
+msgid "Member: %s"
+msgstr "Lid: %s"
+
+#: ../yum/depsolve.py:283 ../yum/depsolve.py:937
+#, python-format
+msgid "%s converted to install"
+msgstr "%s omgezet om te installeren"
+
+#: ../yum/depsolve.py:295
+#, python-format
+msgid "Adding Package %s in mode %s"
+msgstr "Toevoegen van pakket %s in %s modus"
+
+#: ../yum/depsolve.py:311
+#, python-format
+msgid "Removing Package %s"
+msgstr "Verwijderen van pakket %s"
+
+#: ../yum/depsolve.py:333
+#, python-format
+msgid "%s requires: %s"
+msgstr "%s vereist: %s"
+
+#: ../yum/depsolve.py:374
+#, python-format
+msgid "%s requires %s"
+msgstr "%s vereist %s"
+
+#: ../yum/depsolve.py:401
+msgid "Needed Require has already been looked up, cheating"
+msgstr "Benodigde Vereiste is al opgezocht, even vals spelen"
+
+#: ../yum/depsolve.py:411
+#, python-format
+msgid "Needed Require is not a package name. Looking up: %s"
+msgstr "Benodigde Vereiste is geen pakketnaam. Opzoeken: %s "
+
+#: ../yum/depsolve.py:419
+#, python-format
+msgid "Potential Provider: %s"
+msgstr "Potentiële Leverancier: %s"
+
+#: ../yum/depsolve.py:442
+#, python-format
+msgid "Mode is %s for provider of %s: %s"
+msgstr "Modus is %s voor de leverancier van %s: %s"
+
+#: ../yum/depsolve.py:446
+#, python-format
+msgid "Mode for pkg providing %s: %s"
+msgstr "Modus voor pkg-verstrekking van %s: %s"
+
+#. the thing it needs is being updated or obsoleted away
+#. try to update the requiring package in hopes that all this problem goes
+#. away :(
+#: ../yum/depsolve.py:451 ../yum/depsolve.py:486
+#, python-format
+msgid "Trying to update %s to resolve dep"
+msgstr "Proberen om, door %s bij te werken, afhankelijkheden op te lossen"
+
+#: ../yum/depsolve.py:480
+#, python-format
+msgid "No update paths found for %s. Failure!"
+msgstr "Geen update paden gevonden voor %s. Faal!"
+
+#: ../yum/depsolve.py:491
+#, python-format
+msgid "No update paths found for %s. Failure due to requirement: %s!"
+msgstr "Geen update-paden gevonden voor %s. Mislukt vanwege vereiste: %s!"
+
+#: ../yum/depsolve.py:507
+#, python-format
+msgid "Update for %s. Doesn't fix requirement: %s!"
+msgstr "Update voor %s. Repareert niet vereiste: %s!"
+
+#: ../yum/depsolve.py:514
+#, python-format
+msgid "TSINFO: %s package requiring %s marked as erase"
+msgstr "TSINFO: %s pakket dat %s nodig heeft is gemarkeerd als wissen"
+
+#: ../yum/depsolve.py:527
+#, python-format
+msgid "TSINFO: Obsoleting %s with %s to resolve dep."
+msgstr "TSINFO: Vervangen %s door %s om afhankelijkheid op te lossen."
+
+#: ../yum/depsolve.py:530
+#, python-format
+msgid "TSINFO: Updating %s to resolve dep."
+msgstr "TSINFO: Bijwerken %s om afhankelijkheid op te lossen."
+
+#: ../yum/depsolve.py:538
+#, python-format
+msgid "Cannot find an update path for dep for: %s"
+msgstr "Kan geen update-pad voor afhankelijkheden vinden voor: %s"
+
+#: ../yum/depsolve.py:569
+#, python-format
+msgid "Quick matched %s to require for %s"
+msgstr "Snelselectie %s, benodigd voor %s"
+
+#. is it already installed?
+#: ../yum/depsolve.py:611
+#, python-format
+msgid "%s is in providing packages but it is already installed, removing."
+msgstr "%s is aanwezig in klaargezette pakketten, maar is al geïnstalleerd, verwijderen."
+
+#: ../yum/depsolve.py:627
+#, python-format
+msgid "Potential resolving package %s has newer instance in ts."
+msgstr "Van potentieel afhankelijkheidoplossend pakket %s is nieuwere versie in ts aanwezig"
+
+#: ../yum/depsolve.py:638
+#, python-format
+msgid "Potential resolving package %s has newer instance installed."
+msgstr "Van potentieel afhankelijkheidoplossend pakket %s is al een nieuwere versie geïnstalleerd"
+
+#: ../yum/depsolve.py:656
+#, python-format
+msgid "%s already in ts, skipping this one"
+msgstr "%s reeds in transactieset, deze wordt overgeslagen"
+
+#: ../yum/depsolve.py:705
+#, python-format
+msgid "TSINFO: Marking %s as update for %s"
+msgstr "TSINFO: Markeren %s als update voor %s"
+
+#: ../yum/depsolve.py:714
+#, python-format
+msgid "TSINFO: Marking %s as install for %s"
+msgstr "TSINFO: Markeren %s als installatie voor %s"
+
+#: ../yum/depsolve.py:849 ../yum/depsolve.py:967
+msgid "Success - empty transaction"
+msgstr "Succes - lege transactie"
+
+#: ../yum/depsolve.py:889 ../yum/depsolve.py:927
+msgid "Restarting Loop"
+msgstr "Herstarten Loop"
+
+#: ../yum/depsolve.py:947
+msgid "Dependency Process ending"
+msgstr "Proces Afhankelijkheid beëindigen"
+
+#: ../yum/depsolve.py:969
+msgid "Success - deps resolved"
+msgstr "Succes - afhankelijkheden opgelost"
+
+#: ../yum/depsolve.py:993
+#, python-format
+msgid "Checking deps for %s"
+msgstr "Controleren afhankelijkheden voor %s"
+
+#: ../yum/depsolve.py:1082
+#, python-format
+msgid "looking for %s as a requirement of %s"
+msgstr "Zoeken naar %s als een vereiste voor %s"
+
+#: ../yum/depsolve.py:1349
+#, python-format
+msgid "Running compare_providers() for %s"
+msgstr "Uitvoeren compare_providers() voor %s"
+
+#: ../yum/depsolve.py:1376 ../yum/depsolve.py:1382
+#, python-format
+msgid "better arch in po %s"
+msgstr "betere arch in po %s"
+
+#: ../yum/depsolve.py:1496
+#, python-format
+msgid "%s obsoletes %s"
+msgstr "%s is nieuwer dan %s"
+
+#: ../yum/depsolve.py:1508
+#, python-format
+msgid ""
+"archdist compared %s to %s on %s\n"
+"  Winner: %s"
+msgstr "archdist vergeleek %s met %s op %s\n  Winnaar: %s"
+
+#: ../yum/depsolve.py:1516
+#, python-format
+msgid "common sourcerpm %s and %s"
+msgstr "gemeenschappelijke sourcerpm %s en %s"
+
+#: ../yum/depsolve.py:1520
+#, python-format
+msgid "base package %s is installed for %s"
+msgstr "basispakket %s is geïnstalleerd voor %s"
+
+#: ../yum/depsolve.py:1526
+#, python-format
+msgid "common prefix of %s between %s and %s"
+msgstr "gemeenschappelijke prefix van %s tussen %s en %s"
+
+#: ../yum/depsolve.py:1543
+#, python-format
+msgid "provides vercmp: %s"
+msgstr "levert vercmp: %s"
+
+#: ../yum/depsolve.py:1547 ../yum/depsolve.py:1581
+#, python-format
+msgid " Winner: %s"
+msgstr " Winnaar: %s"
+
+#: ../yum/depsolve.py:1577
+#, python-format
+msgid "requires minimal: %d"
+msgstr "vereist minimaal: %d"
+
+#: ../yum/depsolve.py:1586
+#, python-format
+msgid " Loser(with %d): %s"
+msgstr " Verliezer (met %d): %s"
+
+#: ../yum/depsolve.py:1602
+#, python-format
+msgid "Best Order: %s"
+msgstr "De beste keus: %s"
+
+#: ../yum/__init__.py:274
+msgid "doConfigSetup() will go away in a future version of Yum.\n"
+msgstr "doConfigSetup() zal verdwijnen in een toekomstige versie van Yum.\n"
+
+#: ../yum/__init__.py:553
+#, python-format
+msgid "Skipping unreadable repository %s"
+msgstr "Overslaan onleesbare repository %s"
+
+#: ../yum/__init__.py:572
+#, python-format
+msgid "Repository %r: Error parsing config: %s"
+msgstr "Repository %r: Fout parsing config: %s"
+
+#: ../yum/__init__.py:578
+#, python-format
+msgid "Repository %r is missing name in configuration, using id"
+msgstr "Van repository %r ontbreekt naam in configuratie, id wordt gebruikt"
+
+#: ../yum/__init__.py:618
+msgid "plugins already initialised"
+msgstr "plugins al geïnitialiseerd"
+
+#: ../yum/__init__.py:627
+msgid "doRpmDBSetup() will go away in a future version of Yum.\n"
+msgstr "doRpmDBSetup() zal verdwijnen in een toekomstige versie van Yum.\n"
+
+#: ../yum/__init__.py:638
+msgid "Reading Local RPMDB"
+msgstr "Lezen lokale RPMDB"
+
+#: ../yum/__init__.py:668
+msgid "doRepoSetup() will go away in a future version of Yum.\n"
+msgstr "doRepoSetup() zal verdwijnen in een toekomstige versie van Yum.\n"
+
+#: ../yum/__init__.py:722
+msgid "doSackSetup() will go away in a future version of Yum.\n"
+msgstr "doSackSetup() zal verdwijnen in een toekomstige versie van Yum.\n"
+
+#: ../yum/__init__.py:752
+msgid "Setting up Package Sacks"
+msgstr "Opzetten van Pakkethouders"
+
+#: ../yum/__init__.py:797
+#, python-format
+msgid "repo object for repo %s lacks a _resetSack method\n"
+msgstr "repo object voor repo %s ontbeert een _resetSack methode\n"
+
+#: ../yum/__init__.py:798
+msgid "therefore this repo cannot be reset.\n"
+msgstr "daarom kan deze repo niet gereset worden.\n"
+
+#: ../yum/__init__.py:806
+msgid "doUpdateSetup() will go away in a future version of Yum.\n"
+msgstr "doUpdateSetup() zal verdwijnen in een toekomstige versie van Yum.\n"
+
+#: ../yum/__init__.py:818
+msgid "Building updates object"
+msgstr "Opbouwen updates object"
+
+#: ../yum/__init__.py:862
+msgid "doGroupSetup() will go away in a future version of Yum.\n"
+msgstr "doGroupSetup() zal verdwijnen in een toekomstige versie van Yum.\n"
+
+#: ../yum/__init__.py:887
+msgid "Getting group metadata"
+msgstr "Verkrijgen groep metadata"
+
+#: ../yum/__init__.py:915
+#, python-format
+msgid "Adding group file from repository: %s"
+msgstr "Toevoegen van groep-bestand uit repository: %s"
+
+#: ../yum/__init__.py:918
+#, python-format
+msgid "Failed to retrieve group file for repository: %s"
+msgstr "Groepbestand ophalen voor repository %s is niet gelukt"
+
+#: ../yum/__init__.py:924
+#, python-format
+msgid "Failed to add groups file for repository: %s - %s"
+msgstr "Niet gelukt groepen-bestand toe te voegen voor repository: %s - %s"
+
+#: ../yum/__init__.py:930
+msgid "No Groups Available in any repository"
+msgstr "Geen Groepen beschikbaar in welke repository dan ook"
+
+#: ../yum/__init__.py:945
+msgid "Getting pkgtags metadata"
+msgstr "Verkrijgen pkgtags metadata"
+
+#: ../yum/__init__.py:955
+#, python-format
+msgid "Adding tags from repository: %s"
+msgstr "Toevoegen van tags van repository: %s"
+
+#: ../yum/__init__.py:966
+#, python-format
+msgid "Failed to add Pkg Tags for repository: %s - %s"
+msgstr "Niet gelukt Pkg Tags toe te voegen voor repository: %s -%s"
+
+#: ../yum/__init__.py:1059
+msgid "Importing additional filelist information"
+msgstr "Importeren van extra filelist informatie"
+
+#: ../yum/__init__.py:1077
+#, python-format
+msgid "The program %s%s%s is found in the yum-utils package."
+msgstr "Het programma %s%s%s is gevonden in het yum-utils pakket."
+
+#: ../yum/__init__.py:1094
+msgid ""
+"There are unfinished transactions remaining. You might consider running yum-"
+"complete-transaction first to finish them."
+msgstr "Er zijn onvoltooid gebleven transactiehandelingen. Je zou kunnen overwegen om yum-complete-transaction eerst uit te voeren om deze af te maken."
+
+#: ../yum/__init__.py:1111
+msgid "--> Finding unneeded leftover dependencies"
+msgstr "--> Vinden van overbodige achtergebleven afhankelijkheden"
+
+#: ../yum/__init__.py:1169
+#, python-format
+msgid "Protected multilib versions: %s != %s"
+msgstr "Beschermde multilib-versies: %s!=%s"
+
+#. People are confused about protected mutilib ... so give
+#. them a nicer message.
+#: ../yum/__init__.py:1173
+#, python-format
+msgid ""
+" Multilib version problems found. This often means that the root\n"
+"cause is something else and multilib version checking is just\n"
+"pointing out that there is a problem. Eg.:\n"
+"\n"
+"  1. You have an upgrade for %(name)s which is missing some\n"
+"     dependency that another package requires. Yum is trying to\n"
+"     solve this by installing an older version of %(name)s of the\n"
+"     different architecture. If you exclude the bad architecture\n"
+"     yum will tell you what the root cause is (which package\n"
+"     requires what). You can try redoing the upgrade with\n"
+"     --exclude %(name)s.otherarch ... this should give you an error\n"
+"     message showing the root cause of the problem.\n"
+"\n"
+"  2. You have multiple architectures of %(name)s installed, but\n"
+"     yum can only see an upgrade for one of those arcitectures.\n"
+"     If you don't want/need both architectures anymore then you\n"
+"     can remove the one with the missing update and everything\n"
+"     will work.\n"
+"\n"
+"  3. You have duplicate versions of %(name)s installed already.\n"
+"     You can use \"yum check\" to get yum show these errors.\n"
+"\n"
+"...you can also use --setopt=protected_multilib=false to remove\n"
+"this checking, however this is almost never the correct thing to\n"
+"do as something else is very likely to go wrong (often causing\n"
+"much more problems).\n"
+"\n"
+msgstr " 'Multilib-versie'-probleem gevonden. Dit betekent meestal dat de\nhoofdoorzaak ergens anders ligt en 'multilib versie'-controle er\nslechts op wijst dat er een probleem is, b.v.:\n\n  1. U hebt een upgrade voor %(name)s. Deze mist een afhanke-\n     lijkheid dat een ander pakket nodig heeft. Yum probeert dit op te\n     lossen met het installeren van een oudere versie van %(name)s met\n     een andere architectuur. Indien u de foute architectuur uitsluit\n     meldt yum u wat de hoofdoorzaak is (welk pakket wat\n     nodig heeft). U kunt proberen de upgrade opnieuw te doen met\n     --exclude %(name)s.otherarch ... dit zou een foutmelding moeten\n     geven met de hoofdoorzaak van het probleem vermeld.\n\n  2. U hebt meerdere architecturen van %(name)s geïnstalleerd, maar\n     yum kan alleen een upgrade van één van beide zien.\n     Indien u beide architecturen niet meer wilt/nodig hebt, kunt\n     u degene met de missende afhankelijkheid verwijderen en alles\n     zal weer werken.\n\n  3. U hebt al identieke versies van %(name)s geïnstalleerd.\n     U kunt \"yum check\" gebruiken om yum deze fouten te laten melden.\n\n...u kunt ook --setopt=protected_multilib=false gebruiken om deze\ncheck uit te schakelen. Dit is echter vrijwel nooit een goede oplossing,\nomdat iets anders zeer waarschijnlijk niet goed zal gaan (meestal \ngeeft dat veel, veel meer problemen).\n\n"
+
+#: ../yum/__init__.py:1257
+#, python-format
+msgid "Trying to remove \"%s\", which is protected"
+msgstr "Proberen \"%s\" te verwijderen, welke wordt beschermd"
+
+#: ../yum/__init__.py:1378
+msgid ""
+"\n"
+"Packages skipped because of dependency problems:"
+msgstr "\nPakketten overgeslagen vanwege afhankelijkheidsproblemen:"
+
+#: ../yum/__init__.py:1382
+#, python-format
+msgid "    %s from %s"
+msgstr "    %s van %s"
+
+#. FIXME: _N()
+#: ../yum/__init__.py:1556
+#, python-format
+msgid "** Found %d pre-existing rpmdb problem(s), 'yum check' output follows:"
+msgstr "** %d reeds bestaande rpmdb problem(en) gevonden, 'yum check' output geeft:"
+
+#: ../yum/__init__.py:1560
+msgid "Warning: RPMDB altered outside of yum."
+msgstr "Waarschuwing: RPMDB buiten yum om veranderd."
+
+#: ../yum/__init__.py:1572
+msgid "missing requires"
+msgstr "ontbrekende vereist"
+
+#: ../yum/__init__.py:1573
+msgid "installed conflict"
+msgstr "geïnstalleerd conflict"
+
+#: ../yum/__init__.py:1709
+msgid ""
+"Warning: scriptlet or other non-fatal errors occurred during transaction."
+msgstr "Waarschuwing: scriptlet of andere niet-fatale fouten opgetreden tijdens de transactie."
+
+#: ../yum/__init__.py:1719
+msgid "Transaction couldn't start:"
+msgstr "Transactie kon niet worden gestart:"
+
+#. should this be 'to_unicoded'?
+#: ../yum/__init__.py:1722
+msgid "Could not run transaction."
+msgstr "Transactie kon niet worden uitgevoerd."
+
+#: ../yum/__init__.py:1736
+#, python-format
+msgid "Failed to remove transaction file %s"
+msgstr "Niet gelukt transactiebestand %s te verwijderen"
+
+#. maybe a file log here, too
+#. but raising an exception is not going to do any good
+#: ../yum/__init__.py:1792
+#, python-format
+msgid "%s was supposed to be installed but is not!"
+msgstr "%s zou worden geïnstalleerd, maar werd het niet!"
+
+#. maybe a file log here, too
+#. but raising an exception is not going to do any good
+#. Note: This actually triggers atm. because we can't
+#. always find the erased txmbr to set it when
+#. we should.
+#: ../yum/__init__.py:1869
+#, python-format
+msgid "%s was supposed to be removed but is not!"
+msgstr "%s moest worden verwijderd, maar werd het niet!"
+
+#. Another copy seems to be running.
+#: ../yum/__init__.py:2004
+#, python-format
+msgid "Existing lock %s: another copy is running as pid %s."
+msgstr "Bestaande lock %s: een ander exemplaar wordt uitgevoerd met PID %s."
+
+#. Whoa. What the heck happened?
+#: ../yum/__init__.py:2053
+#, python-format
+msgid "Could not create lock at %s: %s "
+msgstr "Kon geen lock maken op %s: %s"
+
+#: ../yum/__init__.py:2065
+#, python-format
+msgid "Could not open lock %s: %s"
+msgstr "Kon lock %s niet openen: %s"
+
+#. The pid doesn't exist
+#. Whoa. What the heck happened?
+#: ../yum/__init__.py:2082
+#, python-format
+msgid "Unable to check if PID %s is active"
+msgstr "Kon niet vaststellen of PID %s actief is"
+
+#: ../yum/__init__.py:2132
+#, python-format
+msgid ""
+"Package does not match intended download. Suggestion: run yum "
+"--enablerepo=%s clean metadata"
+msgstr "Pakket komt niet overeen met voorgenomen download. Suggestie: voer yum --enablerepo=%s clean metadata uit"
+
+#: ../yum/__init__.py:2155
+msgid "Could not perform checksum"
+msgstr "Kon checksum niet uitvoeren"
+
+#: ../yum/__init__.py:2158
+msgid "Package does not match checksum"
+msgstr "Pakket komt niet overeen met checksum"
+
+#: ../yum/__init__.py:2222
+#, python-format
+msgid "package fails checksum but caching is enabled for %s"
+msgstr "pakket ontbeert checksum, maar caching is ingeschakeld voor %s"
+
+#: ../yum/__init__.py:2225 ../yum/__init__.py:2268
+#, python-format
+msgid "using local copy of %s"
+msgstr "lokale kopie van %s wordt gebruikt"
+
+#. caller handles errors
+#: ../yum/__init__.py:2342
+msgid "exiting because --downloadonly specified"
+msgstr "afsluiten omdat  --downloadonly is opgegeven"
+
+#: ../yum/__init__.py:2371
+msgid "Header is not complete."
+msgstr "Header is niet compleet."
+
+#: ../yum/__init__.py:2411
+#, python-format
+msgid ""
+"Header not in local cache and caching-only mode enabled. Cannot download %s"
+msgstr "Header niet in lokale cache aanwezig en caching-only modus ingeschakeld. Kan %s niet downloaden"
+
+#: ../yum/__init__.py:2471
+#, python-format
+msgid "Public key for %s is not installed"
+msgstr "Publieke sleutel voor %s is niet geïnstalleerd"
+
+#: ../yum/__init__.py:2475
+#, python-format
+msgid "Problem opening package %s"
+msgstr "Probleem met openen van pakket %s"
+
+#: ../yum/__init__.py:2483
+#, python-format
+msgid "Public key for %s is not trusted"
+msgstr "Publieke sleutel voor %s is niet vertrouwd"
+
+#: ../yum/__init__.py:2487
+#, python-format
+msgid "Package %s is not signed"
+msgstr "Pakket %s is niet ondertekend"
+
+#: ../yum/__init__.py:2529
+#, python-format
+msgid "Cannot remove %s"
+msgstr "Kan %s niet verwijderen"
+
+#: ../yum/__init__.py:2533
+#, python-format
+msgid "%s removed"
+msgstr "Verwijderd %s"
+
+#: ../yum/__init__.py:2594
+#, python-format
+msgid "Cannot remove %s file %s"
+msgstr "Kan niet verwijderen %s bestand %s"
+
+#: ../yum/__init__.py:2598
+#, python-format
+msgid "%s file %s removed"
+msgstr "%s bestand verwijderd %s"
+
+#: ../yum/__init__.py:2600
+#, python-format
+msgid "%d %s file removed"
+msgid_plural "%d %s files removed"
+msgstr[0] "%d %s bestand verwijderd"
+msgstr[1] "%d %s bestanden verwijderd"
+
+#: ../yum/__init__.py:2712
+#, python-format
+msgid "More than one identical match in sack for %s"
+msgstr "Meer dan één identieke match in houder voor %s"
+
+#: ../yum/__init__.py:2718
+#, python-format
+msgid "Nothing matches %s.%s %s:%s-%s from update"
+msgstr "Niets komt overeen met %s.%s%s:%s-%s van update"
+
+#: ../yum/__init__.py:3096
+msgid ""
+"searchPackages() will go away in a future version of Yum."
+"                      Use searchGenerator() instead. \n"
+msgstr "searchPackages() zal verdwijnen in een toekomstige versie van Yum.                      Gebruik searchGenerator()  \n"
+
+#: ../yum/__init__.py:3149
+#, python-format
+msgid "Searching %d package"
+msgid_plural "Searching %d packages"
+msgstr[0] "Zoeken %d pakket"
+msgstr[1] "Zoeken %d pakketten"
+
+#: ../yum/__init__.py:3153
+#, python-format
+msgid "searching package %s"
+msgstr "zoeken pakket %s"
+
+#: ../yum/__init__.py:3165
+msgid "searching in file entries"
+msgstr "zoeken in file entries"
+
+#: ../yum/__init__.py:3172
+msgid "searching in provides entries"
+msgstr "zoeken in provides entries"
+
+#: ../yum/__init__.py:3369
+msgid "No group data available for configured repositories"
+msgstr "Geen groepsgegevens beschikbaar voor geconfigureerde repositories"
+
+#: ../yum/__init__.py:3466 ../yum/__init__.py:3500 ../yum/__init__.py:3576
+#: ../yum/__init__.py:3582 ../yum/__init__.py:3719 ../yum/__init__.py:3723
+#: ../yum/__init__.py:4298
+#, python-format
+msgid "No Group named %s exists"
+msgstr "Er bestaat geen groep met de naam %s"
+
+#: ../yum/__init__.py:3512 ../yum/__init__.py:3740
+#, python-format
+msgid "package %s was not marked in group %s"
+msgstr "pakket %s is niet gemarkeerd in groep %s"
+
+#. (upgrade and igroup_data[pkg] == 'available')):
+#: ../yum/__init__.py:3622
+#, python-format
+msgid "Skipping package %s from group %s"
+msgstr "Pakket %s van groep %s wordt overgeslagen"
+
+#: ../yum/__init__.py:3628
+#, python-format
+msgid "Adding package %s from group %s"
+msgstr "Toevoegen van pakket %s uit de groep %s"
+
+#: ../yum/__init__.py:3649
+#, python-format
+msgid "No package named %s available to be installed"
+msgstr "Geen pakket met de naam %s beschikbaar om te worden geïnstalleerd"
+
+#: ../yum/__init__.py:3702
+#, python-format
+msgid "Warning: Group %s does not have any packages to install."
+msgstr "Waarschuwing: Groep %s heeft geen pakketten om te installeren."
+
+#: ../yum/__init__.py:3704
+#, python-format
+msgid "Group %s does have %u conditional packages, which may get installed."
+msgstr "Groep %s heeft %u voorwaardelijk pakketten, welke zouden kunnen worden geïnstalleerd."
+
+#: ../yum/__init__.py:3794
+#, python-format
+msgid "Skipping group %s from environment %s"
+msgstr "Groep %s wordt weggelaten uit omgeving %s"
+
+#. This can happen due to excludes after .up has
+#. happened.
+#: ../yum/__init__.py:3858
+#, python-format
+msgid "Package tuple %s could not be found in packagesack"
+msgstr "Pakket-tupel %s kon niet in pakkethouder gevonden worden"
+
+#: ../yum/__init__.py:3886
+#, python-format
+msgid "Package tuple %s could not be found in rpmdb"
+msgstr "Pakket-tupel %s kon niet in rpmdb gevonden worden"
+
+#: ../yum/__init__.py:3949 ../yum/__init__.py:4012
+#, python-format
+msgid "Invalid version flag from: %s"
+msgstr "Ongeldige versie vlag van: %s"
+
+#: ../yum/__init__.py:3973 ../yum/__init__.py:3979 ../yum/__init__.py:4036
+#: ../yum/__init__.py:4042
+#, python-format
+msgid "No Package found for %s"
+msgstr "Geen pakket gevonden voor %s"
+
+#: ../yum/__init__.py:4245 ../yum/__init__.py:4274
+#, python-format
+msgid "Warning: Environment Group %s does not exist."
+msgstr "Waarschuwing: Omgevingsgroep %s bestaat niet."
+
+#: ../yum/__init__.py:4397
+#, python-format
+msgid "Package: %s - can't co-install with %s"
+msgstr "Pakket: %s - kan niet co-installeren met %s"
+
+#: ../yum/__init__.py:4437
+msgid "Package Object was not a package object instance"
+msgstr "Pakket Object was niet een pakket objectinstantie"
+
+#: ../yum/__init__.py:4441
+msgid "Nothing specified to install"
+msgstr "Niets aangemerkt om te installeren"
+
+#: ../yum/__init__.py:4465 ../yum/__init__.py:5410
+#, python-format
+msgid "Checking for virtual provide or file-provide for %s"
+msgstr "Controleren op virtuele levering dan wel bestand-levering voor %s"
+
+#: ../yum/__init__.py:4542
+#, python-format
+msgid "Package %s installed and not available"
+msgstr "Pakket %s geïnstalleerd en niet beschikbaar"
+
+#: ../yum/__init__.py:4545
+msgid "No package(s) available to install"
+msgstr "Geen pakket(ten) beschikbaar om te installeren"
+
+#: ../yum/__init__.py:4557
+#, python-format
+msgid "Package: %s  - already in transaction set"
+msgstr "Pakket: %s  - reeds in transactie set"
+
+#: ../yum/__init__.py:4589
+#, python-format
+msgid "Package %s is obsoleted by %s which is already installed"
+msgstr "Pakket %s is ouder dan %s, dat reeds is geïnstalleerd"
+
+#: ../yum/__init__.py:4594
+#, python-format
+msgid ""
+"Package %s is obsoleted by %s, but obsoleting package does not provide for "
+"requirements"
+msgstr "Pakket %s is ouder dan %s, maar nieuwer pakket voldoet niet aan de vereisten"
+
+#: ../yum/__init__.py:4597
+#, python-format
+msgid "Package %s is obsoleted by %s, trying to install %s instead"
+msgstr "Pakket %s is ouder dan %s, zal dientengevolge pogen %s te installeren"
+
+#: ../yum/__init__.py:4605
+#, python-format
+msgid "Package %s already installed and latest version"
+msgstr "Pakket %s is reeds geïnstalleerd en de meest recente versie"
+
+#: ../yum/__init__.py:4619
+#, python-format
+msgid "Package matching %s already installed. Checking for update."
+msgstr "Pakket dat overeenkomt met %s is al geïnstalleerd. Controleren op update."
+
+#. update everything (the easy case)
+#: ../yum/__init__.py:4751
+msgid "Updating Everything"
+msgstr "Updaten Alles"
+
+#: ../yum/__init__.py:4775 ../yum/__init__.py:4930 ../yum/__init__.py:4975
+#: ../yum/__init__.py:5011
+#, python-format
+msgid "Not Updating Package that is already obsoleted: %s.%s %s:%s-%s"
+msgstr "Niet Bijwerken pakket dat al verouderd is: %s.%s%s:%s-%s"
+
+#: ../yum/__init__.py:4830 ../yum/__init__.py:5072
+#, python-format
+msgid "%s"
+msgstr "%s"
+
+#: ../yum/__init__.py:4854 ../yum/__init__.py:5080 ../yum/__init__.py:5416
+#, python-format
+msgid "No Match for argument: %s"
+msgstr "Geen resultaat voor argument: %s"
+
+#: ../yum/__init__.py:4872
+#, python-format
+msgid "No package matched to upgrade: %s"
+msgstr "Geen pakket aangetroffen om te upgraden: %s"
+
+#: ../yum/__init__.py:4919
+#, python-format
+msgid "Package is already obsoleted: %s.%s %s:%s-%s"
+msgstr "Pakket is al verouderd: %s.%s%s:%s-%s"
+
+#: ../yum/__init__.py:4970
+#, python-format
+msgid "Not Updating Package that is obsoleted: %s"
+msgstr "Niet Bijwerken pakket dat verouderd is: %s"
+
+#: ../yum/__init__.py:4979 ../yum/__init__.py:5015
+#, python-format
+msgid "Not Updating Package that is already updated: %s.%s %s:%s-%s"
+msgstr "Niet Bijwerken pakket dat al bijgewerkt is: %s.%s%s:%s-%s"
+
+#: ../yum/__init__.py:5093
+#, python-format
+msgid "No package matched to remove: %s"
+msgstr "Geen pakket aangetroffen om te verwijderen: %s"
+
+#: ../yum/__init__.py:5099
+#, python-format
+msgid "Skipping the running kernel: %s"
+msgstr "Overslaan van -draaiende- kernel: %s"
+
+#: ../yum/__init__.py:5105
+#, python-format
+msgid "Removing %s from the transaction"
+msgstr "Verwijderen van %s uit de transactie"
+
+#: ../yum/__init__.py:5142
+#, python-format
+msgid "Cannot open: %s. Skipping."
+msgstr "Kan niet openen: %s. Overslaan."
+
+#: ../yum/__init__.py:5145 ../yum/__init__.py:5262 ../yum/__init__.py:5347
+#, python-format
+msgid "Examining %s: %s"
+msgstr "Onderzoeken %s: %s"
+
+#: ../yum/__init__.py:5149
+#, python-format
+msgid "Cannot localinstall deltarpm: %s. Skipping."
+msgstr "Niet gelukt deltarpm lokaal te installeren: %s. Overslaan."
+
+#: ../yum/__init__.py:5158 ../yum/__init__.py:5265 ../yum/__init__.py:5350
+#, python-format
+msgid ""
+"Cannot add package %s to transaction. Not a compatible architecture: %s"
+msgstr "Kan pakket %s niet toevoegen aan transactie. Geen compatibele architectuur: %s"
+
+#: ../yum/__init__.py:5164
+#, python-format
+msgid "Cannot install package %s. It is obsoleted by installed package %s"
+msgstr "Kan pakket %s niet installeren. Het al geïnstalleerde pakket %s is nieuwer"
+
+#: ../yum/__init__.py:5172
+#, python-format
+msgid ""
+"Package %s not installed, cannot update it. Run yum install to install it "
+"instead."
+msgstr "Pakket %s is niet geïnstalleerd, en kan dus ook niet vernieuwd worden. Voer in de plaats daarvan yum install uit, om te installeren."
+
+#: ../yum/__init__.py:5191 ../yum/__init__.py:5198
+#, python-format
+msgid ""
+"Package %s.%s not installed, cannot update it. Run yum install to install it"
+" instead."
+msgstr "Pakket %s.%s is niet geïnstalleerd, kan het dus niet vernieuwen. Voer in de plaats daarvan yum install uit om te installeren."
+
+#: ../yum/__init__.py:5207 ../yum/__init__.py:5270 ../yum/__init__.py:5355
+#, python-format
+msgid "Excluding %s"
+msgstr "Uitsluiten %s"
+
+#: ../yum/__init__.py:5212
+#, python-format
+msgid "Marking %s to be installed"
+msgstr "Markeren %s om te installeren"
+
+#: ../yum/__init__.py:5218
+#, python-format
+msgid "Marking %s as an update to %s"
+msgstr "Markeren %s als een update voor %s"
+
+#: ../yum/__init__.py:5225
+#, python-format
+msgid "%s: does not update installed package."
+msgstr "%s: is geen update voor geïnstalleerd pakket."
+
+#: ../yum/__init__.py:5259 ../yum/__init__.py:5344
+#, python-format
+msgid "Cannot open file: %s. Skipping."
+msgstr "Kan bestand niet openen: %s. Overslaan."
+
+#: ../yum/__init__.py:5299
+msgid "Problem in reinstall: no package matched to remove"
+msgstr "Probleem met herinstalleren: geen overeenkomstig pakket gevonden om eerst te verwijderen"
+
+#: ../yum/__init__.py:5325
+#, python-format
+msgid "Problem in reinstall: no package %s matched to install"
+msgstr "Probleem met herinstalleren: geen overeenkomstig pakket %s gevonden om opnieuw te installeren "
+
+#: ../yum/__init__.py:5438
+msgid "No package(s) available to downgrade"
+msgstr "Geen pakket(ten) beschikbaar om te downgraden"
+
+#: ../yum/__init__.py:5446
+#, python-format
+msgid "Package %s is allowed multiple installs, skipping"
+msgstr "Pakket %s is toegestaan ​​meerdere installaties te hebben, wordt overgeslagen"
+
+#: ../yum/__init__.py:5496
+#, python-format
+msgid "No Match for available package: %s"
+msgstr "Geen match voor beschikbaar pakket: %s"
+
+#: ../yum/__init__.py:5506
+#, python-format
+msgid "Only Upgrade available on package: %s"
+msgstr "Upgrade alleen beschikbaar voor het pakket: %s"
+
+#: ../yum/__init__.py:5619 ../yum/__init__.py:5686
+#, python-format
+msgid "Failed to downgrade: %s"
+msgstr "Mislukt downgraden: %s"
+
+#: ../yum/__init__.py:5636 ../yum/__init__.py:5692
+#, python-format
+msgid "Failed to upgrade: %s"
+msgstr "Bijwerken mislukt van: %s"
+
+#: ../yum/__init__.py:5725
+#, python-format
+msgid "Retrieving key from %s"
+msgstr "Ophalen sleutel uit %s"
+
+#: ../yum/__init__.py:5743
+msgid "GPG key retrieval failed: "
+msgstr "GPG sleutel ophalen mislukte:"
+
+#. if we decide we want to check, even though the sig failed
+#. here is where we would do that
+#: ../yum/__init__.py:5766
+#, python-format
+msgid "GPG key signature on key %s does not match CA Key for repo: %s"
+msgstr "GPG key signature van sleutel %s komt niet overeen met de CA Key van repo: %s"
+
+#: ../yum/__init__.py:5768
+msgid "GPG key signature verified against CA Key(s)"
+msgstr "GPG key geverifieerd middels CA Key(s)"
+
+#: ../yum/__init__.py:5776
+#, python-format
+msgid "Invalid GPG Key from %s: %s"
+msgstr "Ongeldige GPG sleutel van %s: %s"
+
+#: ../yum/__init__.py:5785
+#, python-format
+msgid "GPG key parsing failed: key does not have value %s"
+msgstr "GPG sleutel parsing faalde: sleutel heeft geen waarde %s"
+
+#: ../yum/__init__.py:5801
+#, python-format
+msgid ""
+"Importing %s key 0x%s:\n"
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" Package    : %s (%s)\n"
+" From       : %s"
+msgstr "Importeren %s sleutel 0x%s:\n Userid     : \"%s\"\n Fingerprint: %s\n Pakket     : %s (%s)\n Van        : %s"
+
+#: ../yum/__init__.py:5811
+#, python-format
+msgid ""
+"Importing %s key 0x%s:\n"
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" From       : %s"
+msgstr "Importeren %s sleutel 0x%s:\n Userid     : \"%s\"\n Fingerprint: %s\n Van        : %s"
+
+#: ../yum/__init__.py:5839
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" Failing package is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr "\n\n\n Falende pakket is: %s\n GPG Sleutels zijn geconfigureerd als: %s\n"
+
+#: ../yum/__init__.py:5853
+#, python-format
+msgid "GPG key at %s (0x%s) is already installed"
+msgstr "GPG sleutel %s (0x%s) is al geïnstalleerd"
+
+#: ../yum/__init__.py:5891
+#, python-format
+msgid "Key import failed (code %d)"
+msgstr "Importeren sleutel is mislukt (code %d)"
+
+#: ../yum/__init__.py:5893 ../yum/__init__.py:5994
+msgid "Key imported successfully"
+msgstr "Sleutel succesvol geïmporteerd"
+
+#: ../yum/__init__.py:5897
+msgid "Didn't install any keys"
+msgstr "Er werden geen sleutels geïnstalleerd"
+
+#: ../yum/__init__.py:5900
+#, python-format
+msgid ""
+"The GPG keys listed for the \"%s\" repository are already installed but they are not correct for this package.\n"
+"Check that the correct key URLs are configured for this repository."
+msgstr "De GPG sleutels vermeld voor de \"%s\" repository zijn al geïnstalleerd, maar ze zijn niet correct voor dit pakket. \nControleer of de juiste sleutel-URL's zijn geconfigureerd voor deze repository."
+
+#: ../yum/__init__.py:5910
+msgid "Import of key(s) didn't help, wrong key(s)?"
+msgstr "Import van sleutel(s) heeft niet geholpen, verkeerde sleutel(s)?"
+
+#: ../yum/__init__.py:5932
+msgid "No"
+msgstr "Nee"
+
+#: ../yum/__init__.py:5934
+msgid "Yes"
+msgstr "Ja"
+
+#: ../yum/__init__.py:5935
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" CA Key: %s\n"
+" Failing repo is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr "\n\n\n CA Sleutel: %s\n Falende repo is: %s\n GPG Sleutels zijn geconfigureerd als: %s\n"
+
+#: ../yum/__init__.py:5948
+#, python-format
+msgid "GPG key at %s (0x%s) is already imported"
+msgstr "GPG-sleutel op %s (0x%s) is reeds geïmporteerd"
+
+#: ../yum/__init__.py:5992
+#, python-format
+msgid "Key %s import failed"
+msgstr "Import sleutel %s faalde"
+
+#: ../yum/__init__.py:6009
+#, python-format
+msgid "Didn't install any keys for repo %s"
+msgstr "Er werden geen sleutels geïnstalleerd voor repo %s"
+
+#: ../yum/__init__.py:6014
+#, python-format
+msgid ""
+"The GPG keys listed for the \"%s\" repository are already installed but they are not correct.\n"
+"Check that the correct key URLs are configured for this repository."
+msgstr "De GPG sleutels vermeld voor de \"%s\" repository zijn al geïnstalleerd, maar ze zijn niet correct. \nControleer of de juiste sleutel-URL's zijn geconfigureerd voor deze repository."
+
+#: ../yum/__init__.py:6172
+msgid "Unable to find a suitable mirror."
+msgstr "Niet in staat om een ​​geschikte mirror te vinden."
+
+#: ../yum/__init__.py:6174
+msgid "Errors were encountered while downloading packages."
+msgstr "Fouten tegengekomen tijdens het downloaden van pakketten."
+
+#: ../yum/__init__.py:6229
+#, python-format
+msgid "Please report this error at %s"
+msgstr "Meld deze fout a.u.b. op %s"
+
+#: ../yum/__init__.py:6246
+msgid "Test Transaction Errors: "
+msgstr "Test Transactie Fouten: "
+
+#: ../yum/__init__.py:6358
+#, python-format
+msgid "Could not set cachedir: %s"
+msgstr "Kon cachedir niet instellen: %s"
+
+#: ../yum/__init__.py:6420 ../yum/__init__.py:6422
+msgid "Dependencies not solved. Will not save unresolved transaction."
+msgstr "Afhankelijkheden niet opgelost. Zal een transactie met onopgeloste afhankelijkheden niet opslaan."
+
+#: ../yum/__init__.py:6455 ../yum/__init__.py:6457
+#, python-format
+msgid "Could not save transaction file %s: %s"
+msgstr "Kon transactiebestand %s niet opslaan: %s"
+
+#: ../yum/__init__.py:6483
+#, python-format
+msgid "Could not access/read saved transaction %s : %s"
+msgstr "Kon geen toegang krijgen tot/lezen opgeslagen transactie %s: %s"
+
+#: ../yum/__init__.py:6521
+msgid "rpmdb ver mismatched saved transaction version,"
+msgstr "rpmdb versie kwam niet overeen met opgeslagen transactie versie,"
+
+#: ../yum/__init__.py:6535
+msgid "cannot find tsflags or tsflags not integer."
+msgstr "kan tsflags of tsflags niet vinden, geen integer."
+
+#: ../yum/__init__.py:6584
+#, python-format
+msgid "Found txmbr in unknown current state: %s"
+msgstr "Trof txmbr in onbekende huidige status aan: %s"
+
+#: ../yum/__init__.py:6588
+#, python-format
+msgid "Could not find txmbr: %s in state %s"
+msgstr "Kon txmbr niet vinden: %s in status %s"
+
+#: ../yum/__init__.py:6625 ../yum/__init__.py:6642
+#, python-format
+msgid "Could not find txmbr: %s from origin: %s"
+msgstr "Kon txmbr niet vinden: %s van herkomst: %s"
+
+#: ../yum/__init__.py:6667
+msgid "Transaction members, relations are missing or ts has been modified,"
+msgstr "Transactie-leden, relaties ontbreken of ts is gewijzigd,"
+
+#: ../yum/__init__.py:6670
+msgid " ignoring, as requested. You must redepsolve!"
+msgstr " negeren, zoals gevraagd. U moet afhankelijkheden opnieuw oplossen!"
+
+#. Debugging output
+#: ../yum/__init__.py:6738 ../yum/__init__.py:6757
+#, python-format
+msgid "%s has been visited already and cannot be removed."
+msgstr "%s is al bezocht en kan niet worden verwijderd."
+
+#. Debugging output
+#: ../yum/__init__.py:6741
+#, python-format
+msgid "Examining revdeps of %s"
+msgstr "Onderzoeken revdeps van %s"
+
+#. Debugging output
+#: ../yum/__init__.py:6762
+#, python-format
+msgid "%s has revdep %s which was user-installed."
+msgstr "%s heeft revdep %s en was gebruiker-geïnstalleerd."
+
+#: ../yum/__init__.py:6773 ../yum/__init__.py:6779
+#, python-format
+msgid "%s is needed by a package to be installed."
+msgstr "%s moet voor dit pakket al zijn geïnstalleerd"
+
+#. Debugging output
+#: ../yum/__init__.py:6793
+#, python-format
+msgid "%s has no user-installed revdeps."
+msgstr "%s heeft geen door gebruiker geïnstalleerd revdeps."
+
+#. Mostly copied from YumOutput._outKeyValFill()
+#: ../yum/plugins.py:212
+msgid "Loaded plugins: "
+msgstr "Geladen plugins: "
+
+#: ../yum/plugins.py:226 ../yum/plugins.py:232
+#, python-format
+msgid "No plugin match for: %s"
+msgstr "Geen plugin match voor: %s"
+
+#: ../yum/plugins.py:262
+#, python-format
+msgid "Not loading \"%s\" plugin, as it is disabled"
+msgstr "\"%s\" plug-in wordt niet geladen, staat uitgeschakeld"
+
+#. Give full backtrace:
+#: ../yum/plugins.py:274
+#, python-format
+msgid "Plugin \"%s\" can't be imported"
+msgstr "Plugin \"%s\" kan niet worden geïmporteerd"
+
+#: ../yum/plugins.py:281
+#, python-format
+msgid "Plugin \"%s\" doesn't specify required API version"
+msgstr "Plugin \"%s\" geeft niet de vereiste API-versie aan"
+
+#: ../yum/plugins.py:286
+#, python-format
+msgid "Plugin \"%s\" requires API %s. Supported API is %s."
+msgstr "Plugin \"%s\" vereist API %s. Ondersteunde API is echter %s."
+
+#: ../yum/plugins.py:319
+#, python-format
+msgid "Loading \"%s\" plugin"
+msgstr "Laden van \"%s\" plugin"
+
+#: ../yum/plugins.py:326
+#, python-format
+msgid "Two or more plugins with the name \"%s\" exist in the plugin search path"
+msgstr "Twee of meer plugins met de naam \"%s\" komen voor ​​in het plugin zoekpad"
+
+#: ../yum/plugins.py:346
+#, python-format
+msgid "Configuration file %s not found"
+msgstr "Configuratiebestand %s niet gevonden"
+
+#. for
+#. Configuration files for the plugin not found
+#: ../yum/plugins.py:349
+#, python-format
+msgid "Unable to find configuration file for plugin %s"
+msgstr "Kan configuratiebestand niet vinden voor plugin %s"
+
+#: ../yum/plugins.py:553
+msgid "registration of commands not supported"
+msgstr "registratie van commando's niet ondersteund"
+
+#: ../yum/rpmsack.py:159
+msgid "has missing requires of"
+msgstr "heeft ontbrekende vereisten"
+
+#: ../yum/rpmsack.py:162
+msgid "has installed conflicts"
+msgstr "heeft geïnstalleerde conflicten"
+
+#: ../yum/rpmsack.py:171
+#, python-format
+msgid "%s is a duplicate with %s"
+msgstr "%s is een duplicaat van %s"
+
+#: ../yum/rpmsack.py:179
+#, python-format
+msgid "%s is obsoleted by %s"
+msgstr "%s is ouder dan %s"
+
+#: ../yum/rpmsack.py:187
+#, python-format
+msgid "%s provides %s but it cannot be found"
+msgstr "%s bevat %s, maar kan niet worden gevonden"
+
+#: ../yum/rpmtrans.py:80
+msgid "Repackaging"
+msgstr "Opnieuw verpakken"
+
+#: ../yum/rpmtrans.py:149
+#, python-format
+msgid "Verify: %u/%u: %s"
+msgstr "Verifiëer: %u/%u: %s"
+
+#: ../yum/yumRepo.py:919
+#, python-format
+msgid ""
+"Insufficient space in download directory %s\n"
+"    * free   %s\n"
+"    * needed %s"
+msgstr "Onvoldoende ruimte in download directory %s\n    * vrij     %s\n    * nodig %s"
+
+#: ../yum/yumRepo.py:986
+msgid "Package does not match intended download."
+msgstr "Pakket komt niet overeen met bedoelde download"
+
+#: ../rpmUtils/oldUtils.py:33
+#, python-format
+msgid "Header cannot be opened or does not match %s, %s."
+msgstr "Header kan niet worden geopend of komt niet overeen met %s, %s."
+
+#: ../rpmUtils/oldUtils.py:53
+#, python-format
+msgid "RPM %s fails md5 check"
+msgstr "RPM %s komt niet door de md5 check"
+
+#: ../rpmUtils/oldUtils.py:151
+msgid "Could not open RPM database for reading. Perhaps it is already in use?"
+msgstr "RPM-database kan niet worden geopend om te lezen. Misschien al in gebruik?"
+
+#: ../rpmUtils/oldUtils.py:183
+msgid "Got an empty Header, something has gone wrong"
+msgstr "Verkreeg een lege Header, iets is er mis gegaan"
+
+#: ../rpmUtils/oldUtils.py:253 ../rpmUtils/oldUtils.py:260
+#: ../rpmUtils/oldUtils.py:263 ../rpmUtils/oldUtils.py:266
+#, python-format
+msgid "Damaged Header %s"
+msgstr "Beschadigde Header %s"
+
+#: ../rpmUtils/oldUtils.py:281
+#, python-format
+msgid "Error opening rpm %s - error %s"
+msgstr "Fout bij het openen van rpm %s - fout %s"
diff --git a/po/pa.po b/po/pa.po
index e714500..b96df92 100644
--- a/po/pa.po
+++ b/po/pa.po
@@ -2,1516 +2,1656 @@
 # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
 # This file is distributed under the same license as the PACKAGE package.
 # 
-# A S Alam <apreet.alam@gmail.com>, 2011
+# Translators:
+# A S Alam <apreet.alam@gmail.com>, 2011-2013.
 msgid ""
 msgstr ""
 "Project-Id-Version: Yum\n"
-"Report-Msgid-Bugs-To: http://yum.baseurl.org/\n"
-"POT-Creation-Date: 2011-06-06 10:21-0400\n"
-"PO-Revision-Date: 2011-06-06 14:21+0000\n"
-"Last-Translator: skvidal <skvidal@fedoraproject.org>\n"
+"Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
+"POT-Creation-Date: 2013-01-30 09:08-0500\n"
+"PO-Revision-Date: 2013-03-01 02:00+0000\n"
+"Last-Translator: A S Alam <apreet.alam@gmail.com>\n"
 "Language-Team: Panjabi (Punjabi) <punjabi-users@lists.sf.net>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Language: pa\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: ../callback.py:48 ../output.py:1037 ../yum/rpmtrans.py:73
+#: ../callback.py:45 ../output.py:1502 ../yum/rpmtrans.py:73
 msgid "Updating"
 msgstr "ਅੱਪਡੇਟ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"
 
-#: ../callback.py:49 ../yum/rpmtrans.py:74
+#: ../callback.py:46 ../yum/rpmtrans.py:74
 msgid "Erasing"
 msgstr "ਸਾਫ਼ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"
 
-#: ../callback.py:50 ../callback.py:51 ../callback.py:53 ../output.py:1036
-#: ../output.py:2218 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
+#: ../callback.py:47 ../callback.py:48 ../callback.py:50 ../output.py:1501
+#: ../output.py:2922 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
 #: ../yum/rpmtrans.py:78
 msgid "Installing"
 msgstr "ਇੰਸਟਾਲ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"
 
-#: ../callback.py:52 ../callback.py:58 ../output.py:1840 ../yum/rpmtrans.py:77
+#: ../callback.py:49 ../callback.py:55 ../output.py:2379 ../yum/rpmtrans.py:77
 msgid "Obsoleted"
 msgstr "ਬਰਤਰਫ਼ ਕੀਤੇ"
 
-#: ../callback.py:54 ../output.py:1169 ../output.py:1686 ../output.py:1847
+#: ../callback.py:51 ../output.py:1670 ../output.py:2222 ../output.py:2386
 msgid "Updated"
 msgstr "ਅੱਪਡੇਟ ਕੀਤੇ"
 
-#: ../callback.py:55 ../output.py:1685
+#: ../callback.py:52 ../output.py:2221
 msgid "Erased"
 msgstr "ਸਾਫ਼ ਕੀਤਾ"
 
-#: ../callback.py:56 ../callback.py:57 ../callback.py:59 ../output.py:1167
-#: ../output.py:1685 ../output.py:1687 ../output.py:2190
+#: ../callback.py:53 ../callback.py:54 ../callback.py:56 ../output.py:1668
+#: ../output.py:2221 ../output.py:2223 ../output.py:2894
 msgid "Installed"
 msgstr "ਇੰਸਟਾਲ ਕੀਤਾ"
 
-#: ../callback.py:130
+#: ../callback.py:142
 msgid "No header - huh?"
 msgstr "ਹੈੱਡਰ ਨਹੀਂ - ਓਹ?"
 
-#: ../callback.py:168
+#: ../callback.py:180
 msgid "Repackage"
 msgstr "ਮੁੜ-ਪੈਕੇਜ"
 
-#: ../callback.py:189
+#: ../callback.py:201
 #, python-format
 msgid "Error: invalid output state: %s for %s"
-msgstr ""
+msgstr "ਗਲਤੀ: ਗਲਤ ਆਉਟਪੁੱਟ ਸਥਿਤੀ: %s ਲਈ %s"
 
-#: ../callback.py:212
+#: ../callback.py:224
 #, python-format
 msgid "Erased: %s"
 msgstr "ਸਾਫ਼ ਕੀਤਾ: %s"
 
-#: ../callback.py:217 ../output.py:1038 ../output.py:2193
+#: ../callback.py:229 ../output.py:1503 ../output.py:2897
 msgid "Removing"
 msgstr "ਹਟਾਇਆ ਜਾ ਰਿਹਾ ਹੈ"
 
-#: ../callback.py:219 ../yum/rpmtrans.py:79
+#: ../callback.py:231 ../yum/rpmtrans.py:79
 msgid "Cleanup"
 msgstr "ਸਾਫ਼"
 
-#: ../cli.py:115
+#: ../cli.py:122
 #, python-format
 msgid "Command \"%s\" already defined"
 msgstr "ਕਮਾਂਡ \"%s\" ਪਹਿਲਾਂ ਦੀ ਦਿੱਤੀ ਹੈ"
 
-#: ../cli.py:127
+#: ../cli.py:137
 msgid "Setting up repositories"
 msgstr "ਰਿਪੋਜ਼ਟਰੀਆਂ ਸੈਟਅੱਪ ਕੀਤੀਆਂ ਜਾ ਰਹੀਆਂ ਹਨ"
 
-#: ../cli.py:138
+#: ../cli.py:148
 msgid "Reading repository metadata in from local files"
 msgstr "ਲੋਕਲ ਫਾਇਲਾਂ ਤੋਂ ਰਿਪੋਜ਼ਟਰੀ ਮੇਟਾਡਾਟਾ ਪੜ੍ਹਿਆ ਜਾ ਰਿਹਾ ਹੈ"
 
-#: ../cli.py:245 ../utils.py:281
+#: ../cli.py:273 ../cli.py:277 ../utils.py:320
 #, python-format
 msgid "Config Error: %s"
 msgstr "ਸੰਰਚਨਾ ਗਲਤੀ: %s"
 
-#: ../cli.py:248 ../cli.py:1584 ../utils.py:284
+#: ../cli.py:280 ../cli.py:2206 ../utils.py:323
 #, python-format
 msgid "Options Error: %s"
 msgstr "ਚੋਣ ਗਲਤੀ: %s"
 
-#: ../cli.py:293
+#: ../cli.py:327
 #, python-format
 msgid "  Installed: %s-%s at %s"
 msgstr "   ਇੰਸਟਾਲ ਕੀਤਾ:%s-%s %s ਉੱਤੇ "
 
-#: ../cli.py:295
+#: ../cli.py:329
 #, python-format
 msgid "  Built    : %s at %s"
 msgstr " ਬਿਲਡ   : %s %s ਉੱਤੇ "
 
-#: ../cli.py:297
+#: ../cli.py:331
 #, python-format
 msgid "  Committed: %s at %s"
 msgstr "  ਕਮਿਟ ਕੀਤਾ: %s %s ਉੱਤੇ"
 
-#: ../cli.py:336
+#: ../cli.py:372
 msgid "You need to give some command"
 msgstr "ਤੁਹਾਨੂੰ ਕੁਝ ਕਮਾਂਡ ਦੇਣ ਦੀ ਲੋੜ ਹੈ"
 
-#: ../cli.py:350
+#: ../cli.py:386
 #, python-format
 msgid "No such command: %s. Please use %s --help"
 msgstr "ਇੰਝ ਦੀ ਕੋਈ ਕਮਾਂਡ ਨਹੀਂ ਹੈ: %s। %s --help ਵਰਤੋਂ ਜੀ"
 
-#: ../cli.py:400
+#: ../cli.py:444
 msgid "Disk Requirements:\n"
 msgstr "ਡਿਸਕ ਲੋੜਾਂ:\n"
 
-#: ../cli.py:402
+#: ../cli.py:446
 #, python-format
 msgid "  At least %dMB more space needed on the %s filesystem.\n"
-msgstr "   ਘੱਟੋ-ਘੱਟ %dMB ਹੋਰ ਖਾਲੀ ਥਾਂ %s ਫਾਇਲ ਸਿਸਟਮ ਉੱਤੇ ਚਾਹੀਦੀ ਹੈ।\n"
+msgid_plural "  At least %dMB more space needed on the %s filesystem.\n"
+msgstr[0] ""
+msgstr[1] "   ਘੱਟੋ-ਘੱਟ %dMB ਹੋਰ ਖਾਲੀ ਥਾਂ %s ਫਾਇਲ ਸਿਸਟਮ ਉੱਤੇ ਚਾਹੀਦੀ ਹੈ।\n"
 
 #. TODO: simplify the dependency errors?
 #. Fixup the summary
-#: ../cli.py:407
+#: ../cli.py:451
 msgid ""
 "Error Summary\n"
 "-------------\n"
-msgstr ""
-"ਗਲਤੀ ਸੰਖੇਪ\n"
-"------------\n"
+msgstr "ਗਲਤੀ ਸੰਖੇਪ\n------------\n"
+
+#: ../cli.py:472
+msgid "Can't create lock file; exiting"
+msgstr "ਲਾਕ ਫਾਇਲ ਨਹੀਂ ਬਣਾਈ ਜਾ ਸਕੀ; ਮੌਜੂਦ ਹੈ"
 
-#: ../cli.py:450
+#: ../cli.py:479
+msgid ""
+"Another app is currently holding the yum lock; exiting as configured by "
+"exit_on_lock"
+msgstr "ਹਾਲੇ ਕੋਈ ਹੋਰ ਐਪਲੀਕੇਸ਼ਨ ਯੱਮ ਲਾਕ ਵਰਤ ਰਹੀ ਹੈ;  exit_on_lock ਵਲੋਂ ਸੰਰਚਨਾ ਮੁਤਾਬਕ ਬੰਦ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"
+
+#: ../cli.py:532
 msgid "Trying to run the transaction but nothing to do. Exiting."
+msgstr "ਟਰਾਂਸੈਕਸ਼ਨ ਚਲਾਉਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ, ਪਰ ਕੁਝ ਵੀ ਕਰਨ ਲਈ ਨਹੀਂ ਹੈ। ਬੰਦ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ।"
+
+#: ../cli.py:577
+msgid "future rpmdb ver mismatched saved transaction version,"
 msgstr ""
-"ਟਰਾਂਸੈਕਸ਼ਨ ਚਲਾਉਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ, ਪਰ ਕੁਝ ਵੀ ਕਰਨ ਲਈ ਨਹੀਂ ਹੈ। ਬੰਦ ਕੀਤਾ ਜਾ ਰਿਹਾ"
-" ਹੈ।"
 
-#: ../cli.py:497
+#: ../cli.py:579 ../yum/__init__.py:6523
+msgid " ignoring, as requested."
+msgstr " ਕੀਤੀ ਮੰਗ ਮੁਤਾਬਕ ਅਣਡਿੱਠਾ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"
+
+#: ../cli.py:582 ../yum/__init__.py:6526 ../yum/__init__.py:6673
+msgid " aborting."
+msgstr "ਅਣਡਿੱਠਾ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ।"
+
+#: ../cli.py:588
 msgid "Exiting on user Command"
 msgstr "ਯੂਜ਼ਰ ਕਮਾਂਡ ਮੌਜੂਦ ਹੈ"
 
-#: ../cli.py:501
+#: ../cli.py:592
 msgid "Downloading Packages:"
 msgstr "ਪੈਕੇਜ ਡਾਊਨਲੋਡ ਕੀਤੇ ਜਾ ਰਹੇ ਹਨ:"
 
-#: ../cli.py:506
+#: ../cli.py:597
 msgid "Error Downloading Packages:\n"
 msgstr "ਪੈਕੇਜ ਡਾਊਨਲੋਡ ਕਰਨ ਦੌਰਾਨ ਗਲਤੀ:\n"
 
-#: ../cli.py:525 ../yum/__init__.py:4967
+#: ../cli.py:616 ../yum/__init__.py:6215
 msgid "Running Transaction Check"
-msgstr ""
+msgstr "ਟਰਾਂਸੈਕਸ਼ਨ ਚੈੱਕ ਚੱਲ ਰਿਹਾ ਹੈ"
 
-#: ../cli.py:534 ../yum/__init__.py:4976
+#: ../cli.py:625 ../yum/__init__.py:6224
 msgid "ERROR You need to update rpm to handle:"
 msgstr "ਗਲਤੀ, ਤੁਹਾਨੂੰ ਹੈਂਡਲ ਕਰਨ ਲਈ rpm ਅੱਪਡੇਟ ਕਰਨ ਦੀ ਲੋੜ ਹੈ:"
 
-#: ../cli.py:536 ../yum/__init__.py:4979
+#: ../cli.py:627 ../yum/__init__.py:6227
 msgid "ERROR with transaction check vs depsolve:"
 msgstr ""
 
-#: ../cli.py:542
+#: ../cli.py:633
 msgid "RPM needs to be updated"
 msgstr "RPM ਨੂੰ ਅੱਪਡੇਟ ਕਰਨ ਦੀ ਲੋੜ ਹੈ"
 
-#: ../cli.py:543
+#: ../cli.py:634
 #, python-format
 msgid "Please report this error in %s"
 msgstr "%s ਵਿੱਚ ਇਹ ਗਲਤੀ ਬਾਰੇ ਜਾਣਕਾਰੀ ਦਿਉ"
 
-#: ../cli.py:549
+#: ../cli.py:640
 msgid "Running Transaction Test"
 msgstr "ਟਰਾਂਸੈਕਸ਼ਨ ਟੈਸਟ ਚੱਲ ਰਿਹਾ ਹੈ"
 
-#: ../cli.py:561
+#: ../cli.py:652
 msgid "Transaction Check Error:\n"
 msgstr "ਟਰਾਂਸੈਕਸ਼ਨ ਚੈੱਕ ਗਲਤੀ:\n"
 
-#: ../cli.py:568
+#: ../cli.py:659
 msgid "Transaction Test Succeeded"
 msgstr "ਟਰਾਂਸੈਕਸ਼ਨ ਟੈਸਟ ਸਫ਼ਲ ਰਿਹਾ"
 
-#: ../cli.py:600
+#: ../cli.py:691
 msgid "Running Transaction"
 msgstr "ਟਰਾਂਸੈਕਸ਼ਨ ਚੱਲ ਰਹੀ ਹੈ"
 
-#: ../cli.py:630
+#: ../cli.py:724
 msgid ""
 "Refusing to automatically import keys when running unattended.\n"
 "Use \"-y\" to override."
-msgstr ""
+msgstr "ਬਿਨਾਂ-ਧਿਆਨ ਦੇ ਚਲਾਉਣ ਦੌਰਾਨ ਕੁੰਜੀਆਂ ਨੂੰ ਆਟੋਮੈਟਿਕ ਇੰਪੋਰਟ ਕਰਨ ਤੋਂ ਇਨਕਾਰੀ।\nਅਣਡਿੱਠਾ ਕਰਨ ਲਈ \"-y\" ਵਰਤੋਂ।"
 
-#: ../cli.py:649 ../cli.py:692
+#: ../cli.py:743 ../cli.py:786
 msgid "  * Maybe you meant: "
 msgstr "  * ਸ਼ਾਇਦ ਤੁਸੀਂ ਚਾਹੁੰਦੇ ਹੋ: "
 
-#: ../cli.py:675 ../cli.py:683
+#: ../cli.py:769 ../cli.py:777
 #, python-format
 msgid "Package(s) %s%s%s available, but not installed."
 msgstr "ਪੈਕੇਜ %s%s%s ਉਪਲੱਬਧ ਹਨ, ਪਰ ਇੰਸਟਾਲ ਨਹੀਂ।"
 
-#: ../cli.py:689 ../cli.py:722 ../cli.py:908
+#: ../cli.py:783 ../cli.py:891 ../cli.py:1158
 #, python-format
 msgid "No package %s%s%s available."
 msgstr "ਕੋਈ %s%s%s ਪੈਕੇਜ ਉਪਲੱਬਧ ਨਹੀਂ ਹੈ।"
 
-#: ../cli.py:729 ../cli.py:973
-msgid "Package(s) to install"
-msgstr "ਇੰਸਟਾਲ ਕਰਨ ਲਈ ਪੈਕੇਜ"
+#: ../cli.py:871 ../cli.py:881 ../cli.py:1101 ../cli.py:1111
+#, python-format
+msgid "Bad %s argument %s."
+msgstr ""
 
-#: ../cli.py:732 ../cli.py:733 ../cli.py:914 ../cli.py:948 ../cli.py:974
-#: ../yumcommands.py:190
+#: ../cli.py:900 ../yumcommands.py:3331
+#, python-format
+msgid "%d package to install"
+msgid_plural "%d packages to install"
+msgstr[0] "ਇੰਸਟਾਲ ਕਰਨ ਲਈ %d ਪੈਕੇਜ"
+msgstr[1] "ਇੰਸਟਾਲ ਕਰਨ ਲਈ %d ਪੈਕੇਜ"
+
+#: ../cli.py:903 ../cli.py:904 ../cli.py:1169 ../cli.py:1170 ../cli.py:1224
+#: ../cli.py:1225 ../cli.py:1260 ../yumcommands.py:323 ../yumcommands.py:3419
 msgid "Nothing to do"
 msgstr "ਕਰਨ ਲਈ ਕੁਝ ਨਹੀਂ"
 
-#: ../cli.py:767
+#: ../cli.py:953
 #, python-format
-msgid "%d packages marked for Update"
-msgstr "ਅੱਪਡੇਟ ਕਰਨ ਲਈ %d ਪੈਕੇਜ ਚੁਣੇ ਗਏ"
+msgid "%d package marked for Update"
+msgid_plural "%d packages marked for Update"
+msgstr[0] "ਅੱਪਡੇਟ ਕਰਨ ਲਈ ਚੁਣਿਆ %d ਪੈਕੇਜ"
+msgstr[1] "ਅੱਪਡੇਟ ਲਈ ਚੁਣੇ %d ਪੈਕੇਜ"
 
-#: ../cli.py:770
+#: ../cli.py:955
 msgid "No Packages marked for Update"
 msgstr "ਅੱਪਡੇਟ ਲਈ ਕੋਈ ਪੈਕੇਜ ਨਹੀਂ"
 
-#: ../cli.py:866
+#: ../cli.py:1067
 #, python-format
-msgid "%d packages marked for Distribution Synchronization"
-msgstr "ਡਿਸਟਰੀਬਿਊਸ਼ਨ ਸਿੰਕਰੋਨਾਈਜ਼ ਕਰਨ ਲਈ %d ਪੈਕੇਜ ਚੁਣੇ ਗਏ"
+msgid "%d package marked for Distribution Synchronization"
+msgid_plural "%d packages marked for Distribution Synchronization"
+msgstr[0] "%d ਪੈਕੇਜ ਡਿਸਟਰੀਬਿਊਜ਼ਸ਼ਨ ਸਿੰਕਰੋਨਾਈਜ਼ੇਸ਼ਨ ਲਈ ਨਿਸ਼ਾਨਬੱਧ ਕੀਤਾ ਗਿਆ"
+msgstr[1] "%d ਪੈਕੇਜ ਡਿਸਟਰੀਬਿਊਜ਼ਸ਼ਨ ਸਿੰਕਰੋਨਾਈਜ਼ੇਸ਼ਨ ਲਈ ਨਿਸ਼ਾਨਬੱਧ ਕੀਤੇ ਗਏ"
 
-#: ../cli.py:869
+#: ../cli.py:1069
 msgid "No Packages marked for Distribution Synchronization"
 msgstr "ਡਿਸਟਰੀਬਿਊਸ਼ਨ ਸਿੰਕਰੋਨਾਈਜ਼ ਕਰਨ ਲਈ ਕੋਈ ਪੈਕੇਜ ਮਾਰਕ ਨਹੀਂ ਕੀਤਾ"
 
-#: ../cli.py:885
+#: ../cli.py:1124
 #, python-format
-msgid "%d packages marked for removal"
-msgstr "ਹਟਾਉਣ ਲਈ %d ਪੈਕੇਜ ਚੁਣੇ ਗਏ"
+msgid "%d package marked for removal"
+msgid_plural "%d packages marked for removal"
+msgstr[0] "ਹਟਾਉਣ ਲਈ ਚੁਣਿਆ %d ਪੈਕੇਜ"
+msgstr[1] "ਹਟਾਉਣ ਲਈ ਚੁਣੇ %d ਪੈਕੇਜ"
 
-#: ../cli.py:888
+#: ../cli.py:1126
 msgid "No Packages marked for removal"
 msgstr "ਹਟਾਉਣ ਲਈ ਕੋਈ ਪੈਕੇਜ ਨਹੀਂ"
 
-#: ../cli.py:913
-msgid "Package(s) to downgrade"
-msgstr "ਡਾਊਨਗਰੇਡ ਕਰਨ ਲਈ ਪੈਕੇਜ"
+#: ../cli.py:1166
+#, python-format
+msgid "%d package to downgrade"
+msgid_plural "%d packages to downgrade"
+msgstr[0] "ਡਾਊਨਗਰੇਡ ਕਰਨ ਲਈ %d ਪੈਕੇਜ"
+msgstr[1] "ਡਾਊਨਗਰੇਡ ਕਰਨ ਲਈ %d ਪੈਕੇਜ"
 
-#: ../cli.py:938
+#: ../cli.py:1207
 #, python-format
 msgid " (from %s)"
 msgstr " (%s ਵਲੋਂ)"
 
-#: ../cli.py:939
+#: ../cli.py:1208
 #, python-format
 msgid "Installed package %s%s%s%s not available."
 msgstr "ਇੰਸਟਾਲ ਹੋਏ ਪੈਕੇਜ %s%s%s%s ਉਪਲੱਬਧ ਨਹੀਂ।"
 
-#: ../cli.py:947
-msgid "Package(s) to reinstall"
-msgstr "ਮੁੜ-ਇੰਸਟਾਲ ਕਰਨ ਲਈ ਪੈਕੇਜ"
+#: ../cli.py:1221
+#, python-format
+msgid "%d package to reinstall"
+msgid_plural "%d packages to reinstall"
+msgstr[0] "ਮੁੜ-ਇੰਸਟਾਲ ਕਰਨ ਲਈ %d ਪੈਕੇਜ"
+msgstr[1] "ਮੁੜ-ਇੰਸਟਾਲ ਕਰਨ ਲਈ %d ਪੈਕੇਜ"
 
-#: ../cli.py:960
+#: ../cli.py:1246
 msgid "No Packages Provided"
 msgstr "ਕੋਈ ਪੈਕੇਜ ਨਹੀਂ ਦਿੰਦਾ"
 
-#: ../cli.py:1058
+#: ../cli.py:1259
+msgid "Package(s) to install"
+msgstr "ਇੰਸਟਾਲ ਕਰਨ ਲਈ ਪੈਕੇਜ"
+
+#: ../cli.py:1367
 #, python-format
 msgid "N/S Matched: %s"
 msgstr ""
 
-#: ../cli.py:1075
+#: ../cli.py:1384
 #, python-format
 msgid "  Name and summary matches %sonly%s, use \"search all\" for everything."
 msgstr ""
 
-#: ../cli.py:1077
+#: ../cli.py:1386
 #, python-format
 msgid ""
 "  Full name and summary matches %sonly%s, use \"search all\" for everything."
 msgstr ""
 
-#: ../cli.py:1095
+#: ../cli.py:1404
 #, python-format
 msgid "Matched: %s"
 msgstr "ਮਿਲਦੇ: %s"
 
-#: ../cli.py:1102
+#: ../cli.py:1411
 #, python-format
 msgid "  Name and summary matches %smostly%s, use \"search all\" for everything."
 msgstr ""
 
-#: ../cli.py:1106
+#: ../cli.py:1415
 #, python-format
 msgid "Warning: No matches found for: %s"
 msgstr "ਚੇਤਾਵਨੀ: %s :ਲਈ ਕੋਈ ਮੇਲ ਨਹੀਂ ਲੱਭਿਆ"
 
-#: ../cli.py:1109
+#: ../cli.py:1418
 msgid "No Matches found"
 msgstr "ਕੋਈ ਮਿਲਦਾ ਨਹੀਂ"
 
-#: ../cli.py:1174
+#: ../cli.py:1536
 #, python-format
-msgid "No Package Found for %s"
-msgstr "%s ਲਈ ਕੋਈ ਪੈਕੇਜ ਨਹੀਂ ਲੱਭਿਆ"
+msgid ""
+"Error: No Packages found for:\n"
+"  %s"
+msgstr "ਗਲਤੀ: ਇਸ ਲਈ ਕੋਈ ਪੈਕੇਜ ਨਹੀਂ ਲੱਭਿਆ:\n  %s"
 
-#: ../cli.py:1184
+#: ../cli.py:1572
 msgid "Cleaning repos: "
 msgstr "ਰੈਪੋ ਸਾਫ਼ ਕੀਤੀਆਂ ਜਾਂਦੀਆਂ ਹਨ: "
 
-#: ../cli.py:1189
+#: ../cli.py:1577
 msgid "Cleaning up Everything"
 msgstr "ਹਰ ਚੀਜ਼ ਸਾਫ਼ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ"
 
-#: ../cli.py:1205
+#: ../cli.py:1593
 msgid "Cleaning up Headers"
 msgstr "ਹੈੱਡਰ ਸਾਫ਼ ਕੀਤੇ ਜਾ ਰਹੇ ਹਨ"
 
-#: ../cli.py:1208
+#: ../cli.py:1596
 msgid "Cleaning up Packages"
 msgstr "ਪੈਕੇਜ ਸਾਫ਼ ਕੀਤੇ ਜਾ ਰਹੇ ਹਨ"
 
-#: ../cli.py:1211
+#: ../cli.py:1599
 msgid "Cleaning up xml metadata"
 msgstr "xml  ਮੇਟਾਡਾਟਾ ਸਾਫ਼ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"
 
-#: ../cli.py:1214
+#: ../cli.py:1602
 msgid "Cleaning up database cache"
 msgstr "ਡਾਟਾਬੇਸ ਕੈਸ਼ ਸਾਫ਼ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ"
 
-#: ../cli.py:1217
+#: ../cli.py:1605
 msgid "Cleaning up expire-cache metadata"
 msgstr "ਐਕਸਪਾਇਰ-ਕੈਸ਼ ਮੇਟਾਡਾਟਾ ਸਾਫ਼ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"
 
-#: ../cli.py:1220
+#: ../cli.py:1608
 msgid "Cleaning up cached rpmdb data"
 msgstr "ਕੈਸ਼ ਕੀਤਾ rpmdb ਡਾਟਾ ਸਾਫ਼ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"
 
-#: ../cli.py:1223
+#: ../cli.py:1611
 msgid "Cleaning up plugins"
 msgstr "ਪਲੱਗਇਨ ਸਾਫ਼ ਕੀਤੀਆਂ ਜਾ ਰਹੀਆਂ ਹਨ"
 
-#: ../cli.py:1247
-#, python-format
-msgid "Warning: No groups match: %s"
-msgstr ""
+#: ../cli.py:1727
+msgid "Installed Environment Groups:"
+msgstr "ਇੰਸਟਾਲ ਹੋਏ ਇੰਵਾਇਨਮੈਂਟ ਗਰੁੱਪ:"
+
+#: ../cli.py:1728
+msgid "Available Environment Groups:"
+msgstr "ਉਪਲੱਬਧ ਇੰਵਾਇਨਮੈਂਟ ਗਰੁੱਪ:"
 
-#: ../cli.py:1264
+#: ../cli.py:1735
 msgid "Installed Groups:"
 msgstr "ਇੰਸਟਾਲ ਹੋਏ ਗਰੁੱਪ:"
 
-#: ../cli.py:1270
+#: ../cli.py:1742
 msgid "Installed Language Groups:"
-msgstr ""
+msgstr "ਇੰਸਟਾਲ ਹੋਏ ਭਾਸ਼ਾ ਗਰੁੱਪ:"
 
-#: ../cli.py:1276
+#: ../cli.py:1749
 msgid "Available Groups:"
 msgstr "ਉਪਲੱਬਧ ਗਰੁੱਪ:"
 
-#: ../cli.py:1282
+#: ../cli.py:1756
 msgid "Available Language Groups:"
+msgstr "ਉਪਲੱਬਧ ਭਾਸ਼ਾ ਗਰੁੱਪ:"
+
+#: ../cli.py:1759
+#, python-format
+msgid "Warning: No Environments/Groups match: %s"
 msgstr ""
 
-#: ../cli.py:1285
+#: ../cli.py:1763
 msgid "Done"
 msgstr "ਮੁਕੰਮਲ"
 
-#: ../cli.py:1296 ../cli.py:1314 ../cli.py:1320 ../yum/__init__.py:3313
+#: ../cli.py:1818
+#, python-format
+msgid "Warning: Group/Environment %s does not exist."
+msgstr ""
+
+#: ../cli.py:1859
+#, python-format
+msgid "Warning: Environment %s does not exist."
+msgstr ""
+
+#: ../cli.py:1873 ../cli.py:1879 ../yum/__init__.py:4254
 #, python-format
 msgid "Warning: Group %s does not exist."
 msgstr "ਚੇਤਾਵਨੀ: ਗਰੁੱਪ %s ਮੌਜੂਦ ਨਹੀਂ ਹੈ।"
 
-#: ../cli.py:1324
+#: ../cli.py:1883
 msgid "No packages in any requested group available to install or update"
 msgstr "ਮੰਗੇ ਗਏ ਗਰੁੱਪ ਵਿੱਚੋਂ ਕੋਈ ਵੀ ਪੈਕੇਜ ਇੰਸਟਾਲ ਜਾਂ ਅੱਪਡੇਟ ਲਈ ਉਪਲੱਬਧ ਨਹੀਂ"
 
-#: ../cli.py:1326
+#: ../cli.py:1885
+#, python-format
+msgid "%d package to Install"
+msgid_plural "%d packages to Install"
+msgstr[0] "ਇੰਸਟਾਲ ਕਰਨ ਲਈ %d ਪੈਕੇਜ"
+msgstr[1] "ਇੰਸਟਾਲ ਕਰਨ ਲਈ %d ਪੈਕੇਜ"
+
+#: ../cli.py:1919 ../yum/__init__.py:3536 ../yum/__init__.py:3766
+#: ../yum/__init__.py:3824
 #, python-format
-msgid "%d Package(s) to Install"
-msgstr "ਇੰਸਟਾਲ ਕਰਨ ਲਈ %d ਪੈਕੇਜ"
+msgid "No Environment named %s exists"
+msgstr "%s ਨਾਂ ਦਾ ਕੋਈ ਵੀ ਇੰਵਾਇਨਮੈਂਟ ਮੌਜੂਦ ਨਹੀਂ ਹੈ"
 
-#: ../cli.py:1336 ../yum/__init__.py:3325
+#: ../cli.py:1935 ../yum/__init__.py:4282
 #, python-format
 msgid "No group named %s exists"
 msgstr "%s ਨਾਂ ਦਾ ਕੋਈ ਗਰੁੱਪ ਮੌਜੂਦ ਨਹੀਂ"
 
-#: ../cli.py:1342
+#: ../cli.py:1945
 msgid "No packages to remove from groups"
 msgstr "ਗਰੁੱਪ ਵਿੱਚੋਂ ਹਟਾਉਣ ਲਈ ਕੋਈ ਪੈਕੇਜ ਨਹੀਂ"
 
-#: ../cli.py:1344
+#: ../cli.py:1947 ../yumcommands.py:3351
 #, python-format
-msgid "%d Package(s) to remove"
-msgstr "ਹਟਾਉਣ ਲਈ %d ਪੈਕੇਜ"
+msgid "%d package to remove"
+msgid_plural "%d packages to remove"
+msgstr[0] "ਹਟਾਉਣ ਲਈ %d ਪੈਕੇਜ"
+msgstr[1] "ਹਟਾਉਣ ਲਈ %d ਪੈਕੇਜ"
 
-#: ../cli.py:1386
+#: ../cli.py:1988
 #, python-format
 msgid "Package %s is already installed, skipping"
 msgstr "%s ਪੈਕੇਜ ਪਹਿਲਾਂ ਹੀ ਇੰਸਟਾਲ ਹੈ, ਛੱਡਿਆ ਜਾ ਰਿਹਾ ਹੈ"
 
-#: ../cli.py:1397
+#: ../cli.py:1999
 #, python-format
 msgid "Discarding non-comparable pkg %s.%s"
-msgstr ""
+msgstr "ਗ਼ੈਰ-ਅਨੁਕੂਲ ਪੈਕੇਜ %s.%s ਅਣਡਿੱਠਾ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"
 
 #. we've not got any installed that match n or n+a
-#: ../cli.py:1423
+#: ../cli.py:2025
 #, python-format
 msgid "No other %s installed, adding to list for potential install"
-msgstr ""
+msgstr "ਕੋਈ ਹੋਰ %s ਇੰਸਟਾਲ ਨਹੀਂ ਹੈ, ਸੰਭਾਵਿਤ ਇੰਸਟਾਲ ਦੀ ਸੂਚੀ ਵਿੱਚ ਜੋੜਿਆ ਜਾ ਰਿਹਾ ਹੈ"
 
-#: ../cli.py:1443
+#: ../cli.py:2045
 msgid "Plugin Options"
 msgstr "ਪਲੱਗਇਨ ਚੋਣਾਂ"
 
-#: ../cli.py:1451
+#: ../cli.py:2057
 #, python-format
 msgid "Command line error: %s"
 msgstr "ਕਮਾਂਡ ਲਾਈਨ ਗਲਤੀ: %s"
 
-#: ../cli.py:1467
+#: ../cli.py:2079
 #, python-format
 msgid ""
 "\n"
 "\n"
 "%s: %s option requires an argument"
-msgstr ""
-"\n"
-"\n"
-"%s:%s ਚੋਣ ਲਈ ਆਰਗੂਮੈਂਟ ਚਾਹੀਦਾ ਹੈ"
+msgstr "\n\n%s:%s ਚੋਣ ਲਈ ਆਰਗੂਮੈਂਟ ਚਾਹੀਦਾ ਹੈ"
 
-#: ../cli.py:1521
+#: ../cli.py:2147
 msgid "--color takes one of: auto, always, never"
-msgstr ""
+msgstr "--color ਇਹਨਾਂ ਵਿੱਚੋੰ ਲੈਂਦਾ ਹੈ: auto, always, never"
 
 #. We have a relative installroot ... haha
-#: ../cli.py:1596
+#: ../cli.py:2218
 #, python-format
 msgid "--installroot must be an absolute path: %s"
 msgstr ""
 
-#: ../cli.py:1642
+#: ../cli.py:2272
 msgid "show this help message and exit"
 msgstr "ਇਹ ਮੱਦਦ ਸੁਨੇਹਾ ਵੇਖਾਉ ਅਤੇ ਬੰਦ ਕਰੋ"
 
-#: ../cli.py:1646
+#: ../cli.py:2276
 msgid "be tolerant of errors"
 msgstr ""
 
-#: ../cli.py:1649
+#: ../cli.py:2279
 msgid "run entirely from system cache, don't update cache"
 msgstr "ਪੂਰੀ ਤਰ੍ਹਾਂ ਸਿਸਟਮ ਕੈਸ਼ ਤੋਂ ਚਲਾਓ, ਕੈਸ਼ ਅੱਪਡੇਟ ਨਾ ਕਰੋ"
 
-#: ../cli.py:1652
+#: ../cli.py:2282
 msgid "config file location"
 msgstr "ਸੰਰਚਨਾ ਫਾਇਲ ਟਿਕਾਣਾ"
 
-#: ../cli.py:1655
+#: ../cli.py:2285
 msgid "maximum command wait time"
 msgstr "ਵੱਧੋ-ਵੱਧ ਕਮਾਂਡ ਉਡੀਕ ਸਮਾਂ"
 
-#: ../cli.py:1657
+#: ../cli.py:2287
 msgid "debugging output level"
 msgstr "ਡੀਬੱਗ ਆਉਟਪੁੱਟ ਲੈਵਲ"
 
-#: ../cli.py:1661
+#: ../cli.py:2291
 msgid "show duplicates, in repos, in list/search commands"
 msgstr "ਡੁਪਲੀਕੇਟ ਵੇਖੋ, ਰਿਪੋ ਵਿੱਚ, ਲਿਸਟ/ਖੋਜ ਕਮਾਂਡ ਵਿੱਚ"
 
-#: ../cli.py:1663
+#: ../cli.py:2296
 msgid "error output level"
 msgstr "ਗਲਤੀ ਆਉਟਪੁੱਟ ਲੈਵਲ"
 
-#: ../cli.py:1666
+#: ../cli.py:2299
 msgid "debugging output level for rpm"
 msgstr "rpm ਲਈ ਡੀਬੱਗ ਆਉਟਪੁੱਟ ਲੈਵਲ"
 
-#: ../cli.py:1669
+#: ../cli.py:2302
 msgid "quiet operation"
 msgstr "ਚੁੱਪ-ਚਾਪ ਕਾਰਵਾਈ"
 
-#: ../cli.py:1671
+#: ../cli.py:2304
 msgid "verbose operation"
 msgstr "ਜਾਣਕਾਰੀ ਸਮੇਤ ਕਾਰਵਾਈ"
 
-#: ../cli.py:1673
+#: ../cli.py:2306
 msgid "answer yes for all questions"
 msgstr "ਸਭ ਸਵਾਲਾਂ ਦੇ ਜਵਾਬ ਹਾਂ"
 
-#: ../cli.py:1675
+#: ../cli.py:2308
+msgid "answer no for all questions"
+msgstr "ਸਭ ਸਵਾਲਾਂ ਲਈ ਨਾਂਹ ਜਵਾਬ"
+
+#: ../cli.py:2312
 msgid "show Yum version and exit"
 msgstr "ਯੱਮ ਵਰਜਨ ਵੇਖਾਓ ਅਤੇ ਬੰਦ ਕਰੋ"
 
-#: ../cli.py:1676
+#: ../cli.py:2313
 msgid "set install root"
 msgstr "install root ਸੈੱਟ ਕਰੋ"
 
-#: ../cli.py:1680
+#: ../cli.py:2317
 msgid "enable one or more repositories (wildcards allowed)"
 msgstr "ਇੱਕ ਜਾਂ ਵੱਧ ਰਿਪੋਜ਼ਟਰੀਆਂ ਚਾਲੂ ਕਰੋ (ਵਾਈਲਡਕਾਰਡ ਮਨਜ਼ੂਰ ਹਨ)"
 
-#: ../cli.py:1684
+#: ../cli.py:2321
 msgid "disable one or more repositories (wildcards allowed)"
 msgstr "ਇੱਕ ਜਾਂ ਵੱਧ ਰਿਪੋਜ਼ਟਰੀਆਂ ਬੰਦ (ਵਾਇਲਡਕਾਰਡ ਮਨਜ਼ੂਰ)"
 
-#: ../cli.py:1687
+#: ../cli.py:2324
 msgid "exclude package(s) by name or glob"
 msgstr ""
 
-#: ../cli.py:1689
+#: ../cli.py:2326
 msgid "disable exclude from main, for a repo or for everything"
 msgstr ""
 
-#: ../cli.py:1692
+#: ../cli.py:2329
 msgid "enable obsoletes processing during updates"
 msgstr "ਅੱਪਡੇਟ ਦੇ ਦੌਰਾਨ ਬਰਤਰਫ਼ ਕਾਰਵਾਈਆਂ ਚਾਲੂ"
 
-#: ../cli.py:1694
+#: ../cli.py:2331
 msgid "disable Yum plugins"
 msgstr "ਯੱਮ ਪਲੱਗਇਨ ਬੰਦ ਕਰੋ"
 
-#: ../cli.py:1696
+#: ../cli.py:2333
 msgid "disable gpg signature checking"
 msgstr "gpg ਦਸਤਖਤ ਚੈੱਕ ਕਰਨਾ ਬੰਦ"
 
-#: ../cli.py:1698
+#: ../cli.py:2335
 msgid "disable plugins by name"
 msgstr "ਨਾਂ ਨਾਲ ਪਲੱਗਇਨ ਬੰਦ ਕਰੋ"
 
-#: ../cli.py:1701
+#: ../cli.py:2338
 msgid "enable plugins by name"
 msgstr "ਪਲੱਗਇਨ ਨਾਂ ਨਾਲ ਚਾਲੂ ਕਰੋ"
 
-#: ../cli.py:1704
+#: ../cli.py:2341
 msgid "skip packages with depsolving problems"
 msgstr "ਨਿਰਭਰਤਾ ਸਮੱਸਿਆਵਾਂ ਵਾਲੇ ਪੈਕੇਜ ਛੱਡ ਦਿਉ"
 
-#: ../cli.py:1706
+#: ../cli.py:2343
 msgid "control whether color is used"
 msgstr "ਕੰਟਰੋਲ ਕਰੋ ਕਿ ਕੀ ਰੰਗ ਵਰਤਣੇ ਹਨ"
 
-#: ../cli.py:1708
+#: ../cli.py:2345
 msgid "set value of $releasever in yum config and repo files"
 msgstr "ਯੱਮ ਸੰਰਚਨਾ ਤੇ ਰਿਪੋ ਫਾਇਲਾਂ 'ਚ $releasever ਦਾ ਮੁੱਲ ਸੈੱਟ ਕਰੋ"
 
-#: ../cli.py:1710
+#: ../cli.py:2347
+msgid "don't update, just download"
+msgstr "ਅੱਪਡੇਟ ਨਾ ਕਰੋ, ਸਿਰਫ਼ ਡਾਊਨਲੋਡ"
+
+#: ../cli.py:2349
+msgid "specifies an alternate directory to store packages"
+msgstr ""
+
+#: ../cli.py:2351
 msgid "set arbitrary config and repo options"
 msgstr ""
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Jan"
 msgstr "ਜਨ"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Feb"
 msgstr "ਫਰ"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Mar"
 msgstr "ਮਾਰ"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Apr"
 msgstr "ਅਪ"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "May"
 msgstr "ਮਈ"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Jun"
 msgstr "ਜੂਨ"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Jul"
 msgstr "ਜੁਲਾ"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Aug"
 msgstr "ਅਗ"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Sep"
 msgstr "ਸਤੰ"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Oct"
 msgstr "ਅਕ"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Nov"
 msgstr "ਨਵੰ"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Dec"
 msgstr "ਦਸੰ"
 
-#: ../output.py:318
+#: ../output.py:473
 msgid "Trying other mirror."
 msgstr "ਹੋਰ ਮਿੱਰਰ ਨਾਲ ਕੋਸ਼ਿਸ਼ ਜਾਰੀ"
 
-#: ../output.py:581
+#: ../output.py:816
 #, python-format
 msgid "Name        : %s%s%s"
 msgstr "ਨਾਂ        : %s%s%s"
 
-#: ../output.py:582
+#: ../output.py:817
 #, python-format
 msgid "Arch        : %s"
 msgstr "ਢਾਂਚਾ        : %s"
 
-#: ../output.py:584
+#: ../output.py:819
 #, python-format
 msgid "Epoch       : %s"
 msgstr "Epoch       : %s"
 
-#: ../output.py:585
+#: ../output.py:820
 #, python-format
 msgid "Version     : %s"
 msgstr "ਵਰਜਨ     : %s"
 
-#: ../output.py:586
+#: ../output.py:821
 #, python-format
 msgid "Release     : %s"
 msgstr "ਰੀਲਿਜ਼     : %s"
 
-#: ../output.py:587
+#: ../output.py:822
 #, python-format
 msgid "Size        : %s"
 msgstr "ਸਾਈਜ਼       : %s"
 
-#: ../output.py:588 ../output.py:900
+#: ../output.py:823 ../output.py:1329
 #, python-format
 msgid "Repo        : %s"
 msgstr "ਰਿਪੋ        : %s"
 
-#: ../output.py:590
+#: ../output.py:825
 #, python-format
 msgid "From repo   : %s"
 msgstr "ਰਿਪੋ ਤੋਂ   : %s"
 
-#: ../output.py:592
+#: ../output.py:827
 #, python-format
 msgid "Committer   : %s"
 msgstr "ਕਮਿੱਟਰ   : %s"
 
-#: ../output.py:593
+#: ../output.py:828
 #, python-format
 msgid "Committime  : %s"
 msgstr "ਕਮਿਟ-ਸਮਾਂ  : %s"
 
-#: ../output.py:594
+#: ../output.py:829
 #, python-format
 msgid "Buildtime   : %s"
 msgstr "ਬਿਲਡ ਸਮਾਂ   : %s"
 
-#: ../output.py:596
+#: ../output.py:831
 #, python-format
 msgid "Install time: %s"
 msgstr "ਇੰਸਟਾਲ ਸਮਾਂ: %s"
 
-#: ../output.py:604
+#: ../output.py:839
 #, python-format
 msgid "Installed by: %s"
 msgstr "ਇੰਸਟਾਲ ਇਸ ਵਲੋਂ: %s"
 
-#: ../output.py:611
+#: ../output.py:846
 #, python-format
 msgid "Changed by  : %s"
 msgstr "ਇਸ ਵਲੋਂ ਬਦਲਿਆ  : %s"
 
-#: ../output.py:612
+#: ../output.py:847
 msgid "Summary     : "
 msgstr "ਸੰਖੇਪ   : "
 
-#: ../output.py:614 ../output.py:913
+#: ../output.py:849 ../output.py:1345
 #, python-format
 msgid "URL         : %s"
 msgstr "URL         : %s"
 
-#: ../output.py:615
+#: ../output.py:850
 msgid "License     : "
 msgstr "ਲਾਈਸੈਂਸ    : "
 
-#: ../output.py:616 ../output.py:910
+#: ../output.py:851 ../output.py:1342
 msgid "Description : "
 msgstr "ਵੇਰਵਾ: "
 
-#: ../output.py:684
+#: ../output.py:969
 msgid "y"
 msgstr "y"
 
-#: ../output.py:684
+#: ../output.py:969
 msgid "yes"
 msgstr "yes"
 
-#: ../output.py:685
+#: ../output.py:970
 msgid "n"
 msgstr "n"
 
-#: ../output.py:685
+#: ../output.py:970
 msgid "no"
 msgstr "no"
 
-#: ../output.py:689
+#: ../output.py:974
 msgid "Is this ok [y/N]: "
 msgstr "ਕੀ ਇਹ ਠੀਕ ਹੈ [y/N]: "
 
-#: ../output.py:777
+#: ../output.py:1097
 #, python-format
 msgid ""
 "\n"
 "Group: %s"
-msgstr ""
-"\n"
-"ਗਰੁੱਪ: %s"
+msgstr "\nਗਰੁੱਪ: %s"
 
-#: ../output.py:781
+#: ../output.py:1101
 #, python-format
 msgid " Group-Id: %s"
 msgstr " ਗਰੁੱਪ-Id: %s"
 
-#: ../output.py:786
+#: ../output.py:1122 ../output.py:1169
 #, python-format
 msgid " Description: %s"
 msgstr " ਵੇਰਵਾ: %s"
 
-#: ../output.py:788
+#: ../output.py:1124
 #, python-format
 msgid " Language: %s"
-msgstr ""
+msgstr " ਭਾਸ਼ਾ: %s"
 
-#: ../output.py:790
+#: ../output.py:1126
 msgid " Mandatory Packages:"
 msgstr " ਲਾਜ਼ਮੀ ਪੈਕੇਜ:"
 
-#: ../output.py:791
+#: ../output.py:1127
 msgid " Default Packages:"
 msgstr " ਡਿਫਾਲਟ ਪੈਕੇਜ:"
 
-#: ../output.py:792
+#: ../output.py:1128
 msgid " Optional Packages:"
 msgstr " ਚੋਣਵੇਂ ਪੈਕੇਜ:"
 
-#: ../output.py:793
+#: ../output.py:1129
 msgid " Conditional Packages:"
 msgstr " ਸ਼ਰਤੀਆ ਪੈਕੇਜ:"
 
-#: ../output.py:814
+#: ../output.py:1147
+msgid " Installed Packages:"
+msgstr "ਇੰਸਟਾਲ ਹੋਏ ਪੈਕੇਜ:"
+
+#: ../output.py:1157
+#, python-format
+msgid ""
+"\n"
+"Environment Group: %s"
+msgstr "\nਇੰਵਾਇਨਮੈਂਟ ਗਰੁੱਪ: %s"
+
+#: ../output.py:1158
+#, python-format
+msgid " Environment-Id: %s"
+msgstr "ਇੰਨਵਾਇਨਮੈਂਟ-Id: %s"
+
+#: ../output.py:1191
+msgid " Mandatory Groups:"
+msgstr "ਲਾਜ਼ਮੀ ਗਰੁੱਪ:"
+
+#: ../output.py:1192
+msgid " Optional Groups:"
+msgstr "ਚੋਣਵੇਂ ਗਰੁੱਪ:"
+
+#: ../output.py:1205
+msgid " Installed Groups:"
+msgstr "ਇੰਸਟਾਲ ਹੋਏ ਗਰੁੱਪ:"
+
+#: ../output.py:1217
 #, python-format
 msgid "package: %s"
 msgstr "ਪੈਕੇਜ: %s"
 
-#: ../output.py:816
+#: ../output.py:1219
 msgid "  No dependencies for this package"
 msgstr " ਇਹ ਪੈਕੇਜ ਲਈ ਕੋਈ ਨਿਰਭਰਤਾ ਨਹੀਂ ਹੈ"
 
-#: ../output.py:821
+#: ../output.py:1224
 #, python-format
 msgid "  dependency: %s"
 msgstr " ਨਿਰਭਰਤਾ: %s"
 
-#: ../output.py:823
+#: ../output.py:1226
 msgid "   Unsatisfied dependency"
 msgstr " ਨਾ-ਹੱਲ ਹੋਈ ਨਿਰਭਰਤਾ"
 
-#: ../output.py:901
+#: ../output.py:1337
 msgid "Matched from:"
 msgstr "ਇਸ ਤੋਂ ਮੇਲ:"
 
-#: ../output.py:916
+#: ../output.py:1348
 #, python-format
 msgid "License     : %s"
 msgstr "ਲਾਈਸੈਂਸ     : %s"
 
-#: ../output.py:919
+#: ../output.py:1351
 #, python-format
 msgid "Filename    : %s"
 msgstr "ਫਾਇਲ ਨਾਂ    : %s"
 
-#: ../output.py:923
+#: ../output.py:1360
+msgid "Provides    : "
+msgstr "ਦਿੰਦਾ ਹੈ     : "
+
+#: ../output.py:1363
 msgid "Other       : "
 msgstr "ਹੋਰ       : "
 
-#: ../output.py:966
+#: ../output.py:1426
 msgid "There was an error calculating total download size"
 msgstr "ਕੁੱਲ ਡਾਊਨਲੋਡ ਆਕਾਰ ਲੱਭਣ ਦੌਰਾਨ ਗਲਤੀ"
 
-#: ../output.py:971
+#: ../output.py:1431
 #, python-format
 msgid "Total size: %s"
 msgstr "ਕੁੱਲ ਸਾਈਜ਼: %s"
 
-#: ../output.py:974
+#: ../output.py:1433
 #, python-format
 msgid "Total download size: %s"
 msgstr "ਕੁੱਲ ਡਾਊਨਲੋਡ ਸਾਈਜ਼: %s"
 
-#: ../output.py:978 ../output.py:998
+#: ../output.py:1436 ../output.py:1459 ../output.py:1463
 #, python-format
 msgid "Installed size: %s"
 msgstr "ਇੰਸਟਾਲ ਦਾ ਸਾਈਜ਼: %s"
 
-#: ../output.py:994
+#: ../output.py:1454
 msgid "There was an error calculating installed size"
 msgstr "ਇੰਸਟਾਲ ਆਕਾਰ ਗਿਣਨ ਦੌਰਾਨ ਗਲਤੀ"
 
-#: ../output.py:1039
+#: ../output.py:1504
 msgid "Reinstalling"
 msgstr "ਮੁੜ-ਇੰਸਟਾਲ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"
 
-#: ../output.py:1040
+#: ../output.py:1505
 msgid "Downgrading"
 msgstr "ਡਾਊਨਗਰੇਡ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"
 
-#: ../output.py:1041
+#: ../output.py:1506
 msgid "Installing for dependencies"
 msgstr "ਨਿਰਭਰਤਾ ਲਈ ਇੰਸਟਾਲ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"
 
-#: ../output.py:1042
+#: ../output.py:1507
 msgid "Updating for dependencies"
 msgstr "ਨਿਰਭਰਤਾ ਲਈ ਅੱਪਡੇਟ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"
 
-#: ../output.py:1043
+#: ../output.py:1508
 msgid "Removing for dependencies"
 msgstr "ਨਿਰਭਰਤਾ ਲਈ ਹਟਾਇਆ ਜਾ ਰਿਹਾ ਹੈ"
 
-#: ../output.py:1050 ../output.py:1171
+#: ../output.py:1515 ../output.py:1576 ../output.py:1672
 msgid "Skipped (dependency problems)"
 msgstr "ਛੱਡਿਆ ਜਾ ਰਿਹਾ ਹੈ (ਨਿਰਭਰਤਾ ਸਮੱਸਿਆ)"
 
-#: ../output.py:1052 ../output.py:1687
+#: ../output.py:1517 ../output.py:1577 ../output.py:2223
 msgid "Not installed"
 msgstr "ਇੰਸਟਾਲ ਨਹੀਂ"
 
-#: ../output.py:1053
+#: ../output.py:1518 ../output.py:1578
 msgid "Not available"
-msgstr ""
+msgstr "ਉਪਲੱਬਧ ਨਹੀਂ"
 
-#: ../output.py:1075 ../output.py:2024
+#: ../output.py:1540 ../output.py:1588 ../output.py:1604 ../output.py:2581
 msgid "Package"
-msgstr "ਪੈਕੇਜ"
+msgid_plural "Packages"
+msgstr[0] ""
+msgstr[1] "ਪੈਕੇਜ"
 
-#: ../output.py:1075
+#: ../output.py:1540
 msgid "Arch"
 msgstr "ਢਾਂਚਾ"
 
-#: ../output.py:1076
+#: ../output.py:1541
 msgid "Version"
 msgstr "ਵਰਜਨ"
 
-#: ../output.py:1076
+#: ../output.py:1541
 msgid "Repository"
 msgstr "ਰਿਪੋਜ਼ਟਰੀ"
 
-#: ../output.py:1077
+#: ../output.py:1542
 msgid "Size"
 msgstr "ਸਾਈਜ਼"
 
-#: ../output.py:1089
+#: ../output.py:1554
 #, python-format
 msgid "     replacing  %s%s%s.%s %s\n"
 msgstr "     %s%s%s.%s %s  ਨੂੰ ਬਦਲਿਆ ਜਾ ਰਿਹਾ ਹੈ\n"
 
-#: ../output.py:1098
+#: ../output.py:1563
 #, python-format
 msgid ""
 "\n"
 "Transaction Summary\n"
 "%s\n"
-msgstr ""
-"\n"
-"ਟਰਾਂਸੈਕਸ਼ਨ ਸੰਖੇਪ ਜਾਣਕਾਰੀ\n"
-"%s\n"
+msgstr "\nਟਰਾਂਸੈਕਸ਼ਨ ਸੰਖੇਪ ਜਾਣਕਾਰੀ\n%s\n"
 
-#: ../output.py:1109
-#, python-format
-msgid "Install   %5.5s Package(s)\n"
-msgstr "ਇੰਸਟਾਲ %5.5s ਪੈਕੇਜ\n"
+#: ../output.py:1568 ../output.py:2376 ../output.py:2377
+msgid "Install"
+msgstr "ਇੰਸਟਾਲ"
 
-#: ../output.py:1113
-#, python-format
-msgid "Upgrade   %5.5s Package(s)\n"
-msgstr "ਅੱਪਗਰੇਡ   %5.5s ਪੈਕੇਜ\n"
+#: ../output.py:1570
+msgid "Upgrade"
+msgstr "ਅੱਪਗਰੇਡ"
 
-#: ../output.py:1117
-#, python-format
-msgid "Remove    %5.5s Package(s)\n"
-msgstr "ਹਟਾਉਣੇ    %5.5s ਪੈਕੇਜ\n"
+#: ../output.py:1572
+msgid "Remove"
+msgstr "ਹਟਾਓ"
 
-#: ../output.py:1121
-#, python-format
-msgid "Reinstall %5.5s Package(s)\n"
-msgstr "ਮੁੜ-ਇੰਸਟਾਲ %5.5s ਪੈਕੇਜ\n"
+#: ../output.py:1574 ../output.py:2382
+msgid "Reinstall"
+msgstr "ਮੁੜ-ਇੰਸਟਾਲ"
 
-#: ../output.py:1125
-#, python-format
-msgid "Downgrade %5.5s Package(s)\n"
-msgstr "ਡਾਊਨਗਰੇਡ %5.5s ਪੈਕੇਜ\n"
+#: ../output.py:1575 ../output.py:2383
+msgid "Downgrade"
+msgstr "ਡਾਊਨਗਰੇਡ"
 
-#: ../output.py:1165
+#: ../output.py:1606
+msgid "Dependent package"
+msgid_plural "Dependent packages"
+msgstr[0] "ਨਿਰਭਰ ਪੈਕੇਜ"
+msgstr[1] "ਨਿਰਭਰ ਪੈਕੇਜ"
+
+#: ../output.py:1666
 msgid "Removed"
 msgstr "ਹਟਾਏ"
 
-#: ../output.py:1166
+#: ../output.py:1667
 msgid "Dependency Removed"
 msgstr "ਨਿਰਭਰਤਾ ਹਟਾਈ"
 
-#: ../output.py:1168
+#: ../output.py:1669
 msgid "Dependency Installed"
 msgstr "ਨਿਰਭਰਤਾ ਇੰਸਟਾਲ ਕੀਤੀ"
 
-#: ../output.py:1170
+#: ../output.py:1671
 msgid "Dependency Updated"
 msgstr "ਨਿਰਭਰਤਾ ਅੱਪਡੇਟ ਕੀਤੀ"
 
-#: ../output.py:1172
+#: ../output.py:1673
 msgid "Replaced"
 msgstr "ਬਦਲੇ ਗਏ"
 
-#: ../output.py:1173
+#: ../output.py:1674
 msgid "Failed"
 msgstr "ਫੇਲ੍ਹ ਹੋਏ"
 
 #. Delta between C-c's so we treat as exit
-#: ../output.py:1260
+#: ../output.py:1764
 msgid "two"
 msgstr "ਦੋ"
 
 #. For translators: This is output like:
 #. Current download cancelled, interrupt (ctrl-c) again within two seconds
 #. to exit.
-#. Where "interupt (ctrl-c) again" and "two" are highlighted.
-#: ../output.py:1271
+#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
+#: ../output.py:1775
 #, python-format
 msgid ""
 "\n"
 " Current download cancelled, %sinterrupt (ctrl-c) again%s within %s%s%s seconds\n"
 "to exit.\n"
-msgstr ""
-"\n"
-" ਮੌਜੂਦਾ ਡਾਊਨਲੋਡ ਰੱਦ ਕੀਤਾ ਗਿਆ, ਬੰਦ ਕਰਨ ਲਈ %sinterrupt (ctrl-c) %s %s%s%s ਸਕਿੰਟ ਵਿੱਚ\n"
-"ਦਬਾਉ\n"
+msgstr "\n ਮੌਜੂਦਾ ਡਾਊਨਲੋਡ ਰੱਦ ਕੀਤਾ ਗਿਆ, ਬੰਦ ਕਰਨ ਲਈ %sinterrupt (ctrl-c) %s %s%s%s ਸਕਿੰਟ ਵਿੱਚ\nਦਬਾਉ\n"
 
-#: ../output.py:1282
+#: ../output.py:1786
 msgid "user interrupt"
 msgstr "ਯੂਜ਼ਰ ਵਲੋਂ ਦਖ਼ਲ"
 
-#: ../output.py:1300
+#: ../output.py:1812
 msgid "Total"
 msgstr "ਕੁੱਲ"
 
-#: ../output.py:1322
+#: ../output.py:1834
 msgid "I"
 msgstr "I"
 
-#: ../output.py:1323
+#: ../output.py:1835
 msgid "O"
 msgstr "O"
 
-#: ../output.py:1324
+#: ../output.py:1836
 msgid "E"
 msgstr "E"
 
-#: ../output.py:1325
+#: ../output.py:1837
 msgid "R"
 msgstr "R"
 
-#: ../output.py:1326
+#: ../output.py:1838
 msgid "D"
 msgstr "D"
 
-#: ../output.py:1327
+#: ../output.py:1839
 msgid "U"
 msgstr "U"
 
-#: ../output.py:1341
+#: ../output.py:1853
 msgid "<unset>"
 msgstr "<ਅਣ-ਸੈੱਟ>"
 
-#: ../output.py:1342
+#: ../output.py:1854
 msgid "System"
 msgstr "ਸਿਸਟਮ"
 
-#: ../output.py:1411
+#: ../output.py:1923
 #, python-format
 msgid "Skipping merged transaction %d to %d, as it overlaps"
 msgstr ""
 
-#: ../output.py:1421 ../output.py:1592
+#: ../output.py:1933 ../output.py:2125
 msgid "No transactions"
-msgstr ""
+msgstr "ਕੋਈ ਟਰਾਂਸੈਕਸ਼ਨ ਨਹੀਂ"
 
-#: ../output.py:1446 ../output.py:2013
+#: ../output.py:1958 ../output.py:2570 ../output.py:2660
 msgid "Bad transaction IDs, or package(s), given"
 msgstr "ਖ਼ਰਾਬ ਟਰਾਂਸੈਕਸ਼ਨ ID, ਜਾਂ ਪੈਕੇਜ ਦਿੱਤਾ"
 
-#: ../output.py:1484
+#: ../output.py:2007
 msgid "Command line"
-msgstr ""
+msgstr "ਕਮਾਂਡ ਲਾਈਨ"
 
-#: ../output.py:1486 ../output.py:1908
+#: ../output.py:2009 ../output.py:2458
 msgid "Login user"
 msgstr "ਲਾਗਇਨ ਯੂਜ਼ਰ"
 
 #. REALLY Needs to use columns!
-#: ../output.py:1487 ../output.py:2022
+#: ../output.py:2010 ../output.py:2579
 msgid "ID"
 msgstr "ID"
 
-#: ../output.py:1489
+#: ../output.py:2012
 msgid "Date and time"
 msgstr "ਮਿਤੀ ਅਤੇ ਸਮਾਂ"
 
-#: ../output.py:1490 ../output.py:1910 ../output.py:2023
+#: ../output.py:2013 ../output.py:2460 ../output.py:2580
 msgid "Action(s)"
 msgstr "ਐਕਸ਼ਨ"
 
-#: ../output.py:1491 ../output.py:1911
+#: ../output.py:2014 ../output.py:2461
 msgid "Altered"
 msgstr "ਬਦਲੇ"
 
-#: ../output.py:1538
+#: ../output.py:2061
 msgid "No transaction ID given"
 msgstr "ਕੋਈ ਟਰਾਂਸੈਕਸ਼ਨ ID ਦਿੱਤਾ"
 
-#: ../output.py:1564 ../output.py:1972
+#: ../output.py:2087 ../output.py:2526
 msgid "Bad transaction ID given"
 msgstr "ਖ਼ਰਾਬ ਟਰਾਂਸੈਕਸ਼ਨ ID ਦਿੱਤਾ"
 
-#: ../output.py:1569
+#: ../output.py:2092
 msgid "Not found given transaction ID"
 msgstr "ਦਿੱਤਾ ਟਰਾਂਸੈਕਸ਼ਨ ID ਨਹੀਂ ਲੱਭਿਆ"
 
-#: ../output.py:1577
+#: ../output.py:2100
 msgid "Found more than one transaction ID!"
 msgstr "ਇੱਕ ਤੋਂ ਵੱਧ ਟਰਾਂਸੈਕਸ਼ਨ ID ਲੱਭਿਆ!"
 
-#: ../output.py:1618 ../output.py:1980
+#: ../output.py:2151 ../output.py:2534
 msgid "No transaction ID, or package, given"
 msgstr "ਕੋਈ ਟਰਾਂਸੈਕਸ਼ਨ ID, ਜਾਂ ਪੈਕੇਜ ਨਹੀਂ ਦਿੱਤਾ"
 
-#: ../output.py:1686 ../output.py:1845
+#: ../output.py:2222 ../output.py:2384
 msgid "Downgraded"
 msgstr "ਡਾਊਨਗਰੇਡ ਕੀਤੇ"
 
-#: ../output.py:1688
+#: ../output.py:2224
 msgid "Older"
 msgstr "ਪੁਰਾਣੇ"
 
-#: ../output.py:1688
+#: ../output.py:2224
 msgid "Newer"
 msgstr "ਨਵੇਂ"
 
-#: ../output.py:1724 ../output.py:1726
+#: ../output.py:2261 ../output.py:2263 ../output.py:2681
 msgid "Transaction ID :"
 msgstr "ਟਰਾਂਸੈਕਸ਼ਨ ID:"
 
-#: ../output.py:1728
+#: ../output.py:2265 ../output.py:2683
 msgid "Begin time     :"
 msgstr "ਸ਼ੁਰੂ ਸਮਾਂ   :"
 
-#: ../output.py:1731 ../output.py:1733
+#: ../output.py:2268 ../output.py:2270
 msgid "Begin rpmdb    :"
 msgstr "rpmdb ਸ਼ੁਰੂ    :"
 
-#: ../output.py:1749
+#: ../output.py:2286
 #, python-format
 msgid "(%u seconds)"
-msgstr ""
+msgstr "(%u ਸਕਿੰਟ)"
 
-#: ../output.py:1751
+#: ../output.py:2288
 #, python-format
 msgid "(%u minutes)"
-msgstr ""
+msgstr "(%u ਮਿੰਟ)"
 
-#: ../output.py:1753
+#: ../output.py:2290
 #, python-format
 msgid "(%u hours)"
-msgstr ""
+msgstr "(%u ਘੰਟੇ)"
 
-#: ../output.py:1755
+#: ../output.py:2292
 #, python-format
 msgid "(%u days)"
-msgstr ""
+msgstr "(%u ਦਿਨ)"
 
-#: ../output.py:1756
+#: ../output.py:2293
 msgid "End time       :"
 msgstr "ਅੰਤ ਸਮਾਂ       :"
 
-#: ../output.py:1759 ../output.py:1761
+#: ../output.py:2296 ../output.py:2298
 msgid "End rpmdb      :"
 msgstr "rpmdb ਅੰਤ      :"
 
-#: ../output.py:1764 ../output.py:1766
+#: ../output.py:2301 ../output.py:2303
 msgid "User           :"
 msgstr "ਯੂਜ਼ਰ           :"
 
-#: ../output.py:1770 ../output.py:1773 ../output.py:1775 ../output.py:1777
-#: ../output.py:1779
+#: ../output.py:2307 ../output.py:2310 ../output.py:2312 ../output.py:2314
+#: ../output.py:2316
 msgid "Return-Code    :"
 msgstr "ਰੀਟਰਨ-ਕੋਡ  :"
 
-#: ../output.py:1770 ../output.py:1775
+#: ../output.py:2307 ../output.py:2312
 msgid "Aborted"
 msgstr "ਅਧੂਰਾ ਛੱਡਿਆ"
 
-#: ../output.py:1773
+#: ../output.py:2310
 msgid "Failures:"
-msgstr ""
+msgstr "ਫੇਲ੍ਹ:"
 
-#: ../output.py:1777
+#: ../output.py:2314
 msgid "Failure:"
 msgstr "ਫੇਲ੍ਹ:"
 
-#: ../output.py:1779
+#: ../output.py:2316
 msgid "Success"
 msgstr "ਸਫ਼ਲ"
 
-#: ../output.py:1784 ../output.py:1786
+#: ../output.py:2321 ../output.py:2323 ../output.py:2712
 msgid "Command Line   :"
 msgstr "ਕਮਾਂਡ ਲਾਈਨ  :"
 
-#: ../output.py:1795
+#: ../output.py:2332
 #, python-format
 msgid "Additional non-default information stored: %d"
-msgstr ""
+msgstr "ਵਾਧੂ ਗ਼ੈਰ-ਡਿਫਾਲਟ ਜਾਣਕਾਰੀ ਸੰਭਾਲੀ: %d"
 
 #. This is _possible_, but not common
-#: ../output.py:1800
+#: ../output.py:2337
 msgid "Transaction performed with:"
 msgstr "ਟਰਾਂਸੈਕਸ਼ਨ ਕੀਤੀ ਗਈ ਇਸ ਨਾਲ:"
 
-#: ../output.py:1804
+#: ../output.py:2341
 msgid "Packages Altered:"
 msgstr "ਪੈਕੇਜ ਬਦਲੇ:"
 
-#: ../output.py:1808
+#: ../output.py:2345
 msgid "Packages Skipped:"
 msgstr "ਪੈਕੇਜ ਛੱਡੇ ਗਏ:"
 
-#: ../output.py:1814
+#: ../output.py:2353
 msgid "Rpmdb Problems:"
 msgstr "Rpmdb ਸਮੱਸਿਆਵਾਂ:"
 
-#: ../output.py:1825
+#: ../output.py:2364
 msgid "Scriptlet output:"
 msgstr "Scriptlet ਆਉਟਪੁੱਟ:"
 
-#: ../output.py:1831
+#: ../output.py:2370
 msgid "Errors:"
 msgstr "ਗਲਤੀਆਂ:"
 
-#: ../output.py:1837 ../output.py:1838
-msgid "Install"
-msgstr "ਇੰਸਟਾਲ"
-
-#: ../output.py:1839
+#: ../output.py:2378
 msgid "Dep-Install"
 msgstr "ਨਿਰਭ-ਇੰਸਟਾਲ"
 
-#: ../output.py:1841
+#: ../output.py:2380
 msgid "Obsoleting"
 msgstr "ਬਰਤਰਫ਼ ਕੀਤੇ"
 
-#: ../output.py:1842
+#: ../output.py:2381
 msgid "Erase"
 msgstr "ਸਾਫ਼"
 
-#: ../output.py:1843
-msgid "Reinstall"
-msgstr "ਮੁੜ-ਇੰਸਟਾਲ"
-
-#: ../output.py:1844
-msgid "Downgrade"
-msgstr "ਡਾਊਨਗਰੇਡ"
-
-#: ../output.py:1846
+#: ../output.py:2385
 msgid "Update"
 msgstr "ਅੱਪਡੇਟ"
 
-#: ../output.py:1909
+#: ../output.py:2459
 msgid "Time"
 msgstr "ਸਮਾਂ"
 
-#: ../output.py:1935
+#: ../output.py:2485
 msgid "Last day"
 msgstr "ਪਿਛਲੇ ਦਿਨ"
 
-#: ../output.py:1936
+#: ../output.py:2486
 msgid "Last week"
 msgstr "ਪਿਛਲੇ ਹਫ਼ਤੇ"
 
-#: ../output.py:1937
+#: ../output.py:2487
 msgid "Last 2 weeks"
 msgstr "ਪਿਛਲੇ ੨ ਹਫ਼ਤੇ"
 
 #. US default :p
-#: ../output.py:1938
+#: ../output.py:2488
 msgid "Last 3 months"
 msgstr "ਪਿਛਲੇ ੩ ਮਹੀਨੇ"
 
-#: ../output.py:1939
+#: ../output.py:2489
 msgid "Last 6 months"
 msgstr "ਪਿਛਲੇ ੬ ਮਹੀਨੇ"
 
-#: ../output.py:1940
+#: ../output.py:2490
 msgid "Last year"
 msgstr "ਪਿਛਲੇ ਸਾਲ"
 
-#: ../output.py:1941
+#: ../output.py:2491
 msgid "Over a year ago"
 msgstr "ਲਗਭਗ ਸਾਲ ਪਹਿਲਾਂ"
 
-#: ../output.py:1984
+#: ../output.py:2538
 #, python-format
 msgid "No Transaction %s found"
 msgstr "ਕੋਈ ਟਰਾਂਸੈਕਸ਼ਨ %s ਨਹੀਂ ਲੱਭੀ"
 
-#: ../output.py:1990
+#: ../output.py:2544
 msgid "Transaction ID:"
 msgstr "ਟਰਾਂਸੈਕਸ਼ਨ ID:"
 
-#: ../output.py:1991
+#: ../output.py:2545
 msgid "Available additional history information:"
 msgstr "ਉਪਲੱਬਧ ਹੋਰ ਅਤੀਤ ਜਾਣਕਾਰੀ:"
 
-#: ../output.py:2003
+#: ../output.py:2558
 #, python-format
 msgid "%s: No additional data found by this name"
 msgstr "%s: ਇਸ ਨਾਂ ਨਾਲ ਕੋਈ ਹੋਰ ਵਾਧੂ ਡਾਟਾ ਨਹੀਂ ਲੱਭਿਆ"
 
-#: ../output.py:2106
+#: ../output.py:2684
+msgid "Package        :"
+msgstr "ਪੈਕੇਜ        :"
+
+#: ../output.py:2685
+msgid "State          :"
+msgstr "ਹਾਲਤ          :"
+
+#: ../output.py:2688
+msgid "Size           :"
+msgstr "ਆਕਾਰ           :"
+
+#: ../output.py:2690
+msgid "Build host     :"
+msgstr "ਬਿਲਡ ਹੋਸਟ     :"
+
+#: ../output.py:2693
+msgid "Build time     :"
+msgstr "ਬਿਲਡ ਸਮਾਂ     :"
+
+#: ../output.py:2695
+msgid "Packager       :"
+msgstr "ਪੈਕੇਜਰ       :"
+
+#: ../output.py:2697
+msgid "Vendor         :"
+msgstr "ਵੈਂਡਰ         :"
+
+#: ../output.py:2699
+msgid "License        :"
+msgstr "ਲਾਈਸੈਂਸ        :"
+
+#: ../output.py:2701
+msgid "URL            :"
+msgstr "URL            :"
+
+#: ../output.py:2703
+msgid "Source RPM     :"
+msgstr "ਸਰੋਤ RPM     :"
+
+#: ../output.py:2706
+msgid "Commit Time    :"
+msgstr "ਕਮਿਟ ਸਮਾਂ    :"
+
+#: ../output.py:2708
+msgid "Committer      :"
+msgstr "ਕਮਿਟ ਕਰਨ ਵਾਲੇ      :"
+
+#: ../output.py:2710
+msgid "Reason         :"
+msgstr "ਕਾਰਨ         :"
+
+#: ../output.py:2714
+msgid "From repo      :"
+msgstr "ਰੈਪੋ ਤੋਂ      :"
+
+#: ../output.py:2718
+msgid "Installed by   :"
+msgstr "ਇੰਸਟਾਲ ਕੀਤਾ ਤੋਂ   :"
+
+#: ../output.py:2722
+msgid "Changed by     :"
+msgstr "ਵਲੋਂ ਬਦਲਿਆ     :"
+
+#: ../output.py:2767
 msgid "installed"
 msgstr "ਇੰਸਟਾਲ ਕੀਤੇ"
 
-#: ../output.py:2107
+#: ../output.py:2768
 msgid "an update"
-msgstr ""
+msgstr "ਇੱਕ ਅੱਪਡੇਟ"
 
-#: ../output.py:2108
+#: ../output.py:2769
 msgid "erased"
 msgstr "ਸਾਫ਼ ਕੀਤੇ"
 
-#: ../output.py:2109
+#: ../output.py:2770
 msgid "reinstalled"
 msgstr "ਮੁੜ-ਇੰਸਟਾਲ ਕੀਤੇ"
 
-#: ../output.py:2110
+#: ../output.py:2771
 msgid "a downgrade"
-msgstr ""
+msgstr "ਡਾਊਨਗਰੇਡ"
 
-#: ../output.py:2111
+#: ../output.py:2772
 msgid "obsoleting"
-msgstr ""
+msgstr "ਬਰਤਰਫ਼ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"
 
-#: ../output.py:2112
+#: ../output.py:2773
 msgid "updated"
 msgstr "ਅੱਪਡੇਟ ਕੀਤੇ"
 
-#: ../output.py:2113
+#: ../output.py:2774
 msgid "obsoleted"
 msgstr "ਬਰਤਰਫ਼ ਕੀਤੇ"
 
-#: ../output.py:2117
+#: ../output.py:2778
 #, python-format
 msgid "---> Package %s.%s %s:%s-%s will be %s"
-msgstr ""
+msgstr "---> ਪੈਕੇਜ %s.%s %s:%s-%s ਹੋਵੇਗਾ %s"
 
-#: ../output.py:2124
+#: ../output.py:2789
 msgid "--> Running transaction check"
 msgstr "--> ਟਰਾਂਸੈਕਸ਼ਨ ਚੈੱਕ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"
 
-#: ../output.py:2129
+#: ../output.py:2795
 msgid "--> Restarting Dependency Resolution with new changes."
 msgstr "--> ਨਵੇਂ ਬਦਲਾਅ ਨਾਲ ਨਿਰਭਰਤਾ ਹੱਲ਼ ਲਈ ਮੁੜ-ਚਾਲੂ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ।"
 
-#: ../output.py:2134
+#: ../output.py:2801
 msgid "--> Finished Dependency Resolution"
 msgstr "--> ਨਿਰਭਰਤਾ ਹੱਲ ਮੁਕੰਮਲ ਹੋਇਆ"
 
-#: ../output.py:2139 ../output.py:2144
+#: ../output.py:2814 ../output.py:2827
 #, python-format
 msgid "--> Processing Dependency: %s for package: %s"
 msgstr "--> ਨਿਰਭਰਤਾ ਲਈ ਕਾਰਵਾਈ ਜਾਰੀ: %s ਪੈਕੇਜ ਲਈ: %s"
 
-#: ../output.py:2149
+#: ../output.py:2841
 #, python-format
-msgid "---> Keeping package: %s"
-msgstr "---> ਪੈਕੇਜ ਰੱਖਿਆ ਜਾਂਦਾ ਹੈ: %s"
+msgid "---> Keeping package: %s due to %s"
+msgstr "---> ਪੈਕੇਜ ਰੱਖਿਆ ਜਾ ਰਿਹਾ ਹੈ: %s ਨੂੰ %s ਦੇ ਕਰਕੇ"
 
-#: ../output.py:2152
+#: ../output.py:2850
 #, python-format
 msgid "--> Unresolved Dependency: %s"
 msgstr "-->  ਨਾ-ਹੱਲ਼ ਹੋਈ ਨਿਰਭਰਤਾ: %s"
 
-#: ../output.py:2163
+#: ../output.py:2867
 #, python-format
 msgid "Package: %s"
 msgstr "ਪੈਕੇਜ: %s"
 
-#: ../output.py:2165
+#: ../output.py:2869
 #, python-format
 msgid ""
 "\n"
 "    Requires: %s"
-msgstr ""
-"\n"
-"    ਚਾਹੀਦਾ ਹੈ: %s"
+msgstr "\n    ਚਾਹੀਦਾ ਹੈ: %s"
 
-#: ../output.py:2174
+#: ../output.py:2878
 #, python-format
 msgid ""
 "\n"
 "    %s: %s (%s)"
-msgstr ""
-"\n"
-"    %s: %s (%s)"
+msgstr "\n    %s: %s (%s)"
 
-#: ../output.py:2179
+#: ../output.py:2883
 #, python-format
 msgid ""
 "\n"
 "        %s"
-msgstr ""
-"\n"
-"        %s"
+msgstr "\n        %s"
 
-#: ../output.py:2181
+#: ../output.py:2885
 msgid ""
 "\n"
 "        Not found"
-msgstr ""
-"\n"
-"        ਨਹੀਂ ਲੱਭਾ"
+msgstr "\n        ਨਹੀਂ ਲੱਭਾ"
 
 #. These should be the only three things we care about:
-#: ../output.py:2196
+#: ../output.py:2900
 msgid "Updated By"
 msgstr "ਅੱਪਡੇਟ ਕੀਤਾ"
 
-#: ../output.py:2197
+#: ../output.py:2901
 msgid "Downgraded By"
 msgstr "ਡਾਊਨਗਰੇਡ ਕੀਤਾ"
 
-#: ../output.py:2198
+#: ../output.py:2902
 msgid "Obsoleted By"
 msgstr "ਬਰਤਰਫ਼ ਕੀਤਾ"
 
-#: ../output.py:2216
+#: ../output.py:2920
 msgid "Available"
 msgstr "ਉਪਲੱਬਧ"
 
-#: ../output.py:2243 ../output.py:2248
+#: ../output.py:2955 ../output.py:2968
 #, python-format
 msgid "--> Processing Conflict: %s conflicts %s"
 msgstr "--> ਅਪਵਾਦ ਹੱਲ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ: %s ਦਾ %s ਨਾਲ ਟਕਰਾ"
 
-#: ../output.py:2252
+#: ../output.py:2974
 msgid "--> Populating transaction set with selected packages. Please wait."
-msgstr ""
-"--> ਚੁਣੇ ਪੈਕੇਜਾਂ ਲਈ ਟਰਾਂਸੈਕਸ਼ਨ ਸੈੱਟ ਪਾਪੂਲੇਟ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ। ਉਡੀਕੋ ਜੀ।"
+msgstr "--> ਚੁਣੇ ਪੈਕੇਜਾਂ ਲਈ ਟਰਾਂਸੈਕਸ਼ਨ ਸੈੱਟ ਪਾਪੂਲੇਟ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ। ਉਡੀਕੋ ਜੀ।"
 
-#: ../output.py:2256
+#: ../output.py:2983
 #, python-format
 msgid "---> Downloading header for %s to pack into transaction set."
-msgstr ""
-"---> ਟਰਾਂਸੈਕਸ਼ਨ ਸੈੱਟ 'ਚ ਪੈਕ ਕਰਨ ਲਈ %s ਵਾਸਤੇ ਹੈੱਡਰ ਡਾਊਨਲੋਡ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ।"
+msgstr "---> ਟਰਾਂਸੈਕਸ਼ਨ ਸੈੱਟ 'ਚ ਪੈਕ ਕਰਨ ਲਈ %s ਵਾਸਤੇ ਹੈੱਡਰ ਡਾਊਨਲੋਡ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ।"
+
+#. self.event(txmbr.name, count, len(base.tsInfo), count, )
+#. (te_current*100L)/te_total
+#: ../output.py:3248
+msgid "Verifying"
+msgstr "ਜਾਂਚਿਆ ਜਾ ਰਿਹਾ ਹੈ"
 
-#: ../utils.py:99
+#: ../utils.py:123
 msgid "Running"
 msgstr "ਚੱਲ ਰਿਹਾ ਹੈ"
 
-#: ../utils.py:100
+#: ../utils.py:124
 msgid "Sleeping"
 msgstr "ਸਲੀਪਿੰਗ"
 
-#: ../utils.py:101
+#: ../utils.py:125
 msgid "Uninterruptible"
 msgstr "ਗ਼ੈਰ-ਰੁਕਾਵਟ-ਯੋਗ"
 
-#: ../utils.py:102
+#: ../utils.py:126
 msgid "Zombie"
 msgstr "ਜੋਮਬਿਈ"
 
-#: ../utils.py:103
+#: ../utils.py:127
 msgid "Traced/Stopped"
 msgstr "ਟਰੇਸ ਕੀਤਾ/ਰੋਕਿਆ"
 
-#: ../utils.py:104 ../yumcommands.py:994
+#: ../utils.py:128 ../yumcommands.py:2193
 msgid "Unknown"
 msgstr "ਅਣਜਾਣ"
 
-#: ../utils.py:115
+#: ../utils.py:153
 msgid "  The other application is: PackageKit"
 msgstr " ਹੋਰ ਐਪਲੀਕੇਸ਼ਨ ਹੈ: ਪੈਕੇਜਕਿੱਟ"
 
-#: ../utils.py:117
+#: ../utils.py:155
 #, python-format
 msgid "  The other application is: %s"
 msgstr " ਹੋਰ ਐਪਲੀਕੇਸ਼ਨ ਹੈ: %s"
 
-#: ../utils.py:120
+#: ../utils.py:158
 #, python-format
 msgid "    Memory : %5s RSS (%5sB VSZ)"
 msgstr "    ਮੈਮੋਰੀ : %5s RSS (%5sB VSZ)"
 
-#: ../utils.py:125
+#: ../utils.py:163
 #, python-format
 msgid "    Started: %s - %s ago"
 msgstr "    ਸ਼ੁਰੂ ਹੋਇਆ: %s - %s ਪਹਿਲਾਂ"
 
-#: ../utils.py:127
+#: ../utils.py:165
 #, python-format
 msgid "    State  : %s, pid: %d"
 msgstr "    ਹਾਲਤ  : %s, pid: %d"
 
-#: ../utils.py:170 ../yummain.py:43
+#: ../utils.py:194 ../yummain.py:43
 msgid ""
 "\n"
 "\n"
 "Exiting on user cancel"
-msgstr ""
-"\n"
-"\n"
-"ਯੂਜ਼ਰ ਰੱਦ ਕਰਨ ਉੱਤੇ ਮੌਜੂਦ"
+msgstr "\n\nਯੂਜ਼ਰ ਰੱਦ ਕਰਨ ਉੱਤੇ ਮੌਜੂਦ"
 
-#: ../utils.py:176 ../yummain.py:49
+#: ../utils.py:206 ../yummain.py:49
 msgid ""
 "\n"
 "\n"
 "Exiting on Broken Pipe"
-msgstr ""
-"\n"
-"\n"
-"ਖਰਾਬ ਪਾਈਪ ਉੱਤੇ ਬੰਦ"
+msgstr "\n\nਖਰਾਬ ਪਾਈਪ ਉੱਤੇ ਬੰਦ"
 
-#: ../utils.py:178 ../yummain.py:51
+#: ../utils.py:208 ../yummain.py:51
 #, python-format
 msgid ""
 "\n"
 "\n"
 "%s"
-msgstr ""
-"\n"
-"\n"
-"%s"
-
-#: ../utils.py:228 ../yummain.py:123
-msgid ""
-"Another app is currently holding the yum lock; exiting as configured by "
-"exit_on_lock"
-msgstr ""
-"ਹਾਲੇ ਕੋਈ ਹੋਰ ਐਪਲੀਕੇਸ਼ਨ ਯੱਮ ਲਾਕ ਵਰਤ ਰਹੀ ਹੈ;  exit_on_lock ਵਲੋਂ ਸੰਰਚਨਾ ਮੁਤਾਬਕ "
-"ਬੰਦ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"
+msgstr "\n\n%s"
 
-#: ../utils.py:287
+#: ../utils.py:326
 #, python-format
 msgid "PluginExit Error: %s"
 msgstr "PluginExit ਗਲਤੀ: %s"
 
-#: ../utils.py:290
+#: ../utils.py:329
 #, python-format
 msgid "Yum Error: %s"
 msgstr "ਯੱਮ ਗਲਤੀ: %s"
 
-#: ../utils.py:342 ../yummain.py:150 ../yummain.py:189
+#: ../utils.py:387 ../yummain.py:147 ../yummain.py:186
 #, python-format
 msgid "Error: %s"
 msgstr "ਗਲਤੀ: %s"
 
-#: ../utils.py:346 ../yummain.py:194
+#: ../utils.py:391 ../yummain.py:191
 msgid " You could try using --skip-broken to work around the problem"
 msgstr " ਤੁਸੀਂ ਸਮੱਸਿਆ ਨਾਲ ਨਿਪਟ ਲਈ --skip-broken ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਕੰਮ ਚਲਾ ਸਕਦੇ ਹੋ"
 
-#: ../utils.py:348 ../yummain.py:87
+#: ../utils.py:393 ../yummain.py:87
 msgid " You could try running: rpm -Va --nofiles --nodigest"
 msgstr " ਤੁਹਾਨੂੰ ਚਲਾਉਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰ ਸਕਦੇ ਹੋ: rpm -Va --nofiles --nodigest"
 
-#: ../utils.py:355 ../yummain.py:160 ../yummain.py:202
+#: ../utils.py:400 ../yummain.py:157 ../yummain.py:199
 #, python-format
 msgid "Unknown Error(s): Exit Code: %d:"
 msgstr "ਅਣਜਾਣ ਗਲਤੀ: ਬੰਦ ਕਰੋ: %d:"
 
-#: ../utils.py:361 ../yummain.py:208
+#: ../utils.py:406 ../yummain.py:205
 msgid ""
 "\n"
 "Dependencies Resolved"
-msgstr ""
-"\n"
-"ਨਿਰਭਰਤਾ ਹੱਲ਼ ਹੋਈ"
+msgstr "\nਨਿਰਭਰਤਾ ਹੱਲ਼ ਹੋਈ"
 
-#: ../utils.py:376 ../yummain.py:234
+#: ../utils.py:422 ../yummain.py:237
 msgid "Complete!"
 msgstr "ਮੁਕੰਮਲ!"
 
 #: ../yumcommands.py:42
 msgid " Mini usage:\n"
-msgstr ""
+msgstr " ਮਿੰਨੀ ਵਰਤੋਂ:\n"
 
 #: ../yumcommands.py:52
 msgid "You need to be root to perform this command."
 msgstr "ਤੁਹਾਨੂੰ ਇਹ ਕਾਰਵਾਈ ਕਰਨ ਲਈ ਰੂਟ (root) ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ।"
 
-#: ../yumcommands.py:59
+#: ../yumcommands.py:67
 msgid ""
 "\n"
 "You have enabled checking of packages via GPG keys. This is a good thing. \n"
@@ -1528,566 +1668,648 @@ msgid ""
 "For more information contact your distribution or package provider.\n"
 msgstr ""
 
-#: ../yumcommands.py:74
+#: ../yumcommands.py:82
 #, python-format
 msgid "Problem repository: %s"
-msgstr ""
+msgstr "ਰਿਪੋਜ਼ਟਰੀ ਸਮੱਸਿਆ: %s"
 
-#: ../yumcommands.py:80
+#: ../yumcommands.py:96
 #, python-format
 msgid "Error: Need to pass a list of pkgs to %s"
+msgstr "ਗਲਤੀ: %s ਨੂੰ ਪੈਕੇਜ ਲਿਸਟ ਦੇਣ ਦੀ ਲੋੜ ਹੈ"
+
+#: ../yumcommands.py:114
+#, python-format
+msgid "Error: Need at least two packages to %s"
+msgstr ""
+
+#: ../yumcommands.py:129
+#, python-format
+msgid "Error: Need to pass a repoid. and command to %s"
 msgstr ""
 
-#: ../yumcommands.py:86
+#: ../yumcommands.py:136 ../yumcommands.py:142
+#, python-format
+msgid "Error: Need to pass a single valid repoid. to %s"
+msgstr ""
+
+#: ../yumcommands.py:147
+#, python-format
+msgid "Error: Repo %s is not enabled"
+msgstr "ਗਲਤੀ: ਰਿਪੋ %s ਚਾਲੂ ਨਹੀਂ ਹੈ"
+
+#: ../yumcommands.py:164
 msgid "Error: Need an item to match"
 msgstr "ਗਲਤੀ: ਮਿਲਦੀ ਆਈਟਮ ਦੀ ਲੋੜ ਹੈ"
 
-#: ../yumcommands.py:92
+#: ../yumcommands.py:178
 msgid "Error: Need a group or list of groups"
 msgstr "ਗਲਤੀ: ਗਰੁੱਪ ਜਾਂ ਗਰੁੱਪਾਂ ਦੀ ਲਿਸਟ ਦੀ ਲੋੜ ਹੈ"
 
-#: ../yumcommands.py:101
+#: ../yumcommands.py:195
 #, python-format
 msgid "Error: clean requires an option: %s"
 msgstr "ਗਲਤੀ: ਸਾਫ਼ ਕਰਨ (clean) ਲਈ ਕੋਈ ਚੋਣ ਦਿੱਤੀ ਜਾਣੀ ਚਾਹੀਦੀ ਹੈ: %s"
 
-#: ../yumcommands.py:106
+#: ../yumcommands.py:201
 #, python-format
 msgid "Error: invalid clean argument: %r"
 msgstr "ਗਲਤੀ: ਗਲਤ clean ਆਰਗੂਮੈਂਟ: %r"
 
-#: ../yumcommands.py:119
+#: ../yumcommands.py:216
 msgid "No argument to shell"
 msgstr "ਸ਼ੈੱਲ ਲਈ ਕੋਈ ਆਰਗੂਮੈਂਟ ਨਹੀਂ"
 
-#: ../yumcommands.py:121
+#: ../yumcommands.py:218
 #, python-format
 msgid "Filename passed to shell: %s"
 msgstr "ਸ਼ੈੱਲ ਨੂੰ ਦੇਣ ਲਈ ਫਾਇਲ ਨਾਂ: %s"
 
-#: ../yumcommands.py:125
+#: ../yumcommands.py:222
 #, python-format
 msgid "File %s given as argument to shell does not exist."
-msgstr ""
+msgstr "ਫਾਇਲ %s ਨੇ ਨਾ-ਮੌਜੂਦ ਸ਼ੈੱਲ ਲਈ ਇੱਕ ਆਰਗੂਮੈਂਟ ਦਿੱਤਾ"
 
-#: ../yumcommands.py:131
+#: ../yumcommands.py:228
 msgid "Error: more than one file given as argument to shell."
 msgstr ""
 
-#: ../yumcommands.py:148
+#: ../yumcommands.py:247
 msgid ""
 "There are no enabled repos.\n"
 " Run \"yum repolist all\" to see the repos you have.\n"
 " You can enable repos with yum-config-manager --enable <repo>"
-msgstr ""
+msgstr "ਕੋਈ ਵੀ ਚਾਲੂ ਰੈਪੋ ਨਹੀਂ ਹੈ।\nਆਪਣੀਆਂ ਰੈਪੋ ਨੂੰ ਵੇਖਣ ਲਈ \"yum repolist all\" ਚਲਾਉ।\nਤੁਸੀਂ ਰੈਪੋ ਨੂੰ yum-config-manager --enable <repo> ਨੂੰ ਚਾਲੂ ਕਰ ਸਕਦੇ ਹੋ।"
 
-#: ../yumcommands.py:200
+#: ../yumcommands.py:383
 msgid "PACKAGE..."
 msgstr "ਪੈਕੇਜ..."
 
-#: ../yumcommands.py:203
+#: ../yumcommands.py:390
 msgid "Install a package or packages on your system"
 msgstr "ਆਪਣੇ ਸਿਸਟਮ ਉੱਤੇ ਪੈਕੇਜ ਇੰਸਟਾਲ ਕਰੋ"
 
-#: ../yumcommands.py:212
+#: ../yumcommands.py:421
 msgid "Setting up Install Process"
 msgstr "ਇੰਸਟਾਲ ਕਾਰਵਾਈ ਸੈੱਟ ਅੱਪ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ"
 
-#: ../yumcommands.py:223 ../yumcommands.py:245
+#: ../yumcommands.py:447 ../yumcommands.py:507
 msgid "[PACKAGE...]"
 msgstr "[ਪੈਕੇਜ...]"
 
-#: ../yumcommands.py:226
+#: ../yumcommands.py:454
 msgid "Update a package or packages on your system"
 msgstr "ਆਪਣੇ ਸਿਸਟਮ ਉੱਤੇ ਪੈਕੇਜ ਅੱਪਡੇਟ ਕਰੋ"
 
-#: ../yumcommands.py:234
+#: ../yumcommands.py:483
 msgid "Setting up Update Process"
 msgstr "ਅੱਪਡੇਟ ਕਾਰਵਾਈ ਸੈੱਟਅੱਪ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ"
 
-#: ../yumcommands.py:248
+#: ../yumcommands.py:514
 msgid "Synchronize installed packages to the latest available versions"
-msgstr ""
-"ਸਭ ਇੰਸਟਾਲ ਕੀਤੇ ਪੈਕੇਜਾਂ ਨੂੰ ਸਭ ਤੋਂ ਨਵੇਂ ਉਪਲੱਬਧ ਵਰਜਨਾਂ ਨਾਲ ਸਿੰਕਰੋਨਾਈਜ਼ ਕਰੋ"
+msgstr "ਸਭ ਇੰਸਟਾਲ ਕੀਤੇ ਪੈਕੇਜਾਂ ਨੂੰ ਸਭ ਤੋਂ ਨਵੇਂ ਉਪਲੱਬਧ ਵਰਜਨਾਂ ਨਾਲ ਸਿੰਕਰੋਨਾਈਜ਼ ਕਰੋ"
 
-#: ../yumcommands.py:256
+#: ../yumcommands.py:543
 msgid "Setting up Distribution Synchronization Process"
 msgstr "ਡਿਸਟਰੀਬਿਊਸ਼ਨ ਸਿੰਕਰੋਨਾਈਜ਼ ਕਾਰਵਾਈ ਸੈਟਅੱਪ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ"
 
-#: ../yumcommands.py:299
+#: ../yumcommands.py:603
 msgid "Display details about a package or group of packages"
 msgstr "ਪੈਕੇਜ ਜਾਂ ਪੈਕੇਜਾਂ ਦੇ ਗਰੁੱਪ ਬਾਰੇ ਵੇਰਵੇ ਸਮੇਤ ਜਾਣਕਾਰੀ ਵੇਖੋ"
 
-#: ../yumcommands.py:348
+#: ../yumcommands.py:672
 msgid "Installed Packages"
 msgstr "ਇੰਸਟਾਲ ਹੋਏ ਪੈਕੇਜ"
 
-#: ../yumcommands.py:356
+#: ../yumcommands.py:682
 msgid "Available Packages"
 msgstr "ਉਪਲੱਬਧ ਪੈਕੇਜ"
 
-#: ../yumcommands.py:360
+#: ../yumcommands.py:687
 msgid "Extra Packages"
 msgstr "ਵਾਧੂ ਪੈਕੇਜ"
 
-#: ../yumcommands.py:364
+#: ../yumcommands.py:691
 msgid "Updated Packages"
 msgstr "ਅੱਪਡੇਟ ਕੀਤੇ ਪੈਕੇਜ"
 
 #. This only happens in verbose mode
-#: ../yumcommands.py:372 ../yumcommands.py:379 ../yumcommands.py:667
+#: ../yumcommands.py:699 ../yumcommands.py:706 ../yumcommands.py:1539
 msgid "Obsoleting Packages"
 msgstr "ਬਰਤਰਫ਼ ਕੀਤੇ ਜਾ ਰਹੇ ਪੈਕੇਜ"
 
-#: ../yumcommands.py:381
+#: ../yumcommands.py:708
 msgid "Recently Added Packages"
 msgstr "ਤਾਜ਼ਾ ਸ਼ਾਮਲ ਕੀਤੇ ਪੈਕੇਜ"
 
-#: ../yumcommands.py:388
+#: ../yumcommands.py:715
 msgid "No matching Packages to list"
 msgstr "ਲਿਸਟ ਲਈ ਕੋਈ ਮਿਲਦਾ ਪੈਕੇਜ ਨਹੀਂ"
 
-#: ../yumcommands.py:402
+#: ../yumcommands.py:766
 msgid "List a package or groups of packages"
 msgstr "ਪੈਕੇਜ ਜਾਂ ਪੈਕੇਜਾਂ ਦੇ ਗਰੁੱਪ ਦੀ ਲਿਸਟ"
 
-#: ../yumcommands.py:414
+#: ../yumcommands.py:797
 msgid "Remove a package or packages from your system"
 msgstr "ਆਪਣੇ ਸਿਸਟਮ ਤੋਂ ਪੈਕੇਜ ਹਟਾਓ"
 
-#: ../yumcommands.py:421
+#: ../yumcommands.py:845
 msgid "Setting up Remove Process"
 msgstr "ਹਟਾਉਣ ਕਾਰਵਾਈ ਲਈ ਸੈਟਅੱਪ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"
 
-#: ../yumcommands.py:435
+#: ../yumcommands.py:906
+msgid "Display, or use, the groups information"
+msgstr "ਵੇਖਾਓ ਜਾਂ ਵਰਤੋਂ, ਗਰੁੱਪ ਜਾਣਕਾਰੀ"
+
+#: ../yumcommands.py:909
 msgid "Setting up Group Process"
 msgstr "ਗਰੁੱਪ ਕਾਰਵਾਈ ਸੈਟਅੱਪ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ"
 
-#: ../yumcommands.py:441
+#: ../yumcommands.py:915
 msgid "No Groups on which to run command"
 msgstr "ਕੋਈ ਗਰੁੱਪ ਨਹੀਂ, ਜਿਸ ਉੱਤੇ ਕਮਾਂਡ ਚਲਾਈ ਜਾ ਸਕੇ"
 
-#: ../yumcommands.py:454
-msgid "List available package groups"
-msgstr "ਉਪਲੱਬਧ ਪੈਕੇਜ ਗਰੁੱਪਾਂ ਦੀ ਲਿਸਟ"
-
-#: ../yumcommands.py:474
-msgid "Install the packages in a group on your system"
-msgstr "ਆਪਣੇ ਸਿਸਟਮ ਉੱਤੇ ਗਰੁੱਪ ਵਿੱਚੋਂ ਪੈਕੇਜ ਇੰਸਟਾਲ ਕਰੋ"
+#: ../yumcommands.py:985
+#, python-format
+msgid "Invalid groups sub-command, use: %s."
+msgstr ""
 
-#: ../yumcommands.py:497
-msgid "Remove the packages in a group from your system"
-msgstr "ਆਪਣੇ ਸਿਸਟਮ ਤੋਂ ਗਰੁੱਪ ਵਿੱਚੋਂ ਪੈਕੇਜ ਹਟਾਓ"
+#: ../yumcommands.py:992
+msgid "There is no installed groups file."
+msgstr "ਕੋਈ ਵੀ ਇੰਸਟਾਲ ਹੋਈ ਗਰੁੱਪ ਫਾਇਲ ਨਹੀਂ ਹੈ"
 
-#: ../yumcommands.py:525
-msgid "Display details about a package group"
-msgstr "ਪੈਕੇਜ ਗਰੁੱਪ ਬਾਰੇ ਵੇਰਵੇ ਸਮੇਤ ਜਾਣਕਾਰੀ ਵੇਖੋ"
+#: ../yumcommands.py:994
+msgid "You don't have access to the groups DB."
+msgstr ""
 
-#: ../yumcommands.py:550
+#: ../yumcommands.py:1256
 msgid "Generate the metadata cache"
 msgstr "ਮੇਟਾਡਾਟਾ ਕੈਸ਼ ਤਿਆਰ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ"
 
-#: ../yumcommands.py:556
+#: ../yumcommands.py:1282
 msgid "Making cache files for all metadata files."
 msgstr "ਸਭ ਮੇਟਾਡਾਟਾ ਫਾਇਲਾਂ ਲਈ ਕੈਸ਼ ਫਾਇਲਾਂ ਬਣਾਈਆਂ ਜਾ ਰਹੀਆਂ ਹਨ।"
 
-#: ../yumcommands.py:557
+#: ../yumcommands.py:1283
 msgid "This may take a while depending on the speed of this computer"
 msgstr "ਇਹ ਤੁਹਾਡੇ ਕੰਪਿਊਟਰ ਦੀ ਸਪੀਡ ਦੇ ਮੁਤਾਬਕ ਕੁਝ ਸਮਾਂ ਲੈ ਸਕਦਾ ਹੈ।"
 
-#: ../yumcommands.py:578
+#: ../yumcommands.py:1312
 msgid "Metadata Cache Created"
 msgstr "ਮੇਟਾਡਾਟਾ ਕੈਸ਼ ਬਣਾਈ ਗਈ"
 
-#: ../yumcommands.py:592
+#: ../yumcommands.py:1350
 msgid "Remove cached data"
 msgstr "ਕੈਸ਼ ਡਾਟਾ ਹਟਾਓ"
 
-#: ../yumcommands.py:613
+#: ../yumcommands.py:1417
 msgid "Find what package provides the given value"
 msgstr "ਲੱਭੋ ਕਿ ਕਿਹੜਾ ਪੈਕੇਜ ਦਿੱਤਾ ਮੁੱਲ ਦਿੰਦਾ ਹੈ"
 
-#: ../yumcommands.py:633
+#: ../yumcommands.py:1485
 msgid "Check for available package updates"
 msgstr "ਉਪਲੱਬਧ ਪੈਕੇਜ ਅੱਪਡੇਟ ਲਈ ਚੈੱਕ"
 
-#: ../yumcommands.py:687
+#: ../yumcommands.py:1587
 msgid "Search package details for the given string"
 msgstr "ਦਿੱਤੀ ਲਾਈਨ ਲਈ ਪੈਕੇਜ ਵੇਰਵਾ ਲੱਭੋ"
 
-#: ../yumcommands.py:693
+#: ../yumcommands.py:1613
 msgid "Searching Packages: "
 msgstr "ਪੈਕੇਜਾਂ ਲਈ ਖੋਜ ਜਾਰੀ: "
 
-#: ../yumcommands.py:710
+#: ../yumcommands.py:1666
 msgid "Update packages taking obsoletes into account"
 msgstr "ਪੈਕੇਜ ਅੱਪਡੇਟ ਕਰਨ ਲਈ ਬਰਤਰਫ਼ ਨੂੰ ਧਿਆਨ 'ਚ ਰੱਖਿਆ ਜਾ ਰਿਹਾ ਹੈ"
 
-#: ../yumcommands.py:719
+#: ../yumcommands.py:1696
 msgid "Setting up Upgrade Process"
 msgstr "ਅੱਪਗਰੇਡ ਕਰਾਵਾਈ ਸੈੱਟਅੱਪ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ"
 
-#: ../yumcommands.py:737
+#: ../yumcommands.py:1731
 msgid "Install a local RPM"
 msgstr "ਲੋਕਲ RPM ਇੰਸਟਾਲ ਕਰੋ"
 
-#: ../yumcommands.py:745
+#: ../yumcommands.py:1761
 msgid "Setting up Local Package Process"
 msgstr "ਲੋਕਲ ਪੈਕੇਜ ਕਾਰਵਾਈ ਲਈ ਸੈੱਟਅੱਪ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"
 
-#: ../yumcommands.py:764
-msgid "Determine which package provides the given dependency"
-msgstr "ਦੱਸੋ ਕਿ ਕਿਹੜਾ ਪੈਕੇਜ ਦਿੱਤੀ ਨਿਰਭਰਤਾ ਦਿੰਦਾ ਹੈ"
-
-#: ../yumcommands.py:767
+#: ../yumcommands.py:1825
 msgid "Searching Packages for Dependency:"
 msgstr "ਨਿਰਭਰਤਾ ਲਈ ਪੈਕੇਜਾਂ ਦੀ ਖੋਜ ਜਾਰੀ:"
 
-#: ../yumcommands.py:781
+#: ../yumcommands.py:1867
 msgid "Run an interactive yum shell"
 msgstr "ਇੰਟਰ-ਐਕਟਿਵ ਯੱਮ ਸ਼ੈੱਲ ਚਲਾਓ"
 
-#: ../yumcommands.py:787
+#: ../yumcommands.py:1893
 msgid "Setting up Yum Shell"
 msgstr "ਯੱਮ ਸ਼ੈੱਲ ਸੈੱਟਅੱਪ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ"
 
-#: ../yumcommands.py:805
+#: ../yumcommands.py:1936
 msgid "List a package's dependencies"
 msgstr "ਪੈਕੇਜਾਂ ਦੀ ਨਿਰਭਰਤਾ ਦੀ ਲਿਸਟ"
 
-#: ../yumcommands.py:811
+#: ../yumcommands.py:1963
 msgid "Finding dependencies: "
 msgstr "ਨਿਰਭਰਤਾ ਲੱਭੀ ਜਾ ਰਹੀ ਹੈ: "
 
-#: ../yumcommands.py:827
+#: ../yumcommands.py:2005
 msgid "Display the configured software repositories"
 msgstr "ਸੰਰਚਿਤ ਸਾਫਟਵੇਅਰ ਰਿਪੋਜ਼ਟਰੀਆਂ ਵੇਖੋ"
 
-#: ../yumcommands.py:893 ../yumcommands.py:894
+#: ../yumcommands.py:2094 ../yumcommands.py:2095
 msgid "enabled"
 msgstr "ਚਾਲੂ"
 
-#: ../yumcommands.py:920 ../yumcommands.py:921
+#: ../yumcommands.py:2121 ../yumcommands.py:2122
 msgid "disabled"
 msgstr "ਬੰਦ"
 
-#: ../yumcommands.py:937
+#: ../yumcommands.py:2137
 msgid "Repo-id      : "
 msgstr "ਰਿਪੋ-id      : "
 
-#: ../yumcommands.py:938
+#: ../yumcommands.py:2138
 msgid "Repo-name    : "
 msgstr "ਰਿਪੋ-ਨਾਂ    : "
 
-#: ../yumcommands.py:941
+#: ../yumcommands.py:2141
 msgid "Repo-status  : "
 msgstr "ਰਿਪੋ-ਹਾਲਤ : "
 
-#: ../yumcommands.py:944
+#: ../yumcommands.py:2144
 msgid "Repo-revision: "
 msgstr "ਰਿਪੋ-ਰੀਵਿਜ਼ਨ: "
 
-#: ../yumcommands.py:948
+#: ../yumcommands.py:2148
 msgid "Repo-tags    : "
 msgstr "ਰਿਪੋ-ਟੈਗ    : "
 
-#: ../yumcommands.py:954
+#: ../yumcommands.py:2154
 msgid "Repo-distro-tags: "
 msgstr "Repo-distro-tags: "
 
-#: ../yumcommands.py:959
+#: ../yumcommands.py:2159
 msgid "Repo-updated : "
 msgstr "ਰਿਪੋ-ਅੱਪਡੇਟ : "
 
-#: ../yumcommands.py:961
+#: ../yumcommands.py:2161
 msgid "Repo-pkgs    : "
 msgstr "ਰਿਪੋ-ਪੈਕੇਜ    : "
 
-#: ../yumcommands.py:962
+#: ../yumcommands.py:2162
 msgid "Repo-size    : "
 msgstr "ਰਿਪੋ-ਸਾਈਜ਼     : "
 
-#: ../yumcommands.py:969 ../yumcommands.py:990
+#: ../yumcommands.py:2169 ../yumcommands.py:2190
 msgid "Repo-baseurl : "
 msgstr "ਰਿਪੋ-baseurl : "
 
-#: ../yumcommands.py:977
+#: ../yumcommands.py:2177
 msgid "Repo-metalink: "
 msgstr "ਰਿਪੋ-metalink: "
 
-#: ../yumcommands.py:981
+#: ../yumcommands.py:2181
 msgid "  Updated    : "
 msgstr "  ਅੱਪਡੇਟ   : "
 
-#: ../yumcommands.py:984
+#: ../yumcommands.py:2184
 msgid "Repo-mirrors : "
 msgstr "ਰਿਪੋ-mirrors : "
 
-#: ../yumcommands.py:1000
+#: ../yumcommands.py:2199
 #, python-format
 msgid "Never (last: %s)"
 msgstr "ਕਦੇ ਨਹੀਂ (ਆਖਰੀ: %s)"
 
-#: ../yumcommands.py:1002
+#: ../yumcommands.py:2201
 #, python-format
 msgid "Instant (last: %s)"
-msgstr ""
+msgstr "ਮੌਕਾ (ਪਿਛਲਾ: %s)"
 
-#: ../yumcommands.py:1005
+#: ../yumcommands.py:2204
 #, python-format
 msgid "%s second(s) (last: %s)"
 msgstr "%s ਸਕਿੰਟ (ਆਖਰੀ: %s)"
 
-#: ../yumcommands.py:1007
+#: ../yumcommands.py:2206
 msgid "Repo-expire  : "
 msgstr "ਰਿਪੋ-expire  : "
 
-#: ../yumcommands.py:1010
+#: ../yumcommands.py:2209
 msgid "Repo-exclude : "
 msgstr "Repo-ਨਾ-ਸ਼ਾਮਲ : "
 
-#: ../yumcommands.py:1014
+#: ../yumcommands.py:2213
 msgid "Repo-include : "
 msgstr "Repo-ਸ਼ਾਮਲ : "
 
-#: ../yumcommands.py:1018
+#: ../yumcommands.py:2217
 msgid "Repo-excluded: "
-msgstr ""
+msgstr "ਵੱਖ ਰੱਖੀ ਗਈ ਰਿਪੋ: "
 
-#: ../yumcommands.py:1022
+#: ../yumcommands.py:2221
 msgid "Repo-filename: "
-msgstr ""
+msgstr "ਰਿਪੋ-ਫਾਇਲਨਾਂ:"
 
 #. Work out the first (id) and last (enabled/disalbed/count),
 #. then chop the middle (name)...
-#: ../yumcommands.py:1032 ../yumcommands.py:1061
+#: ../yumcommands.py:2230 ../yumcommands.py:2259
 msgid "repo id"
 msgstr "repo id"
 
-#: ../yumcommands.py:1049 ../yumcommands.py:1050 ../yumcommands.py:1068
+#: ../yumcommands.py:2247 ../yumcommands.py:2248 ../yumcommands.py:2266
 msgid "status"
 msgstr "ਹਾਲਤ"
 
-#: ../yumcommands.py:1062
+#: ../yumcommands.py:2260
 msgid "repo name"
 msgstr "ਰਿਪੋ ਨਾਂ"
 
-#: ../yumcommands.py:1099
+#: ../yumcommands.py:2332
 msgid "Display a helpful usage message"
-msgstr ""
+msgstr "ਮੱਦਦਗਾਰ ਸੁਨੇਹਾ ਵੇਖਾਉ"
 
-#: ../yumcommands.py:1133
+#: ../yumcommands.py:2374
 #, python-format
 msgid "No help available for %s"
 msgstr "%s ਲਈ ਕੋਈ ਮੱਦਦ ਉਪਲੱਬਧ ਨਹੀਂ"
 
-#: ../yumcommands.py:1138
+#: ../yumcommands.py:2379
 msgid ""
 "\n"
 "\n"
 "aliases: "
-msgstr ""
-"\n"
-"\n"
-"ਏਲੀਆਸ: "
+msgstr "\n\nਏਲੀਆਸ: "
 
-#: ../yumcommands.py:1140
+#: ../yumcommands.py:2381
 msgid ""
 "\n"
 "\n"
 "alias: "
-msgstr ""
-"\n"
-"\n"
-"ਏਲੀਆਸ: "
+msgstr "\n\nਏਲੀਆਸ: "
 
-#: ../yumcommands.py:1168
+#: ../yumcommands.py:2466
 msgid "Setting up Reinstall Process"
 msgstr "ਮੁੜ-ਇੰਸਟਾਲ ਕਾਰਵਾਈ ਲਈ ਸੈੱਟਅੱਪ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"
 
-#: ../yumcommands.py:1176
+#: ../yumcommands.py:2478
 msgid "reinstall a package"
 msgstr "ਪੈਕੇਜ ਮੁੜ-ਇੰਸਟਾਲ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"
 
-#: ../yumcommands.py:1195
+#: ../yumcommands.py:2541
 msgid "Setting up Downgrade Process"
 msgstr "ਡਾਊਨਗਰੇਡ ਕਾਰਵਾਈ ਲਈ ਸੈੱਟਅੱਪ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"
 
-#: ../yumcommands.py:1202
+#: ../yumcommands.py:2552
 msgid "downgrade a package"
 msgstr "ਪੈਕੇਜ ਡਾਊਨਗਰੇਡ ਕਰੋ"
 
-#: ../yumcommands.py:1216
+#: ../yumcommands.py:2591
 msgid "Display a version for the machine and/or available repos."
 msgstr "ਮਸ਼ੀਨ ਤੇ / ਜਾਂ ਉਪਲੱਬਧ ਰਿਪੋ ਲਈ ਵਰਜਨ ਵੇਖੋ।"
 
-#: ../yumcommands.py:1255
+#: ../yumcommands.py:2643
 msgid " Yum version groups:"
 msgstr " ਯੱਮ ਵਰਜਨ ਗਰੁੱਪ:"
 
-#: ../yumcommands.py:1265
+#: ../yumcommands.py:2653
 msgid " Group   :"
 msgstr " ਗਰੁੱਪ   :"
 
-#: ../yumcommands.py:1266
+#: ../yumcommands.py:2654
 msgid " Packages:"
 msgstr " ਪੈਕੇਜ:"
 
-#: ../yumcommands.py:1295
+#: ../yumcommands.py:2683
 msgid "Installed:"
 msgstr "ਇੰਸਟਾਲ ਹੋਏ:"
 
-#: ../yumcommands.py:1303
+#: ../yumcommands.py:2691
 msgid "Group-Installed:"
 msgstr "ਗਰੁੱਪ-ਇੰਸਟਾਲ ਹੋਏ:"
 
-#: ../yumcommands.py:1312
+#: ../yumcommands.py:2700
 msgid "Available:"
 msgstr "ਉਪਲੱਬਧ:"
 
-#: ../yumcommands.py:1321
+#: ../yumcommands.py:2709
 msgid "Group-Available:"
 msgstr "ਉਪਲੱਬਧ-ਗਰੁੱਪ:"
 
-#: ../yumcommands.py:1360
+#: ../yumcommands.py:2783
 msgid "Display, or use, the transaction history"
 msgstr "ਟਰਾਂਸੈਕਸ਼ਨ ਅਤੀਤ ਵੇਖੋ ਜਾਂ ਵਰਤੋਂ"
 
-#: ../yumcommands.py:1432
+#: ../yumcommands.py:2876 ../yumcommands.py:2880
+msgid "Transactions:"
+msgstr "ਟਰਾਂਸੈਕਸ਼ਨ:"
+
+#: ../yumcommands.py:2881
+msgid "Begin time  :"
+msgstr "ਸ਼ੁਰੂ ਸਮਾਂ  :"
+
+#: ../yumcommands.py:2882
+msgid "End time    :"
+msgstr "ਅੰਤ ਸਮਾਂ    :"
+
+#: ../yumcommands.py:2883
+msgid "Counts      :"
+msgstr "ਗਿਣਤੀ      :"
+
+#: ../yumcommands.py:2884
+msgid "  NEVRAC :"
+msgstr "  NEVRAC :"
+
+#: ../yumcommands.py:2885
+msgid "  NEVRA  :"
+msgstr "  NEVRA  :"
+
+#: ../yumcommands.py:2886
+msgid "  NA     :"
+msgstr "  NA     :"
+
+#: ../yumcommands.py:2887
+msgid "  NEVR   :"
+msgstr "  NEVR   :"
+
+#: ../yumcommands.py:2888
+msgid "  rpm DB :"
+msgstr "  rpm DB :"
+
+#: ../yumcommands.py:2889
+msgid "  yum DB :"
+msgstr "  ਯਮ DB :"
+
+#: ../yumcommands.py:2922
 #, python-format
 msgid "Invalid history sub-command, use: %s."
 msgstr ""
 
-#: ../yumcommands.py:1439
+#: ../yumcommands.py:2929
 msgid "You don't have access to the history DB."
-msgstr ""
+msgstr "ਤੁਹਾਨੂੰ ਅਤੀਤ DB ਲਈ ਅਸੈਸ ਨਹੀਂ ਹੈ।"
 
-#: ../yumcommands.py:1487
+#: ../yumcommands.py:3036
 msgid "Check for problems in the rpmdb"
 msgstr "rpmdb ਵਿੱਚ ਸਮੱਸਿਆ ਲਈ ਚੈੱਕ ਕਰੋ"
 
-#: ../yumcommands.py:1514
+#: ../yumcommands.py:3102
 msgid "load a saved transaction from filename"
-msgstr ""
+msgstr "ਸੰਭਾਲੀ ਹੋਈ ਟਰਾਂਸੈਕਸ਼ਨ ਨੂੰ ਲੋਡ ਕਰੋ ਫਾਇਲ-ਨਾਂ ਵਿੱਚੋਂ"
 
-#: ../yumcommands.py:1518
+#: ../yumcommands.py:3119
 msgid "No saved transaction file specified."
-msgstr ""
+msgstr "ਕੋਈ ਸੰਭਾਲੀ ਹੋਈ ਟਰਾਂਸੈਕਸ਼ਨ ਫਾਇਲ ਨਹੀਂ ਦਿੱਤੀ ਗਈ।"
 
-#: ../yumcommands.py:1522
+#: ../yumcommands.py:3123
 #, python-format
 msgid "loading transaction from %s"
-msgstr ""
+msgstr "%s ਤੋਂ ਟਰਾਂਸੈਕਸ਼ਨ ਲੋਡ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ"
 
-#: ../yumcommands.py:1528
+#: ../yumcommands.py:3129
 #, python-format
 msgid "Transaction loaded from %s with %s members"
+msgstr "%s ਤੋਂ %s ਮੈਂਬਰਾਂ ਨਾਲ ਟਰਾਂਸੈਕਸ਼ਨ ਲੋਡ ਕੀਤੀ ਗਈ"
+
+#: ../yumcommands.py:3169
+msgid "Simple way to swap packages, isntead of using shell"
+msgstr ""
+
+#: ../yumcommands.py:3264
+msgid ""
+"Treat a repo. as a group of packages, so we can install/remove all of them"
+msgstr ""
+
+#: ../yumcommands.py:3341
+#, python-format
+msgid "%d package to update"
+msgid_plural "%d packages to update"
+msgstr[0] "ਅੱਪਡੇਟ ਕਰਨ ਲਈ %d ਪੈਕੇਜ"
+msgstr[1] "ਅੱਪਡੇਟ ਕਰਨ ਲਈ %d ਪੈਕੇਜ"
+
+#: ../yumcommands.py:3370
+#, python-format
+msgid "%d package to remove/reinstall"
+msgid_plural "%d packages to remove/reinstall"
+msgstr[0] "ਹਟਾਉਣ/ਮੁੜ-ਇੰਸਟਾਲ ਕਰਨ ਲਈ %d ਪੈਕੇਜ"
+msgstr[1] "ਹਟਾਉਣ/ਮੁੜ-ਇੰਸਟਾਲ ਕਰਨ ਲਈ %d ਪੈਕੇਜ"
+
+#: ../yumcommands.py:3413
+#, python-format
+msgid "%d package to remove/sync"
+msgid_plural "%d packages to remove/sync"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../yumcommands.py:3417
+#, python-format
+msgid "Not a valid sub-command of %s"
 msgstr ""
 
 #. This is mainly for PackageSackError from rpmdb.
 #: ../yummain.py:84
 #, python-format
 msgid " Yum checks failed: %s"
-msgstr ""
+msgstr "ਯਮ ਚੈੱਕ ਫੇਲ੍ਹ ਹੋਇਆ: %s"
 
-#: ../yummain.py:114
-msgid ""
-"Another app is currently holding the yum lock; waiting for it to exit..."
+#: ../yummain.py:98
+msgid "No read/execute access in current directory, moving to /"
 msgstr ""
-"ਹਾਲੇ ਕੋਈ ਹੋਰ ਐਪਲੀਕੇਸ਼ਣ ਯੱਮ ਲਾਕ ਵਰਤ ਰਹੀ ਹੈ; ਉਸ ਨੂੰ ਬੰਦ ਹੋਣ ਤੱਕ ਉਡੀਕ ਜਾਰੀ..."
 
-#: ../yummain.py:120
-msgid "Can't create lock file; exiting"
+#: ../yummain.py:106
+msgid "No getcwd() access in current directory, moving to /"
 msgstr ""
 
 #. Depsolve stage
-#: ../yummain.py:167
+#: ../yummain.py:164
 msgid "Resolving Dependencies"
 msgstr "ਨਿਰਭਰਤਾ ਹੱਲ਼ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ"
 
-#: ../yummain.py:230
+#: ../yummain.py:227 ../yummain.py:235
 #, python-format
-msgid "Your transaction was saved, rerun it with: yum load-transaction %s"
-msgstr ""
+msgid ""
+"Your transaction was saved, rerun it with:\n"
+" yum load-transaction %s"
+msgstr "ਤੁਹਾਡੀ ਟਰਾਂਸੈਕਸ਼ਨ ਸੰਭਾਲੀ ਗਈ, ਇਸ ਨੂੰ ਮੁੜ-ਚਲਾਉ:\nyum load-transaction %s"
 
-#: ../yummain.py:288
+#: ../yummain.py:312
 msgid ""
 "\n"
 "\n"
 "Exiting on user cancel."
-msgstr ""
-"\n"
-"\n"
-"ਯੂਜ਼ਰ ਵੱਲੋਂ ਬੰਦ ਕਰਨ ਉੱਤੇ ਬੰਦ।"
+msgstr "\n\nਯੂਜ਼ਰ ਵੱਲੋਂ ਬੰਦ ਕਰਨ ਉੱਤੇ ਬੰਦ।"
 
-#: ../yum/depsolve.py:84
+#: ../yum/depsolve.py:127
 msgid "doTsSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/depsolve.py:99
+#: ../yum/depsolve.py:143
 msgid "Setting up TransactionSets before config class is up"
 msgstr ""
 
-#: ../yum/depsolve.py:153
+#: ../yum/depsolve.py:200
 #, python-format
 msgid "Invalid tsflag in config file: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:164
+#: ../yum/depsolve.py:218
 #, python-format
 msgid "Searching pkgSack for dep: %s"
-msgstr ""
+msgstr "%s: ਨਿਰਭਰਤਾ ਲਈ pkgSack ਦੀ ਖੋਜ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ"
 
-#: ../yum/depsolve.py:207
+#: ../yum/depsolve.py:269
 #, python-format
 msgid "Member: %s"
 msgstr "ਮੈਂਬਰ: %s"
 
-#: ../yum/depsolve.py:221 ../yum/depsolve.py:793
+#: ../yum/depsolve.py:283 ../yum/depsolve.py:937
 #, python-format
 msgid "%s converted to install"
 msgstr "ਇੰਸਟਾਲ ਕਰਨ ਲਈ %s ਬਦਲਿਆ"
 
-#: ../yum/depsolve.py:233
+#: ../yum/depsolve.py:295
 #, python-format
 msgid "Adding Package %s in mode %s"
-msgstr ""
+msgstr "%s ਮੋਡ ਵਿੱਚ ਪੈਕੇਜ %s ਜੋੜਿਆ ਜਾ ਰਿਹਾ ਹੈ"
 
-#: ../yum/depsolve.py:249
+#: ../yum/depsolve.py:311
 #, python-format
 msgid "Removing Package %s"
 msgstr "ਪੈਕੇਜ %s ਹਟਾਇਆ ਜਾ ਰਿਹਾ ਹੈ"
 
-#: ../yum/depsolve.py:271
+#: ../yum/depsolve.py:333
 #, python-format
 msgid "%s requires: %s"
 msgstr "%s ਚਾਹੀਦਾ ਹੈ: %s"
 
-#: ../yum/depsolve.py:312
+#: ../yum/depsolve.py:374
 #, python-format
 msgid "%s requires %s"
 msgstr "%s ਨੂੰ ਚਾਹੀਦਾ ਹੈ %s"
 
-#: ../yum/depsolve.py:339
+#: ../yum/depsolve.py:401
 msgid "Needed Require has already been looked up, cheating"
 msgstr ""
 
-#: ../yum/depsolve.py:349
+#: ../yum/depsolve.py:411
 #, python-format
 msgid "Needed Require is not a package name. Looking up: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:357
+#: ../yum/depsolve.py:419
 #, python-format
 msgid "Potential Provider: %s"
 msgstr "ਸੰਭਾਵਿਤ ਦੇਣ ਵਾਲਾ: %s"
 
-#: ../yum/depsolve.py:380
+#: ../yum/depsolve.py:442
 #, python-format
 msgid "Mode is %s for provider of %s: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:384
+#: ../yum/depsolve.py:446
 #, python-format
 msgid "Mode for pkg providing %s: %s"
 msgstr ""
@@ -2095,1013 +2317,1165 @@ msgstr ""
 #. the thing it needs is being updated or obsoleted away
 #. try to update the requiring package in hopes that all this problem goes
 #. away :(
-#: ../yum/depsolve.py:389 ../yum/depsolve.py:406
+#: ../yum/depsolve.py:451 ../yum/depsolve.py:486
 #, python-format
 msgid "Trying to update %s to resolve dep"
-msgstr ""
+msgstr "ਨਿਰਭਰਤਾ ਹੱਲ਼ ਕਰਨ ਲਈ %s ਅੱਪਡੇਟ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ"
 
-#: ../yum/depsolve.py:400 ../yum/depsolve.py:410
+#: ../yum/depsolve.py:480
 #, python-format
 msgid "No update paths found for %s. Failure!"
+msgstr "%s ਲਈ ਕੋਈ ਅੱਪਡੇਟ ਮਾਰਗ ਨਹੀਂ ਲੱਭਿਆ। ਫੇਲ੍ਹ!"
+
+#: ../yum/depsolve.py:491
+#, python-format
+msgid "No update paths found for %s. Failure due to requirement: %s!"
 msgstr ""
 
-#: ../yum/depsolve.py:416
+#: ../yum/depsolve.py:507
+#, python-format
+msgid "Update for %s. Doesn't fix requirement: %s!"
+msgstr ""
+
+#: ../yum/depsolve.py:514
 #, python-format
 msgid "TSINFO: %s package requiring %s marked as erase"
 msgstr ""
 
-#: ../yum/depsolve.py:429
+#: ../yum/depsolve.py:527
 #, python-format
 msgid "TSINFO: Obsoleting %s with %s to resolve dep."
 msgstr ""
 
-#: ../yum/depsolve.py:432
+#: ../yum/depsolve.py:530
 #, python-format
 msgid "TSINFO: Updating %s to resolve dep."
-msgstr ""
+msgstr "TSINFO: ਨਿਰਭਰਤਾ ਹੱਲ ਕਰਨ ਲਈ %s ਅੱਪਡੇਟ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ।"
 
-#: ../yum/depsolve.py:440
+#: ../yum/depsolve.py:538
 #, python-format
 msgid "Cannot find an update path for dep for: %s"
-msgstr ""
+msgstr "%s: ਲਈ ਨਿਰਭਰਤਾ ਵਾਸਤੇ ਅੱਪਡੇਟ ਮਾਰਗ ਨਹੀਂ ਲੱਭਿਆ ਜਾ ਸਕਦਾ"
 
-#: ../yum/depsolve.py:471
+#: ../yum/depsolve.py:569
 #, python-format
 msgid "Quick matched %s to require for %s"
 msgstr ""
 
 #. is it already installed?
-#: ../yum/depsolve.py:513
+#: ../yum/depsolve.py:611
 #, python-format
 msgid "%s is in providing packages but it is already installed, removing."
-msgstr ""
+msgstr "%s ਉਪਲੱਬਧ ਕਰਵਾਉਣ ਵਾਲਿਆ ਪੈਕੇਜਾਂ ਵਿੱਚ ਹੈ, ਪਰ ਇਹ ਪਹਿਲਾਂ ਹੀ ਇੰਸਟਾਲ ਹੈ, ਹਟਾਇਆ ਜਾ ਰਿਹਾ ਹੈ।"
 
-#: ../yum/depsolve.py:529
+#: ../yum/depsolve.py:627
 #, python-format
 msgid "Potential resolving package %s has newer instance in ts."
 msgstr ""
 
-#: ../yum/depsolve.py:540
+#: ../yum/depsolve.py:638
 #, python-format
 msgid "Potential resolving package %s has newer instance installed."
 msgstr ""
 
-#: ../yum/depsolve.py:558
+#: ../yum/depsolve.py:656
 #, python-format
 msgid "%s already in ts, skipping this one"
 msgstr ""
 
-#: ../yum/depsolve.py:607
+#: ../yum/depsolve.py:705
 #, python-format
 msgid "TSINFO: Marking %s as update for %s"
-msgstr ""
+msgstr "TSINFO: %s ਨੂੰ %s ਲਈ ਅੱਪਡੇਟ ਵਜੋਂ ਚੁਣਿਆ ਜਾ ਰਿਹਾ ਹੈ"
 
-#: ../yum/depsolve.py:616
+#: ../yum/depsolve.py:714
 #, python-format
 msgid "TSINFO: Marking %s as install for %s"
 msgstr ""
 
-#: ../yum/depsolve.py:727 ../yum/depsolve.py:819
+#: ../yum/depsolve.py:849 ../yum/depsolve.py:967
 msgid "Success - empty transaction"
 msgstr "ਸਫ਼ਲ - ਖਾਲੀ ਟਰਾਂਸੈਕਸ਼ਨ"
 
-#: ../yum/depsolve.py:767 ../yum/depsolve.py:783
+#: ../yum/depsolve.py:889 ../yum/depsolve.py:927
 msgid "Restarting Loop"
 msgstr "ਚੱਕਰ ਮੁੜ-ਚਾਲੂ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"
 
-#: ../yum/depsolve.py:799
+#: ../yum/depsolve.py:947
 msgid "Dependency Process ending"
 msgstr "ਨਿਰਭਰਤਾ ਕਾਰਵਾਈ ਖਤਮ ਹੋ ਰਹੀ ਹੈ"
 
-#: ../yum/depsolve.py:821
+#: ../yum/depsolve.py:969
 msgid "Success - deps resolved"
 msgstr "ਸਫ਼ਲ - ਨਿਰਭਰਤਾ ਹੱਲ਼ ਹੋਈ"
 
-#: ../yum/depsolve.py:845
+#: ../yum/depsolve.py:993
 #, python-format
 msgid "Checking deps for %s"
 msgstr "%s ਲਈ ਨਿਰਭਰਤਾ ਚੈੱਕ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ"
 
-#: ../yum/depsolve.py:931
+#: ../yum/depsolve.py:1082
 #, python-format
 msgid "looking for %s as a requirement of %s"
-msgstr ""
+msgstr "%s ਦੀ ਖੋਜ %s ਦੀ ਨਿਰਭਰਤਾ ਲਈ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ"
 
-#: ../yum/depsolve.py:1169
+#: ../yum/depsolve.py:1349
 #, python-format
 msgid "Running compare_providers() for %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1196 ../yum/depsolve.py:1202
+#: ../yum/depsolve.py:1376 ../yum/depsolve.py:1382
 #, python-format
 msgid "better arch in po %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1298
+#: ../yum/depsolve.py:1496
 #, python-format
 msgid "%s obsoletes %s"
 msgstr "%s ਨੇ %s ਬਰਤਰਫ਼ ਕੀਤਾ"
 
-#: ../yum/depsolve.py:1310
+#: ../yum/depsolve.py:1508
 #, python-format
 msgid ""
 "archdist compared %s to %s on %s\n"
 "  Winner: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1318
+#: ../yum/depsolve.py:1516
 #, python-format
 msgid "common sourcerpm %s and %s"
 msgstr "ਆਮ sourcerpm %s ਅਤੇ %s"
 
-#: ../yum/depsolve.py:1322
+#: ../yum/depsolve.py:1520
 #, python-format
 msgid "base package %s is installed for %s"
 msgstr "ਬੇਸ ਪੈਕੇਜ %s %s ਲਈ ਇੰਸਟਾਲ ਕੀਤਾ ਜਾਂਦਾ ਹੈ"
 
-#: ../yum/depsolve.py:1328
+#: ../yum/depsolve.py:1526
 #, python-format
 msgid "common prefix of %s between %s and %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1359
+#: ../yum/depsolve.py:1543
 #, python-format
-msgid "requires minimal: %d"
-msgstr "ਘੱਟੋ-ਘੱਟ ਲੋੜ ਹੈ: %d"
+msgid "provides vercmp: %s"
+msgstr ""
 
-#: ../yum/depsolve.py:1363
+#: ../yum/depsolve.py:1547 ../yum/depsolve.py:1581
 #, python-format
 msgid " Winner: %s"
 msgstr " ਜੇਤੂ: %s"
 
-#: ../yum/depsolve.py:1368
+#: ../yum/depsolve.py:1577
+#, python-format
+msgid "requires minimal: %d"
+msgstr "ਘੱਟੋ-ਘੱਟ ਲੋੜ ਹੈ: %d"
+
+#: ../yum/depsolve.py:1586
 #, python-format
 msgid " Loser(with %d): %s"
 msgstr " ਹਾਰਿਆ(%d ਨਾਲ): %s"
 
-#: ../yum/depsolve.py:1384
+#: ../yum/depsolve.py:1602
 #, python-format
 msgid "Best Order: %s"
 msgstr "ਵਧੀਆ ਕ੍ਰਮ: %s"
 
-#: ../yum/__init__.py:234
+#: ../yum/__init__.py:274
 msgid "doConfigSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/__init__.py:482
+#: ../yum/__init__.py:553
 #, python-format
-msgid "Repository %r: Error parsing config: %s"
+msgid "Skipping unreadable repository %s"
 msgstr ""
 
-#: ../yum/__init__.py:488
+#: ../yum/__init__.py:572
+#, python-format
+msgid "Repository %r: Error parsing config: %s"
+msgstr "ਰਿਪੋਜ਼ਟਰੀ %r: ਸੰਰਚਨਾ ਪਾਰਸ ਕਰਨ ਲਈ ਗਲਤੀ: %s"
+
+#: ../yum/__init__.py:578
 #, python-format
 msgid "Repository %r is missing name in configuration, using id"
-msgstr ""
+msgstr "ਰਿਪੋਜ਼ਟਰੀ %r ਦਾ ਸੰਰਚਨਾ ਵਿੱਚ ਨਾਂ ਮੌਜੂਦ ਨਹੀਂ ਹੈ, id ਵਰਤੋਂ ਨਾਲ"
 
-#: ../yum/__init__.py:526
+#: ../yum/__init__.py:618
 msgid "plugins already initialised"
 msgstr "ਪਲੱਗਇਨ ਪਹਿਲਾਂ ਹੀ ਚਾਲੂ ਹੈ"
 
-#: ../yum/__init__.py:533
+#: ../yum/__init__.py:627
 msgid "doRpmDBSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/__init__.py:544
+#: ../yum/__init__.py:638
 msgid "Reading Local RPMDB"
 msgstr "ਲੋਕਲ RPMDB ਪੜ੍ਹਿਆ ਜਾ ਰਿਹਾ ਹੈ"
 
-#: ../yum/__init__.py:567
+#: ../yum/__init__.py:668
 msgid "doRepoSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/__init__.py:630
+#: ../yum/__init__.py:722
 msgid "doSackSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/__init__.py:660
+#: ../yum/__init__.py:752
 msgid "Setting up Package Sacks"
 msgstr ""
 
-#: ../yum/__init__.py:705
+#: ../yum/__init__.py:797
 #, python-format
 msgid "repo object for repo %s lacks a _resetSack method\n"
 msgstr ""
 
-#: ../yum/__init__.py:706
+#: ../yum/__init__.py:798
 msgid "therefore this repo cannot be reset.\n"
 msgstr "ਇਸਕਰਕੇ ਇਹ ਰਿਪੋ ਮੁੜ-ਸੈੱਟ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ।\n"
 
-#: ../yum/__init__.py:711
+#: ../yum/__init__.py:806
 msgid "doUpdateSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/__init__.py:723
+#: ../yum/__init__.py:818
 msgid "Building updates object"
 msgstr "ਅੱਪਡੇਟ ਆਬਜੈਕਟ ਬਣਾਏ ਜਾ ਰਹੇ ਹਨ"
 
-#: ../yum/__init__.py:765
+#: ../yum/__init__.py:862
 msgid "doGroupSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/__init__.py:790
+#: ../yum/__init__.py:887
 msgid "Getting group metadata"
 msgstr "ਗਰੁੱਪ ਮੇਟਾਡਾਟਾ ਲਿਆ ਜਾ ਰਿਹਾ ਹੈ"
 
-#: ../yum/__init__.py:816
+#: ../yum/__init__.py:915
 #, python-format
 msgid "Adding group file from repository: %s"
 msgstr "%s: ਰਿਪੋਜ਼ਟਰੀ ਤੋਂ ਗਰੁੱਪ ਫਾਇਲ ਸ਼ਾਮਲ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ"
 
-#: ../yum/__init__.py:827
+#: ../yum/__init__.py:918
+#, python-format
+msgid "Failed to retrieve group file for repository: %s"
+msgstr ""
+
+#: ../yum/__init__.py:924
 #, python-format
 msgid "Failed to add groups file for repository: %s - %s"
 msgstr "%s - %s: ਰਿਪੋਜ਼ਟਰੀ ਲਈ ਗਰੁੱਪ ਫਾਇਲ ਸ਼ਾਮਲ ਕਰਨ ਲਈ ਫੇਲ੍ਹ"
 
-#: ../yum/__init__.py:833
+#: ../yum/__init__.py:930
 msgid "No Groups Available in any repository"
 msgstr "ਕਿਸੇ ਰਿਪੋਜ਼ਟਰੀ ਵਿੱਚ ਕੋਈ ਗਰੁੱਪ ਉਪਲੱਬਧ ਨਹੀਂ"
 
-#: ../yum/__init__.py:845
+#: ../yum/__init__.py:945
 msgid "Getting pkgtags metadata"
 msgstr "ਪੈਕੇਜਟੈਗ ਮੇਟਾਡਾ ਲਿਆ ਜਾ ਰਿਹਾ ਹੈ"
 
-#: ../yum/__init__.py:855
+#: ../yum/__init__.py:955
 #, python-format
 msgid "Adding tags from repository: %s"
 msgstr "ਰਿਪੋਜ਼ਟਰੀ ਤੋਂ ਟੈਗ ਸ਼ਾਮਲ ਕੀਤੇ ਜਾ ਰਹੇ ਹਨ: %s"
 
-#: ../yum/__init__.py:866
+#: ../yum/__init__.py:966
 #, python-format
 msgid "Failed to add Pkg Tags for repository: %s - %s"
-msgstr ""
+msgstr "ਰਿਪੋਜ਼ਟਰੀ ਲਈ Pkg ਟੈਗ ਜੋੜਨ ਲਈ ਫੇਲ੍ਹ: %s - %s"
 
-#: ../yum/__init__.py:944
+#: ../yum/__init__.py:1059
 msgid "Importing additional filelist information"
 msgstr "ਵਾਧੂ ਫਾਇਲ-ਲਿਸਟ ਜਾਣਕਾਰੀ ਲਈ ਜਾ ਰਹੀ ਹੈ"
 
-#: ../yum/__init__.py:958
+#: ../yum/__init__.py:1077
 #, python-format
 msgid "The program %s%s%s is found in the yum-utils package."
 msgstr "ਪਰੋਗਰਾਮ %s%s%s ਨੂੰ yum-utils ਪੈਕੇਜ 'ਚ ਲੱਭਿਆ ਜਾ ਸਕਦਾ ਹੈ।"
 
-#: ../yum/__init__.py:966
+#: ../yum/__init__.py:1094
 msgid ""
 "There are unfinished transactions remaining. You might consider running yum-"
 "complete-transaction first to finish them."
-msgstr ""
-"ਅਧੂਰੀਆਂ ਟਰਾਂਸੈਕਸ਼ਨ ਬਾਕੀ ਹਨ। ਤੁਹਾਨੂੰ ਉਹਨਾਂ ਨੂੰ ਪੂਰਾ ਕਰਨ ਵਾਸਤੇ yum-complete-"
-"transaction ਚਲਾਉ ਬਾਰੇ ਸੋਚਣਾ ਚਾਹੀਦਾ ਹੈ।"
+msgstr "ਅਧੂਰੀਆਂ ਟਰਾਂਸੈਕਸ਼ਨ ਬਾਕੀ ਹਨ। ਤੁਹਾਨੂੰ ਉਹਨਾਂ ਨੂੰ ਪੂਰਾ ਕਰਨ ਵਾਸਤੇ yum-complete-transaction ਚਲਾਉ ਬਾਰੇ ਸੋਚਣਾ ਚਾਹੀਦਾ ਹੈ।"
 
-#: ../yum/__init__.py:983
+#: ../yum/__init__.py:1111
 msgid "--> Finding unneeded leftover dependencies"
 msgstr ""
 
-#: ../yum/__init__.py:1041
+#: ../yum/__init__.py:1169
 #, python-format
 msgid "Protected multilib versions: %s != %s"
 msgstr ""
 
-#: ../yum/__init__.py:1096
+#. People are confused about protected mutilib ... so give
+#. them a nicer message.
+#: ../yum/__init__.py:1173
+#, python-format
+msgid ""
+" Multilib version problems found. This often means that the root\n"
+"cause is something else and multilib version checking is just\n"
+"pointing out that there is a problem. Eg.:\n"
+"\n"
+"  1. You have an upgrade for %(name)s which is missing some\n"
+"     dependency that another package requires. Yum is trying to\n"
+"     solve this by installing an older version of %(name)s of the\n"
+"     different architecture. If you exclude the bad architecture\n"
+"     yum will tell you what the root cause is (which package\n"
+"     requires what). You can try redoing the upgrade with\n"
+"     --exclude %(name)s.otherarch ... this should give you an error\n"
+"     message showing the root cause of the problem.\n"
+"\n"
+"  2. You have multiple architectures of %(name)s installed, but\n"
+"     yum can only see an upgrade for one of those arcitectures.\n"
+"     If you don't want/need both architectures anymore then you\n"
+"     can remove the one with the missing update and everything\n"
+"     will work.\n"
+"\n"
+"  3. You have duplicate versions of %(name)s installed already.\n"
+"     You can use \"yum check\" to get yum show these errors.\n"
+"\n"
+"...you can also use --setopt=protected_multilib=false to remove\n"
+"this checking, however this is almost never the correct thing to\n"
+"do as something else is very likely to go wrong (often causing\n"
+"much more problems).\n"
+"\n"
+msgstr ""
+
+#: ../yum/__init__.py:1257
 #, python-format
 msgid "Trying to remove \"%s\", which is protected"
 msgstr "\"%s\" ਹਟਾਉਣ ਦੀ ਕੋਸ਼ਿਸ਼, ਜੋ ਕਿ ਸੁਰੱਖਿਅਤ ਹੈ"
 
-#: ../yum/__init__.py:1217
+#: ../yum/__init__.py:1378
 msgid ""
 "\n"
 "Packages skipped because of dependency problems:"
-msgstr ""
-"\n"
-"ਪੈਕੇਜ ਨਿਰਭਰਤਾ ਸਮੱਸਿਆ ਕਰਕੇ ਛੱਡੇ ਗਏ:"
+msgstr "\nਪੈਕੇਜ ਨਿਰਭਰਤਾ ਸਮੱਸਿਆ ਕਰਕੇ ਛੱਡੇ ਗਏ:"
 
-#: ../yum/__init__.py:1221
+#: ../yum/__init__.py:1382
 #, python-format
 msgid "    %s from %s"
 msgstr "   %s %s ਤੋਂ"
 
 #. FIXME: _N()
-#: ../yum/__init__.py:1391
+#: ../yum/__init__.py:1556
 #, python-format
 msgid "** Found %d pre-existing rpmdb problem(s), 'yum check' output follows:"
-msgstr ""
-"** %d ਪਹਿਲਾਂ ਹੀ ਮੌਜੂਦਾ rpmdb ਸਮੱਸਿਆਵਾਂ ਲੱਭੀਆਂ, 'yum check' ਆਉਟਪੁੱਟ ਅੱਗੇ "
-"ਦਿੱਤੀ ਹੈ:"
+msgstr "** %d ਪਹਿਲਾਂ ਹੀ ਮੌਜੂਦਾ rpmdb ਸਮੱਸਿਆਵਾਂ ਲੱਭੀਆਂ, 'yum check' ਆਉਟਪੁੱਟ ਅੱਗੇ ਦਿੱਤੀ ਹੈ:"
 
-#: ../yum/__init__.py:1395
+#: ../yum/__init__.py:1560
 msgid "Warning: RPMDB altered outside of yum."
 msgstr "ਚੇਤਾਵਨੀ: RPMDB ਨੂੰ ਯੱਮ ਤੋਂ ਬਿਨਾਂ ਬਦਲਿਆ ਗਿਆ।"
 
-#: ../yum/__init__.py:1407
+#: ../yum/__init__.py:1572
 msgid "missing requires"
 msgstr "ਲੋੜੀਦੇ ਮੌਜੂਦ ਨਹੀਂ"
 
-#: ../yum/__init__.py:1408
+#: ../yum/__init__.py:1573
 msgid "installed conflict"
 msgstr "ਇੰਸਟਾਲ ਨਾਲ ਟਕਰਾ"
 
-#: ../yum/__init__.py:1525
+#: ../yum/__init__.py:1709
 msgid ""
 "Warning: scriptlet or other non-fatal errors occurred during transaction."
 msgstr ""
 
-#: ../yum/__init__.py:1535
+#: ../yum/__init__.py:1719
 msgid "Transaction couldn't start:"
 msgstr "ਟਰਾਂਸੈਕਸ਼ਨ ਸ਼ੁਰੂ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕੀ:"
 
 #. should this be 'to_unicoded'?
-#: ../yum/__init__.py:1538
+#: ../yum/__init__.py:1722
 msgid "Could not run transaction."
 msgstr "ਟਰਾਂਸੈਕਸ਼ਨ ਚਲਾਈ ਨਹੀਂ ਜਾ ਸਕੀ।"
 
-#: ../yum/__init__.py:1552
+#: ../yum/__init__.py:1736
 #, python-format
 msgid "Failed to remove transaction file %s"
 msgstr "ਟਰਾਂਸੈਕਸ਼ਨ ਫਾਇਲ %s ਹਟਾਉਣ ਲਈ ਫੇਲ੍ਹ ਹੈ"
 
 #. maybe a file log here, too
 #. but raising an exception is not going to do any good
-#: ../yum/__init__.py:1590
+#: ../yum/__init__.py:1792
 #, python-format
 msgid "%s was supposed to be installed but is not!"
 msgstr "%s ਇੰਸਟਾਲ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ, ਪਰ ਇਹ ਨਹੀਂ ਹੈ!"
 
 #. maybe a file log here, too
 #. but raising an exception is not going to do any good
-#: ../yum/__init__.py:1651
+#. Note: This actually triggers atm. because we can't
+#. always find the erased txmbr to set it when
+#. we should.
+#: ../yum/__init__.py:1869
 #, python-format
 msgid "%s was supposed to be removed but is not!"
 msgstr "%s ਹਟਾਇਆ ਗਿਆ ਹੋਣਾ ਚਾਹੀਦਾ ਸੀ, ਪਰ ਨਹੀਂ ਗਿਆ!"
 
-#: ../yum/__init__.py:1768
-#, python-format
-msgid "Could not open lock %s: %s"
-msgstr "%s ਲਾਕ ਖੋਲ੍ਹਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ: %s "
-
-#. Whoa. What the heck happened?
-#: ../yum/__init__.py:1785
-#, python-format
-msgid "Unable to check if PID %s is active"
-msgstr ""
-
 #. Another copy seems to be running.
-#: ../yum/__init__.py:1789
+#: ../yum/__init__.py:2004
 #, python-format
 msgid "Existing lock %s: another copy is running as pid %s."
 msgstr "ਮੌਜੂਦਾ ਲਾਕ %s: pid %s ਵਜੋਂ ਹੋਰ ਕਾਪੀ ਚੱਲ ਰਹੀ ਹੈ।"
 
 #. Whoa. What the heck happened?
-#: ../yum/__init__.py:1830
+#: ../yum/__init__.py:2053
 #, python-format
 msgid "Could not create lock at %s: %s "
 msgstr "%s ਲਈ ਲਾਕ ਬਣਾਇਆ ਨਹੀਂ ਜਾ ਸਕਿਆ: %s "
 
-#: ../yum/__init__.py:1875
+#: ../yum/__init__.py:2065
+#, python-format
+msgid "Could not open lock %s: %s"
+msgstr "%s ਲਾਕ ਖੋਲ੍ਹਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ: %s "
+
+#. The pid doesn't exist
+#. Whoa. What the heck happened?
+#: ../yum/__init__.py:2082
+#, python-format
+msgid "Unable to check if PID %s is active"
+msgstr "ਚੈੱਕ ਕਰਨ ਲਈ ਅਸਮਰੱਥ ਕਿਕੀ PID %s ਐਕਟਿਵ ਹੈ"
+
+#: ../yum/__init__.py:2132
 #, python-format
 msgid ""
 "Package does not match intended download. Suggestion: run yum "
 "--enablerepo=%s clean metadata"
-msgstr ""
+msgstr "ਪੈਕੇਜ ਲੋੜੀਦੇ ਡਾਊਨਲੋਡ ਨਾਲ ਮਿਲਦਾ ਨਹੀਂ ਹੈ। ਸੁਝਾਅ: yum --enablerepo=%s clean metadata ਚਲਾਉ"
 
-#: ../yum/__init__.py:1891
+#: ../yum/__init__.py:2155
 msgid "Could not perform checksum"
 msgstr "checksum ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ"
 
-#: ../yum/__init__.py:1894
+#: ../yum/__init__.py:2158
 msgid "Package does not match checksum"
 msgstr "ਪੈਕੇਜ ਚੈਕਸਮ ਰਲਦਾ ਨਹੀਂ ਹੈ"
 
-#: ../yum/__init__.py:1946
+#: ../yum/__init__.py:2222
 #, python-format
 msgid "package fails checksum but caching is enabled for %s"
 msgstr ""
 
-#: ../yum/__init__.py:1949 ../yum/__init__.py:1979
+#: ../yum/__init__.py:2225 ../yum/__init__.py:2268
 #, python-format
 msgid "using local copy of %s"
 msgstr "%s ਦੀ ਲੋਕਲ ਕਾਪੀ ਦੀ ਵਰਤੋਂ"
 
-#: ../yum/__init__.py:1991
-#, python-format
-msgid ""
-"Insufficient space in download directory %s\n"
-"    * free   %s\n"
-"    * needed %s"
+#. caller handles errors
+#: ../yum/__init__.py:2342
+msgid "exiting because --downloadonly specified"
 msgstr ""
-"ਡਾਊਨਲੋਡ ਡਾਇਰੈਕਟਰੀ %s ਵਿੱਚ ਨਾ-ਲੋੜੀਦੀ ਖਾਲੀ ਥਾਂ\n"
-"    * ਖਾਲੀ   %s\n"
-"    * ਚਾਹੀਦੀ  %s"
 
-#: ../yum/__init__.py:2052
+#: ../yum/__init__.py:2371
 msgid "Header is not complete."
 msgstr "ਹੈੱਡਰ ਪੂਰਾ ਨਹੀਂ ਹੈ।"
 
-#: ../yum/__init__.py:2089
+#: ../yum/__init__.py:2411
 #, python-format
 msgid ""
 "Header not in local cache and caching-only mode enabled. Cannot download %s"
-msgstr ""
+msgstr "ਹੈੱਡਰ ਲੋਕਲ ਕੈਸ਼ ਨਹੀਂ ਹੈ ਅਤੇ ਕੇਵਲ-ਕੈਸ਼ ਮੋਡ ਹੀ ਚਾਲੂ ਹੈ। %s ਨੂੰ ਡਾਊਨਲੋਡ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।"
 
-#: ../yum/__init__.py:2147
+#: ../yum/__init__.py:2471
 #, python-format
 msgid "Public key for %s is not installed"
 msgstr "%s ਲਈ ਪਬਲਿਕ ਕੁੰਜੀ ਇੰਸਟਾਲ ਨਹੀਂ ਹੈ"
 
-#: ../yum/__init__.py:2151
+#: ../yum/__init__.py:2475
 #, python-format
 msgid "Problem opening package %s"
 msgstr "ਪੈਕੇਜ %s ਖੋਲ੍ਹਣ ਦੌਰਾਨ ਸਮੱਸਿਆ"
 
-#: ../yum/__init__.py:2159
+#: ../yum/__init__.py:2483
 #, python-format
 msgid "Public key for %s is not trusted"
 msgstr "%s ਲਈ ਪਬਲਿਕ ਕੁੰਜੀ ਭਰੋਸੇਯੋਗ ਨਹੀਂ"
 
-#: ../yum/__init__.py:2163
+#: ../yum/__init__.py:2487
 #, python-format
 msgid "Package %s is not signed"
 msgstr "ਪੈਕੇਜ %s  ਸਾਈਨ ਨਹੀਂ ਕੀਤਾ"
 
-#: ../yum/__init__.py:2202
+#: ../yum/__init__.py:2529
 #, python-format
 msgid "Cannot remove %s"
 msgstr "%s ਹਟਾਇਆ ਨਹੀਂ ਜਾ ਸਕਦਾ"
 
-#: ../yum/__init__.py:2206
+#: ../yum/__init__.py:2533
 #, python-format
 msgid "%s removed"
 msgstr "%s ਹਟਾਇਆ"
 
-#: ../yum/__init__.py:2252
+#: ../yum/__init__.py:2594
 #, python-format
 msgid "Cannot remove %s file %s"
 msgstr "%s ਫਾਇਲ %s ਹਟਾਈ ਨਹੀਂ ਜਾ ਸਕਦੀ"
 
-#: ../yum/__init__.py:2256
+#: ../yum/__init__.py:2598
 #, python-format
 msgid "%s file %s removed"
 msgstr "%s ਫਾਇਲ %s ਹਟਾਈ"
 
-#: ../yum/__init__.py:2258
+#: ../yum/__init__.py:2600
 #, python-format
-msgid "%d %s files removed"
-msgstr "%d %s ਫਾਇਲਾਂ ਹਟਾਈਆਂ ਗਈਆਂ"
+msgid "%d %s file removed"
+msgid_plural "%d %s files removed"
+msgstr[0] "%d %s ਫਾਇਲ ਹਟਾਈ ਗਈ"
+msgstr[1] "%d %s ਫਾਇਲਾਂ ਹਟਾਈਆਂ ਗਈਆਂ"
 
-#: ../yum/__init__.py:2327
+#: ../yum/__init__.py:2712
 #, python-format
 msgid "More than one identical match in sack for %s"
 msgstr ""
 
-#: ../yum/__init__.py:2333
+#: ../yum/__init__.py:2718
 #, python-format
 msgid "Nothing matches %s.%s %s:%s-%s from update"
-msgstr ""
+msgstr "ਅੱਪਡੇਟ ਤੋਂ %s.%s %s:%s-%s ਨਾਲ ਕੁਝ ਵੀ ਮਿਲਦਾ ਨਹੀਂ"
 
-#: ../yum/__init__.py:2632
+#: ../yum/__init__.py:3096
 msgid ""
 "searchPackages() will go away in a future version of Yum."
 "                      Use searchGenerator() instead. \n"
 msgstr ""
 
-#: ../yum/__init__.py:2675
+#: ../yum/__init__.py:3149
 #, python-format
-msgid "Searching %d packages"
-msgstr "%d ਪੈਕੇਜਾਂ ਲਈ ਖੋਜ ਜਾਰੀ ਹੈ"
+msgid "Searching %d package"
+msgid_plural "Searching %d packages"
+msgstr[0] "%d ਪੈਕੇਜ ਲੱਭਿਆ ਜਾ ਰਿਹਾ ਹੈ"
+msgstr[1] "%d ਪੈਕੇਜ ਲੱਭੇ ਜਾ ਰਹੇ ਹਨ"
 
-#: ../yum/__init__.py:2679
+#: ../yum/__init__.py:3153
 #, python-format
 msgid "searching package %s"
 msgstr "ਪੈਕੇਜ %s ਲਈ ਖੋਜ ਜਾਰੀ ਹੈ"
 
-#: ../yum/__init__.py:2691
+#: ../yum/__init__.py:3165
 msgid "searching in file entries"
 msgstr "ਫਾਇਲ ਐਂਟਰੀਆਂ ਲਈ ਖੋਜ ਜਾਰੀ ਹੈ"
 
-#: ../yum/__init__.py:2698
+#: ../yum/__init__.py:3172
 msgid "searching in provides entries"
 msgstr "ਪਰੋਵਾਇਡਰ ਐਂਟਰੀਆਂ ਵਿੱਚ ਖੋਜ ਜਾਰੀ"
 
-#: ../yum/__init__.py:2777
+#: ../yum/__init__.py:3369
 msgid "No group data available for configured repositories"
 msgstr "ਸੰਰਚਿਤ ਰਿਪੋਜ਼ਟਰੀਆਂ ਵਿੱਚ ਕੋਈ ਗਰੁੱਪ ਡਾਟਾ ਉਪਲੱਬਧ ਨਹੀਂ"
 
-#: ../yum/__init__.py:2808 ../yum/__init__.py:2827 ../yum/__init__.py:2858
-#: ../yum/__init__.py:2864 ../yum/__init__.py:2953 ../yum/__init__.py:2957
-#: ../yum/__init__.py:3339
+#: ../yum/__init__.py:3466 ../yum/__init__.py:3500 ../yum/__init__.py:3576
+#: ../yum/__init__.py:3582 ../yum/__init__.py:3719 ../yum/__init__.py:3723
+#: ../yum/__init__.py:4298
 #, python-format
 msgid "No Group named %s exists"
 msgstr "%s ਨਾਂ ਦਾ ਕੋਈ ਗਰੁੱਪ ਮੌਜੂਦ ਨਹੀਂ"
 
-#: ../yum/__init__.py:2839 ../yum/__init__.py:2973
+#: ../yum/__init__.py:3512 ../yum/__init__.py:3740
 #, python-format
 msgid "package %s was not marked in group %s"
 msgstr "ਪੈਕੇਜ %s ਗਰੁੱਪ %s ਵਿੱਚ ਨਿਸ਼ਾਨਬੱਧ ਨਹੀਂ ਹੈ"
 
-#: ../yum/__init__.py:2887
+#. (upgrade and igroup_data[pkg] == 'available')):
+#: ../yum/__init__.py:3622
+#, python-format
+msgid "Skipping package %s from group %s"
+msgstr "%s ਗਰੁੱਪ ਵਿੱਚੋਂ %s ਪੈਕੇਜ ਛੱਡਿਆ ਜਾ ਰਿਹਾ ਹੈ"
+
+#: ../yum/__init__.py:3628
 #, python-format
 msgid "Adding package %s from group %s"
 msgstr "ਪੈਕੇਜ %s ਗਰੁੱਪ %s ਵਿੱਚੋਂ ਸ਼ਾਮਲ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"
 
-#: ../yum/__init__.py:2891
+#: ../yum/__init__.py:3649
 #, python-format
 msgid "No package named %s available to be installed"
 msgstr "ਇੰਸਟਾਲ ਕਰਨ ਲਈ %s ਨਾਂ ਦਾ ਕੋਈ ਪੈਕੇਜ ਉਪਲੱਬਧ ਨਹੀਂ ਹੈ"
 
-#: ../yum/__init__.py:2941
+#: ../yum/__init__.py:3702
 #, python-format
-msgid "Warning: Group %s does not have any packages."
-msgstr ""
+msgid "Warning: Group %s does not have any packages to install."
+msgstr "ਸਾਵਧਾਨ: ਗਰੁੱਪ %s ਵਿੱਚੋਂ ਕੋਈ ਵੀ ਪੈਕੇਜ ਇੰਸਟਾਲ ਕਰਨ ਲਈ ਨਹੀਂ ਹੈ।"
 
-#: ../yum/__init__.py:2943
+#: ../yum/__init__.py:3704
 #, python-format
 msgid "Group %s does have %u conditional packages, which may get installed."
+msgstr "ਗਰੁੱਪ %s ਵਿੱਚ %u ਲਾਜ਼ਮੀ ਪੈਕੇਜ ਹਨ, ਜੋ ਕਿ ਇੰਸਟਾਲ ਕੀਤੇ ਜਾ ਸਕਦੇ ਹਨ।"
+
+#: ../yum/__init__.py:3794
+#, python-format
+msgid "Skipping group %s from environment %s"
 msgstr ""
 
 #. This can happen due to excludes after .up has
 #. happened.
-#: ../yum/__init__.py:3002
+#: ../yum/__init__.py:3858
 #, python-format
 msgid "Package tuple %s could not be found in packagesack"
 msgstr ""
 
-#: ../yum/__init__.py:3022
+#: ../yum/__init__.py:3886
 #, python-format
 msgid "Package tuple %s could not be found in rpmdb"
 msgstr ""
 
-#: ../yum/__init__.py:3079 ../yum/__init__.py:3129
+#: ../yum/__init__.py:3949 ../yum/__init__.py:4012
 #, python-format
 msgid "Invalid version flag from: %s"
 msgstr ""
 
-#: ../yum/__init__.py:3096 ../yum/__init__.py:3101
+#: ../yum/__init__.py:3973 ../yum/__init__.py:3979 ../yum/__init__.py:4036
+#: ../yum/__init__.py:4042
 #, python-format
 msgid "No Package found for %s"
 msgstr "%s ਲਈ ਕੋਈ ਪੈਕੇਜ ਨਹੀਂ ਲੱਭਿਆ"
 
-#: ../yum/__init__.py:3401
+#: ../yum/__init__.py:4245 ../yum/__init__.py:4274
+#, python-format
+msgid "Warning: Environment Group %s does not exist."
+msgstr ""
+
+#: ../yum/__init__.py:4397
+#, python-format
+msgid "Package: %s - can't co-install with %s"
+msgstr ""
+
+#: ../yum/__init__.py:4437
 msgid "Package Object was not a package object instance"
 msgstr ""
 
-#: ../yum/__init__.py:3405
+#: ../yum/__init__.py:4441
 msgid "Nothing specified to install"
 msgstr "ਇੰਸਟਾਲ ਕਰਨ ਲਈ ਕੁਝ ਨਹੀਂ ਦਿੱਤਾ"
 
-#: ../yum/__init__.py:3424 ../yum/__init__.py:4283
+#: ../yum/__init__.py:4465 ../yum/__init__.py:5410
 #, python-format
 msgid "Checking for virtual provide or file-provide for %s"
 msgstr ""
 
-#: ../yum/__init__.py:3430 ../yum/__init__.py:3775 ../yum/__init__.py:3969
-#: ../yum/__init__.py:4289
-#, python-format
-msgid "No Match for argument: %s"
-msgstr ""
-
-#: ../yum/__init__.py:3507
+#: ../yum/__init__.py:4542
 #, python-format
 msgid "Package %s installed and not available"
 msgstr "%s ਪੈਕੇਜ ਇੰਸਟਾਲ ਹੈ ਤੇ ਉਪਲੱਬਧ ਨਹੀਂ"
 
-#: ../yum/__init__.py:3510
+#: ../yum/__init__.py:4545
 msgid "No package(s) available to install"
 msgstr "ਇੰਸਟਾਲ ਕਰਨ ਲਈ ਕੋਈ ਪੈਕੇਜ ਉਪਲੱਬਧ ਨਹੀਂ"
 
-#: ../yum/__init__.py:3522
+#: ../yum/__init__.py:4557
 #, python-format
 msgid "Package: %s  - already in transaction set"
 msgstr "ਪੈਕੇਜ: %s  - ਪਹਿਲਾਂ ਹੀ ਟਰਾਂਸੈਕਸ਼ਨ ਸੈੱਟ 'ਚ ਹੈ"
 
-#: ../yum/__init__.py:3550
+#: ../yum/__init__.py:4589
 #, python-format
 msgid "Package %s is obsoleted by %s which is already installed"
 msgstr "ਪੈਕੇਜ %s ਨੂੰ %s ਵਲੋਂ ਬਰਤਰਫ਼ ਕੀਤਾ ਗਿਆ ਹੈ, ਜੋ ਪਹਿਲਾਂ ਹੀ ਇੰਸਟਾਲ ਹੈ"
 
-#: ../yum/__init__.py:3555
+#: ../yum/__init__.py:4594
 #, python-format
 msgid ""
 "Package %s is obsoleted by %s, but obsoleting package does not provide for "
 "requirements"
 msgstr "%s ਪੈਕੇਜ %s ਨਾਲ ਬਦਲ ਦਿੱਤਾ ਗਿਆ, ਪਰ ਬਦਲਿਆ ਗਿਆ ਪੈਕੇਜ ਲੋੜ ਪੂਰੀ ਨਹੀਂ ਕਰਦਾ"
 
-#: ../yum/__init__.py:3558
+#: ../yum/__init__.py:4597
 #, python-format
 msgid "Package %s is obsoleted by %s, trying to install %s instead"
-msgstr ""
-"%s ਪੈਕੇਜ %s ਨਾਲ ਬਰਤਰਫ਼ ਕੀਤਾ ਗਿਆ, %s ਇੰਸਟਾਲ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ"
+msgstr "%s ਪੈਕੇਜ %s ਨਾਲ ਬਰਤਰਫ਼ ਕੀਤਾ ਗਿਆ, %s ਇੰਸਟਾਲ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ"
 
-#: ../yum/__init__.py:3566
+#: ../yum/__init__.py:4605
 #, python-format
 msgid "Package %s already installed and latest version"
 msgstr "%s ਪੈਕੇਜ ਪਹਿਲਾਂ ਹੀ ਇੰਸਟਾਲ ਹੈ ਅਤੇ ਨਵਾਂ ਵਰਜਨ ਹੈ"
 
-#: ../yum/__init__.py:3580
+#: ../yum/__init__.py:4619
 #, python-format
 msgid "Package matching %s already installed. Checking for update."
 msgstr "%s ਨਾਲ ਮਿਲਦਾ ਪੈਕੇਜ ਪਹਿਲਾਂ ਹੀ ਇੰਸਟਾਲ ਹੈ। ਅੱਪਡੇਟ ਲਈ ਚੈਕ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"
 
 #. update everything (the easy case)
-#: ../yum/__init__.py:3684
+#: ../yum/__init__.py:4751
 msgid "Updating Everything"
 msgstr "ਹਰ ਚੀਜ਼ ਅੱਪਡੇਟ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ"
 
-#: ../yum/__init__.py:3708 ../yum/__init__.py:3849 ../yum/__init__.py:3879
-#: ../yum/__init__.py:3915
+#: ../yum/__init__.py:4775 ../yum/__init__.py:4930 ../yum/__init__.py:4975
+#: ../yum/__init__.py:5011
 #, python-format
 msgid "Not Updating Package that is already obsoleted: %s.%s %s:%s-%s"
-msgstr ""
+msgstr "ਪਹਿਲਾਂ ਹੀ ਬਰਤਰਫ਼ ਕੀਤੇ ਪੈਕੇਜ ਨੂੰ ਅੱਪਡੇਟ ਨਹੀਂ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ: %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3753 ../yum/__init__.py:3965
+#: ../yum/__init__.py:4830 ../yum/__init__.py:5072
 #, python-format
 msgid "%s"
 msgstr "%s"
 
-#: ../yum/__init__.py:3838
+#: ../yum/__init__.py:4854 ../yum/__init__.py:5080 ../yum/__init__.py:5416
+#, python-format
+msgid "No Match for argument: %s"
+msgstr "%s :ਨਾਲ ਮਿਲਦਾ ਕੋਈ ਆਰਗੂਮੈਂਟ ਨਹੀਂ ਹੈ"
+
+#: ../yum/__init__.py:4872
+#, python-format
+msgid "No package matched to upgrade: %s"
+msgstr "%s: ਅਪਗਰੇਡ ਲਈ ਕੋਈ ਪੈਕੇਜ ਨਹੀਂ ਮਿਲਦਾ"
+
+#: ../yum/__init__.py:4919
 #, python-format
 msgid "Package is already obsoleted: %s.%s %s:%s-%s"
 msgstr "ਪੈਕੇਜ ਪਹਿਲਾਂ ਹੀ ਬਰਤਰਫ਼ ਕੀਤਾ: %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3874
+#: ../yum/__init__.py:4970
 #, python-format
 msgid "Not Updating Package that is obsoleted: %s"
 msgstr "ਪੈਕੇਜ ਅੱਪਡੇਟ ਨਹੀਂ ਕੀਤਾ ਜਾ ਰਿਹਾ, ਜੋ ਬਰਤਰਫ਼ ਹੈ: %s"
 
-#: ../yum/__init__.py:3883 ../yum/__init__.py:3919
+#: ../yum/__init__.py:4979 ../yum/__init__.py:5015
 #, python-format
 msgid "Not Updating Package that is already updated: %s.%s %s:%s-%s"
-msgstr ""
-"ਪੈਕੇਜ ਅੱਪਡੇਟ ਨਹੀਂ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ, ਇਹ ਪਹਿਲਾਂ ਹੀ ਅੱਪਡੇਟ ਹੈ: %s.%s %s:%s-%s"
+msgstr "ਪੈਕੇਜ ਅੱਪਡੇਟ ਨਹੀਂ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ, ਇਹ ਪਹਿਲਾਂ ਹੀ ਅੱਪਡੇਟ ਹੈ: %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3982
-msgid "No package matched to remove"
-msgstr "ਹਟਾਉਣ ਲਈ ਕੋਈ ਪੈਕੇਜ ਨਹੀਂ ਮਿਲਦਾ"
+#: ../yum/__init__.py:5093
+#, python-format
+msgid "No package matched to remove: %s"
+msgstr "%s: ਹਟਾਉਣ ਲਈ ਕੋਈ ਪੈਕੇਜ ਨਹੀਂ ਮਿਲਦਾ"
 
-#: ../yum/__init__.py:3988
+#: ../yum/__init__.py:5099
 #, python-format
 msgid "Skipping the running kernel: %s"
 msgstr "ਚੱਲਦਾ ਕਰਨਲ ਛੱਡਿਆ ਜਾ ਰਿਹਾ ਹੈ: %s"
 
-#: ../yum/__init__.py:3994
+#: ../yum/__init__.py:5105
 #, python-format
 msgid "Removing %s from the transaction"
 msgstr "ਟਰਾਂਸੈਕਸ਼ਨ ਤੋਂ %s ਹਟਾਇਆ ਜਾ ਰਿਹਾ ਹੈ"
 
-#: ../yum/__init__.py:4029
+#: ../yum/__init__.py:5142
 #, python-format
 msgid "Cannot open: %s. Skipping."
 msgstr "ਖੋਲ੍ਹਿਆ ਨਹੀਂ ਜਾ ਸਕਦਾ: %s। ਛੱਡਿਆ ਜਾ ਰਿਹਾ ਹ।"
 
-#: ../yum/__init__.py:4032 ../yum/__init__.py:4150 ../yum/__init__.py:4226
+#: ../yum/__init__.py:5145 ../yum/__init__.py:5262 ../yum/__init__.py:5347
 #, python-format
 msgid "Examining %s: %s"
 msgstr "%s ਪੜਤਾਲ ਜਾਰੀ: %s"
 
-#: ../yum/__init__.py:4036
+#: ../yum/__init__.py:5149
 #, python-format
 msgid "Cannot localinstall deltarpm: %s. Skipping."
 msgstr "deltarpm localinstall ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ: %s। ਛੱਡਿਆ ਜਾਂਦਾ ਹੈ।"
 
-#: ../yum/__init__.py:4045 ../yum/__init__.py:4153 ../yum/__init__.py:4229
+#: ../yum/__init__.py:5158 ../yum/__init__.py:5265 ../yum/__init__.py:5350
 #, python-format
 msgid ""
 "Cannot add package %s to transaction. Not a compatible architecture: %s"
-msgstr ""
-"ਟਰਾਂਸੈਕਸ਼ਨ ਲਈ %s ਪੈਕੇਜ ਜੋੜਿਆ ਨਹੀਂ ਜਾ ਸਕਦਾ। %s: ਢਾਂਚੇ ਨਾਲ ਅਨੁਕੂਲ ਨਹੀਂ ਹੈ"
+msgstr "ਟਰਾਂਸੈਕਸ਼ਨ ਲਈ %s ਪੈਕੇਜ ਜੋੜਿਆ ਨਹੀਂ ਜਾ ਸਕਦਾ। %s: ਢਾਂਚੇ ਨਾਲ ਅਨੁਕੂਲ ਨਹੀਂ ਹੈ"
 
-#: ../yum/__init__.py:4051
+#: ../yum/__init__.py:5164
 #, python-format
 msgid "Cannot install package %s. It is obsoleted by installed package %s"
-msgstr ""
+msgstr "%s ਪੈਕੇਜ ਇੰਸਟਾਲ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ। ਇਸ ਨੂੰ ਇੰਸਟਾਲ ਹੋਏ ਪੈਕੇਜ %s ਨਾਲ ਬਰਤਰਫ਼ ਕੀਤਾ ਗਿਆ ਹੈ"
 
-#: ../yum/__init__.py:4059
+#: ../yum/__init__.py:5172
 #, python-format
 msgid ""
 "Package %s not installed, cannot update it. Run yum install to install it "
 "instead."
-msgstr ""
-"ਪੈਕੇਜ %s ਇੰਸਟਾਲ ਨਹੀਂ ਹੈ, ਅੱਪਡੇਟ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ। ਇਸ ਦੀ ਬਜਾਏ ਇਸ ਨੂੰ ਇੰਸਟਾਲ "
-"ਕਰਨ ਲਈ yum install ਚਲਾਓ।"
+msgstr "ਪੈਕੇਜ %s ਇੰਸਟਾਲ ਨਹੀਂ ਹੈ, ਅੱਪਡੇਟ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ। ਇਸ ਦੀ ਬਜਾਏ ਇਸ ਨੂੰ ਇੰਸਟਾਲ ਕਰਨ ਲਈ yum install ਚਲਾਓ।"
 
-#: ../yum/__init__.py:4078 ../yum/__init__.py:4085
+#: ../yum/__init__.py:5191 ../yum/__init__.py:5198
 #, python-format
 msgid ""
 "Package %s.%s not installed, cannot update it. Run yum install to install it"
 " instead."
-msgstr ""
+msgstr "ਪੈਕੇਜ %s.%s ਇੰਸਟਾਲ ਨਹੀਂ ਹੈ, ਅੱਪਡੇਟ ਨਹੀਂ ਹੋ ਸਕਦਾ। ਇਸ ਦੀ ਬਜਾਏ ਪਹਿਲਾਂ yum install ਚਲਾਉ।"
 
-#: ../yum/__init__.py:4094 ../yum/__init__.py:4158 ../yum/__init__.py:4234
+#: ../yum/__init__.py:5207 ../yum/__init__.py:5270 ../yum/__init__.py:5355
 #, python-format
 msgid "Excluding %s"
 msgstr "%s ਅੱਡ ਕੀਤਾ"
 
-#: ../yum/__init__.py:4099
+#: ../yum/__init__.py:5212
 #, python-format
 msgid "Marking %s to be installed"
 msgstr "%s ਨੂੰ ਇੰਸਟਾਲ ਕਰਨ ਲਈ ਸੈੱਟ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"
 
-#: ../yum/__init__.py:4105
+#: ../yum/__init__.py:5218
 #, python-format
 msgid "Marking %s as an update to %s"
 msgstr "%s ਨੂੰ %s ਦੇ ਲਈ ਅੱਪਡੇਟ ਵਜੋਂ ਲਿਆ ਜਾ ਰਿਹਾ ਹੈ"
 
-#: ../yum/__init__.py:4112
+#: ../yum/__init__.py:5225
 #, python-format
 msgid "%s: does not update installed package."
 msgstr "%s: ਇੰਸਟਾਲ ਹੋਏ ਪੈਕੇਜ ਅੱਪਡੇਟ ਨਹੀਂ ਕੀਤੇ ਜਾਂਦੇ।"
 
-#: ../yum/__init__.py:4147 ../yum/__init__.py:4223
+#: ../yum/__init__.py:5259 ../yum/__init__.py:5344
 #, python-format
 msgid "Cannot open file: %s. Skipping."
 msgstr "%s: ਫਾਇਲ ਖੋਲ੍ਹੀ ਨਹੀਂ ਜਾ ਸਕਦੀ। ਛੱਡਿਆ ਜਾ ਰਿਹਾ ਹੈ।"
 
-#: ../yum/__init__.py:4177
+#: ../yum/__init__.py:5299
 msgid "Problem in reinstall: no package matched to remove"
 msgstr "ਮੁੜ-ਇੰਸਟਾਲ ਕਰਨ ਦੌਰਾਨ ਸਮੱਸਿਆ: ਹਟਾਉਣ ਲਈ ਕੋਈ ਪੈਕੇਜ ਨਹੀਂ ਮਿਲਦਾ"
 
-#: ../yum/__init__.py:4203
+#: ../yum/__init__.py:5325
 #, python-format
 msgid "Problem in reinstall: no package %s matched to install"
 msgstr "ਮੜ-ਇੰਸਟਾਲ ਕਰਨ ਦੌਰਾਨ ਸਮੱਸਿਆ: ਇੰਸਟਾਲ ਕਰਨ ਲਈ %s ਪੈਕੇਜ ਨਾਲ ਕੋਈ ਨਹੀਂ ਮਿਲਦਾ"
 
-#: ../yum/__init__.py:4311
+#: ../yum/__init__.py:5438
 msgid "No package(s) available to downgrade"
 msgstr "ਡਾਊਨਗਰੇਡ ਕਰਨ ਲਈ ਕੋਈ ਪੈਕੇਜ ਉਪਲੱਬਧ ਨਹੀਂ"
 
-#: ../yum/__init__.py:4319
+#: ../yum/__init__.py:5446
 #, python-format
 msgid "Package %s is allowed multiple installs, skipping"
 msgstr "%s ਪੈਕੇਜ ਕਈ ਇੰਸਟਾਲ ਲਈ ਮਨਜ਼ੂਰ ਹੈ, ਛੱਡਿਆ ਜਾ ਰਿਹਾ ਹੈ"
 
-#: ../yum/__init__.py:4365
+#: ../yum/__init__.py:5496
 #, python-format
 msgid "No Match for available package: %s"
 msgstr "ਉਪਲੱਬਧ ਪੈਕੇਜ ਲਈ ਕੋਈ ਮੇਲ ਨਹੀਂ: %s"
 
-#: ../yum/__init__.py:4372
+#: ../yum/__init__.py:5506
 #, python-format
 msgid "Only Upgrade available on package: %s"
 msgstr "%s: ਪੈਕੇਜ ਲਈ ਕੇਵਲ ਅੱਪਗਰੇਡ ਉਪਲੱਬਧ"
 
-#: ../yum/__init__.py:4442 ../yum/__init__.py:4479
+#: ../yum/__init__.py:5619 ../yum/__init__.py:5686
 #, python-format
 msgid "Failed to downgrade: %s"
 msgstr "ਡਾਊਨਗਰੇਡ ਕਰਨ ਲਈ ਫੇਲ੍ਹ: %s"
 
-#: ../yum/__init__.py:4516
+#: ../yum/__init__.py:5636 ../yum/__init__.py:5692
+#, python-format
+msgid "Failed to upgrade: %s"
+msgstr "%s: ਅੱਪਗਰੇਡ ਕਰਨ ਲਈ ਫੇਲ੍ਹ"
+
+#: ../yum/__init__.py:5725
 #, python-format
 msgid "Retrieving key from %s"
-msgstr ""
+msgstr "%s ਤੋਂ ਕੁੰਜੀ ਲਈ ਜਾ ਰਹੀ ਹੈ"
 
-#: ../yum/__init__.py:4534
+#: ../yum/__init__.py:5743
 msgid "GPG key retrieval failed: "
 msgstr "GPG ਕੁੰਜੀ ਲੈਣ ਲਈ ਫੇਲ੍ਹ: "
 
 #. if we decide we want to check, even though the sig failed
 #. here is where we would do that
-#: ../yum/__init__.py:4557
+#: ../yum/__init__.py:5766
 #, python-format
 msgid "GPG key signature on key %s does not match CA Key for repo: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4559
+#: ../yum/__init__.py:5768
 msgid "GPG key signature verified against CA Key(s)"
 msgstr ""
 
-#: ../yum/__init__.py:4567
+#: ../yum/__init__.py:5776
 #, python-format
 msgid "Invalid GPG Key from %s: %s"
 msgstr "%s ਤੋਂ ਗਲਤ GPG ਕੁੰਜੀ: %s"
 
-#: ../yum/__init__.py:4576
+#: ../yum/__init__.py:5785
 #, python-format
 msgid "GPG key parsing failed: key does not have value %s"
 msgstr ""
 
-#: ../yum/__init__.py:4592
+#: ../yum/__init__.py:5801
 #, python-format
 msgid ""
 "Importing %s key 0x%s:\n"
-" Userid : %s\n"
-" Package: %s (%s)\n"
-" From   : %s"
-msgstr ""
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" Package    : %s (%s)\n"
+" From       : %s"
+msgstr "%s ਕੁੰਜੀ 0x%s ਇੰਪੋਰਟ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ:\n Userid     : \"%s\"\n ਫਿੰਗਰਪਰਿੰਟ: %s\n ਪੈਕੇਜ    : %s (%s)\n ਇੱਥੋਂ       : %s"
 
-#: ../yum/__init__.py:4600
+#: ../yum/__init__.py:5811
 #, python-format
 msgid ""
 "Importing %s key 0x%s:\n"
-" Userid: \"%s\"\n"
-" From  : %s"
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" From       : %s"
+msgstr "%s ਕੁੰਜੀ 0x%s ਇੰਪੋਰਟ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ:\n Userid     : \"%s\"\n ਫਿੰਗਰਪਰਿੰਟ: %s\n ਇਸ ਤੋਂ       : %s"
+
+#: ../yum/__init__.py:5839
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" Failing package is: %s\n"
+" GPG Keys are configured as: %s\n"
 msgstr ""
 
-#: ../yum/__init__.py:4634
+#: ../yum/__init__.py:5853
 #, python-format
 msgid "GPG key at %s (0x%s) is already installed"
-msgstr ""
+msgstr "GPG ਕੁੰਜੀ %s (0x%s) ਪਹਿਲਾਂ ਹੀ ਇੰਸਟਾਲ ਹੈ"
 
-#: ../yum/__init__.py:4671
+#: ../yum/__init__.py:5891
 #, python-format
 msgid "Key import failed (code %d)"
 msgstr "ਕੁੰਜੀ ਇੰਪੋਰਟ ਕਰਨ ਲਈ ਫੇਲ੍ਹ (ਕੋਡ %d)"
 
-#: ../yum/__init__.py:4672 ../yum/__init__.py:4755
+#: ../yum/__init__.py:5893 ../yum/__init__.py:5994
 msgid "Key imported successfully"
 msgstr "ਕੁੰਜੀ ਠੀਕ ਤਰ੍ਹਾਂ ਇੰਪੋਰਟ ਕੀਤੀ ਗਈ"
 
-#: ../yum/__init__.py:4676
+#: ../yum/__init__.py:5897
 msgid "Didn't install any keys"
-msgstr ""
+msgstr "ਕੋਈ ਵੀ ਕੁੰਜੀ ਇੰਸਟਾਲ ਨਹੀਂ ਕੀਤੀ"
 
-#: ../yum/__init__.py:4680
+#: ../yum/__init__.py:5900
 #, python-format
 msgid ""
 "The GPG keys listed for the \"%s\" repository are already installed but they are not correct for this package.\n"
 "Check that the correct key URLs are configured for this repository."
 msgstr ""
 
-#: ../yum/__init__.py:4689
+#: ../yum/__init__.py:5910
 msgid "Import of key(s) didn't help, wrong key(s)?"
+msgstr "ਕੁੰਜੀਆਂ ਇੰਪੋਰਟ ਕਰਨ ਨਾਲ ਕੰਮ ਨਹੀਂ ਬਣਿਆ, ਗਲਤ ਕੁੰਜੀਆਂ?"
+
+#: ../yum/__init__.py:5932
+msgid "No"
+msgstr "ਨਹੀਂ"
+
+#: ../yum/__init__.py:5934
+msgid "Yes"
+msgstr "ਹਾਂ"
+
+#: ../yum/__init__.py:5935
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" CA Key: %s\n"
+" Failing repo is: %s\n"
+" GPG Keys are configured as: %s\n"
 msgstr ""
 
-#: ../yum/__init__.py:4713
+#: ../yum/__init__.py:5948
 #, python-format
 msgid "GPG key at %s (0x%s) is already imported"
-msgstr ""
+msgstr "GPG ਕੁੰਜੀ %s (0x%s) ਨੂੰ ਪਹਿਲਾਂ ਹੀ ਇੰਪੋਰਟ ਕੀਤਾ ਗਿਆ ਹੈ"
 
-#: ../yum/__init__.py:4754
-msgid "Key import failed"
-msgstr "ਕੁੰਜੀ ਇੰਪੋਰਟ ਫੇਲ੍ਹ"
+#: ../yum/__init__.py:5992
+#, python-format
+msgid "Key %s import failed"
+msgstr "ਕੁੰਜੀ %s ਇੰਪੋਰਟ ਕਰਨ ਲਈ ਫੇਲ੍ਹ ਹੈ"
 
-#: ../yum/__init__.py:4770
+#: ../yum/__init__.py:6009
 #, python-format
 msgid "Didn't install any keys for repo %s"
-msgstr ""
+msgstr "%s ਰੈਪੋ ਲਈ ਕੋਈ ਵੀ ਕੁੰਜੀਆਂ ਇੰਸਟਾਲ ਨਹੀਂ ਹਨ"
 
-#: ../yum/__init__.py:4774
+#: ../yum/__init__.py:6014
 #, python-format
 msgid ""
 "The GPG keys listed for the \"%s\" repository are already installed but they are not correct.\n"
 "Check that the correct key URLs are configured for this repository."
 msgstr ""
 
-#: ../yum/__init__.py:4924
+#: ../yum/__init__.py:6172
 msgid "Unable to find a suitable mirror."
 msgstr "ਢੁੱਕਵਾਂ ਮਿੱਰਰ ਲੱਭਣ ਲਈ ਅਸਮਰੱਥ ਹੈ।"
 
-#: ../yum/__init__.py:4926
+#: ../yum/__init__.py:6174
 msgid "Errors were encountered while downloading packages."
 msgstr "ਪੈਕੇਜ ਡਾਊਨਲੋਡ ਕਰਨ ਦੌਰਾਨ ਗਲਤੀਆਂ ਆਈਆਂ ਹਨ।"
 
-#: ../yum/__init__.py:4981
+#: ../yum/__init__.py:6229
 #, python-format
 msgid "Please report this error at %s"
 msgstr "%s ਵਿੱਚ ਇਹ ਗਲਤੀ ਬਾਰੇ ਜਾਣਕਾਰੀ ਦਿਉ"
 
-#: ../yum/__init__.py:4998
+#: ../yum/__init__.py:6246
 msgid "Test Transaction Errors: "
 msgstr "ਟੈਸਟ ਟਰਾਂਸੈਕਸ਼ਨ ਗਲਤੀਆਂ: "
 
-#: ../yum/__init__.py:5098
+#: ../yum/__init__.py:6358
 #, python-format
 msgid "Could not set cachedir: %s"
-msgstr ""
+msgstr "ਕੈਸ਼-ਡਾਇਰੈ ਸੈੱਟ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕੀ: %s"
 
-#: ../yum/__init__.py:5148 ../yum/__init__.py:5150
+#: ../yum/__init__.py:6420 ../yum/__init__.py:6422
 msgid "Dependencies not solved. Will not save unresolved transaction."
-msgstr ""
+msgstr "ਨਿਰਭਰਤਾ ਹੱਲ ਨਹੀਂ ਹੋ ਸਕੀ। ਨਾ-ਹੱਲ ਹੋਈ ਟਰਾਂਸੈਕਸ਼ਨ ਸੰਭਾਲੀ ਨਹੀਂ ਜਾਵੇਗੀ।"
 
-#: ../yum/__init__.py:5179 ../yum/__init__.py:5181
+#: ../yum/__init__.py:6455 ../yum/__init__.py:6457
 #, python-format
 msgid "Could not save transaction file %s: %s"
-msgstr ""
+msgstr "ਟਰਾਂਸੈਕਸ਼ਨ ਫਾਇਲ %s ਸੰਭਾਲੀ ਨਹੀਂ ਜਾ ਸਕੀ: %s"
 
-#: ../yum/__init__.py:5195
+#: ../yum/__init__.py:6483
 #, python-format
 msgid "Could not access/read saved transaction %s : %s"
-msgstr ""
+msgstr "%s ਸੰਭਾਲੀ ਹੋਈ ਟਰਾਂਸੈਕਸ਼ਨ ਨੂੰ ਵਰਤਿਆ/ਪੜ੍ਹਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ: %s"
 
-#: ../yum/__init__.py:5214
-msgid "rpmdb ver mismatched saved transaction version, "
+#: ../yum/__init__.py:6521
+msgid "rpmdb ver mismatched saved transaction version,"
 msgstr ""
 
-#: ../yum/__init__.py:5216
-msgid " ignoring, as requested."
-msgstr ""
-
-#: ../yum/__init__.py:5219 ../yum/__init__.py:5354
-msgid " aborting."
-msgstr ""
-
-#: ../yum/__init__.py:5228
+#: ../yum/__init__.py:6535
 msgid "cannot find tsflags or tsflags not integer."
 msgstr ""
 
-#: ../yum/__init__.py:5267
+#: ../yum/__init__.py:6584
 #, python-format
 msgid "Found txmbr in unknown current state: %s"
 msgstr ""
 
-#: ../yum/__init__.py:5271
+#: ../yum/__init__.py:6588
 #, python-format
 msgid "Could not find txmbr: %s in state %s"
 msgstr ""
 
-#: ../yum/__init__.py:5307 ../yum/__init__.py:5324
+#: ../yum/__init__.py:6625 ../yum/__init__.py:6642
 #, python-format
 msgid "Could not find txmbr: %s from origin: %s"
 msgstr ""
 
-#: ../yum/__init__.py:5349
+#: ../yum/__init__.py:6667
 msgid "Transaction members, relations are missing or ts has been modified,"
 msgstr ""
 
-#: ../yum/__init__.py:5351
+#: ../yum/__init__.py:6670
 msgid " ignoring, as requested. You must redepsolve!"
 msgstr ""
 
+#. Debugging output
+#: ../yum/__init__.py:6738 ../yum/__init__.py:6757
+#, python-format
+msgid "%s has been visited already and cannot be removed."
+msgstr "%s ਨੂੰ ਪਹਿਲਾਂ ਹੀ ਵੇਖਿਆ ਗਿਆ ਹੈ ਅਤੇ ਹਟਾਇਆ ਨਹੀਂ ਜਾ ਸਕਦਾ ਹੈ।"
+
+#. Debugging output
+#: ../yum/__init__.py:6741
+#, python-format
+msgid "Examining revdeps of %s"
+msgstr ""
+
+#. Debugging output
+#: ../yum/__init__.py:6762
+#, python-format
+msgid "%s has revdep %s which was user-installed."
+msgstr ""
+
+#: ../yum/__init__.py:6773 ../yum/__init__.py:6779
+#, python-format
+msgid "%s is needed by a package to be installed."
+msgstr "ਇੱਕ ਪੈਕੇਜ ਵਲੋਂ %s ਨੂੰ ਇੰਸਟਾਲ ਕੀਤਾ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ।"
+
+#. Debugging output
+#: ../yum/__init__.py:6793
+#, python-format
+msgid "%s has no user-installed revdeps."
+msgstr ""
+
 #. Mostly copied from YumOutput._outKeyValFill()
-#: ../yum/plugins.py:209
+#: ../yum/plugins.py:212
 msgid "Loaded plugins: "
 msgstr "ਲੋਡ ਕੀਤੀਆਂ ਪਲੱਗਇਨ: "
 
-#: ../yum/plugins.py:223 ../yum/plugins.py:229
+#: ../yum/plugins.py:226 ../yum/plugins.py:232
 #, python-format
 msgid "No plugin match for: %s"
 msgstr "%s: ਨਾਲ ਮਿਲਦੀ ਕੋਈ ਪਲੱਗਇਨ ਨਹੀਂ ਹੈ"
 
-#: ../yum/plugins.py:259
+#: ../yum/plugins.py:262
 #, python-format
 msgid "Not loading \"%s\" plugin, as it is disabled"
 msgstr "\"%s\" ਪਲੱਗਇਨ ਲੋਡ ਨਹੀਂ ਕੀਤੀ ਜਾ ਰਹੀ, ਕਿਉਂਕਿ ਇਹ ਬੰਦ ਹੈ"
 
 #. Give full backtrace:
-#: ../yum/plugins.py:271
+#: ../yum/plugins.py:274
 #, python-format
 msgid "Plugin \"%s\" can't be imported"
 msgstr "ਪਲੱਗਇਨ \"%s\" ਇੰਪੋਰਟ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ"
 
-#: ../yum/plugins.py:278
+#: ../yum/plugins.py:281
 #, python-format
 msgid "Plugin \"%s\" doesn't specify required API version"
 msgstr ""
 
-#: ../yum/plugins.py:283
+#: ../yum/plugins.py:286
 #, python-format
 msgid "Plugin \"%s\" requires API %s. Supported API is %s."
 msgstr ""
 
-#: ../yum/plugins.py:316
+#: ../yum/plugins.py:319
 #, python-format
 msgid "Loading \"%s\" plugin"
 msgstr "\"%s\" ਪਲੱਗਇਨ ਲੋਡ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ"
 
-#: ../yum/plugins.py:323
+#: ../yum/plugins.py:326
 #, python-format
 msgid "Two or more plugins with the name \"%s\" exist in the plugin search path"
 msgstr ""
 
-#: ../yum/plugins.py:343
+#: ../yum/plugins.py:346
 #, python-format
 msgid "Configuration file %s not found"
 msgstr "ਸੰਰਚਨਾ ਫਾਇਲ %s ਨਹੀਂ ਲੱਭੀ"
 
 #. for
 #. Configuration files for the plugin not found
-#: ../yum/plugins.py:346
+#: ../yum/plugins.py:349
 #, python-format
 msgid "Unable to find configuration file for plugin %s"
 msgstr "ਪਲੱਗਇਨ %s ਲਈ ਸੰਰਚਨਾ ਫਾਇਲ ਲੱਭਣ ਲਈ ਅਸਮਰੱਥ"
 
-#: ../yum/plugins.py:508
+#: ../yum/plugins.py:553
 msgid "registration of commands not supported"
 msgstr "ਕਮਾਂਡਾਂ ਲਈ ਰਜਿਸਟਰੇਸਨ ਲਈ ਸਹਾਇਕ ਨਹੀਂ"
 
-#: ../yum/rpmsack.py:148
+#: ../yum/rpmsack.py:159
 msgid "has missing requires of"
-msgstr ""
+msgstr "ਲਈ ਲੋੜ ਦੀ ਕਮੀ"
 
-#: ../yum/rpmsack.py:151
+#: ../yum/rpmsack.py:162
 msgid "has installed conflicts"
-msgstr ""
+msgstr "ਨੇ ਅਪਵਾਦ ਇੰਸਟਾਲ ਕੀਤੇ"
 
-#: ../yum/rpmsack.py:160
+#: ../yum/rpmsack.py:171
 #, python-format
 msgid "%s is a duplicate with %s"
 msgstr "%s %s ਨਾਲ ਡੁਪਲੀਕੇਟ ਹੈ"
 
-#: ../yum/rpmsack.py:168
+#: ../yum/rpmsack.py:179
 #, python-format
 msgid "%s is obsoleted by %s"
 msgstr "%s ਨੂੰ %s ਨਾਲ ਬਦਲਿਆ ਜਾਂਦਾ ਹੈ"
 
-#: ../yum/rpmsack.py:176
+#: ../yum/rpmsack.py:187
 #, python-format
 msgid "%s provides %s but it cannot be found"
-msgstr ""
+msgstr "%s %s ਦਿੰਦਾ ਹੈ, ਪਰ ਇਹ ਲੱਭਿਆ ਨਹੀਂ ਜਾ ਸਕਦਾ"
 
 #: ../yum/rpmtrans.py:80
 msgid "Repackaging"
 msgstr "ਮੁੜ-ਪੈਕ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"
 
+#: ../yum/rpmtrans.py:149
+#, python-format
+msgid "Verify: %u/%u: %s"
+msgstr "ਜਾਂਚ: %u/%u: %s"
+
+#: ../yum/yumRepo.py:919
+#, python-format
+msgid ""
+"Insufficient space in download directory %s\n"
+"    * free   %s\n"
+"    * needed %s"
+msgstr "ਡਾਊਨਲੋਡ ਡਾਇਰੈਕਟਰੀ %s ਵਿੱਚ ਨਾ-ਲੋੜੀਦੀ ਖਾਲੀ ਥਾਂ\n    * ਖਾਲੀ   %s\n    * ਚਾਹੀਦੀ  %s"
+
+#: ../yum/yumRepo.py:986
+msgid "Package does not match intended download."
+msgstr ""
+
 #: ../rpmUtils/oldUtils.py:33
 #, python-format
 msgid "Header cannot be opened or does not match %s, %s."
@@ -3110,12 +3484,11 @@ msgstr ""
 #: ../rpmUtils/oldUtils.py:53
 #, python-format
 msgid "RPM %s fails md5 check"
-msgstr ""
+msgstr "RPM %s md5 ਚੈਕ ਲਈ ਫੇਲ੍ਹ ਹੈ"
 
 #: ../rpmUtils/oldUtils.py:151
 msgid "Could not open RPM database for reading. Perhaps it is already in use?"
-msgstr ""
-"RPM ਡਾਟਾਬੇਸ ਪੜ੍ਹਨ ਲਈ ਖੋਲ੍ਹਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ। ਸ਼ਾਇਦ ਪਹਿਲਾਂ ਹੀ ਵਰਤਿਆ ਜਾ ਰਿਹਾ ਹੈ?"
+msgstr "RPM ਡਾਟਾਬੇਸ ਪੜ੍ਹਨ ਲਈ ਖੋਲ੍ਹਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ। ਸ਼ਾਇਦ ਪਹਿਲਾਂ ਹੀ ਵਰਤਿਆ ਜਾ ਰਿਹਾ ਹੈ?"
 
 #: ../rpmUtils/oldUtils.py:183
 msgid "Got an empty Header, something has gone wrong"
@@ -3131,5 +3504,3 @@ msgstr "ਖਰਾਬ ਹੋਇਆ ਹੈੱਡਰ %s"
 #, python-format
 msgid "Error opening rpm %s - error %s"
 msgstr "rpm %s ਖੋਲ੍ਹਣ ਦੌਰਾਨ ਗਲਤੀ - ਗਲਤੀ %s"
-
-
diff --git a/po/pl.po b/po/pl.po
index 0fe83a9..e907814 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -2,1518 +2,1655 @@
 # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
 # This file is distributed under the same license as the PACKAGE package.
 # 
-# Piotr Drąg <piotrdrag@gmail.com>, 2011
+# Translators:
+# Piotr Drąg <piotrdrag@gmail.com>, 2011-2013.
 msgid ""
 msgstr ""
 "Project-Id-Version: Yum\n"
-"Report-Msgid-Bugs-To: http://yum.baseurl.org/\n"
-"POT-Creation-Date: 2011-06-06 10:21-0400\n"
-"PO-Revision-Date: 2011-06-06 14:21+0000\n"
-"Last-Translator: skvidal <skvidal@fedoraproject.org>\n"
-"Language-Team: Polish (http://www.transifex.net/projects/p/yum/team/pl/)\n"
+"Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
+"POT-Creation-Date: 2013-01-30 09:08-0500\n"
+"PO-Revision-Date: 2013-01-31 18:46+0000\n"
+"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
+"Language-Team: Polish (http://www.transifex.com/projects/p/yum/language/pl/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Language: pl\n"
-"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
+"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
 
-#: ../callback.py:48 ../output.py:1037 ../yum/rpmtrans.py:73
+#: ../callback.py:45 ../output.py:1502 ../yum/rpmtrans.py:73
 msgid "Updating"
 msgstr "Aktualizowanie"
 
-#: ../callback.py:49 ../yum/rpmtrans.py:74
+#: ../callback.py:46 ../yum/rpmtrans.py:74
 msgid "Erasing"
 msgstr "Usuwanie"
 
-#: ../callback.py:50 ../callback.py:51 ../callback.py:53 ../output.py:1036
-#: ../output.py:2218 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
+#: ../callback.py:47 ../callback.py:48 ../callback.py:50 ../output.py:1501
+#: ../output.py:2922 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
 #: ../yum/rpmtrans.py:78
 msgid "Installing"
 msgstr "Instalowanie"
 
-#: ../callback.py:52 ../callback.py:58 ../output.py:1840 ../yum/rpmtrans.py:77
+#: ../callback.py:49 ../callback.py:55 ../output.py:2379 ../yum/rpmtrans.py:77
 msgid "Obsoleted"
 msgstr "Przestarzałe"
 
-#: ../callback.py:54 ../output.py:1169 ../output.py:1686 ../output.py:1847
+#: ../callback.py:51 ../output.py:1670 ../output.py:2222 ../output.py:2386
 msgid "Updated"
 msgstr "Zaktualizowano"
 
-#: ../callback.py:55 ../output.py:1685
+#: ../callback.py:52 ../output.py:2221
 msgid "Erased"
 msgstr "Usunięto"
 
-#: ../callback.py:56 ../callback.py:57 ../callback.py:59 ../output.py:1167
-#: ../output.py:1685 ../output.py:1687 ../output.py:2190
+#: ../callback.py:53 ../callback.py:54 ../callback.py:56 ../output.py:1668
+#: ../output.py:2221 ../output.py:2223 ../output.py:2894
 msgid "Installed"
 msgstr "Zainstalowano"
 
-#: ../callback.py:130
+#: ../callback.py:142
 msgid "No header - huh?"
 msgstr "Brak nagłówka - hę?"
 
-#: ../callback.py:168
+#: ../callback.py:180
 msgid "Repackage"
 msgstr "Ponowne utworzenie pakietu"
 
-#: ../callback.py:189
+#: ../callback.py:201
 #, python-format
 msgid "Error: invalid output state: %s for %s"
 msgstr "Błąd: nieprawidłowy stan wyjścia: %s dla %s"
 
-#: ../callback.py:212
+#: ../callback.py:224
 #, python-format
 msgid "Erased: %s"
 msgstr "Usunięto: %s"
 
-#: ../callback.py:217 ../output.py:1038 ../output.py:2193
+#: ../callback.py:229 ../output.py:1503 ../output.py:2897
 msgid "Removing"
 msgstr "Usuwanie"
 
-#: ../callback.py:219 ../yum/rpmtrans.py:79
+#: ../callback.py:231 ../yum/rpmtrans.py:79
 msgid "Cleanup"
 msgstr "Czyszczenie"
 
-#: ../cli.py:115
+#: ../cli.py:122
 #, python-format
 msgid "Command \"%s\" already defined"
 msgstr "Polecenie \"%s\" zostało już określone"
 
-#: ../cli.py:127
+#: ../cli.py:137
 msgid "Setting up repositories"
 msgstr "Ustawianie repozytoriów"
 
-#: ../cli.py:138
+#: ../cli.py:148
 msgid "Reading repository metadata in from local files"
 msgstr "Odczytywanie metadanych repozytoriów z lokalnych plików"
 
-#: ../cli.py:245 ../utils.py:281
+#: ../cli.py:273 ../cli.py:277 ../utils.py:320
 #, python-format
 msgid "Config Error: %s"
 msgstr "Błąd konfiguracji: %s"
 
-#: ../cli.py:248 ../cli.py:1584 ../utils.py:284
+#: ../cli.py:280 ../cli.py:2206 ../utils.py:323
 #, python-format
 msgid "Options Error: %s"
 msgstr "Błąd opcji: %s"
 
-#: ../cli.py:293
+#: ../cli.py:327
 #, python-format
 msgid "  Installed: %s-%s at %s"
 msgstr "  Zainstalowane: %s-%s o %s"
 
-#: ../cli.py:295
+#: ../cli.py:329
 #, python-format
 msgid "  Built    : %s at %s"
 msgstr "  Zbudowane    : %s o %s"
 
-#: ../cli.py:297
+#: ../cli.py:331
 #, python-format
 msgid "  Committed: %s at %s"
 msgstr "  Wysłane: %s o %s"
 
-#: ../cli.py:336
+#: ../cli.py:372
 msgid "You need to give some command"
 msgstr "Należy podać polecenie"
 
-#: ../cli.py:350
+#: ../cli.py:386
 #, python-format
 msgid "No such command: %s. Please use %s --help"
 msgstr "Nie ma takiego polecenia: %s. Proszę użyć %s --help"
 
-#: ../cli.py:400
+#: ../cli.py:444
 msgid "Disk Requirements:\n"
 msgstr "Wymagane miejsce na dysku:\n"
 
-#: ../cli.py:402
+#: ../cli.py:446
 #, python-format
 msgid "  At least %dMB more space needed on the %s filesystem.\n"
-msgstr ""
-"  Wymagane jest co najmniej %d MB więcej miejsca w systemie plików %s.\n"
+msgid_plural "  At least %dMB more space needed on the %s filesystem.\n"
+msgstr[0] "  Wymagane jest co najmniej %d MB więcej miejsca w systemie plików %s.\n"
+msgstr[1] "  Wymagane jest co najmniej %d MB więcej miejsca w systemie plików %s.\n"
+msgstr[2] "  Wymagane jest co najmniej %d MB więcej miejsca w systemie plików %s.\n"
 
 #. TODO: simplify the dependency errors?
 #. Fixup the summary
-#: ../cli.py:407
+#: ../cli.py:451
 msgid ""
 "Error Summary\n"
 "-------------\n"
-msgstr ""
-"Podsumowanie błędów\n"
-"-------------------\n"
+msgstr "Podsumowanie błędów\n-------------------\n"
+
+#: ../cli.py:472
+msgid "Can't create lock file; exiting"
+msgstr "Nie można utworzyć pliku blokady; kończenie działania"
+
+#: ../cli.py:479
+msgid ""
+"Another app is currently holding the yum lock; exiting as configured by "
+"exit_on_lock"
+msgstr "Inna aplikacja obecnie blokuje program yum. Kończenie działania zgodnie z konfiguracją exit_on_lock"
 
-#: ../cli.py:450
+#: ../cli.py:532
 msgid "Trying to run the transaction but nothing to do. Exiting."
-msgstr ""
-"Próbowano wykonać transakcję, ale nie ma nic do zrobienia. Kończenie "
-"działania."
+msgstr "Próbowano wykonać transakcję, ale nie ma nic do zrobienia. Kończenie działania."
+
+#: ../cli.py:577
+msgid "future rpmdb ver mismatched saved transaction version,"
+msgstr "przyszła wersja RPMDB nie zgadza się z zapisaną wersją transakcji,"
+
+#: ../cli.py:579 ../yum/__init__.py:6523
+msgid " ignoring, as requested."
+msgstr " ignorowanie, jak zażądano."
+
+#: ../cli.py:582 ../yum/__init__.py:6526 ../yum/__init__.py:6673
+msgid " aborting."
+msgstr " przerywanie."
 
-#: ../cli.py:497
+#: ../cli.py:588
 msgid "Exiting on user Command"
 msgstr "Kończenie działania na polecenie użytkownika"
 
-#: ../cli.py:501
+#: ../cli.py:592
 msgid "Downloading Packages:"
 msgstr "Pobieranie pakietów:"
 
-#: ../cli.py:506
+#: ../cli.py:597
 msgid "Error Downloading Packages:\n"
 msgstr "Błąd podczas pobierania pakietów:\n"
 
-#: ../cli.py:525 ../yum/__init__.py:4967
+#: ../cli.py:616 ../yum/__init__.py:6215
 msgid "Running Transaction Check"
 msgstr "Wykonywanie sprawdzania transakcji"
 
-#: ../cli.py:534 ../yum/__init__.py:4976
+#: ../cli.py:625 ../yum/__init__.py:6224
 msgid "ERROR You need to update rpm to handle:"
 msgstr "BŁĄD należy zaktualizować pakiet RPM, aby obsłużyć:"
 
-#: ../cli.py:536 ../yum/__init__.py:4979
+#: ../cli.py:627 ../yum/__init__.py:6227
 msgid "ERROR with transaction check vs depsolve:"
 msgstr "BŁĄD sprawdzania transakcji i rozwiązywania zależności:"
 
-#: ../cli.py:542
+#: ../cli.py:633
 msgid "RPM needs to be updated"
 msgstr "Pakiet RPM musi zostać zaktualizowany"
 
-#: ../cli.py:543
+#: ../cli.py:634
 #, python-format
 msgid "Please report this error in %s"
 msgstr "Proszę zgłosić ten błąd na %s"
 
-#: ../cli.py:549
+#: ../cli.py:640
 msgid "Running Transaction Test"
 msgstr "Wykonywanie testu transakcji"
 
-#: ../cli.py:561
+#: ../cli.py:652
 msgid "Transaction Check Error:\n"
 msgstr "Błąd podczas sprawdzania transakcji:\n"
 
-#: ../cli.py:568
+#: ../cli.py:659
 msgid "Transaction Test Succeeded"
 msgstr "Test transakcji został ukończony powodzeniem"
 
-#: ../cli.py:600
+#: ../cli.py:691
 msgid "Running Transaction"
 msgstr "Wykonywanie transakcji"
 
-#: ../cli.py:630
+#: ../cli.py:724
 msgid ""
 "Refusing to automatically import keys when running unattended.\n"
 "Use \"-y\" to override."
-msgstr ""
-"Odmawianie automatycznego zaimportowania kluczy podczas nienadzorowanego uruchomienia.\n"
-"Należy użyć \"-y\", aby wymusić."
+msgstr "Odmawianie automatycznego zaimportowania kluczy podczas nienadzorowanego uruchomienia.\nNależy użyć \"-y\", aby wymusić."
 
-#: ../cli.py:649 ../cli.py:692
+#: ../cli.py:743 ../cli.py:786
 msgid "  * Maybe you meant: "
 msgstr "  * Czy chodziło o: "
 
-#: ../cli.py:675 ../cli.py:683
+#: ../cli.py:769 ../cli.py:777
 #, python-format
 msgid "Package(s) %s%s%s available, but not installed."
 msgstr "Pakiety %s%s%s są dostępne, ale nie są zainstalowane."
 
-#: ../cli.py:689 ../cli.py:722 ../cli.py:908
+#: ../cli.py:783 ../cli.py:891 ../cli.py:1158
 #, python-format
 msgid "No package %s%s%s available."
 msgstr "Nie ma pakietu %s%s%s."
 
-#: ../cli.py:729 ../cli.py:973
-msgid "Package(s) to install"
-msgstr "Pakiety do zainstalowania"
+#: ../cli.py:871 ../cli.py:881 ../cli.py:1101 ../cli.py:1111
+#, python-format
+msgid "Bad %s argument %s."
+msgstr "Błędny %s parametr %s."
 
-#: ../cli.py:732 ../cli.py:733 ../cli.py:914 ../cli.py:948 ../cli.py:974
-#: ../yumcommands.py:190
+#: ../cli.py:900 ../yumcommands.py:3331
+#, python-format
+msgid "%d package to install"
+msgid_plural "%d packages to install"
+msgstr[0] "%d pakiet do zainstalowania"
+msgstr[1] "%d pakiety do zainstalowania"
+msgstr[2] "%d pakietów do zainstalowania"
+
+#: ../cli.py:903 ../cli.py:904 ../cli.py:1169 ../cli.py:1170 ../cli.py:1224
+#: ../cli.py:1225 ../cli.py:1260 ../yumcommands.py:323 ../yumcommands.py:3419
 msgid "Nothing to do"
 msgstr "Nie ma niczego do zrobienia"
 
-#: ../cli.py:767
+#: ../cli.py:953
 #, python-format
-msgid "%d packages marked for Update"
-msgstr "%d pakietów oznaczonych do aktualizacji"
+msgid "%d package marked for Update"
+msgid_plural "%d packages marked for Update"
+msgstr[0] "%d pakiet oznaczony do aktualizacji"
+msgstr[1] "%d pakiety oznaczone do aktualizacji"
+msgstr[2] "%d pakietów oznaczonych do aktualizacji"
 
-#: ../cli.py:770
+#: ../cli.py:955
 msgid "No Packages marked for Update"
 msgstr "Brak pakietów oznaczonych do aktualizacji"
 
-#: ../cli.py:866
+#: ../cli.py:1067
 #, python-format
-msgid "%d packages marked for Distribution Synchronization"
-msgstr "%d pakietów oznaczonych do synchronizacji dystrybucji"
+msgid "%d package marked for Distribution Synchronization"
+msgid_plural "%d packages marked for Distribution Synchronization"
+msgstr[0] "%d pakiet oznaczony do synchronizacji dystrybucji"
+msgstr[1] "%d pakiety oznaczone do synchronizacji dystrybucji"
+msgstr[2] "%d pakietów oznaczonych do synchronizacji dystrybucji"
 
-#: ../cli.py:869
+#: ../cli.py:1069
 msgid "No Packages marked for Distribution Synchronization"
 msgstr "Brak pakietów oznaczonych do synchronizacji dystrybucji"
 
-#: ../cli.py:885
+#: ../cli.py:1124
 #, python-format
-msgid "%d packages marked for removal"
-msgstr "%d pakietów oznaczonych do usunięcia"
+msgid "%d package marked for removal"
+msgid_plural "%d packages marked for removal"
+msgstr[0] "%d pakiet oznaczony do usunięcia"
+msgstr[1] "%d pakiety oznaczone do usunięcia"
+msgstr[2] "%d pakietów oznaczonych do usunięcia"
 
-#: ../cli.py:888
+#: ../cli.py:1126
 msgid "No Packages marked for removal"
 msgstr "Brak pakietów oznaczonych do usunięcia"
 
-#: ../cli.py:913
-msgid "Package(s) to downgrade"
-msgstr "Pakiety do instalacji poprzedniej wersji"
+#: ../cli.py:1166
+#, python-format
+msgid "%d package to downgrade"
+msgid_plural "%d packages to downgrade"
+msgstr[0] "%d pakiet do zainstalowania poprzedniej wersji"
+msgstr[1] "%d pakiety do zainstalowania poprzedniej wersji"
+msgstr[2] "%d pakietów do zainstalowania poprzedniej wersji"
 
-#: ../cli.py:938
+#: ../cli.py:1207
 #, python-format
 msgid " (from %s)"
 msgstr " (z %s)"
 
-#: ../cli.py:939
+#: ../cli.py:1208
 #, python-format
 msgid "Installed package %s%s%s%s not available."
 msgstr "Zainstalowany pakiet %s%s%s%s jest niedostępny."
 
-#: ../cli.py:947
-msgid "Package(s) to reinstall"
-msgstr "Pakiety do ponownego zainstalowania"
+#: ../cli.py:1221
+#, python-format
+msgid "%d package to reinstall"
+msgid_plural "%d packages to reinstall"
+msgstr[0] "%d pakiet do ponownego zainstalowania"
+msgstr[1] "%d pakiety do ponownego zainstalowania"
+msgstr[2] "%d pakietów do ponownego zainstalowania"
 
-#: ../cli.py:960
+#: ../cli.py:1246
 msgid "No Packages Provided"
 msgstr "Nie podano pakietów"
 
-#: ../cli.py:1058
+#: ../cli.py:1259
+msgid "Package(s) to install"
+msgstr "Pakiety do zainstalowania"
+
+#: ../cli.py:1367
 #, python-format
 msgid "N/S Matched: %s"
 msgstr "N/S dopasowane: %s"
 
-#: ../cli.py:1075
+#: ../cli.py:1384
 #, python-format
 msgid "  Name and summary matches %sonly%s, use \"search all\" for everything."
-msgstr ""
-"  Pasuje %stylko%s nazwa i podsumowanie, należy użyć \"search all\", aby "
-"uzyskać wszystko."
+msgstr "  Pasuje %stylko%s nazwa i podsumowanie, należy użyć \"search all\", aby uzyskać wszystko."
 
-#: ../cli.py:1077
+#: ../cli.py:1386
 #, python-format
 msgid ""
 "  Full name and summary matches %sonly%s, use \"search all\" for everything."
-msgstr ""
-"  Pasuje %stylko%s pełna nazwa i podsumowanie, należy użyć \"search all\", "
-"aby uzyskać wszystko."
+msgstr "  Pasuje %stylko%s pełna nazwa i podsumowanie, należy użyć \"search all\", aby uzyskać wszystko."
 
-#: ../cli.py:1095
+#: ../cli.py:1404
 #, python-format
 msgid "Matched: %s"
 msgstr "Pasujące: %s"
 
-#: ../cli.py:1102
+#: ../cli.py:1411
 #, python-format
 msgid "  Name and summary matches %smostly%s, use \"search all\" for everything."
-msgstr ""
-"  Pasuje %sgłównie%s nazwa i podsumowanie, należy użyć \"search all\", aby "
-"uzyskać wszystko."
+msgstr "  Pasuje %sgłównie%s nazwa i podsumowanie, należy użyć \"search all\", aby uzyskać wszystko."
 
-#: ../cli.py:1106
+#: ../cli.py:1415
 #, python-format
 msgid "Warning: No matches found for: %s"
 msgstr "Ostrzeżenie: nie odnaleziono wyników dla: %s"
 
-#: ../cli.py:1109
+#: ../cli.py:1418
 msgid "No Matches found"
 msgstr "Brak wyników"
 
-#: ../cli.py:1174
+#: ../cli.py:1536
 #, python-format
-msgid "No Package Found for %s"
-msgstr "Nie odnaleziono pakietów dla %s"
+msgid ""
+"Error: No Packages found for:\n"
+"  %s"
+msgstr "Błąd: nie odnaleziono pakietów dla:\n  %s"
 
-#: ../cli.py:1184
+#: ../cli.py:1572
 msgid "Cleaning repos: "
 msgstr "Czyszczenie repozytoriów: "
 
-#: ../cli.py:1189
+#: ../cli.py:1577
 msgid "Cleaning up Everything"
 msgstr "Czyszczenie wszystkiego"
 
-#: ../cli.py:1205
+#: ../cli.py:1593
 msgid "Cleaning up Headers"
 msgstr "Czyszczenie nagłówków"
 
-#: ../cli.py:1208
+#: ../cli.py:1596
 msgid "Cleaning up Packages"
 msgstr "Czyszczenie pakietów"
 
-#: ../cli.py:1211
+#: ../cli.py:1599
 msgid "Cleaning up xml metadata"
 msgstr "Czytanie metadanych XML"
 
-#: ../cli.py:1214
+#: ../cli.py:1602
 msgid "Cleaning up database cache"
 msgstr "Czyszczenie bazy danych w pamięci podręcznej"
 
-#: ../cli.py:1217
+#: ../cli.py:1605
 msgid "Cleaning up expire-cache metadata"
 msgstr "Czyszczenie metadanych wygasłej pamięci podręcznej"
 
-#: ../cli.py:1220
+#: ../cli.py:1608
 msgid "Cleaning up cached rpmdb data"
 msgstr "Czyszczenie bazy danych RPM w pamięci podręcznej"
 
-#: ../cli.py:1223
+#: ../cli.py:1611
 msgid "Cleaning up plugins"
 msgstr "Czyszczenie wtyczek"
 
-#: ../cli.py:1247
-#, python-format
-msgid "Warning: No groups match: %s"
-msgstr "Ostrzeżenie: brak pasujących grup: %s"
+#: ../cli.py:1727
+msgid "Installed Environment Groups:"
+msgstr "Zainstalowane grupy środowisk:"
+
+#: ../cli.py:1728
+msgid "Available Environment Groups:"
+msgstr "Dostępne grupy środowisk:"
 
-#: ../cli.py:1264
+#: ../cli.py:1735
 msgid "Installed Groups:"
 msgstr "Zainstalowane grupy:"
 
-#: ../cli.py:1270
+#: ../cli.py:1742
 msgid "Installed Language Groups:"
 msgstr "Zainstalowane grupy języków:"
 
-#: ../cli.py:1276
+#: ../cli.py:1749
 msgid "Available Groups:"
 msgstr "Dostępne grupy:"
 
-#: ../cli.py:1282
+#: ../cli.py:1756
 msgid "Available Language Groups:"
 msgstr "Dostępne grupy języków:"
 
-#: ../cli.py:1285
+#: ../cli.py:1759
+#, python-format
+msgid "Warning: No Environments/Groups match: %s"
+msgstr "Ostrzeżenie: brak pasujących środowisk/grup: %s"
+
+#: ../cli.py:1763
 msgid "Done"
 msgstr "Ukończono"
 
-#: ../cli.py:1296 ../cli.py:1314 ../cli.py:1320 ../yum/__init__.py:3313
+#: ../cli.py:1818
+#, python-format
+msgid "Warning: Group/Environment %s does not exist."
+msgstr "Ostrzeżenie: środowisko/grupa %s nie istnieje."
+
+#: ../cli.py:1859
+#, python-format
+msgid "Warning: Environment %s does not exist."
+msgstr "Ostrzeżenie: środowisko %s nie istnieje."
+
+#: ../cli.py:1873 ../cli.py:1879 ../yum/__init__.py:4254
 #, python-format
 msgid "Warning: Group %s does not exist."
 msgstr "Ostrzeżenie: grupa %s nie istnieje."
 
-#: ../cli.py:1324
+#: ../cli.py:1883
 msgid "No packages in any requested group available to install or update"
-msgstr ""
-"Brak pakietów dostępnych do instalacji lub aktualizacji w żadnej z żądanych "
-"grup"
+msgstr "Brak pakietów dostępnych do instalacji lub aktualizacji w żadnej z żądanych grup"
+
+#: ../cli.py:1885
+#, python-format
+msgid "%d package to Install"
+msgid_plural "%d packages to Install"
+msgstr[0] "%d pakiet do zainstalowania"
+msgstr[1] "%d pakiety do zainstalowania"
+msgstr[2] "%d pakietów do zainstalowania"
 
-#: ../cli.py:1326
+#: ../cli.py:1919 ../yum/__init__.py:3536 ../yum/__init__.py:3766
+#: ../yum/__init__.py:3824
 #, python-format
-msgid "%d Package(s) to Install"
-msgstr "%d pakietów do instalacji"
+msgid "No Environment named %s exists"
+msgstr "Środowisko o nazwie %s nie istnieje"
 
-#: ../cli.py:1336 ../yum/__init__.py:3325
+#: ../cli.py:1935 ../yum/__init__.py:4282
 #, python-format
 msgid "No group named %s exists"
 msgstr "Grupa o nazwie %s nie istnieje"
 
-#: ../cli.py:1342
+#: ../cli.py:1945
 msgid "No packages to remove from groups"
 msgstr "Brak pakietów do usunięcia z grup"
 
-#: ../cli.py:1344
+#: ../cli.py:1947 ../yumcommands.py:3351
 #, python-format
-msgid "%d Package(s) to remove"
-msgstr "%d pakietów do usunięcia"
+msgid "%d package to remove"
+msgid_plural "%d packages to remove"
+msgstr[0] "%d pakiet do usunięcia"
+msgstr[1] "%d pakiety do usunięcia"
+msgstr[2] "%d pakietów do usunięcia"
 
-#: ../cli.py:1386
+#: ../cli.py:1988
 #, python-format
 msgid "Package %s is already installed, skipping"
 msgstr "Pakiet %s jest już zainstalowany, pomijanie"
 
-#: ../cli.py:1397
+#: ../cli.py:1999
 #, python-format
 msgid "Discarding non-comparable pkg %s.%s"
 msgstr "Odrzucanie pakietu %s.%s, którego nie można porównać"
 
 #. we've not got any installed that match n or n+a
-#: ../cli.py:1423
+#: ../cli.py:2025
 #, python-format
 msgid "No other %s installed, adding to list for potential install"
-msgstr ""
-"Inne %s nie są zainstalowane, dodawanie do listy potencjalnie instalowanych"
+msgstr "Inne %s nie są zainstalowane, dodawanie do listy potencjalnie instalowanych"
 
-#: ../cli.py:1443
+#: ../cli.py:2045
 msgid "Plugin Options"
 msgstr "Opcje wtyczki"
 
-#: ../cli.py:1451
+#: ../cli.py:2057
 #, python-format
 msgid "Command line error: %s"
 msgstr "Błąd wiersza poleceń: %s"
 
-#: ../cli.py:1467
+#: ../cli.py:2079
 #, python-format
 msgid ""
 "\n"
 "\n"
 "%s: %s option requires an argument"
-msgstr ""
-"\n"
-"\n"
-"%s: opcja %s wymaga parametru"
+msgstr "\n\n%s: opcja %s wymaga parametru"
 
-#: ../cli.py:1521
+#: ../cli.py:2147
 msgid "--color takes one of: auto, always, never"
 msgstr "--color przyjmuje jedną z: auto, always, never"
 
 #. We have a relative installroot ... haha
-#: ../cli.py:1596
+#: ../cli.py:2218
 #, python-format
 msgid "--installroot must be an absolute path: %s"
 msgstr "--installroot musi być ścieżką bezwzględną: %s"
 
-#: ../cli.py:1642
+#: ../cli.py:2272
 msgid "show this help message and exit"
 msgstr "wyświetla ten komunikat pomocy i kończy pracę"
 
-#: ../cli.py:1646
+#: ../cli.py:2276
 msgid "be tolerant of errors"
 msgstr "toleruje błędy"
 
-#: ../cli.py:1649
+#: ../cli.py:2279
 msgid "run entirely from system cache, don't update cache"
-msgstr ""
-"uruchamia wyłącznie z pamięci podręcznej systemu i nie aktualizuje jej"
+msgstr "uruchamia wyłącznie z pamięci podręcznej systemu i nie aktualizuje jej"
 
-#: ../cli.py:1652
+#: ../cli.py:2282
 msgid "config file location"
 msgstr "położenie pliku konfiguracji"
 
-#: ../cli.py:1655
+#: ../cli.py:2285
 msgid "maximum command wait time"
 msgstr "maksymalny czas oczekiwania na polecenie"
 
-#: ../cli.py:1657
+#: ../cli.py:2287
 msgid "debugging output level"
 msgstr "poziom wyjścia debugowania"
 
-#: ../cli.py:1661
+#: ../cli.py:2291
 msgid "show duplicates, in repos, in list/search commands"
 msgstr "wyświetla duplikaty w repozytoriach w poleceniach list/search"
 
-#: ../cli.py:1663
+#: ../cli.py:2296
 msgid "error output level"
 msgstr "poziom wyjścia błędów"
 
-#: ../cli.py:1666
+#: ../cli.py:2299
 msgid "debugging output level for rpm"
 msgstr "poziom wyjścia debugowania dla programu RPM"
 
-#: ../cli.py:1669
+#: ../cli.py:2302
 msgid "quiet operation"
 msgstr "mało komunikatów"
 
-#: ../cli.py:1671
+#: ../cli.py:2304
 msgid "verbose operation"
 msgstr "dużo komunikatów"
 
-#: ../cli.py:1673
+#: ../cli.py:2306
 msgid "answer yes for all questions"
 msgstr "odpowiada tak na wszystkie pytania"
 
-#: ../cli.py:1675
+#: ../cli.py:2308
+msgid "answer no for all questions"
+msgstr "odpowiada nie na wszystkie pytania"
+
+#: ../cli.py:2312
 msgid "show Yum version and exit"
 msgstr "wyświetla wersję programu yum i kończy pracę"
 
-#: ../cli.py:1676
+#: ../cli.py:2313
 msgid "set install root"
 msgstr "ustawia roota instalacji"
 
-#: ../cli.py:1680
+#: ../cli.py:2317
 msgid "enable one or more repositories (wildcards allowed)"
 msgstr "włącza jedno lub więcej repozytoriów (wieloznaczniki są dozwolone)"
 
-#: ../cli.py:1684
+#: ../cli.py:2321
 msgid "disable one or more repositories (wildcards allowed)"
 msgstr "wyłącza jedno lub więcej repozytoriów (wieloznaczniki są dozwolone)"
 
-#: ../cli.py:1687
+#: ../cli.py:2324
 msgid "exclude package(s) by name or glob"
 msgstr "wyklucza pakiety po nazwie lub wyrażeniu regularnym"
 
-#: ../cli.py:1689
+#: ../cli.py:2326
 msgid "disable exclude from main, for a repo or for everything"
 msgstr "wyłącza wykluczanie z głównego, dla repozytorium lub wszystkiego"
 
-#: ../cli.py:1692
+#: ../cli.py:2329
 msgid "enable obsoletes processing during updates"
 msgstr "włącza przetwarzanie przestarzałych pakietów podczas aktualizacji"
 
-#: ../cli.py:1694
+#: ../cli.py:2331
 msgid "disable Yum plugins"
 msgstr "wyłącza wtyczki programu yum"
 
-#: ../cli.py:1696
+#: ../cli.py:2333
 msgid "disable gpg signature checking"
 msgstr "wyłącza sprawdzanie podpisu GPG"
 
-#: ../cli.py:1698
+#: ../cli.py:2335
 msgid "disable plugins by name"
 msgstr "wyłącza wtyczki po nazwie"
 
-#: ../cli.py:1701
+#: ../cli.py:2338
 msgid "enable plugins by name"
 msgstr "włącza wtyczki po nazwie"
 
-#: ../cli.py:1704
+#: ../cli.py:2341
 msgid "skip packages with depsolving problems"
 msgstr "pomija pakiety mające problemy z rozwiązaniem zależności"
 
-#: ../cli.py:1706
+#: ../cli.py:2343
 msgid "control whether color is used"
 msgstr "kontroluje użycie kolorów"
 
-#: ../cli.py:1708
+#: ../cli.py:2345
 msgid "set value of $releasever in yum config and repo files"
-msgstr ""
-"ustawia wartość zmiennej $releasever w konfiguracji programu yum i plikach "
-"repozytoriów"
+msgstr "ustawia wartość zmiennej $releasever w konfiguracji programu yum i plikach repozytoriów"
 
-#: ../cli.py:1710
+#: ../cli.py:2347
+msgid "don't update, just download"
+msgstr "bez aktualizowania, tylko pobieranie"
+
+#: ../cli.py:2349
+msgid "specifies an alternate directory to store packages"
+msgstr "określa alternatywny katalog do przechowywania pakietów"
+
+#: ../cli.py:2351
 msgid "set arbitrary config and repo options"
 msgstr "ustawia bezwzględne opcje konfiguracji i repozytoriów"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Jan"
 msgstr "sty"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Feb"
 msgstr "lut"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Mar"
 msgstr "mar"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Apr"
 msgstr "kwi"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "May"
 msgstr "maj"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Jun"
 msgstr "cze"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Jul"
 msgstr "lip"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Aug"
 msgstr "sie"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Sep"
 msgstr "wrz"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Oct"
 msgstr "paź"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Nov"
 msgstr "lis"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Dec"
 msgstr "gru"
 
-#: ../output.py:318
+#: ../output.py:473
 msgid "Trying other mirror."
 msgstr "Próbowanie innego serwera lustrzanego."
 
-#: ../output.py:581
+#: ../output.py:816
 #, python-format
 msgid "Name        : %s%s%s"
 msgstr "Nazwa              : %s%s%s"
 
-#: ../output.py:582
+#: ../output.py:817
 #, python-format
 msgid "Arch        : %s"
 msgstr "Architektura       : %s"
 
-#: ../output.py:584
+#: ../output.py:819
 #, python-format
 msgid "Epoch       : %s"
 msgstr "Epoka              : %s"
 
-#: ../output.py:585
+#: ../output.py:820
 #, python-format
 msgid "Version     : %s"
 msgstr "Wersja             : %s"
 
-#: ../output.py:586
+#: ../output.py:821
 #, python-format
 msgid "Release     : %s"
 msgstr "Wydanie            : %s"
 
-#: ../output.py:587
+#: ../output.py:822
 #, python-format
 msgid "Size        : %s"
 msgstr "Rozmiar            : %s"
 
-#: ../output.py:588 ../output.py:900
+#: ../output.py:823 ../output.py:1329
 #, python-format
 msgid "Repo        : %s"
 msgstr "Repozytorium       : %s"
 
-#: ../output.py:590
+#: ../output.py:825
 #, python-format
 msgid "From repo   : %s"
 msgstr "Z repozytorium     : %s"
 
-#: ../output.py:592
+#: ../output.py:827
 #, python-format
 msgid "Committer   : %s"
 msgstr "Twórca             : %s"
 
-#: ../output.py:593
+#: ../output.py:828
 #, python-format
 msgid "Committime  : %s"
 msgstr "Czas wysłania      : %s"
 
-#: ../output.py:594
+#: ../output.py:829
 #, python-format
 msgid "Buildtime   : %s"
 msgstr "Czas zbudowania    : %s"
 
-#: ../output.py:596
+#: ../output.py:831
 #, python-format
 msgid "Install time: %s"
 msgstr "Czas zainstalowania: %s"
 
-#: ../output.py:604
+#: ../output.py:839
 #, python-format
 msgid "Installed by: %s"
 msgstr "Zainstalowane przez: %s"
 
-#: ../output.py:611
+#: ../output.py:846
 #, python-format
 msgid "Changed by  : %s"
 msgstr "Zmienione przez    : %s"
 
-#: ../output.py:612
+#: ../output.py:847
 msgid "Summary     : "
 msgstr "Podsumowanie       : "
 
-#: ../output.py:614 ../output.py:913
+#: ../output.py:849 ../output.py:1345
 #, python-format
 msgid "URL         : %s"
 msgstr "Adres URL          : %s"
 
-#: ../output.py:615
+#: ../output.py:850
 msgid "License     : "
 msgstr "Licencja           : "
 
-#: ../output.py:616 ../output.py:910
+#: ../output.py:851 ../output.py:1342
 msgid "Description : "
 msgstr "Opis               : "
 
-#: ../output.py:684
+#: ../output.py:969
 msgid "y"
 msgstr "t"
 
-#: ../output.py:684
+#: ../output.py:969
 msgid "yes"
 msgstr "tak"
 
-#: ../output.py:685
+#: ../output.py:970
 msgid "n"
 msgstr "n"
 
-#: ../output.py:685
+#: ../output.py:970
 msgid "no"
 msgstr "nie"
 
-#: ../output.py:689
+#: ../output.py:974
 msgid "Is this ok [y/N]: "
 msgstr "W porządku? [t/N]: "
 
-#: ../output.py:777
+#: ../output.py:1097
 #, python-format
 msgid ""
 "\n"
 "Group: %s"
-msgstr ""
-"\n"
-"Grupa: %s"
+msgstr "\nGrupa: %s"
 
-#: ../output.py:781
+#: ../output.py:1101
 #, python-format
 msgid " Group-Id: %s"
 msgstr " Identyfikator grupy: %s"
 
-#: ../output.py:786
+#: ../output.py:1122 ../output.py:1169
 #, python-format
 msgid " Description: %s"
 msgstr " Opis: %s"
 
-#: ../output.py:788
+#: ../output.py:1124
 #, python-format
 msgid " Language: %s"
 msgstr " Język: %s"
 
-#: ../output.py:790
+#: ../output.py:1126
 msgid " Mandatory Packages:"
 msgstr " Pakiety obowiązkowe:"
 
-#: ../output.py:791
+#: ../output.py:1127
 msgid " Default Packages:"
 msgstr " Domyślne pakiety:"
 
-#: ../output.py:792
+#: ../output.py:1128
 msgid " Optional Packages:"
 msgstr " Pakiety opcjonalne:"
 
-#: ../output.py:793
+#: ../output.py:1129
 msgid " Conditional Packages:"
 msgstr " Pakiety warunkowe:"
 
-#: ../output.py:814
+#: ../output.py:1147
+msgid " Installed Packages:"
+msgstr " Zainstalowane pakiety:"
+
+#: ../output.py:1157
+#, python-format
+msgid ""
+"\n"
+"Environment Group: %s"
+msgstr "\nGrupa środowiska: %s"
+
+#: ../output.py:1158
+#, python-format
+msgid " Environment-Id: %s"
+msgstr "Identyfikator środowiska: %s"
+
+#: ../output.py:1191
+msgid " Mandatory Groups:"
+msgstr "Obowiązkowe grupy:"
+
+#: ../output.py:1192
+msgid " Optional Groups:"
+msgstr "Opcjonalne grupy:"
+
+#: ../output.py:1205
+msgid " Installed Groups:"
+msgstr "Zainstalowane grupy:"
+
+#: ../output.py:1217
 #, python-format
 msgid "package: %s"
 msgstr "pakiet: %s"
 
-#: ../output.py:816
+#: ../output.py:1219
 msgid "  No dependencies for this package"
 msgstr "  Brak zależności dla tego pakietu"
 
-#: ../output.py:821
+#: ../output.py:1224
 #, python-format
 msgid "  dependency: %s"
 msgstr "  zależność: %s"
 
-#: ../output.py:823
+#: ../output.py:1226
 msgid "   Unsatisfied dependency"
 msgstr "   Nierozwiązana zależność"
 
-#: ../output.py:901
+#: ../output.py:1337
 msgid "Matched from:"
 msgstr "Dopasowano z:"
 
-#: ../output.py:916
+#: ../output.py:1348
 #, python-format
 msgid "License     : %s"
 msgstr "Licencja    : %s"
 
-#: ../output.py:919
+#: ../output.py:1351
 #, python-format
 msgid "Filename    : %s"
 msgstr "Nazwa pliku : %s"
 
-#: ../output.py:923
+#: ../output.py:1360
+msgid "Provides    : "
+msgstr "Dostarcza   : "
+
+#: ../output.py:1363
 msgid "Other       : "
 msgstr "Inne        : "
 
-#: ../output.py:966
+#: ../output.py:1426
 msgid "There was an error calculating total download size"
 msgstr "Wystąpił błąd podczas obliczania całkowitego rozmiaru pobierania"
 
-#: ../output.py:971
+#: ../output.py:1431
 #, python-format
 msgid "Total size: %s"
 msgstr "Całkowity rozmiar: %s"
 
-#: ../output.py:974
+#: ../output.py:1433
 #, python-format
 msgid "Total download size: %s"
 msgstr "Całkowity rozmiar pobierania: %s"
 
-#: ../output.py:978 ../output.py:998
+#: ../output.py:1436 ../output.py:1459 ../output.py:1463
 #, python-format
 msgid "Installed size: %s"
 msgstr "Rozmiar po zainstalowaniu: %s"
 
-#: ../output.py:994
+#: ../output.py:1454
 msgid "There was an error calculating installed size"
 msgstr "Wystąpił błąd podczas obliczania rozmiaru po zainstalowaniu"
 
-#: ../output.py:1039
+#: ../output.py:1504
 msgid "Reinstalling"
 msgstr "Ponowne instalowanie"
 
-#: ../output.py:1040
+#: ../output.py:1505
 msgid "Downgrading"
 msgstr "Instalowanie poprzedniej wersji"
 
-#: ../output.py:1041
+#: ../output.py:1506
 msgid "Installing for dependencies"
 msgstr "Instalowanie, aby rozwiązać zależności"
 
-#: ../output.py:1042
+#: ../output.py:1507
 msgid "Updating for dependencies"
 msgstr "Aktualizowanie, aby rozwiązać zależności"
 
-#: ../output.py:1043
+#: ../output.py:1508
 msgid "Removing for dependencies"
 msgstr "Usuwanie, aby rozwiązać zależności"
 
-#: ../output.py:1050 ../output.py:1171
+#: ../output.py:1515 ../output.py:1576 ../output.py:1672
 msgid "Skipped (dependency problems)"
 msgstr "Pominięto (problemy z zależnościami)"
 
-#: ../output.py:1052 ../output.py:1687
+#: ../output.py:1517 ../output.py:1577 ../output.py:2223
 msgid "Not installed"
 msgstr "Nie zainstalowano"
 
-#: ../output.py:1053
+#: ../output.py:1518 ../output.py:1578
 msgid "Not available"
-msgstr ""
+msgstr "Niedostępne"
 
-#: ../output.py:1075 ../output.py:2024
+#: ../output.py:1540 ../output.py:1588 ../output.py:1604 ../output.py:2581
 msgid "Package"
-msgstr "Pakiet"
+msgid_plural "Packages"
+msgstr[0] "Pakiet"
+msgstr[1] "Pakiety"
+msgstr[2] "Pakiety"
 
-#: ../output.py:1075
+#: ../output.py:1540
 msgid "Arch"
 msgstr "Architektura"
 
-#: ../output.py:1076
+#: ../output.py:1541
 msgid "Version"
 msgstr "Wersja"
 
-#: ../output.py:1076
+#: ../output.py:1541
 msgid "Repository"
 msgstr "Repozytorium"
 
-#: ../output.py:1077
+#: ../output.py:1542
 msgid "Size"
 msgstr "Rozmiar"
 
-#: ../output.py:1089
+#: ../output.py:1554
 #, python-format
 msgid "     replacing  %s%s%s.%s %s\n"
 msgstr "     zastępuje  %s%s%s.%s %s\n"
 
-#: ../output.py:1098
+#: ../output.py:1563
 #, python-format
 msgid ""
 "\n"
 "Transaction Summary\n"
 "%s\n"
-msgstr ""
-"\n"
-"Podsumowanie transakcji\n"
-"%s\n"
+msgstr "\nPodsumowanie transakcji\n%s\n"
 
-#: ../output.py:1109
-#, python-format
-msgid "Install   %5.5s Package(s)\n"
-msgstr "Instalacja                    %5.5s pakiet(y)\n"
+#: ../output.py:1568 ../output.py:2376 ../output.py:2377
+msgid "Install"
+msgstr "Instalacja"
 
-#: ../output.py:1113
-#, python-format
-msgid "Upgrade   %5.5s Package(s)\n"
-msgstr "Aktualizacja                  %5.5s pakiet(y)\n"
+#: ../output.py:1570
+msgid "Upgrade"
+msgstr "Aktualizacja"
 
-#: ../output.py:1117
-#, python-format
-msgid "Remove    %5.5s Package(s)\n"
-msgstr "Usunięcie                     %5.5s pakiet(y)\n"
+#: ../output.py:1572
+msgid "Remove"
+msgstr "Usunięcie"
 
-#: ../output.py:1121
-#, python-format
-msgid "Reinstall %5.5s Package(s)\n"
-msgstr "Ponowna instalacja            %5.5s pakiet(y)\n"
+#: ../output.py:1574 ../output.py:2382
+msgid "Reinstall"
+msgstr "Ponowna instalacja"
 
-#: ../output.py:1125
-#, python-format
-msgid "Downgrade %5.5s Package(s)\n"
-msgstr "Instalacja poprzedniej wersji %5.5s pakiet(y)\n"
+#: ../output.py:1575 ../output.py:2383
+msgid "Downgrade"
+msgstr "Instalacja poprzedniej wersji"
+
+#: ../output.py:1606
+msgid "Dependent package"
+msgid_plural "Dependent packages"
+msgstr[0] "Zależny pakiet"
+msgstr[1] "Zależne pakiety"
+msgstr[2] "Zależne pakiety"
 
-#: ../output.py:1165
+#: ../output.py:1666
 msgid "Removed"
 msgstr "Usunięto"
 
-#: ../output.py:1166
+#: ../output.py:1667
 msgid "Dependency Removed"
 msgstr "Usunięto zależność"
 
-#: ../output.py:1168
+#: ../output.py:1669
 msgid "Dependency Installed"
 msgstr "Zainstalowano zależność"
 
-#: ../output.py:1170
+#: ../output.py:1671
 msgid "Dependency Updated"
 msgstr "Zaktualizowano zależność"
 
-#: ../output.py:1172
+#: ../output.py:1673
 msgid "Replaced"
 msgstr "Zastąpiono"
 
-#: ../output.py:1173
+#: ../output.py:1674
 msgid "Failed"
 msgstr "Nie powiodło się"
 
 #. Delta between C-c's so we treat as exit
-#: ../output.py:1260
+#: ../output.py:1764
 msgid "two"
 msgstr "dwóch"
 
 #. For translators: This is output like:
 #. Current download cancelled, interrupt (ctrl-c) again within two seconds
 #. to exit.
-#. Where "interupt (ctrl-c) again" and "two" are highlighted.
-#: ../output.py:1271
+#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
+#: ../output.py:1775
 #, python-format
 msgid ""
 "\n"
 " Current download cancelled, %sinterrupt (ctrl-c) again%s within %s%s%s seconds\n"
 "to exit.\n"
-msgstr ""
-"\n"
-" Obecne pobieranie zostało anulowane, należy %sprzerwać (Ctrl-C) ponownie%s w ciągu %s%s%s sekund, aby zakończyć pracę.\n"
+msgstr "\n Obecne pobieranie zostało anulowane, należy %sprzerwać (Ctrl-C) ponownie%s w ciągu %s%s%s sekund, aby zakończyć pracę.\n"
 
-#: ../output.py:1282
+#: ../output.py:1786
 msgid "user interrupt"
 msgstr "przerwane przez użytkownika"
 
-#: ../output.py:1300
+#: ../output.py:1812
 msgid "Total"
 msgstr "Razem"
 
-#: ../output.py:1322
+#: ../output.py:1834
 msgid "I"
 msgstr "I"
 
-#: ../output.py:1323
+#: ../output.py:1835
 msgid "O"
 msgstr "O"
 
-#: ../output.py:1324
+#: ../output.py:1836
 msgid "E"
 msgstr "E"
 
-#: ../output.py:1325
+#: ../output.py:1837
 msgid "R"
 msgstr "R"
 
-#: ../output.py:1326
+#: ../output.py:1838
 msgid "D"
 msgstr "D"
 
-#: ../output.py:1327
+#: ../output.py:1839
 msgid "U"
 msgstr "U"
 
-#: ../output.py:1341
+#: ../output.py:1853
 msgid "<unset>"
 msgstr "<nie ustawiono>"
 
-#: ../output.py:1342
+#: ../output.py:1854
 msgid "System"
 msgstr "System"
 
-#: ../output.py:1411
+#: ../output.py:1923
 #, python-format
 msgid "Skipping merged transaction %d to %d, as it overlaps"
 msgstr "Pomijanie połączonej transakcji %d do %d, jako że nachodzą na siebie"
 
-#: ../output.py:1421 ../output.py:1592
+#: ../output.py:1933 ../output.py:2125
 msgid "No transactions"
 msgstr "Brak transakcji"
 
-#: ../output.py:1446 ../output.py:2013
+#: ../output.py:1958 ../output.py:2570 ../output.py:2660
 msgid "Bad transaction IDs, or package(s), given"
 msgstr "Podano błędne identyfikatory transakcji lub pakietów"
 
-#: ../output.py:1484
+#: ../output.py:2007
 msgid "Command line"
 msgstr "Wiersz poleceń"
 
-#: ../output.py:1486 ../output.py:1908
+#: ../output.py:2009 ../output.py:2458
 msgid "Login user"
 msgstr "Zalogowany użytkownik"
 
 #. REALLY Needs to use columns!
-#: ../output.py:1487 ../output.py:2022
+#: ../output.py:2010 ../output.py:2579
 msgid "ID"
 msgstr "Identyfikator"
 
-#: ../output.py:1489
+#: ../output.py:2012
 msgid "Date and time"
 msgstr "Data i czas"
 
-#: ../output.py:1490 ../output.py:1910 ../output.py:2023
+#: ../output.py:2013 ../output.py:2460 ../output.py:2580
 msgid "Action(s)"
 msgstr "Czynności"
 
-#: ../output.py:1491 ../output.py:1911
+#: ../output.py:2014 ../output.py:2461
 msgid "Altered"
 msgstr "Zmieniono"
 
-#: ../output.py:1538
+#: ../output.py:2061
 msgid "No transaction ID given"
 msgstr "Nie podano identyfikatora transakcji"
 
-#: ../output.py:1564 ../output.py:1972
+#: ../output.py:2087 ../output.py:2526
 msgid "Bad transaction ID given"
 msgstr "Podano błędny identyfikator transakcji"
 
-#: ../output.py:1569
+#: ../output.py:2092
 msgid "Not found given transaction ID"
 msgstr "Nie odnaleziono podanego identyfikatora transakcji"
 
-#: ../output.py:1577
+#: ../output.py:2100
 msgid "Found more than one transaction ID!"
 msgstr "Odnaleziono więcej niż jeden identyfikator transakcji."
 
-#: ../output.py:1618 ../output.py:1980
+#: ../output.py:2151 ../output.py:2534
 msgid "No transaction ID, or package, given"
 msgstr "Podano błędny identyfikator transakcji lub pakietu"
 
-#: ../output.py:1686 ../output.py:1845
+#: ../output.py:2222 ../output.py:2384
 msgid "Downgraded"
 msgstr "Zainstalowano poprzednią wersję"
 
-#: ../output.py:1688
+#: ../output.py:2224
 msgid "Older"
 msgstr "Starsze"
 
-#: ../output.py:1688
+#: ../output.py:2224
 msgid "Newer"
 msgstr "Nowsze"
 
-#: ../output.py:1724 ../output.py:1726
+#: ../output.py:2261 ../output.py:2263 ../output.py:2681
 msgid "Transaction ID :"
 msgstr "Identyfikator transakcji   :"
 
-#: ../output.py:1728
+#: ../output.py:2265 ../output.py:2683
 msgid "Begin time     :"
 msgstr "Czas rozpoczęcia           :"
 
-#: ../output.py:1731 ../output.py:1733
+#: ../output.py:2268 ../output.py:2270
 msgid "Begin rpmdb    :"
 msgstr "Rozpoczęcie bazy danych RPM:"
 
-#: ../output.py:1749
+#: ../output.py:2286
 #, python-format
 msgid "(%u seconds)"
 msgstr "(%u sekund)"
 
-#: ../output.py:1751
+#: ../output.py:2288
 #, python-format
 msgid "(%u minutes)"
 msgstr "(%u minut)"
 
-#: ../output.py:1753
+#: ../output.py:2290
 #, python-format
 msgid "(%u hours)"
 msgstr "(%u godzin)"
 
-#: ../output.py:1755
+#: ../output.py:2292
 #, python-format
 msgid "(%u days)"
 msgstr "(%u dni)"
 
-#: ../output.py:1756
+#: ../output.py:2293
 msgid "End time       :"
 msgstr "Czas ukończenia            :"
 
-#: ../output.py:1759 ../output.py:1761
+#: ../output.py:2296 ../output.py:2298
 msgid "End rpmdb      :"
 msgstr "Ukończenie bazy danych RPM :"
 
-#: ../output.py:1764 ../output.py:1766
+#: ../output.py:2301 ../output.py:2303
 msgid "User           :"
 msgstr "Użytkownik                 :"
 
-#: ../output.py:1770 ../output.py:1773 ../output.py:1775 ../output.py:1777
-#: ../output.py:1779
+#: ../output.py:2307 ../output.py:2310 ../output.py:2312 ../output.py:2314
+#: ../output.py:2316
 msgid "Return-Code    :"
 msgstr "Kod zwrotny                :"
 
-#: ../output.py:1770 ../output.py:1775
+#: ../output.py:2307 ../output.py:2312
 msgid "Aborted"
 msgstr "Przerwano"
 
-#: ../output.py:1773
+#: ../output.py:2310
 msgid "Failures:"
 msgstr "Niepowodzenia:"
 
-#: ../output.py:1777
+#: ../output.py:2314
 msgid "Failure:"
 msgstr "Niepowodzenie:"
 
-#: ../output.py:1779
+#: ../output.py:2316
 msgid "Success"
 msgstr "Powodzenie"
 
-#: ../output.py:1784 ../output.py:1786
+#: ../output.py:2321 ../output.py:2323 ../output.py:2712
 msgid "Command Line   :"
 msgstr "Wiersz poleceń :"
 
-#: ../output.py:1795
+#: ../output.py:2332
 #, python-format
 msgid "Additional non-default information stored: %d"
 msgstr "Przechowano dodatkowe niedomyślne informacje: %d"
 
 #. This is _possible_, but not common
-#: ../output.py:1800
+#: ../output.py:2337
 msgid "Transaction performed with:"
 msgstr "Wykonano transakcję za pomocą:"
 
-#: ../output.py:1804
+#: ../output.py:2341
 msgid "Packages Altered:"
 msgstr "Zmienione pakiety:"
 
-#: ../output.py:1808
+#: ../output.py:2345
 msgid "Packages Skipped:"
 msgstr "Pominięte pakiety:"
 
-#: ../output.py:1814
+#: ../output.py:2353
 msgid "Rpmdb Problems:"
 msgstr "Problemy bazy danych RPM:"
 
-#: ../output.py:1825
+#: ../output.py:2364
 msgid "Scriptlet output:"
 msgstr "Wyjście skryptu:"
 
-#: ../output.py:1831
+#: ../output.py:2370
 msgid "Errors:"
 msgstr "Błędy:"
 
-#: ../output.py:1837 ../output.py:1838
-msgid "Install"
-msgstr "Instalacja"
-
-#: ../output.py:1839
+#: ../output.py:2378
 msgid "Dep-Install"
 msgstr "Instalacja zależności"
 
-#: ../output.py:1841
+#: ../output.py:2380
 msgid "Obsoleting"
 msgstr "Zastępowanie"
 
-#: ../output.py:1842
+#: ../output.py:2381
 msgid "Erase"
 msgstr "Usunięcie"
 
-#: ../output.py:1843
-msgid "Reinstall"
-msgstr "Ponowna instalacja"
-
-#: ../output.py:1844
-msgid "Downgrade"
-msgstr "Instalacja poprzedniej wersji"
-
-#: ../output.py:1846
+#: ../output.py:2385
 msgid "Update"
 msgstr "Aktualizacja"
 
-#: ../output.py:1909
+#: ../output.py:2459
 msgid "Time"
 msgstr "Czas"
 
-#: ../output.py:1935
+#: ../output.py:2485
 msgid "Last day"
 msgstr "Ostatni dzień"
 
-#: ../output.py:1936
+#: ../output.py:2486
 msgid "Last week"
 msgstr "Ostatni tydzień"
 
-#: ../output.py:1937
+#: ../output.py:2487
 msgid "Last 2 weeks"
 msgstr "Ostatnie dwa tygodnie"
 
 #. US default :p
-#: ../output.py:1938
+#: ../output.py:2488
 msgid "Last 3 months"
 msgstr "Ostatnie trzy miesiące"
 
-#: ../output.py:1939
+#: ../output.py:2489
 msgid "Last 6 months"
 msgstr "Ostatnie pół roku"
 
-#: ../output.py:1940
+#: ../output.py:2490
 msgid "Last year"
 msgstr "Ostatni rok"
 
-#: ../output.py:1941
+#: ../output.py:2491
 msgid "Over a year ago"
 msgstr "Ponad rok temu"
 
-#: ../output.py:1984
+#: ../output.py:2538
 #, python-format
 msgid "No Transaction %s found"
 msgstr "Nie odnaleziono transakcji %s"
 
-#: ../output.py:1990
+#: ../output.py:2544
 msgid "Transaction ID:"
 msgstr "Identyfikator transakcji:"
 
-#: ../output.py:1991
+#: ../output.py:2545
 msgid "Available additional history information:"
 msgstr "Dostępne są dodatkowe informacje o historii:"
 
-#: ../output.py:2003
+#: ../output.py:2558
 #, python-format
 msgid "%s: No additional data found by this name"
 msgstr "%s: nie odnaleziono dodatkowych danych dla tej nazwy"
 
-#: ../output.py:2106
+#: ../output.py:2684
+msgid "Package        :"
+msgstr "Pakiet             :"
+
+#: ../output.py:2685
+msgid "State          :"
+msgstr "Stan               :"
+
+#: ../output.py:2688
+msgid "Size           :"
+msgstr "Rozmiar            :"
+
+#: ../output.py:2690
+msgid "Build host     :"
+msgstr "Komputer budujący  :"
+
+#: ../output.py:2693
+msgid "Build time     :"
+msgstr "Czas zbudowania    :"
+
+#: ../output.py:2695
+msgid "Packager       :"
+msgstr "Twórca pakietu     :"
+
+#: ../output.py:2697
+msgid "Vendor         :"
+msgstr "Producent          :"
+
+#: ../output.py:2699
+msgid "License        :"
+msgstr "Licencja           :"
+
+#: ../output.py:2701
+msgid "URL            :"
+msgstr "Adres URL          :"
+
+#: ../output.py:2703
+msgid "Source RPM     :"
+msgstr "Źródłowy pakiet RPM:"
+
+#: ../output.py:2706
+msgid "Commit Time    :"
+msgstr "Czas wysłania      :"
+
+#: ../output.py:2708
+msgid "Committer      :"
+msgstr "Wysyłający         :"
+
+#: ../output.py:2710
+msgid "Reason         :"
+msgstr "Przyczyna          :"
+
+#: ../output.py:2714
+msgid "From repo      :"
+msgstr "Z repozytorium     :"
+
+#: ../output.py:2718
+msgid "Installed by   :"
+msgstr "Zainstalowane przez:"
+
+#: ../output.py:2722
+msgid "Changed by     :"
+msgstr "Zmienione przez    :"
+
+#: ../output.py:2767
 msgid "installed"
 msgstr "zainstalowany"
 
-#: ../output.py:2107
+#: ../output.py:2768
 msgid "an update"
 msgstr "zaktualizowany"
 
-#: ../output.py:2108
+#: ../output.py:2769
 msgid "erased"
 msgstr "usunięty"
 
-#: ../output.py:2109
+#: ../output.py:2770
 msgid "reinstalled"
 msgstr "ponownie zainstalowany"
 
-#: ../output.py:2110
+#: ../output.py:2771
 msgid "a downgrade"
 msgstr "zainstalowana poprzednia wersja"
 
-#: ../output.py:2111
+#: ../output.py:2772
 msgid "obsoleting"
 msgstr "zastępowany"
 
-#: ../output.py:2112
+#: ../output.py:2773
 msgid "updated"
 msgstr "zaktualizowany"
 
-#: ../output.py:2113
+#: ../output.py:2774
 msgid "obsoleted"
 msgstr "zastąpiony"
 
-#: ../output.py:2117
+#: ../output.py:2778
 #, python-format
 msgid "---> Package %s.%s %s:%s-%s will be %s"
 msgstr "---> Pakiet %s.%s %s:%s-%s zostanie %s"
 
-#: ../output.py:2124
+#: ../output.py:2789
 msgid "--> Running transaction check"
 msgstr "--> Wykonywanie sprawdzania transakcji"
 
-#: ../output.py:2129
+#: ../output.py:2795
 msgid "--> Restarting Dependency Resolution with new changes."
 msgstr "--> Ponowne uruchamianie rozwiązywania zależności z nowymi zmianami."
 
-#: ../output.py:2134
+#: ../output.py:2801
 msgid "--> Finished Dependency Resolution"
 msgstr "--> Ukończono rozwiązywanie zależności"
 
-#: ../output.py:2139 ../output.py:2144
+#: ../output.py:2814 ../output.py:2827
 #, python-format
 msgid "--> Processing Dependency: %s for package: %s"
 msgstr "--> Przetwarzanie zależności: %s dla pakietu: %s"
 
-#: ../output.py:2149
+#: ../output.py:2841
 #, python-format
-msgid "---> Keeping package: %s"
-msgstr "---> Utrzymywanie pakietu: %s"
+msgid "---> Keeping package: %s due to %s"
+msgstr "---> Zatrzymywanie pakietu: %s z powodu %s"
 
-#: ../output.py:2152
+#: ../output.py:2850
 #, python-format
 msgid "--> Unresolved Dependency: %s"
 msgstr "--> Nierozwiązana zależność: %s"
 
-#: ../output.py:2163
+#: ../output.py:2867
 #, python-format
 msgid "Package: %s"
 msgstr "Pakiet: %s"
 
-#: ../output.py:2165
+#: ../output.py:2869
 #, python-format
 msgid ""
 "\n"
 "    Requires: %s"
-msgstr ""
-"\n"
-"    Wymaga: %s"
+msgstr "\n    Wymaga: %s"
 
-#: ../output.py:2174
+#: ../output.py:2878
 #, python-format
 msgid ""
 "\n"
 "    %s: %s (%s)"
-msgstr ""
-"\n"
-"    %s: %s (%s)"
+msgstr "\n    %s: %s (%s)"
 
-#: ../output.py:2179
+#: ../output.py:2883
 #, python-format
 msgid ""
 "\n"
 "        %s"
-msgstr ""
-"\n"
-"        %s"
+msgstr "\n        %s"
 
-#: ../output.py:2181
+#: ../output.py:2885
 msgid ""
 "\n"
 "        Not found"
-msgstr ""
-"\n"
-"        Nie odnaleziono"
+msgstr "\n        Nie odnaleziono"
 
 #. These should be the only three things we care about:
-#: ../output.py:2196
+#: ../output.py:2900
 msgid "Updated By"
 msgstr "Zaktualizowano przez"
 
-#: ../output.py:2197
+#: ../output.py:2901
 msgid "Downgraded By"
 msgstr "Zainstalowano poprzednią wersję przez"
 
-#: ../output.py:2198
+#: ../output.py:2902
 msgid "Obsoleted By"
 msgstr "Zastąpiono przez"
 
-#: ../output.py:2216
+#: ../output.py:2920
 msgid "Available"
 msgstr "Dostępne"
 
-#: ../output.py:2243 ../output.py:2248
+#: ../output.py:2955 ../output.py:2968
 #, python-format
 msgid "--> Processing Conflict: %s conflicts %s"
 msgstr "--> Przetwarzanie konfliktów: %s jest w konflikcie z %s"
 
-#: ../output.py:2252
+#: ../output.py:2974
 msgid "--> Populating transaction set with selected packages. Please wait."
-msgstr ""
-"--> Układanie zestawu transakcji z wybranymi pakietami. Proszę czekać."
+msgstr "--> Układanie zestawu transakcji z wybranymi pakietami. Proszę czekać."
 
-#: ../output.py:2256
+#: ../output.py:2983
 #, python-format
 msgid "---> Downloading header for %s to pack into transaction set."
-msgstr ""
-"---> Pobieranie nagłówka dla %s do umieszczenia w zestawie transakcji."
+msgstr "---> Pobieranie nagłówka dla %s do umieszczenia w zestawie transakcji."
+
+#. self.event(txmbr.name, count, len(base.tsInfo), count, )
+#. (te_current*100L)/te_total
+#: ../output.py:3248
+msgid "Verifying"
+msgstr "Sprawdzanie"
 
-#: ../utils.py:99
+#: ../utils.py:123
 msgid "Running"
 msgstr "Wykonywanie"
 
-#: ../utils.py:100
+#: ../utils.py:124
 msgid "Sleeping"
 msgstr "Zasypianie"
 
-#: ../utils.py:101
+#: ../utils.py:125
 msgid "Uninterruptible"
 msgstr "Nie można przerywać"
 
-#: ../utils.py:102
+#: ../utils.py:126
 msgid "Zombie"
 msgstr "Zombie"
 
-#: ../utils.py:103
+#: ../utils.py:127
 msgid "Traced/Stopped"
 msgstr "Śledzone/zatrzymane"
 
-#: ../utils.py:104 ../yumcommands.py:994
+#: ../utils.py:128 ../yumcommands.py:2193
 msgid "Unknown"
 msgstr "Nieznane"
 
-#: ../utils.py:115
+#: ../utils.py:153
 msgid "  The other application is: PackageKit"
 msgstr "  Inna aplikacja to PackageKit"
 
-#: ../utils.py:117
+#: ../utils.py:155
 #, python-format
 msgid "  The other application is: %s"
 msgstr "  Inna aplikacja to: %s"
 
-#: ../utils.py:120
+#: ../utils.py:158
 #, python-format
 msgid "    Memory : %5s RSS (%5sB VSZ)"
 msgstr "    Pamięć: %5s RSS (%5sB VSZ)"
 
-#: ../utils.py:125
+#: ../utils.py:163
 #, python-format
 msgid "    Started: %s - %s ago"
 msgstr "    Uruchomiono: %s - %s temu"
 
-#: ../utils.py:127
+#: ../utils.py:165
 #, python-format
 msgid "    State  : %s, pid: %d"
 msgstr "    Stan: %s, PID: %d"
 
-#: ../utils.py:170 ../yummain.py:43
+#: ../utils.py:194 ../yummain.py:43
 msgid ""
 "\n"
 "\n"
 "Exiting on user cancel"
-msgstr ""
-"\n"
-"\n"
-"Kończenie działania na polecenie użytkownika"
+msgstr "\n\nKończenie działania na polecenie użytkownika"
 
-#: ../utils.py:176 ../yummain.py:49
+#: ../utils.py:206 ../yummain.py:49
 msgid ""
 "\n"
 "\n"
 "Exiting on Broken Pipe"
-msgstr ""
-"\n"
-"\n"
-"Kończenie działania z powodu przerwanego potoku"
+msgstr "\n\nKończenie działania z powodu przerwanego potoku"
 
-#: ../utils.py:178 ../yummain.py:51
+#: ../utils.py:208 ../yummain.py:51
 #, python-format
 msgid ""
 "\n"
 "\n"
 "%s"
-msgstr ""
-"\n"
-"\n"
-"%s"
+msgstr "\n\n%s"
 
-#: ../utils.py:228 ../yummain.py:123
-msgid ""
-"Another app is currently holding the yum lock; exiting as configured by "
-"exit_on_lock"
-msgstr ""
-"Inna aplikacja obecnie blokuje program yum. Kończenie działania zgodnie z "
-"konfiguracją exit_on_lock"
-
-#: ../utils.py:287
+#: ../utils.py:326
 #, python-format
 msgid "PluginExit Error: %s"
 msgstr "Błąd wyjścia wtyczki: %s"
 
-#: ../utils.py:290
+#: ../utils.py:329
 #, python-format
 msgid "Yum Error: %s"
 msgstr "Błąd programu yum: %s"
 
-#: ../utils.py:342 ../yummain.py:150 ../yummain.py:189
+#: ../utils.py:387 ../yummain.py:147 ../yummain.py:186
 #, python-format
 msgid "Error: %s"
 msgstr "Błąd: %s"
 
-#: ../utils.py:346 ../yummain.py:194
+#: ../utils.py:391 ../yummain.py:191
 msgid " You could try using --skip-broken to work around the problem"
 msgstr " Można spróbować użyć --skip-broken, aby obejść problem"
 
-#: ../utils.py:348 ../yummain.py:87
+#: ../utils.py:393 ../yummain.py:87
 msgid " You could try running: rpm -Va --nofiles --nodigest"
 msgstr " Można spróbować wykonać polecenie: rpm -Va --nofiles --nodigest"
 
-#: ../utils.py:355 ../yummain.py:160 ../yummain.py:202
+#: ../utils.py:400 ../yummain.py:157 ../yummain.py:199
 #, python-format
 msgid "Unknown Error(s): Exit Code: %d:"
 msgstr "Nieznane błędy: kod wyjścia: %d:"
 
-#: ../utils.py:361 ../yummain.py:208
+#: ../utils.py:406 ../yummain.py:205
 msgid ""
 "\n"
 "Dependencies Resolved"
-msgstr ""
-"\n"
-"Rozwiązano zależności"
+msgstr "\nRozwiązano zależności"
 
-#: ../utils.py:376 ../yummain.py:234
+#: ../utils.py:422 ../yummain.py:237
 msgid "Complete!"
 msgstr "Ukończono."
 
@@ -1525,7 +1662,7 @@ msgstr " Małe użycie:\n"
 msgid "You need to be root to perform this command."
 msgstr "Należy być zalogowanym jako root, aby wykonać to polecenie."
 
-#: ../yumcommands.py:59
+#: ../yumcommands.py:67
 msgid ""
 "\n"
 "You have enabled checking of packages via GPG keys. This is a good thing. \n"
@@ -1540,587 +1677,653 @@ msgid ""
 "will install it for you.\n"
 "\n"
 "For more information contact your distribution or package provider.\n"
-msgstr ""
-"\n"
-"Włączono sprawdzanie pakietów za pomocą kluczy GPG. To dobry pomysł, brak\n"
-"jednak zainstalowanych żadnych kluczy publicznych GPG. Należy pobrać klucze\n"
-"dla pakietów, które mają zostać zainstalowane i zainstalować je.\n"
-"Można to zrobić wykonując polecenie:\n"
-"    rpm --import klucz.publiczny.gpg\n"
-"\n"
-"\n"
-"Można także podać adres URL klucza, który ma być używany dla repozytorium w\n"
-"opcji \"gpgkey\" w sekcji repozytorium, a program yum go zainstaluje.\n"
-"\n"
-"Aby dowiedzieć się więcej, proszę skontaktować się z dostawcą dystrybucji\n"
-"lub pakietu.\n"
+msgstr "\nWłączono sprawdzanie pakietów za pomocą kluczy GPG. To dobry pomysł, brak\njednak zainstalowanych żadnych kluczy publicznych GPG. Należy pobrać klucze\ndla pakietów, które mają zostać zainstalowane i zainstalować je.\nMożna to zrobić wykonując polecenie:\n    rpm --import klucz.publiczny.gpg\n\n\nMożna także podać adres URL klucza, który ma być używany dla repozytorium w\nopcji \"gpgkey\" w sekcji repozytorium, a program yum go zainstaluje.\n\nAby dowiedzieć się więcej, proszę skontaktować się z dostawcą dystrybucji\nlub pakietu.\n"
 
-#: ../yumcommands.py:74
+#: ../yumcommands.py:82
 #, python-format
 msgid "Problem repository: %s"
-msgstr ""
+msgstr "Problemowe repozytorium: %s"
 
-#: ../yumcommands.py:80
+#: ../yumcommands.py:96
 #, python-format
 msgid "Error: Need to pass a list of pkgs to %s"
 msgstr "Błąd: wymagane jest przekazanie listy pakietów do %s"
 
-#: ../yumcommands.py:86
+#: ../yumcommands.py:114
+#, python-format
+msgid "Error: Need at least two packages to %s"
+msgstr "Błąd: wymagane są co najmniej dwa pakiety dla %s"
+
+#: ../yumcommands.py:129
+#, python-format
+msgid "Error: Need to pass a repoid. and command to %s"
+msgstr "Błąd: należy przekazać identyfikator repozytorium i polecenie dla %s"
+
+#: ../yumcommands.py:136 ../yumcommands.py:142
+#, python-format
+msgid "Error: Need to pass a single valid repoid. to %s"
+msgstr "Błąd: należy przekazać pojedynczy prawidłowy identyfikator repozytorium dla %s"
+
+#: ../yumcommands.py:147
+#, python-format
+msgid "Error: Repo %s is not enabled"
+msgstr "Błąd: repozytorium %s jest wyłączone"
+
+#: ../yumcommands.py:164
 msgid "Error: Need an item to match"
 msgstr "Błąd: wymagany jest parametr do dopasowania"
 
-#: ../yumcommands.py:92
+#: ../yumcommands.py:178
 msgid "Error: Need a group or list of groups"
 msgstr "Błąd: wymagana jest grupa lub lista grup"
 
-#: ../yumcommands.py:101
+#: ../yumcommands.py:195
 #, python-format
 msgid "Error: clean requires an option: %s"
 msgstr "Błąd: czyszczenie wymaga opcji: %s"
 
-#: ../yumcommands.py:106
+#: ../yumcommands.py:201
 #, python-format
 msgid "Error: invalid clean argument: %r"
 msgstr "Błąd: nieprawidłowy parametr czyszczenia: %r"
 
-#: ../yumcommands.py:119
+#: ../yumcommands.py:216
 msgid "No argument to shell"
 msgstr "Brak parametrów dla powłoki"
 
-#: ../yumcommands.py:121
+#: ../yumcommands.py:218
 #, python-format
 msgid "Filename passed to shell: %s"
 msgstr "Przekazano nazwę pliku do powłoki: %s"
 
-#: ../yumcommands.py:125
+#: ../yumcommands.py:222
 #, python-format
 msgid "File %s given as argument to shell does not exist."
 msgstr "Plik %s podany powłoce jako parametr nie istnieje."
 
-#: ../yumcommands.py:131
+#: ../yumcommands.py:228
 msgid "Error: more than one file given as argument to shell."
 msgstr "Błąd: podano powłoce więcej niż jeden plik jako parametr."
 
-#: ../yumcommands.py:148
+#: ../yumcommands.py:247
 msgid ""
 "There are no enabled repos.\n"
 " Run \"yum repolist all\" to see the repos you have.\n"
 " You can enable repos with yum-config-manager --enable <repo>"
-msgstr ""
-"Brak włączonych repozytoriów.\n"
-" Wykonanie polecenia \"yum repolist all\" wyświetli wszystkie posiadane repozytoria.\n"
-" Można włączyć repozytoria za pomocą polecenia yum-config-manager --enable <repo>"
+msgstr "Brak włączonych repozytoriów.\n Wykonanie polecenia \"yum repolist all\" wyświetli wszystkie posiadane repozytoria.\n Można włączyć repozytoria za pomocą polecenia yum-config-manager --enable <repo>"
 
-#: ../yumcommands.py:200
+#: ../yumcommands.py:383
 msgid "PACKAGE..."
 msgstr "PAKIET..."
 
-#: ../yumcommands.py:203
+#: ../yumcommands.py:390
 msgid "Install a package or packages on your system"
 msgstr "Instaluje pakiet lub pakiety w systemie"
 
-#: ../yumcommands.py:212
+#: ../yumcommands.py:421
 msgid "Setting up Install Process"
 msgstr "Ustawianie procesu instalacji"
 
-#: ../yumcommands.py:223 ../yumcommands.py:245
+#: ../yumcommands.py:447 ../yumcommands.py:507
 msgid "[PACKAGE...]"
 msgstr "[PAKIET...]"
 
-#: ../yumcommands.py:226
+#: ../yumcommands.py:454
 msgid "Update a package or packages on your system"
 msgstr "Aktualizuje pakiet lub pakiety w systemie"
 
-#: ../yumcommands.py:234
+#: ../yumcommands.py:483
 msgid "Setting up Update Process"
 msgstr "Ustawianie procesu aktualizacji"
 
-#: ../yumcommands.py:248
+#: ../yumcommands.py:514
 msgid "Synchronize installed packages to the latest available versions"
 msgstr "Synchronizuje zainstalowane pakiety do najnowszych dostępnych wersji"
 
-#: ../yumcommands.py:256
+#: ../yumcommands.py:543
 msgid "Setting up Distribution Synchronization Process"
 msgstr "Ustawianie procesu synchronizacji dystrybucji"
 
-#: ../yumcommands.py:299
+#: ../yumcommands.py:603
 msgid "Display details about a package or group of packages"
 msgstr "Wyświetla szczegóły o pakiecie lub grupie pakietów"
 
-#: ../yumcommands.py:348
+#: ../yumcommands.py:672
 msgid "Installed Packages"
 msgstr "Zainstalowane pakiety"
 
-#: ../yumcommands.py:356
+#: ../yumcommands.py:682
 msgid "Available Packages"
 msgstr "Dostępne pakiety"
 
-#: ../yumcommands.py:360
+#: ../yumcommands.py:687
 msgid "Extra Packages"
 msgstr "Dodatkowe pakiety"
 
-#: ../yumcommands.py:364
+#: ../yumcommands.py:691
 msgid "Updated Packages"
 msgstr "Zaktualizowane pakiety"
 
 #. This only happens in verbose mode
-#: ../yumcommands.py:372 ../yumcommands.py:379 ../yumcommands.py:667
+#: ../yumcommands.py:699 ../yumcommands.py:706 ../yumcommands.py:1539
 msgid "Obsoleting Packages"
 msgstr "Zastępowanie przestarzałych pakietów"
 
-#: ../yumcommands.py:381
+#: ../yumcommands.py:708
 msgid "Recently Added Packages"
 msgstr "Ostatnio dodane pakiety"
 
-#: ../yumcommands.py:388
+#: ../yumcommands.py:715
 msgid "No matching Packages to list"
 msgstr "Brak pakietów pasujących do listy"
 
-#: ../yumcommands.py:402
+#: ../yumcommands.py:766
 msgid "List a package or groups of packages"
 msgstr "Wyświetla listę pakietów lub grup pakietów"
 
-#: ../yumcommands.py:414
+#: ../yumcommands.py:797
 msgid "Remove a package or packages from your system"
 msgstr "Usuwa pakiet lub pakiety z systemu"
 
-#: ../yumcommands.py:421
+#: ../yumcommands.py:845
 msgid "Setting up Remove Process"
 msgstr "Ustawianie procesu usuwania"
 
-#: ../yumcommands.py:435
+#: ../yumcommands.py:906
+msgid "Display, or use, the groups information"
+msgstr "Wyświetla lub używa informacji o grupach"
+
+#: ../yumcommands.py:909
 msgid "Setting up Group Process"
 msgstr "Ustawianie procesu grup"
 
-#: ../yumcommands.py:441
+#: ../yumcommands.py:915
 msgid "No Groups on which to run command"
 msgstr "Brak grup, na których można wykonać polecenie"
 
-#: ../yumcommands.py:454
-msgid "List available package groups"
-msgstr "Wyświetla listę dostępnych grup pakietów"
-
-#: ../yumcommands.py:474
-msgid "Install the packages in a group on your system"
-msgstr "Instaluje pakiety z grupy w systemie"
+#: ../yumcommands.py:985
+#, python-format
+msgid "Invalid groups sub-command, use: %s."
+msgstr "Nieprawidłowe podpolecenie grup, należy użyć: %s."
 
-#: ../yumcommands.py:497
-msgid "Remove the packages in a group from your system"
-msgstr "Usuwa pakiety z grupy z systemu"
+#: ../yumcommands.py:992
+msgid "There is no installed groups file."
+msgstr "Nie zainstalowano żadnych plików grup."
 
-#: ../yumcommands.py:525
-msgid "Display details about a package group"
-msgstr "Wyświetla szczegóły o grupie pakietów"
+#: ../yumcommands.py:994
+msgid "You don't have access to the groups DB."
+msgstr "Brak dostępu do bazy danych grup."
 
-#: ../yumcommands.py:550
+#: ../yumcommands.py:1256
 msgid "Generate the metadata cache"
 msgstr "Utworzy pamięć podręczną metadanych"
 
-#: ../yumcommands.py:556
+#: ../yumcommands.py:1282
 msgid "Making cache files for all metadata files."
 msgstr "Tworzenie plików pamięci podręcznej ze wszystkich plików metadanych."
 
-#: ../yumcommands.py:557
+#: ../yumcommands.py:1283
 msgid "This may take a while depending on the speed of this computer"
 msgstr "Może to chwilę zająć, z zależności od prędkości komputera"
 
-#: ../yumcommands.py:578
+#: ../yumcommands.py:1312
 msgid "Metadata Cache Created"
 msgstr "Utworzono pamięć podręczną metadanych"
 
-#: ../yumcommands.py:592
+#: ../yumcommands.py:1350
 msgid "Remove cached data"
 msgstr "Usuwa dane z pamięci podręcznej"
 
-#: ../yumcommands.py:613
+#: ../yumcommands.py:1417
 msgid "Find what package provides the given value"
 msgstr "Wyszukuje pakiet dostarczający podaną wartość"
 
-#: ../yumcommands.py:633
+#: ../yumcommands.py:1485
 msgid "Check for available package updates"
 msgstr "Sprawdza dostępne aktualizacje pakietów"
 
-#: ../yumcommands.py:687
+#: ../yumcommands.py:1587
 msgid "Search package details for the given string"
 msgstr "Wyszukuje szczegóły pakietów dla podanego ciągu"
 
-#: ../yumcommands.py:693
+#: ../yumcommands.py:1613
 msgid "Searching Packages: "
 msgstr "Wyszukiwanie pakietów: "
 
-#: ../yumcommands.py:710
+#: ../yumcommands.py:1666
 msgid "Update packages taking obsoletes into account"
 msgstr "Aktualizuje pakiety, w tym przestarzałe"
 
-#: ../yumcommands.py:719
+#: ../yumcommands.py:1696
 msgid "Setting up Upgrade Process"
 msgstr "Ustawianie procesu aktualizacji"
 
-#: ../yumcommands.py:737
+#: ../yumcommands.py:1731
 msgid "Install a local RPM"
 msgstr "Instaluje lokalny pakiet RPM"
 
-#: ../yumcommands.py:745
+#: ../yumcommands.py:1761
 msgid "Setting up Local Package Process"
 msgstr "Ustawianie procesu lokalnego pakietu"
 
-#: ../yumcommands.py:764
-msgid "Determine which package provides the given dependency"
-msgstr "Określa, który pakiet dostarcza podaną zależność"
-
-#: ../yumcommands.py:767
+#: ../yumcommands.py:1825
 msgid "Searching Packages for Dependency:"
 msgstr "Wyszukiwanie pakietów dla zależności:"
 
-#: ../yumcommands.py:781
+#: ../yumcommands.py:1867
 msgid "Run an interactive yum shell"
 msgstr "Uruchamia interaktywną powłokę programu yum"
 
-#: ../yumcommands.py:787
+#: ../yumcommands.py:1893
 msgid "Setting up Yum Shell"
 msgstr "Ustawianie powłoki programu yum"
 
-#: ../yumcommands.py:805
+#: ../yumcommands.py:1936
 msgid "List a package's dependencies"
 msgstr "Wyświetla listę zależności pakietu"
 
-#: ../yumcommands.py:811
+#: ../yumcommands.py:1963
 msgid "Finding dependencies: "
 msgstr "Wyszukiwanie zależności: "
 
-#: ../yumcommands.py:827
+#: ../yumcommands.py:2005
 msgid "Display the configured software repositories"
 msgstr "Wyświetla skonfigurowane repozytoria oprogramowania"
 
-#: ../yumcommands.py:893 ../yumcommands.py:894
+#: ../yumcommands.py:2094 ../yumcommands.py:2095
 msgid "enabled"
 msgstr "włączone"
 
-#: ../yumcommands.py:920 ../yumcommands.py:921
+#: ../yumcommands.py:2121 ../yumcommands.py:2122
 msgid "disabled"
 msgstr "wyłączone"
 
-#: ../yumcommands.py:937
+#: ../yumcommands.py:2137
 msgid "Repo-id      : "
 msgstr "Identyfikator repozytorium        : "
 
-#: ../yumcommands.py:938
+#: ../yumcommands.py:2138
 msgid "Repo-name    : "
 msgstr "Nazwa repozytorium                : "
 
-#: ../yumcommands.py:941
+#: ../yumcommands.py:2141
 msgid "Repo-status  : "
 msgstr "Stan repozytorium                 : "
 
-#: ../yumcommands.py:944
+#: ../yumcommands.py:2144
 msgid "Repo-revision: "
 msgstr "Wersja repozytorium               : "
 
-#: ../yumcommands.py:948
+#: ../yumcommands.py:2148
 msgid "Repo-tags    : "
 msgstr "Znaczniki repozytorium            : "
 
-#: ../yumcommands.py:954
+#: ../yumcommands.py:2154
 msgid "Repo-distro-tags: "
 msgstr "Znaczniki dystrybucji repozytorium: "
 
-#: ../yumcommands.py:959
+#: ../yumcommands.py:2159
 msgid "Repo-updated : "
 msgstr "Aktualizacje repozytorium         : "
 
-#: ../yumcommands.py:961
+#: ../yumcommands.py:2161
 msgid "Repo-pkgs    : "
 msgstr "Pakiety repozytorium              : "
 
-#: ../yumcommands.py:962
+#: ../yumcommands.py:2162
 msgid "Repo-size    : "
 msgstr "Rozmiar repozytorium              : "
 
-#: ../yumcommands.py:969 ../yumcommands.py:990
+#: ../yumcommands.py:2169 ../yumcommands.py:2190
 msgid "Repo-baseurl : "
 msgstr "Podstawowy adres URL repozytorium : "
 
-#: ../yumcommands.py:977
+#: ../yumcommands.py:2177
 msgid "Repo-metalink: "
 msgstr "Metaodnośnik repozytorium         : "
 
-#: ../yumcommands.py:981
+#: ../yumcommands.py:2181
 msgid "  Updated    : "
 msgstr "  Zaktualizowano                  : "
 
-#: ../yumcommands.py:984
+#: ../yumcommands.py:2184
 msgid "Repo-mirrors : "
 msgstr "Serwery lustrzane repozytorium    : "
 
-#: ../yumcommands.py:1000
+#: ../yumcommands.py:2199
 #, python-format
 msgid "Never (last: %s)"
 msgstr "Nigdy (ostatnio: %s)"
 
-#: ../yumcommands.py:1002
+#: ../yumcommands.py:2201
 #, python-format
 msgid "Instant (last: %s)"
 msgstr "Natychmiast (ostatnio: %s)"
 
-#: ../yumcommands.py:1005
+#: ../yumcommands.py:2204
 #, python-format
 msgid "%s second(s) (last: %s)"
 msgstr "%s sekundy (ostatnio: %s)"
 
-#: ../yumcommands.py:1007
+#: ../yumcommands.py:2206
 msgid "Repo-expire  : "
 msgstr "Wygaszenie repozytorium           : "
 
-#: ../yumcommands.py:1010
+#: ../yumcommands.py:2209
 msgid "Repo-exclude : "
 msgstr "Wykluczenia z repozytorium        : "
 
-#: ../yumcommands.py:1014
+#: ../yumcommands.py:2213
 msgid "Repo-include : "
 msgstr "Dołączone z repozytorium          : "
 
-#: ../yumcommands.py:1018
+#: ../yumcommands.py:2217
 msgid "Repo-excluded: "
 msgstr "Wykluczenia z repozytorium        : "
 
-#: ../yumcommands.py:1022
+#: ../yumcommands.py:2221
 msgid "Repo-filename: "
-msgstr ""
+msgstr "Nazwa pliku repozytorium: "
 
 #. Work out the first (id) and last (enabled/disalbed/count),
 #. then chop the middle (name)...
-#: ../yumcommands.py:1032 ../yumcommands.py:1061
+#: ../yumcommands.py:2230 ../yumcommands.py:2259
 msgid "repo id"
 msgstr "identyfikator repozytorium"
 
-#: ../yumcommands.py:1049 ../yumcommands.py:1050 ../yumcommands.py:1068
+#: ../yumcommands.py:2247 ../yumcommands.py:2248 ../yumcommands.py:2266
 msgid "status"
 msgstr "stan"
 
-#: ../yumcommands.py:1062
+#: ../yumcommands.py:2260
 msgid "repo name"
 msgstr "nazwa repozytorium"
 
-#: ../yumcommands.py:1099
+#: ../yumcommands.py:2332
 msgid "Display a helpful usage message"
 msgstr "Wyświetla pomocny komunikat o używaniu"
 
-#: ../yumcommands.py:1133
+#: ../yumcommands.py:2374
 #, python-format
 msgid "No help available for %s"
 msgstr "Brak dostępnej pomocy dla %s"
 
-#: ../yumcommands.py:1138
+#: ../yumcommands.py:2379
 msgid ""
 "\n"
 "\n"
 "aliases: "
-msgstr ""
-"\n"
-"\n"
-"aliasy: "
+msgstr "\n\naliasy: "
 
-#: ../yumcommands.py:1140
+#: ../yumcommands.py:2381
 msgid ""
 "\n"
 "\n"
 "alias: "
-msgstr ""
-"\n"
-"\n"
-"alias: "
+msgstr "\n\nalias: "
 
-#: ../yumcommands.py:1168
+#: ../yumcommands.py:2466
 msgid "Setting up Reinstall Process"
 msgstr "Ustawianie procesu ponownej instalacji"
 
-#: ../yumcommands.py:1176
+#: ../yumcommands.py:2478
 msgid "reinstall a package"
 msgstr "Ponownie instaluje pakiet"
 
-#: ../yumcommands.py:1195
+#: ../yumcommands.py:2541
 msgid "Setting up Downgrade Process"
 msgstr "Ustawianie procesu instalacji poprzedniej wersji pakietu"
 
-#: ../yumcommands.py:1202
+#: ../yumcommands.py:2552
 msgid "downgrade a package"
 msgstr "Instaluje poprzednią wersję pakietu"
 
-#: ../yumcommands.py:1216
+#: ../yumcommands.py:2591
 msgid "Display a version for the machine and/or available repos."
 msgstr "Wyświetla wersję dla komputera i/lub dostępnych repozytoriów."
 
-#: ../yumcommands.py:1255
+#: ../yumcommands.py:2643
 msgid " Yum version groups:"
 msgstr " Grupy wersji programu yum:"
 
-#: ../yumcommands.py:1265
+#: ../yumcommands.py:2653
 msgid " Group   :"
 msgstr " Grupa  :"
 
-#: ../yumcommands.py:1266
+#: ../yumcommands.py:2654
 msgid " Packages:"
 msgstr " Pakiety:"
 
-#: ../yumcommands.py:1295
+#: ../yumcommands.py:2683
 msgid "Installed:"
 msgstr "Zainstalowano:"
 
-#: ../yumcommands.py:1303
+#: ../yumcommands.py:2691
 msgid "Group-Installed:"
 msgstr "Zainstalowana grupa:"
 
-#: ../yumcommands.py:1312
+#: ../yumcommands.py:2700
 msgid "Available:"
 msgstr "Dostępne:"
 
-#: ../yumcommands.py:1321
+#: ../yumcommands.py:2709
 msgid "Group-Available:"
 msgstr "Dostępne grupy:"
 
-#: ../yumcommands.py:1360
+#: ../yumcommands.py:2783
 msgid "Display, or use, the transaction history"
 msgstr "Wyświetla lub używa historii transakcji"
 
-#: ../yumcommands.py:1432
+#: ../yumcommands.py:2876 ../yumcommands.py:2880
+msgid "Transactions:"
+msgstr "Transakcje:"
+
+#: ../yumcommands.py:2881
+msgid "Begin time  :"
+msgstr "Czas rozpoczęcia:"
+
+#: ../yumcommands.py:2882
+msgid "End time    :"
+msgstr "Czas ukończenia :"
+
+#: ../yumcommands.py:2883
+msgid "Counts      :"
+msgstr "Liczba          :"
+
+#: ../yumcommands.py:2884
+msgid "  NEVRAC :"
+msgstr "  NEVRAC :"
+
+#: ../yumcommands.py:2885
+msgid "  NEVRA  :"
+msgstr "  NEVRA  :"
+
+#: ../yumcommands.py:2886
+msgid "  NA     :"
+msgstr "  NA     :"
+
+#: ../yumcommands.py:2887
+msgid "  NEVR   :"
+msgstr "  NEVR   :"
+
+#: ../yumcommands.py:2888
+msgid "  rpm DB :"
+msgstr "  Baza danych RPM:"
+
+#: ../yumcommands.py:2889
+msgid "  yum DB :"
+msgstr "  Baza danych yum:"
+
+#: ../yumcommands.py:2922
 #, python-format
 msgid "Invalid history sub-command, use: %s."
 msgstr "Nieprawidłowe podpolecenie historii, należy użyć: %s."
 
-#: ../yumcommands.py:1439
+#: ../yumcommands.py:2929
 msgid "You don't have access to the history DB."
 msgstr "Brak dostępu do bazy danych historii."
 
-#: ../yumcommands.py:1487
+#: ../yumcommands.py:3036
 msgid "Check for problems in the rpmdb"
-msgstr "Proszę sprawdzić, czy występują problemy w bazie danych RPM"
+msgstr "Sprawdza, czy występują problemy w bazie danych RPM"
 
-#: ../yumcommands.py:1514
+#: ../yumcommands.py:3102
 msgid "load a saved transaction from filename"
 msgstr "wczytuje zapisaną transakcję z nazwy pliku"
 
-#: ../yumcommands.py:1518
+#: ../yumcommands.py:3119
 msgid "No saved transaction file specified."
 msgstr "Nie podano zapisanego pliku transakcji."
 
-#: ../yumcommands.py:1522
+#: ../yumcommands.py:3123
 #, python-format
 msgid "loading transaction from %s"
 msgstr "wczytywanie transakcji z %s"
 
-#: ../yumcommands.py:1528
+#: ../yumcommands.py:3129
 #, python-format
 msgid "Transaction loaded from %s with %s members"
 msgstr "Wczytano transakcję z %s z %s elementami"
 
+#: ../yumcommands.py:3169
+msgid "Simple way to swap packages, isntead of using shell"
+msgstr "Prosty sposób na przełączenie pakietów, zamiast używania powłoki"
+
+#: ../yumcommands.py:3264
+msgid ""
+"Treat a repo. as a group of packages, so we can install/remove all of them"
+msgstr "Traktuje repozytorium jako grupę pakietów, więc można je wszystkie zainstalować/usunąć"
+
+#: ../yumcommands.py:3341
+#, python-format
+msgid "%d package to update"
+msgid_plural "%d packages to update"
+msgstr[0] "%d pakiet do zaktualizowania"
+msgstr[1] "%d pakiety do zaktualizowania"
+msgstr[2] "%d pakietów do zaktualizowania"
+
+#: ../yumcommands.py:3370
+#, python-format
+msgid "%d package to remove/reinstall"
+msgid_plural "%d packages to remove/reinstall"
+msgstr[0] "%d pakiet do usunięcia/zainstalowania ponownie"
+msgstr[1] "%d pakiety do usunięcia/zainstalowania ponownie"
+msgstr[2] "%d pakietów do usunięcia/zainstalowania ponownie"
+
+#: ../yumcommands.py:3413
+#, python-format
+msgid "%d package to remove/sync"
+msgid_plural "%d packages to remove/sync"
+msgstr[0] "%d pakiet do usunięcia/zsynchronizowania"
+msgstr[1] "%d pakiety do usunięcia/zsynchronizowania"
+msgstr[2] "%d pakietów do usunięcia/zsynchronizowania"
+
+#: ../yumcommands.py:3417
+#, python-format
+msgid "Not a valid sub-command of %s"
+msgstr "Nieprawidłowe podpolecenie dla %s"
+
 #. This is mainly for PackageSackError from rpmdb.
 #: ../yummain.py:84
 #, python-format
 msgid " Yum checks failed: %s"
-msgstr " Sprawdzanie programu yum nie powiodło się: %s"
+msgstr " Sprawdzanie programu yum się nie powiodło: %s"
 
-#: ../yummain.py:114
-msgid ""
-"Another app is currently holding the yum lock; waiting for it to exit..."
-msgstr ""
-"Inna aplikacja obecnie blokuje program yum. Oczekiwanie na jej "
-"zakończenie..."
+#: ../yummain.py:98
+msgid "No read/execute access in current directory, moving to /"
+msgstr "Brak dostępu do odczytu/wykonania w bieżącym katalogu, przenoszenie do /"
 
-#: ../yummain.py:120
-msgid "Can't create lock file; exiting"
-msgstr "Nie można utworzyć pliku blokady; kończenie działania"
+#: ../yummain.py:106
+msgid "No getcwd() access in current directory, moving to /"
+msgstr "Brak dostępu getcwd() w bieżącym katalogu, przechodzenie do /"
 
 #. Depsolve stage
-#: ../yummain.py:167
+#: ../yummain.py:164
 msgid "Resolving Dependencies"
 msgstr "Rozwiązywanie zależności"
 
-#: ../yummain.py:230
+#: ../yummain.py:227 ../yummain.py:235
 #, python-format
-msgid "Your transaction was saved, rerun it with: yum load-transaction %s"
-msgstr ""
-"Transakcja została zapisana, można ją ponownie wykonać za pomocą polecenia: "
-"yum load-transaction %s"
+msgid ""
+"Your transaction was saved, rerun it with:\n"
+" yum load-transaction %s"
+msgstr "Transakcja została zapisana, można ją wykonać ponownie za pomocą:\n yum load-transaction %s"
 
-#: ../yummain.py:288
+#: ../yummain.py:312
 msgid ""
 "\n"
 "\n"
 "Exiting on user cancel."
-msgstr ""
-"\n"
-"\n"
-"Kończenie działania na polecenie użytkownika."
+msgstr "\n\nKończenie działania na polecenie użytkownika."
 
-#: ../yum/depsolve.py:84
+#: ../yum/depsolve.py:127
 msgid "doTsSetup() will go away in a future version of Yum.\n"
 msgstr "doTsSetup() zostanie usunięte w przyszłych wersjach programu yum.\n"
 
-#: ../yum/depsolve.py:99
+#: ../yum/depsolve.py:143
 msgid "Setting up TransactionSets before config class is up"
 msgstr "Ustawianie zestawów transakcji przed włączeniem klasy konfiguracji"
 
-#: ../yum/depsolve.py:153
+#: ../yum/depsolve.py:200
 #, python-format
 msgid "Invalid tsflag in config file: %s"
-msgstr ""
-"Nieprawidłowa flaga zestawu transakcji tsflag w pliku konfiguracji: %s"
+msgstr "Nieprawidłowa flaga zestawu transakcji tsflag w pliku konfiguracji: %s"
 
-#: ../yum/depsolve.py:164
+#: ../yum/depsolve.py:218
 #, python-format
 msgid "Searching pkgSack for dep: %s"
 msgstr "Wyszukiwanie zestawu pakietów dla zależności: %s"
 
-#: ../yum/depsolve.py:207
+#: ../yum/depsolve.py:269
 #, python-format
 msgid "Member: %s"
 msgstr "Element: %s"
 
-#: ../yum/depsolve.py:221 ../yum/depsolve.py:793
+#: ../yum/depsolve.py:283 ../yum/depsolve.py:937
 #, python-format
 msgid "%s converted to install"
 msgstr "%s przekonwertowano do zainstalowania"
 
-#: ../yum/depsolve.py:233
+#: ../yum/depsolve.py:295
 #, python-format
 msgid "Adding Package %s in mode %s"
 msgstr "Dodawanie pakietu %s w trybie %s"
 
-#: ../yum/depsolve.py:249
+#: ../yum/depsolve.py:311
 #, python-format
 msgid "Removing Package %s"
 msgstr "Usuwanie pakietu %s"
 
-#: ../yum/depsolve.py:271
+#: ../yum/depsolve.py:333
 #, python-format
 msgid "%s requires: %s"
 msgstr "%s wymaga: %s"
 
-#: ../yum/depsolve.py:312
+#: ../yum/depsolve.py:374
 #, python-format
 msgid "%s requires %s"
 msgstr "%s wymaga %s"
 
-#: ../yum/depsolve.py:339
+#: ../yum/depsolve.py:401
 msgid "Needed Require has already been looked up, cheating"
 msgstr "Wymagana zależność została już odnaleziona, oszukiwanie"
 
-#: ../yum/depsolve.py:349
+#: ../yum/depsolve.py:411
 #, python-format
 msgid "Needed Require is not a package name. Looking up: %s"
 msgstr "Wymagana zależność nie jest nazwą pakietu. Wyszukiwanie: %s"
 
-#: ../yum/depsolve.py:357
+#: ../yum/depsolve.py:419
 #, python-format
 msgid "Potential Provider: %s"
 msgstr "Potencjalny dostawca: %s"
 
-#: ../yum/depsolve.py:380
+#: ../yum/depsolve.py:442
 #, python-format
 msgid "Mode is %s for provider of %s: %s"
 msgstr "Tryb to %s dla dostawcy %s: %s"
 
-#: ../yum/depsolve.py:384
+#: ../yum/depsolve.py:446
 #, python-format
 msgid "Mode for pkg providing %s: %s"
 msgstr "Tryb dla pakietu dostarczającego %s: %s"
@@ -2128,1049 +2331,1142 @@ msgstr "Tryb dla pakietu dostarczającego %s: %s"
 #. the thing it needs is being updated or obsoleted away
 #. try to update the requiring package in hopes that all this problem goes
 #. away :(
-#: ../yum/depsolve.py:389 ../yum/depsolve.py:406
+#: ../yum/depsolve.py:451 ../yum/depsolve.py:486
 #, python-format
 msgid "Trying to update %s to resolve dep"
 msgstr "Próba zaktualizowania %s, aby rozwiązać zależność"
 
-#: ../yum/depsolve.py:400 ../yum/depsolve.py:410
+#: ../yum/depsolve.py:480
 #, python-format
 msgid "No update paths found for %s. Failure!"
 msgstr "Nie odnaleziono ścieżek aktualizacji dla %s. Niepowodzenie."
 
-#: ../yum/depsolve.py:416
+#: ../yum/depsolve.py:491
+#, python-format
+msgid "No update paths found for %s. Failure due to requirement: %s!"
+msgstr "Nie odnaleziono ścieżek aktualizacji dla %s. Niepowodzenie z powodu wymagania: %s."
+
+#: ../yum/depsolve.py:507
+#, python-format
+msgid "Update for %s. Doesn't fix requirement: %s!"
+msgstr "Aktualizacja dla %s. Nie naprawia wymagania: %s."
+
+#: ../yum/depsolve.py:514
 #, python-format
 msgid "TSINFO: %s package requiring %s marked as erase"
 msgstr "TSINFO: pakiet %s wymagający %s został oznaczony jako do usunięcia"
 
-#: ../yum/depsolve.py:429
+#: ../yum/depsolve.py:527
 #, python-format
 msgid "TSINFO: Obsoleting %s with %s to resolve dep."
-msgstr ""
-"TSINFO: zastępowanie przestarzałego pakietu %s pakietem %s, aby rozwiązać "
-"zależność."
+msgstr "TSINFO: zastępowanie przestarzałego pakietu %s pakietem %s, aby rozwiązać zależność."
 
-#: ../yum/depsolve.py:432
+#: ../yum/depsolve.py:530
 #, python-format
 msgid "TSINFO: Updating %s to resolve dep."
 msgstr "TSINFO: aktualizowanie %s, aby rozwiązać zależność."
 
-#: ../yum/depsolve.py:440
+#: ../yum/depsolve.py:538
 #, python-format
 msgid "Cannot find an update path for dep for: %s"
 msgstr "Nie można odnaleźć ścieżki aktualizacji dla zależności dla: %s"
 
-#: ../yum/depsolve.py:471
+#: ../yum/depsolve.py:569
 #, python-format
 msgid "Quick matched %s to require for %s"
 msgstr "Szybko dopasowano %s jako wymaganie %s"
 
 #. is it already installed?
-#: ../yum/depsolve.py:513
+#: ../yum/depsolve.py:611
 #, python-format
 msgid "%s is in providing packages but it is already installed, removing."
-msgstr ""
-"%s jest w dostarczających pakietach, ale jest już zainstalowany, usuwanie."
+msgstr "%s jest w dostarczających pakietach, ale jest już zainstalowany, usuwanie."
 
-#: ../yum/depsolve.py:529
+#: ../yum/depsolve.py:627
 #, python-format
 msgid "Potential resolving package %s has newer instance in ts."
-msgstr ""
-"Pakiet %s potencjalnie rozwiązujący ma nowszą wersję w zestawie transakcji."
+msgstr "Pakiet %s potencjalnie rozwiązujący ma nowszą wersję w zestawie transakcji."
 
-#: ../yum/depsolve.py:540
+#: ../yum/depsolve.py:638
 #, python-format
 msgid "Potential resolving package %s has newer instance installed."
 msgstr "Pakiet %s potencjalnie rozwiązujący ma zainstalowaną nowszą wersję."
 
-#: ../yum/depsolve.py:558
+#: ../yum/depsolve.py:656
 #, python-format
 msgid "%s already in ts, skipping this one"
 msgstr "%s jest już w zestawie transakcji, pomijanie"
 
-#: ../yum/depsolve.py:607
+#: ../yum/depsolve.py:705
 #, python-format
 msgid "TSINFO: Marking %s as update for %s"
 msgstr "TSINFO: oznaczanie %s jako aktualizacji dla %s"
 
-#: ../yum/depsolve.py:616
+#: ../yum/depsolve.py:714
 #, python-format
 msgid "TSINFO: Marking %s as install for %s"
 msgstr "TSINFO: oznaczanie %s jako do zainstalowania dla %s"
 
-#: ../yum/depsolve.py:727 ../yum/depsolve.py:819
+#: ../yum/depsolve.py:849 ../yum/depsolve.py:967
 msgid "Success - empty transaction"
 msgstr "Powodzenie - pusta transakcja"
 
-#: ../yum/depsolve.py:767 ../yum/depsolve.py:783
+#: ../yum/depsolve.py:889 ../yum/depsolve.py:927
 msgid "Restarting Loop"
 msgstr "Ponowne uruchamianie pętli"
 
-#: ../yum/depsolve.py:799
+#: ../yum/depsolve.py:947
 msgid "Dependency Process ending"
 msgstr "Kończenie procesu zależności"
 
-#: ../yum/depsolve.py:821
+#: ../yum/depsolve.py:969
 msgid "Success - deps resolved"
 msgstr "Powodzenie - rozwiązano zależności"
 
-#: ../yum/depsolve.py:845
+#: ../yum/depsolve.py:993
 #, python-format
 msgid "Checking deps for %s"
 msgstr "Sprawdzanie zależności dla %s"
 
-#: ../yum/depsolve.py:931
+#: ../yum/depsolve.py:1082
 #, python-format
 msgid "looking for %s as a requirement of %s"
 msgstr "wyszukiwanie %s jako wymagania %s"
 
-#: ../yum/depsolve.py:1169
+#: ../yum/depsolve.py:1349
 #, python-format
 msgid "Running compare_providers() for %s"
 msgstr "Wykonywanie compare_providers() dla %s"
 
-#: ../yum/depsolve.py:1196 ../yum/depsolve.py:1202
+#: ../yum/depsolve.py:1376 ../yum/depsolve.py:1382
 #, python-format
 msgid "better arch in po %s"
 msgstr "lepsze arch w po %s"
 
-#: ../yum/depsolve.py:1298
+#: ../yum/depsolve.py:1496
 #, python-format
 msgid "%s obsoletes %s"
 msgstr "%s zastępuje %s"
 
-#: ../yum/depsolve.py:1310
+#: ../yum/depsolve.py:1508
 #, python-format
 msgid ""
 "archdist compared %s to %s on %s\n"
 "  Winner: %s"
-msgstr ""
-"archdist porównało %s do %s na %s\n"
-"  Zwycięzca: %s"
+msgstr "archdist porównało %s do %s na %s\n  Zwycięzca: %s"
 
-#: ../yum/depsolve.py:1318
+#: ../yum/depsolve.py:1516
 #, python-format
 msgid "common sourcerpm %s and %s"
 msgstr "wspólny źródłowy pakiet RPM %s i %s"
 
-#: ../yum/depsolve.py:1322
+#: ../yum/depsolve.py:1520
 #, python-format
 msgid "base package %s is installed for %s"
 msgstr "podstawowy pakiet %s jest zainstalowany dla %s"
 
-#: ../yum/depsolve.py:1328
+#: ../yum/depsolve.py:1526
 #, python-format
 msgid "common prefix of %s between %s and %s"
 msgstr "wspólny przedrostek %s dla %s i %s"
 
-#: ../yum/depsolve.py:1359
+#: ../yum/depsolve.py:1543
 #, python-format
-msgid "requires minimal: %d"
-msgstr "wymaga minimum: %d"
+msgid "provides vercmp: %s"
+msgstr "dostarcza vercmp: %s"
 
-#: ../yum/depsolve.py:1363
+#: ../yum/depsolve.py:1547 ../yum/depsolve.py:1581
 #, python-format
 msgid " Winner: %s"
 msgstr " Zwycięzca: %s"
 
-#: ../yum/depsolve.py:1368
+#: ../yum/depsolve.py:1577
+#, python-format
+msgid "requires minimal: %d"
+msgstr "wymaga minimum: %d"
+
+#: ../yum/depsolve.py:1586
 #, python-format
 msgid " Loser(with %d): %s"
 msgstr " Przegrany (za pomocą %d): %s"
 
-#: ../yum/depsolve.py:1384
+#: ../yum/depsolve.py:1602
 #, python-format
 msgid "Best Order: %s"
 msgstr "Najlepszy porządek: %s"
 
-#: ../yum/__init__.py:234
+#: ../yum/__init__.py:274
 msgid "doConfigSetup() will go away in a future version of Yum.\n"
 msgstr "doConfigSetup() zostanie usunięte w przyszłych wersjach programu yum.\n"
 
-#: ../yum/__init__.py:482
+#: ../yum/__init__.py:553
+#, python-format
+msgid "Skipping unreadable repository %s"
+msgstr "Pomijanie nieczytelnego repozytorium %s"
+
+#: ../yum/__init__.py:572
 #, python-format
 msgid "Repository %r: Error parsing config: %s"
 msgstr "Repozytorium %r: błąd podczas przetwarzania konfiguracji: %s"
 
-#: ../yum/__init__.py:488
+#: ../yum/__init__.py:578
 #, python-format
 msgid "Repository %r is missing name in configuration, using id"
-msgstr ""
-"Repozytorium %r nie posiada nazwy w konfiguracji, używanie identyfikatora"
+msgstr "Repozytorium %r nie posiada nazwy w konfiguracji, używanie identyfikatora"
 
-#: ../yum/__init__.py:526
+#: ../yum/__init__.py:618
 msgid "plugins already initialised"
 msgstr "wtyczki zostały już zainicjowane"
 
-#: ../yum/__init__.py:533
+#: ../yum/__init__.py:627
 msgid "doRpmDBSetup() will go away in a future version of Yum.\n"
 msgstr "doRpmDBSetup() zostanie usunięte w przyszłych wersjach programu yum.\n"
 
-#: ../yum/__init__.py:544
+#: ../yum/__init__.py:638
 msgid "Reading Local RPMDB"
 msgstr "Odczytywanie lokalnej bazy danych RPM"
 
-#: ../yum/__init__.py:567
+#: ../yum/__init__.py:668
 msgid "doRepoSetup() will go away in a future version of Yum.\n"
 msgstr "doRepoSetup() zostanie usunięte w przyszłych wersjach programu yum.\n"
 
-#: ../yum/__init__.py:630
+#: ../yum/__init__.py:722
 msgid "doSackSetup() will go away in a future version of Yum.\n"
 msgstr "doSackSetup() zostanie usunięte w przyszłych wersjach programu yum.\n"
 
-#: ../yum/__init__.py:660
+#: ../yum/__init__.py:752
 msgid "Setting up Package Sacks"
 msgstr "Ustawianie zestawów pakietów"
 
-#: ../yum/__init__.py:705
+#: ../yum/__init__.py:797
 #, python-format
 msgid "repo object for repo %s lacks a _resetSack method\n"
 msgstr "obiekt repozytorium %s nie posiada metody _resetSack\n"
 
-#: ../yum/__init__.py:706
+#: ../yum/__init__.py:798
 msgid "therefore this repo cannot be reset.\n"
 msgstr "więc to repozytorium nie może zostać przywrócone.\n"
 
-#: ../yum/__init__.py:711
+#: ../yum/__init__.py:806
 msgid "doUpdateSetup() will go away in a future version of Yum.\n"
 msgstr "doUpdateSetup() zostanie usunięte w przyszłych wersjach programu yum.\n"
 
-#: ../yum/__init__.py:723
+#: ../yum/__init__.py:818
 msgid "Building updates object"
 msgstr "Budowanie obiektu aktualizacji"
 
-#: ../yum/__init__.py:765
+#: ../yum/__init__.py:862
 msgid "doGroupSetup() will go away in a future version of Yum.\n"
 msgstr "doGroupSetup() zostanie usunięte w przyszłych wersjach programu yum.\n"
 
-#: ../yum/__init__.py:790
+#: ../yum/__init__.py:887
 msgid "Getting group metadata"
 msgstr "Pobieranie metadanych grup"
 
-#: ../yum/__init__.py:816
+#: ../yum/__init__.py:915
 #, python-format
 msgid "Adding group file from repository: %s"
 msgstr "Dodawanie pliku grup z repozytorium: %s"
 
-#: ../yum/__init__.py:827
+#: ../yum/__init__.py:918
+#, python-format
+msgid "Failed to retrieve group file for repository: %s"
+msgstr "Pobranie pliku grup dla repozytorium się nie powiodło: %s"
+
+#: ../yum/__init__.py:924
 #, python-format
 msgid "Failed to add groups file for repository: %s - %s"
-msgstr "Dodanie pliku grup dla repozytorium nie powiodło się: %s - %s"
+msgstr "Dodanie pliku grup dla repozytorium się nie powiodło: %s - %s"
 
-#: ../yum/__init__.py:833
+#: ../yum/__init__.py:930
 msgid "No Groups Available in any repository"
 msgstr "Brak dostępnych grup we wszystkich repozytoriach"
 
-#: ../yum/__init__.py:845
+#: ../yum/__init__.py:945
 msgid "Getting pkgtags metadata"
 msgstr "Pobieranie metadanych znaczników pakietów"
 
-#: ../yum/__init__.py:855
+#: ../yum/__init__.py:955
 #, python-format
 msgid "Adding tags from repository: %s"
 msgstr "Dodawanie znaczników z repozytorium: %s"
 
-#: ../yum/__init__.py:866
+#: ../yum/__init__.py:966
 #, python-format
 msgid "Failed to add Pkg Tags for repository: %s - %s"
-msgstr ""
-"Dodanie znaczników pakietów dla repozytorium nie powiodło się: %s - %s"
+msgstr "Dodanie znaczników pakietów dla repozytorium się nie powiodło: %s - %s"
 
-#: ../yum/__init__.py:944
+#: ../yum/__init__.py:1059
 msgid "Importing additional filelist information"
 msgstr "Importowanie dodatkowych informacji o liście plików"
 
-#: ../yum/__init__.py:958
+#: ../yum/__init__.py:1077
 #, python-format
 msgid "The program %s%s%s is found in the yum-utils package."
 msgstr "Program %s%s%s można odnaleźć w pakiecie yum-utils."
 
-#: ../yum/__init__.py:966
+#: ../yum/__init__.py:1094
 msgid ""
 "There are unfinished transactions remaining. You might consider running yum-"
 "complete-transaction first to finish them."
-msgstr ""
-"Pozostały nieukończone transakcje. Można rozważyć wykonanie najpierw "
-"polecenia yum-complete-transaction, aby je ukończyć."
+msgstr "Pozostały nieukończone transakcje. Można rozważyć wykonanie najpierw polecenia yum-complete-transaction, aby je ukończyć."
 
-#: ../yum/__init__.py:983
+#: ../yum/__init__.py:1111
 msgid "--> Finding unneeded leftover dependencies"
 msgstr "--> Wyszukiwanie niepotrzebnych pozostałych zależności"
 
-#: ../yum/__init__.py:1041
+#: ../yum/__init__.py:1169
 #, python-format
 msgid "Protected multilib versions: %s != %s"
 msgstr "Chronione wersje multilib: %s != %s"
 
-#: ../yum/__init__.py:1096
+#. People are confused about protected mutilib ... so give
+#. them a nicer message.
+#: ../yum/__init__.py:1173
+#, python-format
+msgid ""
+" Multilib version problems found. This often means that the root\n"
+"cause is something else and multilib version checking is just\n"
+"pointing out that there is a problem. Eg.:\n"
+"\n"
+"  1. You have an upgrade for %(name)s which is missing some\n"
+"     dependency that another package requires. Yum is trying to\n"
+"     solve this by installing an older version of %(name)s of the\n"
+"     different architecture. If you exclude the bad architecture\n"
+"     yum will tell you what the root cause is (which package\n"
+"     requires what). You can try redoing the upgrade with\n"
+"     --exclude %(name)s.otherarch ... this should give you an error\n"
+"     message showing the root cause of the problem.\n"
+"\n"
+"  2. You have multiple architectures of %(name)s installed, but\n"
+"     yum can only see an upgrade for one of those arcitectures.\n"
+"     If you don't want/need both architectures anymore then you\n"
+"     can remove the one with the missing update and everything\n"
+"     will work.\n"
+"\n"
+"  3. You have duplicate versions of %(name)s installed already.\n"
+"     You can use \"yum check\" to get yum show these errors.\n"
+"\n"
+"...you can also use --setopt=protected_multilib=false to remove\n"
+"this checking, however this is almost never the correct thing to\n"
+"do as something else is very likely to go wrong (often causing\n"
+"much more problems).\n"
+"\n"
+msgstr ""
+
+#: ../yum/__init__.py:1257
 #, python-format
 msgid "Trying to remove \"%s\", which is protected"
 msgstr "Próbowanie usunięcia pakietu \"%s\", który jest chroniony"
 
-#: ../yum/__init__.py:1217
+#: ../yum/__init__.py:1378
 msgid ""
 "\n"
 "Packages skipped because of dependency problems:"
-msgstr ""
-"\n"
-"Pakiety pominięto z powodu problemów z zależnościami:"
+msgstr "\nPakiety pominięto z powodu problemów z zależnościami:"
 
-#: ../yum/__init__.py:1221
+#: ../yum/__init__.py:1382
 #, python-format
 msgid "    %s from %s"
 msgstr "    %s z %s"
 
 #. FIXME: _N()
-#: ../yum/__init__.py:1391
+#: ../yum/__init__.py:1556
 #, python-format
 msgid "** Found %d pre-existing rpmdb problem(s), 'yum check' output follows:"
-msgstr ""
-"** Odnaleziono %d wcześniej istniejących problemów bazy danych RPM. Wynik "
-"polecenia \"yum check\":"
+msgstr "** Odnaleziono %d wcześniej istniejących problemów bazy danych RPM. Wynik polecenia \"yum check\":"
 
-#: ../yum/__init__.py:1395
+#: ../yum/__init__.py:1560
 msgid "Warning: RPMDB altered outside of yum."
 msgstr "Ostrzeżenie: baza danych RPM została zmieniona poza programem yum."
 
-#: ../yum/__init__.py:1407
+#: ../yum/__init__.py:1572
 msgid "missing requires"
 msgstr "brak wymaganych"
 
-#: ../yum/__init__.py:1408
+#: ../yum/__init__.py:1573
 msgid "installed conflict"
 msgstr "zainstalowano konflikt"
 
-#: ../yum/__init__.py:1525
+#: ../yum/__init__.py:1709
 msgid ""
 "Warning: scriptlet or other non-fatal errors occurred during transaction."
-msgstr ""
-"Ostrzeżenie: podczas transakcji wystąpił skrypt lub inne nie krytyczne "
-"błędy."
+msgstr "Ostrzeżenie: podczas transakcji wystąpił skrypt lub inne nie krytyczne błędy."
 
-#: ../yum/__init__.py:1535
+#: ../yum/__init__.py:1719
 msgid "Transaction couldn't start:"
 msgstr "Nie można rozpocząć transakcji:"
 
 #. should this be 'to_unicoded'?
-#: ../yum/__init__.py:1538
+#: ../yum/__init__.py:1722
 msgid "Could not run transaction."
 msgstr "Nie można wykonać transakcji."
 
-#: ../yum/__init__.py:1552
+#: ../yum/__init__.py:1736
 #, python-format
 msgid "Failed to remove transaction file %s"
-msgstr "Usunięcie pliku transakcji %s nie powiodło się"
+msgstr "Usunięcie pliku transakcji %s się nie powiodło"
 
 #. maybe a file log here, too
 #. but raising an exception is not going to do any good
-#: ../yum/__init__.py:1590
+#: ../yum/__init__.py:1792
 #, python-format
 msgid "%s was supposed to be installed but is not!"
 msgstr "%s miało zostać zainstalowane, ale nie zostało."
 
 #. maybe a file log here, too
 #. but raising an exception is not going to do any good
-#: ../yum/__init__.py:1651
+#. Note: This actually triggers atm. because we can't
+#. always find the erased txmbr to set it when
+#. we should.
+#: ../yum/__init__.py:1869
 #, python-format
 msgid "%s was supposed to be removed but is not!"
 msgstr "%s miało zostać usunięte, ale nie zostało."
 
-#: ../yum/__init__.py:1768
-#, python-format
-msgid "Could not open lock %s: %s"
-msgstr "Nie można otworzyć blokady %s: %s"
-
-#. Whoa. What the heck happened?
-#: ../yum/__init__.py:1785
-#, python-format
-msgid "Unable to check if PID %s is active"
-msgstr "Nie można sprawdzić, czy PID %s jest aktywny"
-
 #. Another copy seems to be running.
-#: ../yum/__init__.py:1789
+#: ../yum/__init__.py:2004
 #, python-format
 msgid "Existing lock %s: another copy is running as pid %s."
 msgstr "Istnieje blokada %s: inna kopia jest uruchomiona jako PID %s."
 
 #. Whoa. What the heck happened?
-#: ../yum/__init__.py:1830
+#: ../yum/__init__.py:2053
 #, python-format
 msgid "Could not create lock at %s: %s "
 msgstr "Nie można utworzyć blokady na %s: %s "
 
-#: ../yum/__init__.py:1875
+#: ../yum/__init__.py:2065
+#, python-format
+msgid "Could not open lock %s: %s"
+msgstr "Nie można otworzyć blokady %s: %s"
+
+#. The pid doesn't exist
+#. Whoa. What the heck happened?
+#: ../yum/__init__.py:2082
+#, python-format
+msgid "Unable to check if PID %s is active"
+msgstr "Nie można sprawdzić, czy PID %s jest aktywny"
+
+#: ../yum/__init__.py:2132
 #, python-format
 msgid ""
 "Package does not match intended download. Suggestion: run yum "
 "--enablerepo=%s clean metadata"
-msgstr ""
-"Pakiet nie zgadza się z zamierzonym pobieraniem. Sugestia: proszę wykonać "
-"polecenie yum --enablerepo=%s clean metadata"
+msgstr "Pakiet nie zgadza się z zamierzonym pobieraniem. Sugestia: proszę wykonać polecenie yum --enablerepo=%s clean metadata"
 
-#: ../yum/__init__.py:1891
+#: ../yum/__init__.py:2155
 msgid "Could not perform checksum"
 msgstr "Nie można wykonać sprawdzenia sum kontrolnych"
 
-#: ../yum/__init__.py:1894
+#: ../yum/__init__.py:2158
 msgid "Package does not match checksum"
 msgstr "Sumy kontrolne pakietu nie zgadzają się"
 
-#: ../yum/__init__.py:1946
+#: ../yum/__init__.py:2222
 #, python-format
 msgid "package fails checksum but caching is enabled for %s"
-msgstr ""
-"sprawdzenie sum kontrolnych pakietu nie powiodło się, ale zapisywanie w "
-"pamięci podręcznej dla %s jest włączone"
+msgstr "sprawdzenie sum kontrolnych pakietu się nie powiodło, ale zapisywanie w pamięci podręcznej dla %s jest włączone"
 
-#: ../yum/__init__.py:1949 ../yum/__init__.py:1979
+#: ../yum/__init__.py:2225 ../yum/__init__.py:2268
 #, python-format
 msgid "using local copy of %s"
 msgstr "używanie lokalnej kopii %s"
 
-#: ../yum/__init__.py:1991
-#, python-format
-msgid ""
-"Insufficient space in download directory %s\n"
-"    * free   %s\n"
-"    * needed %s"
-msgstr ""
-"Niewystarczająca ilość miejsca w katalogu pobierania %s\n"
-"    * wolne   %s\n"
-"    * wymagane %s"
+#. caller handles errors
+#: ../yum/__init__.py:2342
+msgid "exiting because --downloadonly specified"
+msgstr "kończenie działania, ponieważ podano opcję --downloadonly"
 
-#: ../yum/__init__.py:2052
+#: ../yum/__init__.py:2371
 msgid "Header is not complete."
 msgstr "Nagłówek nie jest pełny."
 
-#: ../yum/__init__.py:2089
+#: ../yum/__init__.py:2411
 #, python-format
 msgid ""
 "Header not in local cache and caching-only mode enabled. Cannot download %s"
-msgstr ""
-"Nagłówek nie jest w lokalnej pamięci podręcznej, a tryb używania tylko "
-"pamięci podręcznej jest włączony. Nie można pobrać %s"
+msgstr "Nagłówek nie jest w lokalnej pamięci podręcznej, a tryb używania tylko pamięci podręcznej jest włączony. Nie można pobrać %s"
 
-#: ../yum/__init__.py:2147
+#: ../yum/__init__.py:2471
 #, python-format
 msgid "Public key for %s is not installed"
 msgstr "Klucz publiczny dla %s nie jest zainstalowany"
 
-#: ../yum/__init__.py:2151
+#: ../yum/__init__.py:2475
 #, python-format
 msgid "Problem opening package %s"
 msgstr "Wystąpił problem podczas otwierania pakietu %s"
 
-#: ../yum/__init__.py:2159
+#: ../yum/__init__.py:2483
 #, python-format
 msgid "Public key for %s is not trusted"
 msgstr "Klucz publiczny dla %s nie jest zaufany"
 
-#: ../yum/__init__.py:2163
+#: ../yum/__init__.py:2487
 #, python-format
 msgid "Package %s is not signed"
 msgstr "Pakiet %s nie jest podpisany"
 
-#: ../yum/__init__.py:2202
+#: ../yum/__init__.py:2529
 #, python-format
 msgid "Cannot remove %s"
 msgstr "Nie można usunąć %s"
 
-#: ../yum/__init__.py:2206
+#: ../yum/__init__.py:2533
 #, python-format
 msgid "%s removed"
 msgstr "Usunięto %s"
 
-#: ../yum/__init__.py:2252
+#: ../yum/__init__.py:2594
 #, python-format
 msgid "Cannot remove %s file %s"
 msgstr "Nie można usunąć %s pliku %s"
 
-#: ../yum/__init__.py:2256
+#: ../yum/__init__.py:2598
 #, python-format
 msgid "%s file %s removed"
 msgstr "Usunięto %s plik %s"
 
-#: ../yum/__init__.py:2258
+#: ../yum/__init__.py:2600
 #, python-format
-msgid "%d %s files removed"
-msgstr "Usunięto %d %s plików"
+msgid "%d %s file removed"
+msgid_plural "%d %s files removed"
+msgstr[0] "%d %s plik został usunięty"
+msgstr[1] "%d %s pliki zostały usunięte"
+msgstr[2] "%d %s plików zostało usuniętych"
 
-#: ../yum/__init__.py:2327
+#: ../yum/__init__.py:2712
 #, python-format
 msgid "More than one identical match in sack for %s"
 msgstr "Więcej niż jeden identyczny wynik znajduje się w zestawie dla %s"
 
-#: ../yum/__init__.py:2333
+#: ../yum/__init__.py:2718
 #, python-format
 msgid "Nothing matches %s.%s %s:%s-%s from update"
 msgstr "Nic nie pasuje do %s.%s %s:%s-%s z aktualizacji"
 
-#: ../yum/__init__.py:2632
+#: ../yum/__init__.py:3096
 msgid ""
 "searchPackages() will go away in a future version of Yum."
 "                      Use searchGenerator() instead. \n"
-msgstr ""
-"searchPackages()  zostanie usunięte w przyszłych wersjach programu yum."
-"                      Zamiast tego należy użyć searchGenerator(). \n"
+msgstr "searchPackages()  zostanie usunięte w przyszłych wersjach programu yum.                      Zamiast tego należy użyć searchGenerator(). \n"
 
-#: ../yum/__init__.py:2675
+#: ../yum/__init__.py:3149
 #, python-format
-msgid "Searching %d packages"
-msgstr "Wyszukiwanie %d pakietów"
+msgid "Searching %d package"
+msgid_plural "Searching %d packages"
+msgstr[0] "Wyszukiwanie %d pakietu"
+msgstr[1] "Wyszukiwanie %d pakietów"
+msgstr[2] "Wyszukiwanie %d pakietów"
 
-#: ../yum/__init__.py:2679
+#: ../yum/__init__.py:3153
 #, python-format
 msgid "searching package %s"
 msgstr "wyszukiwanie pakietu %s"
 
-#: ../yum/__init__.py:2691
+#: ../yum/__init__.py:3165
 msgid "searching in file entries"
 msgstr "wyszukiwanie we wpisach plików"
 
-#: ../yum/__init__.py:2698
+#: ../yum/__init__.py:3172
 msgid "searching in provides entries"
 msgstr "wyszukiwanie we wpisach dostarczania"
 
-#: ../yum/__init__.py:2777
+#: ../yum/__init__.py:3369
 msgid "No group data available for configured repositories"
 msgstr "Brak dostępnych danych grup dla skonfigurowanych repozytoriów"
 
-#: ../yum/__init__.py:2808 ../yum/__init__.py:2827 ../yum/__init__.py:2858
-#: ../yum/__init__.py:2864 ../yum/__init__.py:2953 ../yum/__init__.py:2957
-#: ../yum/__init__.py:3339
+#: ../yum/__init__.py:3466 ../yum/__init__.py:3500 ../yum/__init__.py:3576
+#: ../yum/__init__.py:3582 ../yum/__init__.py:3719 ../yum/__init__.py:3723
+#: ../yum/__init__.py:4298
 #, python-format
 msgid "No Group named %s exists"
 msgstr "Grupa o nazwie %s nie istnieje"
 
-#: ../yum/__init__.py:2839 ../yum/__init__.py:2973
+#: ../yum/__init__.py:3512 ../yum/__init__.py:3740
 #, python-format
 msgid "package %s was not marked in group %s"
 msgstr "pakiet %s nie został oznaczony w grupie %s"
 
-#: ../yum/__init__.py:2887
+#. (upgrade and igroup_data[pkg] == 'available')):
+#: ../yum/__init__.py:3622
+#, python-format
+msgid "Skipping package %s from group %s"
+msgstr "Pomijanie pakietu %s z grupy %s"
+
+#: ../yum/__init__.py:3628
 #, python-format
 msgid "Adding package %s from group %s"
 msgstr "Dodawanie pakietu %s z grupy %s"
 
-#: ../yum/__init__.py:2891
+#: ../yum/__init__.py:3649
 #, python-format
 msgid "No package named %s available to be installed"
 msgstr "Brak dostępnego pakietu o nazwie %s do zainstalowania"
 
-#: ../yum/__init__.py:2941
+#: ../yum/__init__.py:3702
 #, python-format
-msgid "Warning: Group %s does not have any packages."
-msgstr "Ostrzeżenie: grupa %s nie posiada żadnych pakietów."
+msgid "Warning: Group %s does not have any packages to install."
+msgstr "Ostrzeżenie: grupa %s nie posiada żadnych pakietów do zainstalowania."
 
-#: ../yum/__init__.py:2943
+#: ../yum/__init__.py:3704
 #, python-format
 msgid "Group %s does have %u conditional packages, which may get installed."
-msgstr ""
-"Grupa %s posiada %u pakiety warunkowe, które mogą zostać zainstalowane."
+msgstr "Grupa %s posiada %u pakiety warunkowe, które mogą zostać zainstalowane."
+
+#: ../yum/__init__.py:3794
+#, python-format
+msgid "Skipping group %s from environment %s"
+msgstr "Pomijanie grupy %s ze środowiska %s"
 
 #. This can happen due to excludes after .up has
 #. happened.
-#: ../yum/__init__.py:3002
+#: ../yum/__init__.py:3858
 #, python-format
 msgid "Package tuple %s could not be found in packagesack"
 msgstr "Nie można odnaleźć krotki pakietu %s w zestawie pakietów"
 
-#: ../yum/__init__.py:3022
+#: ../yum/__init__.py:3886
 #, python-format
 msgid "Package tuple %s could not be found in rpmdb"
 msgstr "Nie można odnaleźć krotki pakietu %s w bazie danych RPM"
 
-#: ../yum/__init__.py:3079 ../yum/__init__.py:3129
+#: ../yum/__init__.py:3949 ../yum/__init__.py:4012
 #, python-format
 msgid "Invalid version flag from: %s"
 msgstr "Nieprawidłowa flaga wersji z: %s"
 
-#: ../yum/__init__.py:3096 ../yum/__init__.py:3101
+#: ../yum/__init__.py:3973 ../yum/__init__.py:3979 ../yum/__init__.py:4036
+#: ../yum/__init__.py:4042
 #, python-format
 msgid "No Package found for %s"
 msgstr "Nie odnaleziono pakietu %s"
 
-#: ../yum/__init__.py:3401
+#: ../yum/__init__.py:4245 ../yum/__init__.py:4274
+#, python-format
+msgid "Warning: Environment Group %s does not exist."
+msgstr "Ostrzeżenie: grupa środowiska %s nie istnieje."
+
+#: ../yum/__init__.py:4397
+#, python-format
+msgid "Package: %s - can't co-install with %s"
+msgstr "Pakiet: %s - nie może być zainstalowany równocześnie z %s"
+
+#: ../yum/__init__.py:4437
 msgid "Package Object was not a package object instance"
 msgstr "Obiekt pakietu nie był instancją obiektu pakietu"
 
-#: ../yum/__init__.py:3405
+#: ../yum/__init__.py:4441
 msgid "Nothing specified to install"
 msgstr "Nie podano nic do zainstalowania"
 
-#: ../yum/__init__.py:3424 ../yum/__init__.py:4283
+#: ../yum/__init__.py:4465 ../yum/__init__.py:5410
 #, python-format
 msgid "Checking for virtual provide or file-provide for %s"
 msgstr "Sprawdzanie wirtualnych zależności lub plików dla %s"
 
-#: ../yum/__init__.py:3430 ../yum/__init__.py:3775 ../yum/__init__.py:3969
-#: ../yum/__init__.py:4289
-#, python-format
-msgid "No Match for argument: %s"
-msgstr "Brak wyników dla parametru: %s"
-
-#: ../yum/__init__.py:3507
+#: ../yum/__init__.py:4542
 #, python-format
 msgid "Package %s installed and not available"
 msgstr "Pakiet %s jest zainstalowany, ale nie jest dostępny"
 
-#: ../yum/__init__.py:3510
+#: ../yum/__init__.py:4545
 msgid "No package(s) available to install"
 msgstr "Brak pakietów dostępnych do instalacji"
 
-#: ../yum/__init__.py:3522
+#: ../yum/__init__.py:4557
 #, python-format
 msgid "Package: %s  - already in transaction set"
 msgstr "Pakiet: %s  - jest już w zestawie transakcji"
 
-#: ../yum/__init__.py:3550
+#: ../yum/__init__.py:4589
 #, python-format
 msgid "Package %s is obsoleted by %s which is already installed"
 msgstr "Pakiet %s został zastąpiony przez %s, który jest już zainstalowany"
 
-#: ../yum/__init__.py:3555
+#: ../yum/__init__.py:4594
 #, python-format
 msgid ""
 "Package %s is obsoleted by %s, but obsoleting package does not provide for "
 "requirements"
-msgstr ""
-"Pakiet %s został zastąpiony przez %s, ale zastępujący pakiet nie spełnia "
-"wymagań"
+msgstr "Pakiet %s został zastąpiony przez %s, ale zastępujący pakiet nie spełnia wymagań"
 
-#: ../yum/__init__.py:3558
+#: ../yum/__init__.py:4597
 #, python-format
 msgid "Package %s is obsoleted by %s, trying to install %s instead"
-msgstr ""
-"Pakiet %s został zastąpiony przez %s, próbowanie instalacji %s zamiast niego"
+msgstr "Pakiet %s został zastąpiony przez %s, próbowanie instalacji %s zamiast niego"
 
-#: ../yum/__init__.py:3566
+#: ../yum/__init__.py:4605
 #, python-format
 msgid "Package %s already installed and latest version"
 msgstr "Pakiet %s jest już zainstalowany w najnowszej wersji"
 
-#: ../yum/__init__.py:3580
+#: ../yum/__init__.py:4619
 #, python-format
 msgid "Package matching %s already installed. Checking for update."
-msgstr ""
-"Pakiet pasujący do %s jest już zainstalowany. Sprawdzanie aktualizacji."
+msgstr "Pakiet pasujący do %s jest już zainstalowany. Sprawdzanie aktualizacji."
 
 #. update everything (the easy case)
-#: ../yum/__init__.py:3684
+#: ../yum/__init__.py:4751
 msgid "Updating Everything"
 msgstr "Aktualizowanie wszystkiego"
 
-#: ../yum/__init__.py:3708 ../yum/__init__.py:3849 ../yum/__init__.py:3879
-#: ../yum/__init__.py:3915
+#: ../yum/__init__.py:4775 ../yum/__init__.py:4930 ../yum/__init__.py:4975
+#: ../yum/__init__.py:5011
 #, python-format
 msgid "Not Updating Package that is already obsoleted: %s.%s %s:%s-%s"
 msgstr "Przestarzały pakiet nie zostanie zaktualizowany: %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3753 ../yum/__init__.py:3965
+#: ../yum/__init__.py:4830 ../yum/__init__.py:5072
 #, python-format
 msgid "%s"
 msgstr "%s"
 
-#: ../yum/__init__.py:3838
+#: ../yum/__init__.py:4854 ../yum/__init__.py:5080 ../yum/__init__.py:5416
+#, python-format
+msgid "No Match for argument: %s"
+msgstr "Brak wyników dla parametru: %s"
+
+#: ../yum/__init__.py:4872
+#, python-format
+msgid "No package matched to upgrade: %s"
+msgstr "Brak pakietów pasujących do aktualizacji: %s"
+
+#: ../yum/__init__.py:4919
 #, python-format
 msgid "Package is already obsoleted: %s.%s %s:%s-%s"
 msgstr "Pakiet został już zastąpiony: %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3874
+#: ../yum/__init__.py:4970
 #, python-format
 msgid "Not Updating Package that is obsoleted: %s"
 msgstr "Przestarzały pakiet nie zostanie zaktualizowany: %s"
 
-#: ../yum/__init__.py:3883 ../yum/__init__.py:3919
+#: ../yum/__init__.py:4979 ../yum/__init__.py:5015
 #, python-format
 msgid "Not Updating Package that is already updated: %s.%s %s:%s-%s"
 msgstr "Już zaktualizowany pakiet nie zostanie zaktualizowany: %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3982
-msgid "No package matched to remove"
-msgstr "Brak pasujących pakietów do usunięcia"
+#: ../yum/__init__.py:5093
+#, python-format
+msgid "No package matched to remove: %s"
+msgstr "Brak pakietów pasujących do usunięcia: %s"
 
-#: ../yum/__init__.py:3988
+#: ../yum/__init__.py:5099
 #, python-format
 msgid "Skipping the running kernel: %s"
 msgstr "Pomijanie uruchomionego jądra: %s"
 
-#: ../yum/__init__.py:3994
+#: ../yum/__init__.py:5105
 #, python-format
 msgid "Removing %s from the transaction"
 msgstr "Usuwanie %s z transakcji"
 
-#: ../yum/__init__.py:4029
+#: ../yum/__init__.py:5142
 #, python-format
 msgid "Cannot open: %s. Skipping."
 msgstr "Nie można otworzyć: %s. Pomijanie."
 
-#: ../yum/__init__.py:4032 ../yum/__init__.py:4150 ../yum/__init__.py:4226
+#: ../yum/__init__.py:5145 ../yum/__init__.py:5262 ../yum/__init__.py:5347
 #, python-format
 msgid "Examining %s: %s"
 msgstr "Sprawdzanie %s: %s"
 
-#: ../yum/__init__.py:4036
+#: ../yum/__init__.py:5149
 #, python-format
 msgid "Cannot localinstall deltarpm: %s. Skipping."
 msgstr "Nie można lokalnie zainstalować pakietu RPM delta: %s. Pomijanie."
 
-#: ../yum/__init__.py:4045 ../yum/__init__.py:4153 ../yum/__init__.py:4229
+#: ../yum/__init__.py:5158 ../yum/__init__.py:5265 ../yum/__init__.py:5350
 #, python-format
 msgid ""
 "Cannot add package %s to transaction. Not a compatible architecture: %s"
 msgstr "Nie można dodać pakietu %s do transakcji. Niezgodna architektura: %s"
 
-#: ../yum/__init__.py:4051
+#: ../yum/__init__.py:5164
 #, python-format
 msgid "Cannot install package %s. It is obsoleted by installed package %s"
-msgstr ""
-"Nie można zainstalować pakietu %s. Został zastąpiony zainstalowanym pakietem"
-" %s"
+msgstr "Nie można zainstalować pakietu %s. Został zastąpiony zainstalowanym pakietem %s"
 
-#: ../yum/__init__.py:4059
+#: ../yum/__init__.py:5172
 #, python-format
 msgid ""
 "Package %s not installed, cannot update it. Run yum install to install it "
 "instead."
-msgstr ""
-"Pakiet %s nie jest zainstalowany, nie można go zaktualizować. Proszę wykonać"
-" polecenie yum install, aby go zainstalować."
+msgstr "Pakiet %s nie jest zainstalowany, nie można go zaktualizować. Proszę wykonać polecenie yum install, aby go zainstalować."
 
-#: ../yum/__init__.py:4078 ../yum/__init__.py:4085
+#: ../yum/__init__.py:5191 ../yum/__init__.py:5198
 #, python-format
 msgid ""
 "Package %s.%s not installed, cannot update it. Run yum install to install it"
 " instead."
-msgstr ""
-"Pakiet %s.%s nie jest zainstalowany, więc nie może zostać zaktualizowany. "
-"Należy wykonać polecenie yum install, aby go zainstalować."
+msgstr "Pakiet %s.%s nie jest zainstalowany, więc nie może zostać zaktualizowany. Należy wykonać polecenie yum install, aby go zainstalować."
 
-#: ../yum/__init__.py:4094 ../yum/__init__.py:4158 ../yum/__init__.py:4234
+#: ../yum/__init__.py:5207 ../yum/__init__.py:5270 ../yum/__init__.py:5355
 #, python-format
 msgid "Excluding %s"
 msgstr "Wykluczanie %s"
 
-#: ../yum/__init__.py:4099
+#: ../yum/__init__.py:5212
 #, python-format
 msgid "Marking %s to be installed"
 msgstr "Oznaczanie %s do zainstalowania"
 
-#: ../yum/__init__.py:4105
+#: ../yum/__init__.py:5218
 #, python-format
 msgid "Marking %s as an update to %s"
 msgstr "Oznaczanie %s jako aktualizacji %s"
 
-#: ../yum/__init__.py:4112
+#: ../yum/__init__.py:5225
 #, python-format
 msgid "%s: does not update installed package."
 msgstr "%s: nie aktualizuj zainstalowanego pakietu."
 
-#: ../yum/__init__.py:4147 ../yum/__init__.py:4223
+#: ../yum/__init__.py:5259 ../yum/__init__.py:5344
 #, python-format
 msgid "Cannot open file: %s. Skipping."
 msgstr "Nie można otworzyć pliku: %s. Pomijanie."
 
-#: ../yum/__init__.py:4177
+#: ../yum/__init__.py:5299
 msgid "Problem in reinstall: no package matched to remove"
-msgstr ""
-"Podczas ponownego instalowania wystąpił problem: brak pasujących pakietów do"
-" usunięcia"
+msgstr "Podczas ponownego instalowania wystąpił problem: brak pasujących pakietów do usunięcia"
 
-#: ../yum/__init__.py:4203
+#: ../yum/__init__.py:5325
 #, python-format
 msgid "Problem in reinstall: no package %s matched to install"
-msgstr ""
-"Podczas ponownego instalowania wystąpił problem: brak pakietu %s pasującego "
-"do zainstalowania"
+msgstr "Podczas ponownego instalowania wystąpił problem: brak pakietu %s pasującego do zainstalowania"
 
-#: ../yum/__init__.py:4311
+#: ../yum/__init__.py:5438
 msgid "No package(s) available to downgrade"
 msgstr "Brak pakietów dostępnych do instalacji poprzedniej wersji"
 
-#: ../yum/__init__.py:4319
+#: ../yum/__init__.py:5446
 #, python-format
 msgid "Package %s is allowed multiple installs, skipping"
 msgstr "Pakiet %s może być wielokrotnie instalowany, pomijanie"
 
-#: ../yum/__init__.py:4365
+#: ../yum/__init__.py:5496
 #, python-format
 msgid "No Match for available package: %s"
 msgstr "Brak wyników dla dostępnych pakietów: %s"
 
-#: ../yum/__init__.py:4372
+#: ../yum/__init__.py:5506
 #, python-format
 msgid "Only Upgrade available on package: %s"
 msgstr "Dla pakietu dostępna jest tylko aktualizacja: %s"
 
-#: ../yum/__init__.py:4442 ../yum/__init__.py:4479
+#: ../yum/__init__.py:5619 ../yum/__init__.py:5686
 #, python-format
 msgid "Failed to downgrade: %s"
-msgstr "Zainstalowanie poprzedniej wersji nie powiodło się: %s"
+msgstr "Zainstalowanie poprzedniej wersji się nie powiodło: %s"
+
+#: ../yum/__init__.py:5636 ../yum/__init__.py:5692
+#, python-format
+msgid "Failed to upgrade: %s"
+msgstr "Aktualizacja się nie powiodła: %s"
 
-#: ../yum/__init__.py:4516
+#: ../yum/__init__.py:5725
 #, python-format
 msgid "Retrieving key from %s"
 msgstr "Pobieranie klucza z %s"
 
-#: ../yum/__init__.py:4534
+#: ../yum/__init__.py:5743
 msgid "GPG key retrieval failed: "
-msgstr "Pobranie klucza GPG nie powiodło się: "
+msgstr "Pobranie klucza GPG się nie powiodło: "
 
 #. if we decide we want to check, even though the sig failed
 #. here is where we would do that
-#: ../yum/__init__.py:4557
+#: ../yum/__init__.py:5766
 #, python-format
 msgid "GPG key signature on key %s does not match CA Key for repo: %s"
 msgstr "Podpis GPG klucza %s nie pasuje do klucza CA dla repozytorium: %s"
 
-#: ../yum/__init__.py:4559
+#: ../yum/__init__.py:5768
 msgid "GPG key signature verified against CA Key(s)"
 msgstr "Podpis GPG klucza został sprawdzony za pomocą kluczy CA"
 
-#: ../yum/__init__.py:4567
+#: ../yum/__init__.py:5776
 #, python-format
 msgid "Invalid GPG Key from %s: %s"
 msgstr "Nieprawidłowy klucz GPG z %s: %s"
 
-#: ../yum/__init__.py:4576
+#: ../yum/__init__.py:5785
 #, python-format
 msgid "GPG key parsing failed: key does not have value %s"
-msgstr ""
-"Przetworzenie klucza GPG nie powiodło się: klucz nie posiada wartości %s"
+msgstr "Przetworzenie klucza GPG się nie powiodło: klucz nie posiada wartości %s"
 
-#: ../yum/__init__.py:4592
+#: ../yum/__init__.py:5801
 #, python-format
 msgid ""
 "Importing %s key 0x%s:\n"
-" Userid : %s\n"
-" Package: %s (%s)\n"
-" From   : %s"
-msgstr ""
-"Importowanie %s klucza 0x%s:\n"
-" Identyfikator użytkownika: %s\n"
-" Pakiet                   : %s (%s)\n"
-" Od                       : %s"
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" Package    : %s (%s)\n"
+" From       : %s"
+msgstr "Importowanie %s klucza 0x%s:\n Identyfikator użytkownika: \"%s\"\n Odcisk palca             : %s\n Pakiet                   : %s (%s)\n Z                        : %s"
 
-#: ../yum/__init__.py:4600
+#: ../yum/__init__.py:5811
 #, python-format
 msgid ""
 "Importing %s key 0x%s:\n"
-" Userid: \"%s\"\n"
-" From  : %s"
-msgstr ""
-"Importowanie %s klucza 0x%s:\n"
-" Identyfikator użytkownika: \"%s\"\n"
-" Od                       : %s"
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" From       : %s"
+msgstr "Importowanie %s klucza 0x%s:\n Identyfikator użytkownika: \"%s\"\n Odcisk palca             : %s\n Z                        : %s"
 
-#: ../yum/__init__.py:4634
+#: ../yum/__init__.py:5839
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" Failing package is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr "\n\n\n Nieudany pakiet: %s\n Klucze GPG są skonfigurowane jako: %s\n"
+
+#: ../yum/__init__.py:5853
 #, python-format
 msgid "GPG key at %s (0x%s) is already installed"
 msgstr "Klucz GPG %s (0x%s) jest już zainstalowany"
 
-#: ../yum/__init__.py:4671
+#: ../yum/__init__.py:5891
 #, python-format
 msgid "Key import failed (code %d)"
-msgstr "Zaimportowanie klucza nie powiodło się (kod %d)"
+msgstr "Zaimportowanie klucza się nie powiodło (kod %d)"
 
-#: ../yum/__init__.py:4672 ../yum/__init__.py:4755
+#: ../yum/__init__.py:5893 ../yum/__init__.py:5994
 msgid "Key imported successfully"
 msgstr "Klucz został pomyślnie zaimportowany"
 
-#: ../yum/__init__.py:4676
+#: ../yum/__init__.py:5897
 msgid "Didn't install any keys"
 msgstr "Nie zainstalowano żadnych kluczy"
 
-#: ../yum/__init__.py:4680
+#: ../yum/__init__.py:5900
 #, python-format
 msgid ""
 "The GPG keys listed for the \"%s\" repository are already installed but they are not correct for this package.\n"
 "Check that the correct key URLs are configured for this repository."
-msgstr ""
-"Klucze GPG wyświetlone dla repozytorium \"%s\" są już zainstalowane, ale nie są poprawne dla tego pakietu.\n"
-"Proszę sprawdzić, czy dla tego repozytorium skonfigurowane są poprawne adresy URL do kluczy."
+msgstr "Klucze GPG wyświetlone dla repozytorium \"%s\" są już zainstalowane, ale nie są poprawne dla tego pakietu.\nProszę sprawdzić, czy dla tego repozytorium skonfigurowane są poprawne adresy URL do kluczy."
 
-#: ../yum/__init__.py:4689
+#: ../yum/__init__.py:5910
 msgid "Import of key(s) didn't help, wrong key(s)?"
 msgstr "Zaimportowanie kluczy nie pomogło, błędne klucze?"
 
-#: ../yum/__init__.py:4713
+#: ../yum/__init__.py:5932
+msgid "No"
+msgstr "Nie"
+
+#: ../yum/__init__.py:5934
+msgid "Yes"
+msgstr "Tak"
+
+#: ../yum/__init__.py:5935
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" CA Key: %s\n"
+" Failing repo is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr "\n\n\n Klucz CA: %s\n Nieudane repozytorium: %s\n Klucze GPG są skonfigurowane jako: %s\n"
+
+#: ../yum/__init__.py:5948
 #, python-format
 msgid "GPG key at %s (0x%s) is already imported"
 msgstr "Klucz GPG %s (0x%s) został już zaimportowany"
 
-#: ../yum/__init__.py:4754
-msgid "Key import failed"
-msgstr "Zaimportowanie klucza nie powiodło się"
+#: ../yum/__init__.py:5992
+#, python-format
+msgid "Key %s import failed"
+msgstr "Zaimportowanie klucza %s się nie powiodło"
 
-#: ../yum/__init__.py:4770
+#: ../yum/__init__.py:6009
 #, python-format
 msgid "Didn't install any keys for repo %s"
 msgstr "Nie zainstalowano żadnych kluczy dla repozytorium %s"
 
-#: ../yum/__init__.py:4774
+#: ../yum/__init__.py:6014
 #, python-format
 msgid ""
 "The GPG keys listed for the \"%s\" repository are already installed but they are not correct.\n"
 "Check that the correct key URLs are configured for this repository."
-msgstr ""
-"Klucze GPG wyświetlone dla repozytorium \"%s\" są już zainstalowane, ale nie są poprawne.\n"
-"Proszę sprawdzić, czy dla tego repozytorium skonfigurowane są poprawne adresy URL do kluczy."
+msgstr "Klucze GPG wyświetlone dla repozytorium \"%s\" są już zainstalowane, ale nie są poprawne.\nProszę sprawdzić, czy dla tego repozytorium skonfigurowane są poprawne adresy URL do kluczy."
 
-#: ../yum/__init__.py:4924
+#: ../yum/__init__.py:6172
 msgid "Unable to find a suitable mirror."
 msgstr "Nie można odnaleźć odpowiedniego serwera lustrzanego."
 
-#: ../yum/__init__.py:4926
+#: ../yum/__init__.py:6174
 msgid "Errors were encountered while downloading packages."
 msgstr "Wystąpiły błędy podczas pobierania pakietów."
 
-#: ../yum/__init__.py:4981
+#: ../yum/__init__.py:6229
 #, python-format
 msgid "Please report this error at %s"
 msgstr "Proszę zgłosić ten błąd na %s"
 
-#: ../yum/__init__.py:4998
+#: ../yum/__init__.py:6246
 msgid "Test Transaction Errors: "
 msgstr "Błędy testu transakcji: "
 
-#: ../yum/__init__.py:5098
+#: ../yum/__init__.py:6358
 #, python-format
 msgid "Could not set cachedir: %s"
 msgstr "Nie można ustawić katalogu pamięci podręcznej: %s "
 
-#: ../yum/__init__.py:5148 ../yum/__init__.py:5150
+#: ../yum/__init__.py:6420 ../yum/__init__.py:6422
 msgid "Dependencies not solved. Will not save unresolved transaction."
-msgstr ""
-"Zależności nie zostały rozwiązane. Nierozwiązana transakcja nie zostanie "
-"zapisana."
+msgstr "Zależności nie zostały rozwiązane. Nierozwiązana transakcja nie zostanie zapisana."
 
-#: ../yum/__init__.py:5179 ../yum/__init__.py:5181
+#: ../yum/__init__.py:6455 ../yum/__init__.py:6457
 #, python-format
 msgid "Could not save transaction file %s: %s"
 msgstr "Nie można zapisać pliku transakcji %s: %s"
 
-#: ../yum/__init__.py:5195
+#: ../yum/__init__.py:6483
 #, python-format
 msgid "Could not access/read saved transaction %s : %s"
 msgstr "Nie można uzyskać dostępu/odczytać zapisanej transakcji %s: %s"
 
-#: ../yum/__init__.py:5214
-msgid "rpmdb ver mismatched saved transaction version, "
-msgstr "wersja bazy danych RPM nie zgadza się z wersją zapisanej transakcji, "
-
-#: ../yum/__init__.py:5216
-msgid " ignoring, as requested."
-msgstr " ignorowanie, jak zażądano."
+#: ../yum/__init__.py:6521
+msgid "rpmdb ver mismatched saved transaction version,"
+msgstr "wersja RPMDB nie zgadza się z zapisaną wersją transakcji,"
 
-#: ../yum/__init__.py:5219 ../yum/__init__.py:5354
-msgid " aborting."
-msgstr " przerywanie."
-
-#: ../yum/__init__.py:5228
+#: ../yum/__init__.py:6535
 msgid "cannot find tsflags or tsflags not integer."
 msgstr "nie można odnaleźć tsflags lub nie jest liczbą całkowitą."
 
-#: ../yum/__init__.py:5267
+#: ../yum/__init__.py:6584
 #, python-format
 msgid "Found txmbr in unknown current state: %s"
 msgstr "Odnaleziono txmbr w nieznanym obecnym stanie: %s"
 
-#: ../yum/__init__.py:5271
+#: ../yum/__init__.py:6588
 #, python-format
 msgid "Could not find txmbr: %s in state %s"
 msgstr "Nie można odnaleźć txmbr: %s w stanie %s"
 
-#: ../yum/__init__.py:5307 ../yum/__init__.py:5324
+#: ../yum/__init__.py:6625 ../yum/__init__.py:6642
 #, python-format
 msgid "Could not find txmbr: %s from origin: %s"
 msgstr "Nie można odnaleźć txmbr: %s z pierwotnego: %s"
 
-#: ../yum/__init__.py:5349
+#: ../yum/__init__.py:6667
 msgid "Transaction members, relations are missing or ts has been modified,"
 msgstr "Brak elementów transakcji, związków lub ts zostało zmodyfikowane,"
 
-#: ../yum/__init__.py:5351
+#: ../yum/__init__.py:6670
 msgid " ignoring, as requested. You must redepsolve!"
 msgstr " ignorowanie, jak zażądano. Należy rozwiązać zależności."
 
+#. Debugging output
+#: ../yum/__init__.py:6738 ../yum/__init__.py:6757
+#, python-format
+msgid "%s has been visited already and cannot be removed."
+msgstr "%s zostało już odwiedzone i nie może zostać usunięte."
+
+#. Debugging output
+#: ../yum/__init__.py:6741
+#, python-format
+msgid "Examining revdeps of %s"
+msgstr "Sprawdzanie odwrotnych zależności pakietu %s"
+
+#. Debugging output
+#: ../yum/__init__.py:6762
+#, python-format
+msgid "%s has revdep %s which was user-installed."
+msgstr "Pakiet %s posiada odwrotną zależność %s zainstalowaną przez użytkownika."
+
+#: ../yum/__init__.py:6773 ../yum/__init__.py:6779
+#, python-format
+msgid "%s is needed by a package to be installed."
+msgstr "Zainstalowanie %s jest wymagane przez pakiet."
+
+#. Debugging output
+#: ../yum/__init__.py:6793
+#, python-format
+msgid "%s has no user-installed revdeps."
+msgstr "%s nie posiada odwrotnych zależności zainstalowanych przez użytkownika."
+
 #. Mostly copied from YumOutput._outKeyValFill()
-#: ../yum/plugins.py:209
+#: ../yum/plugins.py:212
 msgid "Loaded plugins: "
 msgstr "Wczytane wtyczki: "
 
-#: ../yum/plugins.py:223 ../yum/plugins.py:229
+#: ../yum/plugins.py:226 ../yum/plugins.py:232
 #, python-format
 msgid "No plugin match for: %s"
 msgstr "Brak wyników dla wtyczki: %s"
 
-#: ../yum/plugins.py:259
+#: ../yum/plugins.py:262
 #, python-format
 msgid "Not loading \"%s\" plugin, as it is disabled"
 msgstr "Wtyczka \"%s\" nie została wczytana, ponieważ jest wyłączona"
 
 #. Give full backtrace:
-#: ../yum/plugins.py:271
+#: ../yum/plugins.py:274
 #, python-format
 msgid "Plugin \"%s\" can't be imported"
 msgstr "Nie można zaimportować wtyczki \"%s\""
 
-#: ../yum/plugins.py:278
+#: ../yum/plugins.py:281
 #, python-format
 msgid "Plugin \"%s\" doesn't specify required API version"
 msgstr "Wtyczka \"%s\" nie określa wymaganej wersji API"
 
-#: ../yum/plugins.py:283
+#: ../yum/plugins.py:286
 #, python-format
 msgid "Plugin \"%s\" requires API %s. Supported API is %s."
 msgstr "Wtyczka \"%s\" wymaga API %s. Obsługiwane API to %s."
 
-#: ../yum/plugins.py:316
+#: ../yum/plugins.py:319
 #, python-format
 msgid "Loading \"%s\" plugin"
 msgstr "Wczytywanie wtyczki \"%s\""
 
-#: ../yum/plugins.py:323
+#: ../yum/plugins.py:326
 #, python-format
 msgid "Two or more plugins with the name \"%s\" exist in the plugin search path"
-msgstr ""
-"Istnieją dwie lub więcej wtyczek o nazwie \"%s\" w ścieżce wyszukiwania "
-"wtyczek"
+msgstr "Istnieją dwie lub więcej wtyczek o nazwie \"%s\" w ścieżce wyszukiwania wtyczek"
 
-#: ../yum/plugins.py:343
+#: ../yum/plugins.py:346
 #, python-format
 msgid "Configuration file %s not found"
 msgstr "Nie odnaleziono pliku konfiguracji %s"
 
 #. for
 #. Configuration files for the plugin not found
-#: ../yum/plugins.py:346
+#: ../yum/plugins.py:349
 #, python-format
 msgid "Unable to find configuration file for plugin %s"
 msgstr "Nie można odnaleźć pliku konfiguracji dla wtyczki %s"
 
-#: ../yum/plugins.py:508
+#: ../yum/plugins.py:553
 msgid "registration of commands not supported"
 msgstr "rejestracja poleceń nie jest obsługiwana"
 
-#: ../yum/rpmsack.py:148
+#: ../yum/rpmsack.py:159
 msgid "has missing requires of"
 msgstr "posiada brakujące wymagania"
 
-#: ../yum/rpmsack.py:151
+#: ../yum/rpmsack.py:162
 msgid "has installed conflicts"
 msgstr "posiada zainstalowane konflikty"
 
-#: ../yum/rpmsack.py:160
+#: ../yum/rpmsack.py:171
 #, python-format
 msgid "%s is a duplicate with %s"
 msgstr "%s jest duplikatem %s"
 
-#: ../yum/rpmsack.py:168
+#: ../yum/rpmsack.py:179
 #, python-format
 msgid "%s is obsoleted by %s"
 msgstr "%s zostaje zastąpiony przez %s"
 
-#: ../yum/rpmsack.py:176
+#: ../yum/rpmsack.py:187
 #, python-format
 msgid "%s provides %s but it cannot be found"
 msgstr "%s dostarcza %s, ale nie można go odnaleźć"
@@ -3179,6 +3475,23 @@ msgstr "%s dostarcza %s, ale nie można go odnaleźć"
 msgid "Repackaging"
 msgstr "Ponowne tworzenie pakietu"
 
+#: ../yum/rpmtrans.py:149
+#, python-format
+msgid "Verify: %u/%u: %s"
+msgstr "Sprawdzanie: %u/%u: %s"
+
+#: ../yum/yumRepo.py:919
+#, python-format
+msgid ""
+"Insufficient space in download directory %s\n"
+"    * free   %s\n"
+"    * needed %s"
+msgstr "Niewystarczająca ilość miejsca w katalogu pobierania %s\n    * wolne   %s\n    * wymagane %s"
+
+#: ../yum/yumRepo.py:986
+msgid "Package does not match intended download."
+msgstr "Pakiet nie zgadza się z zamierzonym pobieraniem."
+
 #: ../rpmUtils/oldUtils.py:33
 #, python-format
 msgid "Header cannot be opened or does not match %s, %s."
@@ -3187,12 +3500,11 @@ msgstr "Nie można otworzyć nagłówka lub nie pasuje do %s, %s."
 #: ../rpmUtils/oldUtils.py:53
 #, python-format
 msgid "RPM %s fails md5 check"
-msgstr "Sprawdzenie MD5 pakietu RPM %s nie powiodło się"
+msgstr "Sprawdzenie MD5 pakietu RPM %s się nie powiodło"
 
 #: ../rpmUtils/oldUtils.py:151
 msgid "Could not open RPM database for reading. Perhaps it is already in use?"
-msgstr ""
-"Nie można otworzyć bazy danych RPM do odczytania. Może jest już używana?"
+msgstr "Nie można otworzyć bazy danych RPM do odczytania. Może jest już używana?"
 
 #: ../rpmUtils/oldUtils.py:183
 msgid "Got an empty Header, something has gone wrong"
@@ -3208,5 +3520,3 @@ msgstr "Uszkodzony nagłówek %s"
 #, python-format
 msgid "Error opening rpm %s - error %s"
 msgstr "Błąd podczas otwierania pakietu RPM %s - błąd %s"
-
-
diff --git a/po/pt.po b/po/pt.po
index 9e76ec0..e48ed87 100644
--- a/po/pt.po
+++ b/po/pt.po
@@ -2,427 +2,506 @@
 # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
 # This file is distributed under the same license as the PACKAGE package.
 # 
+# Translators:
 msgid ""
 msgstr ""
 "Project-Id-Version: Yum\n"
-"Report-Msgid-Bugs-To: http://yum.baseurl.org/\n"
-"POT-Creation-Date: 2011-06-06 10:21-0400\n"
-"PO-Revision-Date: 2011-06-06 14:21+0000\n"
-"Last-Translator: skvidal <skvidal@fedoraproject.org>\n"
+"Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
+"POT-Creation-Date: 2013-01-30 09:08-0500\n"
+"PO-Revision-Date: 2013-01-30 14:08+0000\n"
+"Last-Translator: james <james@fedoraproject.org>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Language: pt\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: ../callback.py:48 ../output.py:1037 ../yum/rpmtrans.py:73
+#: ../callback.py:45 ../output.py:1502 ../yum/rpmtrans.py:73
 msgid "Updating"
 msgstr ""
 
-#: ../callback.py:49 ../yum/rpmtrans.py:74
+#: ../callback.py:46 ../yum/rpmtrans.py:74
 msgid "Erasing"
 msgstr ""
 
-#: ../callback.py:50 ../callback.py:51 ../callback.py:53 ../output.py:1036
-#: ../output.py:2218 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
+#: ../callback.py:47 ../callback.py:48 ../callback.py:50 ../output.py:1501
+#: ../output.py:2922 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
 #: ../yum/rpmtrans.py:78
 msgid "Installing"
 msgstr ""
 
-#: ../callback.py:52 ../callback.py:58 ../output.py:1840 ../yum/rpmtrans.py:77
+#: ../callback.py:49 ../callback.py:55 ../output.py:2379 ../yum/rpmtrans.py:77
 msgid "Obsoleted"
 msgstr ""
 
-#: ../callback.py:54 ../output.py:1169 ../output.py:1686 ../output.py:1847
+#: ../callback.py:51 ../output.py:1670 ../output.py:2222 ../output.py:2386
 msgid "Updated"
 msgstr ""
 
-#: ../callback.py:55 ../output.py:1685
+#: ../callback.py:52 ../output.py:2221
 msgid "Erased"
 msgstr ""
 
-#: ../callback.py:56 ../callback.py:57 ../callback.py:59 ../output.py:1167
-#: ../output.py:1685 ../output.py:1687 ../output.py:2190
+#: ../callback.py:53 ../callback.py:54 ../callback.py:56 ../output.py:1668
+#: ../output.py:2221 ../output.py:2223 ../output.py:2894
 msgid "Installed"
 msgstr ""
 
-#: ../callback.py:130
+#: ../callback.py:142
 msgid "No header - huh?"
 msgstr "Sem cabeçalho - hã?"
 
-#: ../callback.py:168
+#: ../callback.py:180
 msgid "Repackage"
 msgstr ""
 
-#: ../callback.py:189
+#: ../callback.py:201
 #, python-format
 msgid "Error: invalid output state: %s for %s"
 msgstr ""
 
-#: ../callback.py:212
+#: ../callback.py:224
 #, python-format
 msgid "Erased: %s"
 msgstr ""
 
-#: ../callback.py:217 ../output.py:1038 ../output.py:2193
+#: ../callback.py:229 ../output.py:1503 ../output.py:2897
 msgid "Removing"
 msgstr ""
 
-#: ../callback.py:219 ../yum/rpmtrans.py:79
+#: ../callback.py:231 ../yum/rpmtrans.py:79
 msgid "Cleanup"
 msgstr ""
 
-#: ../cli.py:115
+#: ../cli.py:122
 #, python-format
 msgid "Command \"%s\" already defined"
 msgstr ""
 
-#: ../cli.py:127
+#: ../cli.py:137
 msgid "Setting up repositories"
 msgstr ""
 
-#: ../cli.py:138
+#: ../cli.py:148
 msgid "Reading repository metadata in from local files"
 msgstr ""
 
-#: ../cli.py:245 ../utils.py:281
+#: ../cli.py:273 ../cli.py:277 ../utils.py:320
 #, python-format
 msgid "Config Error: %s"
 msgstr ""
 
-#: ../cli.py:248 ../cli.py:1584 ../utils.py:284
+#: ../cli.py:280 ../cli.py:2206 ../utils.py:323
 #, python-format
 msgid "Options Error: %s"
 msgstr "Erro nas Opções: %s"
 
-#: ../cli.py:293
+#: ../cli.py:327
 #, python-format
 msgid "  Installed: %s-%s at %s"
 msgstr ""
 
-#: ../cli.py:295
+#: ../cli.py:329
 #, python-format
 msgid "  Built    : %s at %s"
 msgstr ""
 
-#: ../cli.py:297
+#: ../cli.py:331
 #, python-format
 msgid "  Committed: %s at %s"
 msgstr ""
 
-#: ../cli.py:336
+#: ../cli.py:372
 msgid "You need to give some command"
 msgstr ""
 
-#: ../cli.py:350
+#: ../cli.py:386
 #, python-format
 msgid "No such command: %s. Please use %s --help"
 msgstr ""
 
-#: ../cli.py:400
+#: ../cli.py:444
 msgid "Disk Requirements:\n"
 msgstr ""
 
-#: ../cli.py:402
+#: ../cli.py:446
 #, python-format
 msgid "  At least %dMB more space needed on the %s filesystem.\n"
-msgstr ""
+msgid_plural "  At least %dMB more space needed on the %s filesystem.\n"
+msgstr[0] ""
+msgstr[1] ""
 
 #. TODO: simplify the dependency errors?
 #. Fixup the summary
-#: ../cli.py:407
+#: ../cli.py:451
 msgid ""
 "Error Summary\n"
 "-------------\n"
 msgstr ""
 
-#: ../cli.py:450
+#: ../cli.py:472
+msgid "Can't create lock file; exiting"
+msgstr ""
+
+#: ../cli.py:479
+msgid ""
+"Another app is currently holding the yum lock; exiting as configured by "
+"exit_on_lock"
+msgstr ""
+
+#: ../cli.py:532
 msgid "Trying to run the transaction but nothing to do. Exiting."
 msgstr ""
 
-#: ../cli.py:497
+#: ../cli.py:577
+msgid "future rpmdb ver mismatched saved transaction version,"
+msgstr ""
+
+#: ../cli.py:579 ../yum/__init__.py:6523
+msgid " ignoring, as requested."
+msgstr ""
+
+#: ../cli.py:582 ../yum/__init__.py:6526 ../yum/__init__.py:6673
+msgid " aborting."
+msgstr ""
+
+#: ../cli.py:588
 msgid "Exiting on user Command"
 msgstr ""
 
-#: ../cli.py:501
+#: ../cli.py:592
 msgid "Downloading Packages:"
 msgstr ""
 
-#: ../cli.py:506
+#: ../cli.py:597
 msgid "Error Downloading Packages:\n"
 msgstr ""
 
-#: ../cli.py:525 ../yum/__init__.py:4967
+#: ../cli.py:616 ../yum/__init__.py:6215
 msgid "Running Transaction Check"
 msgstr ""
 
-#: ../cli.py:534 ../yum/__init__.py:4976
+#: ../cli.py:625 ../yum/__init__.py:6224
 msgid "ERROR You need to update rpm to handle:"
 msgstr ""
 
-#: ../cli.py:536 ../yum/__init__.py:4979
+#: ../cli.py:627 ../yum/__init__.py:6227
 msgid "ERROR with transaction check vs depsolve:"
 msgstr ""
 
-#: ../cli.py:542
+#: ../cli.py:633
 msgid "RPM needs to be updated"
 msgstr ""
 
-#: ../cli.py:543
+#: ../cli.py:634
 #, python-format
 msgid "Please report this error in %s"
 msgstr ""
 
-#: ../cli.py:549
+#: ../cli.py:640
 msgid "Running Transaction Test"
 msgstr ""
 
-#: ../cli.py:561
+#: ../cli.py:652
 msgid "Transaction Check Error:\n"
 msgstr ""
 
-#: ../cli.py:568
+#: ../cli.py:659
 msgid "Transaction Test Succeeded"
 msgstr ""
 
-#: ../cli.py:600
+#: ../cli.py:691
 msgid "Running Transaction"
 msgstr ""
 
-#: ../cli.py:630
+#: ../cli.py:724
 msgid ""
 "Refusing to automatically import keys when running unattended.\n"
 "Use \"-y\" to override."
 msgstr ""
 
-#: ../cli.py:649 ../cli.py:692
+#: ../cli.py:743 ../cli.py:786
 msgid "  * Maybe you meant: "
 msgstr ""
 
-#: ../cli.py:675 ../cli.py:683
+#: ../cli.py:769 ../cli.py:777
 #, python-format
 msgid "Package(s) %s%s%s available, but not installed."
 msgstr ""
 
-#: ../cli.py:689 ../cli.py:722 ../cli.py:908
+#: ../cli.py:783 ../cli.py:891 ../cli.py:1158
 #, python-format
 msgid "No package %s%s%s available."
 msgstr ""
 
-#: ../cli.py:729 ../cli.py:973
-msgid "Package(s) to install"
+#: ../cli.py:871 ../cli.py:881 ../cli.py:1101 ../cli.py:1111
+#, python-format
+msgid "Bad %s argument %s."
 msgstr ""
 
-#: ../cli.py:732 ../cli.py:733 ../cli.py:914 ../cli.py:948 ../cli.py:974
-#: ../yumcommands.py:190
+#: ../cli.py:900 ../yumcommands.py:3331
+#, python-format
+msgid "%d package to install"
+msgid_plural "%d packages to install"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../cli.py:903 ../cli.py:904 ../cli.py:1169 ../cli.py:1170 ../cli.py:1224
+#: ../cli.py:1225 ../cli.py:1260 ../yumcommands.py:323 ../yumcommands.py:3419
 msgid "Nothing to do"
 msgstr ""
 
-#: ../cli.py:767
+#: ../cli.py:953
 #, python-format
-msgid "%d packages marked for Update"
-msgstr ""
+msgid "%d package marked for Update"
+msgid_plural "%d packages marked for Update"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:770
+#: ../cli.py:955
 msgid "No Packages marked for Update"
 msgstr ""
 
-#: ../cli.py:866
+#: ../cli.py:1067
 #, python-format
-msgid "%d packages marked for Distribution Synchronization"
-msgstr ""
+msgid "%d package marked for Distribution Synchronization"
+msgid_plural "%d packages marked for Distribution Synchronization"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:869
+#: ../cli.py:1069
 msgid "No Packages marked for Distribution Synchronization"
 msgstr ""
 
-#: ../cli.py:885
+#: ../cli.py:1124
 #, python-format
-msgid "%d packages marked for removal"
-msgstr ""
+msgid "%d package marked for removal"
+msgid_plural "%d packages marked for removal"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:888
+#: ../cli.py:1126
 msgid "No Packages marked for removal"
 msgstr ""
 
-#: ../cli.py:913
-msgid "Package(s) to downgrade"
-msgstr ""
+#: ../cli.py:1166
+#, python-format
+msgid "%d package to downgrade"
+msgid_plural "%d packages to downgrade"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:938
+#: ../cli.py:1207
 #, python-format
 msgid " (from %s)"
 msgstr ""
 
-#: ../cli.py:939
+#: ../cli.py:1208
 #, python-format
 msgid "Installed package %s%s%s%s not available."
 msgstr ""
 
-#: ../cli.py:947
-msgid "Package(s) to reinstall"
-msgstr ""
+#: ../cli.py:1221
+#, python-format
+msgid "%d package to reinstall"
+msgid_plural "%d packages to reinstall"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:960
+#: ../cli.py:1246
 msgid "No Packages Provided"
 msgstr ""
 
-#: ../cli.py:1058
+#: ../cli.py:1259
+msgid "Package(s) to install"
+msgstr ""
+
+#: ../cli.py:1367
 #, python-format
 msgid "N/S Matched: %s"
 msgstr ""
 
-#: ../cli.py:1075
+#: ../cli.py:1384
 #, python-format
 msgid "  Name and summary matches %sonly%s, use \"search all\" for everything."
 msgstr ""
 
-#: ../cli.py:1077
+#: ../cli.py:1386
 #, python-format
 msgid ""
 "  Full name and summary matches %sonly%s, use \"search all\" for everything."
 msgstr ""
 
-#: ../cli.py:1095
+#: ../cli.py:1404
 #, python-format
 msgid "Matched: %s"
 msgstr ""
 
-#: ../cli.py:1102
+#: ../cli.py:1411
 #, python-format
 msgid "  Name and summary matches %smostly%s, use \"search all\" for everything."
 msgstr ""
 
-#: ../cli.py:1106
+#: ../cli.py:1415
 #, python-format
 msgid "Warning: No matches found for: %s"
 msgstr ""
 
-#: ../cli.py:1109
+#: ../cli.py:1418
 msgid "No Matches found"
 msgstr ""
 
-#: ../cli.py:1174
+#: ../cli.py:1536
 #, python-format
-msgid "No Package Found for %s"
+msgid ""
+"Error: No Packages found for:\n"
+"  %s"
 msgstr ""
 
-#: ../cli.py:1184
+#: ../cli.py:1572
 msgid "Cleaning repos: "
 msgstr ""
 
-#: ../cli.py:1189
+#: ../cli.py:1577
 msgid "Cleaning up Everything"
 msgstr ""
 
-#: ../cli.py:1205
+#: ../cli.py:1593
 msgid "Cleaning up Headers"
 msgstr ""
 
-#: ../cli.py:1208
+#: ../cli.py:1596
 msgid "Cleaning up Packages"
 msgstr ""
 
-#: ../cli.py:1211
+#: ../cli.py:1599
 msgid "Cleaning up xml metadata"
 msgstr ""
 
-#: ../cli.py:1214
+#: ../cli.py:1602
 msgid "Cleaning up database cache"
 msgstr ""
 
-#: ../cli.py:1217
+#: ../cli.py:1605
 msgid "Cleaning up expire-cache metadata"
 msgstr ""
 
-#: ../cli.py:1220
+#: ../cli.py:1608
 msgid "Cleaning up cached rpmdb data"
 msgstr ""
 
-#: ../cli.py:1223
+#: ../cli.py:1611
 msgid "Cleaning up plugins"
 msgstr ""
 
-#: ../cli.py:1247
-#, python-format
-msgid "Warning: No groups match: %s"
+#: ../cli.py:1727
+msgid "Installed Environment Groups:"
+msgstr ""
+
+#: ../cli.py:1728
+msgid "Available Environment Groups:"
 msgstr ""
 
-#: ../cli.py:1264
+#: ../cli.py:1735
 msgid "Installed Groups:"
 msgstr ""
 
-#: ../cli.py:1270
+#: ../cli.py:1742
 msgid "Installed Language Groups:"
 msgstr ""
 
-#: ../cli.py:1276
+#: ../cli.py:1749
 msgid "Available Groups:"
 msgstr ""
 
-#: ../cli.py:1282
+#: ../cli.py:1756
 msgid "Available Language Groups:"
 msgstr ""
 
-#: ../cli.py:1285
+#: ../cli.py:1759
+#, python-format
+msgid "Warning: No Environments/Groups match: %s"
+msgstr ""
+
+#: ../cli.py:1763
 msgid "Done"
 msgstr ""
 
-#: ../cli.py:1296 ../cli.py:1314 ../cli.py:1320 ../yum/__init__.py:3313
+#: ../cli.py:1818
+#, python-format
+msgid "Warning: Group/Environment %s does not exist."
+msgstr ""
+
+#: ../cli.py:1859
+#, python-format
+msgid "Warning: Environment %s does not exist."
+msgstr ""
+
+#: ../cli.py:1873 ../cli.py:1879 ../yum/__init__.py:4254
 #, python-format
 msgid "Warning: Group %s does not exist."
 msgstr ""
 
-#: ../cli.py:1324
+#: ../cli.py:1883
 msgid "No packages in any requested group available to install or update"
 msgstr ""
 
-#: ../cli.py:1326
+#: ../cli.py:1885
+#, python-format
+msgid "%d package to Install"
+msgid_plural "%d packages to Install"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../cli.py:1919 ../yum/__init__.py:3536 ../yum/__init__.py:3766
+#: ../yum/__init__.py:3824
 #, python-format
-msgid "%d Package(s) to Install"
+msgid "No Environment named %s exists"
 msgstr ""
 
-#: ../cli.py:1336 ../yum/__init__.py:3325
+#: ../cli.py:1935 ../yum/__init__.py:4282
 #, python-format
 msgid "No group named %s exists"
 msgstr ""
 
-#: ../cli.py:1342
+#: ../cli.py:1945
 msgid "No packages to remove from groups"
 msgstr ""
 
-#: ../cli.py:1344
+#: ../cli.py:1947 ../yumcommands.py:3351
 #, python-format
-msgid "%d Package(s) to remove"
-msgstr ""
+msgid "%d package to remove"
+msgid_plural "%d packages to remove"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:1386
+#: ../cli.py:1988
 #, python-format
 msgid "Package %s is already installed, skipping"
 msgstr ""
 
-#: ../cli.py:1397
+#: ../cli.py:1999
 #, python-format
 msgid "Discarding non-comparable pkg %s.%s"
 msgstr ""
 
 #. we've not got any installed that match n or n+a
-#: ../cli.py:1423
+#: ../cli.py:2025
 #, python-format
 msgid "No other %s installed, adding to list for potential install"
 msgstr ""
 
-#: ../cli.py:1443
+#: ../cli.py:2045
 msgid "Plugin Options"
 msgstr ""
 
-#: ../cli.py:1451
+#: ../cli.py:2057
 #, python-format
 msgid "Command line error: %s"
 msgstr ""
 
-#: ../cli.py:1467
+#: ../cli.py:2079
 #, python-format
 msgid ""
 "\n"
@@ -430,438 +509,484 @@ msgid ""
 "%s: %s option requires an argument"
 msgstr ""
 
-#: ../cli.py:1521
+#: ../cli.py:2147
 msgid "--color takes one of: auto, always, never"
 msgstr ""
 
 #. We have a relative installroot ... haha
-#: ../cli.py:1596
+#: ../cli.py:2218
 #, python-format
 msgid "--installroot must be an absolute path: %s"
 msgstr ""
 
-#: ../cli.py:1642
+#: ../cli.py:2272
 msgid "show this help message and exit"
 msgstr ""
 
-#: ../cli.py:1646
+#: ../cli.py:2276
 msgid "be tolerant of errors"
 msgstr ""
 
-#: ../cli.py:1649
+#: ../cli.py:2279
 msgid "run entirely from system cache, don't update cache"
 msgstr ""
 
-#: ../cli.py:1652
+#: ../cli.py:2282
 msgid "config file location"
 msgstr ""
 
-#: ../cli.py:1655
+#: ../cli.py:2285
 msgid "maximum command wait time"
 msgstr ""
 
-#: ../cli.py:1657
+#: ../cli.py:2287
 msgid "debugging output level"
 msgstr ""
 
-#: ../cli.py:1661
+#: ../cli.py:2291
 msgid "show duplicates, in repos, in list/search commands"
 msgstr ""
 
-#: ../cli.py:1663
+#: ../cli.py:2296
 msgid "error output level"
 msgstr ""
 
-#: ../cli.py:1666
+#: ../cli.py:2299
 msgid "debugging output level for rpm"
 msgstr ""
 
-#: ../cli.py:1669
+#: ../cli.py:2302
 msgid "quiet operation"
 msgstr ""
 
-#: ../cli.py:1671
+#: ../cli.py:2304
 msgid "verbose operation"
 msgstr ""
 
-#: ../cli.py:1673
+#: ../cli.py:2306
 msgid "answer yes for all questions"
 msgstr ""
 
-#: ../cli.py:1675
+#: ../cli.py:2308
+msgid "answer no for all questions"
+msgstr ""
+
+#: ../cli.py:2312
 msgid "show Yum version and exit"
 msgstr ""
 
-#: ../cli.py:1676
+#: ../cli.py:2313
 msgid "set install root"
 msgstr ""
 
-#: ../cli.py:1680
+#: ../cli.py:2317
 msgid "enable one or more repositories (wildcards allowed)"
 msgstr ""
 
-#: ../cli.py:1684
+#: ../cli.py:2321
 msgid "disable one or more repositories (wildcards allowed)"
 msgstr ""
 
-#: ../cli.py:1687
+#: ../cli.py:2324
 msgid "exclude package(s) by name or glob"
 msgstr ""
 
-#: ../cli.py:1689
+#: ../cli.py:2326
 msgid "disable exclude from main, for a repo or for everything"
 msgstr ""
 
-#: ../cli.py:1692
+#: ../cli.py:2329
 msgid "enable obsoletes processing during updates"
 msgstr ""
 
-#: ../cli.py:1694
+#: ../cli.py:2331
 msgid "disable Yum plugins"
 msgstr ""
 
-#: ../cli.py:1696
+#: ../cli.py:2333
 msgid "disable gpg signature checking"
 msgstr ""
 
-#: ../cli.py:1698
+#: ../cli.py:2335
 msgid "disable plugins by name"
 msgstr ""
 
-#: ../cli.py:1701
+#: ../cli.py:2338
 msgid "enable plugins by name"
 msgstr ""
 
-#: ../cli.py:1704
+#: ../cli.py:2341
 msgid "skip packages with depsolving problems"
 msgstr ""
 
-#: ../cli.py:1706
+#: ../cli.py:2343
 msgid "control whether color is used"
 msgstr ""
 
-#: ../cli.py:1708
+#: ../cli.py:2345
 msgid "set value of $releasever in yum config and repo files"
 msgstr ""
 
-#: ../cli.py:1710
+#: ../cli.py:2347
+msgid "don't update, just download"
+msgstr ""
+
+#: ../cli.py:2349
+msgid "specifies an alternate directory to store packages"
+msgstr ""
+
+#: ../cli.py:2351
 msgid "set arbitrary config and repo options"
 msgstr ""
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Jan"
 msgstr ""
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Feb"
 msgstr ""
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Mar"
 msgstr ""
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Apr"
 msgstr ""
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "May"
 msgstr ""
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Jun"
 msgstr ""
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Jul"
 msgstr ""
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Aug"
 msgstr ""
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Sep"
 msgstr ""
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Oct"
 msgstr ""
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Nov"
 msgstr ""
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Dec"
 msgstr ""
 
-#: ../output.py:318
+#: ../output.py:473
 msgid "Trying other mirror."
 msgstr ""
 
-#: ../output.py:581
+#: ../output.py:816
 #, python-format
 msgid "Name        : %s%s%s"
 msgstr ""
 
-#: ../output.py:582
+#: ../output.py:817
 #, python-format
 msgid "Arch        : %s"
 msgstr ""
 
-#: ../output.py:584
+#: ../output.py:819
 #, python-format
 msgid "Epoch       : %s"
 msgstr ""
 
-#: ../output.py:585
+#: ../output.py:820
 #, python-format
 msgid "Version     : %s"
 msgstr ""
 
-#: ../output.py:586
+#: ../output.py:821
 #, python-format
 msgid "Release     : %s"
 msgstr ""
 
-#: ../output.py:587
+#: ../output.py:822
 #, python-format
 msgid "Size        : %s"
 msgstr ""
 
-#: ../output.py:588 ../output.py:900
+#: ../output.py:823 ../output.py:1329
 #, python-format
 msgid "Repo        : %s"
 msgstr ""
 
-#: ../output.py:590
+#: ../output.py:825
 #, python-format
 msgid "From repo   : %s"
 msgstr ""
 
-#: ../output.py:592
+#: ../output.py:827
 #, python-format
 msgid "Committer   : %s"
 msgstr ""
 
-#: ../output.py:593
+#: ../output.py:828
 #, python-format
 msgid "Committime  : %s"
 msgstr ""
 
-#: ../output.py:594
+#: ../output.py:829
 #, python-format
 msgid "Buildtime   : %s"
 msgstr ""
 
-#: ../output.py:596
+#: ../output.py:831
 #, python-format
 msgid "Install time: %s"
 msgstr ""
 
-#: ../output.py:604
+#: ../output.py:839
 #, python-format
 msgid "Installed by: %s"
 msgstr ""
 
-#: ../output.py:611
+#: ../output.py:846
 #, python-format
 msgid "Changed by  : %s"
 msgstr ""
 
-#: ../output.py:612
+#: ../output.py:847
 msgid "Summary     : "
 msgstr ""
 
-#: ../output.py:614 ../output.py:913
+#: ../output.py:849 ../output.py:1345
 #, python-format
 msgid "URL         : %s"
 msgstr ""
 
-#: ../output.py:615
+#: ../output.py:850
 msgid "License     : "
 msgstr ""
 
-#: ../output.py:616 ../output.py:910
+#: ../output.py:851 ../output.py:1342
 msgid "Description : "
 msgstr ""
 
-#: ../output.py:684
+#: ../output.py:969
 msgid "y"
 msgstr ""
 
-#: ../output.py:684
+#: ../output.py:969
 msgid "yes"
 msgstr ""
 
-#: ../output.py:685
+#: ../output.py:970
 msgid "n"
 msgstr ""
 
-#: ../output.py:685
+#: ../output.py:970
 msgid "no"
 msgstr ""
 
-#: ../output.py:689
+#: ../output.py:974
 msgid "Is this ok [y/N]: "
 msgstr ""
 
-#: ../output.py:777
+#: ../output.py:1097
 #, python-format
 msgid ""
 "\n"
 "Group: %s"
 msgstr ""
 
-#: ../output.py:781
+#: ../output.py:1101
 #, python-format
 msgid " Group-Id: %s"
 msgstr ""
 
-#: ../output.py:786
+#: ../output.py:1122 ../output.py:1169
 #, python-format
 msgid " Description: %s"
 msgstr ""
 
-#: ../output.py:788
+#: ../output.py:1124
 #, python-format
 msgid " Language: %s"
 msgstr ""
 
-#: ../output.py:790
+#: ../output.py:1126
 msgid " Mandatory Packages:"
 msgstr ""
 
-#: ../output.py:791
+#: ../output.py:1127
 msgid " Default Packages:"
 msgstr ""
 
-#: ../output.py:792
+#: ../output.py:1128
 msgid " Optional Packages:"
 msgstr ""
 
-#: ../output.py:793
+#: ../output.py:1129
 msgid " Conditional Packages:"
 msgstr ""
 
-#: ../output.py:814
+#: ../output.py:1147
+msgid " Installed Packages:"
+msgstr ""
+
+#: ../output.py:1157
+#, python-format
+msgid ""
+"\n"
+"Environment Group: %s"
+msgstr ""
+
+#: ../output.py:1158
+#, python-format
+msgid " Environment-Id: %s"
+msgstr ""
+
+#: ../output.py:1191
+msgid " Mandatory Groups:"
+msgstr ""
+
+#: ../output.py:1192
+msgid " Optional Groups:"
+msgstr ""
+
+#: ../output.py:1205
+msgid " Installed Groups:"
+msgstr ""
+
+#: ../output.py:1217
 #, python-format
 msgid "package: %s"
 msgstr ""
 
-#: ../output.py:816
+#: ../output.py:1219
 msgid "  No dependencies for this package"
 msgstr ""
 
-#: ../output.py:821
+#: ../output.py:1224
 #, python-format
 msgid "  dependency: %s"
 msgstr ""
 
-#: ../output.py:823
+#: ../output.py:1226
 msgid "   Unsatisfied dependency"
 msgstr ""
 
-#: ../output.py:901
+#: ../output.py:1337
 msgid "Matched from:"
 msgstr ""
 
-#: ../output.py:916
+#: ../output.py:1348
 #, python-format
 msgid "License     : %s"
 msgstr ""
 
-#: ../output.py:919
+#: ../output.py:1351
 #, python-format
 msgid "Filename    : %s"
 msgstr ""
 
-#: ../output.py:923
+#: ../output.py:1360
+msgid "Provides    : "
+msgstr ""
+
+#: ../output.py:1363
 msgid "Other       : "
 msgstr ""
 
-#: ../output.py:966
+#: ../output.py:1426
 msgid "There was an error calculating total download size"
 msgstr ""
 
-#: ../output.py:971
+#: ../output.py:1431
 #, python-format
 msgid "Total size: %s"
 msgstr ""
 
-#: ../output.py:974
+#: ../output.py:1433
 #, python-format
 msgid "Total download size: %s"
 msgstr ""
 
-#: ../output.py:978 ../output.py:998
+#: ../output.py:1436 ../output.py:1459 ../output.py:1463
 #, python-format
 msgid "Installed size: %s"
 msgstr ""
 
-#: ../output.py:994
+#: ../output.py:1454
 msgid "There was an error calculating installed size"
 msgstr ""
 
-#: ../output.py:1039
+#: ../output.py:1504
 msgid "Reinstalling"
 msgstr ""
 
-#: ../output.py:1040
+#: ../output.py:1505
 msgid "Downgrading"
 msgstr ""
 
-#: ../output.py:1041
+#: ../output.py:1506
 msgid "Installing for dependencies"
 msgstr ""
 
-#: ../output.py:1042
+#: ../output.py:1507
 msgid "Updating for dependencies"
 msgstr ""
 
-#: ../output.py:1043
+#: ../output.py:1508
 msgid "Removing for dependencies"
 msgstr ""
 
-#: ../output.py:1050 ../output.py:1171
+#: ../output.py:1515 ../output.py:1576 ../output.py:1672
 msgid "Skipped (dependency problems)"
 msgstr ""
 
-#: ../output.py:1052 ../output.py:1687
+#: ../output.py:1517 ../output.py:1577 ../output.py:2223
 msgid "Not installed"
 msgstr ""
 
-#: ../output.py:1053
+#: ../output.py:1518 ../output.py:1578
 msgid "Not available"
 msgstr ""
 
-#: ../output.py:1075 ../output.py:2024
+#: ../output.py:1540 ../output.py:1588 ../output.py:1604 ../output.py:2581
 msgid "Package"
-msgstr ""
+msgid_plural "Packages"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../output.py:1075
+#: ../output.py:1540
 msgid "Arch"
 msgstr "Arq."
 
-#: ../output.py:1076
+#: ../output.py:1541
 msgid "Version"
 msgstr "Versão"
 
-#: ../output.py:1076
+#: ../output.py:1541
 msgid "Repository"
 msgstr ""
 
-#: ../output.py:1077
+#: ../output.py:1542
 msgid "Size"
 msgstr ""
 
-#: ../output.py:1089
+#: ../output.py:1554
 #, python-format
 msgid "     replacing  %s%s%s.%s %s\n"
 msgstr ""
 
-#: ../output.py:1098
+#: ../output.py:1563
 #, python-format
 msgid ""
 "\n"
@@ -869,65 +994,66 @@ msgid ""
 "%s\n"
 msgstr ""
 
-#: ../output.py:1109
-#, python-format
-msgid "Install   %5.5s Package(s)\n"
+#: ../output.py:1568 ../output.py:2376 ../output.py:2377
+msgid "Install"
 msgstr ""
 
-#: ../output.py:1113
-#, python-format
-msgid "Upgrade   %5.5s Package(s)\n"
+#: ../output.py:1570
+msgid "Upgrade"
 msgstr ""
 
-#: ../output.py:1117
-#, python-format
-msgid "Remove    %5.5s Package(s)\n"
+#: ../output.py:1572
+msgid "Remove"
 msgstr ""
 
-#: ../output.py:1121
-#, python-format
-msgid "Reinstall %5.5s Package(s)\n"
+#: ../output.py:1574 ../output.py:2382
+msgid "Reinstall"
 msgstr ""
 
-#: ../output.py:1125
-#, python-format
-msgid "Downgrade %5.5s Package(s)\n"
+#: ../output.py:1575 ../output.py:2383
+msgid "Downgrade"
 msgstr ""
 
-#: ../output.py:1165
+#: ../output.py:1606
+msgid "Dependent package"
+msgid_plural "Dependent packages"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../output.py:1666
 msgid "Removed"
 msgstr ""
 
-#: ../output.py:1166
+#: ../output.py:1667
 msgid "Dependency Removed"
 msgstr ""
 
-#: ../output.py:1168
+#: ../output.py:1669
 msgid "Dependency Installed"
 msgstr ""
 
-#: ../output.py:1170
+#: ../output.py:1671
 msgid "Dependency Updated"
 msgstr ""
 
-#: ../output.py:1172
+#: ../output.py:1673
 msgid "Replaced"
 msgstr ""
 
-#: ../output.py:1173
+#: ../output.py:1674
 msgid "Failed"
 msgstr ""
 
 #. Delta between C-c's so we treat as exit
-#: ../output.py:1260
+#: ../output.py:1764
 msgid "two"
 msgstr ""
 
 #. For translators: This is output like:
 #. Current download cancelled, interrupt (ctrl-c) again within two seconds
 #. to exit.
-#. Where "interupt (ctrl-c) again" and "two" are highlighted.
-#: ../output.py:1271
+#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
+#: ../output.py:1775
 #, python-format
 msgid ""
 "\n"
@@ -935,484 +1061,542 @@ msgid ""
 "to exit.\n"
 msgstr ""
 
-#: ../output.py:1282
+#: ../output.py:1786
 msgid "user interrupt"
 msgstr ""
 
-#: ../output.py:1300
+#: ../output.py:1812
 msgid "Total"
 msgstr ""
 
-#: ../output.py:1322
+#: ../output.py:1834
 msgid "I"
 msgstr ""
 
-#: ../output.py:1323
+#: ../output.py:1835
 msgid "O"
 msgstr ""
 
-#: ../output.py:1324
+#: ../output.py:1836
 msgid "E"
 msgstr ""
 
-#: ../output.py:1325
+#: ../output.py:1837
 msgid "R"
 msgstr ""
 
-#: ../output.py:1326
+#: ../output.py:1838
 msgid "D"
 msgstr ""
 
-#: ../output.py:1327
+#: ../output.py:1839
 msgid "U"
 msgstr ""
 
-#: ../output.py:1341
+#: ../output.py:1853
 msgid "<unset>"
 msgstr ""
 
-#: ../output.py:1342
+#: ../output.py:1854
 msgid "System"
 msgstr ""
 
-#: ../output.py:1411
+#: ../output.py:1923
 #, python-format
 msgid "Skipping merged transaction %d to %d, as it overlaps"
 msgstr ""
 
-#: ../output.py:1421 ../output.py:1592
+#: ../output.py:1933 ../output.py:2125
 msgid "No transactions"
 msgstr ""
 
-#: ../output.py:1446 ../output.py:2013
+#: ../output.py:1958 ../output.py:2570 ../output.py:2660
 msgid "Bad transaction IDs, or package(s), given"
 msgstr ""
 
-#: ../output.py:1484
+#: ../output.py:2007
 msgid "Command line"
 msgstr ""
 
-#: ../output.py:1486 ../output.py:1908
+#: ../output.py:2009 ../output.py:2458
 msgid "Login user"
 msgstr ""
 
 #. REALLY Needs to use columns!
-#: ../output.py:1487 ../output.py:2022
+#: ../output.py:2010 ../output.py:2579
 msgid "ID"
 msgstr ""
 
-#: ../output.py:1489
+#: ../output.py:2012
 msgid "Date and time"
 msgstr ""
 
-#: ../output.py:1490 ../output.py:1910 ../output.py:2023
+#: ../output.py:2013 ../output.py:2460 ../output.py:2580
 msgid "Action(s)"
 msgstr ""
 
-#: ../output.py:1491 ../output.py:1911
+#: ../output.py:2014 ../output.py:2461
 msgid "Altered"
 msgstr ""
 
-#: ../output.py:1538
+#: ../output.py:2061
 msgid "No transaction ID given"
 msgstr ""
 
-#: ../output.py:1564 ../output.py:1972
+#: ../output.py:2087 ../output.py:2526
 msgid "Bad transaction ID given"
 msgstr ""
 
-#: ../output.py:1569
+#: ../output.py:2092
 msgid "Not found given transaction ID"
 msgstr ""
 
-#: ../output.py:1577
+#: ../output.py:2100
 msgid "Found more than one transaction ID!"
 msgstr ""
 
-#: ../output.py:1618 ../output.py:1980
+#: ../output.py:2151 ../output.py:2534
 msgid "No transaction ID, or package, given"
 msgstr ""
 
-#: ../output.py:1686 ../output.py:1845
+#: ../output.py:2222 ../output.py:2384
 msgid "Downgraded"
 msgstr ""
 
-#: ../output.py:1688
+#: ../output.py:2224
 msgid "Older"
 msgstr ""
 
-#: ../output.py:1688
+#: ../output.py:2224
 msgid "Newer"
 msgstr ""
 
-#: ../output.py:1724 ../output.py:1726
+#: ../output.py:2261 ../output.py:2263 ../output.py:2681
 msgid "Transaction ID :"
 msgstr ""
 
-#: ../output.py:1728
+#: ../output.py:2265 ../output.py:2683
 msgid "Begin time     :"
 msgstr ""
 
-#: ../output.py:1731 ../output.py:1733
+#: ../output.py:2268 ../output.py:2270
 msgid "Begin rpmdb    :"
 msgstr ""
 
-#: ../output.py:1749
+#: ../output.py:2286
 #, python-format
 msgid "(%u seconds)"
 msgstr ""
 
-#: ../output.py:1751
+#: ../output.py:2288
 #, python-format
 msgid "(%u minutes)"
 msgstr ""
 
-#: ../output.py:1753
+#: ../output.py:2290
 #, python-format
 msgid "(%u hours)"
 msgstr ""
 
-#: ../output.py:1755
+#: ../output.py:2292
 #, python-format
 msgid "(%u days)"
 msgstr ""
 
-#: ../output.py:1756
+#: ../output.py:2293
 msgid "End time       :"
 msgstr ""
 
-#: ../output.py:1759 ../output.py:1761
+#: ../output.py:2296 ../output.py:2298
 msgid "End rpmdb      :"
 msgstr ""
 
-#: ../output.py:1764 ../output.py:1766
+#: ../output.py:2301 ../output.py:2303
 msgid "User           :"
 msgstr ""
 
-#: ../output.py:1770 ../output.py:1773 ../output.py:1775 ../output.py:1777
-#: ../output.py:1779
+#: ../output.py:2307 ../output.py:2310 ../output.py:2312 ../output.py:2314
+#: ../output.py:2316
 msgid "Return-Code    :"
 msgstr ""
 
-#: ../output.py:1770 ../output.py:1775
+#: ../output.py:2307 ../output.py:2312
 msgid "Aborted"
 msgstr ""
 
-#: ../output.py:1773
+#: ../output.py:2310
 msgid "Failures:"
 msgstr ""
 
-#: ../output.py:1777
+#: ../output.py:2314
 msgid "Failure:"
 msgstr ""
 
-#: ../output.py:1779
+#: ../output.py:2316
 msgid "Success"
 msgstr ""
 
-#: ../output.py:1784 ../output.py:1786
+#: ../output.py:2321 ../output.py:2323 ../output.py:2712
 msgid "Command Line   :"
 msgstr ""
 
-#: ../output.py:1795
+#: ../output.py:2332
 #, python-format
 msgid "Additional non-default information stored: %d"
 msgstr ""
 
 #. This is _possible_, but not common
-#: ../output.py:1800
+#: ../output.py:2337
 msgid "Transaction performed with:"
 msgstr ""
 
-#: ../output.py:1804
+#: ../output.py:2341
 msgid "Packages Altered:"
 msgstr ""
 
-#: ../output.py:1808
+#: ../output.py:2345
 msgid "Packages Skipped:"
 msgstr ""
 
-#: ../output.py:1814
+#: ../output.py:2353
 msgid "Rpmdb Problems:"
 msgstr ""
 
-#: ../output.py:1825
+#: ../output.py:2364
 msgid "Scriptlet output:"
 msgstr ""
 
-#: ../output.py:1831
+#: ../output.py:2370
 msgid "Errors:"
 msgstr ""
 
-#: ../output.py:1837 ../output.py:1838
-msgid "Install"
-msgstr ""
-
-#: ../output.py:1839
+#: ../output.py:2378
 msgid "Dep-Install"
 msgstr ""
 
-#: ../output.py:1841
+#: ../output.py:2380
 msgid "Obsoleting"
 msgstr ""
 
-#: ../output.py:1842
+#: ../output.py:2381
 msgid "Erase"
 msgstr ""
 
-#: ../output.py:1843
-msgid "Reinstall"
-msgstr ""
-
-#: ../output.py:1844
-msgid "Downgrade"
-msgstr ""
-
-#: ../output.py:1846
+#: ../output.py:2385
 msgid "Update"
 msgstr ""
 
-#: ../output.py:1909
+#: ../output.py:2459
 msgid "Time"
 msgstr ""
 
-#: ../output.py:1935
+#: ../output.py:2485
 msgid "Last day"
 msgstr ""
 
-#: ../output.py:1936
+#: ../output.py:2486
 msgid "Last week"
 msgstr ""
 
-#: ../output.py:1937
+#: ../output.py:2487
 msgid "Last 2 weeks"
 msgstr ""
 
 #. US default :p
-#: ../output.py:1938
+#: ../output.py:2488
 msgid "Last 3 months"
 msgstr ""
 
-#: ../output.py:1939
+#: ../output.py:2489
 msgid "Last 6 months"
 msgstr ""
 
-#: ../output.py:1940
+#: ../output.py:2490
 msgid "Last year"
 msgstr ""
 
-#: ../output.py:1941
+#: ../output.py:2491
 msgid "Over a year ago"
 msgstr ""
 
-#: ../output.py:1984
+#: ../output.py:2538
 #, python-format
 msgid "No Transaction %s found"
 msgstr ""
 
-#: ../output.py:1990
+#: ../output.py:2544
 msgid "Transaction ID:"
 msgstr ""
 
-#: ../output.py:1991
+#: ../output.py:2545
 msgid "Available additional history information:"
 msgstr ""
 
-#: ../output.py:2003
+#: ../output.py:2558
 #, python-format
 msgid "%s: No additional data found by this name"
 msgstr ""
 
-#: ../output.py:2106
+#: ../output.py:2684
+msgid "Package        :"
+msgstr ""
+
+#: ../output.py:2685
+msgid "State          :"
+msgstr ""
+
+#: ../output.py:2688
+msgid "Size           :"
+msgstr ""
+
+#: ../output.py:2690
+msgid "Build host     :"
+msgstr ""
+
+#: ../output.py:2693
+msgid "Build time     :"
+msgstr ""
+
+#: ../output.py:2695
+msgid "Packager       :"
+msgstr ""
+
+#: ../output.py:2697
+msgid "Vendor         :"
+msgstr ""
+
+#: ../output.py:2699
+msgid "License        :"
+msgstr ""
+
+#: ../output.py:2701
+msgid "URL            :"
+msgstr ""
+
+#: ../output.py:2703
+msgid "Source RPM     :"
+msgstr ""
+
+#: ../output.py:2706
+msgid "Commit Time    :"
+msgstr ""
+
+#: ../output.py:2708
+msgid "Committer      :"
+msgstr ""
+
+#: ../output.py:2710
+msgid "Reason         :"
+msgstr ""
+
+#: ../output.py:2714
+msgid "From repo      :"
+msgstr ""
+
+#: ../output.py:2718
+msgid "Installed by   :"
+msgstr ""
+
+#: ../output.py:2722
+msgid "Changed by     :"
+msgstr ""
+
+#: ../output.py:2767
 msgid "installed"
 msgstr ""
 
-#: ../output.py:2107
+#: ../output.py:2768
 msgid "an update"
 msgstr ""
 
-#: ../output.py:2108
+#: ../output.py:2769
 msgid "erased"
 msgstr ""
 
-#: ../output.py:2109
+#: ../output.py:2770
 msgid "reinstalled"
 msgstr ""
 
-#: ../output.py:2110
+#: ../output.py:2771
 msgid "a downgrade"
 msgstr ""
 
-#: ../output.py:2111
+#: ../output.py:2772
 msgid "obsoleting"
 msgstr ""
 
-#: ../output.py:2112
+#: ../output.py:2773
 msgid "updated"
 msgstr ""
 
-#: ../output.py:2113
+#: ../output.py:2774
 msgid "obsoleted"
 msgstr ""
 
-#: ../output.py:2117
+#: ../output.py:2778
 #, python-format
 msgid "---> Package %s.%s %s:%s-%s will be %s"
 msgstr ""
 
-#: ../output.py:2124
+#: ../output.py:2789
 msgid "--> Running transaction check"
 msgstr ""
 
-#: ../output.py:2129
+#: ../output.py:2795
 msgid "--> Restarting Dependency Resolution with new changes."
 msgstr ""
 
-#: ../output.py:2134
+#: ../output.py:2801
 msgid "--> Finished Dependency Resolution"
 msgstr ""
 
-#: ../output.py:2139 ../output.py:2144
+#: ../output.py:2814 ../output.py:2827
 #, python-format
 msgid "--> Processing Dependency: %s for package: %s"
 msgstr ""
 
-#: ../output.py:2149
+#: ../output.py:2841
 #, python-format
-msgid "---> Keeping package: %s"
+msgid "---> Keeping package: %s due to %s"
 msgstr ""
 
-#: ../output.py:2152
+#: ../output.py:2850
 #, python-format
 msgid "--> Unresolved Dependency: %s"
 msgstr ""
 
-#: ../output.py:2163
+#: ../output.py:2867
 #, python-format
 msgid "Package: %s"
 msgstr ""
 
-#: ../output.py:2165
+#: ../output.py:2869
 #, python-format
 msgid ""
 "\n"
 "    Requires: %s"
 msgstr ""
 
-#: ../output.py:2174
+#: ../output.py:2878
 #, python-format
 msgid ""
 "\n"
 "    %s: %s (%s)"
 msgstr ""
 
-#: ../output.py:2179
+#: ../output.py:2883
 #, python-format
 msgid ""
 "\n"
 "        %s"
 msgstr ""
 
-#: ../output.py:2181
+#: ../output.py:2885
 msgid ""
 "\n"
 "        Not found"
 msgstr ""
 
 #. These should be the only three things we care about:
-#: ../output.py:2196
+#: ../output.py:2900
 msgid "Updated By"
 msgstr ""
 
-#: ../output.py:2197
+#: ../output.py:2901
 msgid "Downgraded By"
 msgstr ""
 
-#: ../output.py:2198
+#: ../output.py:2902
 msgid "Obsoleted By"
 msgstr ""
 
-#: ../output.py:2216
+#: ../output.py:2920
 msgid "Available"
 msgstr ""
 
-#: ../output.py:2243 ../output.py:2248
+#: ../output.py:2955 ../output.py:2968
 #, python-format
 msgid "--> Processing Conflict: %s conflicts %s"
 msgstr ""
 
-#: ../output.py:2252
+#: ../output.py:2974
 msgid "--> Populating transaction set with selected packages. Please wait."
 msgstr ""
 
-#: ../output.py:2256
+#: ../output.py:2983
 #, python-format
 msgid "---> Downloading header for %s to pack into transaction set."
 msgstr ""
 
-#: ../utils.py:99
+#. self.event(txmbr.name, count, len(base.tsInfo), count, )
+#. (te_current*100L)/te_total
+#: ../output.py:3248
+msgid "Verifying"
+msgstr ""
+
+#: ../utils.py:123
 msgid "Running"
 msgstr ""
 
-#: ../utils.py:100
+#: ../utils.py:124
 msgid "Sleeping"
 msgstr ""
 
-#: ../utils.py:101
+#: ../utils.py:125
 msgid "Uninterruptible"
 msgstr ""
 
-#: ../utils.py:102
+#: ../utils.py:126
 msgid "Zombie"
 msgstr ""
 
-#: ../utils.py:103
+#: ../utils.py:127
 msgid "Traced/Stopped"
 msgstr ""
 
-#: ../utils.py:104 ../yumcommands.py:994
+#: ../utils.py:128 ../yumcommands.py:2193
 msgid "Unknown"
 msgstr ""
 
-#: ../utils.py:115
+#: ../utils.py:153
 msgid "  The other application is: PackageKit"
 msgstr ""
 
-#: ../utils.py:117
+#: ../utils.py:155
 #, python-format
 msgid "  The other application is: %s"
 msgstr ""
 
-#: ../utils.py:120
+#: ../utils.py:158
 #, python-format
 msgid "    Memory : %5s RSS (%5sB VSZ)"
 msgstr ""
 
-#: ../utils.py:125
+#: ../utils.py:163
 #, python-format
 msgid "    Started: %s - %s ago"
 msgstr ""
 
-#: ../utils.py:127
+#: ../utils.py:165
 #, python-format
 msgid "    State  : %s, pid: %d"
 msgstr ""
 
-#: ../utils.py:170 ../yummain.py:43
+#: ../utils.py:194 ../yummain.py:43
 msgid ""
 "\n"
 "\n"
 "Exiting on user cancel"
 msgstr ""
 
-#: ../utils.py:176 ../yummain.py:49
+#: ../utils.py:206 ../yummain.py:49
 msgid ""
 "\n"
 "\n"
 "Exiting on Broken Pipe"
 msgstr ""
 
-#: ../utils.py:178 ../yummain.py:51
+#: ../utils.py:208 ../yummain.py:51
 #, python-format
 msgid ""
 "\n"
@@ -1420,47 +1604,41 @@ msgid ""
 "%s"
 msgstr ""
 
-#: ../utils.py:228 ../yummain.py:123
-msgid ""
-"Another app is currently holding the yum lock; exiting as configured by "
-"exit_on_lock"
-msgstr ""
-
-#: ../utils.py:287
+#: ../utils.py:326
 #, python-format
 msgid "PluginExit Error: %s"
 msgstr ""
 
-#: ../utils.py:290
+#: ../utils.py:329
 #, python-format
 msgid "Yum Error: %s"
 msgstr ""
 
-#: ../utils.py:342 ../yummain.py:150 ../yummain.py:189
+#: ../utils.py:387 ../yummain.py:147 ../yummain.py:186
 #, python-format
 msgid "Error: %s"
 msgstr ""
 
-#: ../utils.py:346 ../yummain.py:194
+#: ../utils.py:391 ../yummain.py:191
 msgid " You could try using --skip-broken to work around the problem"
 msgstr ""
 
-#: ../utils.py:348 ../yummain.py:87
+#: ../utils.py:393 ../yummain.py:87
 msgid " You could try running: rpm -Va --nofiles --nodigest"
 msgstr ""
 
-#: ../utils.py:355 ../yummain.py:160 ../yummain.py:202
+#: ../utils.py:400 ../yummain.py:157 ../yummain.py:199
 #, python-format
 msgid "Unknown Error(s): Exit Code: %d:"
 msgstr ""
 
-#: ../utils.py:361 ../yummain.py:208
+#: ../utils.py:406 ../yummain.py:205
 msgid ""
 "\n"
 "Dependencies Resolved"
 msgstr ""
 
-#: ../utils.py:376 ../yummain.py:234
+#: ../utils.py:422 ../yummain.py:237
 msgid "Complete!"
 msgstr ""
 
@@ -1472,7 +1650,7 @@ msgstr ""
 msgid "You need to be root to perform this command."
 msgstr ""
 
-#: ../yumcommands.py:59
+#: ../yumcommands.py:67
 msgid ""
 "\n"
 "You have enabled checking of packages via GPG keys. This is a good thing. \n"
@@ -1489,555 +1667,648 @@ msgid ""
 "For more information contact your distribution or package provider.\n"
 msgstr ""
 
-#: ../yumcommands.py:74
+#: ../yumcommands.py:82
 #, python-format
 msgid "Problem repository: %s"
 msgstr ""
 
-#: ../yumcommands.py:80
+#: ../yumcommands.py:96
 #, python-format
 msgid "Error: Need to pass a list of pkgs to %s"
 msgstr ""
 
-#: ../yumcommands.py:86
+#: ../yumcommands.py:114
+#, python-format
+msgid "Error: Need at least two packages to %s"
+msgstr ""
+
+#: ../yumcommands.py:129
+#, python-format
+msgid "Error: Need to pass a repoid. and command to %s"
+msgstr ""
+
+#: ../yumcommands.py:136 ../yumcommands.py:142
+#, python-format
+msgid "Error: Need to pass a single valid repoid. to %s"
+msgstr ""
+
+#: ../yumcommands.py:147
+#, python-format
+msgid "Error: Repo %s is not enabled"
+msgstr ""
+
+#: ../yumcommands.py:164
 msgid "Error: Need an item to match"
 msgstr ""
 
-#: ../yumcommands.py:92
+#: ../yumcommands.py:178
 msgid "Error: Need a group or list of groups"
 msgstr ""
 
-#: ../yumcommands.py:101
+#: ../yumcommands.py:195
 #, python-format
 msgid "Error: clean requires an option: %s"
 msgstr ""
 
-#: ../yumcommands.py:106
+#: ../yumcommands.py:201
 #, python-format
 msgid "Error: invalid clean argument: %r"
 msgstr ""
 
-#: ../yumcommands.py:119
+#: ../yumcommands.py:216
 msgid "No argument to shell"
 msgstr ""
 
-#: ../yumcommands.py:121
+#: ../yumcommands.py:218
 #, python-format
 msgid "Filename passed to shell: %s"
 msgstr ""
 
-#: ../yumcommands.py:125
+#: ../yumcommands.py:222
 #, python-format
 msgid "File %s given as argument to shell does not exist."
 msgstr ""
 
-#: ../yumcommands.py:131
+#: ../yumcommands.py:228
 msgid "Error: more than one file given as argument to shell."
 msgstr ""
 
-#: ../yumcommands.py:148
+#: ../yumcommands.py:247
 msgid ""
 "There are no enabled repos.\n"
 " Run \"yum repolist all\" to see the repos you have.\n"
 " You can enable repos with yum-config-manager --enable <repo>"
 msgstr ""
 
-#: ../yumcommands.py:200
+#: ../yumcommands.py:383
 msgid "PACKAGE..."
 msgstr ""
 
-#: ../yumcommands.py:203
+#: ../yumcommands.py:390
 msgid "Install a package or packages on your system"
 msgstr ""
 
-#: ../yumcommands.py:212
+#: ../yumcommands.py:421
 msgid "Setting up Install Process"
 msgstr ""
 
-#: ../yumcommands.py:223 ../yumcommands.py:245
+#: ../yumcommands.py:447 ../yumcommands.py:507
 msgid "[PACKAGE...]"
 msgstr ""
 
-#: ../yumcommands.py:226
+#: ../yumcommands.py:454
 msgid "Update a package or packages on your system"
 msgstr ""
 
-#: ../yumcommands.py:234
+#: ../yumcommands.py:483
 msgid "Setting up Update Process"
 msgstr ""
 
-#: ../yumcommands.py:248
+#: ../yumcommands.py:514
 msgid "Synchronize installed packages to the latest available versions"
 msgstr ""
 
-#: ../yumcommands.py:256
+#: ../yumcommands.py:543
 msgid "Setting up Distribution Synchronization Process"
 msgstr ""
 
-#: ../yumcommands.py:299
+#: ../yumcommands.py:603
 msgid "Display details about a package or group of packages"
 msgstr ""
 
-#: ../yumcommands.py:348
+#: ../yumcommands.py:672
 msgid "Installed Packages"
 msgstr ""
 
-#: ../yumcommands.py:356
+#: ../yumcommands.py:682
 msgid "Available Packages"
 msgstr ""
 
-#: ../yumcommands.py:360
+#: ../yumcommands.py:687
 msgid "Extra Packages"
 msgstr ""
 
-#: ../yumcommands.py:364
+#: ../yumcommands.py:691
 msgid "Updated Packages"
 msgstr ""
 
 #. This only happens in verbose mode
-#: ../yumcommands.py:372 ../yumcommands.py:379 ../yumcommands.py:667
+#: ../yumcommands.py:699 ../yumcommands.py:706 ../yumcommands.py:1539
 msgid "Obsoleting Packages"
 msgstr ""
 
-#: ../yumcommands.py:381
+#: ../yumcommands.py:708
 msgid "Recently Added Packages"
 msgstr ""
 
-#: ../yumcommands.py:388
+#: ../yumcommands.py:715
 msgid "No matching Packages to list"
 msgstr ""
 
-#: ../yumcommands.py:402
+#: ../yumcommands.py:766
 msgid "List a package or groups of packages"
 msgstr ""
 
-#: ../yumcommands.py:414
+#: ../yumcommands.py:797
 msgid "Remove a package or packages from your system"
 msgstr ""
 
-#: ../yumcommands.py:421
+#: ../yumcommands.py:845
 msgid "Setting up Remove Process"
 msgstr ""
 
-#: ../yumcommands.py:435
-msgid "Setting up Group Process"
+#: ../yumcommands.py:906
+msgid "Display, or use, the groups information"
 msgstr ""
 
-#: ../yumcommands.py:441
-msgid "No Groups on which to run command"
+#: ../yumcommands.py:909
+msgid "Setting up Group Process"
 msgstr ""
 
-#: ../yumcommands.py:454
-msgid "List available package groups"
+#: ../yumcommands.py:915
+msgid "No Groups on which to run command"
 msgstr ""
 
-#: ../yumcommands.py:474
-msgid "Install the packages in a group on your system"
+#: ../yumcommands.py:985
+#, python-format
+msgid "Invalid groups sub-command, use: %s."
 msgstr ""
 
-#: ../yumcommands.py:497
-msgid "Remove the packages in a group from your system"
+#: ../yumcommands.py:992
+msgid "There is no installed groups file."
 msgstr ""
 
-#: ../yumcommands.py:525
-msgid "Display details about a package group"
+#: ../yumcommands.py:994
+msgid "You don't have access to the groups DB."
 msgstr ""
 
-#: ../yumcommands.py:550
+#: ../yumcommands.py:1256
 msgid "Generate the metadata cache"
 msgstr ""
 
-#: ../yumcommands.py:556
+#: ../yumcommands.py:1282
 msgid "Making cache files for all metadata files."
 msgstr ""
 
-#: ../yumcommands.py:557
+#: ../yumcommands.py:1283
 msgid "This may take a while depending on the speed of this computer"
 msgstr ""
 
-#: ../yumcommands.py:578
+#: ../yumcommands.py:1312
 msgid "Metadata Cache Created"
 msgstr ""
 
-#: ../yumcommands.py:592
+#: ../yumcommands.py:1350
 msgid "Remove cached data"
 msgstr ""
 
-#: ../yumcommands.py:613
+#: ../yumcommands.py:1417
 msgid "Find what package provides the given value"
 msgstr ""
 
-#: ../yumcommands.py:633
+#: ../yumcommands.py:1485
 msgid "Check for available package updates"
 msgstr ""
 
-#: ../yumcommands.py:687
+#: ../yumcommands.py:1587
 msgid "Search package details for the given string"
 msgstr ""
 
-#: ../yumcommands.py:693
+#: ../yumcommands.py:1613
 msgid "Searching Packages: "
 msgstr ""
 
-#: ../yumcommands.py:710
+#: ../yumcommands.py:1666
 msgid "Update packages taking obsoletes into account"
 msgstr ""
 
-#: ../yumcommands.py:719
+#: ../yumcommands.py:1696
 msgid "Setting up Upgrade Process"
 msgstr ""
 
-#: ../yumcommands.py:737
+#: ../yumcommands.py:1731
 msgid "Install a local RPM"
 msgstr ""
 
-#: ../yumcommands.py:745
+#: ../yumcommands.py:1761
 msgid "Setting up Local Package Process"
 msgstr ""
 
-#: ../yumcommands.py:764
-msgid "Determine which package provides the given dependency"
-msgstr ""
-
-#: ../yumcommands.py:767
+#: ../yumcommands.py:1825
 msgid "Searching Packages for Dependency:"
 msgstr ""
 
-#: ../yumcommands.py:781
+#: ../yumcommands.py:1867
 msgid "Run an interactive yum shell"
 msgstr ""
 
-#: ../yumcommands.py:787
+#: ../yumcommands.py:1893
 msgid "Setting up Yum Shell"
 msgstr ""
 
-#: ../yumcommands.py:805
+#: ../yumcommands.py:1936
 msgid "List a package's dependencies"
 msgstr ""
 
-#: ../yumcommands.py:811
+#: ../yumcommands.py:1963
 msgid "Finding dependencies: "
 msgstr ""
 
-#: ../yumcommands.py:827
+#: ../yumcommands.py:2005
 msgid "Display the configured software repositories"
 msgstr ""
 
-#: ../yumcommands.py:893 ../yumcommands.py:894
+#: ../yumcommands.py:2094 ../yumcommands.py:2095
 msgid "enabled"
 msgstr ""
 
-#: ../yumcommands.py:920 ../yumcommands.py:921
+#: ../yumcommands.py:2121 ../yumcommands.py:2122
 msgid "disabled"
 msgstr ""
 
-#: ../yumcommands.py:937
+#: ../yumcommands.py:2137
 msgid "Repo-id      : "
 msgstr ""
 
-#: ../yumcommands.py:938
+#: ../yumcommands.py:2138
 msgid "Repo-name    : "
 msgstr ""
 
-#: ../yumcommands.py:941
+#: ../yumcommands.py:2141
 msgid "Repo-status  : "
 msgstr ""
 
-#: ../yumcommands.py:944
+#: ../yumcommands.py:2144
 msgid "Repo-revision: "
 msgstr ""
 
-#: ../yumcommands.py:948
+#: ../yumcommands.py:2148
 msgid "Repo-tags    : "
 msgstr ""
 
-#: ../yumcommands.py:954
+#: ../yumcommands.py:2154
 msgid "Repo-distro-tags: "
 msgstr ""
 
-#: ../yumcommands.py:959
+#: ../yumcommands.py:2159
 msgid "Repo-updated : "
 msgstr ""
 
-#: ../yumcommands.py:961
+#: ../yumcommands.py:2161
 msgid "Repo-pkgs    : "
 msgstr ""
 
-#: ../yumcommands.py:962
+#: ../yumcommands.py:2162
 msgid "Repo-size    : "
 msgstr ""
 
-#: ../yumcommands.py:969 ../yumcommands.py:990
+#: ../yumcommands.py:2169 ../yumcommands.py:2190
 msgid "Repo-baseurl : "
 msgstr ""
 
-#: ../yumcommands.py:977
+#: ../yumcommands.py:2177
 msgid "Repo-metalink: "
 msgstr ""
 
-#: ../yumcommands.py:981
+#: ../yumcommands.py:2181
 msgid "  Updated    : "
 msgstr ""
 
-#: ../yumcommands.py:984
+#: ../yumcommands.py:2184
 msgid "Repo-mirrors : "
 msgstr ""
 
-#: ../yumcommands.py:1000
+#: ../yumcommands.py:2199
 #, python-format
 msgid "Never (last: %s)"
 msgstr ""
 
-#: ../yumcommands.py:1002
+#: ../yumcommands.py:2201
 #, python-format
 msgid "Instant (last: %s)"
 msgstr ""
 
-#: ../yumcommands.py:1005
+#: ../yumcommands.py:2204
 #, python-format
 msgid "%s second(s) (last: %s)"
 msgstr ""
 
-#: ../yumcommands.py:1007
+#: ../yumcommands.py:2206
 msgid "Repo-expire  : "
 msgstr ""
 
-#: ../yumcommands.py:1010
+#: ../yumcommands.py:2209
 msgid "Repo-exclude : "
 msgstr ""
 
-#: ../yumcommands.py:1014
+#: ../yumcommands.py:2213
 msgid "Repo-include : "
 msgstr ""
 
-#: ../yumcommands.py:1018
+#: ../yumcommands.py:2217
 msgid "Repo-excluded: "
 msgstr ""
 
-#: ../yumcommands.py:1022
+#: ../yumcommands.py:2221
 msgid "Repo-filename: "
 msgstr ""
 
 #. Work out the first (id) and last (enabled/disalbed/count),
 #. then chop the middle (name)...
-#: ../yumcommands.py:1032 ../yumcommands.py:1061
+#: ../yumcommands.py:2230 ../yumcommands.py:2259
 msgid "repo id"
 msgstr ""
 
-#: ../yumcommands.py:1049 ../yumcommands.py:1050 ../yumcommands.py:1068
+#: ../yumcommands.py:2247 ../yumcommands.py:2248 ../yumcommands.py:2266
 msgid "status"
 msgstr ""
 
-#: ../yumcommands.py:1062
+#: ../yumcommands.py:2260
 msgid "repo name"
 msgstr ""
 
-#: ../yumcommands.py:1099
+#: ../yumcommands.py:2332
 msgid "Display a helpful usage message"
 msgstr ""
 
-#: ../yumcommands.py:1133
+#: ../yumcommands.py:2374
 #, python-format
 msgid "No help available for %s"
 msgstr ""
 
-#: ../yumcommands.py:1138
+#: ../yumcommands.py:2379
 msgid ""
 "\n"
 "\n"
 "aliases: "
 msgstr ""
 
-#: ../yumcommands.py:1140
+#: ../yumcommands.py:2381
 msgid ""
 "\n"
 "\n"
 "alias: "
 msgstr ""
 
-#: ../yumcommands.py:1168
+#: ../yumcommands.py:2466
 msgid "Setting up Reinstall Process"
 msgstr ""
 
-#: ../yumcommands.py:1176
+#: ../yumcommands.py:2478
 msgid "reinstall a package"
 msgstr ""
 
-#: ../yumcommands.py:1195
+#: ../yumcommands.py:2541
 msgid "Setting up Downgrade Process"
 msgstr ""
 
-#: ../yumcommands.py:1202
+#: ../yumcommands.py:2552
 msgid "downgrade a package"
 msgstr ""
 
-#: ../yumcommands.py:1216
+#: ../yumcommands.py:2591
 msgid "Display a version for the machine and/or available repos."
 msgstr ""
 
-#: ../yumcommands.py:1255
+#: ../yumcommands.py:2643
 msgid " Yum version groups:"
 msgstr ""
 
-#: ../yumcommands.py:1265
+#: ../yumcommands.py:2653
 msgid " Group   :"
 msgstr ""
 
-#: ../yumcommands.py:1266
+#: ../yumcommands.py:2654
 msgid " Packages:"
 msgstr ""
 
-#: ../yumcommands.py:1295
+#: ../yumcommands.py:2683
 msgid "Installed:"
 msgstr ""
 
-#: ../yumcommands.py:1303
+#: ../yumcommands.py:2691
 msgid "Group-Installed:"
 msgstr ""
 
-#: ../yumcommands.py:1312
+#: ../yumcommands.py:2700
 msgid "Available:"
 msgstr ""
 
-#: ../yumcommands.py:1321
+#: ../yumcommands.py:2709
 msgid "Group-Available:"
 msgstr ""
 
-#: ../yumcommands.py:1360
+#: ../yumcommands.py:2783
 msgid "Display, or use, the transaction history"
 msgstr ""
 
-#: ../yumcommands.py:1432
+#: ../yumcommands.py:2876 ../yumcommands.py:2880
+msgid "Transactions:"
+msgstr ""
+
+#: ../yumcommands.py:2881
+msgid "Begin time  :"
+msgstr ""
+
+#: ../yumcommands.py:2882
+msgid "End time    :"
+msgstr ""
+
+#: ../yumcommands.py:2883
+msgid "Counts      :"
+msgstr ""
+
+#: ../yumcommands.py:2884
+msgid "  NEVRAC :"
+msgstr ""
+
+#: ../yumcommands.py:2885
+msgid "  NEVRA  :"
+msgstr ""
+
+#: ../yumcommands.py:2886
+msgid "  NA     :"
+msgstr ""
+
+#: ../yumcommands.py:2887
+msgid "  NEVR   :"
+msgstr ""
+
+#: ../yumcommands.py:2888
+msgid "  rpm DB :"
+msgstr ""
+
+#: ../yumcommands.py:2889
+msgid "  yum DB :"
+msgstr ""
+
+#: ../yumcommands.py:2922
 #, python-format
 msgid "Invalid history sub-command, use: %s."
 msgstr ""
 
-#: ../yumcommands.py:1439
+#: ../yumcommands.py:2929
 msgid "You don't have access to the history DB."
 msgstr ""
 
-#: ../yumcommands.py:1487
+#: ../yumcommands.py:3036
 msgid "Check for problems in the rpmdb"
 msgstr ""
 
-#: ../yumcommands.py:1514
+#: ../yumcommands.py:3102
 msgid "load a saved transaction from filename"
 msgstr ""
 
-#: ../yumcommands.py:1518
+#: ../yumcommands.py:3119
 msgid "No saved transaction file specified."
 msgstr ""
 
-#: ../yumcommands.py:1522
+#: ../yumcommands.py:3123
 #, python-format
 msgid "loading transaction from %s"
 msgstr ""
 
-#: ../yumcommands.py:1528
+#: ../yumcommands.py:3129
 #, python-format
 msgid "Transaction loaded from %s with %s members"
 msgstr ""
 
+#: ../yumcommands.py:3169
+msgid "Simple way to swap packages, isntead of using shell"
+msgstr ""
+
+#: ../yumcommands.py:3264
+msgid ""
+"Treat a repo. as a group of packages, so we can install/remove all of them"
+msgstr ""
+
+#: ../yumcommands.py:3341
+#, python-format
+msgid "%d package to update"
+msgid_plural "%d packages to update"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../yumcommands.py:3370
+#, python-format
+msgid "%d package to remove/reinstall"
+msgid_plural "%d packages to remove/reinstall"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../yumcommands.py:3413
+#, python-format
+msgid "%d package to remove/sync"
+msgid_plural "%d packages to remove/sync"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../yumcommands.py:3417
+#, python-format
+msgid "Not a valid sub-command of %s"
+msgstr ""
+
 #. This is mainly for PackageSackError from rpmdb.
 #: ../yummain.py:84
 #, python-format
 msgid " Yum checks failed: %s"
 msgstr ""
 
-#: ../yummain.py:114
-msgid ""
-"Another app is currently holding the yum lock; waiting for it to exit..."
+#: ../yummain.py:98
+msgid "No read/execute access in current directory, moving to /"
 msgstr ""
 
-#: ../yummain.py:120
-msgid "Can't create lock file; exiting"
+#: ../yummain.py:106
+msgid "No getcwd() access in current directory, moving to /"
 msgstr ""
 
 #. Depsolve stage
-#: ../yummain.py:167
+#: ../yummain.py:164
 msgid "Resolving Dependencies"
 msgstr ""
 
-#: ../yummain.py:230
+#: ../yummain.py:227 ../yummain.py:235
 #, python-format
-msgid "Your transaction was saved, rerun it with: yum load-transaction %s"
+msgid ""
+"Your transaction was saved, rerun it with:\n"
+" yum load-transaction %s"
 msgstr ""
 
-#: ../yummain.py:288
+#: ../yummain.py:312
 msgid ""
 "\n"
 "\n"
 "Exiting on user cancel."
 msgstr ""
 
-#: ../yum/depsolve.py:84
+#: ../yum/depsolve.py:127
 msgid "doTsSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/depsolve.py:99
+#: ../yum/depsolve.py:143
 msgid "Setting up TransactionSets before config class is up"
 msgstr ""
 
-#: ../yum/depsolve.py:153
+#: ../yum/depsolve.py:200
 #, python-format
 msgid "Invalid tsflag in config file: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:164
+#: ../yum/depsolve.py:218
 #, python-format
 msgid "Searching pkgSack for dep: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:207
+#: ../yum/depsolve.py:269
 #, python-format
 msgid "Member: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:221 ../yum/depsolve.py:793
+#: ../yum/depsolve.py:283 ../yum/depsolve.py:937
 #, python-format
 msgid "%s converted to install"
 msgstr ""
 
-#: ../yum/depsolve.py:233
+#: ../yum/depsolve.py:295
 #, python-format
 msgid "Adding Package %s in mode %s"
 msgstr ""
 
-#: ../yum/depsolve.py:249
+#: ../yum/depsolve.py:311
 #, python-format
 msgid "Removing Package %s"
 msgstr ""
 
-#: ../yum/depsolve.py:271
+#: ../yum/depsolve.py:333
 #, python-format
 msgid "%s requires: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:312
+#: ../yum/depsolve.py:374
 #, python-format
 msgid "%s requires %s"
 msgstr ""
 
-#: ../yum/depsolve.py:339
+#: ../yum/depsolve.py:401
 msgid "Needed Require has already been looked up, cheating"
 msgstr ""
 
-#: ../yum/depsolve.py:349
+#: ../yum/depsolve.py:411
 #, python-format
 msgid "Needed Require is not a package name. Looking up: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:357
+#: ../yum/depsolve.py:419
 #, python-format
 msgid "Potential Provider: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:380
+#: ../yum/depsolve.py:442
 #, python-format
 msgid "Mode is %s for provider of %s: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:384
+#: ../yum/depsolve.py:446
 #, python-format
 msgid "Mode for pkg providing %s: %s"
 msgstr ""
@@ -2045,991 +2316,1140 @@ msgstr ""
 #. the thing it needs is being updated or obsoleted away
 #. try to update the requiring package in hopes that all this problem goes
 #. away :(
-#: ../yum/depsolve.py:389 ../yum/depsolve.py:406
+#: ../yum/depsolve.py:451 ../yum/depsolve.py:486
 #, python-format
 msgid "Trying to update %s to resolve dep"
 msgstr ""
 
-#: ../yum/depsolve.py:400 ../yum/depsolve.py:410
+#: ../yum/depsolve.py:480
 #, python-format
 msgid "No update paths found for %s. Failure!"
 msgstr ""
 
-#: ../yum/depsolve.py:416
+#: ../yum/depsolve.py:491
+#, python-format
+msgid "No update paths found for %s. Failure due to requirement: %s!"
+msgstr ""
+
+#: ../yum/depsolve.py:507
+#, python-format
+msgid "Update for %s. Doesn't fix requirement: %s!"
+msgstr ""
+
+#: ../yum/depsolve.py:514
 #, python-format
 msgid "TSINFO: %s package requiring %s marked as erase"
 msgstr ""
 
-#: ../yum/depsolve.py:429
+#: ../yum/depsolve.py:527
 #, python-format
 msgid "TSINFO: Obsoleting %s with %s to resolve dep."
 msgstr ""
 
-#: ../yum/depsolve.py:432
+#: ../yum/depsolve.py:530
 #, python-format
 msgid "TSINFO: Updating %s to resolve dep."
 msgstr ""
 
-#: ../yum/depsolve.py:440
+#: ../yum/depsolve.py:538
 #, python-format
 msgid "Cannot find an update path for dep for: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:471
+#: ../yum/depsolve.py:569
 #, python-format
 msgid "Quick matched %s to require for %s"
 msgstr ""
 
 #. is it already installed?
-#: ../yum/depsolve.py:513
+#: ../yum/depsolve.py:611
 #, python-format
 msgid "%s is in providing packages but it is already installed, removing."
 msgstr ""
 
-#: ../yum/depsolve.py:529
+#: ../yum/depsolve.py:627
 #, python-format
 msgid "Potential resolving package %s has newer instance in ts."
 msgstr ""
 
-#: ../yum/depsolve.py:540
+#: ../yum/depsolve.py:638
 #, python-format
 msgid "Potential resolving package %s has newer instance installed."
 msgstr ""
 
-#: ../yum/depsolve.py:558
+#: ../yum/depsolve.py:656
 #, python-format
 msgid "%s already in ts, skipping this one"
 msgstr ""
 
-#: ../yum/depsolve.py:607
+#: ../yum/depsolve.py:705
 #, python-format
 msgid "TSINFO: Marking %s as update for %s"
 msgstr ""
 
-#: ../yum/depsolve.py:616
+#: ../yum/depsolve.py:714
 #, python-format
 msgid "TSINFO: Marking %s as install for %s"
 msgstr ""
 
-#: ../yum/depsolve.py:727 ../yum/depsolve.py:819
+#: ../yum/depsolve.py:849 ../yum/depsolve.py:967
 msgid "Success - empty transaction"
 msgstr ""
 
-#: ../yum/depsolve.py:767 ../yum/depsolve.py:783
+#: ../yum/depsolve.py:889 ../yum/depsolve.py:927
 msgid "Restarting Loop"
 msgstr ""
 
-#: ../yum/depsolve.py:799
+#: ../yum/depsolve.py:947
 msgid "Dependency Process ending"
 msgstr ""
 
-#: ../yum/depsolve.py:821
+#: ../yum/depsolve.py:969
 msgid "Success - deps resolved"
 msgstr ""
 
-#: ../yum/depsolve.py:845
+#: ../yum/depsolve.py:993
 #, python-format
 msgid "Checking deps for %s"
 msgstr ""
 
-#: ../yum/depsolve.py:931
+#: ../yum/depsolve.py:1082
 #, python-format
 msgid "looking for %s as a requirement of %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1169
+#: ../yum/depsolve.py:1349
 #, python-format
 msgid "Running compare_providers() for %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1196 ../yum/depsolve.py:1202
+#: ../yum/depsolve.py:1376 ../yum/depsolve.py:1382
 #, python-format
 msgid "better arch in po %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1298
+#: ../yum/depsolve.py:1496
 #, python-format
 msgid "%s obsoletes %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1310
+#: ../yum/depsolve.py:1508
 #, python-format
 msgid ""
 "archdist compared %s to %s on %s\n"
 "  Winner: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1318
+#: ../yum/depsolve.py:1516
 #, python-format
 msgid "common sourcerpm %s and %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1322
+#: ../yum/depsolve.py:1520
 #, python-format
 msgid "base package %s is installed for %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1328
+#: ../yum/depsolve.py:1526
 #, python-format
 msgid "common prefix of %s between %s and %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1359
+#: ../yum/depsolve.py:1543
 #, python-format
-msgid "requires minimal: %d"
+msgid "provides vercmp: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1363
+#: ../yum/depsolve.py:1547 ../yum/depsolve.py:1581
 #, python-format
 msgid " Winner: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1368
+#: ../yum/depsolve.py:1577
+#, python-format
+msgid "requires minimal: %d"
+msgstr ""
+
+#: ../yum/depsolve.py:1586
 #, python-format
 msgid " Loser(with %d): %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1384
+#: ../yum/depsolve.py:1602
 #, python-format
 msgid "Best Order: %s"
 msgstr ""
 
-#: ../yum/__init__.py:234
+#: ../yum/__init__.py:274
 msgid "doConfigSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/__init__.py:482
+#: ../yum/__init__.py:553
+#, python-format
+msgid "Skipping unreadable repository %s"
+msgstr ""
+
+#: ../yum/__init__.py:572
 #, python-format
 msgid "Repository %r: Error parsing config: %s"
 msgstr ""
 
-#: ../yum/__init__.py:488
+#: ../yum/__init__.py:578
 #, python-format
 msgid "Repository %r is missing name in configuration, using id"
 msgstr ""
 
-#: ../yum/__init__.py:526
+#: ../yum/__init__.py:618
 msgid "plugins already initialised"
 msgstr ""
 
-#: ../yum/__init__.py:533
+#: ../yum/__init__.py:627
 msgid "doRpmDBSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/__init__.py:544
+#: ../yum/__init__.py:638
 msgid "Reading Local RPMDB"
 msgstr ""
 
-#: ../yum/__init__.py:567
+#: ../yum/__init__.py:668
 msgid "doRepoSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/__init__.py:630
+#: ../yum/__init__.py:722
 msgid "doSackSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/__init__.py:660
+#: ../yum/__init__.py:752
 msgid "Setting up Package Sacks"
 msgstr ""
 
-#: ../yum/__init__.py:705
+#: ../yum/__init__.py:797
 #, python-format
 msgid "repo object for repo %s lacks a _resetSack method\n"
 msgstr ""
 
-#: ../yum/__init__.py:706
+#: ../yum/__init__.py:798
 msgid "therefore this repo cannot be reset.\n"
 msgstr ""
 
-#: ../yum/__init__.py:711
+#: ../yum/__init__.py:806
 msgid "doUpdateSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/__init__.py:723
+#: ../yum/__init__.py:818
 msgid "Building updates object"
 msgstr ""
 
-#: ../yum/__init__.py:765
+#: ../yum/__init__.py:862
 msgid "doGroupSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/__init__.py:790
+#: ../yum/__init__.py:887
 msgid "Getting group metadata"
 msgstr ""
 
-#: ../yum/__init__.py:816
+#: ../yum/__init__.py:915
 #, python-format
 msgid "Adding group file from repository: %s"
 msgstr ""
 
-#: ../yum/__init__.py:827
+#: ../yum/__init__.py:918
+#, python-format
+msgid "Failed to retrieve group file for repository: %s"
+msgstr ""
+
+#: ../yum/__init__.py:924
 #, python-format
 msgid "Failed to add groups file for repository: %s - %s"
 msgstr ""
 
-#: ../yum/__init__.py:833
+#: ../yum/__init__.py:930
 msgid "No Groups Available in any repository"
 msgstr ""
 
-#: ../yum/__init__.py:845
+#: ../yum/__init__.py:945
 msgid "Getting pkgtags metadata"
 msgstr ""
 
-#: ../yum/__init__.py:855
+#: ../yum/__init__.py:955
 #, python-format
 msgid "Adding tags from repository: %s"
 msgstr ""
 
-#: ../yum/__init__.py:866
+#: ../yum/__init__.py:966
 #, python-format
 msgid "Failed to add Pkg Tags for repository: %s - %s"
 msgstr ""
 
-#: ../yum/__init__.py:944
+#: ../yum/__init__.py:1059
 msgid "Importing additional filelist information"
 msgstr ""
 
-#: ../yum/__init__.py:958
+#: ../yum/__init__.py:1077
 #, python-format
 msgid "The program %s%s%s is found in the yum-utils package."
 msgstr ""
 
-#: ../yum/__init__.py:966
+#: ../yum/__init__.py:1094
 msgid ""
 "There are unfinished transactions remaining. You might consider running yum-"
 "complete-transaction first to finish them."
 msgstr ""
 
-#: ../yum/__init__.py:983
+#: ../yum/__init__.py:1111
 msgid "--> Finding unneeded leftover dependencies"
 msgstr ""
 
-#: ../yum/__init__.py:1041
+#: ../yum/__init__.py:1169
 #, python-format
 msgid "Protected multilib versions: %s != %s"
 msgstr ""
 
-#: ../yum/__init__.py:1096
+#. People are confused about protected mutilib ... so give
+#. them a nicer message.
+#: ../yum/__init__.py:1173
+#, python-format
+msgid ""
+" Multilib version problems found. This often means that the root\n"
+"cause is something else and multilib version checking is just\n"
+"pointing out that there is a problem. Eg.:\n"
+"\n"
+"  1. You have an upgrade for %(name)s which is missing some\n"
+"     dependency that another package requires. Yum is trying to\n"
+"     solve this by installing an older version of %(name)s of the\n"
+"     different architecture. If you exclude the bad architecture\n"
+"     yum will tell you what the root cause is (which package\n"
+"     requires what). You can try redoing the upgrade with\n"
+"     --exclude %(name)s.otherarch ... this should give you an error\n"
+"     message showing the root cause of the problem.\n"
+"\n"
+"  2. You have multiple architectures of %(name)s installed, but\n"
+"     yum can only see an upgrade for one of those arcitectures.\n"
+"     If you don't want/need both architectures anymore then you\n"
+"     can remove the one with the missing update and everything\n"
+"     will work.\n"
+"\n"
+"  3. You have duplicate versions of %(name)s installed already.\n"
+"     You can use \"yum check\" to get yum show these errors.\n"
+"\n"
+"...you can also use --setopt=protected_multilib=false to remove\n"
+"this checking, however this is almost never the correct thing to\n"
+"do as something else is very likely to go wrong (often causing\n"
+"much more problems).\n"
+"\n"
+msgstr ""
+
+#: ../yum/__init__.py:1257
 #, python-format
 msgid "Trying to remove \"%s\", which is protected"
 msgstr ""
 
-#: ../yum/__init__.py:1217
+#: ../yum/__init__.py:1378
 msgid ""
 "\n"
 "Packages skipped because of dependency problems:"
 msgstr ""
 
-#: ../yum/__init__.py:1221
+#: ../yum/__init__.py:1382
 #, python-format
 msgid "    %s from %s"
 msgstr ""
 
 #. FIXME: _N()
-#: ../yum/__init__.py:1391
+#: ../yum/__init__.py:1556
 #, python-format
 msgid "** Found %d pre-existing rpmdb problem(s), 'yum check' output follows:"
 msgstr ""
 
-#: ../yum/__init__.py:1395
+#: ../yum/__init__.py:1560
 msgid "Warning: RPMDB altered outside of yum."
 msgstr ""
 
-#: ../yum/__init__.py:1407
+#: ../yum/__init__.py:1572
 msgid "missing requires"
 msgstr ""
 
-#: ../yum/__init__.py:1408
+#: ../yum/__init__.py:1573
 msgid "installed conflict"
 msgstr ""
 
-#: ../yum/__init__.py:1525
+#: ../yum/__init__.py:1709
 msgid ""
 "Warning: scriptlet or other non-fatal errors occurred during transaction."
 msgstr ""
 
-#: ../yum/__init__.py:1535
+#: ../yum/__init__.py:1719
 msgid "Transaction couldn't start:"
 msgstr ""
 
 #. should this be 'to_unicoded'?
-#: ../yum/__init__.py:1538
+#: ../yum/__init__.py:1722
 msgid "Could not run transaction."
 msgstr ""
 
-#: ../yum/__init__.py:1552
+#: ../yum/__init__.py:1736
 #, python-format
 msgid "Failed to remove transaction file %s"
 msgstr ""
 
 #. maybe a file log here, too
 #. but raising an exception is not going to do any good
-#: ../yum/__init__.py:1590
+#: ../yum/__init__.py:1792
 #, python-format
 msgid "%s was supposed to be installed but is not!"
 msgstr ""
 
 #. maybe a file log here, too
 #. but raising an exception is not going to do any good
-#: ../yum/__init__.py:1651
+#. Note: This actually triggers atm. because we can't
+#. always find the erased txmbr to set it when
+#. we should.
+#: ../yum/__init__.py:1869
 #, python-format
 msgid "%s was supposed to be removed but is not!"
 msgstr ""
 
-#: ../yum/__init__.py:1768
+#. Another copy seems to be running.
+#: ../yum/__init__.py:2004
 #, python-format
-msgid "Could not open lock %s: %s"
+msgid "Existing lock %s: another copy is running as pid %s."
 msgstr ""
 
 #. Whoa. What the heck happened?
-#: ../yum/__init__.py:1785
+#: ../yum/__init__.py:2053
 #, python-format
-msgid "Unable to check if PID %s is active"
-msgstr "Não é possível verificar se o PID %s está activo"
+msgid "Could not create lock at %s: %s "
+msgstr ""
 
-#. Another copy seems to be running.
-#: ../yum/__init__.py:1789
+#: ../yum/__init__.py:2065
 #, python-format
-msgid "Existing lock %s: another copy is running as pid %s."
+msgid "Could not open lock %s: %s"
 msgstr ""
 
+#. The pid doesn't exist
 #. Whoa. What the heck happened?
-#: ../yum/__init__.py:1830
+#: ../yum/__init__.py:2082
 #, python-format
-msgid "Could not create lock at %s: %s "
-msgstr ""
+msgid "Unable to check if PID %s is active"
+msgstr "Não é possível verificar se o PID %s está activo"
 
-#: ../yum/__init__.py:1875
+#: ../yum/__init__.py:2132
 #, python-format
 msgid ""
 "Package does not match intended download. Suggestion: run yum "
 "--enablerepo=%s clean metadata"
 msgstr ""
 
-#: ../yum/__init__.py:1891
+#: ../yum/__init__.py:2155
 msgid "Could not perform checksum"
 msgstr ""
 
-#: ../yum/__init__.py:1894
+#: ../yum/__init__.py:2158
 msgid "Package does not match checksum"
 msgstr ""
 
-#: ../yum/__init__.py:1946
+#: ../yum/__init__.py:2222
 #, python-format
 msgid "package fails checksum but caching is enabled for %s"
 msgstr ""
 
-#: ../yum/__init__.py:1949 ../yum/__init__.py:1979
+#: ../yum/__init__.py:2225 ../yum/__init__.py:2268
 #, python-format
 msgid "using local copy of %s"
 msgstr ""
 
-#: ../yum/__init__.py:1991
-#, python-format
-msgid ""
-"Insufficient space in download directory %s\n"
-"    * free   %s\n"
-"    * needed %s"
+#. caller handles errors
+#: ../yum/__init__.py:2342
+msgid "exiting because --downloadonly specified"
 msgstr ""
 
-#: ../yum/__init__.py:2052
+#: ../yum/__init__.py:2371
 msgid "Header is not complete."
 msgstr ""
 
-#: ../yum/__init__.py:2089
+#: ../yum/__init__.py:2411
 #, python-format
 msgid ""
 "Header not in local cache and caching-only mode enabled. Cannot download %s"
 msgstr ""
 
-#: ../yum/__init__.py:2147
+#: ../yum/__init__.py:2471
 #, python-format
 msgid "Public key for %s is not installed"
 msgstr ""
 
-#: ../yum/__init__.py:2151
+#: ../yum/__init__.py:2475
 #, python-format
 msgid "Problem opening package %s"
 msgstr ""
 
-#: ../yum/__init__.py:2159
+#: ../yum/__init__.py:2483
 #, python-format
 msgid "Public key for %s is not trusted"
 msgstr ""
 
-#: ../yum/__init__.py:2163
+#: ../yum/__init__.py:2487
 #, python-format
 msgid "Package %s is not signed"
 msgstr ""
 
-#: ../yum/__init__.py:2202
+#: ../yum/__init__.py:2529
 #, python-format
 msgid "Cannot remove %s"
 msgstr ""
 
-#: ../yum/__init__.py:2206
+#: ../yum/__init__.py:2533
 #, python-format
 msgid "%s removed"
 msgstr ""
 
-#: ../yum/__init__.py:2252
+#: ../yum/__init__.py:2594
 #, python-format
 msgid "Cannot remove %s file %s"
 msgstr ""
 
-#: ../yum/__init__.py:2256
+#: ../yum/__init__.py:2598
 #, python-format
 msgid "%s file %s removed"
 msgstr ""
 
-#: ../yum/__init__.py:2258
+#: ../yum/__init__.py:2600
 #, python-format
-msgid "%d %s files removed"
-msgstr ""
+msgid "%d %s file removed"
+msgid_plural "%d %s files removed"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../yum/__init__.py:2327
+#: ../yum/__init__.py:2712
 #, python-format
 msgid "More than one identical match in sack for %s"
 msgstr ""
 
-#: ../yum/__init__.py:2333
+#: ../yum/__init__.py:2718
 #, python-format
 msgid "Nothing matches %s.%s %s:%s-%s from update"
 msgstr ""
 
-#: ../yum/__init__.py:2632
+#: ../yum/__init__.py:3096
 msgid ""
 "searchPackages() will go away in a future version of Yum."
 "                      Use searchGenerator() instead. \n"
 msgstr ""
 
-#: ../yum/__init__.py:2675
+#: ../yum/__init__.py:3149
 #, python-format
-msgid "Searching %d packages"
-msgstr ""
+msgid "Searching %d package"
+msgid_plural "Searching %d packages"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../yum/__init__.py:2679
+#: ../yum/__init__.py:3153
 #, python-format
 msgid "searching package %s"
 msgstr ""
 
-#: ../yum/__init__.py:2691
+#: ../yum/__init__.py:3165
 msgid "searching in file entries"
 msgstr ""
 
-#: ../yum/__init__.py:2698
+#: ../yum/__init__.py:3172
 msgid "searching in provides entries"
 msgstr ""
 
-#: ../yum/__init__.py:2777
+#: ../yum/__init__.py:3369
 msgid "No group data available for configured repositories"
 msgstr ""
 
-#: ../yum/__init__.py:2808 ../yum/__init__.py:2827 ../yum/__init__.py:2858
-#: ../yum/__init__.py:2864 ../yum/__init__.py:2953 ../yum/__init__.py:2957
-#: ../yum/__init__.py:3339
+#: ../yum/__init__.py:3466 ../yum/__init__.py:3500 ../yum/__init__.py:3576
+#: ../yum/__init__.py:3582 ../yum/__init__.py:3719 ../yum/__init__.py:3723
+#: ../yum/__init__.py:4298
 #, python-format
 msgid "No Group named %s exists"
 msgstr ""
 
-#: ../yum/__init__.py:2839 ../yum/__init__.py:2973
+#: ../yum/__init__.py:3512 ../yum/__init__.py:3740
 #, python-format
 msgid "package %s was not marked in group %s"
 msgstr ""
 
-#: ../yum/__init__.py:2887
+#. (upgrade and igroup_data[pkg] == 'available')):
+#: ../yum/__init__.py:3622
+#, python-format
+msgid "Skipping package %s from group %s"
+msgstr ""
+
+#: ../yum/__init__.py:3628
 #, python-format
 msgid "Adding package %s from group %s"
 msgstr ""
 
-#: ../yum/__init__.py:2891
+#: ../yum/__init__.py:3649
 #, python-format
 msgid "No package named %s available to be installed"
 msgstr ""
 
-#: ../yum/__init__.py:2941
+#: ../yum/__init__.py:3702
 #, python-format
-msgid "Warning: Group %s does not have any packages."
+msgid "Warning: Group %s does not have any packages to install."
 msgstr ""
 
-#: ../yum/__init__.py:2943
+#: ../yum/__init__.py:3704
 #, python-format
 msgid "Group %s does have %u conditional packages, which may get installed."
 msgstr ""
 
+#: ../yum/__init__.py:3794
+#, python-format
+msgid "Skipping group %s from environment %s"
+msgstr ""
+
 #. This can happen due to excludes after .up has
 #. happened.
-#: ../yum/__init__.py:3002
+#: ../yum/__init__.py:3858
 #, python-format
 msgid "Package tuple %s could not be found in packagesack"
 msgstr ""
 
-#: ../yum/__init__.py:3022
+#: ../yum/__init__.py:3886
 #, python-format
 msgid "Package tuple %s could not be found in rpmdb"
 msgstr ""
 
-#: ../yum/__init__.py:3079 ../yum/__init__.py:3129
+#: ../yum/__init__.py:3949 ../yum/__init__.py:4012
 #, python-format
 msgid "Invalid version flag from: %s"
 msgstr ""
 
-#: ../yum/__init__.py:3096 ../yum/__init__.py:3101
+#: ../yum/__init__.py:3973 ../yum/__init__.py:3979 ../yum/__init__.py:4036
+#: ../yum/__init__.py:4042
 #, python-format
 msgid "No Package found for %s"
 msgstr ""
 
-#: ../yum/__init__.py:3401
+#: ../yum/__init__.py:4245 ../yum/__init__.py:4274
+#, python-format
+msgid "Warning: Environment Group %s does not exist."
+msgstr ""
+
+#: ../yum/__init__.py:4397
+#, python-format
+msgid "Package: %s - can't co-install with %s"
+msgstr ""
+
+#: ../yum/__init__.py:4437
 msgid "Package Object was not a package object instance"
 msgstr ""
 
-#: ../yum/__init__.py:3405
+#: ../yum/__init__.py:4441
 msgid "Nothing specified to install"
 msgstr ""
 
-#: ../yum/__init__.py:3424 ../yum/__init__.py:4283
+#: ../yum/__init__.py:4465 ../yum/__init__.py:5410
 #, python-format
 msgid "Checking for virtual provide or file-provide for %s"
 msgstr ""
 
-#: ../yum/__init__.py:3430 ../yum/__init__.py:3775 ../yum/__init__.py:3969
-#: ../yum/__init__.py:4289
-#, python-format
-msgid "No Match for argument: %s"
-msgstr ""
-
-#: ../yum/__init__.py:3507
+#: ../yum/__init__.py:4542
 #, python-format
 msgid "Package %s installed and not available"
 msgstr ""
 
-#: ../yum/__init__.py:3510
+#: ../yum/__init__.py:4545
 msgid "No package(s) available to install"
 msgstr ""
 
-#: ../yum/__init__.py:3522
+#: ../yum/__init__.py:4557
 #, python-format
 msgid "Package: %s  - already in transaction set"
 msgstr ""
 
-#: ../yum/__init__.py:3550
+#: ../yum/__init__.py:4589
 #, python-format
 msgid "Package %s is obsoleted by %s which is already installed"
 msgstr ""
 
-#: ../yum/__init__.py:3555
+#: ../yum/__init__.py:4594
 #, python-format
 msgid ""
 "Package %s is obsoleted by %s, but obsoleting package does not provide for "
 "requirements"
 msgstr ""
 
-#: ../yum/__init__.py:3558
+#: ../yum/__init__.py:4597
 #, python-format
 msgid "Package %s is obsoleted by %s, trying to install %s instead"
 msgstr ""
 
-#: ../yum/__init__.py:3566
+#: ../yum/__init__.py:4605
 #, python-format
 msgid "Package %s already installed and latest version"
 msgstr ""
 
-#: ../yum/__init__.py:3580
+#: ../yum/__init__.py:4619
 #, python-format
 msgid "Package matching %s already installed. Checking for update."
 msgstr ""
 
 #. update everything (the easy case)
-#: ../yum/__init__.py:3684
+#: ../yum/__init__.py:4751
 msgid "Updating Everything"
 msgstr ""
 
-#: ../yum/__init__.py:3708 ../yum/__init__.py:3849 ../yum/__init__.py:3879
-#: ../yum/__init__.py:3915
+#: ../yum/__init__.py:4775 ../yum/__init__.py:4930 ../yum/__init__.py:4975
+#: ../yum/__init__.py:5011
 #, python-format
 msgid "Not Updating Package that is already obsoleted: %s.%s %s:%s-%s"
 msgstr ""
 
-#: ../yum/__init__.py:3753 ../yum/__init__.py:3965
+#: ../yum/__init__.py:4830 ../yum/__init__.py:5072
 #, python-format
 msgid "%s"
 msgstr ""
 
-#: ../yum/__init__.py:3838
+#: ../yum/__init__.py:4854 ../yum/__init__.py:5080 ../yum/__init__.py:5416
+#, python-format
+msgid "No Match for argument: %s"
+msgstr ""
+
+#: ../yum/__init__.py:4872
+#, python-format
+msgid "No package matched to upgrade: %s"
+msgstr ""
+
+#: ../yum/__init__.py:4919
 #, python-format
 msgid "Package is already obsoleted: %s.%s %s:%s-%s"
 msgstr ""
 
-#: ../yum/__init__.py:3874
+#: ../yum/__init__.py:4970
 #, python-format
 msgid "Not Updating Package that is obsoleted: %s"
 msgstr ""
 
-#: ../yum/__init__.py:3883 ../yum/__init__.py:3919
+#: ../yum/__init__.py:4979 ../yum/__init__.py:5015
 #, python-format
 msgid "Not Updating Package that is already updated: %s.%s %s:%s-%s"
 msgstr ""
 
-#: ../yum/__init__.py:3982
-msgid "No package matched to remove"
+#: ../yum/__init__.py:5093
+#, python-format
+msgid "No package matched to remove: %s"
 msgstr ""
 
-#: ../yum/__init__.py:3988
+#: ../yum/__init__.py:5099
 #, python-format
 msgid "Skipping the running kernel: %s"
 msgstr ""
 
-#: ../yum/__init__.py:3994
+#: ../yum/__init__.py:5105
 #, python-format
 msgid "Removing %s from the transaction"
 msgstr ""
 
-#: ../yum/__init__.py:4029
+#: ../yum/__init__.py:5142
 #, python-format
 msgid "Cannot open: %s. Skipping."
 msgstr ""
 
-#: ../yum/__init__.py:4032 ../yum/__init__.py:4150 ../yum/__init__.py:4226
+#: ../yum/__init__.py:5145 ../yum/__init__.py:5262 ../yum/__init__.py:5347
 #, python-format
 msgid "Examining %s: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4036
+#: ../yum/__init__.py:5149
 #, python-format
 msgid "Cannot localinstall deltarpm: %s. Skipping."
 msgstr ""
 
-#: ../yum/__init__.py:4045 ../yum/__init__.py:4153 ../yum/__init__.py:4229
+#: ../yum/__init__.py:5158 ../yum/__init__.py:5265 ../yum/__init__.py:5350
 #, python-format
 msgid ""
 "Cannot add package %s to transaction. Not a compatible architecture: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4051
+#: ../yum/__init__.py:5164
 #, python-format
 msgid "Cannot install package %s. It is obsoleted by installed package %s"
 msgstr ""
 
-#: ../yum/__init__.py:4059
+#: ../yum/__init__.py:5172
 #, python-format
 msgid ""
 "Package %s not installed, cannot update it. Run yum install to install it "
 "instead."
 msgstr ""
 
-#: ../yum/__init__.py:4078 ../yum/__init__.py:4085
+#: ../yum/__init__.py:5191 ../yum/__init__.py:5198
 #, python-format
 msgid ""
 "Package %s.%s not installed, cannot update it. Run yum install to install it"
 " instead."
 msgstr ""
 
-#: ../yum/__init__.py:4094 ../yum/__init__.py:4158 ../yum/__init__.py:4234
+#: ../yum/__init__.py:5207 ../yum/__init__.py:5270 ../yum/__init__.py:5355
 #, python-format
 msgid "Excluding %s"
 msgstr ""
 
-#: ../yum/__init__.py:4099
+#: ../yum/__init__.py:5212
 #, python-format
 msgid "Marking %s to be installed"
 msgstr ""
 
-#: ../yum/__init__.py:4105
+#: ../yum/__init__.py:5218
 #, python-format
 msgid "Marking %s as an update to %s"
 msgstr ""
 
-#: ../yum/__init__.py:4112
+#: ../yum/__init__.py:5225
 #, python-format
 msgid "%s: does not update installed package."
 msgstr ""
 
-#: ../yum/__init__.py:4147 ../yum/__init__.py:4223
+#: ../yum/__init__.py:5259 ../yum/__init__.py:5344
 #, python-format
 msgid "Cannot open file: %s. Skipping."
 msgstr ""
 
-#: ../yum/__init__.py:4177
+#: ../yum/__init__.py:5299
 msgid "Problem in reinstall: no package matched to remove"
 msgstr ""
 
-#: ../yum/__init__.py:4203
+#: ../yum/__init__.py:5325
 #, python-format
 msgid "Problem in reinstall: no package %s matched to install"
 msgstr ""
 
-#: ../yum/__init__.py:4311
+#: ../yum/__init__.py:5438
 msgid "No package(s) available to downgrade"
 msgstr ""
 
-#: ../yum/__init__.py:4319
+#: ../yum/__init__.py:5446
 #, python-format
 msgid "Package %s is allowed multiple installs, skipping"
 msgstr ""
 
-#: ../yum/__init__.py:4365
+#: ../yum/__init__.py:5496
 #, python-format
 msgid "No Match for available package: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4372
+#: ../yum/__init__.py:5506
 #, python-format
 msgid "Only Upgrade available on package: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4442 ../yum/__init__.py:4479
+#: ../yum/__init__.py:5619 ../yum/__init__.py:5686
 #, python-format
 msgid "Failed to downgrade: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4516
+#: ../yum/__init__.py:5636 ../yum/__init__.py:5692
+#, python-format
+msgid "Failed to upgrade: %s"
+msgstr ""
+
+#: ../yum/__init__.py:5725
 #, python-format
 msgid "Retrieving key from %s"
 msgstr ""
 
-#: ../yum/__init__.py:4534
+#: ../yum/__init__.py:5743
 msgid "GPG key retrieval failed: "
 msgstr ""
 
 #. if we decide we want to check, even though the sig failed
 #. here is where we would do that
-#: ../yum/__init__.py:4557
+#: ../yum/__init__.py:5766
 #, python-format
 msgid "GPG key signature on key %s does not match CA Key for repo: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4559
+#: ../yum/__init__.py:5768
 msgid "GPG key signature verified against CA Key(s)"
 msgstr ""
 
-#: ../yum/__init__.py:4567
+#: ../yum/__init__.py:5776
 #, python-format
 msgid "Invalid GPG Key from %s: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4576
+#: ../yum/__init__.py:5785
 #, python-format
 msgid "GPG key parsing failed: key does not have value %s"
 msgstr ""
 
-#: ../yum/__init__.py:4592
+#: ../yum/__init__.py:5801
 #, python-format
 msgid ""
 "Importing %s key 0x%s:\n"
-" Userid : %s\n"
-" Package: %s (%s)\n"
-" From   : %s"
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" Package    : %s (%s)\n"
+" From       : %s"
 msgstr ""
 
-#: ../yum/__init__.py:4600
+#: ../yum/__init__.py:5811
 #, python-format
 msgid ""
 "Importing %s key 0x%s:\n"
-" Userid: \"%s\"\n"
-" From  : %s"
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" From       : %s"
 msgstr ""
 
-#: ../yum/__init__.py:4634
+#: ../yum/__init__.py:5839
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" Failing package is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr ""
+
+#: ../yum/__init__.py:5853
 #, python-format
 msgid "GPG key at %s (0x%s) is already installed"
 msgstr ""
 
-#: ../yum/__init__.py:4671
+#: ../yum/__init__.py:5891
 #, python-format
 msgid "Key import failed (code %d)"
 msgstr ""
 
-#: ../yum/__init__.py:4672 ../yum/__init__.py:4755
+#: ../yum/__init__.py:5893 ../yum/__init__.py:5994
 msgid "Key imported successfully"
 msgstr ""
 
-#: ../yum/__init__.py:4676
+#: ../yum/__init__.py:5897
 msgid "Didn't install any keys"
 msgstr ""
 
-#: ../yum/__init__.py:4680
+#: ../yum/__init__.py:5900
 #, python-format
 msgid ""
 "The GPG keys listed for the \"%s\" repository are already installed but they are not correct for this package.\n"
 "Check that the correct key URLs are configured for this repository."
 msgstr ""
 
-#: ../yum/__init__.py:4689
+#: ../yum/__init__.py:5910
 msgid "Import of key(s) didn't help, wrong key(s)?"
 msgstr ""
 
-#: ../yum/__init__.py:4713
+#: ../yum/__init__.py:5932
+msgid "No"
+msgstr ""
+
+#: ../yum/__init__.py:5934
+msgid "Yes"
+msgstr ""
+
+#: ../yum/__init__.py:5935
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" CA Key: %s\n"
+" Failing repo is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr ""
+
+#: ../yum/__init__.py:5948
 #, python-format
 msgid "GPG key at %s (0x%s) is already imported"
 msgstr ""
 
-#: ../yum/__init__.py:4754
-msgid "Key import failed"
+#: ../yum/__init__.py:5992
+#, python-format
+msgid "Key %s import failed"
 msgstr ""
 
-#: ../yum/__init__.py:4770
+#: ../yum/__init__.py:6009
 #, python-format
 msgid "Didn't install any keys for repo %s"
 msgstr ""
 
-#: ../yum/__init__.py:4774
+#: ../yum/__init__.py:6014
 #, python-format
 msgid ""
 "The GPG keys listed for the \"%s\" repository are already installed but they are not correct.\n"
 "Check that the correct key URLs are configured for this repository."
 msgstr ""
 
-#: ../yum/__init__.py:4924
+#: ../yum/__init__.py:6172
 msgid "Unable to find a suitable mirror."
 msgstr ""
 
-#: ../yum/__init__.py:4926
+#: ../yum/__init__.py:6174
 msgid "Errors were encountered while downloading packages."
 msgstr ""
 
-#: ../yum/__init__.py:4981
+#: ../yum/__init__.py:6229
 #, python-format
 msgid "Please report this error at %s"
 msgstr ""
 
-#: ../yum/__init__.py:4998
+#: ../yum/__init__.py:6246
 msgid "Test Transaction Errors: "
 msgstr ""
 
-#: ../yum/__init__.py:5098
+#: ../yum/__init__.py:6358
 #, python-format
 msgid "Could not set cachedir: %s"
 msgstr ""
 
-#: ../yum/__init__.py:5148 ../yum/__init__.py:5150
+#: ../yum/__init__.py:6420 ../yum/__init__.py:6422
 msgid "Dependencies not solved. Will not save unresolved transaction."
 msgstr ""
 
-#: ../yum/__init__.py:5179 ../yum/__init__.py:5181
+#: ../yum/__init__.py:6455 ../yum/__init__.py:6457
 #, python-format
 msgid "Could not save transaction file %s: %s"
 msgstr ""
 
-#: ../yum/__init__.py:5195
+#: ../yum/__init__.py:6483
 #, python-format
 msgid "Could not access/read saved transaction %s : %s"
 msgstr ""
 
-#: ../yum/__init__.py:5214
-msgid "rpmdb ver mismatched saved transaction version, "
-msgstr ""
-
-#: ../yum/__init__.py:5216
-msgid " ignoring, as requested."
-msgstr ""
-
-#: ../yum/__init__.py:5219 ../yum/__init__.py:5354
-msgid " aborting."
+#: ../yum/__init__.py:6521
+msgid "rpmdb ver mismatched saved transaction version,"
 msgstr ""
 
-#: ../yum/__init__.py:5228
+#: ../yum/__init__.py:6535
 msgid "cannot find tsflags or tsflags not integer."
 msgstr ""
 
-#: ../yum/__init__.py:5267
+#: ../yum/__init__.py:6584
 #, python-format
 msgid "Found txmbr in unknown current state: %s"
 msgstr ""
 
-#: ../yum/__init__.py:5271
+#: ../yum/__init__.py:6588
 #, python-format
 msgid "Could not find txmbr: %s in state %s"
 msgstr ""
 
-#: ../yum/__init__.py:5307 ../yum/__init__.py:5324
+#: ../yum/__init__.py:6625 ../yum/__init__.py:6642
 #, python-format
 msgid "Could not find txmbr: %s from origin: %s"
 msgstr ""
 
-#: ../yum/__init__.py:5349
+#: ../yum/__init__.py:6667
 msgid "Transaction members, relations are missing or ts has been modified,"
 msgstr ""
 
-#: ../yum/__init__.py:5351
+#: ../yum/__init__.py:6670
 msgid " ignoring, as requested. You must redepsolve!"
 msgstr ""
 
+#. Debugging output
+#: ../yum/__init__.py:6738 ../yum/__init__.py:6757
+#, python-format
+msgid "%s has been visited already and cannot be removed."
+msgstr ""
+
+#. Debugging output
+#: ../yum/__init__.py:6741
+#, python-format
+msgid "Examining revdeps of %s"
+msgstr ""
+
+#. Debugging output
+#: ../yum/__init__.py:6762
+#, python-format
+msgid "%s has revdep %s which was user-installed."
+msgstr ""
+
+#: ../yum/__init__.py:6773 ../yum/__init__.py:6779
+#, python-format
+msgid "%s is needed by a package to be installed."
+msgstr ""
+
+#. Debugging output
+#: ../yum/__init__.py:6793
+#, python-format
+msgid "%s has no user-installed revdeps."
+msgstr ""
+
 #. Mostly copied from YumOutput._outKeyValFill()
-#: ../yum/plugins.py:209
+#: ../yum/plugins.py:212
 msgid "Loaded plugins: "
 msgstr ""
 
-#: ../yum/plugins.py:223 ../yum/plugins.py:229
+#: ../yum/plugins.py:226 ../yum/plugins.py:232
 #, python-format
 msgid "No plugin match for: %s"
 msgstr ""
 
-#: ../yum/plugins.py:259
+#: ../yum/plugins.py:262
 #, python-format
 msgid "Not loading \"%s\" plugin, as it is disabled"
 msgstr ""
 
 #. Give full backtrace:
-#: ../yum/plugins.py:271
+#: ../yum/plugins.py:274
 #, python-format
 msgid "Plugin \"%s\" can't be imported"
 msgstr ""
 
-#: ../yum/plugins.py:278
+#: ../yum/plugins.py:281
 #, python-format
 msgid "Plugin \"%s\" doesn't specify required API version"
 msgstr ""
 
-#: ../yum/plugins.py:283
+#: ../yum/plugins.py:286
 #, python-format
 msgid "Plugin \"%s\" requires API %s. Supported API is %s."
 msgstr ""
 
-#: ../yum/plugins.py:316
+#: ../yum/plugins.py:319
 #, python-format
 msgid "Loading \"%s\" plugin"
 msgstr ""
 
-#: ../yum/plugins.py:323
+#: ../yum/plugins.py:326
 #, python-format
 msgid "Two or more plugins with the name \"%s\" exist in the plugin search path"
 msgstr ""
 
-#: ../yum/plugins.py:343
+#: ../yum/plugins.py:346
 #, python-format
 msgid "Configuration file %s not found"
 msgstr ""
 
 #. for
 #. Configuration files for the plugin not found
-#: ../yum/plugins.py:346
+#: ../yum/plugins.py:349
 #, python-format
 msgid "Unable to find configuration file for plugin %s"
 msgstr ""
 
-#: ../yum/plugins.py:508
+#: ../yum/plugins.py:553
 msgid "registration of commands not supported"
 msgstr ""
 
-#: ../yum/rpmsack.py:148
+#: ../yum/rpmsack.py:159
 msgid "has missing requires of"
 msgstr ""
 
-#: ../yum/rpmsack.py:151
+#: ../yum/rpmsack.py:162
 msgid "has installed conflicts"
 msgstr ""
 
-#: ../yum/rpmsack.py:160
+#: ../yum/rpmsack.py:171
 #, python-format
 msgid "%s is a duplicate with %s"
 msgstr ""
 
-#: ../yum/rpmsack.py:168
+#: ../yum/rpmsack.py:179
 #, python-format
 msgid "%s is obsoleted by %s"
 msgstr ""
 
-#: ../yum/rpmsack.py:176
+#: ../yum/rpmsack.py:187
 #, python-format
 msgid "%s provides %s but it cannot be found"
 msgstr ""
@@ -3038,6 +3458,23 @@ msgstr ""
 msgid "Repackaging"
 msgstr ""
 
+#: ../yum/rpmtrans.py:149
+#, python-format
+msgid "Verify: %u/%u: %s"
+msgstr ""
+
+#: ../yum/yumRepo.py:919
+#, python-format
+msgid ""
+"Insufficient space in download directory %s\n"
+"    * free   %s\n"
+"    * needed %s"
+msgstr ""
+
+#: ../yum/yumRepo.py:986
+msgid "Package does not match intended download."
+msgstr ""
+
 #: ../rpmUtils/oldUtils.py:33
 #, python-format
 msgid "Header cannot be opened or does not match %s, %s."
@@ -3066,5 +3503,3 @@ msgstr "Cabeçalho %s Danificado"
 #, python-format
 msgid "Error opening rpm %s - error %s"
 msgstr "Erro ao abrir o RPM %s - erro %s"
-
-
diff --git a/po/pt_BR.po b/po/pt_BR.po
index 493f090..bab71ba 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -2,1511 +2,1645 @@
 # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
 # This file is distributed under the same license as the PACKAGE package.
 # 
-# ufa <ufa@technotroll.org>, 2011
+# Translators:
+# Cleiton cleitonlima <cleitonlima@lavabit.com>, 2011.
+# ufa <ufa@technotroll.org>, 2011.
 msgid ""
 msgstr ""
 "Project-Id-Version: Yum\n"
-"Report-Msgid-Bugs-To: http://yum.baseurl.org/\n"
-"POT-Creation-Date: 2011-06-06 10:21-0400\n"
-"PO-Revision-Date: 2011-06-06 14:21+0000\n"
-"Last-Translator: skvidal <skvidal@fedoraproject.org>\n"
-"Language-Team: Portuguese (Brazilian) (http://www.transifex.net/projects/p/yum/team/pt_BR/)\n"
+"Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
+"POT-Creation-Date: 2013-01-30 09:08-0500\n"
+"PO-Revision-Date: 2013-01-30 14:08+0000\n"
+"Last-Translator: james <james@fedoraproject.org>\n"
+"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/yum/language/pt_BR/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Language: pt_BR\n"
-"Plural-Forms: nplurals=2; plural=(n > 1)\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
 
-#: ../callback.py:48 ../output.py:1037 ../yum/rpmtrans.py:73
+#: ../callback.py:45 ../output.py:1502 ../yum/rpmtrans.py:73
 msgid "Updating"
 msgstr "Atualizando"
 
-#: ../callback.py:49 ../yum/rpmtrans.py:74
+#: ../callback.py:46 ../yum/rpmtrans.py:74
 msgid "Erasing"
 msgstr "Apagando"
 
-#: ../callback.py:50 ../callback.py:51 ../callback.py:53 ../output.py:1036
-#: ../output.py:2218 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
+#: ../callback.py:47 ../callback.py:48 ../callback.py:50 ../output.py:1501
+#: ../output.py:2922 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
 #: ../yum/rpmtrans.py:78
 msgid "Installing"
 msgstr "Instalando"
 
-#: ../callback.py:52 ../callback.py:58 ../output.py:1840 ../yum/rpmtrans.py:77
+#: ../callback.py:49 ../callback.py:55 ../output.py:2379 ../yum/rpmtrans.py:77
 msgid "Obsoleted"
 msgstr "Obsoletos"
 
-#: ../callback.py:54 ../output.py:1169 ../output.py:1686 ../output.py:1847
+#: ../callback.py:51 ../output.py:1670 ../output.py:2222 ../output.py:2386
 msgid "Updated"
 msgstr "Atualizados"
 
-#: ../callback.py:55 ../output.py:1685
+#: ../callback.py:52 ../output.py:2221
 msgid "Erased"
 msgstr "Removidos"
 
-#: ../callback.py:56 ../callback.py:57 ../callback.py:59 ../output.py:1167
-#: ../output.py:1685 ../output.py:1687 ../output.py:2190
+#: ../callback.py:53 ../callback.py:54 ../callback.py:56 ../output.py:1668
+#: ../output.py:2221 ../output.py:2223 ../output.py:2894
 msgid "Installed"
 msgstr "Instalados"
 
-#: ../callback.py:130
+#: ../callback.py:142
 msgid "No header - huh?"
 msgstr "Sem cabeçalho - huh?"
 
-#: ../callback.py:168
+#: ../callback.py:180
 msgid "Repackage"
 msgstr "Reempacotar"
 
-#: ../callback.py:189
+#: ../callback.py:201
 #, python-format
 msgid "Error: invalid output state: %s for %s"
 msgstr "Erro: estado de saída inválido: %s de %s"
 
-#: ../callback.py:212
+#: ../callback.py:224
 #, python-format
 msgid "Erased: %s"
 msgstr "Removidos: %s"
 
-#: ../callback.py:217 ../output.py:1038 ../output.py:2193
+#: ../callback.py:229 ../output.py:1503 ../output.py:2897
 msgid "Removing"
 msgstr "Removendo"
 
-#: ../callback.py:219 ../yum/rpmtrans.py:79
+#: ../callback.py:231 ../yum/rpmtrans.py:79
 msgid "Cleanup"
 msgstr "Limpeza"
 
-#: ../cli.py:115
+#: ../cli.py:122
 #, python-format
 msgid "Command \"%s\" already defined"
 msgstr "Comando \"%s\" já definido"
 
-#: ../cli.py:127
+#: ../cli.py:137
 msgid "Setting up repositories"
 msgstr "Configurando repositórios"
 
-#: ../cli.py:138
+#: ../cli.py:148
 msgid "Reading repository metadata in from local files"
 msgstr "Lendo metadados do repositório a partir dos arquivos locais"
 
-#: ../cli.py:245 ../utils.py:281
+#: ../cli.py:273 ../cli.py:277 ../utils.py:320
 #, python-format
 msgid "Config Error: %s"
 msgstr "Erro de configuração: %s"
 
-#: ../cli.py:248 ../cli.py:1584 ../utils.py:284
+#: ../cli.py:280 ../cli.py:2206 ../utils.py:323
 #, python-format
 msgid "Options Error: %s"
 msgstr "Erro nas opções: %s"
 
-#: ../cli.py:293
+#: ../cli.py:327
 #, python-format
 msgid "  Installed: %s-%s at %s"
 msgstr "  Instalados: %s-%s em %s"
 
-#: ../cli.py:295
+#: ../cli.py:329
 #, python-format
 msgid "  Built    : %s at %s"
 msgstr "  Construídos    : %s em %s"
 
-#: ../cli.py:297
+#: ../cli.py:331
 #, python-format
 msgid "  Committed: %s at %s"
 msgstr "  Enviados: %s em %s"
 
-#: ../cli.py:336
+#: ../cli.py:372
 msgid "You need to give some command"
 msgstr "Você precisa dar algum comando"
 
-#: ../cli.py:350
+#: ../cli.py:386
 #, python-format
 msgid "No such command: %s. Please use %s --help"
 msgstr "Comando não encontrado: %s. Por favor, utilize %s --help"
 
-#: ../cli.py:400
+#: ../cli.py:444
 msgid "Disk Requirements:\n"
 msgstr "Requisitos de disco:\n"
 
-#: ../cli.py:402
+#: ../cli.py:446
 #, python-format
 msgid "  At least %dMB more space needed on the %s filesystem.\n"
-msgstr "  Pelo menos mais %dMB são necessários no sistema de arquivos %s.\n"
+msgid_plural "  At least %dMB more space needed on the %s filesystem.\n"
+msgstr[0] ""
+msgstr[1] "  Pelo menos mais %dMB são necessários no sistema de arquivos %s.\n"
 
 #. TODO: simplify the dependency errors?
 #. Fixup the summary
-#: ../cli.py:407
+#: ../cli.py:451
 msgid ""
 "Error Summary\n"
 "-------------\n"
-msgstr ""
-"Sumário de erros\n"
-"-------------\n"
+msgstr "Sumário de erros\n-------------\n"
+
+#: ../cli.py:472
+msgid "Can't create lock file; exiting"
+msgstr "Não é possível criar o arquivo de bloqueio; saindo"
+
+#: ../cli.py:479
+msgid ""
+"Another app is currently holding the yum lock; exiting as configured by "
+"exit_on_lock"
+msgstr "No momento outro aplicativo está com a posse da trava do yum; saindo conforme configurado pelo exit_on_lock"
 
-#: ../cli.py:450
+#: ../cli.py:532
 msgid "Trying to run the transaction but nothing to do. Exiting."
 msgstr "Tentando executar a transação, mas não há nada a ser feito. Saindo."
 
-#: ../cli.py:497
+#: ../cli.py:577
+msgid "future rpmdb ver mismatched saved transaction version,"
+msgstr ""
+
+#: ../cli.py:579 ../yum/__init__.py:6523
+msgid " ignoring, as requested."
+msgstr "ignorando, conforme solicitado."
+
+#: ../cli.py:582 ../yum/__init__.py:6526 ../yum/__init__.py:6673
+msgid " aborting."
+msgstr "abortando."
+
+#: ../cli.py:588
 msgid "Exiting on user Command"
 msgstr "Saindo pelo comando do usuário"
 
-#: ../cli.py:501
+#: ../cli.py:592
 msgid "Downloading Packages:"
 msgstr "Baixando pacotes:"
 
-#: ../cli.py:506
+#: ../cli.py:597
 msgid "Error Downloading Packages:\n"
 msgstr "Erro ao baixar pacotes:\n"
 
-#: ../cli.py:525 ../yum/__init__.py:4967
+#: ../cli.py:616 ../yum/__init__.py:6215
 msgid "Running Transaction Check"
-msgstr ""
+msgstr "Executando Verificação da Transação"
 
-#: ../cli.py:534 ../yum/__init__.py:4976
+#: ../cli.py:625 ../yum/__init__.py:6224
 msgid "ERROR You need to update rpm to handle:"
 msgstr "ERRO. Você precisa atualizar o rpm para manipular:"
 
-#: ../cli.py:536 ../yum/__init__.py:4979
+#: ../cli.py:627 ../yum/__init__.py:6227
 msgid "ERROR with transaction check vs depsolve:"
 msgstr ""
 
-#: ../cli.py:542
+#: ../cli.py:633
 msgid "RPM needs to be updated"
 msgstr "O RPM precisa ser atualizado"
 
-#: ../cli.py:543
+#: ../cli.py:634
 #, python-format
 msgid "Please report this error in %s"
 msgstr "Por favor, relate esse erro em %s"
 
-#: ../cli.py:549
+#: ../cli.py:640
 msgid "Running Transaction Test"
 msgstr "Executando teste de transação"
 
-#: ../cli.py:561
+#: ../cli.py:652
 msgid "Transaction Check Error:\n"
 msgstr "Erro na verificação da transação:\n"
 
-#: ../cli.py:568
+#: ../cli.py:659
 msgid "Transaction Test Succeeded"
 msgstr "Teste de transação completo"
 
-#: ../cli.py:600
+#: ../cli.py:691
 msgid "Running Transaction"
 msgstr "Executando a transação"
 
-#: ../cli.py:630
+#: ../cli.py:724
 msgid ""
 "Refusing to automatically import keys when running unattended.\n"
 "Use \"-y\" to override."
-msgstr ""
-"Recusa de importação automática das chaves ao executar de forma não assistida.\n"
-"Use \"-y\" para sobrescrever."
+msgstr "Recusa de importação automática das chaves ao executar de forma não assistida.\nUse \"-y\" para sobrescrever."
 
-#: ../cli.py:649 ../cli.py:692
+#: ../cli.py:743 ../cli.py:786
 msgid "  * Maybe you meant: "
 msgstr "  * Talvez você queira dizer: "
 
-#: ../cli.py:675 ../cli.py:683
+#: ../cli.py:769 ../cli.py:777
 #, python-format
 msgid "Package(s) %s%s%s available, but not installed."
 msgstr "Pacotes %s%s%s disponíveis, mas já instalados."
 
-#: ../cli.py:689 ../cli.py:722 ../cli.py:908
+#: ../cli.py:783 ../cli.py:891 ../cli.py:1158
 #, python-format
 msgid "No package %s%s%s available."
 msgstr "Nenhum pacote %s%s%s disponível."
 
-#: ../cli.py:729 ../cli.py:973
-msgid "Package(s) to install"
-msgstr "Pacotes a serem instalados"
+#: ../cli.py:871 ../cli.py:881 ../cli.py:1101 ../cli.py:1111
+#, python-format
+msgid "Bad %s argument %s."
+msgstr ""
+
+#: ../cli.py:900 ../yumcommands.py:3331
+#, python-format
+msgid "%d package to install"
+msgid_plural "%d packages to install"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:732 ../cli.py:733 ../cli.py:914 ../cli.py:948 ../cli.py:974
-#: ../yumcommands.py:190
+#: ../cli.py:903 ../cli.py:904 ../cli.py:1169 ../cli.py:1170 ../cli.py:1224
+#: ../cli.py:1225 ../cli.py:1260 ../yumcommands.py:323 ../yumcommands.py:3419
 msgid "Nothing to do"
 msgstr "Nada a ser feito"
 
-#: ../cli.py:767
+#: ../cli.py:953
 #, python-format
-msgid "%d packages marked for Update"
-msgstr "%d pacotes marcados para atualização"
+msgid "%d package marked for Update"
+msgid_plural "%d packages marked for Update"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:770
+#: ../cli.py:955
 msgid "No Packages marked for Update"
 msgstr "Nenhum pacote marcado para atualização"
 
-#: ../cli.py:866
+#: ../cli.py:1067
 #, python-format
-msgid "%d packages marked for Distribution Synchronization"
-msgstr "%d pacotes marcados para Sincronização da Distribuição"
+msgid "%d package marked for Distribution Synchronization"
+msgid_plural "%d packages marked for Distribution Synchronization"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:869
+#: ../cli.py:1069
 msgid "No Packages marked for Distribution Synchronization"
 msgstr "Nenhum pacote marcado para a Sincronização da Distribuição"
 
-#: ../cli.py:885
+#: ../cli.py:1124
 #, python-format
-msgid "%d packages marked for removal"
-msgstr "%d pacotes marcados para remoção"
+msgid "%d package marked for removal"
+msgid_plural "%d packages marked for removal"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:888
+#: ../cli.py:1126
 msgid "No Packages marked for removal"
 msgstr "Nenhum pacote marcado para remoção"
 
-#: ../cli.py:913
-msgid "Package(s) to downgrade"
-msgstr "Pacote(s) a ser(em) desatualizados(s)"
+#: ../cli.py:1166
+#, python-format
+msgid "%d package to downgrade"
+msgid_plural "%d packages to downgrade"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:938
+#: ../cli.py:1207
 #, python-format
 msgid " (from %s)"
 msgstr " (a partir de %s)"
 
-#: ../cli.py:939
+#: ../cli.py:1208
 #, python-format
 msgid "Installed package %s%s%s%s not available."
 msgstr "O pacote instalado %s%s%s%s não está disponível."
 
-#: ../cli.py:947
-msgid "Package(s) to reinstall"
-msgstr "Pacote(s) a ser(em) reinstalado(s)"
+#: ../cli.py:1221
+#, python-format
+msgid "%d package to reinstall"
+msgid_plural "%d packages to reinstall"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:960
+#: ../cli.py:1246
 msgid "No Packages Provided"
 msgstr "Nenhum pacote fornecido"
 
-#: ../cli.py:1058
+#: ../cli.py:1259
+msgid "Package(s) to install"
+msgstr "Pacotes a serem instalados"
+
+#: ../cli.py:1367
 #, python-format
 msgid "N/S Matched: %s"
 msgstr ""
 
-#: ../cli.py:1075
+#: ../cli.py:1384
 #, python-format
 msgid "  Name and summary matches %sonly%s, use \"search all\" for everything."
-msgstr ""
+msgstr "  Nome e sumário correspondem %sonly%s, use \"search all\" para tudo."
 
-#: ../cli.py:1077
+#: ../cli.py:1386
 #, python-format
 msgid ""
 "  Full name and summary matches %sonly%s, use \"search all\" for everything."
-msgstr ""
+msgstr "  Nome completo e sumário correspondem %sonly%s, use \"search all\" para tudo."
 
-#: ../cli.py:1095
+#: ../cli.py:1404
 #, python-format
 msgid "Matched: %s"
 msgstr "Encontrado: %s"
 
-#: ../cli.py:1102
+#: ../cli.py:1411
 #, python-format
 msgid "  Name and summary matches %smostly%s, use \"search all\" for everything."
-msgstr ""
+msgstr "  Nome e sumário correspondem %smostly%s, use \"search all\" para tudo."
 
-#: ../cli.py:1106
+#: ../cli.py:1415
 #, python-format
 msgid "Warning: No matches found for: %s"
 msgstr "Aviso: nenhum resultado para: %s"
 
-#: ../cli.py:1109
+#: ../cli.py:1418
 msgid "No Matches found"
 msgstr "Nenhum pacote localizado"
 
-#: ../cli.py:1174
+#: ../cli.py:1536
 #, python-format
-msgid "No Package Found for %s"
-msgstr "Nenhum pacote localizado para %s"
+msgid ""
+"Error: No Packages found for:\n"
+"  %s"
+msgstr ""
 
-#: ../cli.py:1184
+#: ../cli.py:1572
 msgid "Cleaning repos: "
 msgstr "Limpando repositórios:"
 
-#: ../cli.py:1189
+#: ../cli.py:1577
 msgid "Cleaning up Everything"
 msgstr "Limpando tudo"
 
-#: ../cli.py:1205
+#: ../cli.py:1593
 msgid "Cleaning up Headers"
 msgstr "Limpando cabeçalhos"
 
-#: ../cli.py:1208
+#: ../cli.py:1596
 msgid "Cleaning up Packages"
 msgstr "Limpando pacotes"
 
-#: ../cli.py:1211
+#: ../cli.py:1599
 msgid "Cleaning up xml metadata"
 msgstr "Limpando metadados em xml"
 
-#: ../cli.py:1214
+#: ../cli.py:1602
 msgid "Cleaning up database cache"
 msgstr "Limpando cache do banco de dados"
 
-#: ../cli.py:1217
+#: ../cli.py:1605
 msgid "Cleaning up expire-cache metadata"
 msgstr "Limpando metadados expirados do cache"
 
-#: ../cli.py:1220
+#: ../cli.py:1608
 msgid "Cleaning up cached rpmdb data"
 msgstr "Limpando dados rpmdb em cache"
 
-#: ../cli.py:1223
+#: ../cli.py:1611
 msgid "Cleaning up plugins"
 msgstr "Limpando plugins"
 
-#: ../cli.py:1247
-#, python-format
-msgid "Warning: No groups match: %s"
+#: ../cli.py:1727
+msgid "Installed Environment Groups:"
 msgstr ""
 
-#: ../cli.py:1264
+#: ../cli.py:1728
+msgid "Available Environment Groups:"
+msgstr ""
+
+#: ../cli.py:1735
 msgid "Installed Groups:"
 msgstr "Grupos instalados:"
 
-#: ../cli.py:1270
+#: ../cli.py:1742
 msgid "Installed Language Groups:"
-msgstr ""
+msgstr "Grupos de Idiomas Instalados:"
 
-#: ../cli.py:1276
+#: ../cli.py:1749
 msgid "Available Groups:"
 msgstr "Grupos disponíveis:"
 
-#: ../cli.py:1282
+#: ../cli.py:1756
 msgid "Available Language Groups:"
+msgstr "Grupos de Idiomas Disponíveis:"
+
+#: ../cli.py:1759
+#, python-format
+msgid "Warning: No Environments/Groups match: %s"
 msgstr ""
 
-#: ../cli.py:1285
+#: ../cli.py:1763
 msgid "Done"
 msgstr "Concluído"
 
-#: ../cli.py:1296 ../cli.py:1314 ../cli.py:1320 ../yum/__init__.py:3313
+#: ../cli.py:1818
+#, python-format
+msgid "Warning: Group/Environment %s does not exist."
+msgstr ""
+
+#: ../cli.py:1859
+#, python-format
+msgid "Warning: Environment %s does not exist."
+msgstr ""
+
+#: ../cli.py:1873 ../cli.py:1879 ../yum/__init__.py:4254
 #, python-format
 msgid "Warning: Group %s does not exist."
 msgstr "Aviso: O grupo %s não existe."
 
-#: ../cli.py:1324
+#: ../cli.py:1883
 msgid "No packages in any requested group available to install or update"
-msgstr ""
-"Nenhum pacote disponível para instalação ou atualização nos grupos "
-"requisitados"
+msgstr "Nenhum pacote disponível para instalação ou atualização nos grupos requisitados"
+
+#: ../cli.py:1885
+#, python-format
+msgid "%d package to Install"
+msgid_plural "%d packages to Install"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:1326
+#: ../cli.py:1919 ../yum/__init__.py:3536 ../yum/__init__.py:3766
+#: ../yum/__init__.py:3824
 #, python-format
-msgid "%d Package(s) to Install"
-msgstr "%d pacote(s) a ser(em) instalado(s)"
+msgid "No Environment named %s exists"
+msgstr ""
 
-#: ../cli.py:1336 ../yum/__init__.py:3325
+#: ../cli.py:1935 ../yum/__init__.py:4282
 #, python-format
 msgid "No group named %s exists"
 msgstr "Nenhum grupo de nome %s existe"
 
-#: ../cli.py:1342
+#: ../cli.py:1945
 msgid "No packages to remove from groups"
 msgstr "Nenhum pacote a ser removido a partir dos grupos"
 
-#: ../cli.py:1344
+#: ../cli.py:1947 ../yumcommands.py:3351
 #, python-format
-msgid "%d Package(s) to remove"
-msgstr "%d pacote(s) a ser(em) removido(s)"
+msgid "%d package to remove"
+msgid_plural "%d packages to remove"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:1386
+#: ../cli.py:1988
 #, python-format
 msgid "Package %s is already installed, skipping"
 msgstr "O pacote %s já está instalado, ignorando"
 
-#: ../cli.py:1397
+#: ../cli.py:1999
 #, python-format
 msgid "Discarding non-comparable pkg %s.%s"
 msgstr "Descartando pacote não comparável %s.%s"
 
 #. we've not got any installed that match n or n+a
-#: ../cli.py:1423
+#: ../cli.py:2025
 #, python-format
 msgid "No other %s installed, adding to list for potential install"
-msgstr ""
-"Nenhum outro %s instalado, adicionado à lista para potencial instalação"
+msgstr "Nenhum outro %s instalado, adicionado à lista para potencial instalação"
 
-#: ../cli.py:1443
+#: ../cli.py:2045
 msgid "Plugin Options"
 msgstr "Opções do plugin"
 
-#: ../cli.py:1451
+#: ../cli.py:2057
 #, python-format
 msgid "Command line error: %s"
 msgstr "Erro na linha de comando: %s"
 
-#: ../cli.py:1467
+#: ../cli.py:2079
 #, python-format
 msgid ""
 "\n"
 "\n"
 "%s: %s option requires an argument"
-msgstr ""
-"\n"
-"\n"
-"%s: a opção %s requer um argumento"
+msgstr "\n\n%s: a opção %s requer um argumento"
 
-#: ../cli.py:1521
+#: ../cli.py:2147
 msgid "--color takes one of: auto, always, never"
 msgstr "--color aceita uma destas opções: auto, always, never"
 
 #. We have a relative installroot ... haha
-#: ../cli.py:1596
+#: ../cli.py:2218
 #, python-format
 msgid "--installroot must be an absolute path: %s"
-msgstr ""
+msgstr "--installroot deve ser um caminho absoluto: %s"
 
-#: ../cli.py:1642
+#: ../cli.py:2272
 msgid "show this help message and exit"
 msgstr "mostrar essa mensagem ajuda e sai"
 
-#: ../cli.py:1646
+#: ../cli.py:2276
 msgid "be tolerant of errors"
 msgstr "ser tolerante com os erros"
 
-#: ../cli.py:1649
+#: ../cli.py:2279
 msgid "run entirely from system cache, don't update cache"
-msgstr ""
-"executar por completo a partir do cache do sistema, não atualiza o cache"
+msgstr "executar por completo a partir do cache do sistema, não atualiza o cache"
 
-#: ../cli.py:1652
+#: ../cli.py:2282
 msgid "config file location"
 msgstr "configurar localização do arquivo"
 
-#: ../cli.py:1655
+#: ../cli.py:2285
 msgid "maximum command wait time"
 msgstr "Tempo máximo de espera do comando"
 
-#: ../cli.py:1657
+#: ../cli.py:2287
 msgid "debugging output level"
 msgstr "nível de depuração na saída"
 
-#: ../cli.py:1661
+#: ../cli.py:2291
 msgid "show duplicates, in repos, in list/search commands"
 msgstr "mostrar duplicados em repos e em comandos de pesquisa/listagem"
 
-#: ../cli.py:1663
+#: ../cli.py:2296
 msgid "error output level"
 msgstr "nível de erro na saída"
 
-#: ../cli.py:1666
+#: ../cli.py:2299
 msgid "debugging output level for rpm"
 msgstr "nível de depuração na saída para o rpm"
 
-#: ../cli.py:1669
+#: ../cli.py:2302
 msgid "quiet operation"
 msgstr "operação discreta"
 
-#: ../cli.py:1671
+#: ../cli.py:2304
 msgid "verbose operation"
 msgstr "operação detalhada"
 
-#: ../cli.py:1673
+#: ../cli.py:2306
 msgid "answer yes for all questions"
 msgstr "responder sim para todas as perguntas"
 
-#: ../cli.py:1675
+#: ../cli.py:2308
+msgid "answer no for all questions"
+msgstr ""
+
+#: ../cli.py:2312
 msgid "show Yum version and exit"
 msgstr "mostrar versão do Yum ao sair"
 
-#: ../cli.py:1676
+#: ../cli.py:2313
 msgid "set install root"
 msgstr "definir raiz de instalação"
 
-#: ../cli.py:1680
+#: ../cli.py:2317
 msgid "enable one or more repositories (wildcards allowed)"
 msgstr "habilitar um ou mais repositórios (curingas são permitidos)"
 
-#: ../cli.py:1684
+#: ../cli.py:2321
 msgid "disable one or more repositories (wildcards allowed)"
 msgstr "desabilitar um ou mais repositórios (curingas são permitidos)"
 
-#: ../cli.py:1687
+#: ../cli.py:2324
 msgid "exclude package(s) by name or glob"
 msgstr "excluir pacote(s) por nome ou glob"
 
-#: ../cli.py:1689
+#: ../cli.py:2326
 msgid "disable exclude from main, for a repo or for everything"
-msgstr ""
-"desabilitar a exclusão a partir do principal, para um repositório ou para "
-"tudo"
+msgstr "desabilitar a exclusão a partir do principal, para um repositório ou para tudo"
 
-#: ../cli.py:1692
+#: ../cli.py:2329
 msgid "enable obsoletes processing during updates"
 msgstr "Habilitar processo de obsolescência durante as atualizações"
 
-#: ../cli.py:1694
+#: ../cli.py:2331
 msgid "disable Yum plugins"
 msgstr "desabilitar plugins do Yum"
 
-#: ../cli.py:1696
+#: ../cli.py:2333
 msgid "disable gpg signature checking"
 msgstr "desabilitar verificação de assinaturas gpg"
 
-#: ../cli.py:1698
+#: ../cli.py:2335
 msgid "disable plugins by name"
 msgstr "desabilitar plugins pelo nome"
 
-#: ../cli.py:1701
+#: ../cli.py:2338
 msgid "enable plugins by name"
 msgstr "habilita plugins pelo nome"
 
-#: ../cli.py:1704
+#: ../cli.py:2341
 msgid "skip packages with depsolving problems"
 msgstr "ignorar pacotes com problemas de solução de dependências"
 
-#: ../cli.py:1706
+#: ../cli.py:2343
 msgid "control whether color is used"
 msgstr "controla o uso da cor"
 
-#: ../cli.py:1708
+#: ../cli.py:2345
 msgid "set value of $releasever in yum config and repo files"
 msgstr "defina o valor de $releasever nos arquivos repo e yum config"
 
-#: ../cli.py:1710
+#: ../cli.py:2347
+msgid "don't update, just download"
+msgstr ""
+
+#: ../cli.py:2349
+msgid "specifies an alternate directory to store packages"
+msgstr ""
+
+#: ../cli.py:2351
 msgid "set arbitrary config and repo options"
 msgstr "Configurando opções arbitrárias de repositório e configurações. "
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Jan"
 msgstr "Jan"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Feb"
 msgstr "Fev"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Mar"
 msgstr "Mar"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Apr"
 msgstr "Abr"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "May"
 msgstr "Mai"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Jun"
 msgstr "Jun"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Jul"
 msgstr "Jul"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Aug"
 msgstr "Ago"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Sep"
 msgstr "Set"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Oct"
 msgstr "Out"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Nov"
 msgstr "Nov"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Dec"
 msgstr "Dez"
 
-#: ../output.py:318
+#: ../output.py:473
 msgid "Trying other mirror."
 msgstr "Tentando outro espelho."
 
-#: ../output.py:581
+#: ../output.py:816
 #, python-format
 msgid "Name        : %s%s%s"
 msgstr "Nome        : %s%s%s"
 
-#: ../output.py:582
+#: ../output.py:817
 #, python-format
 msgid "Arch        : %s"
 msgstr "Arquitetura        : %s"
 
-#: ../output.py:584
+#: ../output.py:819
 #, python-format
 msgid "Epoch       : %s"
 msgstr "Época       : %s"
 
-#: ../output.py:585
+#: ../output.py:820
 #, python-format
 msgid "Version     : %s"
 msgstr "Versão     : %s"
 
-#: ../output.py:586
+#: ../output.py:821
 #, python-format
 msgid "Release     : %s"
 msgstr "Lançamento     : %s"
 
-#: ../output.py:587
+#: ../output.py:822
 #, python-format
 msgid "Size        : %s"
 msgstr "Tamanho        : %s"
 
-#: ../output.py:588 ../output.py:900
+#: ../output.py:823 ../output.py:1329
 #, python-format
 msgid "Repo        : %s"
 msgstr "Repo        : %s"
 
-#: ../output.py:590
+#: ../output.py:825
 #, python-format
 msgid "From repo   : %s"
 msgstr "Do repositório   : %s"
 
-#: ../output.py:592
+#: ../output.py:827
 #, python-format
 msgid "Committer   : %s"
 msgstr "Executor   : %s"
 
-#: ../output.py:593
+#: ../output.py:828
 #, python-format
 msgid "Committime  : %s"
 msgstr "Tempo de execução  : %s"
 
-#: ../output.py:594
+#: ../output.py:829
 #, python-format
 msgid "Buildtime   : %s"
 msgstr "Tempo de compilação   : %s"
 
-#: ../output.py:596
+#: ../output.py:831
 #, python-format
 msgid "Install time: %s"
 msgstr "Tempo de instalação: %s"
 
-#: ../output.py:604
+#: ../output.py:839
 #, python-format
 msgid "Installed by: %s"
 msgstr "Instalado por %s"
 
-#: ../output.py:611
+#: ../output.py:846
 #, python-format
 msgid "Changed by  : %s"
 msgstr "Alterado por : %s"
 
-#: ../output.py:612
+#: ../output.py:847
 msgid "Summary     : "
 msgstr "Sumário     : "
 
-#: ../output.py:614 ../output.py:913
+#: ../output.py:849 ../output.py:1345
 #, python-format
 msgid "URL         : %s"
 msgstr "URL         : %s"
 
-#: ../output.py:615
+#: ../output.py:850
 msgid "License     : "
 msgstr "Licença     : "
 
-#: ../output.py:616 ../output.py:910
+#: ../output.py:851 ../output.py:1342
 msgid "Description : "
 msgstr "Descrição : "
 
-#: ../output.py:684
+#: ../output.py:969
 msgid "y"
 msgstr "s"
 
-#: ../output.py:684
+#: ../output.py:969
 msgid "yes"
 msgstr "sim"
 
-#: ../output.py:685
+#: ../output.py:970
 msgid "n"
 msgstr "n"
 
-#: ../output.py:685
+#: ../output.py:970
 msgid "no"
 msgstr "não"
 
-#: ../output.py:689
+#: ../output.py:974
 msgid "Is this ok [y/N]: "
 msgstr "Correto? [s/N]:"
 
-#: ../output.py:777
+#: ../output.py:1097
 #, python-format
 msgid ""
 "\n"
 "Group: %s"
-msgstr ""
-"\n"
-"Grupo: %s"
+msgstr "\nGrupo: %s"
 
-#: ../output.py:781
+#: ../output.py:1101
 #, python-format
 msgid " Group-Id: %s"
 msgstr " Group-Id: %s"
 
-#: ../output.py:786
+#: ../output.py:1122 ../output.py:1169
 #, python-format
 msgid " Description: %s"
 msgstr " Descrição: %s"
 
-#: ../output.py:788
+#: ../output.py:1124
 #, python-format
 msgid " Language: %s"
-msgstr ""
+msgstr " Linguagem: %s"
 
-#: ../output.py:790
+#: ../output.py:1126
 msgid " Mandatory Packages:"
 msgstr " Pacotes obrigatórios:"
 
-#: ../output.py:791
+#: ../output.py:1127
 msgid " Default Packages:"
 msgstr " Pacotes padrão:"
 
-#: ../output.py:792
+#: ../output.py:1128
 msgid " Optional Packages:"
 msgstr " Pacotes opcionais:"
 
-#: ../output.py:793
+#: ../output.py:1129
 msgid " Conditional Packages:"
 msgstr " Pacotes condicionais:"
 
-#: ../output.py:814
+#: ../output.py:1147
+msgid " Installed Packages:"
+msgstr ""
+
+#: ../output.py:1157
+#, python-format
+msgid ""
+"\n"
+"Environment Group: %s"
+msgstr ""
+
+#: ../output.py:1158
+#, python-format
+msgid " Environment-Id: %s"
+msgstr ""
+
+#: ../output.py:1191
+msgid " Mandatory Groups:"
+msgstr ""
+
+#: ../output.py:1192
+msgid " Optional Groups:"
+msgstr ""
+
+#: ../output.py:1205
+msgid " Installed Groups:"
+msgstr ""
+
+#: ../output.py:1217
 #, python-format
 msgid "package: %s"
 msgstr "pacote: %s"
 
-#: ../output.py:816
+#: ../output.py:1219
 msgid "  No dependencies for this package"
 msgstr "  Nenhuma dependência para este pacote"
 
-#: ../output.py:821
+#: ../output.py:1224
 #, python-format
 msgid "  dependency: %s"
 msgstr "  dependência: %s"
 
-#: ../output.py:823
+#: ../output.py:1226
 msgid "   Unsatisfied dependency"
 msgstr "   Dependência não satisfeita"
 
-#: ../output.py:901
+#: ../output.py:1337
 msgid "Matched from:"
 msgstr "Resultado a partir de:"
 
-#: ../output.py:916
+#: ../output.py:1348
 #, python-format
 msgid "License     : %s"
 msgstr "Licença     : %s"
 
-#: ../output.py:919
+#: ../output.py:1351
 #, python-format
 msgid "Filename    : %s"
 msgstr "Nome de arquivo    : %s"
 
-#: ../output.py:923
+#: ../output.py:1360
+msgid "Provides    : "
+msgstr ""
+
+#: ../output.py:1363
 msgid "Other       : "
 msgstr "Outro       : "
 
-#: ../output.py:966
+#: ../output.py:1426
 msgid "There was an error calculating total download size"
 msgstr "Houve um erro no cálculo do tamanho total do download"
 
-#: ../output.py:971
+#: ../output.py:1431
 #, python-format
 msgid "Total size: %s"
 msgstr "Tamanho total: %s"
 
-#: ../output.py:974
+#: ../output.py:1433
 #, python-format
 msgid "Total download size: %s"
 msgstr "Tamanho total do download: %s"
 
-#: ../output.py:978 ../output.py:998
+#: ../output.py:1436 ../output.py:1459 ../output.py:1463
 #, python-format
 msgid "Installed size: %s"
 msgstr "Tamanho depois de instalado: %s"
 
-#: ../output.py:994
+#: ../output.py:1454
 msgid "There was an error calculating installed size"
 msgstr "Houve um erro ao calcular o tamanho instalado"
 
-#: ../output.py:1039
+#: ../output.py:1504
 msgid "Reinstalling"
 msgstr "Reinstalando"
 
-#: ../output.py:1040
+#: ../output.py:1505
 msgid "Downgrading"
 msgstr "Desatualizando"
 
-#: ../output.py:1041
+#: ../output.py:1506
 msgid "Installing for dependencies"
 msgstr "Instalando para as dependências"
 
-#: ../output.py:1042
+#: ../output.py:1507
 msgid "Updating for dependencies"
 msgstr "Atualizando para as dependências"
 
-#: ../output.py:1043
+#: ../output.py:1508
 msgid "Removing for dependencies"
 msgstr "Removendo para as dependências"
 
-#: ../output.py:1050 ../output.py:1171
+#: ../output.py:1515 ../output.py:1576 ../output.py:1672
 msgid "Skipped (dependency problems)"
 msgstr "Ignorado (problemas de dependências)"
 
-#: ../output.py:1052 ../output.py:1687
+#: ../output.py:1517 ../output.py:1577 ../output.py:2223
 msgid "Not installed"
 msgstr "Não instalado"
 
-#: ../output.py:1053
+#: ../output.py:1518 ../output.py:1578
 msgid "Not available"
-msgstr ""
+msgstr "Não disponível"
 
-#: ../output.py:1075 ../output.py:2024
+#: ../output.py:1540 ../output.py:1588 ../output.py:1604 ../output.py:2581
 msgid "Package"
-msgstr "Pacote"
+msgid_plural "Packages"
+msgstr[0] ""
+msgstr[1] "Pacote"
 
-#: ../output.py:1075
+#: ../output.py:1540
 msgid "Arch"
 msgstr "Arq."
 
-#: ../output.py:1076
+#: ../output.py:1541
 msgid "Version"
 msgstr "Versão"
 
-#: ../output.py:1076
+#: ../output.py:1541
 msgid "Repository"
 msgstr "Repo"
 
-#: ../output.py:1077
+#: ../output.py:1542
 msgid "Size"
 msgstr "Tam."
 
-#: ../output.py:1089
+#: ../output.py:1554
 #, python-format
 msgid "     replacing  %s%s%s.%s %s\n"
 msgstr "     substituindo  %s%s%s.%s %s\n"
 
-#: ../output.py:1098
+#: ../output.py:1563
 #, python-format
 msgid ""
 "\n"
 "Transaction Summary\n"
 "%s\n"
-msgstr ""
-"\n"
-"Resumo da transação\n"
-"%s\n"
+msgstr "\nResumo da transação\n%s\n"
 
-#: ../output.py:1109
-#, python-format
-msgid "Install   %5.5s Package(s)\n"
-msgstr "Instalar  %5.5s Pacote(s)\n"
+#: ../output.py:1568 ../output.py:2376 ../output.py:2377
+msgid "Install"
+msgstr "Instalar"
 
-#: ../output.py:1113
-#, python-format
-msgid "Upgrade   %5.5s Package(s)\n"
-msgstr "Atualizar   %5.5s Pacote(s)\n"
+#: ../output.py:1570
+msgid "Upgrade"
+msgstr ""
 
-#: ../output.py:1117
-#, python-format
-msgid "Remove    %5.5s Package(s)\n"
-msgstr "Remover     %5.5s Pacote(s)\n"
+#: ../output.py:1572
+msgid "Remove"
+msgstr ""
 
-#: ../output.py:1121
-#, python-format
-msgid "Reinstall %5.5s Package(s)\n"
-msgstr "Reinstalar %5.5s Pacote(s)\n"
+#: ../output.py:1574 ../output.py:2382
+msgid "Reinstall"
+msgstr "Reinstalar"
 
-#: ../output.py:1125
-#, python-format
-msgid "Downgrade %5.5s Package(s)\n"
-msgstr "Desatualizar %5.5s Pacote(s)\n"
+#: ../output.py:1575 ../output.py:2383
+msgid "Downgrade"
+msgstr "Desatualizar"
 
-#: ../output.py:1165
+#: ../output.py:1606
+msgid "Dependent package"
+msgid_plural "Dependent packages"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../output.py:1666
 msgid "Removed"
 msgstr "Removido(s)"
 
-#: ../output.py:1166
+#: ../output.py:1667
 msgid "Dependency Removed"
 msgstr "Dependência(s) removida(s)"
 
-#: ../output.py:1168
+#: ../output.py:1669
 msgid "Dependency Installed"
 msgstr "Dependência(s) instalada(s)"
 
-#: ../output.py:1170
+#: ../output.py:1671
 msgid "Dependency Updated"
 msgstr "Dependência(s) atualizada(s)"
 
-#: ../output.py:1172
+#: ../output.py:1673
 msgid "Replaced"
 msgstr "Substituído(s)"
 
-#: ../output.py:1173
+#: ../output.py:1674
 msgid "Failed"
 msgstr "Falhou"
 
 #. Delta between C-c's so we treat as exit
-#: ../output.py:1260
+#: ../output.py:1764
 msgid "two"
 msgstr "dois"
 
 #. For translators: This is output like:
 #. Current download cancelled, interrupt (ctrl-c) again within two seconds
 #. to exit.
-#. Where "interupt (ctrl-c) again" and "two" are highlighted.
-#: ../output.py:1271
+#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
+#: ../output.py:1775
 #, python-format
 msgid ""
 "\n"
 " Current download cancelled, %sinterrupt (ctrl-c) again%s within %s%s%s seconds\n"
 "to exit.\n"
-msgstr ""
-"\n"
-" Download atual cancelado, %sinterrompa com (ctrl-c) novamente%s dentro de %s%s%s segundos\n"
-"para sair.\n"
+msgstr "\n Download atual cancelado, %sinterrompa com (ctrl-c) novamente%s dentro de %s%s%s segundos\npara sair.\n"
 
-#: ../output.py:1282
+#: ../output.py:1786
 msgid "user interrupt"
 msgstr "interrupção do usuário"
 
-#: ../output.py:1300
+#: ../output.py:1812
 msgid "Total"
 msgstr "Total"
 
-#: ../output.py:1322
+#: ../output.py:1834
 msgid "I"
 msgstr "I"
 
-#: ../output.py:1323
+#: ../output.py:1835
 msgid "O"
 msgstr "O"
 
-#: ../output.py:1324
+#: ../output.py:1836
 msgid "E"
 msgstr "E"
 
-#: ../output.py:1325
+#: ../output.py:1837
 msgid "R"
 msgstr "R"
 
-#: ../output.py:1326
+#: ../output.py:1838
 msgid "D"
 msgstr "D"
 
-#: ../output.py:1327
+#: ../output.py:1839
 msgid "U"
 msgstr "U"
 
-#: ../output.py:1341
+#: ../output.py:1853
 msgid "<unset>"
 msgstr "<indefinido>"
 
-#: ../output.py:1342
+#: ../output.py:1854
 msgid "System"
 msgstr "Sistema"
 
-#: ../output.py:1411
+#: ../output.py:1923
 #, python-format
 msgid "Skipping merged transaction %d to %d, as it overlaps"
 msgstr ""
 
-#: ../output.py:1421 ../output.py:1592
+#: ../output.py:1933 ../output.py:2125
 msgid "No transactions"
-msgstr ""
+msgstr "Nenhuma transação"
 
-#: ../output.py:1446 ../output.py:2013
+#: ../output.py:1958 ../output.py:2570 ../output.py:2660
 msgid "Bad transaction IDs, or package(s), given"
 msgstr "IDs de transação ou pacote(s) fornecido(s) inválido(s)"
 
-#: ../output.py:1484
+#: ../output.py:2007
 msgid "Command line"
-msgstr ""
+msgstr "Linha de comando"
 
-#: ../output.py:1486 ../output.py:1908
+#: ../output.py:2009 ../output.py:2458
 msgid "Login user"
 msgstr "Usuário de login"
 
 #. REALLY Needs to use columns!
-#: ../output.py:1487 ../output.py:2022
+#: ../output.py:2010 ../output.py:2579
 msgid "ID"
 msgstr "ID"
 
-#: ../output.py:1489
+#: ../output.py:2012
 msgid "Date and time"
 msgstr "Data e hora"
 
-#: ../output.py:1490 ../output.py:1910 ../output.py:2023
+#: ../output.py:2013 ../output.py:2460 ../output.py:2580
 msgid "Action(s)"
 msgstr "Ação(ões)"
 
-#: ../output.py:1491 ../output.py:1911
+#: ../output.py:2014 ../output.py:2461
 msgid "Altered"
 msgstr "Alterado"
 
-#: ../output.py:1538
+#: ../output.py:2061
 msgid "No transaction ID given"
 msgstr "Nenhum ID de transação fornecido"
 
-#: ../output.py:1564 ../output.py:1972
+#: ../output.py:2087 ../output.py:2526
 msgid "Bad transaction ID given"
 msgstr "O ID de transação fornecido é inválido"
 
-#: ../output.py:1569
+#: ../output.py:2092
 msgid "Not found given transaction ID"
 msgstr "O ID de transação dado não foi localizado"
 
-#: ../output.py:1577
+#: ../output.py:2100
 msgid "Found more than one transaction ID!"
 msgstr "Foi localizado mais de um ID de transação!"
 
-#: ../output.py:1618 ../output.py:1980
+#: ../output.py:2151 ../output.py:2534
 msgid "No transaction ID, or package, given"
 msgstr "Nenhum ID de transação ou pacote fornecido"
 
-#: ../output.py:1686 ../output.py:1845
+#: ../output.py:2222 ../output.py:2384
 msgid "Downgraded"
 msgstr "Desatualizados"
 
-#: ../output.py:1688
+#: ../output.py:2224
 msgid "Older"
 msgstr "Antigo"
 
-#: ../output.py:1688
+#: ../output.py:2224
 msgid "Newer"
 msgstr "Recente"
 
-#: ../output.py:1724 ../output.py:1726
+#: ../output.py:2261 ../output.py:2263 ../output.py:2681
 msgid "Transaction ID :"
 msgstr "ID de transação:"
 
-#: ../output.py:1728
+#: ../output.py:2265 ../output.py:2683
 msgid "Begin time     :"
 msgstr "Horário de início:"
 
-#: ../output.py:1731 ../output.py:1733
+#: ../output.py:2268 ../output.py:2270
 msgid "Begin rpmdb    :"
 msgstr "Início do rpmdb:"
 
-#: ../output.py:1749
+#: ../output.py:2286
 #, python-format
 msgid "(%u seconds)"
-msgstr ""
+msgstr "(%u segundos)"
 
-#: ../output.py:1751
+#: ../output.py:2288
 #, python-format
 msgid "(%u minutes)"
-msgstr ""
+msgstr "(%u minutos)"
 
-#: ../output.py:1753
+#: ../output.py:2290
 #, python-format
 msgid "(%u hours)"
-msgstr ""
+msgstr "(%u horas)"
 
-#: ../output.py:1755
+#: ../output.py:2292
 #, python-format
 msgid "(%u days)"
-msgstr ""
+msgstr "(%u dias)"
 
-#: ../output.py:1756
+#: ../output.py:2293
 msgid "End time       :"
 msgstr "Horário do fim:"
 
-#: ../output.py:1759 ../output.py:1761
+#: ../output.py:2296 ../output.py:2298
 msgid "End rpmdb      :"
 msgstr "Fim do rpmdb:"
 
-#: ../output.py:1764 ../output.py:1766
+#: ../output.py:2301 ../output.py:2303
 msgid "User           :"
 msgstr "Usuário:"
 
-#: ../output.py:1770 ../output.py:1773 ../output.py:1775 ../output.py:1777
-#: ../output.py:1779
+#: ../output.py:2307 ../output.py:2310 ../output.py:2312 ../output.py:2314
+#: ../output.py:2316
 msgid "Return-Code    :"
 msgstr "Código de retorno:"
 
-#: ../output.py:1770 ../output.py:1775
+#: ../output.py:2307 ../output.py:2312
 msgid "Aborted"
 msgstr "Interrompido"
 
-#: ../output.py:1773
+#: ../output.py:2310
 msgid "Failures:"
-msgstr ""
+msgstr "Falhas:"
 
-#: ../output.py:1777
+#: ../output.py:2314
 msgid "Failure:"
 msgstr "Falha:"
 
-#: ../output.py:1779
+#: ../output.py:2316
 msgid "Success"
 msgstr "Sucesso"
 
-#: ../output.py:1784 ../output.py:1786
+#: ../output.py:2321 ../output.py:2323 ../output.py:2712
 msgid "Command Line   :"
 msgstr "Linha de comando  :"
 
-#: ../output.py:1795
+#: ../output.py:2332
 #, python-format
 msgid "Additional non-default information stored: %d"
 msgstr "informações não-padrão adicionais armazenadas: %d"
 
 #. This is _possible_, but not common
-#: ../output.py:1800
+#: ../output.py:2337
 msgid "Transaction performed with:"
 msgstr "Transação realizada com:"
 
-#: ../output.py:1804
+#: ../output.py:2341
 msgid "Packages Altered:"
 msgstr "Pacotes alterados:"
 
-#: ../output.py:1808
+#: ../output.py:2345
 msgid "Packages Skipped:"
 msgstr "Pacotes ignorados: "
 
-#: ../output.py:1814
+#: ../output.py:2353
 msgid "Rpmdb Problems:"
 msgstr "Problemas com Rpmdb:"
 
-#: ../output.py:1825
+#: ../output.py:2364
 msgid "Scriptlet output:"
 msgstr "Saída do scriptlet:"
 
-#: ../output.py:1831
+#: ../output.py:2370
 msgid "Errors:"
 msgstr "Erros:"
 
-#: ../output.py:1837 ../output.py:1838
-msgid "Install"
-msgstr "Instalar"
-
-#: ../output.py:1839
+#: ../output.py:2378
 msgid "Dep-Install"
 msgstr "Dep-Install"
 
-#: ../output.py:1841
+#: ../output.py:2380
 msgid "Obsoleting"
 msgstr "Obsoletos"
 
-#: ../output.py:1842
+#: ../output.py:2381
 msgid "Erase"
 msgstr "Apagar"
 
-#: ../output.py:1843
-msgid "Reinstall"
-msgstr "Reinstalar"
-
-#: ../output.py:1844
-msgid "Downgrade"
-msgstr "Desatualizar"
-
-#: ../output.py:1846
+#: ../output.py:2385
 msgid "Update"
 msgstr "Atualizar"
 
-#: ../output.py:1909
+#: ../output.py:2459
 msgid "Time"
 msgstr "Hora"
 
-#: ../output.py:1935
+#: ../output.py:2485
 msgid "Last day"
 msgstr "Ontem"
 
-#: ../output.py:1936
+#: ../output.py:2486
 msgid "Last week"
 msgstr "Uma semana atrás"
 
-#: ../output.py:1937
+#: ../output.py:2487
 msgid "Last 2 weeks"
 msgstr "2 semanas atrás"
 
 #. US default :p
-#: ../output.py:1938
+#: ../output.py:2488
 msgid "Last 3 months"
 msgstr "3 meses atrás"
 
-#: ../output.py:1939
+#: ../output.py:2489
 msgid "Last 6 months"
 msgstr "6 meses atrás"
 
-#: ../output.py:1940
+#: ../output.py:2490
 msgid "Last year"
 msgstr "Ano passado"
 
-#: ../output.py:1941
+#: ../output.py:2491
 msgid "Over a year ago"
 msgstr "Há mais de um ano"
 
-#: ../output.py:1984
+#: ../output.py:2538
 #, python-format
 msgid "No Transaction %s found"
 msgstr "Nenhuma transação %s achada"
 
-#: ../output.py:1990
+#: ../output.py:2544
 msgid "Transaction ID:"
 msgstr "ID da transação:"
 
-#: ../output.py:1991
+#: ../output.py:2545
 msgid "Available additional history information:"
 msgstr "Informação adicional do histórico disponível:"
 
-#: ../output.py:2003
+#: ../output.py:2558
 #, python-format
 msgid "%s: No additional data found by this name"
 msgstr "%s: Não há dados adicionais encontrados por este nome"
 
-#: ../output.py:2106
+#: ../output.py:2684
+msgid "Package        :"
+msgstr ""
+
+#: ../output.py:2685
+msgid "State          :"
+msgstr ""
+
+#: ../output.py:2688
+msgid "Size           :"
+msgstr ""
+
+#: ../output.py:2690
+msgid "Build host     :"
+msgstr ""
+
+#: ../output.py:2693
+msgid "Build time     :"
+msgstr ""
+
+#: ../output.py:2695
+msgid "Packager       :"
+msgstr ""
+
+#: ../output.py:2697
+msgid "Vendor         :"
+msgstr ""
+
+#: ../output.py:2699
+msgid "License        :"
+msgstr ""
+
+#: ../output.py:2701
+msgid "URL            :"
+msgstr ""
+
+#: ../output.py:2703
+msgid "Source RPM     :"
+msgstr ""
+
+#: ../output.py:2706
+msgid "Commit Time    :"
+msgstr ""
+
+#: ../output.py:2708
+msgid "Committer      :"
+msgstr ""
+
+#: ../output.py:2710
+msgid "Reason         :"
+msgstr ""
+
+#: ../output.py:2714
+msgid "From repo      :"
+msgstr ""
+
+#: ../output.py:2718
+msgid "Installed by   :"
+msgstr ""
+
+#: ../output.py:2722
+msgid "Changed by     :"
+msgstr ""
+
+#: ../output.py:2767
 msgid "installed"
 msgstr "instalado"
 
-#: ../output.py:2107
+#: ../output.py:2768
 msgid "an update"
-msgstr ""
+msgstr "uma atualização"
 
-#: ../output.py:2108
+#: ../output.py:2769
 msgid "erased"
 msgstr "removido"
 
-#: ../output.py:2109
+#: ../output.py:2770
 msgid "reinstalled"
 msgstr "Reinstalado"
 
-#: ../output.py:2110
+#: ../output.py:2771
 msgid "a downgrade"
-msgstr ""
+msgstr "um downgrade"
 
-#: ../output.py:2111
+#: ../output.py:2772
 msgid "obsoleting"
-msgstr ""
+msgstr "obsoleto"
 
-#: ../output.py:2112
+#: ../output.py:2773
 msgid "updated"
 msgstr "atualizado"
 
-#: ../output.py:2113
+#: ../output.py:2774
 msgid "obsoleted"
 msgstr "obsoleto"
 
-#: ../output.py:2117
+#: ../output.py:2778
 #, python-format
 msgid "---> Package %s.%s %s:%s-%s will be %s"
-msgstr ""
+msgstr "---> O pacote %s.%s %s:%s-%s será %s"
 
-#: ../output.py:2124
+#: ../output.py:2789
 msgid "--> Running transaction check"
 msgstr "--> Executando verificação da transação"
 
-#: ../output.py:2129
+#: ../output.py:2795
 msgid "--> Restarting Dependency Resolution with new changes."
 msgstr "--> Reiniciando resolução de dependências com as novas alterações."
 
-#: ../output.py:2134
+#: ../output.py:2801
 msgid "--> Finished Dependency Resolution"
 msgstr "--> Resolução de dependências finalizada"
 
-#: ../output.py:2139 ../output.py:2144
+#: ../output.py:2814 ../output.py:2827
 #, python-format
 msgid "--> Processing Dependency: %s for package: %s"
 msgstr "--> Processando dependência: %s para o pacote: %s"
 
-#: ../output.py:2149
+#: ../output.py:2841
 #, python-format
-msgid "---> Keeping package: %s"
-msgstr "---> Manter os  pacotes: %s"
+msgid "---> Keeping package: %s due to %s"
+msgstr ""
 
-#: ../output.py:2152
+#: ../output.py:2850
 #, python-format
 msgid "--> Unresolved Dependency: %s"
 msgstr "--> Dependência não resolvida: %s"
 
-#: ../output.py:2163
+#: ../output.py:2867
 #, python-format
 msgid "Package: %s"
 msgstr "Pacote: %s"
 
-#: ../output.py:2165
+#: ../output.py:2869
 #, python-format
 msgid ""
 "\n"
 "    Requires: %s"
-msgstr ""
-"\n"
-"    Requer: %s"
+msgstr "\n    Requer: %s"
 
-#: ../output.py:2174
+#: ../output.py:2878
 #, python-format
 msgid ""
 "\n"
 "    %s: %s (%s)"
-msgstr ""
-"\n"
-"    %s: %s (%s)"
+msgstr "\n    %s: %s (%s)"
 
-#: ../output.py:2179
+#: ../output.py:2883
 #, python-format
 msgid ""
 "\n"
 "        %s"
-msgstr ""
-"\n"
-"        %s"
+msgstr "\n        %s"
 
-#: ../output.py:2181
+#: ../output.py:2885
 msgid ""
 "\n"
 "        Not found"
-msgstr ""
-"\n"
-"       Não encontrado"
+msgstr "\n       Não encontrado"
 
 #. These should be the only three things we care about:
-#: ../output.py:2196
+#: ../output.py:2900
 msgid "Updated By"
 msgstr "Atualizado por"
 
-#: ../output.py:2197
+#: ../output.py:2901
 msgid "Downgraded By"
 msgstr "Desatualizado por"
 
-#: ../output.py:2198
+#: ../output.py:2902
 msgid "Obsoleted By"
 msgstr "Obsoletado por"
 
-#: ../output.py:2216
+#: ../output.py:2920
 msgid "Available"
 msgstr "Disponível"
 
-#: ../output.py:2243 ../output.py:2248
+#: ../output.py:2955 ../output.py:2968
 #, python-format
 msgid "--> Processing Conflict: %s conflicts %s"
 msgstr "--> Processando conflito: %s conflita com %s"
 
-#: ../output.py:2252
+#: ../output.py:2974
 msgid "--> Populating transaction set with selected packages. Please wait."
-msgstr ""
-"--> Construindo conjunto de transações com os pacotes selecionados. Por "
-"favor aguarde."
+msgstr "--> Construindo conjunto de transações com os pacotes selecionados. Por favor aguarde."
 
-#: ../output.py:2256
+#: ../output.py:2983
 #, python-format
 msgid "---> Downloading header for %s to pack into transaction set."
 msgstr "--> Baixando cabeçalho do %s para inclusão no conjunto de transações."
 
-#: ../utils.py:99
+#. self.event(txmbr.name, count, len(base.tsInfo), count, )
+#. (te_current*100L)/te_total
+#: ../output.py:3248
+msgid "Verifying"
+msgstr ""
+
+#: ../utils.py:123
 msgid "Running"
 msgstr "Executando"
 
-#: ../utils.py:100
+#: ../utils.py:124
 msgid "Sleeping"
 msgstr "Dormindo"
 
-#: ../utils.py:101
+#: ../utils.py:125
 msgid "Uninterruptible"
 msgstr "Ininterrompível"
 
-#: ../utils.py:102
+#: ../utils.py:126
 msgid "Zombie"
 msgstr "Zumbi"
 
-#: ../utils.py:103
+#: ../utils.py:127
 msgid "Traced/Stopped"
 msgstr "Rastreado/Parado"
 
-#: ../utils.py:104 ../yumcommands.py:994
+#: ../utils.py:128 ../yumcommands.py:2193
 msgid "Unknown"
 msgstr "Desconhecido"
 
-#: ../utils.py:115
+#: ../utils.py:153
 msgid "  The other application is: PackageKit"
 msgstr "  O outro aplicativo é: PackageKit"
 
-#: ../utils.py:117
+#: ../utils.py:155
 #, python-format
 msgid "  The other application is: %s"
 msgstr "  O outro aplicativo é: %s"
 
-#: ../utils.py:120
+#: ../utils.py:158
 #, python-format
 msgid "    Memory : %5s RSS (%5sB VSZ)"
 msgstr "    Memória: %5s RSS (%5sB VSZ)"
 
-#: ../utils.py:125
+#: ../utils.py:163
 #, python-format
 msgid "    Started: %s - %s ago"
 msgstr "    Iniciado: %s - %s atrás"
 
-#: ../utils.py:127
+#: ../utils.py:165
 #, python-format
 msgid "    State  : %s, pid: %d"
 msgstr "    Estado: %s, pid: %d"
 
-#: ../utils.py:170 ../yummain.py:43
+#: ../utils.py:194 ../yummain.py:43
 msgid ""
 "\n"
 "\n"
 "Exiting on user cancel"
-msgstr ""
-"\n"
-"\n"
-"Saindo pelo cancelamento do usuário"
+msgstr "\n\nSaindo pelo cancelamento do usuário"
 
-#: ../utils.py:176 ../yummain.py:49
+#: ../utils.py:206 ../yummain.py:49
 msgid ""
 "\n"
 "\n"
 "Exiting on Broken Pipe"
-msgstr ""
-"\n"
-"\n"
-"Saindo por um pipe defeituoso"
+msgstr "\n\nSaindo por um pipe defeituoso"
 
-#: ../utils.py:178 ../yummain.py:51
+#: ../utils.py:208 ../yummain.py:51
 #, python-format
 msgid ""
 "\n"
 "\n"
 "%s"
-msgstr ""
-"\n"
-"\n"
-"%s"
+msgstr "\n\n%s"
 
-#: ../utils.py:228 ../yummain.py:123
-msgid ""
-"Another app is currently holding the yum lock; exiting as configured by "
-"exit_on_lock"
-msgstr ""
-"No momento outro aplicativo está com a posse da trava do yum; saindo "
-"conforme configurado pelo exit_on_lock"
-
-#: ../utils.py:287
+#: ../utils.py:326
 #, python-format
 msgid "PluginExit Error: %s"
 msgstr "Erro PluginExit: %s"
 
-#: ../utils.py:290
+#: ../utils.py:329
 #, python-format
 msgid "Yum Error: %s"
 msgstr "Error do Yum: %s"
 
-#: ../utils.py:342 ../yummain.py:150 ../yummain.py:189
+#: ../utils.py:387 ../yummain.py:147 ../yummain.py:186
 #, python-format
 msgid "Error: %s"
 msgstr "Error: %s"
 
-#: ../utils.py:346 ../yummain.py:194
+#: ../utils.py:391 ../yummain.py:191
 msgid " You could try using --skip-broken to work around the problem"
-msgstr ""
-" Você pode tentar usar o parâmetro --skip-broken para contornar o problema"
+msgstr " Você pode tentar usar o parâmetro --skip-broken para contornar o problema"
 
-#: ../utils.py:348 ../yummain.py:87
+#: ../utils.py:393 ../yummain.py:87
 msgid " You could try running: rpm -Va --nofiles --nodigest"
 msgstr " Você pode tentar executar: rpm -Va --nofiles --nodigest"
 
-#: ../utils.py:355 ../yummain.py:160 ../yummain.py:202
+#: ../utils.py:400 ../yummain.py:157 ../yummain.py:199
 #, python-format
 msgid "Unknown Error(s): Exit Code: %d:"
 msgstr "Erro(s) desconhecido(s): código de saída: %d:"
 
-#: ../utils.py:361 ../yummain.py:208
+#: ../utils.py:406 ../yummain.py:205
 msgid ""
 "\n"
 "Dependencies Resolved"
-msgstr ""
-"\n"
-"Dependências resolvidas"
+msgstr "\nDependências resolvidas"
 
-#: ../utils.py:376 ../yummain.py:234
+#: ../utils.py:422 ../yummain.py:237
 msgid "Complete!"
 msgstr "Concluído!"
 
@@ -1518,7 +1652,7 @@ msgstr ""
 msgid "You need to be root to perform this command."
 msgstr "Você precisa ser root para executar este comando."
 
-#: ../yumcommands.py:59
+#: ../yumcommands.py:67
 msgid ""
 "\n"
 "You have enabled checking of packages via GPG keys. This is a good thing. \n"
@@ -1533,585 +1667,650 @@ msgid ""
 "will install it for you.\n"
 "\n"
 "For more information contact your distribution or package provider.\n"
-msgstr ""
-"\n"
-"Você habilitou a verificação de pacotes através de chaves GPG. Isso é uma boa coisa.\n"
-"Entretanto, você não tem nenhuma chave GPG pública instalada. Você precisa baixar\n"
-"e instalar essas chaves para os pacotes que deseja instalar.\n"
-"Você pode fazer isso executando o comando:\n"
-"    rpm --import public.gpg.key\n"
-"\n"
-"\n"
-"Alternativamente, você pode especificar, na opção \"gpgkey\" da seção\n"
-" do repositório, a url da chave que você gostaria de usar\n"
-"para ele e o yum irá instalá-la para você.\n"
-"\n"
-"Para mais informações contate o fornecedor da sua distribuição ou do pacote.\n"
+msgstr "\nVocê habilitou a verificação de pacotes através de chaves GPG. Isso é uma boa coisa.\nEntretanto, você não tem nenhuma chave GPG pública instalada. Você precisa baixar\ne instalar essas chaves para os pacotes que deseja instalar.\nVocê pode fazer isso executando o comando:\n    rpm --import public.gpg.key\n\n\nAlternativamente, você pode especificar, na opção \"gpgkey\" da seção\n do repositório, a url da chave que você gostaria de usar\npara ele e o yum irá instalá-la para você.\n\nPara mais informações contate o fornecedor da sua distribuição ou do pacote.\n"
 
-#: ../yumcommands.py:74
+#: ../yumcommands.py:82
 #, python-format
 msgid "Problem repository: %s"
-msgstr ""
+msgstr "Repositório problema: %s"
 
-#: ../yumcommands.py:80
+#: ../yumcommands.py:96
 #, python-format
 msgid "Error: Need to pass a list of pkgs to %s"
 msgstr "Erro: É necessário passar uma lista de pacotes para %s"
 
-#: ../yumcommands.py:86
+#: ../yumcommands.py:114
+#, python-format
+msgid "Error: Need at least two packages to %s"
+msgstr ""
+
+#: ../yumcommands.py:129
+#, python-format
+msgid "Error: Need to pass a repoid. and command to %s"
+msgstr ""
+
+#: ../yumcommands.py:136 ../yumcommands.py:142
+#, python-format
+msgid "Error: Need to pass a single valid repoid. to %s"
+msgstr ""
+
+#: ../yumcommands.py:147
+#, python-format
+msgid "Error: Repo %s is not enabled"
+msgstr ""
+
+#: ../yumcommands.py:164
 msgid "Error: Need an item to match"
 msgstr "Erro: É necessário um item para corresponder"
 
-#: ../yumcommands.py:92
+#: ../yumcommands.py:178
 msgid "Error: Need a group or list of groups"
 msgstr "Erro: É necessário um grupo ou uma lista de grupos"
 
-#: ../yumcommands.py:101
+#: ../yumcommands.py:195
 #, python-format
 msgid "Error: clean requires an option: %s"
 msgstr "Erro: a limpeza requer uma opção: %s"
 
-#: ../yumcommands.py:106
+#: ../yumcommands.py:201
 #, python-format
 msgid "Error: invalid clean argument: %r"
 msgstr "Erro: argumento de limpeza inválido: %r"
 
-#: ../yumcommands.py:119
+#: ../yumcommands.py:216
 msgid "No argument to shell"
 msgstr "Nenhum argumento para o shell"
 
-#: ../yumcommands.py:121
+#: ../yumcommands.py:218
 #, python-format
 msgid "Filename passed to shell: %s"
 msgstr "Nome de arquivo passado para o shell: %s"
 
-#: ../yumcommands.py:125
+#: ../yumcommands.py:222
 #, python-format
 msgid "File %s given as argument to shell does not exist."
 msgstr "O arquivo %s, passado como um argumento para o shell, não existe."
 
-#: ../yumcommands.py:131
+#: ../yumcommands.py:228
 msgid "Error: more than one file given as argument to shell."
 msgstr "Erro: mais de um arquivo passado como argumento para o shell."
 
-#: ../yumcommands.py:148
+#: ../yumcommands.py:247
 msgid ""
 "There are no enabled repos.\n"
 " Run \"yum repolist all\" to see the repos you have.\n"
 " You can enable repos with yum-config-manager --enable <repo>"
-msgstr ""
-"Não há repositórios habilitados.\n"
-"Execute \"yum repolist all\" para ver os repositórios que você tem.\n"
-"Você pode habilitar repositórios com yum-config-manager --enable <repositório>"
+msgstr "Não há repositórios habilitados.\nExecute \"yum repolist all\" para ver os repositórios que você tem.\nVocê pode habilitar repositórios com yum-config-manager --enable <repositório>"
 
-#: ../yumcommands.py:200
+#: ../yumcommands.py:383
 msgid "PACKAGE..."
 msgstr "PACOTE..."
 
-#: ../yumcommands.py:203
+#: ../yumcommands.py:390
 msgid "Install a package or packages on your system"
 msgstr "Instala um ou mais pacotes no seu sistema"
 
-#: ../yumcommands.py:212
+#: ../yumcommands.py:421
 msgid "Setting up Install Process"
 msgstr "Configurando o processo de instalação"
 
-#: ../yumcommands.py:223 ../yumcommands.py:245
+#: ../yumcommands.py:447 ../yumcommands.py:507
 msgid "[PACKAGE...]"
 msgstr "[PACOTE...]"
 
-#: ../yumcommands.py:226
+#: ../yumcommands.py:454
 msgid "Update a package or packages on your system"
 msgstr "Atualiza um ou mais pacotes do seu sistema"
 
-#: ../yumcommands.py:234
+#: ../yumcommands.py:483
 msgid "Setting up Update Process"
 msgstr "Configurando o processo de atualização"
 
-#: ../yumcommands.py:248
+#: ../yumcommands.py:514
 msgid "Synchronize installed packages to the latest available versions"
 msgstr "Sincronizar os pacotes instalados para as últimas versões disponíveis"
 
-#: ../yumcommands.py:256
+#: ../yumcommands.py:543
 msgid "Setting up Distribution Synchronization Process"
 msgstr "Configurando o processo de Sincronização de Distribuição"
 
-#: ../yumcommands.py:299
+#: ../yumcommands.py:603
 msgid "Display details about a package or group of packages"
 msgstr "Mostra detalhes sobre um pacote ou grupos de pacotes"
 
-#: ../yumcommands.py:348
+#: ../yumcommands.py:672
 msgid "Installed Packages"
 msgstr "Pacotes instalados"
 
-#: ../yumcommands.py:356
+#: ../yumcommands.py:682
 msgid "Available Packages"
 msgstr "Pacotes disponíveis"
 
-#: ../yumcommands.py:360
+#: ../yumcommands.py:687
 msgid "Extra Packages"
 msgstr "Pacotes extras"
 
-#: ../yumcommands.py:364
+#: ../yumcommands.py:691
 msgid "Updated Packages"
 msgstr "Pacotes atualizados"
 
 #. This only happens in verbose mode
-#: ../yumcommands.py:372 ../yumcommands.py:379 ../yumcommands.py:667
+#: ../yumcommands.py:699 ../yumcommands.py:706 ../yumcommands.py:1539
 msgid "Obsoleting Packages"
 msgstr "Tornando pacotes obsoletos"
 
-#: ../yumcommands.py:381
+#: ../yumcommands.py:708
 msgid "Recently Added Packages"
 msgstr "Pacotes adicionados recentemente"
 
-#: ../yumcommands.py:388
+#: ../yumcommands.py:715
 msgid "No matching Packages to list"
 msgstr "Nenhum pacote correspondente a ser listado"
 
-#: ../yumcommands.py:402
+#: ../yumcommands.py:766
 msgid "List a package or groups of packages"
 msgstr "Lista um pacote ou grupos de pacotes"
 
-#: ../yumcommands.py:414
+#: ../yumcommands.py:797
 msgid "Remove a package or packages from your system"
 msgstr "Remove um ou mais pacotes do seu sistema"
 
-#: ../yumcommands.py:421
+#: ../yumcommands.py:845
 msgid "Setting up Remove Process"
 msgstr "Configurando o processo de remoção"
 
-#: ../yumcommands.py:435
+#: ../yumcommands.py:906
+msgid "Display, or use, the groups information"
+msgstr ""
+
+#: ../yumcommands.py:909
 msgid "Setting up Group Process"
 msgstr "Configurando o processo de grupos"
 
-#: ../yumcommands.py:441
+#: ../yumcommands.py:915
 msgid "No Groups on which to run command"
 msgstr "Não há grupos nos quais executar o comando"
 
-#: ../yumcommands.py:454
-msgid "List available package groups"
-msgstr "Lista os grupos de pacotes disponíveis"
-
-#: ../yumcommands.py:474
-msgid "Install the packages in a group on your system"
-msgstr "Instala pacotes em um grupo ou no seu sistema"
+#: ../yumcommands.py:985
+#, python-format
+msgid "Invalid groups sub-command, use: %s."
+msgstr ""
 
-#: ../yumcommands.py:497
-msgid "Remove the packages in a group from your system"
-msgstr "Remove pacotes de um grupo ou do seu sistema"
+#: ../yumcommands.py:992
+msgid "There is no installed groups file."
+msgstr ""
 
-#: ../yumcommands.py:525
-msgid "Display details about a package group"
-msgstr "Mostra detalhes sobre um grupo de pacotes"
+#: ../yumcommands.py:994
+msgid "You don't have access to the groups DB."
+msgstr ""
 
-#: ../yumcommands.py:550
+#: ../yumcommands.py:1256
 msgid "Generate the metadata cache"
 msgstr "Gera o cache de metadados"
 
-#: ../yumcommands.py:556
+#: ../yumcommands.py:1282
 msgid "Making cache files for all metadata files."
 msgstr "Realizando cache de arquivos para todos os metadados."
 
-#: ../yumcommands.py:557
+#: ../yumcommands.py:1283
 msgid "This may take a while depending on the speed of this computer"
 msgstr "Isso pode demorar um pouco, dependendo da velocidade deste computador"
 
-#: ../yumcommands.py:578
+#: ../yumcommands.py:1312
 msgid "Metadata Cache Created"
 msgstr "Cache de metadados criado"
 
-#: ../yumcommands.py:592
+#: ../yumcommands.py:1350
 msgid "Remove cached data"
 msgstr "Remove os dados do cache"
 
-#: ../yumcommands.py:613
+#: ../yumcommands.py:1417
 msgid "Find what package provides the given value"
 msgstr "Localiza qual pacote fornece o valor dado"
 
-#: ../yumcommands.py:633
+#: ../yumcommands.py:1485
 msgid "Check for available package updates"
 msgstr "Verifica por atualizações de pacotes disponíveis"
 
-#: ../yumcommands.py:687
+#: ../yumcommands.py:1587
 msgid "Search package details for the given string"
 msgstr "Pesquisa detalhes do pacote para a string fornecida"
 
-#: ../yumcommands.py:693
+#: ../yumcommands.py:1613
 msgid "Searching Packages: "
 msgstr "Pesquisando por pacotes:"
 
-#: ../yumcommands.py:710
+#: ../yumcommands.py:1666
 msgid "Update packages taking obsoletes into account"
 msgstr "Atualiza pacotes levando em conta os obsoletos"
 
-#: ../yumcommands.py:719
+#: ../yumcommands.py:1696
 msgid "Setting up Upgrade Process"
 msgstr "Configurando o processo de atualização"
 
-#: ../yumcommands.py:737
+#: ../yumcommands.py:1731
 msgid "Install a local RPM"
 msgstr "Instala um RPM local"
 
-#: ../yumcommands.py:745
+#: ../yumcommands.py:1761
 msgid "Setting up Local Package Process"
 msgstr "Configurando o processo de pacote local"
 
-#: ../yumcommands.py:764
-msgid "Determine which package provides the given dependency"
-msgstr "Determina qual pacote fornece a dependência dada"
-
-#: ../yumcommands.py:767
+#: ../yumcommands.py:1825
 msgid "Searching Packages for Dependency:"
 msgstr "Pesquisando pacotes por dependência:"
 
-#: ../yumcommands.py:781
+#: ../yumcommands.py:1867
 msgid "Run an interactive yum shell"
 msgstr "Executa um shell interativo do yum"
 
-#: ../yumcommands.py:787
+#: ../yumcommands.py:1893
 msgid "Setting up Yum Shell"
 msgstr "Configurando o shell do Yum"
 
-#: ../yumcommands.py:805
+#: ../yumcommands.py:1936
 msgid "List a package's dependencies"
 msgstr "Lista as dependências de um pacote"
 
-#: ../yumcommands.py:811
+#: ../yumcommands.py:1963
 msgid "Finding dependencies: "
 msgstr "Localizando dependências:"
 
-#: ../yumcommands.py:827
+#: ../yumcommands.py:2005
 msgid "Display the configured software repositories"
 msgstr "Exibe os repositórios de software configurados"
 
-#: ../yumcommands.py:893 ../yumcommands.py:894
+#: ../yumcommands.py:2094 ../yumcommands.py:2095
 msgid "enabled"
 msgstr "habilitado"
 
-#: ../yumcommands.py:920 ../yumcommands.py:921
+#: ../yumcommands.py:2121 ../yumcommands.py:2122
 msgid "disabled"
 msgstr "desabilitado"
 
-#: ../yumcommands.py:937
+#: ../yumcommands.py:2137
 msgid "Repo-id      : "
 msgstr "Repo-id      : "
 
-#: ../yumcommands.py:938
+#: ../yumcommands.py:2138
 msgid "Repo-name    : "
 msgstr "Repo-name    : "
 
-#: ../yumcommands.py:941
+#: ../yumcommands.py:2141
 msgid "Repo-status  : "
 msgstr "Repo-status  : "
 
-#: ../yumcommands.py:944
+#: ../yumcommands.py:2144
 msgid "Repo-revision: "
 msgstr "Repo-revision: "
 
-#: ../yumcommands.py:948
+#: ../yumcommands.py:2148
 msgid "Repo-tags    : "
 msgstr "Repo-tags    : "
 
-#: ../yumcommands.py:954
+#: ../yumcommands.py:2154
 msgid "Repo-distro-tags: "
 msgstr "Repo-distro-tags: "
 
-#: ../yumcommands.py:959
+#: ../yumcommands.py:2159
 msgid "Repo-updated : "
 msgstr "Repo-updated : "
 
-#: ../yumcommands.py:961
+#: ../yumcommands.py:2161
 msgid "Repo-pkgs    : "
 msgstr "Repo-pkgs    : "
 
-#: ../yumcommands.py:962
+#: ../yumcommands.py:2162
 msgid "Repo-size    : "
 msgstr "Repo-size    : "
 
-#: ../yumcommands.py:969 ../yumcommands.py:990
+#: ../yumcommands.py:2169 ../yumcommands.py:2190
 msgid "Repo-baseurl : "
 msgstr "Repo-baseurl : "
 
-#: ../yumcommands.py:977
+#: ../yumcommands.py:2177
 msgid "Repo-metalink: "
 msgstr "Repo-metalink: "
 
-#: ../yumcommands.py:981
+#: ../yumcommands.py:2181
 msgid "  Updated    : "
 msgstr "  Atualizados :"
 
-#: ../yumcommands.py:984
+#: ../yumcommands.py:2184
 msgid "Repo-mirrors : "
 msgstr "Repo-mirrors : "
 
-#: ../yumcommands.py:1000
+#: ../yumcommands.py:2199
 #, python-format
 msgid "Never (last: %s)"
 msgstr "Nunca (último: %s)"
 
-#: ../yumcommands.py:1002
+#: ../yumcommands.py:2201
 #, python-format
 msgid "Instant (last: %s)"
 msgstr "Instante (último: %s)"
 
-#: ../yumcommands.py:1005
+#: ../yumcommands.py:2204
 #, python-format
 msgid "%s second(s) (last: %s)"
 msgstr "%s segundo(s) (último: %s)"
 
-#: ../yumcommands.py:1007
+#: ../yumcommands.py:2206
 msgid "Repo-expire  : "
 msgstr "Repo-expire  : "
 
-#: ../yumcommands.py:1010
+#: ../yumcommands.py:2209
 msgid "Repo-exclude : "
 msgstr "Repo-exclude : "
 
-#: ../yumcommands.py:1014
+#: ../yumcommands.py:2213
 msgid "Repo-include : "
 msgstr "Repo-include : "
 
-#: ../yumcommands.py:1018
+#: ../yumcommands.py:2217
 msgid "Repo-excluded: "
 msgstr "Repo-excluded: "
 
-#: ../yumcommands.py:1022
+#: ../yumcommands.py:2221
 msgid "Repo-filename: "
-msgstr ""
+msgstr "Nome do Arquivo repo: "
 
 #. Work out the first (id) and last (enabled/disalbed/count),
 #. then chop the middle (name)...
-#: ../yumcommands.py:1032 ../yumcommands.py:1061
+#: ../yumcommands.py:2230 ../yumcommands.py:2259
 msgid "repo id"
 msgstr "id do repo"
 
-#: ../yumcommands.py:1049 ../yumcommands.py:1050 ../yumcommands.py:1068
+#: ../yumcommands.py:2247 ../yumcommands.py:2248 ../yumcommands.py:2266
 msgid "status"
 msgstr "status"
 
-#: ../yumcommands.py:1062
+#: ../yumcommands.py:2260
 msgid "repo name"
 msgstr "nome do repo"
 
-#: ../yumcommands.py:1099
+#: ../yumcommands.py:2332
 msgid "Display a helpful usage message"
 msgstr "Exibe uma mensagem de uso para ajuda"
 
-#: ../yumcommands.py:1133
+#: ../yumcommands.py:2374
 #, python-format
 msgid "No help available for %s"
 msgstr "Nenhuma ajuda disponível para %s"
 
-#: ../yumcommands.py:1138
+#: ../yumcommands.py:2379
 msgid ""
 "\n"
 "\n"
 "aliases: "
-msgstr ""
-"\n"
-"\n"
-"apelidos: "
+msgstr "\n\napelidos: "
 
-#: ../yumcommands.py:1140
+#: ../yumcommands.py:2381
 msgid ""
 "\n"
 "\n"
 "alias: "
-msgstr ""
-"\n"
-"\n"
-"apelido: "
+msgstr "\n\napelido: "
 
-#: ../yumcommands.py:1168
+#: ../yumcommands.py:2466
 msgid "Setting up Reinstall Process"
 msgstr "Configurando o processo de reinstalação"
 
-#: ../yumcommands.py:1176
+#: ../yumcommands.py:2478
 msgid "reinstall a package"
 msgstr "reinstala um pacote"
 
-#: ../yumcommands.py:1195
+#: ../yumcommands.py:2541
 msgid "Setting up Downgrade Process"
 msgstr "Configurando o processo de desatualização"
 
-#: ../yumcommands.py:1202
+#: ../yumcommands.py:2552
 msgid "downgrade a package"
 msgstr "desatualizando um pacote"
 
-#: ../yumcommands.py:1216
+#: ../yumcommands.py:2591
 msgid "Display a version for the machine and/or available repos."
 msgstr "Exibe uma versão para a máquina e/ou os repositórios disponíveis."
 
-#: ../yumcommands.py:1255
+#: ../yumcommands.py:2643
 msgid " Yum version groups:"
 msgstr " Grupos da versão do Yum:"
 
-#: ../yumcommands.py:1265
+#: ../yumcommands.py:2653
 msgid " Group   :"
 msgstr " Grupo:"
 
-#: ../yumcommands.py:1266
+#: ../yumcommands.py:2654
 msgid " Packages:"
 msgstr " Pacotes:"
 
-#: ../yumcommands.py:1295
+#: ../yumcommands.py:2683
 msgid "Installed:"
 msgstr "Instalados:"
 
-#: ../yumcommands.py:1303
+#: ../yumcommands.py:2691
 msgid "Group-Installed:"
 msgstr "Grupos instalados:"
 
-#: ../yumcommands.py:1312
+#: ../yumcommands.py:2700
 msgid "Available:"
 msgstr "Disponíveis:"
 
-#: ../yumcommands.py:1321
+#: ../yumcommands.py:2709
 msgid "Group-Available:"
 msgstr "Grupos disponíveis:"
 
-#: ../yumcommands.py:1360
+#: ../yumcommands.py:2783
 msgid "Display, or use, the transaction history"
 msgstr "Exibir ou usar o histórico de transações"
 
-#: ../yumcommands.py:1432
+#: ../yumcommands.py:2876 ../yumcommands.py:2880
+msgid "Transactions:"
+msgstr ""
+
+#: ../yumcommands.py:2881
+msgid "Begin time  :"
+msgstr ""
+
+#: ../yumcommands.py:2882
+msgid "End time    :"
+msgstr ""
+
+#: ../yumcommands.py:2883
+msgid "Counts      :"
+msgstr ""
+
+#: ../yumcommands.py:2884
+msgid "  NEVRAC :"
+msgstr ""
+
+#: ../yumcommands.py:2885
+msgid "  NEVRA  :"
+msgstr ""
+
+#: ../yumcommands.py:2886
+msgid "  NA     :"
+msgstr ""
+
+#: ../yumcommands.py:2887
+msgid "  NEVR   :"
+msgstr ""
+
+#: ../yumcommands.py:2888
+msgid "  rpm DB :"
+msgstr ""
+
+#: ../yumcommands.py:2889
+msgid "  yum DB :"
+msgstr ""
+
+#: ../yumcommands.py:2922
 #, python-format
 msgid "Invalid history sub-command, use: %s."
 msgstr "Subcomando de histórico inválido, use: %s."
 
-#: ../yumcommands.py:1439
+#: ../yumcommands.py:2929
 msgid "You don't have access to the history DB."
 msgstr "Você não tem acesso ao banco de dados do histórico."
 
-#: ../yumcommands.py:1487
+#: ../yumcommands.py:3036
 msgid "Check for problems in the rpmdb"
 msgstr "Procurar por problemas no rpmdb"
 
-#: ../yumcommands.py:1514
+#: ../yumcommands.py:3102
 msgid "load a saved transaction from filename"
-msgstr ""
+msgstr "Carregar uma transação salva de um nome de arquivo"
 
-#: ../yumcommands.py:1518
+#: ../yumcommands.py:3119
 msgid "No saved transaction file specified."
-msgstr ""
+msgstr "Nenhum arquivo de transação salvo especificado."
 
-#: ../yumcommands.py:1522
+#: ../yumcommands.py:3123
 #, python-format
 msgid "loading transaction from %s"
-msgstr ""
+msgstr "carregando transação de %s"
 
-#: ../yumcommands.py:1528
+#: ../yumcommands.py:3129
 #, python-format
 msgid "Transaction loaded from %s with %s members"
+msgstr "Transação carregada de %s com %s membros"
+
+#: ../yumcommands.py:3169
+msgid "Simple way to swap packages, isntead of using shell"
+msgstr ""
+
+#: ../yumcommands.py:3264
+msgid ""
+"Treat a repo. as a group of packages, so we can install/remove all of them"
+msgstr ""
+
+#: ../yumcommands.py:3341
+#, python-format
+msgid "%d package to update"
+msgid_plural "%d packages to update"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../yumcommands.py:3370
+#, python-format
+msgid "%d package to remove/reinstall"
+msgid_plural "%d packages to remove/reinstall"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../yumcommands.py:3413
+#, python-format
+msgid "%d package to remove/sync"
+msgid_plural "%d packages to remove/sync"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../yumcommands.py:3417
+#, python-format
+msgid "Not a valid sub-command of %s"
 msgstr ""
 
 #. This is mainly for PackageSackError from rpmdb.
 #: ../yummain.py:84
 #, python-format
 msgid " Yum checks failed: %s"
-msgstr ""
+msgstr "A verificação do yum falhou: %s"
 
-#: ../yummain.py:114
-msgid ""
-"Another app is currently holding the yum lock; waiting for it to exit..."
+#: ../yummain.py:98
+msgid "No read/execute access in current directory, moving to /"
 msgstr ""
-"Outro aplicativo está retendo o bloqueio do yum; esperando por ele para "
-"sair..."
 
-#: ../yummain.py:120
-msgid "Can't create lock file; exiting"
+#: ../yummain.py:106
+msgid "No getcwd() access in current directory, moving to /"
 msgstr ""
 
 #. Depsolve stage
-#: ../yummain.py:167
+#: ../yummain.py:164
 msgid "Resolving Dependencies"
 msgstr "Resolvendo dependências"
 
-#: ../yummain.py:230
+#: ../yummain.py:227 ../yummain.py:235
 #, python-format
-msgid "Your transaction was saved, rerun it with: yum load-transaction %s"
+msgid ""
+"Your transaction was saved, rerun it with:\n"
+" yum load-transaction %s"
 msgstr ""
 
-#: ../yummain.py:288
+#: ../yummain.py:312
 msgid ""
 "\n"
 "\n"
 "Exiting on user cancel."
-msgstr ""
-"\n"
-"\n"
-"Saindo pelo cancelamento do usuário."
+msgstr "\n\nSaindo pelo cancelamento do usuário."
 
-#: ../yum/depsolve.py:84
+#: ../yum/depsolve.py:127
 msgid "doTsSetup() will go away in a future version of Yum.\n"
 msgstr "doTsSetup() será removida em uma futura versão do Yum.\n"
 
-#: ../yum/depsolve.py:99
+#: ../yum/depsolve.py:143
 msgid "Setting up TransactionSets before config class is up"
-msgstr ""
-"Configurando TransactionSets antes da ativação da classe de configuração"
+msgstr "Configurando TransactionSets antes da ativação da classe de configuração"
 
-#: ../yum/depsolve.py:153
+#: ../yum/depsolve.py:200
 #, python-format
 msgid "Invalid tsflag in config file: %s"
 msgstr "tsflag inválido no arquivo de configuração: %s"
 
-#: ../yum/depsolve.py:164
+#: ../yum/depsolve.py:218
 #, python-format
 msgid "Searching pkgSack for dep: %s"
 msgstr "Pesquisando pkgSack para a dep.: %s"
 
-#: ../yum/depsolve.py:207
+#: ../yum/depsolve.py:269
 #, python-format
 msgid "Member: %s"
 msgstr "Membro: %s"
 
-#: ../yum/depsolve.py:221 ../yum/depsolve.py:793
+#: ../yum/depsolve.py:283 ../yum/depsolve.py:937
 #, python-format
 msgid "%s converted to install"
 msgstr "%s convertido para instalar"
 
-#: ../yum/depsolve.py:233
+#: ../yum/depsolve.py:295
 #, python-format
 msgid "Adding Package %s in mode %s"
 msgstr "Adicionando pacote %s no modo %s"
 
-#: ../yum/depsolve.py:249
+#: ../yum/depsolve.py:311
 #, python-format
 msgid "Removing Package %s"
 msgstr "Removendo pacote %s"
 
-#: ../yum/depsolve.py:271
+#: ../yum/depsolve.py:333
 #, python-format
 msgid "%s requires: %s"
 msgstr "%s requer: %s"
 
-#: ../yum/depsolve.py:312
+#: ../yum/depsolve.py:374
 #, python-format
 msgid "%s requires %s"
 msgstr "%s requer %s"
 
-#: ../yum/depsolve.py:339
+#: ../yum/depsolve.py:401
 msgid "Needed Require has already been looked up, cheating"
 msgstr "O requerimento necessário já foi localizado, enganando"
 
-#: ../yum/depsolve.py:349
+#: ../yum/depsolve.py:411
 #, python-format
 msgid "Needed Require is not a package name. Looking up: %s"
 msgstr "O requerimento necessário não é o nome de um pacote. Localizando: %s"
 
-#: ../yum/depsolve.py:357
+#: ../yum/depsolve.py:419
 #, python-format
 msgid "Potential Provider: %s"
 msgstr "Fornecedor em potencial: %s"
 
-#: ../yum/depsolve.py:380
+#: ../yum/depsolve.py:442
 #, python-format
 msgid "Mode is %s for provider of %s: %s"
 msgstr "O modo é %s para o fornecedor do %s: %s"
 
-#: ../yum/depsolve.py:384
+#: ../yum/depsolve.py:446
 #, python-format
 msgid "Mode for pkg providing %s: %s"
 msgstr "Modo para o pacote que fornece o %s: %s"
@@ -2119,1026 +2318,1140 @@ msgstr "Modo para o pacote que fornece o %s: %s"
 #. the thing it needs is being updated or obsoleted away
 #. try to update the requiring package in hopes that all this problem goes
 #. away :(
-#: ../yum/depsolve.py:389 ../yum/depsolve.py:406
+#: ../yum/depsolve.py:451 ../yum/depsolve.py:486
 #, python-format
 msgid "Trying to update %s to resolve dep"
-msgstr ""
+msgstr "Tentando atualizar %s para resolver a dependência"
 
-#: ../yum/depsolve.py:400 ../yum/depsolve.py:410
+#: ../yum/depsolve.py:480
 #, python-format
 msgid "No update paths found for %s. Failure!"
+msgstr "Sem caminhos de atualização encontrados para %s. Falha!"
+
+#: ../yum/depsolve.py:491
+#, python-format
+msgid "No update paths found for %s. Failure due to requirement: %s!"
 msgstr ""
 
-#: ../yum/depsolve.py:416
+#: ../yum/depsolve.py:507
+#, python-format
+msgid "Update for %s. Doesn't fix requirement: %s!"
+msgstr ""
+
+#: ../yum/depsolve.py:514
 #, python-format
 msgid "TSINFO: %s package requiring %s marked as erase"
 msgstr "TSINFO: o pacote %s que requer o %s foi marcado para remoção"
 
-#: ../yum/depsolve.py:429
+#: ../yum/depsolve.py:527
 #, python-format
 msgid "TSINFO: Obsoleting %s with %s to resolve dep."
 msgstr "TSINFO: Tornando %s obsoleto com o %s para resolver a dependência."
 
-#: ../yum/depsolve.py:432
+#: ../yum/depsolve.py:530
 #, python-format
 msgid "TSINFO: Updating %s to resolve dep."
 msgstr "TSINFO: Atualizando %s para resolver a dependência."
 
-#: ../yum/depsolve.py:440
+#: ../yum/depsolve.py:538
 #, python-format
 msgid "Cannot find an update path for dep for: %s"
-msgstr ""
-"Não foi possível encontrar um caminho de atualização para a dep. para: %s"
+msgstr "Não foi possível encontrar um caminho de atualização para a dep. para: %s"
 
-#: ../yum/depsolve.py:471
+#: ../yum/depsolve.py:569
 #, python-format
 msgid "Quick matched %s to require for %s"
 msgstr "%s localizado rapidamente a ser requerido por %s"
 
 #. is it already installed?
-#: ../yum/depsolve.py:513
+#: ../yum/depsolve.py:611
 #, python-format
 msgid "%s is in providing packages but it is already installed, removing."
 msgstr "%s está nos pacotes fornecedores mas já está instalado, removendo."
 
-#: ../yum/depsolve.py:529
+#: ../yum/depsolve.py:627
 #, python-format
 msgid "Potential resolving package %s has newer instance in ts."
-msgstr ""
-"O pacote de solução em potencial %s tem uma instância mais nova no ct."
+msgstr "O pacote de solução em potencial %s tem uma instância mais nova no ct."
 
-#: ../yum/depsolve.py:540
+#: ../yum/depsolve.py:638
 #, python-format
 msgid "Potential resolving package %s has newer instance installed."
-msgstr ""
-"O pacote de solução em potencial %s tem uma instância mais nova instalada."
+msgstr "O pacote de solução em potencial %s tem uma instância mais nova instalada."
 
-#: ../yum/depsolve.py:558
+#: ../yum/depsolve.py:656
 #, python-format
 msgid "%s already in ts, skipping this one"
 msgstr "%s já está no ct, pulando esse"
 
-#: ../yum/depsolve.py:607
+#: ../yum/depsolve.py:705
 #, python-format
 msgid "TSINFO: Marking %s as update for %s"
 msgstr "TSINFO: Marcando %s como uma atualização para o %s"
 
-#: ../yum/depsolve.py:616
+#: ../yum/depsolve.py:714
 #, python-format
 msgid "TSINFO: Marking %s as install for %s"
 msgstr "TSINFO: Marcando %s como uma instalação para o %s"
 
-#: ../yum/depsolve.py:727 ../yum/depsolve.py:819
+#: ../yum/depsolve.py:849 ../yum/depsolve.py:967
 msgid "Success - empty transaction"
 msgstr "Sucesso - transação vazia"
 
-#: ../yum/depsolve.py:767 ../yum/depsolve.py:783
+#: ../yum/depsolve.py:889 ../yum/depsolve.py:927
 msgid "Restarting Loop"
 msgstr "Reiniciando o loop"
 
-#: ../yum/depsolve.py:799
+#: ../yum/depsolve.py:947
 msgid "Dependency Process ending"
 msgstr "Término do processo de dependências"
 
-#: ../yum/depsolve.py:821
+#: ../yum/depsolve.py:969
 msgid "Success - deps resolved"
 msgstr "Sucesso - dependências resolvidas"
 
-#: ../yum/depsolve.py:845
+#: ../yum/depsolve.py:993
 #, python-format
 msgid "Checking deps for %s"
 msgstr "Verificando dependências para %s"
 
-#: ../yum/depsolve.py:931
+#: ../yum/depsolve.py:1082
 #, python-format
 msgid "looking for %s as a requirement of %s"
 msgstr "procurando por %s como um requerimento do %s"
 
-#: ../yum/depsolve.py:1169
+#: ../yum/depsolve.py:1349
 #, python-format
 msgid "Running compare_providers() for %s"
 msgstr "Executando compare_providers() para %s"
 
-#: ../yum/depsolve.py:1196 ../yum/depsolve.py:1202
+#: ../yum/depsolve.py:1376 ../yum/depsolve.py:1382
 #, python-format
 msgid "better arch in po %s"
 msgstr "melhor arquitetura no po %s"
 
-#: ../yum/depsolve.py:1298
+#: ../yum/depsolve.py:1496
 #, python-format
 msgid "%s obsoletes %s"
 msgstr "%s torna %s obsoleto"
 
-#: ../yum/depsolve.py:1310
+#: ../yum/depsolve.py:1508
 #, python-format
 msgid ""
 "archdist compared %s to %s on %s\n"
 "  Winner: %s"
-msgstr ""
-"archdist comparou %s com %s em %s\n"
-"  Vencedor: %s"
+msgstr "archdist comparou %s com %s em %s\n  Vencedor: %s"
 
-#: ../yum/depsolve.py:1318
+#: ../yum/depsolve.py:1516
 #, python-format
 msgid "common sourcerpm %s and %s"
 msgstr "Sourcerpm comum %s e %s"
 
-#: ../yum/depsolve.py:1322
+#: ../yum/depsolve.py:1520
 #, python-format
 msgid "base package %s is installed for %s"
 msgstr "o pacote base %s está instalado para o %s"
 
-#: ../yum/depsolve.py:1328
+#: ../yum/depsolve.py:1526
 #, python-format
 msgid "common prefix of %s between %s and %s"
 msgstr "prefixo comum de %s entre %s e %s"
 
-#: ../yum/depsolve.py:1359
+#: ../yum/depsolve.py:1543
 #, python-format
-msgid "requires minimal: %d"
-msgstr "requer mínimo: %d"
+msgid "provides vercmp: %s"
+msgstr ""
 
-#: ../yum/depsolve.py:1363
+#: ../yum/depsolve.py:1547 ../yum/depsolve.py:1581
 #, python-format
 msgid " Winner: %s"
 msgstr "Vencedor: %s"
 
-#: ../yum/depsolve.py:1368
+#: ../yum/depsolve.py:1577
+#, python-format
+msgid "requires minimal: %d"
+msgstr "requer mínimo: %d"
+
+#: ../yum/depsolve.py:1586
 #, python-format
 msgid " Loser(with %d): %s"
 msgstr "Perdedor(com %d): %s"
 
-#: ../yum/depsolve.py:1384
+#: ../yum/depsolve.py:1602
 #, python-format
 msgid "Best Order: %s"
 msgstr "Melhor ordem: %s"
 
-#: ../yum/__init__.py:234
+#: ../yum/__init__.py:274
 msgid "doConfigSetup() will go away in a future version of Yum.\n"
 msgstr "doConfigSetup() será removida em uma futura versão do Yum.\n"
 
-#: ../yum/__init__.py:482
+#: ../yum/__init__.py:553
+#, python-format
+msgid "Skipping unreadable repository %s"
+msgstr ""
+
+#: ../yum/__init__.py:572
 #, python-format
 msgid "Repository %r: Error parsing config: %s"
 msgstr "Repositório %r: Erro ao analisar a configuração: %s"
 
-#: ../yum/__init__.py:488
+#: ../yum/__init__.py:578
 #, python-format
 msgid "Repository %r is missing name in configuration, using id"
 msgstr "O repositório %r não tem nome na configuração, usando o id"
 
-#: ../yum/__init__.py:526
+#: ../yum/__init__.py:618
 msgid "plugins already initialised"
 msgstr "plugins já inicializados"
 
-#: ../yum/__init__.py:533
+#: ../yum/__init__.py:627
 msgid "doRpmDBSetup() will go away in a future version of Yum.\n"
 msgstr "doRpmDBSetup() será removida em uma futura versão do Yum.\n"
 
-#: ../yum/__init__.py:544
+#: ../yum/__init__.py:638
 msgid "Reading Local RPMDB"
 msgstr "Lendo RPMDB local"
 
-#: ../yum/__init__.py:567
+#: ../yum/__init__.py:668
 msgid "doRepoSetup() will go away in a future version of Yum.\n"
 msgstr "doRepoSetup() será removida em uma futura versão do Yum.\n"
 
-#: ../yum/__init__.py:630
+#: ../yum/__init__.py:722
 msgid "doSackSetup() will go away in a future version of Yum.\n"
 msgstr "doSackSetup() será removida em uma futura versão do Yum.\n"
 
-#: ../yum/__init__.py:660
+#: ../yum/__init__.py:752
 msgid "Setting up Package Sacks"
 msgstr "Configurando sacos de pacotes"
 
-#: ../yum/__init__.py:705
+#: ../yum/__init__.py:797
 #, python-format
 msgid "repo object for repo %s lacks a _resetSack method\n"
 msgstr "o objeto de repositório para o %s necessita de um método _resetSack\n"
 
-#: ../yum/__init__.py:706
+#: ../yum/__init__.py:798
 msgid "therefore this repo cannot be reset.\n"
 msgstr "conseqüentemente este repo não pode ser restaurado.\n"
 
-#: ../yum/__init__.py:711
+#: ../yum/__init__.py:806
 msgid "doUpdateSetup() will go away in a future version of Yum.\n"
 msgstr "doUpdateSetup() será removida em uma futura versão do Yum.\n"
 
-#: ../yum/__init__.py:723
+#: ../yum/__init__.py:818
 msgid "Building updates object"
 msgstr "Construindo objeto de atualizações"
 
-#: ../yum/__init__.py:765
+#: ../yum/__init__.py:862
 msgid "doGroupSetup() will go away in a future version of Yum.\n"
 msgstr "doGroupSetup() será removida em uma futura versão do Yum.\n"
 
-#: ../yum/__init__.py:790
+#: ../yum/__init__.py:887
 msgid "Getting group metadata"
 msgstr "Obtendo metadados do grupo"
 
-#: ../yum/__init__.py:816
+#: ../yum/__init__.py:915
 #, python-format
 msgid "Adding group file from repository: %s"
 msgstr "Adicionando arquivo de grupo a partir do repositório: %s"
 
-#: ../yum/__init__.py:827
+#: ../yum/__init__.py:918
+#, python-format
+msgid "Failed to retrieve group file for repository: %s"
+msgstr ""
+
+#: ../yum/__init__.py:924
 #, python-format
 msgid "Failed to add groups file for repository: %s - %s"
 msgstr "Falha ao adicionar o arquivo de grupos para o repositório: %s - %s"
 
-#: ../yum/__init__.py:833
+#: ../yum/__init__.py:930
 msgid "No Groups Available in any repository"
 msgstr "Nenhum grupo disponível em nenhum repositório"
 
-#: ../yum/__init__.py:845
+#: ../yum/__init__.py:945
 msgid "Getting pkgtags metadata"
 msgstr "Obtendo metadados do pkgtags"
 
-#: ../yum/__init__.py:855
+#: ../yum/__init__.py:955
 #, python-format
 msgid "Adding tags from repository: %s"
 msgstr "Adicionando tags do repositório: %s"
 
-#: ../yum/__init__.py:866
+#: ../yum/__init__.py:966
 #, python-format
 msgid "Failed to add Pkg Tags for repository: %s - %s"
 msgstr "Falha ao adicionar as Pkg Tags para o repositório: %s - %s"
 
-#: ../yum/__init__.py:944
+#: ../yum/__init__.py:1059
 msgid "Importing additional filelist information"
 msgstr "Importando informações adicionais da lista de arquivos"
 
-#: ../yum/__init__.py:958
+#: ../yum/__init__.py:1077
 #, python-format
 msgid "The program %s%s%s is found in the yum-utils package."
 msgstr "O programa %s%s%s está localizado no pacote yum-utils."
 
-#: ../yum/__init__.py:966
+#: ../yum/__init__.py:1094
 msgid ""
 "There are unfinished transactions remaining. You might consider running yum-"
 "complete-transaction first to finish them."
-msgstr ""
-"Há transações não finalizadas restantes. Você pode considerar executar o "
-"yum-complete-transaction primeiro para finalizá-las."
+msgstr "Há transações não finalizadas restantes. Você pode considerar executar o yum-complete-transaction primeiro para finalizá-las."
 
-#: ../yum/__init__.py:983
+#: ../yum/__init__.py:1111
 msgid "--> Finding unneeded leftover dependencies"
 msgstr ""
 
-#: ../yum/__init__.py:1041
+#: ../yum/__init__.py:1169
 #, python-format
 msgid "Protected multilib versions: %s != %s"
+msgstr "Versões multilib protegidas: %s != %s"
+
+#. People are confused about protected mutilib ... so give
+#. them a nicer message.
+#: ../yum/__init__.py:1173
+#, python-format
+msgid ""
+" Multilib version problems found. This often means that the root\n"
+"cause is something else and multilib version checking is just\n"
+"pointing out that there is a problem. Eg.:\n"
+"\n"
+"  1. You have an upgrade for %(name)s which is missing some\n"
+"     dependency that another package requires. Yum is trying to\n"
+"     solve this by installing an older version of %(name)s of the\n"
+"     different architecture. If you exclude the bad architecture\n"
+"     yum will tell you what the root cause is (which package\n"
+"     requires what). You can try redoing the upgrade with\n"
+"     --exclude %(name)s.otherarch ... this should give you an error\n"
+"     message showing the root cause of the problem.\n"
+"\n"
+"  2. You have multiple architectures of %(name)s installed, but\n"
+"     yum can only see an upgrade for one of those arcitectures.\n"
+"     If you don't want/need both architectures anymore then you\n"
+"     can remove the one with the missing update and everything\n"
+"     will work.\n"
+"\n"
+"  3. You have duplicate versions of %(name)s installed already.\n"
+"     You can use \"yum check\" to get yum show these errors.\n"
+"\n"
+"...you can also use --setopt=protected_multilib=false to remove\n"
+"this checking, however this is almost never the correct thing to\n"
+"do as something else is very likely to go wrong (often causing\n"
+"much more problems).\n"
+"\n"
 msgstr ""
 
-#: ../yum/__init__.py:1096
+#: ../yum/__init__.py:1257
 #, python-format
 msgid "Trying to remove \"%s\", which is protected"
 msgstr "Tentando remover \"%s\", que está protegido."
 
-#: ../yum/__init__.py:1217
+#: ../yum/__init__.py:1378
 msgid ""
 "\n"
 "Packages skipped because of dependency problems:"
-msgstr ""
-"\n"
-"Pacotes ignorados devido a problemas de dependências:"
+msgstr "\nPacotes ignorados devido a problemas de dependências:"
 
-#: ../yum/__init__.py:1221
+#: ../yum/__init__.py:1382
 #, python-format
 msgid "    %s from %s"
 msgstr "    %s a partir de %s"
 
 #. FIXME: _N()
-#: ../yum/__init__.py:1391
+#: ../yum/__init__.py:1556
 #, python-format
 msgid "** Found %d pre-existing rpmdb problem(s), 'yum check' output follows:"
-msgstr ""
-"** Encontrado(s) %d problema(s) pré-existente(s) do rpmdb, saída do  'yum "
-"check' a seguir:"
+msgstr "** Encontrado(s) %d problema(s) pré-existente(s) do rpmdb, saída do  'yum check' a seguir:"
 
-#: ../yum/__init__.py:1395
+#: ../yum/__init__.py:1560
 msgid "Warning: RPMDB altered outside of yum."
 msgstr "Aviso: o RPMDB foi alterado de fora do yum."
 
-#: ../yum/__init__.py:1407
+#: ../yum/__init__.py:1572
 msgid "missing requires"
 msgstr "faltando exigências"
 
-#: ../yum/__init__.py:1408
+#: ../yum/__init__.py:1573
 msgid "installed conflict"
 msgstr "conflito instalado"
 
-#: ../yum/__init__.py:1525
+#: ../yum/__init__.py:1709
 msgid ""
 "Warning: scriptlet or other non-fatal errors occurred during transaction."
-msgstr ""
-"Aviso: scriptlet ou outros erros não fatais ocorreram durante a transação."
+msgstr "Aviso: scriptlet ou outros erros não fatais ocorreram durante a transação."
 
-#: ../yum/__init__.py:1535
+#: ../yum/__init__.py:1719
 msgid "Transaction couldn't start:"
 msgstr "A transação não pode ser iniciada."
 
 #. should this be 'to_unicoded'?
-#: ../yum/__init__.py:1538
+#: ../yum/__init__.py:1722
 msgid "Could not run transaction."
 msgstr "Não foi possível executar a transação."
 
-#: ../yum/__init__.py:1552
+#: ../yum/__init__.py:1736
 #, python-format
 msgid "Failed to remove transaction file %s"
 msgstr "Falha ao remover o arquivo de transação %s"
 
 #. maybe a file log here, too
 #. but raising an exception is not going to do any good
-#: ../yum/__init__.py:1590
+#: ../yum/__init__.py:1792
 #, python-format
 msgid "%s was supposed to be installed but is not!"
 msgstr "%s deveria ter sido instalado mas não foi!"
 
 #. maybe a file log here, too
 #. but raising an exception is not going to do any good
-#: ../yum/__init__.py:1651
+#. Note: This actually triggers atm. because we can't
+#. always find the erased txmbr to set it when
+#. we should.
+#: ../yum/__init__.py:1869
 #, python-format
 msgid "%s was supposed to be removed but is not!"
 msgstr "%s deveria ter sido removido mas não foi!"
 
-#: ../yum/__init__.py:1768
-#, python-format
-msgid "Could not open lock %s: %s"
-msgstr "Não foi possível abrir a trava %s: %s"
-
-#. Whoa. What the heck happened?
-#: ../yum/__init__.py:1785
-#, python-format
-msgid "Unable to check if PID %s is active"
-msgstr "Não foi possível verificar se o PID %s está ativo"
-
 #. Another copy seems to be running.
-#: ../yum/__init__.py:1789
+#: ../yum/__init__.py:2004
 #, python-format
 msgid "Existing lock %s: another copy is running as pid %s."
 msgstr "Bloqueio existente em %s: outra cópia está em execução com o pid %s."
 
 #. Whoa. What the heck happened?
-#: ../yum/__init__.py:1830
+#: ../yum/__init__.py:2053
 #, python-format
 msgid "Could not create lock at %s: %s "
 msgstr "Não foi possível criar um bloqueio em %s: %s"
 
-#: ../yum/__init__.py:1875
+#: ../yum/__init__.py:2065
+#, python-format
+msgid "Could not open lock %s: %s"
+msgstr "Não foi possível abrir a trava %s: %s"
+
+#. The pid doesn't exist
+#. Whoa. What the heck happened?
+#: ../yum/__init__.py:2082
+#, python-format
+msgid "Unable to check if PID %s is active"
+msgstr "Não foi possível verificar se o PID %s está ativo"
+
+#: ../yum/__init__.py:2132
 #, python-format
 msgid ""
 "Package does not match intended download. Suggestion: run yum "
 "--enablerepo=%s clean metadata"
-msgstr ""
-"O Pacote não coincide com o download pretendido. Sugestão: execute  yum "
-"--enablerepo=%s clean metadata"
+msgstr "O Pacote não coincide com o download pretendido. Sugestão: execute  yum --enablerepo=%s clean metadata"
 
-#: ../yum/__init__.py:1891
+#: ../yum/__init__.py:2155
 msgid "Could not perform checksum"
 msgstr "Não foi possível realizar a soma de verificação"
 
-#: ../yum/__init__.py:1894
+#: ../yum/__init__.py:2158
 msgid "Package does not match checksum"
 msgstr "O pacote não corresponde à soma de verificação"
 
-#: ../yum/__init__.py:1946
+#: ../yum/__init__.py:2222
 #, python-format
 msgid "package fails checksum but caching is enabled for %s"
-msgstr ""
-"o pacote falhou na soma de verificação mas o cache está habilitado para o %s"
+msgstr "o pacote falhou na soma de verificação mas o cache está habilitado para o %s"
 
-#: ../yum/__init__.py:1949 ../yum/__init__.py:1979
+#: ../yum/__init__.py:2225 ../yum/__init__.py:2268
 #, python-format
 msgid "using local copy of %s"
 msgstr "usando cópia local do %s"
 
-#: ../yum/__init__.py:1991
-#, python-format
-msgid ""
-"Insufficient space in download directory %s\n"
-"    * free   %s\n"
-"    * needed %s"
+#. caller handles errors
+#: ../yum/__init__.py:2342
+msgid "exiting because --downloadonly specified"
 msgstr ""
-"Espaço insuficiente no diretório de download %s\n"
-"    * livre   %s\n"
-"    * necessário %s"
 
-#: ../yum/__init__.py:2052
+#: ../yum/__init__.py:2371
 msgid "Header is not complete."
 msgstr "O cabeçalho não está completo."
 
-#: ../yum/__init__.py:2089
+#: ../yum/__init__.py:2411
 #, python-format
 msgid ""
 "Header not in local cache and caching-only mode enabled. Cannot download %s"
-msgstr ""
-"O cabeçalho não está no cache local e o modo de somente cache está "
-"habilitado. Não foi possível baixar o %s."
+msgstr "O cabeçalho não está no cache local e o modo de somente cache está habilitado. Não foi possível baixar o %s."
 
-#: ../yum/__init__.py:2147
+#: ../yum/__init__.py:2471
 #, python-format
 msgid "Public key for %s is not installed"
 msgstr "A chave pública para o %s não está instalada"
 
-#: ../yum/__init__.py:2151
+#: ../yum/__init__.py:2475
 #, python-format
 msgid "Problem opening package %s"
 msgstr "Problema ao abrir o pacote %s"
 
-#: ../yum/__init__.py:2159
+#: ../yum/__init__.py:2483
 #, python-format
 msgid "Public key for %s is not trusted"
 msgstr "A chave pública para o %s não é confiável"
 
-#: ../yum/__init__.py:2163
+#: ../yum/__init__.py:2487
 #, python-format
 msgid "Package %s is not signed"
 msgstr "O pacote %s não está assinado"
 
-#: ../yum/__init__.py:2202
+#: ../yum/__init__.py:2529
 #, python-format
 msgid "Cannot remove %s"
 msgstr "Não foi possível remover %s"
 
-#: ../yum/__init__.py:2206
+#: ../yum/__init__.py:2533
 #, python-format
 msgid "%s removed"
 msgstr "%s removido"
 
-#: ../yum/__init__.py:2252
+#: ../yum/__init__.py:2594
 #, python-format
 msgid "Cannot remove %s file %s"
 msgstr "Não foi possível remover %s arquivo %s"
 
-#: ../yum/__init__.py:2256
+#: ../yum/__init__.py:2598
 #, python-format
 msgid "%s file %s removed"
 msgstr "%s arquivo %s removido"
 
-#: ../yum/__init__.py:2258
+#: ../yum/__init__.py:2600
 #, python-format
-msgid "%d %s files removed"
-msgstr "%d %s arquivos removidos"
+msgid "%d %s file removed"
+msgid_plural "%d %s files removed"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../yum/__init__.py:2327
+#: ../yum/__init__.py:2712
 #, python-format
 msgid "More than one identical match in sack for %s"
 msgstr "Mais de uma correspondência idêntica no saco para %s"
 
-#: ../yum/__init__.py:2333
+#: ../yum/__init__.py:2718
 #, python-format
 msgid "Nothing matches %s.%s %s:%s-%s from update"
 msgstr "Nada corresponde ao %s.%s %s:%s-%s a partir da atualização"
 
-#: ../yum/__init__.py:2632
+#: ../yum/__init__.py:3096
 msgid ""
 "searchPackages() will go away in a future version of Yum."
 "                      Use searchGenerator() instead. \n"
-msgstr ""
-"searchPackages() será removida em uma futura versão do Yum. Ao invés disso, "
-"use a searchGenerator().\n"
+msgstr "searchPackages() será removida em uma futura versão do Yum. Ao invés disso, use a searchGenerator().\n"
 
-#: ../yum/__init__.py:2675
+#: ../yum/__init__.py:3149
 #, python-format
-msgid "Searching %d packages"
-msgstr "Pesquisando por %d pacotes"
+msgid "Searching %d package"
+msgid_plural "Searching %d packages"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../yum/__init__.py:2679
+#: ../yum/__init__.py:3153
 #, python-format
 msgid "searching package %s"
 msgstr "pesquisando pelo pacote %s"
 
-#: ../yum/__init__.py:2691
+#: ../yum/__init__.py:3165
 msgid "searching in file entries"
 msgstr "pesquisando nas entradas do arquivo"
 
-#: ../yum/__init__.py:2698
+#: ../yum/__init__.py:3172
 msgid "searching in provides entries"
 msgstr "pesquisando nas entradas dos fornecimentos"
 
-#: ../yum/__init__.py:2777
+#: ../yum/__init__.py:3369
 msgid "No group data available for configured repositories"
 msgstr "Nenhum dado de grupos disponível para os repositório configurados"
 
-#: ../yum/__init__.py:2808 ../yum/__init__.py:2827 ../yum/__init__.py:2858
-#: ../yum/__init__.py:2864 ../yum/__init__.py:2953 ../yum/__init__.py:2957
-#: ../yum/__init__.py:3339
+#: ../yum/__init__.py:3466 ../yum/__init__.py:3500 ../yum/__init__.py:3576
+#: ../yum/__init__.py:3582 ../yum/__init__.py:3719 ../yum/__init__.py:3723
+#: ../yum/__init__.py:4298
 #, python-format
 msgid "No Group named %s exists"
 msgstr "Não existe nenhum grupo de nome %s"
 
-#: ../yum/__init__.py:2839 ../yum/__init__.py:2973
+#: ../yum/__init__.py:3512 ../yum/__init__.py:3740
 #, python-format
 msgid "package %s was not marked in group %s"
 msgstr "o pacote %s não foi marcado no grupo %s"
 
-#: ../yum/__init__.py:2887
+#. (upgrade and igroup_data[pkg] == 'available')):
+#: ../yum/__init__.py:3622
+#, python-format
+msgid "Skipping package %s from group %s"
+msgstr ""
+
+#: ../yum/__init__.py:3628
 #, python-format
 msgid "Adding package %s from group %s"
 msgstr "Adicionando o pacote %s do grupo %s"
 
-#: ../yum/__init__.py:2891
+#: ../yum/__init__.py:3649
 #, python-format
 msgid "No package named %s available to be installed"
 msgstr "Nenhum pacote de nome %s disponível para ser instalado"
 
-#: ../yum/__init__.py:2941
+#: ../yum/__init__.py:3702
 #, python-format
-msgid "Warning: Group %s does not have any packages."
+msgid "Warning: Group %s does not have any packages to install."
 msgstr ""
 
-#: ../yum/__init__.py:2943
+#: ../yum/__init__.py:3704
 #, python-format
 msgid "Group %s does have %u conditional packages, which may get installed."
+msgstr "O grupo %s tem %u pacotes condicionais, que devem ser instalados"
+
+#: ../yum/__init__.py:3794
+#, python-format
+msgid "Skipping group %s from environment %s"
 msgstr ""
 
 #. This can happen due to excludes after .up has
 #. happened.
-#: ../yum/__init__.py:3002
+#: ../yum/__init__.py:3858
 #, python-format
 msgid "Package tuple %s could not be found in packagesack"
 msgstr "A tupla %s do pacote não pôde ser encontrada no packagesack"
 
-#: ../yum/__init__.py:3022
+#: ../yum/__init__.py:3886
 #, python-format
 msgid "Package tuple %s could not be found in rpmdb"
 msgstr "A tupla %s do pacote não pôde ser localizada no rpmdb"
 
-#: ../yum/__init__.py:3079 ../yum/__init__.py:3129
+#: ../yum/__init__.py:3949 ../yum/__init__.py:4012
 #, python-format
 msgid "Invalid version flag from: %s"
 msgstr ""
 
-#: ../yum/__init__.py:3096 ../yum/__init__.py:3101
+#: ../yum/__init__.py:3973 ../yum/__init__.py:3979 ../yum/__init__.py:4036
+#: ../yum/__init__.py:4042
 #, python-format
 msgid "No Package found for %s"
 msgstr "Nenhum pacote encontrado para %s"
 
-#: ../yum/__init__.py:3401
+#: ../yum/__init__.py:4245 ../yum/__init__.py:4274
+#, python-format
+msgid "Warning: Environment Group %s does not exist."
+msgstr ""
+
+#: ../yum/__init__.py:4397
+#, python-format
+msgid "Package: %s - can't co-install with %s"
+msgstr ""
+
+#: ../yum/__init__.py:4437
 msgid "Package Object was not a package object instance"
 msgstr "O pacote de objeto não era uma instância de pacote de objeto"
 
-#: ../yum/__init__.py:3405
+#: ../yum/__init__.py:4441
 msgid "Nothing specified to install"
 msgstr "Nada especificado para instalar"
 
-#: ../yum/__init__.py:3424 ../yum/__init__.py:4283
+#: ../yum/__init__.py:4465 ../yum/__init__.py:5410
 #, python-format
 msgid "Checking for virtual provide or file-provide for %s"
 msgstr "Verificando por fornecimento virtual ou de arquivo para %s"
 
-#: ../yum/__init__.py:3430 ../yum/__init__.py:3775 ../yum/__init__.py:3969
-#: ../yum/__init__.py:4289
-#, python-format
-msgid "No Match for argument: %s"
-msgstr "Nenhuma correspondência para o argumento: %s"
-
-#: ../yum/__init__.py:3507
+#: ../yum/__init__.py:4542
 #, python-format
 msgid "Package %s installed and not available"
 msgstr "Pacote %s instalado, mas não disponível"
 
-#: ../yum/__init__.py:3510
+#: ../yum/__init__.py:4545
 msgid "No package(s) available to install"
 msgstr "Nenhum pacote disponível para instalar"
 
-#: ../yum/__init__.py:3522
+#: ../yum/__init__.py:4557
 #, python-format
 msgid "Package: %s  - already in transaction set"
 msgstr "Pacote: %s - já está no conjunto de transações"
 
-#: ../yum/__init__.py:3550
+#: ../yum/__init__.py:4589
 #, python-format
 msgid "Package %s is obsoleted by %s which is already installed"
 msgstr "O pacote %s foi tornado obsoleto pelo %s, o qual já está instalado"
 
-#: ../yum/__init__.py:3555
+#: ../yum/__init__.py:4594
 #, python-format
 msgid ""
 "Package %s is obsoleted by %s, but obsoleting package does not provide for "
 "requirements"
-msgstr ""
-"O pacote %s foi tornado obsoleto por %s, mas este não provê os requisitos."
+msgstr "O pacote %s foi tornado obsoleto por %s, mas este não provê os requisitos."
 
-#: ../yum/__init__.py:3558
+#: ../yum/__init__.py:4597
 #, python-format
 msgid "Package %s is obsoleted by %s, trying to install %s instead"
-msgstr ""
-"O pacote %s foi tornado obsoleto por %s, tentando instalar %s ao invés disso"
+msgstr "O pacote %s foi tornado obsoleto por %s, tentando instalar %s ao invés disso"
 
-#: ../yum/__init__.py:3566
+#: ../yum/__init__.py:4605
 #, python-format
 msgid "Package %s already installed and latest version"
 msgstr "O pacote %s já está instalado em sua última versão"
 
-#: ../yum/__init__.py:3580
+#: ../yum/__init__.py:4619
 #, python-format
 msgid "Package matching %s already installed. Checking for update."
 msgstr "O pacote %s já está instalado. Verificando por uma atualização."
 
 #. update everything (the easy case)
-#: ../yum/__init__.py:3684
+#: ../yum/__init__.py:4751
 msgid "Updating Everything"
 msgstr "Atualizando tudo"
 
-#: ../yum/__init__.py:3708 ../yum/__init__.py:3849 ../yum/__init__.py:3879
-#: ../yum/__init__.py:3915
+#: ../yum/__init__.py:4775 ../yum/__init__.py:4930 ../yum/__init__.py:4975
+#: ../yum/__init__.py:5011
 #, python-format
 msgid "Not Updating Package that is already obsoleted: %s.%s %s:%s-%s"
 msgstr "Pacote já obsoleto não será atualizado: %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3753 ../yum/__init__.py:3965
+#: ../yum/__init__.py:4830 ../yum/__init__.py:5072
 #, python-format
 msgid "%s"
 msgstr "%s"
 
-#: ../yum/__init__.py:3838
+#: ../yum/__init__.py:4854 ../yum/__init__.py:5080 ../yum/__init__.py:5416
+#, python-format
+msgid "No Match for argument: %s"
+msgstr "Nenhuma correspondência para o argumento: %s"
+
+#: ../yum/__init__.py:4872
+#, python-format
+msgid "No package matched to upgrade: %s"
+msgstr ""
+
+#: ../yum/__init__.py:4919
 #, python-format
 msgid "Package is already obsoleted: %s.%s %s:%s-%s"
 msgstr "O pacote já está obsoleto: %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3874
+#: ../yum/__init__.py:4970
 #, python-format
 msgid "Not Updating Package that is obsoleted: %s"
 msgstr "Não atualizando o pacote que está obsoleto: %s"
 
-#: ../yum/__init__.py:3883 ../yum/__init__.py:3919
+#: ../yum/__init__.py:4979 ../yum/__init__.py:5015
 #, python-format
 msgid "Not Updating Package that is already updated: %s.%s %s:%s-%s"
 msgstr "Pacote já atualizado não será atualizado novamente: %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3982
-msgid "No package matched to remove"
-msgstr "Nenhum pacote encontrado para remoção"
+#: ../yum/__init__.py:5093
+#, python-format
+msgid "No package matched to remove: %s"
+msgstr ""
 
-#: ../yum/__init__.py:3988
+#: ../yum/__init__.py:5099
 #, python-format
 msgid "Skipping the running kernel: %s"
 msgstr "Ignorando o kernel em execução: %s"
 
-#: ../yum/__init__.py:3994
+#: ../yum/__init__.py:5105
 #, python-format
 msgid "Removing %s from the transaction"
 msgstr "Removendo %s da transação"
 
-#: ../yum/__init__.py:4029
+#: ../yum/__init__.py:5142
 #, python-format
 msgid "Cannot open: %s. Skipping."
 msgstr "Não foi possível abrir: %s. Ignorando."
 
-#: ../yum/__init__.py:4032 ../yum/__init__.py:4150 ../yum/__init__.py:4226
+#: ../yum/__init__.py:5145 ../yum/__init__.py:5262 ../yum/__init__.py:5347
 #, python-format
 msgid "Examining %s: %s"
 msgstr "Examinando %s: %s"
 
-#: ../yum/__init__.py:4036
+#: ../yum/__init__.py:5149
 #, python-format
 msgid "Cannot localinstall deltarpm: %s. Skipping."
 msgstr "Não é possível instalar localmente o deltarpm: %s. Ignorando."
 
-#: ../yum/__init__.py:4045 ../yum/__init__.py:4153 ../yum/__init__.py:4229
+#: ../yum/__init__.py:5158 ../yum/__init__.py:5265 ../yum/__init__.py:5350
 #, python-format
 msgid ""
 "Cannot add package %s to transaction. Not a compatible architecture: %s"
-msgstr ""
-"Não foi possível adicionar o pacote %s à transação. %s não é uma arquitetura"
-" compatível."
+msgstr "Não foi possível adicionar o pacote %s à transação. %s não é uma arquitetura compatível."
 
-#: ../yum/__init__.py:4051
+#: ../yum/__init__.py:5164
 #, python-format
 msgid "Cannot install package %s. It is obsoleted by installed package %s"
-msgstr ""
-"Não é possível instalar o pacote % s. É obsoleto pelo pacote instalado %s"
+msgstr "Não é possível instalar o pacote % s. É obsoleto pelo pacote instalado %s"
 
-#: ../yum/__init__.py:4059
+#: ../yum/__init__.py:5172
 #, python-format
 msgid ""
 "Package %s not installed, cannot update it. Run yum install to install it "
 "instead."
-msgstr ""
-"O pacote %s não está instalado, não é possível atualizá-lo. Execute o yum "
-"install para instalá-lo."
+msgstr "O pacote %s não está instalado, não é possível atualizá-lo. Execute o yum install para instalá-lo."
 
-#: ../yum/__init__.py:4078 ../yum/__init__.py:4085
+#: ../yum/__init__.py:5191 ../yum/__init__.py:5198
 #, python-format
 msgid ""
 "Package %s.%s not installed, cannot update it. Run yum install to install it"
 " instead."
-msgstr ""
+msgstr "Pacote %s.%s não instalado, não pode ser atualizado. Execute yum install para instalá-lo em vez disso."
 
-#: ../yum/__init__.py:4094 ../yum/__init__.py:4158 ../yum/__init__.py:4234
+#: ../yum/__init__.py:5207 ../yum/__init__.py:5270 ../yum/__init__.py:5355
 #, python-format
 msgid "Excluding %s"
 msgstr "Excluindo %s"
 
-#: ../yum/__init__.py:4099
+#: ../yum/__init__.py:5212
 #, python-format
 msgid "Marking %s to be installed"
 msgstr "Marcando %s para ser instalado"
 
-#: ../yum/__init__.py:4105
+#: ../yum/__init__.py:5218
 #, python-format
 msgid "Marking %s as an update to %s"
 msgstr "Marcando %s como uma atualização do %s"
 
-#: ../yum/__init__.py:4112
+#: ../yum/__init__.py:5225
 #, python-format
 msgid "%s: does not update installed package."
 msgstr "%s: não atualiza o pacote instalado."
 
-#: ../yum/__init__.py:4147 ../yum/__init__.py:4223
+#: ../yum/__init__.py:5259 ../yum/__init__.py:5344
 #, python-format
 msgid "Cannot open file: %s. Skipping."
 msgstr "Não foi possível abrir o arquivo: %s. Ignorando."
 
-#: ../yum/__init__.py:4177
+#: ../yum/__init__.py:5299
 msgid "Problem in reinstall: no package matched to remove"
 msgstr "Problema na reinstalação: nenhum pacote encontrado para remoção"
 
-#: ../yum/__init__.py:4203
+#: ../yum/__init__.py:5325
 #, python-format
 msgid "Problem in reinstall: no package %s matched to install"
 msgstr "Problema na reinstalação: nenhum pacote %s encontrado para instalação"
 
-#: ../yum/__init__.py:4311
+#: ../yum/__init__.py:5438
 msgid "No package(s) available to downgrade"
 msgstr "Nenhum pacote disponível para ser desatualizado"
 
-#: ../yum/__init__.py:4319
+#: ../yum/__init__.py:5446
 #, python-format
 msgid "Package %s is allowed multiple installs, skipping"
 msgstr "O pacote %s permite múltiplas instalações, ignorando"
 
-#: ../yum/__init__.py:4365
+#: ../yum/__init__.py:5496
 #, python-format
 msgid "No Match for available package: %s"
 msgstr "Nenhuma correspondência disponível para o pacote: %s"
 
-#: ../yum/__init__.py:4372
+#: ../yum/__init__.py:5506
 #, python-format
 msgid "Only Upgrade available on package: %s"
 msgstr "Somente a atualização está disponível para o pacote: %s"
 
-#: ../yum/__init__.py:4442 ../yum/__init__.py:4479
+#: ../yum/__init__.py:5619 ../yum/__init__.py:5686
 #, python-format
 msgid "Failed to downgrade: %s"
 msgstr "Falha ao desatualizar: %s"
 
-#: ../yum/__init__.py:4516
+#: ../yum/__init__.py:5636 ../yum/__init__.py:5692
 #, python-format
-msgid "Retrieving key from %s"
+msgid "Failed to upgrade: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4534
+#: ../yum/__init__.py:5725
+#, python-format
+msgid "Retrieving key from %s"
+msgstr "Recuperando chave de %s"
+
+#: ../yum/__init__.py:5743
 msgid "GPG key retrieval failed: "
 msgstr "A obtenção da chave GPG falhou:"
 
 #. if we decide we want to check, even though the sig failed
 #. here is where we would do that
-#: ../yum/__init__.py:4557
+#: ../yum/__init__.py:5766
 #, python-format
 msgid "GPG key signature on key %s does not match CA Key for repo: %s"
-msgstr ""
+msgstr "Assinatura da chave GPG na chave %s não combina com a chave CA para o repositório: %s"
 
-#: ../yum/__init__.py:4559
+#: ../yum/__init__.py:5768
 msgid "GPG key signature verified against CA Key(s)"
-msgstr ""
+msgstr "Assinatura da chave GPG verificada em relação a chave(s) CA"
 
-#: ../yum/__init__.py:4567
+#: ../yum/__init__.py:5776
 #, python-format
 msgid "Invalid GPG Key from %s: %s"
 msgstr "A chave GPG de %s é inválida: %s"
 
-#: ../yum/__init__.py:4576
+#: ../yum/__init__.py:5785
 #, python-format
 msgid "GPG key parsing failed: key does not have value %s"
 msgstr "Falha na análise da chave GPG: ela não tem o valor %s"
 
-#: ../yum/__init__.py:4592
+#: ../yum/__init__.py:5801
 #, python-format
 msgid ""
 "Importing %s key 0x%s:\n"
-" Userid : %s\n"
-" Package: %s (%s)\n"
-" From   : %s"
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" Package    : %s (%s)\n"
+" From       : %s"
 msgstr ""
 
-#: ../yum/__init__.py:4600
+#: ../yum/__init__.py:5811
 #, python-format
 msgid ""
 "Importing %s key 0x%s:\n"
-" Userid: \"%s\"\n"
-" From  : %s"
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" From       : %s"
+msgstr ""
+
+#: ../yum/__init__.py:5839
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" Failing package is: %s\n"
+" GPG Keys are configured as: %s\n"
 msgstr ""
 
-#: ../yum/__init__.py:4634
+#: ../yum/__init__.py:5853
 #, python-format
 msgid "GPG key at %s (0x%s) is already installed"
 msgstr "A chave GPG em %s (0x%s) já está instalada"
 
-#: ../yum/__init__.py:4671
+#: ../yum/__init__.py:5891
 #, python-format
 msgid "Key import failed (code %d)"
 msgstr "Falha na importação da chave (código %d)"
 
-#: ../yum/__init__.py:4672 ../yum/__init__.py:4755
+#: ../yum/__init__.py:5893 ../yum/__init__.py:5994
 msgid "Key imported successfully"
 msgstr "Chave importada com sucesso"
 
-#: ../yum/__init__.py:4676
+#: ../yum/__init__.py:5897
 msgid "Didn't install any keys"
-msgstr ""
+msgstr "Não instalar nenhuma das chaves"
 
-#: ../yum/__init__.py:4680
+#: ../yum/__init__.py:5900
 #, python-format
 msgid ""
 "The GPG keys listed for the \"%s\" repository are already installed but they are not correct for this package.\n"
 "Check that the correct key URLs are configured for this repository."
-msgstr ""
-"As chaves GPG listadas para o repositório \"%s\" já estão instaladas, mas não estão corretas para este pacote.\n"
-"Verifique se as URLs corretas das chaves estão configuradas para esse repositório."
+msgstr "As chaves GPG listadas para o repositório \"%s\" já estão instaladas, mas não estão corretas para este pacote.\nVerifique se as URLs corretas das chaves estão configuradas para esse repositório."
 
-#: ../yum/__init__.py:4689
+#: ../yum/__init__.py:5910
 msgid "Import of key(s) didn't help, wrong key(s)?"
 msgstr "A importação da(s) chave(s) não ajudou, chave(s) errada(s)?"
 
-#: ../yum/__init__.py:4713
+#: ../yum/__init__.py:5932
+msgid "No"
+msgstr ""
+
+#: ../yum/__init__.py:5934
+msgid "Yes"
+msgstr ""
+
+#: ../yum/__init__.py:5935
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" CA Key: %s\n"
+" Failing repo is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr ""
+
+#: ../yum/__init__.py:5948
 #, python-format
 msgid "GPG key at %s (0x%s) is already imported"
 msgstr "A chave GPG em %s (0x%s) já foi importada"
 
-#: ../yum/__init__.py:4754
-msgid "Key import failed"
-msgstr "Falha na importação da chave"
+#: ../yum/__init__.py:5992
+#, python-format
+msgid "Key %s import failed"
+msgstr ""
 
-#: ../yum/__init__.py:4770
+#: ../yum/__init__.py:6009
 #, python-format
 msgid "Didn't install any keys for repo %s"
-msgstr ""
+msgstr "Não instalar nenhuma das chaves para o repositório %s"
 
-#: ../yum/__init__.py:4774
+#: ../yum/__init__.py:6014
 #, python-format
 msgid ""
 "The GPG keys listed for the \"%s\" repository are already installed but they are not correct.\n"
 "Check that the correct key URLs are configured for this repository."
-msgstr ""
-"As chaves GPG listadas para o repositório \"%s\" já estão instaladas, mas não estão corretas.\n"
-"Verifique se as URLs das chaves estão configuradas corretamente para este repositório. "
+msgstr "As chaves GPG listadas para o repositório \"%s\" já estão instaladas, mas não estão corretas.\nVerifique se as URLs das chaves estão configuradas corretamente para este repositório. "
 
-#: ../yum/__init__.py:4924
+#: ../yum/__init__.py:6172
 msgid "Unable to find a suitable mirror."
 msgstr "Não foi possível encontrar um espelho apropriado."
 
-#: ../yum/__init__.py:4926
+#: ../yum/__init__.py:6174
 msgid "Errors were encountered while downloading packages."
 msgstr "Foram encontrados erros ao baixar os pacotes."
 
-#: ../yum/__init__.py:4981
+#: ../yum/__init__.py:6229
 #, python-format
 msgid "Please report this error at %s"
 msgstr "Por favor, relate esse erro em %s"
 
-#: ../yum/__init__.py:4998
+#: ../yum/__init__.py:6246
 msgid "Test Transaction Errors: "
 msgstr "Erros do teste de transação:"
 
-#: ../yum/__init__.py:5098
+#: ../yum/__init__.py:6358
 #, python-format
 msgid "Could not set cachedir: %s"
 msgstr "Não foi possível definir a cachedir: %s"
 
-#: ../yum/__init__.py:5148 ../yum/__init__.py:5150
+#: ../yum/__init__.py:6420 ../yum/__init__.py:6422
 msgid "Dependencies not solved. Will not save unresolved transaction."
-msgstr ""
+msgstr "Dependências não resolvidas. Transações não resolvidas não serão salvas."
 
-#: ../yum/__init__.py:5179 ../yum/__init__.py:5181
+#: ../yum/__init__.py:6455 ../yum/__init__.py:6457
 #, python-format
 msgid "Could not save transaction file %s: %s"
-msgstr ""
+msgstr "Não foi possível salvar o arquivo de transação %s: %s"
 
-#: ../yum/__init__.py:5195
+#: ../yum/__init__.py:6483
 #, python-format
 msgid "Could not access/read saved transaction %s : %s"
-msgstr ""
-
-#: ../yum/__init__.py:5214
-msgid "rpmdb ver mismatched saved transaction version, "
-msgstr ""
-
-#: ../yum/__init__.py:5216
-msgid " ignoring, as requested."
-msgstr ""
+msgstr "Não foi possível acessar/ler a transação salva %s : %s"
 
-#: ../yum/__init__.py:5219 ../yum/__init__.py:5354
-msgid " aborting."
+#: ../yum/__init__.py:6521
+msgid "rpmdb ver mismatched saved transaction version,"
 msgstr ""
 
-#: ../yum/__init__.py:5228
+#: ../yum/__init__.py:6535
 msgid "cannot find tsflags or tsflags not integer."
 msgstr ""
 
-#: ../yum/__init__.py:5267
+#: ../yum/__init__.py:6584
 #, python-format
 msgid "Found txmbr in unknown current state: %s"
 msgstr ""
 
-#: ../yum/__init__.py:5271
+#: ../yum/__init__.py:6588
 #, python-format
 msgid "Could not find txmbr: %s in state %s"
 msgstr ""
 
-#: ../yum/__init__.py:5307 ../yum/__init__.py:5324
+#: ../yum/__init__.py:6625 ../yum/__init__.py:6642
 #, python-format
 msgid "Could not find txmbr: %s from origin: %s"
-msgstr ""
+msgstr "Não foi possível encontrar txmbr: %s da origem: %s"
 
-#: ../yum/__init__.py:5349
+#: ../yum/__init__.py:6667
 msgid "Transaction members, relations are missing or ts has been modified,"
 msgstr ""
 
-#: ../yum/__init__.py:5351
+#: ../yum/__init__.py:6670
 msgid " ignoring, as requested. You must redepsolve!"
+msgstr "ignorando, conforme pedido. Você deve rodar executar novamente o depsolve!"
+
+#. Debugging output
+#: ../yum/__init__.py:6738 ../yum/__init__.py:6757
+#, python-format
+msgid "%s has been visited already and cannot be removed."
+msgstr ""
+
+#. Debugging output
+#: ../yum/__init__.py:6741
+#, python-format
+msgid "Examining revdeps of %s"
+msgstr ""
+
+#. Debugging output
+#: ../yum/__init__.py:6762
+#, python-format
+msgid "%s has revdep %s which was user-installed."
+msgstr ""
+
+#: ../yum/__init__.py:6773 ../yum/__init__.py:6779
+#, python-format
+msgid "%s is needed by a package to be installed."
+msgstr ""
+
+#. Debugging output
+#: ../yum/__init__.py:6793
+#, python-format
+msgid "%s has no user-installed revdeps."
 msgstr ""
 
 #. Mostly copied from YumOutput._outKeyValFill()
-#: ../yum/plugins.py:209
+#: ../yum/plugins.py:212
 msgid "Loaded plugins: "
 msgstr "Plugins carregados: "
 
-#: ../yum/plugins.py:223 ../yum/plugins.py:229
+#: ../yum/plugins.py:226 ../yum/plugins.py:232
 #, python-format
 msgid "No plugin match for: %s"
 msgstr "Nenhum plugin correspondente para: %s"
 
-#: ../yum/plugins.py:259
+#: ../yum/plugins.py:262
 #, python-format
 msgid "Not loading \"%s\" plugin, as it is disabled"
 msgstr "O plugin \"%s\" não será carregado, pois está desabilitado"
 
 #. Give full backtrace:
-#: ../yum/plugins.py:271
+#: ../yum/plugins.py:274
 #, python-format
 msgid "Plugin \"%s\" can't be imported"
 msgstr "O plugin \"%s\" não pôde ser importado"
 
-#: ../yum/plugins.py:278
+#: ../yum/plugins.py:281
 #, python-format
 msgid "Plugin \"%s\" doesn't specify required API version"
 msgstr "O plugin \"%s\" não especifica a versão requerida da API"
 
-#: ../yum/plugins.py:283
+#: ../yum/plugins.py:286
 #, python-format
 msgid "Plugin \"%s\" requires API %s. Supported API is %s."
 msgstr "O plugin \"%s\" requer a API %s. A API suportada é a %s."
 
-#: ../yum/plugins.py:316
+#: ../yum/plugins.py:319
 #, python-format
 msgid "Loading \"%s\" plugin"
 msgstr "Carregando o plugin \"%s\""
 
-#: ../yum/plugins.py:323
+#: ../yum/plugins.py:326
 #, python-format
 msgid "Two or more plugins with the name \"%s\" exist in the plugin search path"
-msgstr ""
-"Dois ou mais plugins com o nome \"%s\" existem no caminho de pesquisa "
-"plugins"
+msgstr "Dois ou mais plugins com o nome \"%s\" existem no caminho de pesquisa plugins"
 
-#: ../yum/plugins.py:343
+#: ../yum/plugins.py:346
 #, python-format
 msgid "Configuration file %s not found"
 msgstr "Arquivos de configuração %s não encontrado"
 
 #. for
 #. Configuration files for the plugin not found
-#: ../yum/plugins.py:346
+#: ../yum/plugins.py:349
 #, python-format
 msgid "Unable to find configuration file for plugin %s"
 msgstr "Não foi possível encontrar o arquivo de configuração para o plugin %s"
 
-#: ../yum/plugins.py:508
+#: ../yum/plugins.py:553
 msgid "registration of commands not supported"
 msgstr "O registro de comandos não é suportado"
 
-#: ../yum/rpmsack.py:148
+#: ../yum/rpmsack.py:159
 msgid "has missing requires of"
 msgstr "tem exigências faltando do"
 
-#: ../yum/rpmsack.py:151
+#: ../yum/rpmsack.py:162
 msgid "has installed conflicts"
 msgstr "tem conflitos instalados"
 
-#: ../yum/rpmsack.py:160
+#: ../yum/rpmsack.py:171
 #, python-format
 msgid "%s is a duplicate with %s"
 msgstr "%s é uma duplicação do %s"
 
-#: ../yum/rpmsack.py:168
+#: ../yum/rpmsack.py:179
 #, python-format
 msgid "%s is obsoleted by %s"
 msgstr "%s foi tornado obsoleto por %s"
 
-#: ../yum/rpmsack.py:176
+#: ../yum/rpmsack.py:187
 #, python-format
 msgid "%s provides %s but it cannot be found"
 msgstr "%s provê %s mas não pôde ser achado"
@@ -3147,6 +3460,23 @@ msgstr "%s provê %s mas não pôde ser achado"
 msgid "Repackaging"
 msgstr "Reempacotando"
 
+#: ../yum/rpmtrans.py:149
+#, python-format
+msgid "Verify: %u/%u: %s"
+msgstr ""
+
+#: ../yum/yumRepo.py:919
+#, python-format
+msgid ""
+"Insufficient space in download directory %s\n"
+"    * free   %s\n"
+"    * needed %s"
+msgstr "Espaço insuficiente no diretório de download %s\n    * livre   %s\n    * necessário %s"
+
+#: ../yum/yumRepo.py:986
+msgid "Package does not match intended download."
+msgstr ""
+
 #: ../rpmUtils/oldUtils.py:33
 #, python-format
 msgid "Header cannot be opened or does not match %s, %s."
@@ -3159,9 +3489,7 @@ msgstr "O RPM %s não passou na verificação md5"
 
 #: ../rpmUtils/oldUtils.py:151
 msgid "Could not open RPM database for reading. Perhaps it is already in use?"
-msgstr ""
-"Não foi possível abrir o banco de dados RPM para leitura. Talvez por que ele"
-" já esteja em uso?"
+msgstr "Não foi possível abrir o banco de dados RPM para leitura. Talvez por que ele já esteja em uso?"
 
 #: ../rpmUtils/oldUtils.py:183
 msgid "Got an empty Header, something has gone wrong"
@@ -3177,5 +3505,3 @@ msgstr "Cabeçalho %s danificado"
 #, python-format
 msgid "Error opening rpm %s - error %s"
 msgstr "Erro ao abrir o rpm %s - erro %s"
-
-
diff --git a/po/pt_PT.po b/po/pt_PT.po
new file mode 100644
index 0000000..7dcef70
--- /dev/null
+++ b/po/pt_PT.po
@@ -0,0 +1,3506 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# 
+# Translators:
+# Bruno Martins <bmomartins@gmail.com>, 2011, 2012.
+msgid ""
+msgstr ""
+"Project-Id-Version: Yum\n"
+"Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
+"POT-Creation-Date: 2013-01-30 09:08-0500\n"
+"PO-Revision-Date: 2013-01-30 14:08+0000\n"
+"Last-Translator: james <james@fedoraproject.org>\n"
+"Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/yum/language/pt_PT/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: pt_PT\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../callback.py:45 ../output.py:1502 ../yum/rpmtrans.py:73
+msgid "Updating"
+msgstr "Atualizando"
+
+#: ../callback.py:46 ../yum/rpmtrans.py:74
+msgid "Erasing"
+msgstr "Apagando"
+
+#: ../callback.py:47 ../callback.py:48 ../callback.py:50 ../output.py:1501
+#: ../output.py:2922 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
+#: ../yum/rpmtrans.py:78
+msgid "Installing"
+msgstr "Instalando"
+
+#: ../callback.py:49 ../callback.py:55 ../output.py:2379 ../yum/rpmtrans.py:77
+msgid "Obsoleted"
+msgstr "Obsoleto"
+
+#: ../callback.py:51 ../output.py:1670 ../output.py:2222 ../output.py:2386
+msgid "Updated"
+msgstr "Atualizado"
+
+#: ../callback.py:52 ../output.py:2221
+msgid "Erased"
+msgstr "Apagado"
+
+#: ../callback.py:53 ../callback.py:54 ../callback.py:56 ../output.py:1668
+#: ../output.py:2221 ../output.py:2223 ../output.py:2894
+msgid "Installed"
+msgstr "Instalado"
+
+#: ../callback.py:142
+msgid "No header - huh?"
+msgstr "Sem cabeçalho - huh?"
+
+#: ../callback.py:180
+msgid "Repackage"
+msgstr "Re-empacotar"
+
+#: ../callback.py:201
+#, python-format
+msgid "Error: invalid output state: %s for %s"
+msgstr "Erro: estado de saída inválido: %s para %s"
+
+#: ../callback.py:224
+#, python-format
+msgid "Erased: %s"
+msgstr "Apagado: %s"
+
+#: ../callback.py:229 ../output.py:1503 ../output.py:2897
+msgid "Removing"
+msgstr "Removendo"
+
+#: ../callback.py:231 ../yum/rpmtrans.py:79
+msgid "Cleanup"
+msgstr "Limpeza"
+
+#: ../cli.py:122
+#, python-format
+msgid "Command \"%s\" already defined"
+msgstr "Comando \"%s\" já está definido"
+
+#: ../cli.py:137
+msgid "Setting up repositories"
+msgstr "Definindo repositórios"
+
+#: ../cli.py:148
+msgid "Reading repository metadata in from local files"
+msgstr "Lendo a metadata dos repositórios a partir de ficheiros locais"
+
+#: ../cli.py:273 ../cli.py:277 ../utils.py:320
+#, python-format
+msgid "Config Error: %s"
+msgstr "Erro de configuração: %s"
+
+#: ../cli.py:280 ../cli.py:2206 ../utils.py:323
+#, python-format
+msgid "Options Error: %s"
+msgstr "Erro de opções: %s"
+
+#: ../cli.py:327
+#, python-format
+msgid "  Installed: %s-%s at %s"
+msgstr "Instalado: %s-%s em %s"
+
+#: ../cli.py:329
+#, python-format
+msgid "  Built    : %s at %s"
+msgstr "  Compilado    : %s em %s"
+
+#: ../cli.py:331
+#, python-format
+msgid "  Committed: %s at %s"
+msgstr "  Submetido: %s em %s"
+
+#: ../cli.py:372
+msgid "You need to give some command"
+msgstr "Precisa de dar algum comando"
+
+#: ../cli.py:386
+#, python-format
+msgid "No such command: %s. Please use %s --help"
+msgstr "Comando inválido: %s. Por favor utilize %s --help"
+
+#: ../cli.py:444
+msgid "Disk Requirements:\n"
+msgstr "Requisitos de disco:\n"
+
+#: ../cli.py:446
+#, python-format
+msgid "  At least %dMB more space needed on the %s filesystem.\n"
+msgid_plural "  At least %dMB more space needed on the %s filesystem.\n"
+msgstr[0] "É preciso pelo menos mais %dMB de espaço livre no sistema de ficheiros %s.\n"
+msgstr[1] "São precisos pelo menos mais %dMB de espaço livre no sistema de ficheiros %s.\n"
+
+#. TODO: simplify the dependency errors?
+#. Fixup the summary
+#: ../cli.py:451
+msgid ""
+"Error Summary\n"
+"-------------\n"
+msgstr "Sumário de erros\n-------------\n"
+
+#: ../cli.py:472
+msgid "Can't create lock file; exiting"
+msgstr ""
+
+#: ../cli.py:479
+msgid ""
+"Another app is currently holding the yum lock; exiting as configured by "
+"exit_on_lock"
+msgstr ""
+
+#: ../cli.py:532
+msgid "Trying to run the transaction but nothing to do. Exiting."
+msgstr "Tentando executar a transação, mas sem sucesso. Saindo."
+
+#: ../cli.py:577
+msgid "future rpmdb ver mismatched saved transaction version,"
+msgstr ""
+
+#: ../cli.py:579 ../yum/__init__.py:6523
+msgid " ignoring, as requested."
+msgstr ""
+
+#: ../cli.py:582 ../yum/__init__.py:6526 ../yum/__init__.py:6673
+msgid " aborting."
+msgstr ""
+
+#: ../cli.py:588
+msgid "Exiting on user Command"
+msgstr "Saindo devido a ação do utilizador"
+
+#: ../cli.py:592
+msgid "Downloading Packages:"
+msgstr "Descarregando pacotes:"
+
+#: ../cli.py:597
+msgid "Error Downloading Packages:\n"
+msgstr "Erro descarregando pacotes:\n"
+
+#: ../cli.py:616 ../yum/__init__.py:6215
+msgid "Running Transaction Check"
+msgstr "Executando verficação de transação"
+
+#: ../cli.py:625 ../yum/__init__.py:6224
+msgid "ERROR You need to update rpm to handle:"
+msgstr "ERRO: Tem de atualizar o rpm para suportar:"
+
+#: ../cli.py:627 ../yum/__init__.py:6227
+msgid "ERROR with transaction check vs depsolve:"
+msgstr "ERRO com a transação check vs depsolve:"
+
+#: ../cli.py:633
+msgid "RPM needs to be updated"
+msgstr "RPM precisa de ser atualizado"
+
+#: ../cli.py:634
+#, python-format
+msgid "Please report this error in %s"
+msgstr "Por favor este erro em %s"
+
+#: ../cli.py:640
+msgid "Running Transaction Test"
+msgstr "Correndo o teste de transição"
+
+#: ../cli.py:652
+msgid "Transaction Check Error:\n"
+msgstr "Erro de verificação de transição:\n"
+
+#: ../cli.py:659
+msgid "Transaction Test Succeeded"
+msgstr "Teste de transição executado com sucesso"
+
+#: ../cli.py:691
+msgid "Running Transaction"
+msgstr "Correndo a transição"
+
+#: ../cli.py:724
+msgid ""
+"Refusing to automatically import keys when running unattended.\n"
+"Use \"-y\" to override."
+msgstr ""
+
+#: ../cli.py:743 ../cli.py:786
+msgid "  * Maybe you meant: "
+msgstr "* Talvez queira ter dito:"
+
+#: ../cli.py:769 ../cli.py:777
+#, python-format
+msgid "Package(s) %s%s%s available, but not installed."
+msgstr ""
+
+#: ../cli.py:783 ../cli.py:891 ../cli.py:1158
+#, python-format
+msgid "No package %s%s%s available."
+msgstr ""
+
+#: ../cli.py:871 ../cli.py:881 ../cli.py:1101 ../cli.py:1111
+#, python-format
+msgid "Bad %s argument %s."
+msgstr ""
+
+#: ../cli.py:900 ../yumcommands.py:3331
+#, python-format
+msgid "%d package to install"
+msgid_plural "%d packages to install"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../cli.py:903 ../cli.py:904 ../cli.py:1169 ../cli.py:1170 ../cli.py:1224
+#: ../cli.py:1225 ../cli.py:1260 ../yumcommands.py:323 ../yumcommands.py:3419
+msgid "Nothing to do"
+msgstr "Nada a fazer"
+
+#: ../cli.py:953
+#, python-format
+msgid "%d package marked for Update"
+msgid_plural "%d packages marked for Update"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../cli.py:955
+msgid "No Packages marked for Update"
+msgstr "Sem pacotes marcados para actualização"
+
+#: ../cli.py:1067
+#, python-format
+msgid "%d package marked for Distribution Synchronization"
+msgid_plural "%d packages marked for Distribution Synchronization"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../cli.py:1069
+msgid "No Packages marked for Distribution Synchronization"
+msgstr "Sem pacotes marcados para a sincronização de distribuição"
+
+#: ../cli.py:1124
+#, python-format
+msgid "%d package marked for removal"
+msgid_plural "%d packages marked for removal"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../cli.py:1126
+msgid "No Packages marked for removal"
+msgstr "Sem pacotes marcados para remoção"
+
+#: ../cli.py:1166
+#, python-format
+msgid "%d package to downgrade"
+msgid_plural "%d packages to downgrade"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../cli.py:1207
+#, python-format
+msgid " (from %s)"
+msgstr ""
+
+#: ../cli.py:1208
+#, python-format
+msgid "Installed package %s%s%s%s not available."
+msgstr ""
+
+#: ../cli.py:1221
+#, python-format
+msgid "%d package to reinstall"
+msgid_plural "%d packages to reinstall"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../cli.py:1246
+msgid "No Packages Provided"
+msgstr ""
+
+#: ../cli.py:1259
+msgid "Package(s) to install"
+msgstr ""
+
+#: ../cli.py:1367
+#, python-format
+msgid "N/S Matched: %s"
+msgstr ""
+
+#: ../cli.py:1384
+#, python-format
+msgid "  Name and summary matches %sonly%s, use \"search all\" for everything."
+msgstr ""
+
+#: ../cli.py:1386
+#, python-format
+msgid ""
+"  Full name and summary matches %sonly%s, use \"search all\" for everything."
+msgstr ""
+
+#: ../cli.py:1404
+#, python-format
+msgid "Matched: %s"
+msgstr ""
+
+#: ../cli.py:1411
+#, python-format
+msgid "  Name and summary matches %smostly%s, use \"search all\" for everything."
+msgstr ""
+
+#: ../cli.py:1415
+#, python-format
+msgid "Warning: No matches found for: %s"
+msgstr ""
+
+#: ../cli.py:1418
+msgid "No Matches found"
+msgstr "Nenhuma ocorrência encontrada"
+
+#: ../cli.py:1536
+#, python-format
+msgid ""
+"Error: No Packages found for:\n"
+"  %s"
+msgstr ""
+
+#: ../cli.py:1572
+msgid "Cleaning repos: "
+msgstr "Limpando os repositórios: "
+
+#: ../cli.py:1577
+msgid "Cleaning up Everything"
+msgstr "Limpando Tudo"
+
+#: ../cli.py:1593
+msgid "Cleaning up Headers"
+msgstr "Limpando os Cabeçalhos"
+
+#: ../cli.py:1596
+msgid "Cleaning up Packages"
+msgstr "Limpando Pacotes"
+
+#: ../cli.py:1599
+msgid "Cleaning up xml metadata"
+msgstr "Limpando os dados XML"
+
+#: ../cli.py:1602
+msgid "Cleaning up database cache"
+msgstr "Limpando a cache da base de dados"
+
+#: ../cli.py:1605
+msgid "Cleaning up expire-cache metadata"
+msgstr ""
+
+#: ../cli.py:1608
+msgid "Cleaning up cached rpmdb data"
+msgstr ""
+
+#: ../cli.py:1611
+msgid "Cleaning up plugins"
+msgstr "Limpando os plugins"
+
+#: ../cli.py:1727
+msgid "Installed Environment Groups:"
+msgstr ""
+
+#: ../cli.py:1728
+msgid "Available Environment Groups:"
+msgstr ""
+
+#: ../cli.py:1735
+msgid "Installed Groups:"
+msgstr "Grupos Instalados:"
+
+#: ../cli.py:1742
+msgid "Installed Language Groups:"
+msgstr ""
+
+#: ../cli.py:1749
+msgid "Available Groups:"
+msgstr "Grupos Disponíveis:"
+
+#: ../cli.py:1756
+msgid "Available Language Groups:"
+msgstr ""
+
+#: ../cli.py:1759
+#, python-format
+msgid "Warning: No Environments/Groups match: %s"
+msgstr ""
+
+#: ../cli.py:1763
+msgid "Done"
+msgstr "Feito"
+
+#: ../cli.py:1818
+#, python-format
+msgid "Warning: Group/Environment %s does not exist."
+msgstr ""
+
+#: ../cli.py:1859
+#, python-format
+msgid "Warning: Environment %s does not exist."
+msgstr ""
+
+#: ../cli.py:1873 ../cli.py:1879 ../yum/__init__.py:4254
+#, python-format
+msgid "Warning: Group %s does not exist."
+msgstr ""
+
+#: ../cli.py:1883
+msgid "No packages in any requested group available to install or update"
+msgstr ""
+
+#: ../cli.py:1885
+#, python-format
+msgid "%d package to Install"
+msgid_plural "%d packages to Install"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../cli.py:1919 ../yum/__init__.py:3536 ../yum/__init__.py:3766
+#: ../yum/__init__.py:3824
+#, python-format
+msgid "No Environment named %s exists"
+msgstr ""
+
+#: ../cli.py:1935 ../yum/__init__.py:4282
+#, python-format
+msgid "No group named %s exists"
+msgstr ""
+
+#: ../cli.py:1945
+msgid "No packages to remove from groups"
+msgstr ""
+
+#: ../cli.py:1947 ../yumcommands.py:3351
+#, python-format
+msgid "%d package to remove"
+msgid_plural "%d packages to remove"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../cli.py:1988
+#, python-format
+msgid "Package %s is already installed, skipping"
+msgstr ""
+
+#: ../cli.py:1999
+#, python-format
+msgid "Discarding non-comparable pkg %s.%s"
+msgstr ""
+
+#. we've not got any installed that match n or n+a
+#: ../cli.py:2025
+#, python-format
+msgid "No other %s installed, adding to list for potential install"
+msgstr ""
+
+#: ../cli.py:2045
+msgid "Plugin Options"
+msgstr "Opções do Plugin"
+
+#: ../cli.py:2057
+#, python-format
+msgid "Command line error: %s"
+msgstr ""
+
+#: ../cli.py:2079
+#, python-format
+msgid ""
+"\n"
+"\n"
+"%s: %s option requires an argument"
+msgstr ""
+
+#: ../cli.py:2147
+msgid "--color takes one of: auto, always, never"
+msgstr ""
+
+#. We have a relative installroot ... haha
+#: ../cli.py:2218
+#, python-format
+msgid "--installroot must be an absolute path: %s"
+msgstr ""
+
+#: ../cli.py:2272
+msgid "show this help message and exit"
+msgstr "mostra esta mensagem de ajuda e sai"
+
+#: ../cli.py:2276
+msgid "be tolerant of errors"
+msgstr "sê tolerante a erros"
+
+#: ../cli.py:2279
+msgid "run entirely from system cache, don't update cache"
+msgstr "corre inteiramente através da cache do sistema, não actualiza a cache"
+
+#: ../cli.py:2282
+msgid "config file location"
+msgstr "localização do ficheiro de configuração"
+
+#: ../cli.py:2285
+msgid "maximum command wait time"
+msgstr ""
+
+#: ../cli.py:2287
+msgid "debugging output level"
+msgstr ""
+
+#: ../cli.py:2291
+msgid "show duplicates, in repos, in list/search commands"
+msgstr ""
+
+#: ../cli.py:2296
+msgid "error output level"
+msgstr ""
+
+#: ../cli.py:2299
+msgid "debugging output level for rpm"
+msgstr ""
+
+#: ../cli.py:2302
+msgid "quiet operation"
+msgstr ""
+
+#: ../cli.py:2304
+msgid "verbose operation"
+msgstr ""
+
+#: ../cli.py:2306
+msgid "answer yes for all questions"
+msgstr ""
+
+#: ../cli.py:2308
+msgid "answer no for all questions"
+msgstr ""
+
+#: ../cli.py:2312
+msgid "show Yum version and exit"
+msgstr ""
+
+#: ../cli.py:2313
+msgid "set install root"
+msgstr ""
+
+#: ../cli.py:2317
+msgid "enable one or more repositories (wildcards allowed)"
+msgstr ""
+
+#: ../cli.py:2321
+msgid "disable one or more repositories (wildcards allowed)"
+msgstr ""
+
+#: ../cli.py:2324
+msgid "exclude package(s) by name or glob"
+msgstr ""
+
+#: ../cli.py:2326
+msgid "disable exclude from main, for a repo or for everything"
+msgstr ""
+
+#: ../cli.py:2329
+msgid "enable obsoletes processing during updates"
+msgstr ""
+
+#: ../cli.py:2331
+msgid "disable Yum plugins"
+msgstr ""
+
+#: ../cli.py:2333
+msgid "disable gpg signature checking"
+msgstr ""
+
+#: ../cli.py:2335
+msgid "disable plugins by name"
+msgstr ""
+
+#: ../cli.py:2338
+msgid "enable plugins by name"
+msgstr ""
+
+#: ../cli.py:2341
+msgid "skip packages with depsolving problems"
+msgstr ""
+
+#: ../cli.py:2343
+msgid "control whether color is used"
+msgstr ""
+
+#: ../cli.py:2345
+msgid "set value of $releasever in yum config and repo files"
+msgstr ""
+
+#: ../cli.py:2347
+msgid "don't update, just download"
+msgstr ""
+
+#: ../cli.py:2349
+msgid "specifies an alternate directory to store packages"
+msgstr ""
+
+#: ../cli.py:2351
+msgid "set arbitrary config and repo options"
+msgstr ""
+
+#: ../output.py:458
+msgid "Jan"
+msgstr "Jan"
+
+#: ../output.py:458
+msgid "Feb"
+msgstr "Fev"
+
+#: ../output.py:458
+msgid "Mar"
+msgstr "Mar"
+
+#: ../output.py:458
+msgid "Apr"
+msgstr "Abr"
+
+#: ../output.py:458
+msgid "May"
+msgstr "Mai"
+
+#: ../output.py:458
+msgid "Jun"
+msgstr ""
+
+#: ../output.py:459
+msgid "Jul"
+msgstr ""
+
+#: ../output.py:459
+msgid "Aug"
+msgstr ""
+
+#: ../output.py:459
+msgid "Sep"
+msgstr ""
+
+#: ../output.py:459
+msgid "Oct"
+msgstr ""
+
+#: ../output.py:459
+msgid "Nov"
+msgstr ""
+
+#: ../output.py:459
+msgid "Dec"
+msgstr ""
+
+#: ../output.py:473
+msgid "Trying other mirror."
+msgstr ""
+
+#: ../output.py:816
+#, python-format
+msgid "Name        : %s%s%s"
+msgstr ""
+
+#: ../output.py:817
+#, python-format
+msgid "Arch        : %s"
+msgstr ""
+
+#: ../output.py:819
+#, python-format
+msgid "Epoch       : %s"
+msgstr ""
+
+#: ../output.py:820
+#, python-format
+msgid "Version     : %s"
+msgstr ""
+
+#: ../output.py:821
+#, python-format
+msgid "Release     : %s"
+msgstr ""
+
+#: ../output.py:822
+#, python-format
+msgid "Size        : %s"
+msgstr ""
+
+#: ../output.py:823 ../output.py:1329
+#, python-format
+msgid "Repo        : %s"
+msgstr ""
+
+#: ../output.py:825
+#, python-format
+msgid "From repo   : %s"
+msgstr ""
+
+#: ../output.py:827
+#, python-format
+msgid "Committer   : %s"
+msgstr ""
+
+#: ../output.py:828
+#, python-format
+msgid "Committime  : %s"
+msgstr ""
+
+#: ../output.py:829
+#, python-format
+msgid "Buildtime   : %s"
+msgstr ""
+
+#: ../output.py:831
+#, python-format
+msgid "Install time: %s"
+msgstr ""
+
+#: ../output.py:839
+#, python-format
+msgid "Installed by: %s"
+msgstr ""
+
+#: ../output.py:846
+#, python-format
+msgid "Changed by  : %s"
+msgstr ""
+
+#: ../output.py:847
+msgid "Summary     : "
+msgstr ""
+
+#: ../output.py:849 ../output.py:1345
+#, python-format
+msgid "URL         : %s"
+msgstr ""
+
+#: ../output.py:850
+msgid "License     : "
+msgstr ""
+
+#: ../output.py:851 ../output.py:1342
+msgid "Description : "
+msgstr ""
+
+#: ../output.py:969
+msgid "y"
+msgstr ""
+
+#: ../output.py:969
+msgid "yes"
+msgstr ""
+
+#: ../output.py:970
+msgid "n"
+msgstr ""
+
+#: ../output.py:970
+msgid "no"
+msgstr ""
+
+#: ../output.py:974
+msgid "Is this ok [y/N]: "
+msgstr ""
+
+#: ../output.py:1097
+#, python-format
+msgid ""
+"\n"
+"Group: %s"
+msgstr ""
+
+#: ../output.py:1101
+#, python-format
+msgid " Group-Id: %s"
+msgstr ""
+
+#: ../output.py:1122 ../output.py:1169
+#, python-format
+msgid " Description: %s"
+msgstr ""
+
+#: ../output.py:1124
+#, python-format
+msgid " Language: %s"
+msgstr ""
+
+#: ../output.py:1126
+msgid " Mandatory Packages:"
+msgstr ""
+
+#: ../output.py:1127
+msgid " Default Packages:"
+msgstr ""
+
+#: ../output.py:1128
+msgid " Optional Packages:"
+msgstr ""
+
+#: ../output.py:1129
+msgid " Conditional Packages:"
+msgstr ""
+
+#: ../output.py:1147
+msgid " Installed Packages:"
+msgstr ""
+
+#: ../output.py:1157
+#, python-format
+msgid ""
+"\n"
+"Environment Group: %s"
+msgstr ""
+
+#: ../output.py:1158
+#, python-format
+msgid " Environment-Id: %s"
+msgstr ""
+
+#: ../output.py:1191
+msgid " Mandatory Groups:"
+msgstr ""
+
+#: ../output.py:1192
+msgid " Optional Groups:"
+msgstr ""
+
+#: ../output.py:1205
+msgid " Installed Groups:"
+msgstr ""
+
+#: ../output.py:1217
+#, python-format
+msgid "package: %s"
+msgstr ""
+
+#: ../output.py:1219
+msgid "  No dependencies for this package"
+msgstr ""
+
+#: ../output.py:1224
+#, python-format
+msgid "  dependency: %s"
+msgstr ""
+
+#: ../output.py:1226
+msgid "   Unsatisfied dependency"
+msgstr ""
+
+#: ../output.py:1337
+msgid "Matched from:"
+msgstr ""
+
+#: ../output.py:1348
+#, python-format
+msgid "License     : %s"
+msgstr ""
+
+#: ../output.py:1351
+#, python-format
+msgid "Filename    : %s"
+msgstr ""
+
+#: ../output.py:1360
+msgid "Provides    : "
+msgstr ""
+
+#: ../output.py:1363
+msgid "Other       : "
+msgstr ""
+
+#: ../output.py:1426
+msgid "There was an error calculating total download size"
+msgstr ""
+
+#: ../output.py:1431
+#, python-format
+msgid "Total size: %s"
+msgstr ""
+
+#: ../output.py:1433
+#, python-format
+msgid "Total download size: %s"
+msgstr ""
+
+#: ../output.py:1436 ../output.py:1459 ../output.py:1463
+#, python-format
+msgid "Installed size: %s"
+msgstr ""
+
+#: ../output.py:1454
+msgid "There was an error calculating installed size"
+msgstr ""
+
+#: ../output.py:1504
+msgid "Reinstalling"
+msgstr ""
+
+#: ../output.py:1505
+msgid "Downgrading"
+msgstr ""
+
+#: ../output.py:1506
+msgid "Installing for dependencies"
+msgstr ""
+
+#: ../output.py:1507
+msgid "Updating for dependencies"
+msgstr ""
+
+#: ../output.py:1508
+msgid "Removing for dependencies"
+msgstr ""
+
+#: ../output.py:1515 ../output.py:1576 ../output.py:1672
+msgid "Skipped (dependency problems)"
+msgstr ""
+
+#: ../output.py:1517 ../output.py:1577 ../output.py:2223
+msgid "Not installed"
+msgstr ""
+
+#: ../output.py:1518 ../output.py:1578
+msgid "Not available"
+msgstr ""
+
+#: ../output.py:1540 ../output.py:1588 ../output.py:1604 ../output.py:2581
+msgid "Package"
+msgid_plural "Packages"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../output.py:1540
+msgid "Arch"
+msgstr ""
+
+#: ../output.py:1541
+msgid "Version"
+msgstr ""
+
+#: ../output.py:1541
+msgid "Repository"
+msgstr ""
+
+#: ../output.py:1542
+msgid "Size"
+msgstr ""
+
+#: ../output.py:1554
+#, python-format
+msgid "     replacing  %s%s%s.%s %s\n"
+msgstr ""
+
+#: ../output.py:1563
+#, python-format
+msgid ""
+"\n"
+"Transaction Summary\n"
+"%s\n"
+msgstr ""
+
+#: ../output.py:1568 ../output.py:2376 ../output.py:2377
+msgid "Install"
+msgstr ""
+
+#: ../output.py:1570
+msgid "Upgrade"
+msgstr ""
+
+#: ../output.py:1572
+msgid "Remove"
+msgstr ""
+
+#: ../output.py:1574 ../output.py:2382
+msgid "Reinstall"
+msgstr ""
+
+#: ../output.py:1575 ../output.py:2383
+msgid "Downgrade"
+msgstr ""
+
+#: ../output.py:1606
+msgid "Dependent package"
+msgid_plural "Dependent packages"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../output.py:1666
+msgid "Removed"
+msgstr ""
+
+#: ../output.py:1667
+msgid "Dependency Removed"
+msgstr ""
+
+#: ../output.py:1669
+msgid "Dependency Installed"
+msgstr ""
+
+#: ../output.py:1671
+msgid "Dependency Updated"
+msgstr ""
+
+#: ../output.py:1673
+msgid "Replaced"
+msgstr ""
+
+#: ../output.py:1674
+msgid "Failed"
+msgstr ""
+
+#. Delta between C-c's so we treat as exit
+#: ../output.py:1764
+msgid "two"
+msgstr ""
+
+#. For translators: This is output like:
+#. Current download cancelled, interrupt (ctrl-c) again within two seconds
+#. to exit.
+#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
+#: ../output.py:1775
+#, python-format
+msgid ""
+"\n"
+" Current download cancelled, %sinterrupt (ctrl-c) again%s within %s%s%s seconds\n"
+"to exit.\n"
+msgstr ""
+
+#: ../output.py:1786
+msgid "user interrupt"
+msgstr ""
+
+#: ../output.py:1812
+msgid "Total"
+msgstr ""
+
+#: ../output.py:1834
+msgid "I"
+msgstr ""
+
+#: ../output.py:1835
+msgid "O"
+msgstr ""
+
+#: ../output.py:1836
+msgid "E"
+msgstr ""
+
+#: ../output.py:1837
+msgid "R"
+msgstr ""
+
+#: ../output.py:1838
+msgid "D"
+msgstr ""
+
+#: ../output.py:1839
+msgid "U"
+msgstr ""
+
+#: ../output.py:1853
+msgid "<unset>"
+msgstr ""
+
+#: ../output.py:1854
+msgid "System"
+msgstr ""
+
+#: ../output.py:1923
+#, python-format
+msgid "Skipping merged transaction %d to %d, as it overlaps"
+msgstr ""
+
+#: ../output.py:1933 ../output.py:2125
+msgid "No transactions"
+msgstr ""
+
+#: ../output.py:1958 ../output.py:2570 ../output.py:2660
+msgid "Bad transaction IDs, or package(s), given"
+msgstr ""
+
+#: ../output.py:2007
+msgid "Command line"
+msgstr ""
+
+#: ../output.py:2009 ../output.py:2458
+msgid "Login user"
+msgstr ""
+
+#. REALLY Needs to use columns!
+#: ../output.py:2010 ../output.py:2579
+msgid "ID"
+msgstr ""
+
+#: ../output.py:2012
+msgid "Date and time"
+msgstr ""
+
+#: ../output.py:2013 ../output.py:2460 ../output.py:2580
+msgid "Action(s)"
+msgstr ""
+
+#: ../output.py:2014 ../output.py:2461
+msgid "Altered"
+msgstr ""
+
+#: ../output.py:2061
+msgid "No transaction ID given"
+msgstr ""
+
+#: ../output.py:2087 ../output.py:2526
+msgid "Bad transaction ID given"
+msgstr ""
+
+#: ../output.py:2092
+msgid "Not found given transaction ID"
+msgstr ""
+
+#: ../output.py:2100
+msgid "Found more than one transaction ID!"
+msgstr ""
+
+#: ../output.py:2151 ../output.py:2534
+msgid "No transaction ID, or package, given"
+msgstr ""
+
+#: ../output.py:2222 ../output.py:2384
+msgid "Downgraded"
+msgstr ""
+
+#: ../output.py:2224
+msgid "Older"
+msgstr ""
+
+#: ../output.py:2224
+msgid "Newer"
+msgstr ""
+
+#: ../output.py:2261 ../output.py:2263 ../output.py:2681
+msgid "Transaction ID :"
+msgstr ""
+
+#: ../output.py:2265 ../output.py:2683
+msgid "Begin time     :"
+msgstr ""
+
+#: ../output.py:2268 ../output.py:2270
+msgid "Begin rpmdb    :"
+msgstr ""
+
+#: ../output.py:2286
+#, python-format
+msgid "(%u seconds)"
+msgstr ""
+
+#: ../output.py:2288
+#, python-format
+msgid "(%u minutes)"
+msgstr ""
+
+#: ../output.py:2290
+#, python-format
+msgid "(%u hours)"
+msgstr ""
+
+#: ../output.py:2292
+#, python-format
+msgid "(%u days)"
+msgstr ""
+
+#: ../output.py:2293
+msgid "End time       :"
+msgstr ""
+
+#: ../output.py:2296 ../output.py:2298
+msgid "End rpmdb      :"
+msgstr ""
+
+#: ../output.py:2301 ../output.py:2303
+msgid "User           :"
+msgstr ""
+
+#: ../output.py:2307 ../output.py:2310 ../output.py:2312 ../output.py:2314
+#: ../output.py:2316
+msgid "Return-Code    :"
+msgstr ""
+
+#: ../output.py:2307 ../output.py:2312
+msgid "Aborted"
+msgstr ""
+
+#: ../output.py:2310
+msgid "Failures:"
+msgstr ""
+
+#: ../output.py:2314
+msgid "Failure:"
+msgstr ""
+
+#: ../output.py:2316
+msgid "Success"
+msgstr ""
+
+#: ../output.py:2321 ../output.py:2323 ../output.py:2712
+msgid "Command Line   :"
+msgstr ""
+
+#: ../output.py:2332
+#, python-format
+msgid "Additional non-default information stored: %d"
+msgstr ""
+
+#. This is _possible_, but not common
+#: ../output.py:2337
+msgid "Transaction performed with:"
+msgstr ""
+
+#: ../output.py:2341
+msgid "Packages Altered:"
+msgstr ""
+
+#: ../output.py:2345
+msgid "Packages Skipped:"
+msgstr ""
+
+#: ../output.py:2353
+msgid "Rpmdb Problems:"
+msgstr ""
+
+#: ../output.py:2364
+msgid "Scriptlet output:"
+msgstr ""
+
+#: ../output.py:2370
+msgid "Errors:"
+msgstr ""
+
+#: ../output.py:2378
+msgid "Dep-Install"
+msgstr ""
+
+#: ../output.py:2380
+msgid "Obsoleting"
+msgstr ""
+
+#: ../output.py:2381
+msgid "Erase"
+msgstr ""
+
+#: ../output.py:2385
+msgid "Update"
+msgstr ""
+
+#: ../output.py:2459
+msgid "Time"
+msgstr ""
+
+#: ../output.py:2485
+msgid "Last day"
+msgstr ""
+
+#: ../output.py:2486
+msgid "Last week"
+msgstr ""
+
+#: ../output.py:2487
+msgid "Last 2 weeks"
+msgstr ""
+
+#. US default :p
+#: ../output.py:2488
+msgid "Last 3 months"
+msgstr ""
+
+#: ../output.py:2489
+msgid "Last 6 months"
+msgstr ""
+
+#: ../output.py:2490
+msgid "Last year"
+msgstr ""
+
+#: ../output.py:2491
+msgid "Over a year ago"
+msgstr ""
+
+#: ../output.py:2538
+#, python-format
+msgid "No Transaction %s found"
+msgstr ""
+
+#: ../output.py:2544
+msgid "Transaction ID:"
+msgstr ""
+
+#: ../output.py:2545
+msgid "Available additional history information:"
+msgstr ""
+
+#: ../output.py:2558
+#, python-format
+msgid "%s: No additional data found by this name"
+msgstr ""
+
+#: ../output.py:2684
+msgid "Package        :"
+msgstr ""
+
+#: ../output.py:2685
+msgid "State          :"
+msgstr ""
+
+#: ../output.py:2688
+msgid "Size           :"
+msgstr ""
+
+#: ../output.py:2690
+msgid "Build host     :"
+msgstr ""
+
+#: ../output.py:2693
+msgid "Build time     :"
+msgstr ""
+
+#: ../output.py:2695
+msgid "Packager       :"
+msgstr ""
+
+#: ../output.py:2697
+msgid "Vendor         :"
+msgstr ""
+
+#: ../output.py:2699
+msgid "License        :"
+msgstr ""
+
+#: ../output.py:2701
+msgid "URL            :"
+msgstr ""
+
+#: ../output.py:2703
+msgid "Source RPM     :"
+msgstr ""
+
+#: ../output.py:2706
+msgid "Commit Time    :"
+msgstr ""
+
+#: ../output.py:2708
+msgid "Committer      :"
+msgstr ""
+
+#: ../output.py:2710
+msgid "Reason         :"
+msgstr ""
+
+#: ../output.py:2714
+msgid "From repo      :"
+msgstr ""
+
+#: ../output.py:2718
+msgid "Installed by   :"
+msgstr ""
+
+#: ../output.py:2722
+msgid "Changed by     :"
+msgstr ""
+
+#: ../output.py:2767
+msgid "installed"
+msgstr ""
+
+#: ../output.py:2768
+msgid "an update"
+msgstr ""
+
+#: ../output.py:2769
+msgid "erased"
+msgstr ""
+
+#: ../output.py:2770
+msgid "reinstalled"
+msgstr ""
+
+#: ../output.py:2771
+msgid "a downgrade"
+msgstr ""
+
+#: ../output.py:2772
+msgid "obsoleting"
+msgstr ""
+
+#: ../output.py:2773
+msgid "updated"
+msgstr ""
+
+#: ../output.py:2774
+msgid "obsoleted"
+msgstr ""
+
+#: ../output.py:2778
+#, python-format
+msgid "---> Package %s.%s %s:%s-%s will be %s"
+msgstr ""
+
+#: ../output.py:2789
+msgid "--> Running transaction check"
+msgstr ""
+
+#: ../output.py:2795
+msgid "--> Restarting Dependency Resolution with new changes."
+msgstr ""
+
+#: ../output.py:2801
+msgid "--> Finished Dependency Resolution"
+msgstr ""
+
+#: ../output.py:2814 ../output.py:2827
+#, python-format
+msgid "--> Processing Dependency: %s for package: %s"
+msgstr ""
+
+#: ../output.py:2841
+#, python-format
+msgid "---> Keeping package: %s due to %s"
+msgstr ""
+
+#: ../output.py:2850
+#, python-format
+msgid "--> Unresolved Dependency: %s"
+msgstr ""
+
+#: ../output.py:2867
+#, python-format
+msgid "Package: %s"
+msgstr ""
+
+#: ../output.py:2869
+#, python-format
+msgid ""
+"\n"
+"    Requires: %s"
+msgstr ""
+
+#: ../output.py:2878
+#, python-format
+msgid ""
+"\n"
+"    %s: %s (%s)"
+msgstr ""
+
+#: ../output.py:2883
+#, python-format
+msgid ""
+"\n"
+"        %s"
+msgstr ""
+
+#: ../output.py:2885
+msgid ""
+"\n"
+"        Not found"
+msgstr ""
+
+#. These should be the only three things we care about:
+#: ../output.py:2900
+msgid "Updated By"
+msgstr ""
+
+#: ../output.py:2901
+msgid "Downgraded By"
+msgstr ""
+
+#: ../output.py:2902
+msgid "Obsoleted By"
+msgstr ""
+
+#: ../output.py:2920
+msgid "Available"
+msgstr ""
+
+#: ../output.py:2955 ../output.py:2968
+#, python-format
+msgid "--> Processing Conflict: %s conflicts %s"
+msgstr ""
+
+#: ../output.py:2974
+msgid "--> Populating transaction set with selected packages. Please wait."
+msgstr ""
+
+#: ../output.py:2983
+#, python-format
+msgid "---> Downloading header for %s to pack into transaction set."
+msgstr ""
+
+#. self.event(txmbr.name, count, len(base.tsInfo), count, )
+#. (te_current*100L)/te_total
+#: ../output.py:3248
+msgid "Verifying"
+msgstr ""
+
+#: ../utils.py:123
+msgid "Running"
+msgstr ""
+
+#: ../utils.py:124
+msgid "Sleeping"
+msgstr ""
+
+#: ../utils.py:125
+msgid "Uninterruptible"
+msgstr ""
+
+#: ../utils.py:126
+msgid "Zombie"
+msgstr ""
+
+#: ../utils.py:127
+msgid "Traced/Stopped"
+msgstr ""
+
+#: ../utils.py:128 ../yumcommands.py:2193
+msgid "Unknown"
+msgstr ""
+
+#: ../utils.py:153
+msgid "  The other application is: PackageKit"
+msgstr ""
+
+#: ../utils.py:155
+#, python-format
+msgid "  The other application is: %s"
+msgstr ""
+
+#: ../utils.py:158
+#, python-format
+msgid "    Memory : %5s RSS (%5sB VSZ)"
+msgstr ""
+
+#: ../utils.py:163
+#, python-format
+msgid "    Started: %s - %s ago"
+msgstr ""
+
+#: ../utils.py:165
+#, python-format
+msgid "    State  : %s, pid: %d"
+msgstr ""
+
+#: ../utils.py:194 ../yummain.py:43
+msgid ""
+"\n"
+"\n"
+"Exiting on user cancel"
+msgstr ""
+
+#: ../utils.py:206 ../yummain.py:49
+msgid ""
+"\n"
+"\n"
+"Exiting on Broken Pipe"
+msgstr ""
+
+#: ../utils.py:208 ../yummain.py:51
+#, python-format
+msgid ""
+"\n"
+"\n"
+"%s"
+msgstr ""
+
+#: ../utils.py:326
+#, python-format
+msgid "PluginExit Error: %s"
+msgstr ""
+
+#: ../utils.py:329
+#, python-format
+msgid "Yum Error: %s"
+msgstr ""
+
+#: ../utils.py:387 ../yummain.py:147 ../yummain.py:186
+#, python-format
+msgid "Error: %s"
+msgstr ""
+
+#: ../utils.py:391 ../yummain.py:191
+msgid " You could try using --skip-broken to work around the problem"
+msgstr ""
+
+#: ../utils.py:393 ../yummain.py:87
+msgid " You could try running: rpm -Va --nofiles --nodigest"
+msgstr ""
+
+#: ../utils.py:400 ../yummain.py:157 ../yummain.py:199
+#, python-format
+msgid "Unknown Error(s): Exit Code: %d:"
+msgstr ""
+
+#: ../utils.py:406 ../yummain.py:205
+msgid ""
+"\n"
+"Dependencies Resolved"
+msgstr ""
+
+#: ../utils.py:422 ../yummain.py:237
+msgid "Complete!"
+msgstr ""
+
+#: ../yumcommands.py:42
+msgid " Mini usage:\n"
+msgstr ""
+
+#: ../yumcommands.py:52
+msgid "You need to be root to perform this command."
+msgstr ""
+
+#: ../yumcommands.py:67
+msgid ""
+"\n"
+"You have enabled checking of packages via GPG keys. This is a good thing. \n"
+"However, you do not have any GPG public keys installed. You need to download\n"
+"the keys for packages you wish to install and install them.\n"
+"You can do that by running the command:\n"
+"    rpm --import public.gpg.key\n"
+"\n"
+"\n"
+"Alternatively you can specify the url to the key you would like to use\n"
+"for a repository in the 'gpgkey' option in a repository section and yum \n"
+"will install it for you.\n"
+"\n"
+"For more information contact your distribution or package provider.\n"
+msgstr ""
+
+#: ../yumcommands.py:82
+#, python-format
+msgid "Problem repository: %s"
+msgstr ""
+
+#: ../yumcommands.py:96
+#, python-format
+msgid "Error: Need to pass a list of pkgs to %s"
+msgstr ""
+
+#: ../yumcommands.py:114
+#, python-format
+msgid "Error: Need at least two packages to %s"
+msgstr ""
+
+#: ../yumcommands.py:129
+#, python-format
+msgid "Error: Need to pass a repoid. and command to %s"
+msgstr ""
+
+#: ../yumcommands.py:136 ../yumcommands.py:142
+#, python-format
+msgid "Error: Need to pass a single valid repoid. to %s"
+msgstr ""
+
+#: ../yumcommands.py:147
+#, python-format
+msgid "Error: Repo %s is not enabled"
+msgstr ""
+
+#: ../yumcommands.py:164
+msgid "Error: Need an item to match"
+msgstr ""
+
+#: ../yumcommands.py:178
+msgid "Error: Need a group or list of groups"
+msgstr ""
+
+#: ../yumcommands.py:195
+#, python-format
+msgid "Error: clean requires an option: %s"
+msgstr "Erro: limpar exige uma opção: %s"
+
+#: ../yumcommands.py:201
+#, python-format
+msgid "Error: invalid clean argument: %r"
+msgstr "Erro: argumento de limpeza inválido: %r"
+
+#: ../yumcommands.py:216
+msgid "No argument to shell"
+msgstr ""
+
+#: ../yumcommands.py:218
+#, python-format
+msgid "Filename passed to shell: %s"
+msgstr ""
+
+#: ../yumcommands.py:222
+#, python-format
+msgid "File %s given as argument to shell does not exist."
+msgstr ""
+
+#: ../yumcommands.py:228
+msgid "Error: more than one file given as argument to shell."
+msgstr ""
+
+#: ../yumcommands.py:247
+msgid ""
+"There are no enabled repos.\n"
+" Run \"yum repolist all\" to see the repos you have.\n"
+" You can enable repos with yum-config-manager --enable <repo>"
+msgstr ""
+
+#: ../yumcommands.py:383
+msgid "PACKAGE..."
+msgstr ""
+
+#: ../yumcommands.py:390
+msgid "Install a package or packages on your system"
+msgstr ""
+
+#: ../yumcommands.py:421
+msgid "Setting up Install Process"
+msgstr ""
+
+#: ../yumcommands.py:447 ../yumcommands.py:507
+msgid "[PACKAGE...]"
+msgstr ""
+
+#: ../yumcommands.py:454
+msgid "Update a package or packages on your system"
+msgstr ""
+
+#: ../yumcommands.py:483
+msgid "Setting up Update Process"
+msgstr ""
+
+#: ../yumcommands.py:514
+msgid "Synchronize installed packages to the latest available versions"
+msgstr ""
+
+#: ../yumcommands.py:543
+msgid "Setting up Distribution Synchronization Process"
+msgstr ""
+
+#: ../yumcommands.py:603
+msgid "Display details about a package or group of packages"
+msgstr ""
+
+#: ../yumcommands.py:672
+msgid "Installed Packages"
+msgstr ""
+
+#: ../yumcommands.py:682
+msgid "Available Packages"
+msgstr ""
+
+#: ../yumcommands.py:687
+msgid "Extra Packages"
+msgstr ""
+
+#: ../yumcommands.py:691
+msgid "Updated Packages"
+msgstr ""
+
+#. This only happens in verbose mode
+#: ../yumcommands.py:699 ../yumcommands.py:706 ../yumcommands.py:1539
+msgid "Obsoleting Packages"
+msgstr ""
+
+#: ../yumcommands.py:708
+msgid "Recently Added Packages"
+msgstr ""
+
+#: ../yumcommands.py:715
+msgid "No matching Packages to list"
+msgstr ""
+
+#: ../yumcommands.py:766
+msgid "List a package or groups of packages"
+msgstr ""
+
+#: ../yumcommands.py:797
+msgid "Remove a package or packages from your system"
+msgstr ""
+
+#: ../yumcommands.py:845
+msgid "Setting up Remove Process"
+msgstr ""
+
+#: ../yumcommands.py:906
+msgid "Display, or use, the groups information"
+msgstr ""
+
+#: ../yumcommands.py:909
+msgid "Setting up Group Process"
+msgstr ""
+
+#: ../yumcommands.py:915
+msgid "No Groups on which to run command"
+msgstr ""
+
+#: ../yumcommands.py:985
+#, python-format
+msgid "Invalid groups sub-command, use: %s."
+msgstr ""
+
+#: ../yumcommands.py:992
+msgid "There is no installed groups file."
+msgstr ""
+
+#: ../yumcommands.py:994
+msgid "You don't have access to the groups DB."
+msgstr ""
+
+#: ../yumcommands.py:1256
+msgid "Generate the metadata cache"
+msgstr ""
+
+#: ../yumcommands.py:1282
+msgid "Making cache files for all metadata files."
+msgstr ""
+
+#: ../yumcommands.py:1283
+msgid "This may take a while depending on the speed of this computer"
+msgstr ""
+
+#: ../yumcommands.py:1312
+msgid "Metadata Cache Created"
+msgstr ""
+
+#: ../yumcommands.py:1350
+msgid "Remove cached data"
+msgstr ""
+
+#: ../yumcommands.py:1417
+msgid "Find what package provides the given value"
+msgstr ""
+
+#: ../yumcommands.py:1485
+msgid "Check for available package updates"
+msgstr ""
+
+#: ../yumcommands.py:1587
+msgid "Search package details for the given string"
+msgstr ""
+
+#: ../yumcommands.py:1613
+msgid "Searching Packages: "
+msgstr ""
+
+#: ../yumcommands.py:1666
+msgid "Update packages taking obsoletes into account"
+msgstr ""
+
+#: ../yumcommands.py:1696
+msgid "Setting up Upgrade Process"
+msgstr ""
+
+#: ../yumcommands.py:1731
+msgid "Install a local RPM"
+msgstr ""
+
+#: ../yumcommands.py:1761
+msgid "Setting up Local Package Process"
+msgstr ""
+
+#: ../yumcommands.py:1825
+msgid "Searching Packages for Dependency:"
+msgstr ""
+
+#: ../yumcommands.py:1867
+msgid "Run an interactive yum shell"
+msgstr ""
+
+#: ../yumcommands.py:1893
+msgid "Setting up Yum Shell"
+msgstr ""
+
+#: ../yumcommands.py:1936
+msgid "List a package's dependencies"
+msgstr ""
+
+#: ../yumcommands.py:1963
+msgid "Finding dependencies: "
+msgstr ""
+
+#: ../yumcommands.py:2005
+msgid "Display the configured software repositories"
+msgstr ""
+
+#: ../yumcommands.py:2094 ../yumcommands.py:2095
+msgid "enabled"
+msgstr ""
+
+#: ../yumcommands.py:2121 ../yumcommands.py:2122
+msgid "disabled"
+msgstr ""
+
+#: ../yumcommands.py:2137
+msgid "Repo-id      : "
+msgstr ""
+
+#: ../yumcommands.py:2138
+msgid "Repo-name    : "
+msgstr ""
+
+#: ../yumcommands.py:2141
+msgid "Repo-status  : "
+msgstr ""
+
+#: ../yumcommands.py:2144
+msgid "Repo-revision: "
+msgstr ""
+
+#: ../yumcommands.py:2148
+msgid "Repo-tags    : "
+msgstr ""
+
+#: ../yumcommands.py:2154
+msgid "Repo-distro-tags: "
+msgstr ""
+
+#: ../yumcommands.py:2159
+msgid "Repo-updated : "
+msgstr ""
+
+#: ../yumcommands.py:2161
+msgid "Repo-pkgs    : "
+msgstr ""
+
+#: ../yumcommands.py:2162
+msgid "Repo-size    : "
+msgstr ""
+
+#: ../yumcommands.py:2169 ../yumcommands.py:2190
+msgid "Repo-baseurl : "
+msgstr ""
+
+#: ../yumcommands.py:2177
+msgid "Repo-metalink: "
+msgstr ""
+
+#: ../yumcommands.py:2181
+msgid "  Updated    : "
+msgstr ""
+
+#: ../yumcommands.py:2184
+msgid "Repo-mirrors : "
+msgstr ""
+
+#: ../yumcommands.py:2199
+#, python-format
+msgid "Never (last: %s)"
+msgstr ""
+
+#: ../yumcommands.py:2201
+#, python-format
+msgid "Instant (last: %s)"
+msgstr ""
+
+#: ../yumcommands.py:2204
+#, python-format
+msgid "%s second(s) (last: %s)"
+msgstr ""
+
+#: ../yumcommands.py:2206
+msgid "Repo-expire  : "
+msgstr ""
+
+#: ../yumcommands.py:2209
+msgid "Repo-exclude : "
+msgstr ""
+
+#: ../yumcommands.py:2213
+msgid "Repo-include : "
+msgstr ""
+
+#: ../yumcommands.py:2217
+msgid "Repo-excluded: "
+msgstr ""
+
+#: ../yumcommands.py:2221
+msgid "Repo-filename: "
+msgstr ""
+
+#. Work out the first (id) and last (enabled/disalbed/count),
+#. then chop the middle (name)...
+#: ../yumcommands.py:2230 ../yumcommands.py:2259
+msgid "repo id"
+msgstr ""
+
+#: ../yumcommands.py:2247 ../yumcommands.py:2248 ../yumcommands.py:2266
+msgid "status"
+msgstr ""
+
+#: ../yumcommands.py:2260
+msgid "repo name"
+msgstr ""
+
+#: ../yumcommands.py:2332
+msgid "Display a helpful usage message"
+msgstr ""
+
+#: ../yumcommands.py:2374
+#, python-format
+msgid "No help available for %s"
+msgstr ""
+
+#: ../yumcommands.py:2379
+msgid ""
+"\n"
+"\n"
+"aliases: "
+msgstr ""
+
+#: ../yumcommands.py:2381
+msgid ""
+"\n"
+"\n"
+"alias: "
+msgstr ""
+
+#: ../yumcommands.py:2466
+msgid "Setting up Reinstall Process"
+msgstr ""
+
+#: ../yumcommands.py:2478
+msgid "reinstall a package"
+msgstr ""
+
+#: ../yumcommands.py:2541
+msgid "Setting up Downgrade Process"
+msgstr ""
+
+#: ../yumcommands.py:2552
+msgid "downgrade a package"
+msgstr ""
+
+#: ../yumcommands.py:2591
+msgid "Display a version for the machine and/or available repos."
+msgstr ""
+
+#: ../yumcommands.py:2643
+msgid " Yum version groups:"
+msgstr ""
+
+#: ../yumcommands.py:2653
+msgid " Group   :"
+msgstr ""
+
+#: ../yumcommands.py:2654
+msgid " Packages:"
+msgstr ""
+
+#: ../yumcommands.py:2683
+msgid "Installed:"
+msgstr ""
+
+#: ../yumcommands.py:2691
+msgid "Group-Installed:"
+msgstr ""
+
+#: ../yumcommands.py:2700
+msgid "Available:"
+msgstr ""
+
+#: ../yumcommands.py:2709
+msgid "Group-Available:"
+msgstr ""
+
+#: ../yumcommands.py:2783
+msgid "Display, or use, the transaction history"
+msgstr ""
+
+#: ../yumcommands.py:2876 ../yumcommands.py:2880
+msgid "Transactions:"
+msgstr ""
+
+#: ../yumcommands.py:2881
+msgid "Begin time  :"
+msgstr ""
+
+#: ../yumcommands.py:2882
+msgid "End time    :"
+msgstr ""
+
+#: ../yumcommands.py:2883
+msgid "Counts      :"
+msgstr ""
+
+#: ../yumcommands.py:2884
+msgid "  NEVRAC :"
+msgstr ""
+
+#: ../yumcommands.py:2885
+msgid "  NEVRA  :"
+msgstr ""
+
+#: ../yumcommands.py:2886
+msgid "  NA     :"
+msgstr ""
+
+#: ../yumcommands.py:2887
+msgid "  NEVR   :"
+msgstr ""
+
+#: ../yumcommands.py:2888
+msgid "  rpm DB :"
+msgstr ""
+
+#: ../yumcommands.py:2889
+msgid "  yum DB :"
+msgstr ""
+
+#: ../yumcommands.py:2922
+#, python-format
+msgid "Invalid history sub-command, use: %s."
+msgstr ""
+
+#: ../yumcommands.py:2929
+msgid "You don't have access to the history DB."
+msgstr ""
+
+#: ../yumcommands.py:3036
+msgid "Check for problems in the rpmdb"
+msgstr ""
+
+#: ../yumcommands.py:3102
+msgid "load a saved transaction from filename"
+msgstr ""
+
+#: ../yumcommands.py:3119
+msgid "No saved transaction file specified."
+msgstr ""
+
+#: ../yumcommands.py:3123
+#, python-format
+msgid "loading transaction from %s"
+msgstr ""
+
+#: ../yumcommands.py:3129
+#, python-format
+msgid "Transaction loaded from %s with %s members"
+msgstr ""
+
+#: ../yumcommands.py:3169
+msgid "Simple way to swap packages, isntead of using shell"
+msgstr ""
+
+#: ../yumcommands.py:3264
+msgid ""
+"Treat a repo. as a group of packages, so we can install/remove all of them"
+msgstr ""
+
+#: ../yumcommands.py:3341
+#, python-format
+msgid "%d package to update"
+msgid_plural "%d packages to update"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../yumcommands.py:3370
+#, python-format
+msgid "%d package to remove/reinstall"
+msgid_plural "%d packages to remove/reinstall"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../yumcommands.py:3413
+#, python-format
+msgid "%d package to remove/sync"
+msgid_plural "%d packages to remove/sync"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../yumcommands.py:3417
+#, python-format
+msgid "Not a valid sub-command of %s"
+msgstr ""
+
+#. This is mainly for PackageSackError from rpmdb.
+#: ../yummain.py:84
+#, python-format
+msgid " Yum checks failed: %s"
+msgstr ""
+
+#: ../yummain.py:98
+msgid "No read/execute access in current directory, moving to /"
+msgstr ""
+
+#: ../yummain.py:106
+msgid "No getcwd() access in current directory, moving to /"
+msgstr ""
+
+#. Depsolve stage
+#: ../yummain.py:164
+msgid "Resolving Dependencies"
+msgstr ""
+
+#: ../yummain.py:227 ../yummain.py:235
+#, python-format
+msgid ""
+"Your transaction was saved, rerun it with:\n"
+" yum load-transaction %s"
+msgstr ""
+
+#: ../yummain.py:312
+msgid ""
+"\n"
+"\n"
+"Exiting on user cancel."
+msgstr ""
+
+#: ../yum/depsolve.py:127
+msgid "doTsSetup() will go away in a future version of Yum.\n"
+msgstr ""
+
+#: ../yum/depsolve.py:143
+msgid "Setting up TransactionSets before config class is up"
+msgstr ""
+
+#: ../yum/depsolve.py:200
+#, python-format
+msgid "Invalid tsflag in config file: %s"
+msgstr ""
+
+#: ../yum/depsolve.py:218
+#, python-format
+msgid "Searching pkgSack for dep: %s"
+msgstr ""
+
+#: ../yum/depsolve.py:269
+#, python-format
+msgid "Member: %s"
+msgstr ""
+
+#: ../yum/depsolve.py:283 ../yum/depsolve.py:937
+#, python-format
+msgid "%s converted to install"
+msgstr ""
+
+#: ../yum/depsolve.py:295
+#, python-format
+msgid "Adding Package %s in mode %s"
+msgstr ""
+
+#: ../yum/depsolve.py:311
+#, python-format
+msgid "Removing Package %s"
+msgstr ""
+
+#: ../yum/depsolve.py:333
+#, python-format
+msgid "%s requires: %s"
+msgstr ""
+
+#: ../yum/depsolve.py:374
+#, python-format
+msgid "%s requires %s"
+msgstr ""
+
+#: ../yum/depsolve.py:401
+msgid "Needed Require has already been looked up, cheating"
+msgstr ""
+
+#: ../yum/depsolve.py:411
+#, python-format
+msgid "Needed Require is not a package name. Looking up: %s"
+msgstr ""
+
+#: ../yum/depsolve.py:419
+#, python-format
+msgid "Potential Provider: %s"
+msgstr ""
+
+#: ../yum/depsolve.py:442
+#, python-format
+msgid "Mode is %s for provider of %s: %s"
+msgstr ""
+
+#: ../yum/depsolve.py:446
+#, python-format
+msgid "Mode for pkg providing %s: %s"
+msgstr ""
+
+#. the thing it needs is being updated or obsoleted away
+#. try to update the requiring package in hopes that all this problem goes
+#. away :(
+#: ../yum/depsolve.py:451 ../yum/depsolve.py:486
+#, python-format
+msgid "Trying to update %s to resolve dep"
+msgstr ""
+
+#: ../yum/depsolve.py:480
+#, python-format
+msgid "No update paths found for %s. Failure!"
+msgstr ""
+
+#: ../yum/depsolve.py:491
+#, python-format
+msgid "No update paths found for %s. Failure due to requirement: %s!"
+msgstr ""
+
+#: ../yum/depsolve.py:507
+#, python-format
+msgid "Update for %s. Doesn't fix requirement: %s!"
+msgstr ""
+
+#: ../yum/depsolve.py:514
+#, python-format
+msgid "TSINFO: %s package requiring %s marked as erase"
+msgstr ""
+
+#: ../yum/depsolve.py:527
+#, python-format
+msgid "TSINFO: Obsoleting %s with %s to resolve dep."
+msgstr ""
+
+#: ../yum/depsolve.py:530
+#, python-format
+msgid "TSINFO: Updating %s to resolve dep."
+msgstr ""
+
+#: ../yum/depsolve.py:538
+#, python-format
+msgid "Cannot find an update path for dep for: %s"
+msgstr ""
+
+#: ../yum/depsolve.py:569
+#, python-format
+msgid "Quick matched %s to require for %s"
+msgstr ""
+
+#. is it already installed?
+#: ../yum/depsolve.py:611
+#, python-format
+msgid "%s is in providing packages but it is already installed, removing."
+msgstr ""
+
+#: ../yum/depsolve.py:627
+#, python-format
+msgid "Potential resolving package %s has newer instance in ts."
+msgstr ""
+
+#: ../yum/depsolve.py:638
+#, python-format
+msgid "Potential resolving package %s has newer instance installed."
+msgstr ""
+
+#: ../yum/depsolve.py:656
+#, python-format
+msgid "%s already in ts, skipping this one"
+msgstr ""
+
+#: ../yum/depsolve.py:705
+#, python-format
+msgid "TSINFO: Marking %s as update for %s"
+msgstr ""
+
+#: ../yum/depsolve.py:714
+#, python-format
+msgid "TSINFO: Marking %s as install for %s"
+msgstr ""
+
+#: ../yum/depsolve.py:849 ../yum/depsolve.py:967
+msgid "Success - empty transaction"
+msgstr ""
+
+#: ../yum/depsolve.py:889 ../yum/depsolve.py:927
+msgid "Restarting Loop"
+msgstr ""
+
+#: ../yum/depsolve.py:947
+msgid "Dependency Process ending"
+msgstr ""
+
+#: ../yum/depsolve.py:969
+msgid "Success - deps resolved"
+msgstr ""
+
+#: ../yum/depsolve.py:993
+#, python-format
+msgid "Checking deps for %s"
+msgstr ""
+
+#: ../yum/depsolve.py:1082
+#, python-format
+msgid "looking for %s as a requirement of %s"
+msgstr ""
+
+#: ../yum/depsolve.py:1349
+#, python-format
+msgid "Running compare_providers() for %s"
+msgstr ""
+
+#: ../yum/depsolve.py:1376 ../yum/depsolve.py:1382
+#, python-format
+msgid "better arch in po %s"
+msgstr ""
+
+#: ../yum/depsolve.py:1496
+#, python-format
+msgid "%s obsoletes %s"
+msgstr ""
+
+#: ../yum/depsolve.py:1508
+#, python-format
+msgid ""
+"archdist compared %s to %s on %s\n"
+"  Winner: %s"
+msgstr ""
+
+#: ../yum/depsolve.py:1516
+#, python-format
+msgid "common sourcerpm %s and %s"
+msgstr ""
+
+#: ../yum/depsolve.py:1520
+#, python-format
+msgid "base package %s is installed for %s"
+msgstr ""
+
+#: ../yum/depsolve.py:1526
+#, python-format
+msgid "common prefix of %s between %s and %s"
+msgstr ""
+
+#: ../yum/depsolve.py:1543
+#, python-format
+msgid "provides vercmp: %s"
+msgstr ""
+
+#: ../yum/depsolve.py:1547 ../yum/depsolve.py:1581
+#, python-format
+msgid " Winner: %s"
+msgstr ""
+
+#: ../yum/depsolve.py:1577
+#, python-format
+msgid "requires minimal: %d"
+msgstr ""
+
+#: ../yum/depsolve.py:1586
+#, python-format
+msgid " Loser(with %d): %s"
+msgstr ""
+
+#: ../yum/depsolve.py:1602
+#, python-format
+msgid "Best Order: %s"
+msgstr ""
+
+#: ../yum/__init__.py:274
+msgid "doConfigSetup() will go away in a future version of Yum.\n"
+msgstr ""
+
+#: ../yum/__init__.py:553
+#, python-format
+msgid "Skipping unreadable repository %s"
+msgstr ""
+
+#: ../yum/__init__.py:572
+#, python-format
+msgid "Repository %r: Error parsing config: %s"
+msgstr ""
+
+#: ../yum/__init__.py:578
+#, python-format
+msgid "Repository %r is missing name in configuration, using id"
+msgstr ""
+
+#: ../yum/__init__.py:618
+msgid "plugins already initialised"
+msgstr ""
+
+#: ../yum/__init__.py:627
+msgid "doRpmDBSetup() will go away in a future version of Yum.\n"
+msgstr ""
+
+#: ../yum/__init__.py:638
+msgid "Reading Local RPMDB"
+msgstr ""
+
+#: ../yum/__init__.py:668
+msgid "doRepoSetup() will go away in a future version of Yum.\n"
+msgstr ""
+
+#: ../yum/__init__.py:722
+msgid "doSackSetup() will go away in a future version of Yum.\n"
+msgstr ""
+
+#: ../yum/__init__.py:752
+msgid "Setting up Package Sacks"
+msgstr ""
+
+#: ../yum/__init__.py:797
+#, python-format
+msgid "repo object for repo %s lacks a _resetSack method\n"
+msgstr ""
+
+#: ../yum/__init__.py:798
+msgid "therefore this repo cannot be reset.\n"
+msgstr ""
+
+#: ../yum/__init__.py:806
+msgid "doUpdateSetup() will go away in a future version of Yum.\n"
+msgstr ""
+
+#: ../yum/__init__.py:818
+msgid "Building updates object"
+msgstr ""
+
+#: ../yum/__init__.py:862
+msgid "doGroupSetup() will go away in a future version of Yum.\n"
+msgstr ""
+
+#: ../yum/__init__.py:887
+msgid "Getting group metadata"
+msgstr ""
+
+#: ../yum/__init__.py:915
+#, python-format
+msgid "Adding group file from repository: %s"
+msgstr ""
+
+#: ../yum/__init__.py:918
+#, python-format
+msgid "Failed to retrieve group file for repository: %s"
+msgstr ""
+
+#: ../yum/__init__.py:924
+#, python-format
+msgid "Failed to add groups file for repository: %s - %s"
+msgstr ""
+
+#: ../yum/__init__.py:930
+msgid "No Groups Available in any repository"
+msgstr ""
+
+#: ../yum/__init__.py:945
+msgid "Getting pkgtags metadata"
+msgstr ""
+
+#: ../yum/__init__.py:955
+#, python-format
+msgid "Adding tags from repository: %s"
+msgstr ""
+
+#: ../yum/__init__.py:966
+#, python-format
+msgid "Failed to add Pkg Tags for repository: %s - %s"
+msgstr ""
+
+#: ../yum/__init__.py:1059
+msgid "Importing additional filelist information"
+msgstr ""
+
+#: ../yum/__init__.py:1077
+#, python-format
+msgid "The program %s%s%s is found in the yum-utils package."
+msgstr ""
+
+#: ../yum/__init__.py:1094
+msgid ""
+"There are unfinished transactions remaining. You might consider running yum-"
+"complete-transaction first to finish them."
+msgstr ""
+
+#: ../yum/__init__.py:1111
+msgid "--> Finding unneeded leftover dependencies"
+msgstr ""
+
+#: ../yum/__init__.py:1169
+#, python-format
+msgid "Protected multilib versions: %s != %s"
+msgstr ""
+
+#. People are confused about protected mutilib ... so give
+#. them a nicer message.
+#: ../yum/__init__.py:1173
+#, python-format
+msgid ""
+" Multilib version problems found. This often means that the root\n"
+"cause is something else and multilib version checking is just\n"
+"pointing out that there is a problem. Eg.:\n"
+"\n"
+"  1. You have an upgrade for %(name)s which is missing some\n"
+"     dependency that another package requires. Yum is trying to\n"
+"     solve this by installing an older version of %(name)s of the\n"
+"     different architecture. If you exclude the bad architecture\n"
+"     yum will tell you what the root cause is (which package\n"
+"     requires what). You can try redoing the upgrade with\n"
+"     --exclude %(name)s.otherarch ... this should give you an error\n"
+"     message showing the root cause of the problem.\n"
+"\n"
+"  2. You have multiple architectures of %(name)s installed, but\n"
+"     yum can only see an upgrade for one of those arcitectures.\n"
+"     If you don't want/need both architectures anymore then you\n"
+"     can remove the one with the missing update and everything\n"
+"     will work.\n"
+"\n"
+"  3. You have duplicate versions of %(name)s installed already.\n"
+"     You can use \"yum check\" to get yum show these errors.\n"
+"\n"
+"...you can also use --setopt=protected_multilib=false to remove\n"
+"this checking, however this is almost never the correct thing to\n"
+"do as something else is very likely to go wrong (often causing\n"
+"much more problems).\n"
+"\n"
+msgstr ""
+
+#: ../yum/__init__.py:1257
+#, python-format
+msgid "Trying to remove \"%s\", which is protected"
+msgstr ""
+
+#: ../yum/__init__.py:1378
+msgid ""
+"\n"
+"Packages skipped because of dependency problems:"
+msgstr ""
+
+#: ../yum/__init__.py:1382
+#, python-format
+msgid "    %s from %s"
+msgstr ""
+
+#. FIXME: _N()
+#: ../yum/__init__.py:1556
+#, python-format
+msgid "** Found %d pre-existing rpmdb problem(s), 'yum check' output follows:"
+msgstr ""
+
+#: ../yum/__init__.py:1560
+msgid "Warning: RPMDB altered outside of yum."
+msgstr ""
+
+#: ../yum/__init__.py:1572
+msgid "missing requires"
+msgstr ""
+
+#: ../yum/__init__.py:1573
+msgid "installed conflict"
+msgstr ""
+
+#: ../yum/__init__.py:1709
+msgid ""
+"Warning: scriptlet or other non-fatal errors occurred during transaction."
+msgstr ""
+
+#: ../yum/__init__.py:1719
+msgid "Transaction couldn't start:"
+msgstr ""
+
+#. should this be 'to_unicoded'?
+#: ../yum/__init__.py:1722
+msgid "Could not run transaction."
+msgstr ""
+
+#: ../yum/__init__.py:1736
+#, python-format
+msgid "Failed to remove transaction file %s"
+msgstr ""
+
+#. maybe a file log here, too
+#. but raising an exception is not going to do any good
+#: ../yum/__init__.py:1792
+#, python-format
+msgid "%s was supposed to be installed but is not!"
+msgstr ""
+
+#. maybe a file log here, too
+#. but raising an exception is not going to do any good
+#. Note: This actually triggers atm. because we can't
+#. always find the erased txmbr to set it when
+#. we should.
+#: ../yum/__init__.py:1869
+#, python-format
+msgid "%s was supposed to be removed but is not!"
+msgstr ""
+
+#. Another copy seems to be running.
+#: ../yum/__init__.py:2004
+#, python-format
+msgid "Existing lock %s: another copy is running as pid %s."
+msgstr ""
+
+#. Whoa. What the heck happened?
+#: ../yum/__init__.py:2053
+#, python-format
+msgid "Could not create lock at %s: %s "
+msgstr ""
+
+#: ../yum/__init__.py:2065
+#, python-format
+msgid "Could not open lock %s: %s"
+msgstr ""
+
+#. The pid doesn't exist
+#. Whoa. What the heck happened?
+#: ../yum/__init__.py:2082
+#, python-format
+msgid "Unable to check if PID %s is active"
+msgstr ""
+
+#: ../yum/__init__.py:2132
+#, python-format
+msgid ""
+"Package does not match intended download. Suggestion: run yum "
+"--enablerepo=%s clean metadata"
+msgstr ""
+
+#: ../yum/__init__.py:2155
+msgid "Could not perform checksum"
+msgstr ""
+
+#: ../yum/__init__.py:2158
+msgid "Package does not match checksum"
+msgstr ""
+
+#: ../yum/__init__.py:2222
+#, python-format
+msgid "package fails checksum but caching is enabled for %s"
+msgstr ""
+
+#: ../yum/__init__.py:2225 ../yum/__init__.py:2268
+#, python-format
+msgid "using local copy of %s"
+msgstr ""
+
+#. caller handles errors
+#: ../yum/__init__.py:2342
+msgid "exiting because --downloadonly specified"
+msgstr ""
+
+#: ../yum/__init__.py:2371
+msgid "Header is not complete."
+msgstr ""
+
+#: ../yum/__init__.py:2411
+#, python-format
+msgid ""
+"Header not in local cache and caching-only mode enabled. Cannot download %s"
+msgstr ""
+
+#: ../yum/__init__.py:2471
+#, python-format
+msgid "Public key for %s is not installed"
+msgstr ""
+
+#: ../yum/__init__.py:2475
+#, python-format
+msgid "Problem opening package %s"
+msgstr ""
+
+#: ../yum/__init__.py:2483
+#, python-format
+msgid "Public key for %s is not trusted"
+msgstr ""
+
+#: ../yum/__init__.py:2487
+#, python-format
+msgid "Package %s is not signed"
+msgstr ""
+
+#: ../yum/__init__.py:2529
+#, python-format
+msgid "Cannot remove %s"
+msgstr ""
+
+#: ../yum/__init__.py:2533
+#, python-format
+msgid "%s removed"
+msgstr ""
+
+#: ../yum/__init__.py:2594
+#, python-format
+msgid "Cannot remove %s file %s"
+msgstr ""
+
+#: ../yum/__init__.py:2598
+#, python-format
+msgid "%s file %s removed"
+msgstr ""
+
+#: ../yum/__init__.py:2600
+#, python-format
+msgid "%d %s file removed"
+msgid_plural "%d %s files removed"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../yum/__init__.py:2712
+#, python-format
+msgid "More than one identical match in sack for %s"
+msgstr ""
+
+#: ../yum/__init__.py:2718
+#, python-format
+msgid "Nothing matches %s.%s %s:%s-%s from update"
+msgstr ""
+
+#: ../yum/__init__.py:3096
+msgid ""
+"searchPackages() will go away in a future version of Yum."
+"                      Use searchGenerator() instead. \n"
+msgstr ""
+
+#: ../yum/__init__.py:3149
+#, python-format
+msgid "Searching %d package"
+msgid_plural "Searching %d packages"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../yum/__init__.py:3153
+#, python-format
+msgid "searching package %s"
+msgstr ""
+
+#: ../yum/__init__.py:3165
+msgid "searching in file entries"
+msgstr ""
+
+#: ../yum/__init__.py:3172
+msgid "searching in provides entries"
+msgstr ""
+
+#: ../yum/__init__.py:3369
+msgid "No group data available for configured repositories"
+msgstr ""
+
+#: ../yum/__init__.py:3466 ../yum/__init__.py:3500 ../yum/__init__.py:3576
+#: ../yum/__init__.py:3582 ../yum/__init__.py:3719 ../yum/__init__.py:3723
+#: ../yum/__init__.py:4298
+#, python-format
+msgid "No Group named %s exists"
+msgstr ""
+
+#: ../yum/__init__.py:3512 ../yum/__init__.py:3740
+#, python-format
+msgid "package %s was not marked in group %s"
+msgstr ""
+
+#. (upgrade and igroup_data[pkg] == 'available')):
+#: ../yum/__init__.py:3622
+#, python-format
+msgid "Skipping package %s from group %s"
+msgstr ""
+
+#: ../yum/__init__.py:3628
+#, python-format
+msgid "Adding package %s from group %s"
+msgstr ""
+
+#: ../yum/__init__.py:3649
+#, python-format
+msgid "No package named %s available to be installed"
+msgstr ""
+
+#: ../yum/__init__.py:3702
+#, python-format
+msgid "Warning: Group %s does not have any packages to install."
+msgstr ""
+
+#: ../yum/__init__.py:3704
+#, python-format
+msgid "Group %s does have %u conditional packages, which may get installed."
+msgstr ""
+
+#: ../yum/__init__.py:3794
+#, python-format
+msgid "Skipping group %s from environment %s"
+msgstr ""
+
+#. This can happen due to excludes after .up has
+#. happened.
+#: ../yum/__init__.py:3858
+#, python-format
+msgid "Package tuple %s could not be found in packagesack"
+msgstr ""
+
+#: ../yum/__init__.py:3886
+#, python-format
+msgid "Package tuple %s could not be found in rpmdb"
+msgstr ""
+
+#: ../yum/__init__.py:3949 ../yum/__init__.py:4012
+#, python-format
+msgid "Invalid version flag from: %s"
+msgstr ""
+
+#: ../yum/__init__.py:3973 ../yum/__init__.py:3979 ../yum/__init__.py:4036
+#: ../yum/__init__.py:4042
+#, python-format
+msgid "No Package found for %s"
+msgstr ""
+
+#: ../yum/__init__.py:4245 ../yum/__init__.py:4274
+#, python-format
+msgid "Warning: Environment Group %s does not exist."
+msgstr ""
+
+#: ../yum/__init__.py:4397
+#, python-format
+msgid "Package: %s - can't co-install with %s"
+msgstr ""
+
+#: ../yum/__init__.py:4437
+msgid "Package Object was not a package object instance"
+msgstr ""
+
+#: ../yum/__init__.py:4441
+msgid "Nothing specified to install"
+msgstr ""
+
+#: ../yum/__init__.py:4465 ../yum/__init__.py:5410
+#, python-format
+msgid "Checking for virtual provide or file-provide for %s"
+msgstr ""
+
+#: ../yum/__init__.py:4542
+#, python-format
+msgid "Package %s installed and not available"
+msgstr ""
+
+#: ../yum/__init__.py:4545
+msgid "No package(s) available to install"
+msgstr ""
+
+#: ../yum/__init__.py:4557
+#, python-format
+msgid "Package: %s  - already in transaction set"
+msgstr ""
+
+#: ../yum/__init__.py:4589
+#, python-format
+msgid "Package %s is obsoleted by %s which is already installed"
+msgstr ""
+
+#: ../yum/__init__.py:4594
+#, python-format
+msgid ""
+"Package %s is obsoleted by %s, but obsoleting package does not provide for "
+"requirements"
+msgstr ""
+
+#: ../yum/__init__.py:4597
+#, python-format
+msgid "Package %s is obsoleted by %s, trying to install %s instead"
+msgstr ""
+
+#: ../yum/__init__.py:4605
+#, python-format
+msgid "Package %s already installed and latest version"
+msgstr ""
+
+#: ../yum/__init__.py:4619
+#, python-format
+msgid "Package matching %s already installed. Checking for update."
+msgstr ""
+
+#. update everything (the easy case)
+#: ../yum/__init__.py:4751
+msgid "Updating Everything"
+msgstr ""
+
+#: ../yum/__init__.py:4775 ../yum/__init__.py:4930 ../yum/__init__.py:4975
+#: ../yum/__init__.py:5011
+#, python-format
+msgid "Not Updating Package that is already obsoleted: %s.%s %s:%s-%s"
+msgstr ""
+
+#: ../yum/__init__.py:4830 ../yum/__init__.py:5072
+#, python-format
+msgid "%s"
+msgstr ""
+
+#: ../yum/__init__.py:4854 ../yum/__init__.py:5080 ../yum/__init__.py:5416
+#, python-format
+msgid "No Match for argument: %s"
+msgstr ""
+
+#: ../yum/__init__.py:4872
+#, python-format
+msgid "No package matched to upgrade: %s"
+msgstr ""
+
+#: ../yum/__init__.py:4919
+#, python-format
+msgid "Package is already obsoleted: %s.%s %s:%s-%s"
+msgstr ""
+
+#: ../yum/__init__.py:4970
+#, python-format
+msgid "Not Updating Package that is obsoleted: %s"
+msgstr ""
+
+#: ../yum/__init__.py:4979 ../yum/__init__.py:5015
+#, python-format
+msgid "Not Updating Package that is already updated: %s.%s %s:%s-%s"
+msgstr ""
+
+#: ../yum/__init__.py:5093
+#, python-format
+msgid "No package matched to remove: %s"
+msgstr ""
+
+#: ../yum/__init__.py:5099
+#, python-format
+msgid "Skipping the running kernel: %s"
+msgstr ""
+
+#: ../yum/__init__.py:5105
+#, python-format
+msgid "Removing %s from the transaction"
+msgstr ""
+
+#: ../yum/__init__.py:5142
+#, python-format
+msgid "Cannot open: %s. Skipping."
+msgstr ""
+
+#: ../yum/__init__.py:5145 ../yum/__init__.py:5262 ../yum/__init__.py:5347
+#, python-format
+msgid "Examining %s: %s"
+msgstr ""
+
+#: ../yum/__init__.py:5149
+#, python-format
+msgid "Cannot localinstall deltarpm: %s. Skipping."
+msgstr ""
+
+#: ../yum/__init__.py:5158 ../yum/__init__.py:5265 ../yum/__init__.py:5350
+#, python-format
+msgid ""
+"Cannot add package %s to transaction. Not a compatible architecture: %s"
+msgstr ""
+
+#: ../yum/__init__.py:5164
+#, python-format
+msgid "Cannot install package %s. It is obsoleted by installed package %s"
+msgstr ""
+
+#: ../yum/__init__.py:5172
+#, python-format
+msgid ""
+"Package %s not installed, cannot update it. Run yum install to install it "
+"instead."
+msgstr ""
+
+#: ../yum/__init__.py:5191 ../yum/__init__.py:5198
+#, python-format
+msgid ""
+"Package %s.%s not installed, cannot update it. Run yum install to install it"
+" instead."
+msgstr ""
+
+#: ../yum/__init__.py:5207 ../yum/__init__.py:5270 ../yum/__init__.py:5355
+#, python-format
+msgid "Excluding %s"
+msgstr ""
+
+#: ../yum/__init__.py:5212
+#, python-format
+msgid "Marking %s to be installed"
+msgstr ""
+
+#: ../yum/__init__.py:5218
+#, python-format
+msgid "Marking %s as an update to %s"
+msgstr ""
+
+#: ../yum/__init__.py:5225
+#, python-format
+msgid "%s: does not update installed package."
+msgstr ""
+
+#: ../yum/__init__.py:5259 ../yum/__init__.py:5344
+#, python-format
+msgid "Cannot open file: %s. Skipping."
+msgstr ""
+
+#: ../yum/__init__.py:5299
+msgid "Problem in reinstall: no package matched to remove"
+msgstr ""
+
+#: ../yum/__init__.py:5325
+#, python-format
+msgid "Problem in reinstall: no package %s matched to install"
+msgstr ""
+
+#: ../yum/__init__.py:5438
+msgid "No package(s) available to downgrade"
+msgstr ""
+
+#: ../yum/__init__.py:5446
+#, python-format
+msgid "Package %s is allowed multiple installs, skipping"
+msgstr ""
+
+#: ../yum/__init__.py:5496
+#, python-format
+msgid "No Match for available package: %s"
+msgstr ""
+
+#: ../yum/__init__.py:5506
+#, python-format
+msgid "Only Upgrade available on package: %s"
+msgstr ""
+
+#: ../yum/__init__.py:5619 ../yum/__init__.py:5686
+#, python-format
+msgid "Failed to downgrade: %s"
+msgstr ""
+
+#: ../yum/__init__.py:5636 ../yum/__init__.py:5692
+#, python-format
+msgid "Failed to upgrade: %s"
+msgstr ""
+
+#: ../yum/__init__.py:5725
+#, python-format
+msgid "Retrieving key from %s"
+msgstr ""
+
+#: ../yum/__init__.py:5743
+msgid "GPG key retrieval failed: "
+msgstr ""
+
+#. if we decide we want to check, even though the sig failed
+#. here is where we would do that
+#: ../yum/__init__.py:5766
+#, python-format
+msgid "GPG key signature on key %s does not match CA Key for repo: %s"
+msgstr ""
+
+#: ../yum/__init__.py:5768
+msgid "GPG key signature verified against CA Key(s)"
+msgstr ""
+
+#: ../yum/__init__.py:5776
+#, python-format
+msgid "Invalid GPG Key from %s: %s"
+msgstr ""
+
+#: ../yum/__init__.py:5785
+#, python-format
+msgid "GPG key parsing failed: key does not have value %s"
+msgstr ""
+
+#: ../yum/__init__.py:5801
+#, python-format
+msgid ""
+"Importing %s key 0x%s:\n"
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" Package    : %s (%s)\n"
+" From       : %s"
+msgstr ""
+
+#: ../yum/__init__.py:5811
+#, python-format
+msgid ""
+"Importing %s key 0x%s:\n"
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" From       : %s"
+msgstr ""
+
+#: ../yum/__init__.py:5839
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" Failing package is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr ""
+
+#: ../yum/__init__.py:5853
+#, python-format
+msgid "GPG key at %s (0x%s) is already installed"
+msgstr ""
+
+#: ../yum/__init__.py:5891
+#, python-format
+msgid "Key import failed (code %d)"
+msgstr ""
+
+#: ../yum/__init__.py:5893 ../yum/__init__.py:5994
+msgid "Key imported successfully"
+msgstr ""
+
+#: ../yum/__init__.py:5897
+msgid "Didn't install any keys"
+msgstr ""
+
+#: ../yum/__init__.py:5900
+#, python-format
+msgid ""
+"The GPG keys listed for the \"%s\" repository are already installed but they are not correct for this package.\n"
+"Check that the correct key URLs are configured for this repository."
+msgstr ""
+
+#: ../yum/__init__.py:5910
+msgid "Import of key(s) didn't help, wrong key(s)?"
+msgstr ""
+
+#: ../yum/__init__.py:5932
+msgid "No"
+msgstr ""
+
+#: ../yum/__init__.py:5934
+msgid "Yes"
+msgstr ""
+
+#: ../yum/__init__.py:5935
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" CA Key: %s\n"
+" Failing repo is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr ""
+
+#: ../yum/__init__.py:5948
+#, python-format
+msgid "GPG key at %s (0x%s) is already imported"
+msgstr ""
+
+#: ../yum/__init__.py:5992
+#, python-format
+msgid "Key %s import failed"
+msgstr ""
+
+#: ../yum/__init__.py:6009
+#, python-format
+msgid "Didn't install any keys for repo %s"
+msgstr ""
+
+#: ../yum/__init__.py:6014
+#, python-format
+msgid ""
+"The GPG keys listed for the \"%s\" repository are already installed but they are not correct.\n"
+"Check that the correct key URLs are configured for this repository."
+msgstr ""
+
+#: ../yum/__init__.py:6172
+msgid "Unable to find a suitable mirror."
+msgstr ""
+
+#: ../yum/__init__.py:6174
+msgid "Errors were encountered while downloading packages."
+msgstr ""
+
+#: ../yum/__init__.py:6229
+#, python-format
+msgid "Please report this error at %s"
+msgstr ""
+
+#: ../yum/__init__.py:6246
+msgid "Test Transaction Errors: "
+msgstr ""
+
+#: ../yum/__init__.py:6358
+#, python-format
+msgid "Could not set cachedir: %s"
+msgstr ""
+
+#: ../yum/__init__.py:6420 ../yum/__init__.py:6422
+msgid "Dependencies not solved. Will not save unresolved transaction."
+msgstr ""
+
+#: ../yum/__init__.py:6455 ../yum/__init__.py:6457
+#, python-format
+msgid "Could not save transaction file %s: %s"
+msgstr ""
+
+#: ../yum/__init__.py:6483
+#, python-format
+msgid "Could not access/read saved transaction %s : %s"
+msgstr ""
+
+#: ../yum/__init__.py:6521
+msgid "rpmdb ver mismatched saved transaction version,"
+msgstr ""
+
+#: ../yum/__init__.py:6535
+msgid "cannot find tsflags or tsflags not integer."
+msgstr ""
+
+#: ../yum/__init__.py:6584
+#, python-format
+msgid "Found txmbr in unknown current state: %s"
+msgstr ""
+
+#: ../yum/__init__.py:6588
+#, python-format
+msgid "Could not find txmbr: %s in state %s"
+msgstr ""
+
+#: ../yum/__init__.py:6625 ../yum/__init__.py:6642
+#, python-format
+msgid "Could not find txmbr: %s from origin: %s"
+msgstr ""
+
+#: ../yum/__init__.py:6667
+msgid "Transaction members, relations are missing or ts has been modified,"
+msgstr ""
+
+#: ../yum/__init__.py:6670
+msgid " ignoring, as requested. You must redepsolve!"
+msgstr ""
+
+#. Debugging output
+#: ../yum/__init__.py:6738 ../yum/__init__.py:6757
+#, python-format
+msgid "%s has been visited already and cannot be removed."
+msgstr ""
+
+#. Debugging output
+#: ../yum/__init__.py:6741
+#, python-format
+msgid "Examining revdeps of %s"
+msgstr ""
+
+#. Debugging output
+#: ../yum/__init__.py:6762
+#, python-format
+msgid "%s has revdep %s which was user-installed."
+msgstr ""
+
+#: ../yum/__init__.py:6773 ../yum/__init__.py:6779
+#, python-format
+msgid "%s is needed by a package to be installed."
+msgstr ""
+
+#. Debugging output
+#: ../yum/__init__.py:6793
+#, python-format
+msgid "%s has no user-installed revdeps."
+msgstr ""
+
+#. Mostly copied from YumOutput._outKeyValFill()
+#: ../yum/plugins.py:212
+msgid "Loaded plugins: "
+msgstr ""
+
+#: ../yum/plugins.py:226 ../yum/plugins.py:232
+#, python-format
+msgid "No plugin match for: %s"
+msgstr ""
+
+#: ../yum/plugins.py:262
+#, python-format
+msgid "Not loading \"%s\" plugin, as it is disabled"
+msgstr ""
+
+#. Give full backtrace:
+#: ../yum/plugins.py:274
+#, python-format
+msgid "Plugin \"%s\" can't be imported"
+msgstr ""
+
+#: ../yum/plugins.py:281
+#, python-format
+msgid "Plugin \"%s\" doesn't specify required API version"
+msgstr ""
+
+#: ../yum/plugins.py:286
+#, python-format
+msgid "Plugin \"%s\" requires API %s. Supported API is %s."
+msgstr ""
+
+#: ../yum/plugins.py:319
+#, python-format
+msgid "Loading \"%s\" plugin"
+msgstr ""
+
+#: ../yum/plugins.py:326
+#, python-format
+msgid "Two or more plugins with the name \"%s\" exist in the plugin search path"
+msgstr ""
+
+#: ../yum/plugins.py:346
+#, python-format
+msgid "Configuration file %s not found"
+msgstr ""
+
+#. for
+#. Configuration files for the plugin not found
+#: ../yum/plugins.py:349
+#, python-format
+msgid "Unable to find configuration file for plugin %s"
+msgstr ""
+
+#: ../yum/plugins.py:553
+msgid "registration of commands not supported"
+msgstr ""
+
+#: ../yum/rpmsack.py:159
+msgid "has missing requires of"
+msgstr ""
+
+#: ../yum/rpmsack.py:162
+msgid "has installed conflicts"
+msgstr ""
+
+#: ../yum/rpmsack.py:171
+#, python-format
+msgid "%s is a duplicate with %s"
+msgstr ""
+
+#: ../yum/rpmsack.py:179
+#, python-format
+msgid "%s is obsoleted by %s"
+msgstr ""
+
+#: ../yum/rpmsack.py:187
+#, python-format
+msgid "%s provides %s but it cannot be found"
+msgstr ""
+
+#: ../yum/rpmtrans.py:80
+msgid "Repackaging"
+msgstr ""
+
+#: ../yum/rpmtrans.py:149
+#, python-format
+msgid "Verify: %u/%u: %s"
+msgstr ""
+
+#: ../yum/yumRepo.py:919
+#, python-format
+msgid ""
+"Insufficient space in download directory %s\n"
+"    * free   %s\n"
+"    * needed %s"
+msgstr ""
+
+#: ../yum/yumRepo.py:986
+msgid "Package does not match intended download."
+msgstr ""
+
+#: ../rpmUtils/oldUtils.py:33
+#, python-format
+msgid "Header cannot be opened or does not match %s, %s."
+msgstr ""
+
+#: ../rpmUtils/oldUtils.py:53
+#, python-format
+msgid "RPM %s fails md5 check"
+msgstr ""
+
+#: ../rpmUtils/oldUtils.py:151
+msgid "Could not open RPM database for reading. Perhaps it is already in use?"
+msgstr ""
+
+#: ../rpmUtils/oldUtils.py:183
+msgid "Got an empty Header, something has gone wrong"
+msgstr ""
+
+#: ../rpmUtils/oldUtils.py:253 ../rpmUtils/oldUtils.py:260
+#: ../rpmUtils/oldUtils.py:263 ../rpmUtils/oldUtils.py:266
+#, python-format
+msgid "Damaged Header %s"
+msgstr ""
+
+#: ../rpmUtils/oldUtils.py:281
+#, python-format
+msgid "Error opening rpm %s - error %s"
+msgstr ""
diff --git a/po/pygettext.py b/po/pygettext.py
index 276a433..7f13138 100644
--- a/po/pygettext.py
+++ b/po/pygettext.py
@@ -1,4 +1,5 @@
 #!/usr/bin/python
+# coding=utf-8
 # Originally written by Barry Warsaw <bwarsaw@python.org>
 #
 # minimally patched to make it even more xgettext compatible 
diff --git a/po/ru.po b/po/ru.po
index 52ba58b..c474606 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -2,1514 +2,1657 @@
 # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
 # This file is distributed under the same license as the PACKAGE package.
 # 
-# Misha Shnurapet <shnurapet AT fedoraproject.org>, 2011
-# Misha Shnurapet <shnurapet@fedoraproject.org>, 2011
+# Translators:
+# Misha Shnurapet <shnurapet AT fedoraproject.org>, 2011.
+# Misha Shnurapet <shnurapet@fedoraproject.org>, 2011-2012.
+# Игорь Горбунов <igor.gorbounov@gmail.com>, 2012.
 msgid ""
 msgstr ""
 "Project-Id-Version: Yum\n"
-"Report-Msgid-Bugs-To: http://yum.baseurl.org/\n"
-"POT-Creation-Date: 2011-06-06 10:21-0400\n"
-"PO-Revision-Date: 2011-06-06 14:21+0000\n"
-"Last-Translator: skvidal <skvidal@fedoraproject.org>\n"
-"Language-Team: Russian (http://www.transifex.net/projects/p/yum/team/ru/)\n"
+"Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
+"POT-Creation-Date: 2013-01-30 09:08-0500\n"
+"PO-Revision-Date: 2013-01-30 14:08+0000\n"
+"Last-Translator: james <james@fedoraproject.org>\n"
+"Language-Team: Russian (http://www.transifex.com/projects/p/yum/language/ru/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Language: ru\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
 
-#: ../callback.py:48 ../output.py:1037 ../yum/rpmtrans.py:73
+#: ../callback.py:45 ../output.py:1502 ../yum/rpmtrans.py:73
 msgid "Updating"
 msgstr "Обновление"
 
-#: ../callback.py:49 ../yum/rpmtrans.py:74
+#: ../callback.py:46 ../yum/rpmtrans.py:74
 msgid "Erasing"
 msgstr "Удаление"
 
-#: ../callback.py:50 ../callback.py:51 ../callback.py:53 ../output.py:1036
-#: ../output.py:2218 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
+#: ../callback.py:47 ../callback.py:48 ../callback.py:50 ../output.py:1501
+#: ../output.py:2922 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
 #: ../yum/rpmtrans.py:78
 msgid "Installing"
 msgstr "Установка"
 
-#: ../callback.py:52 ../callback.py:58 ../output.py:1840 ../yum/rpmtrans.py:77
+#: ../callback.py:49 ../callback.py:55 ../output.py:2379 ../yum/rpmtrans.py:77
 msgid "Obsoleted"
 msgstr "Исключено"
 
-#: ../callback.py:54 ../output.py:1169 ../output.py:1686 ../output.py:1847
+#: ../callback.py:51 ../output.py:1670 ../output.py:2222 ../output.py:2386
 msgid "Updated"
 msgstr "Обновлено"
 
-#: ../callback.py:55 ../output.py:1685
+#: ../callback.py:52 ../output.py:2221
 msgid "Erased"
 msgstr "Удалено"
 
-#: ../callback.py:56 ../callback.py:57 ../callback.py:59 ../output.py:1167
-#: ../output.py:1685 ../output.py:1687 ../output.py:2190
+#: ../callback.py:53 ../callback.py:54 ../callback.py:56 ../output.py:1668
+#: ../output.py:2221 ../output.py:2223 ../output.py:2894
 msgid "Installed"
 msgstr "Установлено"
 
-#: ../callback.py:130
+#: ../callback.py:142
 msgid "No header - huh?"
 msgstr "Заголовка нет — ага?"
 
-#: ../callback.py:168
+#: ../callback.py:180
 msgid "Repackage"
 msgstr "Переупаковка"
 
-#: ../callback.py:189
+#: ../callback.py:201
 #, python-format
 msgid "Error: invalid output state: %s for %s"
 msgstr "Ошибка: неверный код выхода: %s для %s"
 
-#: ../callback.py:212
+#: ../callback.py:224
 #, python-format
 msgid "Erased: %s"
 msgstr "Удален: %s"
 
-#: ../callback.py:217 ../output.py:1038 ../output.py:2193
+#: ../callback.py:229 ../output.py:1503 ../output.py:2897
 msgid "Removing"
 msgstr "Удаление"
 
-#: ../callback.py:219 ../yum/rpmtrans.py:79
+#: ../callback.py:231 ../yum/rpmtrans.py:79
 msgid "Cleanup"
 msgstr "Очистка"
 
-#: ../cli.py:115
+#: ../cli.py:122
 #, python-format
 msgid "Command \"%s\" already defined"
 msgstr "Команда \"%s\" уже используется"
 
-#: ../cli.py:127
+#: ../cli.py:137
 msgid "Setting up repositories"
 msgstr "Настройка репозиториев"
 
-#: ../cli.py:138
+#: ../cli.py:148
 msgid "Reading repository metadata in from local files"
 msgstr "Чтение локальных метаданных для репозиториев"
 
-#: ../cli.py:245 ../utils.py:281
+#: ../cli.py:273 ../cli.py:277 ../utils.py:320
 #, python-format
 msgid "Config Error: %s"
 msgstr "Ошибка в настройке: %s"
 
-#: ../cli.py:248 ../cli.py:1584 ../utils.py:284
+#: ../cli.py:280 ../cli.py:2206 ../utils.py:323
 #, python-format
 msgid "Options Error: %s"
 msgstr "Ошибка в параметре: %s"
 
-#: ../cli.py:293
+#: ../cli.py:327
 #, python-format
 msgid "  Installed: %s-%s at %s"
 msgstr "  Установлено: %s-%s из %s"
 
-#: ../cli.py:295
+#: ../cli.py:329
 #, python-format
 msgid "  Built    : %s at %s"
 msgstr "  Собрано    : %s из %s"
 
-#: ../cli.py:297
+#: ../cli.py:331
 #, python-format
 msgid "  Committed: %s at %s"
 msgstr "  Передано   : %s из %s"
 
-#: ../cli.py:336
+#: ../cli.py:372
 msgid "You need to give some command"
 msgstr "Необходимо задать команду"
 
-#: ../cli.py:350
+#: ../cli.py:386
 #, python-format
 msgid "No such command: %s. Please use %s --help"
 msgstr "Не найдена команда: %s Пожалуйста, воспользуйтесь %s --help"
 
-#: ../cli.py:400
+#: ../cli.py:444
 msgid "Disk Requirements:\n"
 msgstr "Требование к носителю:\n"
 
-#: ../cli.py:402
+#: ../cli.py:446
 #, python-format
 msgid "  At least %dMB more space needed on the %s filesystem.\n"
-msgstr " Необходимо по меньшей мере %dМБ на разделе %s.\n"
+msgid_plural "  At least %dMB more space needed on the %s filesystem.\n"
+msgstr[0] " Необходимо по меньшей мере %dМБ на разделе %s.\n"
+msgstr[1] " Необходимо по меньшей мере %dМБ на разделе %s.\n"
+msgstr[2] " Необходимо по меньшей мере %dМБ на разделе %s.\n"
 
 #. TODO: simplify the dependency errors?
 #. Fixup the summary
-#: ../cli.py:407
+#: ../cli.py:451
 msgid ""
 "Error Summary\n"
 "-------------\n"
-msgstr ""
-"Сводка ошибок\n"
-"-------------\n"
+msgstr "Сводка ошибок\n-------------\n"
+
+#: ../cli.py:472
+msgid "Can't create lock file; exiting"
+msgstr "Не удалось создать файл блокировки; завершение"
+
+#: ../cli.py:479
+msgid ""
+"Another app is currently holding the yum lock; exiting as configured by "
+"exit_on_lock"
+msgstr "Другое приложение удерживает данные Yum; выход согласно exit_on_lock"
 
-#: ../cli.py:450
+#: ../cli.py:532
 msgid "Trying to run the transaction but nothing to do. Exiting."
 msgstr "Попытка предпринята, делать нечего. Завершение."
 
-#: ../cli.py:497
+#: ../cli.py:577
+msgid "future rpmdb ver mismatched saved transaction version,"
+msgstr ""
+
+#: ../cli.py:579 ../yum/__init__.py:6523
+msgid " ignoring, as requested."
+msgstr " игнорирование, как потребуется"
+
+#: ../cli.py:582 ../yum/__init__.py:6526 ../yum/__init__.py:6673
+msgid " aborting."
+msgstr " прерывание"
+
+#: ../cli.py:588
 msgid "Exiting on user Command"
 msgstr "Выход по запросу пользователя"
 
-#: ../cli.py:501
+#: ../cli.py:592
 msgid "Downloading Packages:"
 msgstr "Загрузка пакетов:"
 
-#: ../cli.py:506
+#: ../cli.py:597
 msgid "Error Downloading Packages:\n"
 msgstr "Ошибка загрузки пакетов:\n"
 
-#: ../cli.py:525 ../yum/__init__.py:4967
+#: ../cli.py:616 ../yum/__init__.py:6215
 msgid "Running Transaction Check"
 msgstr "Проверка сценария"
 
-#: ../cli.py:534 ../yum/__init__.py:4976
+#: ../cli.py:625 ../yum/__init__.py:6224
 msgid "ERROR You need to update rpm to handle:"
 msgstr "ОШИБКА — необходимо обновить RPM для обработки:"
 
-#: ../cli.py:536 ../yum/__init__.py:4979
+#: ../cli.py:627 ../yum/__init__.py:6227
 msgid "ERROR with transaction check vs depsolve:"
 msgstr "ОШИБКА при проверке сценария на этапе зависимостей:"
 
-#: ../cli.py:542
+#: ../cli.py:633
 msgid "RPM needs to be updated"
 msgstr "Следует обновить RPM"
 
-#: ../cli.py:543
+#: ../cli.py:634
 #, python-format
 msgid "Please report this error in %s"
 msgstr "Пожалуйста, сообщите об ошибке в %s"
 
-#: ../cli.py:549
+#: ../cli.py:640
 msgid "Running Transaction Test"
 msgstr "Проверяем сценарий"
 
-#: ../cli.py:561
+#: ../cli.py:652
 msgid "Transaction Check Error:\n"
 msgstr "Проверка сценария завершена с ошибкой:\n"
 
-#: ../cli.py:568
+#: ../cli.py:659
 msgid "Transaction Test Succeeded"
 msgstr "Проверка сценария прошла успешно"
 
-#: ../cli.py:600
+#: ../cli.py:691
 msgid "Running Transaction"
 msgstr "Выполнение сценария"
 
-#: ../cli.py:630
+#: ../cli.py:724
 msgid ""
 "Refusing to automatically import keys when running unattended.\n"
 "Use \"-y\" to override."
-msgstr ""
-"Отмена автоматического импорта ключей во время запуска без контроля.\n"
-"Используйте \"-y\" для игнорирования."
+msgstr "Отмена автоматического импорта ключей во время запуска без контроля.\nИспользуйте \"-y\" для игнорирования."
 
-#: ../cli.py:649 ../cli.py:692
+#: ../cli.py:743 ../cli.py:786
 msgid "  * Maybe you meant: "
 msgstr "  * Возможно, вы имели в виду: "
 
-#: ../cli.py:675 ../cli.py:683
+#: ../cli.py:769 ../cli.py:777
 #, python-format
 msgid "Package(s) %s%s%s available, but not installed."
 msgstr "Пакет %s%s%s доступен, но не установлен."
 
-#: ../cli.py:689 ../cli.py:722 ../cli.py:908
+#: ../cli.py:783 ../cli.py:891 ../cli.py:1158
 #, python-format
 msgid "No package %s%s%s available."
 msgstr "Пакета с названием %s%s%s не найдено."
 
-#: ../cli.py:729 ../cli.py:973
-msgid "Package(s) to install"
-msgstr "Пакет(ы) для установки"
+#: ../cli.py:871 ../cli.py:881 ../cli.py:1101 ../cli.py:1111
+#, python-format
+msgid "Bad %s argument %s."
+msgstr ""
+
+#: ../cli.py:900 ../yumcommands.py:3331
+#, python-format
+msgid "%d package to install"
+msgid_plural "%d packages to install"
+msgstr[0] "%d пакет к установке"
+msgstr[1] "%d пакета к установке"
+msgstr[2] "%d пакетов к установке"
 
-#: ../cli.py:732 ../cli.py:733 ../cli.py:914 ../cli.py:948 ../cli.py:974
-#: ../yumcommands.py:190
+#: ../cli.py:903 ../cli.py:904 ../cli.py:1169 ../cli.py:1170 ../cli.py:1224
+#: ../cli.py:1225 ../cli.py:1260 ../yumcommands.py:323 ../yumcommands.py:3419
 msgid "Nothing to do"
 msgstr "Выполнять нечего"
 
-#: ../cli.py:767
+#: ../cli.py:953
 #, python-format
-msgid "%d packages marked for Update"
-msgstr "%d пакеты отмечены для обновления"
+msgid "%d package marked for Update"
+msgid_plural "%d packages marked for Update"
+msgstr[0] "%d пакет помечен для обновления"
+msgstr[1] "%d пакета помечено для обновления"
+msgstr[2] "%d пакетов помечено для обновления"
 
-#: ../cli.py:770
+#: ../cli.py:955
 msgid "No Packages marked for Update"
 msgstr "Пакетов, отмеченных для обновления, нет."
 
-#: ../cli.py:866
+#: ../cli.py:1067
 #, python-format
-msgid "%d packages marked for Distribution Synchronization"
-msgstr "Отмечено пакетов для синхронизации: %d"
+msgid "%d package marked for Distribution Synchronization"
+msgid_plural "%d packages marked for Distribution Synchronization"
+msgstr[0] "%d пакет помечен для синхронизации"
+msgstr[1] "%d пакета помечены для синхронизации"
+msgstr[2] "%d пакетов помечено для синхронизации"
 
-#: ../cli.py:869
+#: ../cli.py:1069
 msgid "No Packages marked for Distribution Synchronization"
 msgstr "Пакетов, отмеченных для синхронизации, нет"
 
-#: ../cli.py:885
+#: ../cli.py:1124
 #, python-format
-msgid "%d packages marked for removal"
-msgstr "%d пакеты отмечены для удаления"
+msgid "%d package marked for removal"
+msgid_plural "%d packages marked for removal"
+msgstr[0] "%d пакет помечен для удаления"
+msgstr[1] "%d пакета помечены к удалению"
+msgstr[2] "%d пакетов помечено к удалению"
 
-#: ../cli.py:888
+#: ../cli.py:1126
 msgid "No Packages marked for removal"
 msgstr "Пакетов, отмеченных для удаления, нет."
 
-#: ../cli.py:913
-msgid "Package(s) to downgrade"
-msgstr "Пакет(ы) для отката версии"
+#: ../cli.py:1166
+#, python-format
+msgid "%d package to downgrade"
+msgid_plural "%d packages to downgrade"
+msgstr[0] "%d пакет для отката"
+msgstr[1] "%d пакета для отката"
+msgstr[2] "%d пакетов для отката"
 
-#: ../cli.py:938
+#: ../cli.py:1207
 #, python-format
 msgid " (from %s)"
 msgstr " (из %s)"
 
-#: ../cli.py:939
+#: ../cli.py:1208
 #, python-format
 msgid "Installed package %s%s%s%s not available."
 msgstr "Установленный пакет %s%s%s%s недоступен."
 
-#: ../cli.py:947
-msgid "Package(s) to reinstall"
-msgstr "Пакет(ы) для переустановки"
+#: ../cli.py:1221
+#, python-format
+msgid "%d package to reinstall"
+msgid_plural "%d packages to reinstall"
+msgstr[0] "%d пакет для переустановки"
+msgstr[1] "%d пакета для переустановки"
+msgstr[2] "%d пакетов для переустановки"
 
-#: ../cli.py:960
+#: ../cli.py:1246
 msgid "No Packages Provided"
 msgstr "Пакеты не предоставлены"
 
-#: ../cli.py:1058
+#: ../cli.py:1259
+msgid "Package(s) to install"
+msgstr "Пакет(ы) для установки"
+
+#: ../cli.py:1367
 #, python-format
 msgid "N/S Matched: %s"
 msgstr "Совпадений: %s"
 
-#: ../cli.py:1075
+#: ../cli.py:1384
 #, python-format
 msgid "  Name and summary matches %sonly%s, use \"search all\" for everything."
-msgstr ""
-"  Название и описание совпадают только с %sonly%s, используйте «search all»,"
-" чтобы искать везде."
+msgstr "  Показаны %sтолько%s совпадения по названиям и описаниям, для большего используйте «search all»."
 
-#: ../cli.py:1077
+#: ../cli.py:1386
 #, python-format
 msgid ""
 "  Full name and summary matches %sonly%s, use \"search all\" for everything."
-msgstr ""
-"  Полное название и описание совпадают только с %sonly%s, используйте "
-"«search all», чтобы искать везде."
+msgstr "  Показаны %sтолько%s полные совпадения по названиям и описаниям, для большего используйте «search all»."
 
-#: ../cli.py:1095
+#: ../cli.py:1404
 #, python-format
 msgid "Matched: %s"
 msgstr "Совпадений: %s"
 
-#: ../cli.py:1102
+#: ../cli.py:1411
 #, python-format
 msgid "  Name and summary matches %smostly%s, use \"search all\" for everything."
-msgstr ""
-"  Название и описание совпадают с %smostly%s, используйте «search all», "
-"чтобы искать везде."
+msgstr "  Показаны %sв основном%s совпадения по названияю и описанию, для большего используйте «search all»."
 
-#: ../cli.py:1106
+#: ../cli.py:1415
 #, python-format
 msgid "Warning: No matches found for: %s"
 msgstr "Внимание: совпадений для %s не найдено"
 
-#: ../cli.py:1109
+#: ../cli.py:1418
 msgid "No Matches found"
 msgstr "Совпадений не найдено"
 
-#: ../cli.py:1174
+#: ../cli.py:1536
 #, python-format
-msgid "No Package Found for %s"
-msgstr "Пакет для %s не найден"
+msgid ""
+"Error: No Packages found for:\n"
+"  %s"
+msgstr "Ошибка: не найдено пакетов для:\n  %s"
 
-#: ../cli.py:1184
+#: ../cli.py:1572
 msgid "Cleaning repos: "
 msgstr "Сброс источников:"
 
-#: ../cli.py:1189
+#: ../cli.py:1577
 msgid "Cleaning up Everything"
 msgstr "Очистка всего"
 
-#: ../cli.py:1205
+#: ../cli.py:1593
 msgid "Cleaning up Headers"
 msgstr "Очистка заголовков"
 
-#: ../cli.py:1208
+#: ../cli.py:1596
 msgid "Cleaning up Packages"
 msgstr "Очистка пакетов"
 
-#: ../cli.py:1211
+#: ../cli.py:1599
 msgid "Cleaning up xml metadata"
 msgstr "Очистка xml метаданных"
 
-#: ../cli.py:1214
+#: ../cli.py:1602
 msgid "Cleaning up database cache"
 msgstr "Очистка кэша данных"
 
-#: ../cli.py:1217
+#: ../cli.py:1605
 msgid "Cleaning up expire-cache metadata"
 msgstr "Очистка устаревшего кэша"
 
-#: ../cli.py:1220
+#: ../cli.py:1608
 msgid "Cleaning up cached rpmdb data"
 msgstr "Очистка кэша данных базы RPM"
 
-#: ../cli.py:1223
+#: ../cli.py:1611
 msgid "Cleaning up plugins"
 msgstr "Сброс модулей"
 
-#: ../cli.py:1247
-#, python-format
-msgid "Warning: No groups match: %s"
-msgstr "Предупреждение: Ни одна группа не совпадает: %s"
+#: ../cli.py:1727
+msgid "Installed Environment Groups:"
+msgstr ""
 
-#: ../cli.py:1264
+#: ../cli.py:1728
+msgid "Available Environment Groups:"
+msgstr ""
+
+#: ../cli.py:1735
 msgid "Installed Groups:"
 msgstr "Установлены коллекции:"
 
-#: ../cli.py:1270
+#: ../cli.py:1742
 msgid "Installed Language Groups:"
 msgstr "Установлены языковые пакеты:"
 
-#: ../cli.py:1276
+#: ../cli.py:1749
 msgid "Available Groups:"
 msgstr "Доступные коллекции:"
 
-#: ../cli.py:1282
+#: ../cli.py:1756
 msgid "Available Language Groups:"
 msgstr "Доступные языковые пакеты:"
 
-#: ../cli.py:1285
+#: ../cli.py:1759
+#, python-format
+msgid "Warning: No Environments/Groups match: %s"
+msgstr ""
+
+#: ../cli.py:1763
 msgid "Done"
 msgstr "Выполнено"
 
-#: ../cli.py:1296 ../cli.py:1314 ../cli.py:1320 ../yum/__init__.py:3313
+#: ../cli.py:1818
+#, python-format
+msgid "Warning: Group/Environment %s does not exist."
+msgstr ""
+
+#: ../cli.py:1859
+#, python-format
+msgid "Warning: Environment %s does not exist."
+msgstr ""
+
+#: ../cli.py:1873 ../cli.py:1879 ../yum/__init__.py:4254
 #, python-format
 msgid "Warning: Group %s does not exist."
 msgstr "Внимание: коллекции %s не существует."
 
-#: ../cli.py:1324
+#: ../cli.py:1883
 msgid "No packages in any requested group available to install or update"
-msgstr ""
-"Во всех указанных коллекциях пакеты для установки или обновления отсутствуют"
+msgstr "Во всех указанных коллекциях пакеты для установки или обновления отсутствуют"
 
-#: ../cli.py:1326
+#: ../cli.py:1885
 #, python-format
-msgid "%d Package(s) to Install"
-msgstr "%d Пакет(ы) для установки"
+msgid "%d package to Install"
+msgid_plural "%d packages to Install"
+msgstr[0] "%d пакет к установке"
+msgstr[1] "%d пакета к установке"
+msgstr[2] "%d пакетов к установке"
+
+#: ../cli.py:1919 ../yum/__init__.py:3536 ../yum/__init__.py:3766
+#: ../yum/__init__.py:3824
+#, python-format
+msgid "No Environment named %s exists"
+msgstr ""
 
-#: ../cli.py:1336 ../yum/__init__.py:3325
+#: ../cli.py:1935 ../yum/__init__.py:4282
 #, python-format
 msgid "No group named %s exists"
 msgstr "Коллекции с названием %s не существует"
 
-#: ../cli.py:1342
+#: ../cli.py:1945
 msgid "No packages to remove from groups"
 msgstr "Нет пакетов для удаления из коллекций"
 
-#: ../cli.py:1344
+#: ../cli.py:1947 ../yumcommands.py:3351
 #, python-format
-msgid "%d Package(s) to remove"
-msgstr "%d Пакет(ы) для удаления"
+msgid "%d package to remove"
+msgid_plural "%d packages to remove"
+msgstr[0] "%d пакет к удалению"
+msgstr[1] "%d пакета к удалению"
+msgstr[2] "%d пакетов к удалению"
 
-#: ../cli.py:1386
+#: ../cli.py:1988
 #, python-format
 msgid "Package %s is already installed, skipping"
 msgstr "Пакет %s уже установлен, пропускаем"
 
-#: ../cli.py:1397
+#: ../cli.py:1999
 #, python-format
 msgid "Discarding non-comparable pkg %s.%s"
 msgstr "Исключение несовместимого пакета %s.%s"
 
 #. we've not got any installed that match n or n+a
-#: ../cli.py:1423
+#: ../cli.py:2025
 #, python-format
 msgid "No other %s installed, adding to list for potential install"
 msgstr "Других %s не установлено, добавляем в список для возможной установки"
 
-#: ../cli.py:1443
+#: ../cli.py:2045
 msgid "Plugin Options"
 msgstr "Опции модуля"
 
-#: ../cli.py:1451
+#: ../cli.py:2057
 #, python-format
 msgid "Command line error: %s"
 msgstr "Ошибка команды: %s"
 
-#: ../cli.py:1467
+#: ../cli.py:2079
 #, python-format
 msgid ""
 "\n"
 "\n"
 "%s: %s option requires an argument"
-msgstr ""
-"\n"
-"\n"
-"%s: %s опцию необходимо указать с аргументом"
+msgstr "\n\n%s: %s опцию необходимо указать с аргументом"
 
-#: ../cli.py:1521
+#: ../cli.py:2147
 msgid "--color takes one of: auto, always, never"
 msgstr "--color возможное значение: auto, always, never"
 
 #. We have a relative installroot ... haha
-#: ../cli.py:1596
+#: ../cli.py:2218
 #, python-format
 msgid "--installroot must be an absolute path: %s"
 msgstr "--installroot должен указывать абсолютный путь: %s"
 
-#: ../cli.py:1642
+#: ../cli.py:2272
 msgid "show this help message and exit"
 msgstr "отобразить помощь и выйти"
 
-#: ../cli.py:1646
+#: ../cli.py:2276
 msgid "be tolerant of errors"
 msgstr "игнорировать ошибки"
 
-#: ../cli.py:1649
+#: ../cli.py:2279
 msgid "run entirely from system cache, don't update cache"
 msgstr "брать полностью из системного кэша, не обновлять его"
 
-#: ../cli.py:1652
+#: ../cli.py:2282
 msgid "config file location"
 msgstr "расположение файла конфигурации"
 
-#: ../cli.py:1655
+#: ../cli.py:2285
 msgid "maximum command wait time"
 msgstr "максимальное время ожидания команды"
 
-#: ../cli.py:1657
+#: ../cli.py:2287
 msgid "debugging output level"
 msgstr "уровень отладочных сообщений"
 
-#: ../cli.py:1661
+#: ../cli.py:2291
 msgid "show duplicates, in repos, in list/search commands"
-msgstr ""
-"показывать повторяющиеся в репозиториях пакеты, для команд list/search"
+msgstr "показывать повторяющиеся в репозиториях пакеты, для команд list/search"
 
-#: ../cli.py:1663
+#: ../cli.py:2296
 msgid "error output level"
 msgstr "уровень сообщений об ошибках"
 
-#: ../cli.py:1666
+#: ../cli.py:2299
 msgid "debugging output level for rpm"
 msgstr "уровень отладочных сообщений для rpm"
 
-#: ../cli.py:1669
+#: ../cli.py:2302
 msgid "quiet operation"
 msgstr "работать без вывода сообщений"
 
-#: ../cli.py:1671
+#: ../cli.py:2304
 msgid "verbose operation"
 msgstr "подробно описывать действия"
 
-#: ../cli.py:1673
+#: ../cli.py:2306
 msgid "answer yes for all questions"
 msgstr "Отвечать утвердительно на все вопросы"
 
-#: ../cli.py:1675
+#: ../cli.py:2308
+msgid "answer no for all questions"
+msgstr "ответ нет для всех вопросов"
+
+#: ../cli.py:2312
 msgid "show Yum version and exit"
 msgstr "показать версию Yum и выйти"
 
-#: ../cli.py:1676
+#: ../cli.py:2313
 msgid "set install root"
 msgstr "настройка корневой папки"
 
-#: ../cli.py:1680
+#: ../cli.py:2317
 msgid "enable one or more repositories (wildcards allowed)"
-msgstr ""
-"включение одного и более репозиториев (поиск по шаблону поддерживается)"
+msgstr "включение одного и более репозиториев (поиск по шаблону поддерживается)"
 
-#: ../cli.py:1684
+#: ../cli.py:2321
 msgid "disable one or more repositories (wildcards allowed)"
-msgstr ""
-"выключение одного и более репозиториев (поиск по шаблону поддерживается)"
+msgstr "выключение одного и более репозиториев (поиск по шаблону поддерживается)"
 
-#: ../cli.py:1687
+#: ../cli.py:2324
 msgid "exclude package(s) by name or glob"
 msgstr "исключение пакета(ов) по имени или регулярному выражению"
 
-#: ../cli.py:1689
+#: ../cli.py:2326
 msgid "disable exclude from main, for a repo or for everything"
 msgstr "отключает исключения для конкретного репозитория или для всех"
 
-#: ../cli.py:1692
+#: ../cli.py:2329
 msgid "enable obsoletes processing during updates"
 msgstr "включить обработку устаревших во время обновления"
 
-#: ../cli.py:1694
+#: ../cli.py:2331
 msgid "disable Yum plugins"
 msgstr "отключить модули Yum"
 
-#: ../cli.py:1696
+#: ../cli.py:2333
 msgid "disable gpg signature checking"
 msgstr "отключить проверку подписи gpg"
 
-#: ../cli.py:1698
+#: ../cli.py:2335
 msgid "disable plugins by name"
 msgstr "отключить модуль по названию"
 
-#: ../cli.py:1701
+#: ../cli.py:2338
 msgid "enable plugins by name"
 msgstr "включить модуль по названию"
 
-#: ../cli.py:1704
+#: ../cli.py:2341
 msgid "skip packages with depsolving problems"
 msgstr "пропускать пакеты, с проблемами в зависимостях"
 
-#: ../cli.py:1706
+#: ../cli.py:2343
 msgid "control whether color is used"
 msgstr "Использовать ли цветовые схемы"
 
-#: ../cli.py:1708
+#: ../cli.py:2345
 msgid "set value of $releasever in yum config and repo files"
+msgstr "установите значение $releasever в конфигурационном файле Yum и в файлах репозиториев (repo)"
+
+#: ../cli.py:2347
+msgid "don't update, just download"
+msgstr ""
+
+#: ../cli.py:2349
+msgid "specifies an alternate directory to store packages"
 msgstr ""
-"установите значение $releasever в конфигурационном файле yum и в файлах "
-"репозиториев (repo)"
 
-#: ../cli.py:1710
+#: ../cli.py:2351
 msgid "set arbitrary config and repo options"
 msgstr "другие настройки и свойства источников"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Jan"
 msgstr "Янв"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Feb"
 msgstr "Фев"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Mar"
 msgstr "Мар"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Apr"
 msgstr "Апр"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "May"
 msgstr "Май"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Jun"
 msgstr "Июн"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Jul"
 msgstr "Июл"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Aug"
 msgstr "Авг"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Sep"
 msgstr "Сен"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Oct"
 msgstr "Окт"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Nov"
 msgstr "Ноя"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Dec"
 msgstr "Дек"
 
-#: ../output.py:318
+#: ../output.py:473
 msgid "Trying other mirror."
 msgstr "Пробуем другое зеркало."
 
-#: ../output.py:581
+#: ../output.py:816
 #, python-format
 msgid "Name        : %s%s%s"
 msgstr "Название: %s%s%s"
 
-#: ../output.py:582
+#: ../output.py:817
 #, python-format
 msgid "Arch        : %s"
 msgstr "Архитектура: %s"
 
-#: ../output.py:584
+#: ../output.py:819
 #, python-format
 msgid "Epoch       : %s"
 msgstr "Период: %s"
 
-#: ../output.py:585
+#: ../output.py:820
 #, python-format
 msgid "Version     : %s"
 msgstr "Версия: %s"
 
-#: ../output.py:586
+#: ../output.py:821
 #, python-format
 msgid "Release     : %s"
 msgstr "Выпуск: %s"
 
-#: ../output.py:587
+#: ../output.py:822
 #, python-format
 msgid "Size        : %s"
 msgstr "Объем: %s"
 
-#: ../output.py:588 ../output.py:900
+#: ../output.py:823 ../output.py:1329
 #, python-format
 msgid "Repo        : %s"
 msgstr "Источник: %s"
 
-#: ../output.py:590
+#: ../output.py:825
 #, python-format
 msgid "From repo   : %s"
 msgstr "Из источника: %s"
 
-#: ../output.py:592
+#: ../output.py:827
 #, python-format
 msgid "Committer   : %s"
 msgstr "Создатель: %s"
 
-#: ../output.py:593
+#: ../output.py:828
 #, python-format
 msgid "Committime  : %s"
 msgstr "Время создания: %s"
 
-#: ../output.py:594
+#: ../output.py:829
 #, python-format
 msgid "Buildtime   : %s"
 msgstr "Время сборки: %s"
 
-#: ../output.py:596
+#: ../output.py:831
 #, python-format
 msgid "Install time: %s"
 msgstr "Время установки: %s"
 
-#: ../output.py:604
+#: ../output.py:839
 #, python-format
 msgid "Installed by: %s"
 msgstr "Установил: %s"
 
-#: ../output.py:611
+#: ../output.py:846
 #, python-format
 msgid "Changed by  : %s"
 msgstr "Изменил: %s"
 
-#: ../output.py:612
+#: ../output.py:847
 msgid "Summary     : "
 msgstr "Аннотация: "
 
-#: ../output.py:614 ../output.py:913
+#: ../output.py:849 ../output.py:1345
 #, python-format
 msgid "URL         : %s"
 msgstr "Ссылка: %s"
 
-#: ../output.py:615
+#: ../output.py:850
 msgid "License     : "
 msgstr "Лицензия: "
 
-#: ../output.py:616 ../output.py:910
+#: ../output.py:851 ../output.py:1342
 msgid "Description : "
 msgstr "Описание: "
 
-#: ../output.py:684
+#: ../output.py:969
 msgid "y"
 msgstr "y"
 
-#: ../output.py:684
+#: ../output.py:969
 msgid "yes"
 msgstr "да"
 
-#: ../output.py:685
+#: ../output.py:970
 msgid "n"
 msgstr "n"
 
-#: ../output.py:685
+#: ../output.py:970
 msgid "no"
 msgstr "нет"
 
-#: ../output.py:689
+#: ../output.py:974
 msgid "Is this ok [y/N]: "
 msgstr "Продолжить? [y/N]: "
 
-#: ../output.py:777
+#: ../output.py:1097
 #, python-format
 msgid ""
 "\n"
 "Group: %s"
-msgstr ""
-"\n"
-"Коллекция: %s"
+msgstr "\nКоллекция: %s"
 
-#: ../output.py:781
+#: ../output.py:1101
 #, python-format
 msgid " Group-Id: %s"
 msgstr " Код коллекции: %s"
 
-#: ../output.py:786
+#: ../output.py:1122 ../output.py:1169
 #, python-format
 msgid " Description: %s"
 msgstr " Описание: %s"
 
-#: ../output.py:788
+#: ../output.py:1124
 #, python-format
 msgid " Language: %s"
 msgstr " Язык: %s"
 
-#: ../output.py:790
+#: ../output.py:1126
 msgid " Mandatory Packages:"
 msgstr " Обязательные пакеты:"
 
-#: ../output.py:791
+#: ../output.py:1127
 msgid " Default Packages:"
 msgstr " Пакеты по умолчанию:"
 
-#: ../output.py:792
+#: ../output.py:1128
 msgid " Optional Packages:"
 msgstr " Опциональные пакеты:"
 
-#: ../output.py:793
+#: ../output.py:1129
 msgid " Conditional Packages:"
 msgstr " Зависимые пакеты:"
 
-#: ../output.py:814
+#: ../output.py:1147
+msgid " Installed Packages:"
+msgstr " Установленные пакеты:"
+
+#: ../output.py:1157
+#, python-format
+msgid ""
+"\n"
+"Environment Group: %s"
+msgstr ""
+
+#: ../output.py:1158
+#, python-format
+msgid " Environment-Id: %s"
+msgstr ""
+
+#: ../output.py:1191
+msgid " Mandatory Groups:"
+msgstr ""
+
+#: ../output.py:1192
+msgid " Optional Groups:"
+msgstr ""
+
+#: ../output.py:1205
+msgid " Installed Groups:"
+msgstr ""
+
+#: ../output.py:1217
 #, python-format
 msgid "package: %s"
 msgstr "пакет: %s"
 
-#: ../output.py:816
+#: ../output.py:1219
 msgid "  No dependencies for this package"
 msgstr "  У этого пакета нет зависимостей"
 
-#: ../output.py:821
+#: ../output.py:1224
 #, python-format
 msgid "  dependency: %s"
 msgstr "  зависимость: %s"
 
-#: ../output.py:823
+#: ../output.py:1226
 msgid "   Unsatisfied dependency"
 msgstr "   Неудовлетворенная зависимость"
 
-#: ../output.py:901
+#: ../output.py:1337
 msgid "Matched from:"
 msgstr "Совпадения с:"
 
-#: ../output.py:916
+#: ../output.py:1348
 #, python-format
 msgid "License     : %s"
 msgstr "Лицензия    : %s"
 
-#: ../output.py:919
+#: ../output.py:1351
 #, python-format
 msgid "Filename    : %s"
 msgstr "Имя файла   : %s"
 
-#: ../output.py:923
+#: ../output.py:1360
+msgid "Provides    : "
+msgstr "Обеспечивает    : "
+
+#: ../output.py:1363
 msgid "Other       : "
 msgstr "Другое      : "
 
-#: ../output.py:966
+#: ../output.py:1426
 msgid "There was an error calculating total download size"
 msgstr "Произошла ошибка при подсчете общего объема загрузки"
 
-#: ../output.py:971
+#: ../output.py:1431
 #, python-format
 msgid "Total size: %s"
 msgstr "Общий размер: %s"
 
-#: ../output.py:974
+#: ../output.py:1433
 #, python-format
 msgid "Total download size: %s"
 msgstr "Объем загрузки: %s"
 
-#: ../output.py:978 ../output.py:998
+#: ../output.py:1436 ../output.py:1459 ../output.py:1463
 #, python-format
 msgid "Installed size: %s"
 msgstr "Объем изменений: %s"
 
-#: ../output.py:994
+#: ../output.py:1454
 msgid "There was an error calculating installed size"
 msgstr "Ошибка при подсчете объема установки"
 
-#: ../output.py:1039
+#: ../output.py:1504
 msgid "Reinstalling"
 msgstr "Переустановка"
 
-#: ../output.py:1040
+#: ../output.py:1505
 msgid "Downgrading"
 msgstr "Откат версии"
 
-#: ../output.py:1041
+#: ../output.py:1506
 msgid "Installing for dependencies"
 msgstr "Установка зависимостей"
 
-#: ../output.py:1042
+#: ../output.py:1507
 msgid "Updating for dependencies"
 msgstr "Обновление зависимостей"
 
-#: ../output.py:1043
+#: ../output.py:1508
 msgid "Removing for dependencies"
 msgstr "Удаление зависимостей"
 
-#: ../output.py:1050 ../output.py:1171
+#: ../output.py:1515 ../output.py:1576 ../output.py:1672
 msgid "Skipped (dependency problems)"
 msgstr "Пропущено (ошибка зависимостей)"
 
-#: ../output.py:1052 ../output.py:1687
+#: ../output.py:1517 ../output.py:1577 ../output.py:2223
 msgid "Not installed"
 msgstr "Не установлено"
 
-#: ../output.py:1053
+#: ../output.py:1518 ../output.py:1578
 msgid "Not available"
-msgstr ""
+msgstr "Недоступно"
 
-#: ../output.py:1075 ../output.py:2024
+#: ../output.py:1540 ../output.py:1588 ../output.py:1604 ../output.py:2581
 msgid "Package"
-msgstr "Пакет"
+msgid_plural "Packages"
+msgstr[0] "пакет"
+msgstr[1] "пакета"
+msgstr[2] "пакетов"
 
-#: ../output.py:1075
+#: ../output.py:1540
 msgid "Arch"
 msgstr "Архитектура"
 
-#: ../output.py:1076
+#: ../output.py:1541
 msgid "Version"
 msgstr "Версия"
 
-#: ../output.py:1076
+#: ../output.py:1541
 msgid "Repository"
 msgstr "Репозиторий "
 
-#: ../output.py:1077
+#: ../output.py:1542
 msgid "Size"
 msgstr "Размер"
 
-#: ../output.py:1089
+#: ../output.py:1554
 #, python-format
 msgid "     replacing  %s%s%s.%s %s\n"
 msgstr "     замена  %s%s%s.%s %s\n"
 
-#: ../output.py:1098
+#: ../output.py:1563
 #, python-format
 msgid ""
 "\n"
 "Transaction Summary\n"
 "%s\n"
-msgstr ""
-"\n"
-"Результат операции\n"
-"%s\n"
+msgstr "\nИтого за операцию\n%s\n"
 
-#: ../output.py:1109
-#, python-format
-msgid "Install   %5.5s Package(s)\n"
-msgstr "Установить %5.5s пакет(а,ов)\n"
+#: ../output.py:1568 ../output.py:2376 ../output.py:2377
+msgid "Install"
+msgstr "Установить"
 
-#: ../output.py:1113
-#, python-format
-msgid "Upgrade   %5.5s Package(s)\n"
-msgstr "Обновить %5.5s пакет(а,ов)\n"
+#: ../output.py:1570
+msgid "Upgrade"
+msgstr "Обновить"
 
-#: ../output.py:1117
-#, python-format
-msgid "Remove    %5.5s Package(s)\n"
-msgstr "Удалить %5.5s пакет(а,ов)\n"
+#: ../output.py:1572
+msgid "Remove"
+msgstr "Удалить"
 
-#: ../output.py:1121
-#, python-format
-msgid "Reinstall %5.5s Package(s)\n"
-msgstr "Переустановить %5.5s пакет(а,ов)\n"
+#: ../output.py:1574 ../output.py:2382
+msgid "Reinstall"
+msgstr "Переустановить"
 
-#: ../output.py:1125
-#, python-format
-msgid "Downgrade %5.5s Package(s)\n"
-msgstr "Откатить %5.5s пакет(а,ов)\n"
+#: ../output.py:1575 ../output.py:2383
+msgid "Downgrade"
+msgstr "Откатить"
+
+#: ../output.py:1606
+msgid "Dependent package"
+msgid_plural "Dependent packages"
+msgstr[0] "зависимый"
+msgstr[1] "зависимых"
+msgstr[2] "зависимых"
 
-#: ../output.py:1165
+#: ../output.py:1666
 msgid "Removed"
 msgstr "Удалено"
 
-#: ../output.py:1166
+#: ../output.py:1667
 msgid "Dependency Removed"
 msgstr "Удалены зависимости"
 
-#: ../output.py:1168
+#: ../output.py:1669
 msgid "Dependency Installed"
 msgstr "Установлены зависимости"
 
-#: ../output.py:1170
+#: ../output.py:1671
 msgid "Dependency Updated"
 msgstr "Обновлены зависимости"
 
-#: ../output.py:1172
+#: ../output.py:1673
 msgid "Replaced"
 msgstr "Заменено"
 
-#: ../output.py:1173
+#: ../output.py:1674
 msgid "Failed"
 msgstr "Неудача"
 
 #. Delta between C-c's so we treat as exit
-#: ../output.py:1260
+#: ../output.py:1764
 msgid "two"
 msgstr "двух"
 
 #. For translators: This is output like:
 #. Current download cancelled, interrupt (ctrl-c) again within two seconds
 #. to exit.
-#. Where "interupt (ctrl-c) again" and "two" are highlighted.
-#: ../output.py:1271
+#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
+#: ../output.py:1775
 #, python-format
 msgid ""
 "\n"
 " Current download cancelled, %sinterrupt (ctrl-c) again%s within %s%s%s seconds\n"
 "to exit.\n"
-msgstr ""
-"\n"
-" Текущая загрузка отменена, %sпрервите (ctrl-c) повторно%s в течение %s%s%s секунд,\n"
-"чтобы выйти.\n"
+msgstr "\n Текущая загрузка отменена, %sпрервите (ctrl-c) повторно%s в течение %s%s%s секунд,\nчтобы выйти.\n"
 
-#: ../output.py:1282
+#: ../output.py:1786
 msgid "user interrupt"
 msgstr "прервано пользователем"
 
-#: ../output.py:1300
+#: ../output.py:1812
 msgid "Total"
 msgstr "Общий размер"
 
-#: ../output.py:1322
+#: ../output.py:1834
 msgid "I"
 msgstr "I"
 
-#: ../output.py:1323
+#: ../output.py:1835
 msgid "O"
 msgstr "O"
 
-#: ../output.py:1324
+#: ../output.py:1836
 msgid "E"
 msgstr "E"
 
-#: ../output.py:1325
+#: ../output.py:1837
 msgid "R"
 msgstr "R"
 
-#: ../output.py:1326
+#: ../output.py:1838
 msgid "D"
 msgstr "D"
 
-#: ../output.py:1327
+#: ../output.py:1839
 msgid "U"
 msgstr "U"
 
-#: ../output.py:1341
+#: ../output.py:1853
 msgid "<unset>"
 msgstr "<unset>"
 
-#: ../output.py:1342
+#: ../output.py:1854
 msgid "System"
 msgstr "Система"
 
-#: ../output.py:1411
+#: ../output.py:1923
 #, python-format
 msgid "Skipping merged transaction %d to %d, as it overlaps"
 msgstr "Переход от %d к %d, т.к. сценарии пересекаются"
 
-#: ../output.py:1421 ../output.py:1592
+#: ../output.py:1933 ../output.py:2125
 msgid "No transactions"
 msgstr "Сценарии отсутствуют"
 
-#: ../output.py:1446 ../output.py:2013
+#: ../output.py:1958 ../output.py:2570 ../output.py:2660
 msgid "Bad transaction IDs, or package(s), given"
 msgstr "Заданы неверный код сценария или пакеты"
 
-#: ../output.py:1484
+#: ../output.py:2007
 msgid "Command line"
 msgstr "Командная строка"
 
-#: ../output.py:1486 ../output.py:1908
+#: ../output.py:2009 ../output.py:2458
 msgid "Login user"
 msgstr "Вход пользователя"
 
 #. REALLY Needs to use columns!
-#: ../output.py:1487 ../output.py:2022
+#: ../output.py:2010 ../output.py:2579
 msgid "ID"
 msgstr "ID"
 
-#: ../output.py:1489
+#: ../output.py:2012
 msgid "Date and time"
 msgstr "Дата и время"
 
-#: ../output.py:1490 ../output.py:1910 ../output.py:2023
+#: ../output.py:2013 ../output.py:2460 ../output.py:2580
 msgid "Action(s)"
 msgstr "Действия"
 
-#: ../output.py:1491 ../output.py:1911
+#: ../output.py:2014 ../output.py:2461
 msgid "Altered"
 msgstr "Изменено"
 
-#: ../output.py:1538
+#: ../output.py:2061
 msgid "No transaction ID given"
 msgstr "Код действия не задан"
 
-#: ../output.py:1564 ../output.py:1972
+#: ../output.py:2087 ../output.py:2526
 msgid "Bad transaction ID given"
 msgstr "Код действия неверен"
 
-#: ../output.py:1569
+#: ../output.py:2092
 msgid "Not found given transaction ID"
 msgstr "Указанный код действия не найден"
 
-#: ../output.py:1577
+#: ../output.py:2100
 msgid "Found more than one transaction ID!"
 msgstr "Указано более одной операции!"
 
-#: ../output.py:1618 ../output.py:1980
+#: ../output.py:2151 ../output.py:2534
 msgid "No transaction ID, or package, given"
 msgstr "Не задан код действия или пакет"
 
-#: ../output.py:1686 ../output.py:1845
+#: ../output.py:2222 ../output.py:2384
 msgid "Downgraded"
 msgstr "Откачено"
 
-#: ../output.py:1688
+#: ../output.py:2224
 msgid "Older"
 msgstr "Старее"
 
-#: ../output.py:1688
+#: ../output.py:2224
 msgid "Newer"
 msgstr "Новее"
 
-#: ../output.py:1724 ../output.py:1726
+#: ../output.py:2261 ../output.py:2263 ../output.py:2681
 msgid "Transaction ID :"
 msgstr "Код операции   :"
 
-#: ../output.py:1728
+#: ../output.py:2265 ../output.py:2683
 msgid "Begin time     :"
 msgstr "Время начала   :"
 
-#: ../output.py:1731 ../output.py:1733
+#: ../output.py:2268 ../output.py:2270
 msgid "Begin rpmdb    :"
 msgstr "Начало rpmdb   :"
 
-#: ../output.py:1749
+#: ../output.py:2286
 #, python-format
 msgid "(%u seconds)"
 msgstr "(%u секунд)"
 
-#: ../output.py:1751
+#: ../output.py:2288
 #, python-format
 msgid "(%u minutes)"
 msgstr "(%u минут)"
 
-#: ../output.py:1753
+#: ../output.py:2290
 #, python-format
 msgid "(%u hours)"
 msgstr "(%u часов)"
 
-#: ../output.py:1755
+#: ../output.py:2292
 #, python-format
 msgid "(%u days)"
 msgstr "(%u дней)"
 
-#: ../output.py:1756
+#: ../output.py:2293
 msgid "End time       :"
 msgstr "Конечное время :"
 
-#: ../output.py:1759 ../output.py:1761
+#: ../output.py:2296 ../output.py:2298
 msgid "End rpmdb      :"
 msgstr "Конец rpmdb    :"
 
-#: ../output.py:1764 ../output.py:1766
+#: ../output.py:2301 ../output.py:2303
 msgid "User           :"
 msgstr "Пользователь   :"
 
-#: ../output.py:1770 ../output.py:1773 ../output.py:1775 ../output.py:1777
-#: ../output.py:1779
+#: ../output.py:2307 ../output.py:2310 ../output.py:2312 ../output.py:2314
+#: ../output.py:2316
 msgid "Return-Code    :"
 msgstr "Код возврата   :"
 
-#: ../output.py:1770 ../output.py:1775
+#: ../output.py:2307 ../output.py:2312
 msgid "Aborted"
 msgstr "Прекращено"
 
-#: ../output.py:1773
+#: ../output.py:2310
 msgid "Failures:"
 msgstr "Ошибки:"
 
-#: ../output.py:1777
+#: ../output.py:2314
 msgid "Failure:"
 msgstr "Неудача:"
 
-#: ../output.py:1779
+#: ../output.py:2316
 msgid "Success"
 msgstr "Успешно"
 
-#: ../output.py:1784 ../output.py:1786
+#: ../output.py:2321 ../output.py:2323 ../output.py:2712
 msgid "Command Line   :"
 msgstr "Команда:"
 
-#: ../output.py:1795
+#: ../output.py:2332
 #, python-format
 msgid "Additional non-default information stored: %d"
 msgstr "Имеется дополнительная информация: %d"
 
 #. This is _possible_, but not common
-#: ../output.py:1800
+#: ../output.py:2337
 msgid "Transaction performed with:"
 msgstr "Действие выполнено:"
 
-#: ../output.py:1804
+#: ../output.py:2341
 msgid "Packages Altered:"
 msgstr "Пакеты изменены:"
 
-#: ../output.py:1808
+#: ../output.py:2345
 msgid "Packages Skipped:"
 msgstr "Пропущены пакеты:"
 
-#: ../output.py:1814
+#: ../output.py:2353
 msgid "Rpmdb Problems:"
 msgstr "Ошибки в rpmdb:"
 
-#: ../output.py:1825
+#: ../output.py:2364
 msgid "Scriptlet output:"
 msgstr "Вывод сценария:"
 
-#: ../output.py:1831
+#: ../output.py:2370
 msgid "Errors:"
 msgstr "Ошибки:"
 
-#: ../output.py:1837 ../output.py:1838
-msgid "Install"
-msgstr "Установка "
-
-#: ../output.py:1839
+#: ../output.py:2378
 msgid "Dep-Install"
 msgstr "Установка зависимостей"
 
-#: ../output.py:1841
+#: ../output.py:2380
 msgid "Obsoleting"
 msgstr "Исключаем"
 
-#: ../output.py:1842
+#: ../output.py:2381
 msgid "Erase"
 msgstr "Удаление"
 
-#: ../output.py:1843
-msgid "Reinstall"
-msgstr "Переустановка"
-
-#: ../output.py:1844
-msgid "Downgrade"
-msgstr "Откат версии"
-
-#: ../output.py:1846
+#: ../output.py:2385
 msgid "Update"
 msgstr "Обновление"
 
-#: ../output.py:1909
+#: ../output.py:2459
 msgid "Time"
 msgstr "Время"
 
-#: ../output.py:1935
+#: ../output.py:2485
 msgid "Last day"
 msgstr "За последний день"
 
-#: ../output.py:1936
+#: ../output.py:2486
 msgid "Last week"
 msgstr "За последнюю неделю"
 
-#: ../output.py:1937
+#: ../output.py:2487
 msgid "Last 2 weeks"
 msgstr "За последние 2 недели"
 
 #. US default :p
-#: ../output.py:1938
+#: ../output.py:2488
 msgid "Last 3 months"
 msgstr "За последние 3 месяца"
 
-#: ../output.py:1939
+#: ../output.py:2489
 msgid "Last 6 months"
 msgstr "За последние 6 месяцев"
 
-#: ../output.py:1940
+#: ../output.py:2490
 msgid "Last year"
 msgstr "За последний год"
 
-#: ../output.py:1941
+#: ../output.py:2491
 msgid "Over a year ago"
 msgstr "Более года назад"
 
-#: ../output.py:1984
+#: ../output.py:2538
 #, python-format
 msgid "No Transaction %s found"
 msgstr "Действие %s не найдено"
 
-#: ../output.py:1990
+#: ../output.py:2544
 msgid "Transaction ID:"
 msgstr "Код операции:"
 
-#: ../output.py:1991
+#: ../output.py:2545
 msgid "Available additional history information:"
 msgstr "Имеется информация о ранних действиях:"
 
-#: ../output.py:2003
+#: ../output.py:2558
 #, python-format
 msgid "%s: No additional data found by this name"
 msgstr "%s: По этому названию других данных нет"
 
-#: ../output.py:2106
+#: ../output.py:2684
+msgid "Package        :"
+msgstr "Пакет        :"
+
+#: ../output.py:2685
+msgid "State          :"
+msgstr "Состояние      :"
+
+#: ../output.py:2688
+msgid "Size           :"
+msgstr "Размер           :"
+
+#: ../output.py:2690
+msgid "Build host     :"
+msgstr "Узел сборки    :"
+
+#: ../output.py:2693
+msgid "Build time     :"
+msgstr "Время сборки   :"
+
+#: ../output.py:2695
+msgid "Packager       :"
+msgstr "Сборщик        :"
+
+#: ../output.py:2697
+msgid "Vendor         :"
+msgstr "Поставщик      :"
+
+#: ../output.py:2699
+msgid "License        :"
+msgstr "Лицензия        :"
+
+#: ../output.py:2701
+msgid "URL            :"
+msgstr "URL            :"
+
+#: ../output.py:2703
+msgid "Source RPM     :"
+msgstr "Исходный RPM     :"
+
+#: ../output.py:2706
+msgid "Commit Time    :"
+msgstr "Получено       :"
+
+#: ../output.py:2708
+msgid "Committer      :"
+msgstr "Отправитель    :"
+
+#: ../output.py:2710
+msgid "Reason         :"
+msgstr "Причина         :"
+
+#: ../output.py:2714
+msgid "From repo      :"
+msgstr "Репозиторий    :"
+
+#: ../output.py:2718
+msgid "Installed by   :"
+msgstr "Установлен   :"
+
+#: ../output.py:2722
+msgid "Changed by     :"
+msgstr "Изменен     :"
+
+#: ../output.py:2767
 msgid "installed"
 msgstr "для установки"
 
-#: ../output.py:2107
+#: ../output.py:2768
 msgid "an update"
-msgstr "обновление"
+msgstr "как обновление"
 
-#: ../output.py:2108
+#: ../output.py:2769
 msgid "erased"
 msgstr "для удаления"
 
-#: ../output.py:2109
+#: ../output.py:2770
 msgid "reinstalled"
 msgstr "для переустановки"
 
-#: ../output.py:2110
+#: ../output.py:2771
 msgid "a downgrade"
-msgstr "откат"
+msgstr "как версия для отката"
 
-#: ../output.py:2111
+#: ../output.py:2772
 msgid "obsoleting"
-msgstr "исключение"
+msgstr "для исключения"
 
-#: ../output.py:2112
+#: ../output.py:2773
 msgid "updated"
 msgstr "для обновления"
 
-#: ../output.py:2113
+#: ../output.py:2774
 msgid "obsoleted"
 msgstr "как недействительный"
 
-#: ../output.py:2117
+#: ../output.py:2778
 #, python-format
 msgid "---> Package %s.%s %s:%s-%s will be %s"
 msgstr "---> Пакет %s.%s %s:%s-%s помечен %s"
 
-#: ../output.py:2124
+#: ../output.py:2789
 msgid "--> Running transaction check"
 msgstr "--> Проверка сценария"
 
-#: ../output.py:2129
+#: ../output.py:2795
 msgid "--> Restarting Dependency Resolution with new changes."
 msgstr "--> Перепроверка зависимостей с новыми параметрами."
 
-#: ../output.py:2134
+#: ../output.py:2801
 msgid "--> Finished Dependency Resolution"
 msgstr "--> Проверка зависимостей окончена"
 
-#: ../output.py:2139 ../output.py:2144
+#: ../output.py:2814 ../output.py:2827
 #, python-format
 msgid "--> Processing Dependency: %s for package: %s"
 msgstr "--> Обработка зависимостей: %s пакета: %s"
 
-#: ../output.py:2149
+#: ../output.py:2841
 #, python-format
-msgid "---> Keeping package: %s"
-msgstr "---> Сохранен пакет: %s"
+msgid "---> Keeping package: %s due to %s"
+msgstr ""
 
-#: ../output.py:2152
+#: ../output.py:2850
 #, python-format
 msgid "--> Unresolved Dependency: %s"
 msgstr "--> Неразрешённая зависимость: %s"
 
-#: ../output.py:2163
+#: ../output.py:2867
 #, python-format
 msgid "Package: %s"
 msgstr "Пакет: %s"
 
-#: ../output.py:2165
+#: ../output.py:2869
 #, python-format
 msgid ""
 "\n"
 "    Requires: %s"
-msgstr ""
-"\n"
-"    Необходимо: %s"
+msgstr "\n    Необходимо: %s"
 
-#: ../output.py:2174
+#: ../output.py:2878
 #, python-format
 msgid ""
 "\n"
 "    %s: %s (%s)"
-msgstr ""
-"\n"
-"    %s: %s (%s)"
+msgstr "\n    %s: %s (%s)"
 
-#: ../output.py:2179
+#: ../output.py:2883
 #, python-format
 msgid ""
 "\n"
 "        %s"
-msgstr ""
-"\n"
-"        %s"
+msgstr "\n        %s"
 
-#: ../output.py:2181
+#: ../output.py:2885
 msgid ""
 "\n"
 "        Not found"
-msgstr ""
-"\n"
-"        Не найдено"
+msgstr "\n        Не найдено"
 
 #. These should be the only three things we care about:
-#: ../output.py:2196
+#: ../output.py:2900
 msgid "Updated By"
 msgstr "Обновил"
 
-#: ../output.py:2197
+#: ../output.py:2901
 msgid "Downgraded By"
 msgstr "Откатил"
 
-#: ../output.py:2198
+#: ../output.py:2902
 msgid "Obsoleted By"
 msgstr "Заменил"
 
-#: ../output.py:2216
+#: ../output.py:2920
 msgid "Available"
 msgstr "Доступно"
 
-#: ../output.py:2243 ../output.py:2248
+#: ../output.py:2955 ../output.py:2968
 #, python-format
 msgid "--> Processing Conflict: %s conflicts %s"
 msgstr "--> Обработка конфликта: %s конфликтует с %s"
 
-#: ../output.py:2252
+#: ../output.py:2974
 msgid "--> Populating transaction set with selected packages. Please wait."
-msgstr ""
-"--> Заполнение списка действий выбранными пакетами. Подождите, пожалуйста."
+msgstr "--> Заполнение списка действий выбранными пакетами. Подождите, пожалуйста."
 
-#: ../output.py:2256
+#: ../output.py:2983
 #, python-format
 msgid "---> Downloading header for %s to pack into transaction set."
 msgstr "---> Загрузка заголовка %s для включения в список."
 
-#: ../utils.py:99
+#. self.event(txmbr.name, count, len(base.tsInfo), count, )
+#. (te_current*100L)/te_total
+#: ../output.py:3248
+msgid "Verifying"
+msgstr "Проверка"
+
+#: ../utils.py:123
 msgid "Running"
 msgstr "Запуск"
 
-#: ../utils.py:100
+#: ../utils.py:124
 msgid "Sleeping"
 msgstr "Ожидание"
 
-#: ../utils.py:101
+#: ../utils.py:125
 msgid "Uninterruptible"
 msgstr "Непрерываемый"
 
-#: ../utils.py:102
+#: ../utils.py:126
 msgid "Zombie"
 msgstr "Зомби"
 
-#: ../utils.py:103
+#: ../utils.py:127
 msgid "Traced/Stopped"
 msgstr "Трассировано/Остановлено"
 
-#: ../utils.py:104 ../yumcommands.py:994
+#: ../utils.py:128 ../yumcommands.py:2193
 msgid "Unknown"
 msgstr "Неизвестно"
 
-#: ../utils.py:115
+#: ../utils.py:153
 msgid "  The other application is: PackageKit"
 msgstr "  Другое приложение: PackageKit"
 
-#: ../utils.py:117
+#: ../utils.py:155
 #, python-format
 msgid "  The other application is: %s"
 msgstr "  Другое приложение: %s"
 
-#: ../utils.py:120
+#: ../utils.py:158
 #, python-format
 msgid "    Memory : %5s RSS (%5sB VSZ)"
 msgstr "    Память   : %5s RSS (%5sB VSZ)"
 
-#: ../utils.py:125
+#: ../utils.py:163
 #, python-format
 msgid "    Started: %s - %s ago"
 msgstr "    Запущено : %s — %s назад"
 
-#: ../utils.py:127
+#: ../utils.py:165
 #, python-format
 msgid "    State  : %s, pid: %d"
 msgstr "    Статус   : %s, pid: %d"
 
-#: ../utils.py:170 ../yummain.py:43
+#: ../utils.py:194 ../yummain.py:43
 msgid ""
 "\n"
 "\n"
 "Exiting on user cancel"
-msgstr ""
-"\n"
-"\n"
-"Выход по запросу пользователя"
+msgstr "\n\nВыход по запросу пользователя"
 
-#: ../utils.py:176 ../yummain.py:49
+#: ../utils.py:206 ../yummain.py:49
 msgid ""
 "\n"
 "\n"
 "Exiting on Broken Pipe"
-msgstr ""
-"\n"
-"\n"
-"Выход из-за разрыва связи"
+msgstr "\n\nВыход из-за разрыва связи"
 
-#: ../utils.py:178 ../yummain.py:51
+#: ../utils.py:208 ../yummain.py:51
 #, python-format
 msgid ""
 "\n"
 "\n"
 "%s"
-msgstr ""
-"\n"
-"\n"
-"%s"
-
-#: ../utils.py:228 ../yummain.py:123
-msgid ""
-"Another app is currently holding the yum lock; exiting as configured by "
-"exit_on_lock"
-msgstr "Другое приложение удерживает данные yum; выход согласно exit_on_lock"
+msgstr "\n\n%s"
 
-#: ../utils.py:287
+#: ../utils.py:326
 #, python-format
 msgid "PluginExit Error: %s"
 msgstr "Ошибка PluginExit: %s"
 
-#: ../utils.py:290
+#: ../utils.py:329
 #, python-format
 msgid "Yum Error: %s"
 msgstr "Ошибка Yum: %s"
 
-#: ../utils.py:342 ../yummain.py:150 ../yummain.py:189
+#: ../utils.py:387 ../yummain.py:147 ../yummain.py:186
 #, python-format
 msgid "Error: %s"
 msgstr "Ошибка: %s"
 
-#: ../utils.py:346 ../yummain.py:194
+#: ../utils.py:391 ../yummain.py:191
 msgid " You could try using --skip-broken to work around the problem"
 msgstr " Вы можете попробовать --skip-broken чтобы обойти проблему"
 
-#: ../utils.py:348 ../yummain.py:87
+#: ../utils.py:393 ../yummain.py:87
 msgid " You could try running: rpm -Va --nofiles --nodigest"
 msgstr " Вы можете попробовать запустить: rpm -Va --nofiles --nodigest"
 
-#: ../utils.py:355 ../yummain.py:160 ../yummain.py:202
+#: ../utils.py:400 ../yummain.py:157 ../yummain.py:199
 #, python-format
 msgid "Unknown Error(s): Exit Code: %d:"
 msgstr "Неизвестная ошибка(ошибки): Код выхода: %d:"
 
-#: ../utils.py:361 ../yummain.py:208
+#: ../utils.py:406 ../yummain.py:205
 msgid ""
 "\n"
 "Dependencies Resolved"
-msgstr ""
-"\n"
-"Зависимости определены"
+msgstr "\nЗависимости определены"
 
-#: ../utils.py:376 ../yummain.py:234
+#: ../utils.py:422 ../yummain.py:237
 msgid "Complete!"
 msgstr "Выполнено!"
 
@@ -1521,7 +1664,7 @@ msgstr " Сокращённое использование:\n"
 msgid "You need to be root to perform this command."
 msgstr "Для выполнения этой команды необходимы привилегии суперпользователя."
 
-#: ../yumcommands.py:59
+#: ../yumcommands.py:67
 msgid ""
 "\n"
 "You have enabled checking of packages via GPG keys. This is a good thing. \n"
@@ -1536,586 +1679,653 @@ msgid ""
 "will install it for you.\n"
 "\n"
 "For more information contact your distribution or package provider.\n"
-msgstr ""
-"\n"
-"Вы включили проверку пакетов при помощи ключей GPG. Это хорошо.\n"
-"Однако, у вас не установлено публичных ключей GPG. Вам необходимо скачать\n"
-"ключи для пакетов которые хотите установить, и затем запускать установку.\n"
-"Вы можете выполнить это при помощи команды\n"
-"    rpm --import public.gpg.key\n"
-"\n"
-"\n"
-"Вы также можете ввести адрес ключ, который будет использоваться\n"
-"для репозитория. Опция 'gpgkey' в секции репозитория и Yum\n"
-"установит его за Вас.\n"
-"\n"
-"Чтобы узнать больше, пожалуйста, свяжитесь с поставщиком дистрибутива или пакета.\n"
+msgstr "\nВы включили проверку пакетов при помощи ключей GPG. Это хорошо.\nОднако, у вас не установлено публичных ключей GPG. Вам необходимо скачать\nключи для пакетов которые хотите установить, и затем запускать установку.\nВы можете выполнить это при помощи команды\n    rpm --import public.gpg.key\n\n\nВы также можете ввести адрес ключ, который будет использоваться\nдля репозитория. Опция 'gpgkey' в секции репозитория и Yum\nустановит его за Вас.\n\nЧтобы узнать больше, пожалуйста, свяжитесь с поставщиком дистрибутива или пакета.\n"
 
-#: ../yumcommands.py:74
+#: ../yumcommands.py:82
 #, python-format
 msgid "Problem repository: %s"
-msgstr ""
+msgstr "Проблема с репозиторием: %s"
 
-#: ../yumcommands.py:80
+#: ../yumcommands.py:96
 #, python-format
 msgid "Error: Need to pass a list of pkgs to %s"
 msgstr "Ошибка: Необходимо указать список пакетов для %s"
 
-#: ../yumcommands.py:86
+#: ../yumcommands.py:114
+#, python-format
+msgid "Error: Need at least two packages to %s"
+msgstr ""
+
+#: ../yumcommands.py:129
+#, python-format
+msgid "Error: Need to pass a repoid. and command to %s"
+msgstr ""
+
+#: ../yumcommands.py:136 ../yumcommands.py:142
+#, python-format
+msgid "Error: Need to pass a single valid repoid. to %s"
+msgstr ""
+
+#: ../yumcommands.py:147
+#, python-format
+msgid "Error: Repo %s is not enabled"
+msgstr ""
+
+#: ../yumcommands.py:164
 msgid "Error: Need an item to match"
 msgstr "Ошибка: Необходим параметр для соответствия"
 
-#: ../yumcommands.py:92
+#: ../yumcommands.py:178
 msgid "Error: Need a group or list of groups"
 msgstr "Ошибка: нужна коллекция или список групп"
 
-#: ../yumcommands.py:101
+#: ../yumcommands.py:195
 #, python-format
 msgid "Error: clean requires an option: %s"
 msgstr "Ошибка: очистка требует опции: %s"
 
-#: ../yumcommands.py:106
+#: ../yumcommands.py:201
 #, python-format
 msgid "Error: invalid clean argument: %r"
 msgstr "Ошибка: неверный параметр очистки: %r"
 
-#: ../yumcommands.py:119
+#: ../yumcommands.py:216
 msgid "No argument to shell"
 msgstr "Нет аргумента для командной оболочки"
 
-#: ../yumcommands.py:121
+#: ../yumcommands.py:218
 #, python-format
 msgid "Filename passed to shell: %s"
 msgstr "Имя файла принятое для командной оболочки: %s"
 
-#: ../yumcommands.py:125
+#: ../yumcommands.py:222
 #, python-format
 msgid "File %s given as argument to shell does not exist."
-msgstr ""
-"Файл %s переданный в качестве аргумента для командной оболочки не "
-"существует."
+msgstr "Файл %s переданный в качестве аргумента для командной оболочки не существует."
 
-#: ../yumcommands.py:131
+#: ../yumcommands.py:228
 msgid "Error: more than one file given as argument to shell."
-msgstr ""
-"Ошибка: более чем один файл указан в качестве аргумента для командной "
-"оболочки."
+msgstr "Ошибка: более чем один файл указан в качестве аргумента для командной оболочки."
 
-#: ../yumcommands.py:148
+#: ../yumcommands.py:247
 msgid ""
 "There are no enabled repos.\n"
 " Run \"yum repolist all\" to see the repos you have.\n"
 " You can enable repos with yum-config-manager --enable <repo>"
-msgstr ""
-"Все источники пакетов отключены.\n"
-"Выполните «yum repolist all» для вывода списка доступных.\n"
-"Включение производится командой yum-config-manager --enable [источник]"
+msgstr "Все источники пакетов отключены.\nВыполните «yum repolist all» для вывода списка доступных.\nВключение производится командой yum-config-manager --enable [источник]"
 
-#: ../yumcommands.py:200
+#: ../yumcommands.py:383
 msgid "PACKAGE..."
 msgstr "ПАКЕТ..."
 
-#: ../yumcommands.py:203
+#: ../yumcommands.py:390
 msgid "Install a package or packages on your system"
 msgstr "Установка пакета(ов) в систему"
 
-#: ../yumcommands.py:212
+#: ../yumcommands.py:421
 msgid "Setting up Install Process"
 msgstr "Подготовка к установке"
 
-#: ../yumcommands.py:223 ../yumcommands.py:245
+#: ../yumcommands.py:447 ../yumcommands.py:507
 msgid "[PACKAGE...]"
 msgstr "[ПАКЕТ...]"
 
-#: ../yumcommands.py:226
+#: ../yumcommands.py:454
 msgid "Update a package or packages on your system"
 msgstr "Обновление пакета(ов) в системе"
 
-#: ../yumcommands.py:234
+#: ../yumcommands.py:483
 msgid "Setting up Update Process"
 msgstr "Подготовка к обновлению"
 
-#: ../yumcommands.py:248
+#: ../yumcommands.py:514
 msgid "Synchronize installed packages to the latest available versions"
 msgstr "Обновить установленные пакеты до новейших доступных версий"
 
-#: ../yumcommands.py:256
+#: ../yumcommands.py:543
 msgid "Setting up Distribution Synchronization Process"
 msgstr "Подготовка к синхронизации"
 
-#: ../yumcommands.py:299
+#: ../yumcommands.py:603
 msgid "Display details about a package or group of packages"
 msgstr "Отобразить информацию о пакете или о коллекции пакетов"
 
-#: ../yumcommands.py:348
+#: ../yumcommands.py:672
 msgid "Installed Packages"
 msgstr "Установленные пакеты"
 
-#: ../yumcommands.py:356
+#: ../yumcommands.py:682
 msgid "Available Packages"
 msgstr "Доступные пакеты"
 
-#: ../yumcommands.py:360
+#: ../yumcommands.py:687
 msgid "Extra Packages"
 msgstr "Дополнительные пакеты"
 
-#: ../yumcommands.py:364
+#: ../yumcommands.py:691
 msgid "Updated Packages"
 msgstr "Обновленные пакеты"
 
 #. This only happens in verbose mode
-#: ../yumcommands.py:372 ../yumcommands.py:379 ../yumcommands.py:667
+#: ../yumcommands.py:699 ../yumcommands.py:706 ../yumcommands.py:1539
 msgid "Obsoleting Packages"
 msgstr "Исключенные пакеты"
 
-#: ../yumcommands.py:381
+#: ../yumcommands.py:708
 msgid "Recently Added Packages"
 msgstr "Недавно добавленные пакеты"
 
-#: ../yumcommands.py:388
+#: ../yumcommands.py:715
 msgid "No matching Packages to list"
 msgstr "Совпадений среди пакетов не найдено"
 
-#: ../yumcommands.py:402
+#: ../yumcommands.py:766
 msgid "List a package or groups of packages"
 msgstr "Вывести список пакетов или коллекций пакетов"
 
-#: ../yumcommands.py:414
+#: ../yumcommands.py:797
 msgid "Remove a package or packages from your system"
 msgstr "Удаление пакета(ов) из системы"
 
-#: ../yumcommands.py:421
+#: ../yumcommands.py:845
 msgid "Setting up Remove Process"
 msgstr "Подготовка к удалению"
 
-#: ../yumcommands.py:435
+#: ../yumcommands.py:906
+msgid "Display, or use, the groups information"
+msgstr "Отображать и использовать данные о коллекциях"
+
+#: ../yumcommands.py:909
 msgid "Setting up Group Process"
 msgstr "Подготовка к обработке коллекции"
 
-#: ../yumcommands.py:441
+#: ../yumcommands.py:915
 msgid "No Groups on which to run command"
 msgstr "Коллекций пакетов к обработке нет"
 
-#: ../yumcommands.py:454
-msgid "List available package groups"
-msgstr "Список доступных коллекций пакетов"
-
-#: ../yumcommands.py:474
-msgid "Install the packages in a group on your system"
-msgstr "Установка коллекции пакетов в систему"
+#: ../yumcommands.py:985
+#, python-format
+msgid "Invalid groups sub-command, use: %s."
+msgstr "Некорректная команда для коллекции, используйте: %s"
 
-#: ../yumcommands.py:497
-msgid "Remove the packages in a group from your system"
-msgstr "Удаление коллекции пакета(ов) из системы"
+#: ../yumcommands.py:992
+msgid "There is no installed groups file."
+msgstr "Нет установленного файла групп."
 
-#: ../yumcommands.py:525
-msgid "Display details about a package group"
-msgstr "Показать информацию о коллекции пакетов"
+#: ../yumcommands.py:994
+msgid "You don't have access to the groups DB."
+msgstr "У вас нет доступа к базе данных групп."
 
-#: ../yumcommands.py:550
+#: ../yumcommands.py:1256
 msgid "Generate the metadata cache"
 msgstr "Создание кэша метаданных"
 
-#: ../yumcommands.py:556
+#: ../yumcommands.py:1282
 msgid "Making cache files for all metadata files."
 msgstr "Создание кэша для всех метаданных файлов."
 
-#: ../yumcommands.py:557
+#: ../yumcommands.py:1283
 msgid "This may take a while depending on the speed of this computer"
 msgstr "Это займет немного времени, в зависимости от скорости компьютера"
 
-#: ../yumcommands.py:578
+#: ../yumcommands.py:1312
 msgid "Metadata Cache Created"
 msgstr "Кэш метаданных создан"
 
-#: ../yumcommands.py:592
+#: ../yumcommands.py:1350
 msgid "Remove cached data"
 msgstr "Удаление кэшированных данных"
 
-#: ../yumcommands.py:613
+#: ../yumcommands.py:1417
 msgid "Find what package provides the given value"
 msgstr "Найти пакет по заданному значению"
 
-#: ../yumcommands.py:633
+#: ../yumcommands.py:1485
 msgid "Check for available package updates"
 msgstr "Проверка доступных обновлений пакетов"
 
-#: ../yumcommands.py:687
+#: ../yumcommands.py:1587
 msgid "Search package details for the given string"
 msgstr "Поиск информации о пакете по заданной строке"
 
-#: ../yumcommands.py:693
+#: ../yumcommands.py:1613
 msgid "Searching Packages: "
 msgstr "Поиск пакетов:"
 
-#: ../yumcommands.py:710
+#: ../yumcommands.py:1666
 msgid "Update packages taking obsoletes into account"
 msgstr "Обновить пакеты, учитывая недействительные"
 
-#: ../yumcommands.py:719
+#: ../yumcommands.py:1696
 msgid "Setting up Upgrade Process"
 msgstr "Приготовления к процессу обновления"
 
-#: ../yumcommands.py:737
+#: ../yumcommands.py:1731
 msgid "Install a local RPM"
 msgstr "Установка локального пакета"
 
-#: ../yumcommands.py:745
+#: ../yumcommands.py:1761
 msgid "Setting up Local Package Process"
 msgstr "Подготовка действий с локальным пакетом"
 
-#: ../yumcommands.py:764
-msgid "Determine which package provides the given dependency"
-msgstr "Определяет какой пакет предоставляет данную зависимость"
-
-#: ../yumcommands.py:767
+#: ../yumcommands.py:1825
 msgid "Searching Packages for Dependency:"
 msgstr "Поиск зависимых пакетов"
 
-#: ../yumcommands.py:781
+#: ../yumcommands.py:1867
 msgid "Run an interactive yum shell"
-msgstr "Запуск интерактивной командной оболочки yum"
+msgstr "Запуск интерактивной командной оболочки Yum"
 
-#: ../yumcommands.py:787
+#: ../yumcommands.py:1893
 msgid "Setting up Yum Shell"
 msgstr "Настройка командной оболочки Yum"
 
-#: ../yumcommands.py:805
+#: ../yumcommands.py:1936
 msgid "List a package's dependencies"
 msgstr "Отображение зависимостей пакета"
 
-#: ../yumcommands.py:811
+#: ../yumcommands.py:1963
 msgid "Finding dependencies: "
 msgstr "Поиск зависимостей:"
 
-#: ../yumcommands.py:827
+#: ../yumcommands.py:2005
 msgid "Display the configured software repositories"
 msgstr "Отобразить сконфигурированные репозитории ПО"
 
-#: ../yumcommands.py:893 ../yumcommands.py:894
+#: ../yumcommands.py:2094 ../yumcommands.py:2095
 msgid "enabled"
 msgstr "включено"
 
-#: ../yumcommands.py:920 ../yumcommands.py:921
+#: ../yumcommands.py:2121 ../yumcommands.py:2122
 msgid "disabled"
 msgstr "отключено"
 
-#: ../yumcommands.py:937
+#: ../yumcommands.py:2137
 msgid "Repo-id      : "
 msgstr "Код репозитория      : "
 
-#: ../yumcommands.py:938
+#: ../yumcommands.py:2138
 msgid "Repo-name    : "
 msgstr "Имя репозитория      : "
 
-#: ../yumcommands.py:941
+#: ../yumcommands.py:2141
 msgid "Repo-status  : "
 msgstr "Состояние репозитория: "
 
-#: ../yumcommands.py:944
+#: ../yumcommands.py:2144
 msgid "Repo-revision: "
 msgstr "Ревизия репозитория  : "
 
-#: ../yumcommands.py:948
+#: ../yumcommands.py:2148
 msgid "Repo-tags    : "
 msgstr "Метки репозитория    : "
 
-#: ../yumcommands.py:954
+#: ../yumcommands.py:2154
 msgid "Repo-distro-tags: "
 msgstr "Метки дистрибутива   : "
 
-#: ../yumcommands.py:959
+#: ../yumcommands.py:2159
 msgid "Repo-updated : "
 msgstr "Репозиторий обновлен : "
 
-#: ../yumcommands.py:961
+#: ../yumcommands.py:2161
 msgid "Repo-pkgs    : "
 msgstr "Пакеты репозитория   : "
 
-#: ../yumcommands.py:962
+#: ../yumcommands.py:2162
 msgid "Repo-size    : "
 msgstr "Размер репозитория   : "
 
-#: ../yumcommands.py:969 ../yumcommands.py:990
+#: ../yumcommands.py:2169 ../yumcommands.py:2190
 msgid "Repo-baseurl : "
 msgstr "baseurl репозитория  : "
 
-#: ../yumcommands.py:977
+#: ../yumcommands.py:2177
 msgid "Repo-metalink: "
 msgstr "metalink репозитория : "
 
-#: ../yumcommands.py:981
+#: ../yumcommands.py:2181
 msgid "  Updated    : "
 msgstr "  Обновлено          : "
 
-#: ../yumcommands.py:984
+#: ../yumcommands.py:2184
 msgid "Repo-mirrors : "
 msgstr "Зеркала репозитория  : "
 
-#: ../yumcommands.py:1000
+#: ../yumcommands.py:2199
 #, python-format
 msgid "Never (last: %s)"
 msgstr "Никогда (последний: %s)"
 
-#: ../yumcommands.py:1002
+#: ../yumcommands.py:2201
 #, python-format
 msgid "Instant (last: %s)"
 msgstr "момент (осталось:%s)"
 
-#: ../yumcommands.py:1005
+#: ../yumcommands.py:2204
 #, python-format
 msgid "%s second(s) (last: %s)"
 msgstr "%s секунд(а) (осталось: %s)"
 
-#: ../yumcommands.py:1007
+#: ../yumcommands.py:2206
 msgid "Repo-expire  : "
 msgstr "Окончание срока репозитория: "
 
-#: ../yumcommands.py:1010
+#: ../yumcommands.py:2209
 msgid "Repo-exclude : "
 msgstr "Исключения репозитория     : "
 
-#: ../yumcommands.py:1014
+#: ../yumcommands.py:2213
 msgid "Repo-include : "
 msgstr "Включено в репозиторий     : "
 
-#: ../yumcommands.py:1018
+#: ../yumcommands.py:2217
 msgid "Repo-excluded: "
 msgstr "Исключено из репозитория   : "
 
-#: ../yumcommands.py:1022
+#: ../yumcommands.py:2221
 msgid "Repo-filename: "
-msgstr ""
+msgstr "Файл репозитория:"
 
 #. Work out the first (id) and last (enabled/disalbed/count),
 #. then chop the middle (name)...
-#: ../yumcommands.py:1032 ../yumcommands.py:1061
+#: ../yumcommands.py:2230 ../yumcommands.py:2259
 msgid "repo id"
 msgstr "Идентификатор репозитория"
 
-#: ../yumcommands.py:1049 ../yumcommands.py:1050 ../yumcommands.py:1068
+#: ../yumcommands.py:2247 ../yumcommands.py:2248 ../yumcommands.py:2266
 msgid "status"
 msgstr "состояние"
 
-#: ../yumcommands.py:1062
+#: ../yumcommands.py:2260
 msgid "repo name"
 msgstr "репозиторий"
 
-#: ../yumcommands.py:1099
+#: ../yumcommands.py:2332
 msgid "Display a helpful usage message"
 msgstr "Отобразить подсказку к использованию"
 
-#: ../yumcommands.py:1133
+#: ../yumcommands.py:2374
 #, python-format
 msgid "No help available for %s"
 msgstr "Помощь недоступна для %s"
 
-#: ../yumcommands.py:1138
+#: ../yumcommands.py:2379
 msgid ""
 "\n"
 "\n"
 "aliases: "
-msgstr ""
-"\n"
-"\n"
-"альтернативные названия: "
+msgstr "\n\nальтернативные названия: "
 
-#: ../yumcommands.py:1140
+#: ../yumcommands.py:2381
 msgid ""
 "\n"
 "\n"
 "alias: "
-msgstr ""
-"\n"
-"\n"
-"альтернативное название: "
+msgstr "\n\nальтернативное название: "
 
-#: ../yumcommands.py:1168
+#: ../yumcommands.py:2466
 msgid "Setting up Reinstall Process"
 msgstr "Подготовка к повторной установке"
 
-#: ../yumcommands.py:1176
+#: ../yumcommands.py:2478
 msgid "reinstall a package"
 msgstr "переустановка пакета"
 
-#: ../yumcommands.py:1195
+#: ../yumcommands.py:2541
 msgid "Setting up Downgrade Process"
 msgstr "Подготовка к откату версии"
 
-#: ../yumcommands.py:1202
+#: ../yumcommands.py:2552
 msgid "downgrade a package"
 msgstr "откат к предыдущей версии пакета"
 
-#: ../yumcommands.py:1216
+#: ../yumcommands.py:2591
 msgid "Display a version for the machine and/or available repos."
 msgstr "Отображает версию для вашей архитектуры и/или доступные репозитории."
 
-#: ../yumcommands.py:1255
+#: ../yumcommands.py:2643
 msgid " Yum version groups:"
 msgstr " Группы версий Yum:"
 
-#: ../yumcommands.py:1265
+#: ../yumcommands.py:2653
 msgid " Group   :"
 msgstr " Коллекция   :"
 
-#: ../yumcommands.py:1266
+#: ../yumcommands.py:2654
 msgid " Packages:"
 msgstr " Пакеты      :"
 
-#: ../yumcommands.py:1295
+#: ../yumcommands.py:2683
 msgid "Installed:"
 msgstr "Установлен(ы):"
 
-#: ../yumcommands.py:1303
+#: ../yumcommands.py:2691
 msgid "Group-Installed:"
 msgstr "Установлены коллекции:"
 
-#: ../yumcommands.py:1312
+#: ../yumcommands.py:2700
 msgid "Available:"
 msgstr "Доступен(ы):"
 
-#: ../yumcommands.py:1321
+#: ../yumcommands.py:2709
 msgid "Group-Available:"
 msgstr "Доступны коллекции   :"
 
-#: ../yumcommands.py:1360
+#: ../yumcommands.py:2783
 msgid "Display, or use, the transaction history"
 msgstr "Отобразить (или использовать) журнал операций"
 
-#: ../yumcommands.py:1432
+#: ../yumcommands.py:2876 ../yumcommands.py:2880
+msgid "Transactions:"
+msgstr "Транзакции:"
+
+#: ../yumcommands.py:2881
+msgid "Begin time  :"
+msgstr "Время начала :"
+
+#: ../yumcommands.py:2882
+msgid "End time    :"
+msgstr "Время оканчивания :"
+
+#: ../yumcommands.py:2883
+msgid "Counts      :"
+msgstr "Количество:"
+
+#: ../yumcommands.py:2884
+msgid "  NEVRAC :"
+msgstr "  NEVRAC :"
+
+#: ../yumcommands.py:2885
+msgid "  NEVRA  :"
+msgstr "  NEVRA  :"
+
+#: ../yumcommands.py:2886
+msgid "  NA     :"
+msgstr "  NA     :"
+
+#: ../yumcommands.py:2887
+msgid "  NEVR   :"
+msgstr "  NEVR   :"
+
+#: ../yumcommands.py:2888
+msgid "  rpm DB :"
+msgstr "  база данных rpm :"
+
+#: ../yumcommands.py:2889
+msgid "  yum DB :"
+msgstr "  база данных Yum :"
+
+#: ../yumcommands.py:2922
 #, python-format
 msgid "Invalid history sub-command, use: %s."
 msgstr "Неверная подкоманда журнала, используйте: %s."
 
-#: ../yumcommands.py:1439
+#: ../yumcommands.py:2929
 msgid "You don't have access to the history DB."
 msgstr "Нет доступа к спискам предыдущих действий."
 
-#: ../yumcommands.py:1487
+#: ../yumcommands.py:3036
 msgid "Check for problems in the rpmdb"
 msgstr "Проверка проблем в базе данных RPM"
 
-#: ../yumcommands.py:1514
+#: ../yumcommands.py:3102
 msgid "load a saved transaction from filename"
 msgstr "загрузить сохранённый сценарий из файла"
 
-#: ../yumcommands.py:1518
+#: ../yumcommands.py:3119
 msgid "No saved transaction file specified."
 msgstr "Не указан файл сценария."
 
-#: ../yumcommands.py:1522
+#: ../yumcommands.py:3123
 #, python-format
 msgid "loading transaction from %s"
 msgstr "загрузка сценария из %s"
 
-#: ../yumcommands.py:1528
+#: ../yumcommands.py:3129
 #, python-format
 msgid "Transaction loaded from %s with %s members"
 msgstr "Сценарий загружен из %s с %s членами"
 
+#: ../yumcommands.py:3169
+msgid "Simple way to swap packages, isntead of using shell"
+msgstr ""
+
+#: ../yumcommands.py:3264
+msgid ""
+"Treat a repo. as a group of packages, so we can install/remove all of them"
+msgstr ""
+
+#: ../yumcommands.py:3341
+#, python-format
+msgid "%d package to update"
+msgid_plural "%d packages to update"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#: ../yumcommands.py:3370
+#, python-format
+msgid "%d package to remove/reinstall"
+msgid_plural "%d packages to remove/reinstall"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#: ../yumcommands.py:3413
+#, python-format
+msgid "%d package to remove/sync"
+msgid_plural "%d packages to remove/sync"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#: ../yumcommands.py:3417
+#, python-format
+msgid "Not a valid sub-command of %s"
+msgstr ""
+
 #. This is mainly for PackageSackError from rpmdb.
 #: ../yummain.py:84
 #, python-format
 msgid " Yum checks failed: %s"
 msgstr " Неудачных проверок Yum: %s"
 
-#: ../yummain.py:114
-msgid ""
-"Another app is currently holding the yum lock; waiting for it to exit..."
-msgstr "Еще одно приложение, в настоящее время блокирует Yum. Подождите..."
+#: ../yummain.py:98
+msgid "No read/execute access in current directory, moving to /"
+msgstr "Чтение и запуск в текущем каталоге невозможны, переход в /"
 
-#: ../yummain.py:120
-msgid "Can't create lock file; exiting"
-msgstr "Не удалось создать файл блокировки; завершение"
+#: ../yummain.py:106
+msgid "No getcwd() access in current directory, moving to /"
+msgstr "В текущем каталоге нет доступа к getcwd(), переходим к /"
 
 #. Depsolve stage
-#: ../yummain.py:167
+#: ../yummain.py:164
 msgid "Resolving Dependencies"
 msgstr "Разрешение зависимостей"
 
-#: ../yummain.py:230
+#: ../yummain.py:227 ../yummain.py:235
 #, python-format
-msgid "Your transaction was saved, rerun it with: yum load-transaction %s"
-msgstr "Сценарий сохранён, запускайте командой: yum-load-transaction %s"
+msgid ""
+"Your transaction was saved, rerun it with:\n"
+" yum load-transaction %s"
+msgstr "Текущее действие сохранено. Чтобы повторить его, выполните:\n yum load-transaction %s"
 
-#: ../yummain.py:288
+#: ../yummain.py:312
 msgid ""
 "\n"
 "\n"
 "Exiting on user cancel."
-msgstr ""
-"\n"
-"\n"
-"Выход по запросу пользователя"
+msgstr "\n\nВыход по запросу пользователя"
 
-#: ../yum/depsolve.py:84
+#: ../yum/depsolve.py:127
 msgid "doTsSetup() will go away in a future version of Yum.\n"
 msgstr "doTsSetup() будет устранен в следующей версии Yum\n"
 
-#: ../yum/depsolve.py:99
+#: ../yum/depsolve.py:143
 msgid "Setting up TransactionSets before config class is up"
 msgstr "Составление списка действий до включения класса конфигурации"
 
-#: ../yum/depsolve.py:153
+#: ../yum/depsolve.py:200
 #, python-format
 msgid "Invalid tsflag in config file: %s"
 msgstr "Неверный tsflag в конфигурационном файле: %s"
 
-#: ../yum/depsolve.py:164
+#: ../yum/depsolve.py:218
 #, python-format
 msgid "Searching pkgSack for dep: %s"
 msgstr "Поиск набора пакетов для зависимости: %s"
 
-#: ../yum/depsolve.py:207
+#: ../yum/depsolve.py:269
 #, python-format
 msgid "Member: %s"
 msgstr "Член: %s"
 
-#: ../yum/depsolve.py:221 ../yum/depsolve.py:793
+#: ../yum/depsolve.py:283 ../yum/depsolve.py:937
 #, python-format
 msgid "%s converted to install"
 msgstr "%s преобразован для установки"
 
-#: ../yum/depsolve.py:233
+#: ../yum/depsolve.py:295
 #, python-format
 msgid "Adding Package %s in mode %s"
 msgstr "Добавление пакета %s в режиме %s"
 
-#: ../yum/depsolve.py:249
+#: ../yum/depsolve.py:311
 #, python-format
 msgid "Removing Package %s"
 msgstr "Удаление пакета %s"
 
-#: ../yum/depsolve.py:271
+#: ../yum/depsolve.py:333
 #, python-format
 msgid "%s requires: %s"
 msgstr "%s требуется: %s"
 
-#: ../yum/depsolve.py:312
+#: ../yum/depsolve.py:374
 #, python-format
 msgid "%s requires %s"
 msgstr "%s требуется %s"
 
-#: ../yum/depsolve.py:339
+#: ../yum/depsolve.py:401
 msgid "Needed Require has already been looked up, cheating"
-msgstr "Необходимое требование уже было было уже найдено, сжульничаем"
+msgstr "Требуемые зависимости уже проверялись, обходим"
 
-#: ../yum/depsolve.py:349
+#: ../yum/depsolve.py:411
 #, python-format
 msgid "Needed Require is not a package name. Looking up: %s"
 msgstr "Требуемая зависимость не является именем пакета. Поиск: %s"
 
-#: ../yum/depsolve.py:357
+#: ../yum/depsolve.py:419
 #, python-format
 msgid "Potential Provider: %s"
 msgstr "Возможный поставщик: %s"
 
-#: ../yum/depsolve.py:380
+#: ../yum/depsolve.py:442
 #, python-format
 msgid "Mode is %s for provider of %s: %s"
 msgstr "Режим %s для поставщика %s: %s"
 
-#: ../yum/depsolve.py:384
+#: ../yum/depsolve.py:446
 #, python-format
 msgid "Mode for pkg providing %s: %s"
 msgstr "Режим для пакета, предоставяющего %s: %s"
@@ -2123,1028 +2333,1142 @@ msgstr "Режим для пакета, предоставяющего %s: %s"
 #. the thing it needs is being updated or obsoleted away
 #. try to update the requiring package in hopes that all this problem goes
 #. away :(
-#: ../yum/depsolve.py:389 ../yum/depsolve.py:406
+#: ../yum/depsolve.py:451 ../yum/depsolve.py:486
 #, python-format
 msgid "Trying to update %s to resolve dep"
 msgstr "Пробую обновить %s чтобы решить зависимость"
 
-#: ../yum/depsolve.py:400 ../yum/depsolve.py:410
+#: ../yum/depsolve.py:480
 #, python-format
 msgid "No update paths found for %s. Failure!"
 msgstr "Не найдено путей обновления для %s. Срыв!"
 
-#: ../yum/depsolve.py:416
+#: ../yum/depsolve.py:491
+#, python-format
+msgid "No update paths found for %s. Failure due to requirement: %s!"
+msgstr ""
+
+#: ../yum/depsolve.py:507
+#, python-format
+msgid "Update for %s. Doesn't fix requirement: %s!"
+msgstr ""
+
+#: ../yum/depsolve.py:514
 #, python-format
 msgid "TSINFO: %s package requiring %s marked as erase"
 msgstr "TSINFO: %s пакет необходимый для %s был помечен для удаления"
 
-#: ../yum/depsolve.py:429
+#: ../yum/depsolve.py:527
 #, python-format
 msgid "TSINFO: Obsoleting %s with %s to resolve dep."
-msgstr ""
-"TSINFO: Замена устаревшего %s пакета пакетом %s чтобы разрешить зависимости."
+msgstr "TSINFO: Замена устаревшего %s пакета пакетом %s чтобы разрешить зависимости."
 
-#: ../yum/depsolve.py:432
+#: ../yum/depsolve.py:530
 #, python-format
 msgid "TSINFO: Updating %s to resolve dep."
 msgstr "TSINFO: Обновление %s для разрешения зависимостей."
 
-#: ../yum/depsolve.py:440
+#: ../yum/depsolve.py:538
 #, python-format
 msgid "Cannot find an update path for dep for: %s"
 msgstr "Не удается найти путь обновления зависимости для: %s"
 
-#: ../yum/depsolve.py:471
+#: ../yum/depsolve.py:569
 #, python-format
 msgid "Quick matched %s to require for %s"
 msgstr "Быстро подобран пакет %s в качестве требуемого для %s"
 
 #. is it already installed?
-#: ../yum/depsolve.py:513
+#: ../yum/depsolve.py:611
 #, python-format
 msgid "%s is in providing packages but it is already installed, removing."
 msgstr "Зависимый пакет %s уже установлен и будет пропущен"
 
-#: ../yum/depsolve.py:529
+#: ../yum/depsolve.py:627
 #, python-format
 msgid "Potential resolving package %s has newer instance in ts."
 msgstr "Пакет %s в сценарии новее доступного"
 
-#: ../yum/depsolve.py:540
+#: ../yum/depsolve.py:638
 #, python-format
 msgid "Potential resolving package %s has newer instance installed."
 msgstr "Более новый пакет %s уже установлен в систему."
 
-#: ../yum/depsolve.py:558
+#: ../yum/depsolve.py:656
 #, python-format
 msgid "%s already in ts, skipping this one"
 msgstr "%s уже в списке к действию, пропускаем его"
 
-#: ../yum/depsolve.py:607
+#: ../yum/depsolve.py:705
 #, python-format
 msgid "TSINFO: Marking %s as update for %s"
 msgstr "TSINFO: %s отмечен как обновление для %s"
 
-#: ../yum/depsolve.py:616
+#: ../yum/depsolve.py:714
 #, python-format
 msgid "TSINFO: Marking %s as install for %s"
 msgstr "TSINFO: Отмечен %s чтобы установить %s"
 
-#: ../yum/depsolve.py:727 ../yum/depsolve.py:819
+#: ../yum/depsolve.py:849 ../yum/depsolve.py:967
 msgid "Success - empty transaction"
 msgstr "Успешно — пустой сценарий"
 
-#: ../yum/depsolve.py:767 ../yum/depsolve.py:783
+#: ../yum/depsolve.py:889 ../yum/depsolve.py:927
 msgid "Restarting Loop"
 msgstr "Перезапуск цикла"
 
-#: ../yum/depsolve.py:799
+#: ../yum/depsolve.py:947
 msgid "Dependency Process ending"
 msgstr "Завершение процесса разрешения зависимостей"
 
-#: ../yum/depsolve.py:821
+#: ../yum/depsolve.py:969
 msgid "Success - deps resolved"
 msgstr "Успешно — зависимости определены"
 
-#: ../yum/depsolve.py:845
+#: ../yum/depsolve.py:993
 #, python-format
 msgid "Checking deps for %s"
 msgstr "Проверка зависимостей для %s"
 
-#: ../yum/depsolve.py:931
+#: ../yum/depsolve.py:1082
 #, python-format
 msgid "looking for %s as a requirement of %s"
 msgstr "поиск %s требуется для %s"
 
-#: ../yum/depsolve.py:1169
+#: ../yum/depsolve.py:1349
 #, python-format
 msgid "Running compare_providers() for %s"
 msgstr "Запуск compare_providers() для %s"
 
-#: ../yum/depsolve.py:1196 ../yum/depsolve.py:1202
+#: ../yum/depsolve.py:1376 ../yum/depsolve.py:1382
 #, python-format
 msgid "better arch in po %s"
 msgstr "Лучший архив в %s"
 
-#: ../yum/depsolve.py:1298
+#: ../yum/depsolve.py:1496
 #, python-format
 msgid "%s obsoletes %s"
 msgstr "%s исключает %s"
 
-#: ../yum/depsolve.py:1310
+#: ../yum/depsolve.py:1508
 #, python-format
 msgid ""
 "archdist compared %s to %s on %s\n"
 "  Winner: %s"
-msgstr ""
-"Сравнение archdist %s с %s в %s\n"
-"  Лучший: %s"
+msgstr "Сравнение archdist %s с %s в %s\n  Лучший: %s"
 
-#: ../yum/depsolve.py:1318
+#: ../yum/depsolve.py:1516
 #, python-format
 msgid "common sourcerpm %s and %s"
 msgstr "общий источник RPM %s и %s"
 
-#: ../yum/depsolve.py:1322
+#: ../yum/depsolve.py:1520
 #, python-format
 msgid "base package %s is installed for %s"
 msgstr "базовый пакет %s установлен для %s"
 
-#: ../yum/depsolve.py:1328
+#: ../yum/depsolve.py:1526
 #, python-format
 msgid "common prefix of %s between %s and %s"
 msgstr "Общий префикс %s для %s и %s"
 
-#: ../yum/depsolve.py:1359
+#: ../yum/depsolve.py:1543
 #, python-format
-msgid "requires minimal: %d"
-msgstr "минимально: %d"
+msgid "provides vercmp: %s"
+msgstr "обеспечивает vercmp: %s"
 
-#: ../yum/depsolve.py:1363
+#: ../yum/depsolve.py:1547 ../yum/depsolve.py:1581
 #, python-format
 msgid " Winner: %s"
 msgstr "Лучший: %s"
 
-#: ../yum/depsolve.py:1368
+#: ../yum/depsolve.py:1577
+#, python-format
+msgid "requires minimal: %d"
+msgstr "минимально: %d"
+
+#: ../yum/depsolve.py:1586
 #, python-format
 msgid " Loser(with %d): %s"
 msgstr "Худший (c %d): %s"
 
-#: ../yum/depsolve.py:1384
+#: ../yum/depsolve.py:1602
 #, python-format
 msgid "Best Order: %s"
 msgstr "Лучший выбор: %s"
 
-#: ../yum/__init__.py:234
+#: ../yum/__init__.py:274
 msgid "doConfigSetup() will go away in a future version of Yum.\n"
 msgstr "doConfigSetup() будет устранен в следующей версии Yum.\n"
 
-#: ../yum/__init__.py:482
+#: ../yum/__init__.py:553
+#, python-format
+msgid "Skipping unreadable repository %s"
+msgstr ""
+
+#: ../yum/__init__.py:572
 #, python-format
 msgid "Repository %r: Error parsing config: %s"
 msgstr "Источник %r: Сбой обработки настроек: %s"
 
-#: ../yum/__init__.py:488
+#: ../yum/__init__.py:578
 #, python-format
 msgid "Repository %r is missing name in configuration, using id"
 msgstr "Репозиторий %r  не имеет названия в конфигурации, используется ID"
 
-#: ../yum/__init__.py:526
+#: ../yum/__init__.py:618
 msgid "plugins already initialised"
 msgstr "модули уже загружены"
 
-#: ../yum/__init__.py:533
+#: ../yum/__init__.py:627
 msgid "doRpmDBSetup() will go away in a future version of Yum.\n"
 msgstr "doRpmDBSetup() будет устранен в следующей версии Yum.\n"
 
-#: ../yum/__init__.py:544
+#: ../yum/__init__.py:638
 msgid "Reading Local RPMDB"
 msgstr "Чтение локальной базы данных RPM"
 
-#: ../yum/__init__.py:567
+#: ../yum/__init__.py:668
 msgid "doRepoSetup() will go away in a future version of Yum.\n"
 msgstr "doRepoSetup() будет устранен в следующей версии Yum.\n"
 
-#: ../yum/__init__.py:630
+#: ../yum/__init__.py:722
 msgid "doSackSetup() will go away in a future version of Yum.\n"
 msgstr "doSackSetup() будет устранен в следующей версии Yum.\n"
 
-#: ../yum/__init__.py:660
+#: ../yum/__init__.py:752
 msgid "Setting up Package Sacks"
 msgstr "Настройка набора пакетов"
 
-#: ../yum/__init__.py:705
+#: ../yum/__init__.py:797
 #, python-format
 msgid "repo object for repo %s lacks a _resetSack method\n"
 msgstr "Объект репозитория %s не имеет метода _resetSack\n"
 
-#: ../yum/__init__.py:706
+#: ../yum/__init__.py:798
 msgid "therefore this repo cannot be reset.\n"
 msgstr "поэтому этот репозиторий не может быть сброшен.\n"
 
-#: ../yum/__init__.py:711
+#: ../yum/__init__.py:806
 msgid "doUpdateSetup() will go away in a future version of Yum.\n"
 msgstr "doUpdateSetup() будет устранен в следующей версии Yum.\n"
 
-#: ../yum/__init__.py:723
+#: ../yum/__init__.py:818
 msgid "Building updates object"
 msgstr "Построение объекта обновлений"
 
-#: ../yum/__init__.py:765
+#: ../yum/__init__.py:862
 msgid "doGroupSetup() will go away in a future version of Yum.\n"
 msgstr "doGroupSetup() будет устранен в следующей версии Yum.\n"
 
-#: ../yum/__init__.py:790
+#: ../yum/__init__.py:887
 msgid "Getting group metadata"
 msgstr "Получение метаданных коллекции"
 
-#: ../yum/__init__.py:816
+#: ../yum/__init__.py:915
 #, python-format
 msgid "Adding group file from repository: %s"
 msgstr "Добавление файла коллекций из репозитория: %s"
 
-#: ../yum/__init__.py:827
+#: ../yum/__init__.py:918
+#, python-format
+msgid "Failed to retrieve group file for repository: %s"
+msgstr ""
+
+#: ../yum/__init__.py:924
 #, python-format
 msgid "Failed to add groups file for repository: %s - %s"
 msgstr "Ошибка добавления файла коллекций для репозитория: %s — %s"
 
-#: ../yum/__init__.py:833
+#: ../yum/__init__.py:930
 msgid "No Groups Available in any repository"
 msgstr "Ни в одном репозитории нет доступных коллекций"
 
-#: ../yum/__init__.py:845
+#: ../yum/__init__.py:945
 msgid "Getting pkgtags metadata"
 msgstr "Загрузка метаданных меток пакета"
 
-#: ../yum/__init__.py:855
+#: ../yum/__init__.py:955
 #, python-format
 msgid "Adding tags from repository: %s"
 msgstr "Добавление меток из репозитория: %s"
 
-#: ../yum/__init__.py:866
+#: ../yum/__init__.py:966
 #, python-format
 msgid "Failed to add Pkg Tags for repository: %s - %s"
 msgstr "Ошибка добавление меток пакета для репозитория: %s — %s"
 
-#: ../yum/__init__.py:944
+#: ../yum/__init__.py:1059
 msgid "Importing additional filelist information"
 msgstr "Импорт дополнительной информации о списке файлов"
 
-#: ../yum/__init__.py:958
+#: ../yum/__init__.py:1077
 #, python-format
 msgid "The program %s%s%s is found in the yum-utils package."
 msgstr "Программа %s%s%s найдена в пакете yum-utils."
 
-#: ../yum/__init__.py:966
+#: ../yum/__init__.py:1094
 msgid ""
 "There are unfinished transactions remaining. You might consider running yum-"
 "complete-transaction first to finish them."
-msgstr ""
-"Остались незавершенные действия. Возможно, сначала следует выполнить yum-"
-"complete-transaction для их завершения."
+msgstr "Остались незавершенные действия. Возможно, сначала следует выполнить yum-complete-transaction для их завершения."
 
-#: ../yum/__init__.py:983
+#: ../yum/__init__.py:1111
 msgid "--> Finding unneeded leftover dependencies"
 msgstr "--> Поиск ненужных остаточных зависимостей"
 
-#: ../yum/__init__.py:1041
+#: ../yum/__init__.py:1169
 #, python-format
 msgid "Protected multilib versions: %s != %s"
 msgstr "Защищённые версии multilib: %s != %s"
 
-#: ../yum/__init__.py:1096
+#. People are confused about protected mutilib ... so give
+#. them a nicer message.
+#: ../yum/__init__.py:1173
+#, python-format
+msgid ""
+" Multilib version problems found. This often means that the root\n"
+"cause is something else and multilib version checking is just\n"
+"pointing out that there is a problem. Eg.:\n"
+"\n"
+"  1. You have an upgrade for %(name)s which is missing some\n"
+"     dependency that another package requires. Yum is trying to\n"
+"     solve this by installing an older version of %(name)s of the\n"
+"     different architecture. If you exclude the bad architecture\n"
+"     yum will tell you what the root cause is (which package\n"
+"     requires what). You can try redoing the upgrade with\n"
+"     --exclude %(name)s.otherarch ... this should give you an error\n"
+"     message showing the root cause of the problem.\n"
+"\n"
+"  2. You have multiple architectures of %(name)s installed, but\n"
+"     yum can only see an upgrade for one of those arcitectures.\n"
+"     If you don't want/need both architectures anymore then you\n"
+"     can remove the one with the missing update and everything\n"
+"     will work.\n"
+"\n"
+"  3. You have duplicate versions of %(name)s installed already.\n"
+"     You can use \"yum check\" to get yum show these errors.\n"
+"\n"
+"...you can also use --setopt=protected_multilib=false to remove\n"
+"this checking, however this is almost never the correct thing to\n"
+"do as something else is very likely to go wrong (often causing\n"
+"much more problems).\n"
+"\n"
+msgstr ""
+
+#: ../yum/__init__.py:1257
 #, python-format
 msgid "Trying to remove \"%s\", which is protected"
 msgstr "Попытка удаления защищенного «%s»"
 
-#: ../yum/__init__.py:1217
+#: ../yum/__init__.py:1378
 msgid ""
 "\n"
 "Packages skipped because of dependency problems:"
-msgstr ""
-"\n"
-"Пакеты пропущены из-за проблем с зависимостями:"
+msgstr "\nПакеты пропущены из-за проблем с зависимостями:"
 
-#: ../yum/__init__.py:1221
+#: ../yum/__init__.py:1382
 #, python-format
 msgid "    %s from %s"
 msgstr "    %s из %s"
 
 #. FIXME: _N()
-#: ../yum/__init__.py:1391
+#: ../yum/__init__.py:1556
 #, python-format
 msgid "** Found %d pre-existing rpmdb problem(s), 'yum check' output follows:"
 msgstr "** Предварительно ошибок в rpmdb: %d, «yum check» выдает следующее:"
 
-#: ../yum/__init__.py:1395
+#: ../yum/__init__.py:1560
 msgid "Warning: RPMDB altered outside of yum."
-msgstr "ПРЕДУПРЕЖДЕНИЕ: база данных RPM была изменена вне yum."
+msgstr "ПРЕДУПРЕЖДЕНИЕ: база данных RPM была изменена вне Yum."
 
-#: ../yum/__init__.py:1407
+#: ../yum/__init__.py:1572
 msgid "missing requires"
 msgstr "недостающие зависимости"
 
-#: ../yum/__init__.py:1408
+#: ../yum/__init__.py:1573
 msgid "installed conflict"
 msgstr "установленный конфликтующий пакет"
 
-#: ../yum/__init__.py:1525
+#: ../yum/__init__.py:1709
 msgid ""
 "Warning: scriptlet or other non-fatal errors occurred during transaction."
 msgstr "Внимание: в ходе операции возникли некоторые некритические ошибки."
 
-#: ../yum/__init__.py:1535
+#: ../yum/__init__.py:1719
 msgid "Transaction couldn't start:"
 msgstr "Операция не начата:"
 
 #. should this be 'to_unicoded'?
-#: ../yum/__init__.py:1538
+#: ../yum/__init__.py:1722
 msgid "Could not run transaction."
 msgstr "Невозможно выполнить действие."
 
-#: ../yum/__init__.py:1552
+#: ../yum/__init__.py:1736
 #, python-format
 msgid "Failed to remove transaction file %s"
 msgstr "Невозможно удалить файл сценария %s"
 
 #. maybe a file log here, too
 #. but raising an exception is not going to do any good
-#: ../yum/__init__.py:1590
+#: ../yum/__init__.py:1792
 #, python-format
 msgid "%s was supposed to be installed but is not!"
 msgstr "%s должен был быть установлен, но не был установлен!"
 
 #. maybe a file log here, too
 #. but raising an exception is not going to do any good
-#: ../yum/__init__.py:1651
+#. Note: This actually triggers atm. because we can't
+#. always find the erased txmbr to set it when
+#. we should.
+#: ../yum/__init__.py:1869
 #, python-format
 msgid "%s was supposed to be removed but is not!"
 msgstr "%s должен был быть удален, но не был удален!"
 
-#: ../yum/__init__.py:1768
+#. Another copy seems to be running.
+#: ../yum/__init__.py:2004
 #, python-format
-msgid "Could not open lock %s: %s"
-msgstr "Невозможно открыть блокировку %s: %s"
+msgid "Existing lock %s: another copy is running as pid %s."
+msgstr "Заблокировано %s: другая копия запущена с pid %s."
 
 #. Whoa. What the heck happened?
-#: ../yum/__init__.py:1785
+#: ../yum/__init__.py:2053
 #, python-format
-msgid "Unable to check if PID %s is active"
-msgstr "Невозможно проверить активен ли процесс %s"
+msgid "Could not create lock at %s: %s "
+msgstr "Вы не можете создать блокировку %s: %s "
 
-#. Another copy seems to be running.
-#: ../yum/__init__.py:1789
+#: ../yum/__init__.py:2065
 #, python-format
-msgid "Existing lock %s: another copy is running as pid %s."
-msgstr "Заблокировано %s: другая копия запущена pid %s."
+msgid "Could not open lock %s: %s"
+msgstr "Невозможно открыть блокировку %s: %s"
 
+#. The pid doesn't exist
 #. Whoa. What the heck happened?
-#: ../yum/__init__.py:1830
+#: ../yum/__init__.py:2082
 #, python-format
-msgid "Could not create lock at %s: %s "
-msgstr "Вы не можете создать блокировку %s: %s "
+msgid "Unable to check if PID %s is active"
+msgstr "Невозможно проверить активен ли процесс %s"
 
-#: ../yum/__init__.py:1875
+#: ../yum/__init__.py:2132
 #, python-format
 msgid ""
 "Package does not match intended download. Suggestion: run yum "
 "--enablerepo=%s clean metadata"
-msgstr ""
-"Пакет не соответствует предложенному для загрузки.\r\n"
-"Предлагается запустить run yum --enablerepo=%s clean metadata"
+msgstr "Пакет не соответствует предложенному для загрузки.\r\nПредлагается выполнить: yum --enablerepo=%s clean metadata"
 
-#: ../yum/__init__.py:1891
+#: ../yum/__init__.py:2155
 msgid "Could not perform checksum"
 msgstr "Невозможно проверить контрольную сумму"
 
-#: ../yum/__init__.py:1894
+#: ../yum/__init__.py:2158
 msgid "Package does not match checksum"
 msgstr "Пакет не совпадает с контрольной суммой"
 
-#: ../yum/__init__.py:1946
+#: ../yum/__init__.py:2222
 #, python-format
 msgid "package fails checksum but caching is enabled for %s"
 msgstr "проверка контрольной суммы неудачна, но кэширование включено для %s"
 
-#: ../yum/__init__.py:1949 ../yum/__init__.py:1979
+#: ../yum/__init__.py:2225 ../yum/__init__.py:2268
 #, python-format
 msgid "using local copy of %s"
 msgstr "использование локальной копии %s"
 
-#: ../yum/__init__.py:1991
-#, python-format
-msgid ""
-"Insufficient space in download directory %s\n"
-"    * free   %s\n"
-"    * needed %s"
+#. caller handles errors
+#: ../yum/__init__.py:2342
+msgid "exiting because --downloadonly specified"
 msgstr ""
-"Недостаточно места в директории %s\n"
-"    * свободно   %s\n"
-"    * необходимо %s"
 
-#: ../yum/__init__.py:2052
+#: ../yum/__init__.py:2371
 msgid "Header is not complete."
 msgstr "Заголовок не полный."
 
-#: ../yum/__init__.py:2089
+#: ../yum/__init__.py:2411
 #, python-format
 msgid ""
 "Header not in local cache and caching-only mode enabled. Cannot download %s"
-msgstr ""
-"Заголовок не в локальном кэше. Включен режим только из кэша. Невозможно "
-"загрузить %s"
+msgstr "Заголовок не в локальном кэше. Включен режим только из кэша. Невозможно загрузить %s"
 
-#: ../yum/__init__.py:2147
+#: ../yum/__init__.py:2471
 #, python-format
 msgid "Public key for %s is not installed"
 msgstr "Публичный ключ для %s не установлен"
 
-#: ../yum/__init__.py:2151
+#: ../yum/__init__.py:2475
 #, python-format
 msgid "Problem opening package %s"
 msgstr "Проблема открытия пакета %s"
 
-#: ../yum/__init__.py:2159
+#: ../yum/__init__.py:2483
 #, python-format
 msgid "Public key for %s is not trusted"
 msgstr "Публичный ключ для %s не заслуживает доверия"
 
-#: ../yum/__init__.py:2163
+#: ../yum/__init__.py:2487
 #, python-format
 msgid "Package %s is not signed"
 msgstr "Пакет %s не подписан"
 
-#: ../yum/__init__.py:2202
+#: ../yum/__init__.py:2529
 #, python-format
 msgid "Cannot remove %s"
 msgstr "Невозможно удалить %s"
 
-#: ../yum/__init__.py:2206
+#: ../yum/__init__.py:2533
 #, python-format
 msgid "%s removed"
 msgstr "%s удален(ы)"
 
-#: ../yum/__init__.py:2252
+#: ../yum/__init__.py:2594
 #, python-format
 msgid "Cannot remove %s file %s"
 msgstr "Невозможно удалить %s файл %s"
 
-#: ../yum/__init__.py:2256
+#: ../yum/__init__.py:2598
 #, python-format
 msgid "%s file %s removed"
 msgstr "%s файл %s удален"
 
-#: ../yum/__init__.py:2258
+#: ../yum/__init__.py:2600
 #, python-format
-msgid "%d %s files removed"
-msgstr "%d %s файлы удалены"
+msgid "%d %s file removed"
+msgid_plural "%d %s files removed"
+msgstr[0] "%d %s файл удален"
+msgstr[1] "%d %s файла удалены"
+msgstr[2] "%d %s файлов удалены"
 
-#: ../yum/__init__.py:2327
+#: ../yum/__init__.py:2712
 #, python-format
 msgid "More than one identical match in sack for %s"
 msgstr "Более одного идентичных совпадений найдено в наборе для %s"
 
-#: ../yum/__init__.py:2333
+#: ../yum/__init__.py:2718
 #, python-format
 msgid "Nothing matches %s.%s %s:%s-%s from update"
 msgstr "Совпадений не найдено %s.%s %s:%s-%s из обновлений"
 
-#: ../yum/__init__.py:2632
+#: ../yum/__init__.py:3096
 msgid ""
 "searchPackages() will go away in a future version of Yum."
 "                      Use searchGenerator() instead. \n"
-msgstr ""
-"searchPackages() будет убрано в следующей версии Yum."
-"                          Используйте searchGenerator() взамен.  \n"
+msgstr "searchPackages() будет убрано в следующей версии Yum.                          Используйте searchGenerator() взамен.  \n"
 
-#: ../yum/__init__.py:2675
+#: ../yum/__init__.py:3149
 #, python-format
-msgid "Searching %d packages"
-msgstr "Поиск %d пакетов"
+msgid "Searching %d package"
+msgid_plural "Searching %d packages"
+msgstr[0] "Поиск %d пакета"
+msgstr[1] "Поиск %d пакетов"
+msgstr[2] "Поиск %d пакетов"
 
-#: ../yum/__init__.py:2679
+#: ../yum/__init__.py:3153
 #, python-format
 msgid "searching package %s"
 msgstr "поиск пакета %s"
 
-#: ../yum/__init__.py:2691
+#: ../yum/__init__.py:3165
 msgid "searching in file entries"
 msgstr "поиск среди файлов"
 
-#: ../yum/__init__.py:2698
+#: ../yum/__init__.py:3172
 msgid "searching in provides entries"
 msgstr "поиск по содержимому"
 
-#: ../yum/__init__.py:2777
+#: ../yum/__init__.py:3369
 msgid "No group data available for configured repositories"
 msgstr "Для настроенных репозиториев данных коллекций нет"
 
-#: ../yum/__init__.py:2808 ../yum/__init__.py:2827 ../yum/__init__.py:2858
-#: ../yum/__init__.py:2864 ../yum/__init__.py:2953 ../yum/__init__.py:2957
-#: ../yum/__init__.py:3339
+#: ../yum/__init__.py:3466 ../yum/__init__.py:3500 ../yum/__init__.py:3576
+#: ../yum/__init__.py:3582 ../yum/__init__.py:3719 ../yum/__init__.py:3723
+#: ../yum/__init__.py:4298
 #, python-format
 msgid "No Group named %s exists"
 msgstr "Коллекции с названием %s не существует"
 
-#: ../yum/__init__.py:2839 ../yum/__init__.py:2973
+#: ../yum/__init__.py:3512 ../yum/__init__.py:3740
 #, python-format
 msgid "package %s was not marked in group %s"
 msgstr "пакет %s не отмечен в коллекции %s"
 
-#: ../yum/__init__.py:2887
+#. (upgrade and igroup_data[pkg] == 'available')):
+#: ../yum/__init__.py:3622
+#, python-format
+msgid "Skipping package %s from group %s"
+msgstr "Пропуск пакета %s из группы %s"
+
+#: ../yum/__init__.py:3628
 #, python-format
 msgid "Adding package %s from group %s"
 msgstr "Добавление пакета %s из коллекции %s"
 
-#: ../yum/__init__.py:2891
+#: ../yum/__init__.py:3649
 #, python-format
 msgid "No package named %s available to be installed"
 msgstr "Пакет с именем %s не доступен для установки"
 
-#: ../yum/__init__.py:2941
+#: ../yum/__init__.py:3702
 #, python-format
-msgid "Warning: Group %s does not have any packages."
-msgstr "Предупреждение: Группа %s не имеет никаких пакетов."
+msgid "Warning: Group %s does not have any packages to install."
+msgstr ""
 
-#: ../yum/__init__.py:2943
+#: ../yum/__init__.py:3704
 #, python-format
 msgid "Group %s does have %u conditional packages, which may get installed."
+msgstr "Коллекция %s действительно содержит %u условных пакетов, и возможна их установка."
+
+#: ../yum/__init__.py:3794
+#, python-format
+msgid "Skipping group %s from environment %s"
 msgstr ""
-"Коллекция %s действительно содержит %u условных пакетов, и возможна их "
-"установка."
 
 #. This can happen due to excludes after .up has
 #. happened.
-#: ../yum/__init__.py:3002
+#: ../yum/__init__.py:3858
 #, python-format
 msgid "Package tuple %s could not be found in packagesack"
 msgstr "Кортеж пакетов %s не найден в наборе пакетов"
 
-#: ../yum/__init__.py:3022
+#: ../yum/__init__.py:3886
 #, python-format
 msgid "Package tuple %s could not be found in rpmdb"
 msgstr "Кортеж пакетов %s не найден в базе RPM"
 
-#: ../yum/__init__.py:3079 ../yum/__init__.py:3129
+#: ../yum/__init__.py:3949 ../yum/__init__.py:4012
 #, python-format
 msgid "Invalid version flag from: %s"
 msgstr "Неверный флаг версии от: %s"
 
-#: ../yum/__init__.py:3096 ../yum/__init__.py:3101
+#: ../yum/__init__.py:3973 ../yum/__init__.py:3979 ../yum/__init__.py:4036
+#: ../yum/__init__.py:4042
 #, python-format
 msgid "No Package found for %s"
 msgstr "Пакет %s не найден"
 
-#: ../yum/__init__.py:3401
+#: ../yum/__init__.py:4245 ../yum/__init__.py:4274
+#, python-format
+msgid "Warning: Environment Group %s does not exist."
+msgstr ""
+
+#: ../yum/__init__.py:4397
+#, python-format
+msgid "Package: %s - can't co-install with %s"
+msgstr ""
+
+#: ../yum/__init__.py:4437
 msgid "Package Object was not a package object instance"
 msgstr "Package Object не является экземпляром объекта пакета"
 
-#: ../yum/__init__.py:3405
+#: ../yum/__init__.py:4441
 msgid "Nothing specified to install"
 msgstr "Ничего не отмечено для установки"
 
-#: ../yum/__init__.py:3424 ../yum/__init__.py:4283
+#: ../yum/__init__.py:4465 ../yum/__init__.py:5410
 #, python-format
 msgid "Checking for virtual provide or file-provide for %s"
 msgstr "Проверка виртуального провайдера или файлового провайдера для %s"
 
-#: ../yum/__init__.py:3430 ../yum/__init__.py:3775 ../yum/__init__.py:3969
-#: ../yum/__init__.py:4289
-#, python-format
-msgid "No Match for argument: %s"
-msgstr "Совпадений с %s не найдено."
-
-#: ../yum/__init__.py:3507
+#: ../yum/__init__.py:4542
 #, python-format
 msgid "Package %s installed and not available"
 msgstr "Пакет %s уже установлен и недоступен"
 
-#: ../yum/__init__.py:3510
+#: ../yum/__init__.py:4545
 msgid "No package(s) available to install"
 msgstr "Нет доступных для установки пакетов"
 
-#: ../yum/__init__.py:3522
+#: ../yum/__init__.py:4557
 #, python-format
 msgid "Package: %s  - already in transaction set"
 msgstr "Пакет: %s — уже в списке к действию"
 
-#: ../yum/__init__.py:3550
+#: ../yum/__init__.py:4589
 #, python-format
 msgid "Package %s is obsoleted by %s which is already installed"
 msgstr "Пакет %s недействителен из-за установленного %s"
 
-#: ../yum/__init__.py:3555
+#: ../yum/__init__.py:4594
 #, python-format
 msgid ""
 "Package %s is obsoleted by %s, but obsoleting package does not provide for "
 "requirements"
-msgstr "Пакет %s заменен %s, но последний не отвечает зависимостям"
+msgstr "Пакет %s заменён %s, но последний не отвечает зависимостям"
 
-#: ../yum/__init__.py:3558
+#: ../yum/__init__.py:4597
 #, python-format
 msgid "Package %s is obsoleted by %s, trying to install %s instead"
 msgstr "Пакет %s недействителен из-за %s, попытка установки %s взамен"
 
-#: ../yum/__init__.py:3566
+#: ../yum/__init__.py:4605
 #, python-format
 msgid "Package %s already installed and latest version"
 msgstr "Пакет %s уже установлен, и это последняя версия."
 
-#: ../yum/__init__.py:3580
+#: ../yum/__init__.py:4619
 #, python-format
 msgid "Package matching %s already installed. Checking for update."
 msgstr "Пакет %s уже установлен. Проверка обновлений."
 
 #. update everything (the easy case)
-#: ../yum/__init__.py:3684
+#: ../yum/__init__.py:4751
 msgid "Updating Everything"
 msgstr "Полное обновление"
 
-#: ../yum/__init__.py:3708 ../yum/__init__.py:3849 ../yum/__init__.py:3879
-#: ../yum/__init__.py:3915
+#: ../yum/__init__.py:4775 ../yum/__init__.py:4930 ../yum/__init__.py:4975
+#: ../yum/__init__.py:5011
 #, python-format
 msgid "Not Updating Package that is already obsoleted: %s.%s %s:%s-%s"
 msgstr "Устаревший и уже необновляемый пакет: %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3753 ../yum/__init__.py:3965
+#: ../yum/__init__.py:4830 ../yum/__init__.py:5072
 #, python-format
 msgid "%s"
 msgstr "%s"
 
-#: ../yum/__init__.py:3838
+#: ../yum/__init__.py:4854 ../yum/__init__.py:5080 ../yum/__init__.py:5416
+#, python-format
+msgid "No Match for argument: %s"
+msgstr "Совпадений с %s не найдено."
+
+#: ../yum/__init__.py:4872
+#, python-format
+msgid "No package matched to upgrade: %s"
+msgstr "Ни один пакет не отмечен для обновления: %s"
+
+#: ../yum/__init__.py:4919
 #, python-format
 msgid "Package is already obsoleted: %s.%s %s:%s-%s"
 msgstr "Пакет уже устарел: %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3874
+#: ../yum/__init__.py:4970
 #, python-format
 msgid "Not Updating Package that is obsoleted: %s"
 msgstr "Устаревший необновляемый пакет: %s"
 
-#: ../yum/__init__.py:3883 ../yum/__init__.py:3919
+#: ../yum/__init__.py:4979 ../yum/__init__.py:5015
 #, python-format
 msgid "Not Updating Package that is already updated: %s.%s %s:%s-%s"
 msgstr "Необновленный пакет, который был обновлен ранее: %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3982
-msgid "No package matched to remove"
-msgstr "Нет пакетов для удаления"
+#: ../yum/__init__.py:5093
+#, python-format
+msgid "No package matched to remove: %s"
+msgstr "Ни один пакет не отмечен для удаления: %s"
 
-#: ../yum/__init__.py:3988
+#: ../yum/__init__.py:5099
 #, python-format
 msgid "Skipping the running kernel: %s"
 msgstr "Пропуск выполняющегося ядра: %s"
 
-#: ../yum/__init__.py:3994
+#: ../yum/__init__.py:5105
 #, python-format
 msgid "Removing %s from the transaction"
 msgstr "Исключение %s из списка действий"
 
-#: ../yum/__init__.py:4029
+#: ../yum/__init__.py:5142
 #, python-format
 msgid "Cannot open: %s. Skipping."
 msgstr "Невозможно открыть: %s. Пропуск."
 
-#: ../yum/__init__.py:4032 ../yum/__init__.py:4150 ../yum/__init__.py:4226
+#: ../yum/__init__.py:5145 ../yum/__init__.py:5262 ../yum/__init__.py:5347
 #, python-format
 msgid "Examining %s: %s"
 msgstr "Проверка %s: %s"
 
-#: ../yum/__init__.py:4036
+#: ../yum/__init__.py:5149
 #, python-format
 msgid "Cannot localinstall deltarpm: %s. Skipping."
 msgstr "Нельзя произвести localinstall deltarpm %s. Пропуск."
 
-#: ../yum/__init__.py:4045 ../yum/__init__.py:4153 ../yum/__init__.py:4229
+#: ../yum/__init__.py:5158 ../yum/__init__.py:5265 ../yum/__init__.py:5350
 #, python-format
 msgid ""
 "Cannot add package %s to transaction. Not a compatible architecture: %s"
-msgstr ""
-"Невозможно добавить пакет %s в список действий. Несовместимая архитектура: "
-"%s"
+msgstr "Невозможно добавить пакет %s в список действий. Несовместимая архитектура: %s"
 
-#: ../yum/__init__.py:4051
+#: ../yum/__init__.py:5164
 #, python-format
 msgid "Cannot install package %s. It is obsoleted by installed package %s"
 msgstr "Установка пакета %s невозможна. Его заменил установленный пакет %s"
 
-#: ../yum/__init__.py:4059
+#: ../yum/__init__.py:5172
 #, python-format
 msgid ""
 "Package %s not installed, cannot update it. Run yum install to install it "
 "instead."
-msgstr ""
-"Пакет %s не установлен, невозможно обновить его. Запустите yum install для "
-"его установки."
+msgstr "Пакет %s не установлен, невозможно обновить его. Запустите yum install для его установки."
 
-#: ../yum/__init__.py:4078 ../yum/__init__.py:4085
+#: ../yum/__init__.py:5191 ../yum/__init__.py:5198
 #, python-format
 msgid ""
 "Package %s.%s not installed, cannot update it. Run yum install to install it"
 " instead."
-msgstr ""
-"Пакет %s.%s не установлен, не возможно его обновить. Запустите yum install "
-"чтобы установить вместо него."
+msgstr "Пакет %s.%s не установлен, не возможно его обновить. Запустите yum install чтобы установить вместо него."
 
-#: ../yum/__init__.py:4094 ../yum/__init__.py:4158 ../yum/__init__.py:4234
+#: ../yum/__init__.py:5207 ../yum/__init__.py:5270 ../yum/__init__.py:5355
 #, python-format
 msgid "Excluding %s"
 msgstr "Исключаем %s"
 
-#: ../yum/__init__.py:4099
+#: ../yum/__init__.py:5212
 #, python-format
 msgid "Marking %s to be installed"
 msgstr "%s отмечен для установки"
 
-#: ../yum/__init__.py:4105
+#: ../yum/__init__.py:5218
 #, python-format
 msgid "Marking %s as an update to %s"
 msgstr "%s отмечен как обновление для %s"
 
-#: ../yum/__init__.py:4112
+#: ../yum/__init__.py:5225
 #, python-format
 msgid "%s: does not update installed package."
 msgstr "%s: не обновляет установленный пакет."
 
-#: ../yum/__init__.py:4147 ../yum/__init__.py:4223
+#: ../yum/__init__.py:5259 ../yum/__init__.py:5344
 #, python-format
 msgid "Cannot open file: %s. Skipping."
 msgstr "Невозможно открыть файл %s. Пропуск."
 
-#: ../yum/__init__.py:4177
+#: ../yum/__init__.py:5299
 msgid "Problem in reinstall: no package matched to remove"
 msgstr "Проблема при переустановке: не найден пакет для удаления"
 
-#: ../yum/__init__.py:4203
+#: ../yum/__init__.py:5325
 #, python-format
 msgid "Problem in reinstall: no package %s matched to install"
 msgstr "Проблема при переустановке: пакет %s не найден для установки"
 
-#: ../yum/__init__.py:4311
+#: ../yum/__init__.py:5438
 msgid "No package(s) available to downgrade"
 msgstr "Пакеты для отката версии отсутствуют"
 
-#: ../yum/__init__.py:4319
+#: ../yum/__init__.py:5446
 #, python-format
 msgid "Package %s is allowed multiple installs, skipping"
 msgstr "Пакет %s может быть повторно установлен, пропуск"
 
-#: ../yum/__init__.py:4365
+#: ../yum/__init__.py:5496
 #, python-format
 msgid "No Match for available package: %s"
 msgstr "Пакеты недоступны: %s"
 
-#: ../yum/__init__.py:4372
+#: ../yum/__init__.py:5506
 #, python-format
 msgid "Only Upgrade available on package: %s"
 msgstr "Только переход к следующей версии доступен для пакета: %s"
 
-#: ../yum/__init__.py:4442 ../yum/__init__.py:4479
+#: ../yum/__init__.py:5619 ../yum/__init__.py:5686
 #, python-format
 msgid "Failed to downgrade: %s"
 msgstr "Ошибка отката версии: %s"
 
-#: ../yum/__init__.py:4516
+#: ../yum/__init__.py:5636 ../yum/__init__.py:5692
+#, python-format
+msgid "Failed to upgrade: %s"
+msgstr "Не удалось обновить: %s"
+
+#: ../yum/__init__.py:5725
 #, python-format
 msgid "Retrieving key from %s"
 msgstr "Получение ключа из %s"
 
-#: ../yum/__init__.py:4534
+#: ../yum/__init__.py:5743
 msgid "GPG key retrieval failed: "
 msgstr "Неудача получения ключа GPG:"
 
 #. if we decide we want to check, even though the sig failed
 #. here is where we would do that
-#: ../yum/__init__.py:4557
+#: ../yum/__init__.py:5766
 #, python-format
 msgid "GPG key signature on key %s does not match CA Key for repo: %s"
-msgstr ""
-"Подпись GPG ключа на ключе %s не совпадает с CA ключом для репозитория: %s"
+msgstr "Подпись GPG ключа на ключе %s не совпадает с CA ключом для репозитория: %s"
 
-#: ../yum/__init__.py:4559
+#: ../yum/__init__.py:5768
 msgid "GPG key signature verified against CA Key(s)"
 msgstr "Подпись GPG ключа проверена через CA ключ(и)"
 
-#: ../yum/__init__.py:4567
+#: ../yum/__init__.py:5776
 #, python-format
 msgid "Invalid GPG Key from %s: %s"
 msgstr "Неверный GPG ключ %s: %s"
 
-#: ../yum/__init__.py:4576
+#: ../yum/__init__.py:5785
 #, python-format
 msgid "GPG key parsing failed: key does not have value %s"
 msgstr "Ошибка обработки GPG ключа: ключ не имеет значения %s"
 
-#: ../yum/__init__.py:4592
+#: ../yum/__init__.py:5801
 #, python-format
 msgid ""
 "Importing %s key 0x%s:\n"
-" Userid : %s\n"
-" Package: %s (%s)\n"
-" From   : %s"
-msgstr ""
-"Импорт %s ключа 0x%s:\n"
-" Userid : %s\n"
-" Package: %s (%s)\n"
-" From   : %s"
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" Package    : %s (%s)\n"
+" From       : %s"
+msgstr "Импорт %s ключа 0x%s:\n Владелец   : \"%s\"\n Отпечаток  : %s\n Пакет      : %s (%s)\n Источник   : %s"
 
-#: ../yum/__init__.py:4600
+#: ../yum/__init__.py:5811
 #, python-format
 msgid ""
 "Importing %s key 0x%s:\n"
-" Userid: \"%s\"\n"
-" From  : %s"
-msgstr ""
-"Импорт %s ключа 0x%s:\n"
-" Userid: \"%s\"\n"
-" From  : %s"
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" From       : %s"
+msgstr "Импорт %s ключа 0x%s:\n Владелец   : \"%s\"\n Отпечаток  : %s\n Источник   : %s"
+
+#: ../yum/__init__.py:5839
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" Failing package is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr "\n\n\n Не удалось обработать пакет: %s\n Ключи GPG настроены так: %s\n"
 
-#: ../yum/__init__.py:4634
+#: ../yum/__init__.py:5853
 #, python-format
 msgid "GPG key at %s (0x%s) is already installed"
 msgstr "GPG ключ %s (0x%s) уже установлен"
 
-#: ../yum/__init__.py:4671
+#: ../yum/__init__.py:5891
 #, python-format
 msgid "Key import failed (code %d)"
 msgstr "Неудача импорта ключа (code %d)"
 
-#: ../yum/__init__.py:4672 ../yum/__init__.py:4755
+#: ../yum/__init__.py:5893 ../yum/__init__.py:5994
 msgid "Key imported successfully"
 msgstr "Импорт ключа успешно завершен"
 
-#: ../yum/__init__.py:4676
+#: ../yum/__init__.py:5897
 msgid "Didn't install any keys"
 msgstr "Не установлены какие-либо ключи"
 
-#: ../yum/__init__.py:4680
+#: ../yum/__init__.py:5900
 #, python-format
 msgid ""
 "The GPG keys listed for the \"%s\" repository are already installed but they are not correct for this package.\n"
 "Check that the correct key URLs are configured for this repository."
-msgstr ""
-"GPG ключи включены для репозитория \"%s\", но они не является правильными для данного пакета.\n"
-"Пожалуйста, проверьте правильно ли настроены URL ключей для данного репозитория."
+msgstr "GPG ключи включены для репозитория \"%s\", но они не является правильными для данного пакета.\nПожалуйста, проверьте правильно ли настроены URL ключей для данного репозитория."
 
-#: ../yum/__init__.py:4689
+#: ../yum/__init__.py:5910
 msgid "Import of key(s) didn't help, wrong key(s)?"
 msgstr "Импорт ключа(ключей) не помог, неверный ключ(ключи)?"
 
-#: ../yum/__init__.py:4713
+#: ../yum/__init__.py:5932
+msgid "No"
+msgstr "Нет"
+
+#: ../yum/__init__.py:5934
+msgid "Yes"
+msgstr "Да"
+
+#: ../yum/__init__.py:5935
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" CA Key: %s\n"
+" Failing repo is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr "\n\n\n Ключ CA: %s\n Не удалось обработать репозиторий: %s\n Ключи GPG настроены так: %s\n"
+
+#: ../yum/__init__.py:5948
 #, python-format
 msgid "GPG key at %s (0x%s) is already imported"
 msgstr "GPG ключ из %s (0x%s) уже был импортирован"
 
-#: ../yum/__init__.py:4754
-msgid "Key import failed"
-msgstr "Импорт ключа неудачен"
+#: ../yum/__init__.py:5992
+#, python-format
+msgid "Key %s import failed"
+msgstr "Импорт ключа %s не удался"
 
-#: ../yum/__init__.py:4770
+#: ../yum/__init__.py:6009
 #, python-format
 msgid "Didn't install any keys for repo %s"
 msgstr "Не установлены какие-либо ключи для репозитория %s"
 
-#: ../yum/__init__.py:4774
+#: ../yum/__init__.py:6014
 #, python-format
 msgid ""
 "The GPG keys listed for the \"%s\" repository are already installed but they are not correct.\n"
 "Check that the correct key URLs are configured for this repository."
-msgstr ""
-"Ключи подписей GPG для источника «%s» уже установлены, но они неверные.\n"
-"\r\n"
-"Убедитесь в правильности заданных URL с ключами для этого источника."
+msgstr "Ключи подписей GPG для источника «%s» уже установлены, но они неверные.\n\r\nУбедитесь в правильности заданных URL с ключами для этого источника."
 
-#: ../yum/__init__.py:4924
+#: ../yum/__init__.py:6172
 msgid "Unable to find a suitable mirror."
 msgstr "Не удается найти подходящее зеркало"
 
-#: ../yum/__init__.py:4926
+#: ../yum/__init__.py:6174
 msgid "Errors were encountered while downloading packages."
 msgstr "Были обнаружены ошибки во время загрузки пакетов."
 
-#: ../yum/__init__.py:4981
+#: ../yum/__init__.py:6229
 #, python-format
 msgid "Please report this error at %s"
 msgstr "Пожалуйста, сообщите об этой ошибке в %s"
 
-#: ../yum/__init__.py:4998
+#: ../yum/__init__.py:6246
 msgid "Test Transaction Errors: "
 msgstr "Ошибки проверки сценария:"
 
-#: ../yum/__init__.py:5098
+#: ../yum/__init__.py:6358
 #, python-format
 msgid "Could not set cachedir: %s"
 msgstr "Невозможно задать кэш-папку: %s"
 
-#: ../yum/__init__.py:5148 ../yum/__init__.py:5150
+#: ../yum/__init__.py:6420 ../yum/__init__.py:6422
 msgid "Dependencies not solved. Will not save unresolved transaction."
 msgstr "Зависимости не определены. Действие не будет сохранено."
 
-#: ../yum/__init__.py:5179 ../yum/__init__.py:5181
+#: ../yum/__init__.py:6455 ../yum/__init__.py:6457
 #, python-format
 msgid "Could not save transaction file %s: %s"
 msgstr "Не удалось сохранить файл сценария %s: %s"
 
-#: ../yum/__init__.py:5195
+#: ../yum/__init__.py:6483
 #, python-format
 msgid "Could not access/read saved transaction %s : %s"
 msgstr "Не удалось прочесть сохранённый сценарий %s : %s"
 
-#: ../yum/__init__.py:5214
-msgid "rpmdb ver mismatched saved transaction version, "
-msgstr "Версия базы данных RPM не совпала с версией сценария,"
-
-#: ../yum/__init__.py:5216
-msgid " ignoring, as requested."
-msgstr " игнорирование, как потребуется"
-
-#: ../yum/__init__.py:5219 ../yum/__init__.py:5354
-msgid " aborting."
-msgstr " прерывание"
+#: ../yum/__init__.py:6521
+msgid "rpmdb ver mismatched saved transaction version,"
+msgstr ""
 
-#: ../yum/__init__.py:5228
+#: ../yum/__init__.py:6535
 msgid "cannot find tsflags or tsflags not integer."
 msgstr "tsflags не найдены или не целочисленные."
 
-#: ../yum/__init__.py:5267
+#: ../yum/__init__.py:6584
 #, python-format
 msgid "Found txmbr in unknown current state: %s"
 msgstr "Найден txmbr в неопределенном состоянии: %s"
 
-#: ../yum/__init__.py:5271
+#: ../yum/__init__.py:6588
 #, python-format
 msgid "Could not find txmbr: %s in state %s"
 msgstr "Не найден txmbr: %s в состоянии %s"
 
-#: ../yum/__init__.py:5307 ../yum/__init__.py:5324
+#: ../yum/__init__.py:6625 ../yum/__init__.py:6642
 #, python-format
 msgid "Could not find txmbr: %s from origin: %s"
 msgstr "Не найден txmbr: %s %s"
 
-#: ../yum/__init__.py:5349
+#: ../yum/__init__.py:6667
 msgid "Transaction members, relations are missing or ts has been modified,"
 msgstr "Отсутствует часть сценария, нарушены связи, или сценарий изменился,"
 
-#: ../yum/__init__.py:5351
+#: ../yum/__init__.py:6670
 msgid " ignoring, as requested. You must redepsolve!"
 msgstr " пропущено по требованию. Проверьте зависимости!"
 
+#. Debugging output
+#: ../yum/__init__.py:6738 ../yum/__init__.py:6757
+#, python-format
+msgid "%s has been visited already and cannot be removed."
+msgstr "%s уже проверен и его нельзя удалить."
+
+#. Debugging output
+#: ../yum/__init__.py:6741
+#, python-format
+msgid "Examining revdeps of %s"
+msgstr "Проверка зависимостей версий %s"
+
+#. Debugging output
+#: ../yum/__init__.py:6762
+#, python-format
+msgid "%s has revdep %s which was user-installed."
+msgstr "%s имеет зависимость от версии  %s, установленной пользователем."
+
+#: ../yum/__init__.py:6773 ../yum/__init__.py:6779
+#, python-format
+msgid "%s is needed by a package to be installed."
+msgstr ""
+
+#. Debugging output
+#: ../yum/__init__.py:6793
+#, python-format
+msgid "%s has no user-installed revdeps."
+msgstr "у %s нет зависимостей от версий, установленных пользователем."
+
 #. Mostly copied from YumOutput._outKeyValFill()
-#: ../yum/plugins.py:209
+#: ../yum/plugins.py:212
 msgid "Loaded plugins: "
 msgstr "Загружены модули: "
 
-#: ../yum/plugins.py:223 ../yum/plugins.py:229
+#: ../yum/plugins.py:226 ../yum/plugins.py:232
 #, python-format
 msgid "No plugin match for: %s"
 msgstr "Нет модуля: %s"
 
-#: ../yum/plugins.py:259
+#: ../yum/plugins.py:262
 #, python-format
 msgid "Not loading \"%s\" plugin, as it is disabled"
 msgstr "Модуль \"%s\" не был загружен, поскольку отключен"
 
 #. Give full backtrace:
-#: ../yum/plugins.py:271
+#: ../yum/plugins.py:274
 #, python-format
 msgid "Plugin \"%s\" can't be imported"
 msgstr "Невозможен импорт модуля \"%s\""
 
-#: ../yum/plugins.py:278
+#: ../yum/plugins.py:281
 #, python-format
 msgid "Plugin \"%s\" doesn't specify required API version"
 msgstr "Модулем \"%s\" не указана требуемая версия API"
 
-#: ../yum/plugins.py:283
+#: ../yum/plugins.py:286
 #, python-format
 msgid "Plugin \"%s\" requires API %s. Supported API is %s."
 msgstr "Модуль \"%s\" требует API %s. Поддерживаемая API — %s."
 
-#: ../yum/plugins.py:316
+#: ../yum/plugins.py:319
 #, python-format
 msgid "Loading \"%s\" plugin"
 msgstr "Загрузка модуля \"%s\""
 
-#: ../yum/plugins.py:323
+#: ../yum/plugins.py:326
 #, python-format
 msgid "Two or more plugins with the name \"%s\" exist in the plugin search path"
 msgstr "В каталоге модулей обнаружено два или более с названием \"%s\""
 
-#: ../yum/plugins.py:343
+#: ../yum/plugins.py:346
 #, python-format
 msgid "Configuration file %s not found"
 msgstr "Конфигурационный файл %s не найден"
 
 #. for
 #. Configuration files for the plugin not found
-#: ../yum/plugins.py:346
+#: ../yum/plugins.py:349
 #, python-format
 msgid "Unable to find configuration file for plugin %s"
 msgstr "Не найден файл настройки модуля %s"
 
-#: ../yum/plugins.py:508
+#: ../yum/plugins.py:553
 msgid "registration of commands not supported"
 msgstr "регистрация команд не поддерживается"
 
-#: ../yum/rpmsack.py:148
+#: ../yum/rpmsack.py:159
 msgid "has missing requires of"
-msgstr "имеет недостающие зависимости от"
+msgstr "требует недостающего"
 
-#: ../yum/rpmsack.py:151
+#: ../yum/rpmsack.py:162
 msgid "has installed conflicts"
 msgstr "конфликтует с установленными"
 
-#: ../yum/rpmsack.py:160
+#: ../yum/rpmsack.py:171
 #, python-format
 msgid "%s is a duplicate with %s"
-msgstr "%s совпадает с %s"
+msgstr "%s — то же, что и %s"
 
-#: ../yum/rpmsack.py:168
+#: ../yum/rpmsack.py:179
 #, python-format
 msgid "%s is obsoleted by %s"
-msgstr "%s заменен на %s"
+msgstr "%s заменён на %s"
 
-#: ../yum/rpmsack.py:176
+#: ../yum/rpmsack.py:187
 #, python-format
 msgid "%s provides %s but it cannot be found"
 msgstr "%s предоставляет %s, но он не найден"
@@ -3153,6 +3477,23 @@ msgstr "%s предоставляет %s, но он не найден"
 msgid "Repackaging"
 msgstr "Переупаковка"
 
+#: ../yum/rpmtrans.py:149
+#, python-format
+msgid "Verify: %u/%u: %s"
+msgstr "Проверить: %u/%u: %s"
+
+#: ../yum/yumRepo.py:919
+#, python-format
+msgid ""
+"Insufficient space in download directory %s\n"
+"    * free   %s\n"
+"    * needed %s"
+msgstr "Недостаточно места в директории %s\n    * свободно   %s\n    * необходимо %s"
+
+#: ../yum/yumRepo.py:986
+msgid "Package does not match intended download."
+msgstr ""
+
 #: ../rpmUtils/oldUtils.py:33
 #, python-format
 msgid "Header cannot be opened or does not match %s, %s."
@@ -3165,8 +3506,7 @@ msgstr "Контрольная сумма md5 пакета %s не совпад
 
 #: ../rpmUtils/oldUtils.py:151
 msgid "Could not open RPM database for reading. Perhaps it is already in use?"
-msgstr ""
-"Невозможно открыть базу RPM для чтения. Возможно база уже используется."
+msgstr "Невозможно открыть базу RPM для чтения. Возможно база уже используется."
 
 #: ../rpmUtils/oldUtils.py:183
 msgid "Got an empty Header, something has gone wrong"
@@ -3182,5 +3522,3 @@ msgstr "Поврежденный заголовок %s"
 #, python-format
 msgid "Error opening rpm %s - error %s"
 msgstr "Невозможно открыть пакет %s — ошибка %s"
-
-
diff --git a/po/sk.po b/po/sk.po
new file mode 100644
index 0000000..ccee18e
--- /dev/null
+++ b/po/sk.po
@@ -0,0 +1,3522 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# 
+# Translators:
+# Tomáš Vadina <kyberdev@gmail.com>, 2011-2012.
+msgid ""
+msgstr ""
+"Project-Id-Version: Yum\n"
+"Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
+"POT-Creation-Date: 2013-01-30 09:08-0500\n"
+"PO-Revision-Date: 2013-01-30 14:08+0000\n"
+"Last-Translator: james <james@fedoraproject.org>\n"
+"Language-Team: Slovak (http://www.transifex.com/projects/p/yum/language/sk/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: sk\n"
+"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
+
+#: ../callback.py:45 ../output.py:1502 ../yum/rpmtrans.py:73
+msgid "Updating"
+msgstr "Aktualizuje sa"
+
+#: ../callback.py:46 ../yum/rpmtrans.py:74
+msgid "Erasing"
+msgstr "Odstraňuje sa"
+
+#: ../callback.py:47 ../callback.py:48 ../callback.py:50 ../output.py:1501
+#: ../output.py:2922 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
+#: ../yum/rpmtrans.py:78
+msgid "Installing"
+msgstr "Inštaluje sa"
+
+#: ../callback.py:49 ../callback.py:55 ../output.py:2379 ../yum/rpmtrans.py:77
+msgid "Obsoleted"
+msgstr "Zastaralo"
+
+#: ../callback.py:51 ../output.py:1670 ../output.py:2222 ../output.py:2386
+msgid "Updated"
+msgstr "Aktualizované"
+
+#: ../callback.py:52 ../output.py:2221
+msgid "Erased"
+msgstr "Zmazané"
+
+#: ../callback.py:53 ../callback.py:54 ../callback.py:56 ../output.py:1668
+#: ../output.py:2221 ../output.py:2223 ../output.py:2894
+msgid "Installed"
+msgstr "Nainštalované"
+
+#: ../callback.py:142
+msgid "No header - huh?"
+msgstr "Bez hlavičky???"
+
+#: ../callback.py:180
+msgid "Repackage"
+msgstr "Prebaliť"
+
+#: ../callback.py:201
+#, python-format
+msgid "Error: invalid output state: %s for %s"
+msgstr "Chyba: neplatný výstupný stav: %s pre %s"
+
+#: ../callback.py:224
+#, python-format
+msgid "Erased: %s"
+msgstr "Zmazané: %s"
+
+#: ../callback.py:229 ../output.py:1503 ../output.py:2897
+msgid "Removing"
+msgstr "Odstraňuje sa"
+
+#: ../callback.py:231 ../yum/rpmtrans.py:79
+msgid "Cleanup"
+msgstr "Čistí sa"
+
+#: ../cli.py:122
+#, python-format
+msgid "Command \"%s\" already defined"
+msgstr "Príkaz \"%s\" je už definovaný"
+
+#: ../cli.py:137
+msgid "Setting up repositories"
+msgstr "Príprava repozitárov"
+
+#: ../cli.py:148
+msgid "Reading repository metadata in from local files"
+msgstr "Načítanie metadát repozitárov z miestnych súborov"
+
+#: ../cli.py:273 ../cli.py:277 ../utils.py:320
+#, python-format
+msgid "Config Error: %s"
+msgstr "Chyba nastavenia: %s"
+
+#: ../cli.py:280 ../cli.py:2206 ../utils.py:323
+#, python-format
+msgid "Options Error: %s"
+msgstr "Chybná možnosť: %s"
+
+#: ../cli.py:327
+#, python-format
+msgid "  Installed: %s-%s at %s"
+msgstr "  Nainštalované: %s-%s na %s"
+
+#: ../cli.py:329
+#, python-format
+msgid "  Built    : %s at %s"
+msgstr "  Zostavené    : %s na %s"
+
+#: ../cli.py:331
+#, python-format
+msgid "  Committed: %s at %s"
+msgstr "  Odoslané: %s na %s"
+
+#: ../cli.py:372
+msgid "You need to give some command"
+msgstr "Je potrebné zadať nejaký príkaz"
+
+#: ../cli.py:386
+#, python-format
+msgid "No such command: %s. Please use %s --help"
+msgstr "Neexistujúci príkaz: %s. Prosím použite príkaz %s --help"
+
+#: ../cli.py:444
+msgid "Disk Requirements:\n"
+msgstr "Požiadavky disku:\n"
+
+#: ../cli.py:446
+#, python-format
+msgid "  At least %dMB more space needed on the %s filesystem.\n"
+msgid_plural "  At least %dMB more space needed on the %s filesystem.\n"
+msgstr[0] "  Je potrebných aspoň o %dMB viac miesta na súborov systéme %s.\n"
+msgstr[1] "  Je potrebných aspoň o %dMB viac miesta na súborov systéme %s.\n"
+msgstr[2] "  Je potrebných aspoň o %dMB viac miesta na súborov systéme %s.\n"
+
+#. TODO: simplify the dependency errors?
+#. Fixup the summary
+#: ../cli.py:451
+msgid ""
+"Error Summary\n"
+"-------------\n"
+msgstr "Prehľad chýb\n------------\n"
+
+#: ../cli.py:472
+msgid "Can't create lock file; exiting"
+msgstr "Nie je možné vytvoriť zamknutý súbor; ukončuje sa"
+
+#: ../cli.py:479
+msgid ""
+"Another app is currently holding the yum lock; exiting as configured by "
+"exit_on_lock"
+msgstr "Zámok pre yum teraz drží iná aplikácia; ukončenie kvôli nastavenému exit_on_lock"
+
+#: ../cli.py:532
+msgid "Trying to run the transaction but nothing to do. Exiting."
+msgstr "Pokus o spustenie transakcie, ale nie je čo vykonať. Ukončenie."
+
+#: ../cli.py:577
+msgid "future rpmdb ver mismatched saved transaction version,"
+msgstr ""
+
+#: ../cli.py:579 ../yum/__init__.py:6523
+msgid " ignoring, as requested."
+msgstr " ignorované, ako bolo žiadané."
+
+#: ../cli.py:582 ../yum/__init__.py:6526 ../yum/__init__.py:6673
+msgid " aborting."
+msgstr " prerušené."
+
+#: ../cli.py:588
+msgid "Exiting on user Command"
+msgstr "Ukončenie na príkaz používateľa"
+
+#: ../cli.py:592
+msgid "Downloading Packages:"
+msgstr "Sťahovanie balíčkov:"
+
+#: ../cli.py:597
+msgid "Error Downloading Packages:\n"
+msgstr "Chyba pri sťahovaní balíčkov:\n"
+
+#: ../cli.py:616 ../yum/__init__.py:6215
+msgid "Running Transaction Check"
+msgstr "Spustená kontrola transakcie"
+
+#: ../cli.py:625 ../yum/__init__.py:6224
+msgid "ERROR You need to update rpm to handle:"
+msgstr "CHYBA Je potrebné aktualizovať rpm k vykonaniu:"
+
+#: ../cli.py:627 ../yum/__init__.py:6227
+msgid "ERROR with transaction check vs depsolve:"
+msgstr "CHYBA pri kontrole transakcie a riešení závislostí:"
+
+#: ../cli.py:633
+msgid "RPM needs to be updated"
+msgstr "Je potrebné aktualizovať RPM"
+
+#: ../cli.py:634
+#, python-format
+msgid "Please report this error in %s"
+msgstr "Oznámte prosím túto chybu na %s"
+
+#: ../cli.py:640
+msgid "Running Transaction Test"
+msgstr "Spustený test transakcie"
+
+#: ../cli.py:652
+msgid "Transaction Check Error:\n"
+msgstr "Chyba pri kontrole transakcie:\n"
+
+#: ../cli.py:659
+msgid "Transaction Test Succeeded"
+msgstr "Test transakcie v poriadku"
+
+#: ../cli.py:691
+msgid "Running Transaction"
+msgstr "Transakcia spustená"
+
+#: ../cli.py:724
+msgid ""
+"Refusing to automatically import keys when running unattended.\n"
+"Use \"-y\" to override."
+msgstr "Nie je možné automaticky importovať kľúče pri spustení bez obsluhy.\nPoužite \"-y\" k potlačeniu."
+
+#: ../cli.py:743 ../cli.py:786
+msgid "  * Maybe you meant: "
+msgstr "  * Možno ste mysleli: "
+
+#: ../cli.py:769 ../cli.py:777
+#, python-format
+msgid "Package(s) %s%s%s available, but not installed."
+msgstr "Balíček(y) %s%s%s dostupný(é), ale nenainštalované."
+
+#: ../cli.py:783 ../cli.py:891 ../cli.py:1158
+#, python-format
+msgid "No package %s%s%s available."
+msgstr "Balíček %s%s%s nie je dostupný."
+
+#: ../cli.py:871 ../cli.py:881 ../cli.py:1101 ../cli.py:1111
+#, python-format
+msgid "Bad %s argument %s."
+msgstr ""
+
+#: ../cli.py:900 ../yumcommands.py:3331
+#, python-format
+msgid "%d package to install"
+msgid_plural "%d packages to install"
+msgstr[0] "%d balíčkov na inštaláciu"
+msgstr[1] "%d balíček na inštaláciu"
+msgstr[2] "%d balíčky na inštaláciu"
+
+#: ../cli.py:903 ../cli.py:904 ../cli.py:1169 ../cli.py:1170 ../cli.py:1224
+#: ../cli.py:1225 ../cli.py:1260 ../yumcommands.py:323 ../yumcommands.py:3419
+msgid "Nothing to do"
+msgstr "Nie je čo vykonať"
+
+#: ../cli.py:953
+#, python-format
+msgid "%d package marked for Update"
+msgid_plural "%d packages marked for Update"
+msgstr[0] "%d balíčkov označených pre aktualizáciu"
+msgstr[1] "%d balíček označený pre aktualizáciu"
+msgstr[2] "%d balíčky označené pre aktualizáciu"
+
+#: ../cli.py:955
+msgid "No Packages marked for Update"
+msgstr "Neboli označené žiadne balíčky pre aktualizáciu"
+
+#: ../cli.py:1067
+#, python-format
+msgid "%d package marked for Distribution Synchronization"
+msgid_plural "%d packages marked for Distribution Synchronization"
+msgstr[0] "%d balíčkov označených pre synchronizáciu distribúcie"
+msgstr[1] "%d balíček označený pre synchronizáciu distribúcie"
+msgstr[2] "%d balíčky označené pre synchronizáciu distribúcie"
+
+#: ../cli.py:1069
+msgid "No Packages marked for Distribution Synchronization"
+msgstr "Neboli označené žiadne balíčky pre synchronizáciu distribúcie"
+
+#: ../cli.py:1124
+#, python-format
+msgid "%d package marked for removal"
+msgid_plural "%d packages marked for removal"
+msgstr[0] "%d balíčkov označených pre odstránenie"
+msgstr[1] "%d balíček označený pre odstránenie"
+msgstr[2] "%d balíčky označené pre odstránenie"
+
+#: ../cli.py:1126
+msgid "No Packages marked for removal"
+msgstr "Neboli označené žiadne balíčky pre odstránenie"
+
+#: ../cli.py:1166
+#, python-format
+msgid "%d package to downgrade"
+msgid_plural "%d packages to downgrade"
+msgstr[0] "%d balíčkov na downgrade"
+msgstr[1] "%d balíček na downgrade"
+msgstr[2] "%d balíčky na downgrade"
+
+#: ../cli.py:1207
+#, python-format
+msgid " (from %s)"
+msgstr " (z %s)"
+
+#: ../cli.py:1208
+#, python-format
+msgid "Installed package %s%s%s%s not available."
+msgstr "Inštalovaný balíček %s%s%s%s nie je dostupný."
+
+#: ../cli.py:1221
+#, python-format
+msgid "%d package to reinstall"
+msgid_plural "%d packages to reinstall"
+msgstr[0] "%d balíčkov na preinštalovanie"
+msgstr[1] "%d balíček na preinštalovanie"
+msgstr[2] "%d balíčky na preinštalovanie"
+
+#: ../cli.py:1246
+msgid "No Packages Provided"
+msgstr "Neposkytnuté žiadne balíčky"
+
+#: ../cli.py:1259
+msgid "Package(s) to install"
+msgstr "Balíček(y) na inštaláciu"
+
+#: ../cli.py:1367
+#, python-format
+msgid "N/S Matched: %s"
+msgstr "Meno/súhrn zodpovedá: %s"
+
+#: ../cli.py:1384
+#, python-format
+msgid "  Name and summary matches %sonly%s, use \"search all\" for everything."
+msgstr "  Vyhľadané %siba%s podľa mena a súhrnu, použite \"search all\" pre úplné hľadanie."
+
+#: ../cli.py:1386
+#, python-format
+msgid ""
+"  Full name and summary matches %sonly%s, use \"search all\" for everything."
+msgstr "  Vyhľadané %siba%s podľa plného mena a súhrnu, použite \"search all\" pre úplné hľadanie."
+
+#: ../cli.py:1404
+#, python-format
+msgid "Matched: %s"
+msgstr "Zhoda: %s"
+
+#: ../cli.py:1411
+#, python-format
+msgid "  Name and summary matches %smostly%s, use \"search all\" for everything."
+msgstr "  Vyhľadané %shlavne%s podľa mena a súhrnu, použite \"search all\" pre úplné hľadanie."
+
+#: ../cli.py:1415
+#, python-format
+msgid "Warning: No matches found for: %s"
+msgstr "Varovanie: Nenájdená žiadna zhoda pre: %s"
+
+#: ../cli.py:1418
+msgid "No Matches found"
+msgstr "Nebola nájdená žiadna zhoda"
+
+#: ../cli.py:1536
+#, python-format
+msgid ""
+"Error: No Packages found for:\n"
+"  %s"
+msgstr "Chyba: Neboli nájdené žiadne balíčky pre:\n  %s"
+
+#: ../cli.py:1572
+msgid "Cleaning repos: "
+msgstr "Čistenie repozitárov:"
+
+#: ../cli.py:1577
+msgid "Cleaning up Everything"
+msgstr "Čistenie všetkého"
+
+#: ../cli.py:1593
+msgid "Cleaning up Headers"
+msgstr "Čistenie hlavičiek"
+
+#: ../cli.py:1596
+msgid "Cleaning up Packages"
+msgstr "Čistenie balíčkov"
+
+#: ../cli.py:1599
+msgid "Cleaning up xml metadata"
+msgstr "Čistenie xml metadát"
+
+#: ../cli.py:1602
+msgid "Cleaning up database cache"
+msgstr "Čistenie dočasnej pamäte databázy"
+
+#: ../cli.py:1605
+msgid "Cleaning up expire-cache metadata"
+msgstr "Čistenie zastaralých metadát"
+
+#: ../cli.py:1608
+msgid "Cleaning up cached rpmdb data"
+msgstr "Čistenie dočasných dát rpmdb"
+
+#: ../cli.py:1611
+msgid "Cleaning up plugins"
+msgstr "Čistenie zásuvných modulov"
+
+#: ../cli.py:1727
+msgid "Installed Environment Groups:"
+msgstr ""
+
+#: ../cli.py:1728
+msgid "Available Environment Groups:"
+msgstr ""
+
+#: ../cli.py:1735
+msgid "Installed Groups:"
+msgstr "Nainštalované skupiny:"
+
+#: ../cli.py:1742
+msgid "Installed Language Groups:"
+msgstr "Nainštalované jazykové skupiny:"
+
+#: ../cli.py:1749
+msgid "Available Groups:"
+msgstr "Dostupné skupiny:"
+
+#: ../cli.py:1756
+msgid "Available Language Groups:"
+msgstr "Dostupné jazykové skupiny:"
+
+#: ../cli.py:1759
+#, python-format
+msgid "Warning: No Environments/Groups match: %s"
+msgstr ""
+
+#: ../cli.py:1763
+msgid "Done"
+msgstr "Dokončené"
+
+#: ../cli.py:1818
+#, python-format
+msgid "Warning: Group/Environment %s does not exist."
+msgstr ""
+
+#: ../cli.py:1859
+#, python-format
+msgid "Warning: Environment %s does not exist."
+msgstr ""
+
+#: ../cli.py:1873 ../cli.py:1879 ../yum/__init__.py:4254
+#, python-format
+msgid "Warning: Group %s does not exist."
+msgstr "Varovanie: Skupina %s neexistuje."
+
+#: ../cli.py:1883
+msgid "No packages in any requested group available to install or update"
+msgstr "V žiadnej z požadovaných skupín nie sú balíčky na inštaláciu alebo aktualizáciu"
+
+#: ../cli.py:1885
+#, python-format
+msgid "%d package to Install"
+msgid_plural "%d packages to Install"
+msgstr[0] "%d balíčkov na inštaláciu"
+msgstr[1] "%d balíček na inštaláciu"
+msgstr[2] "%d balíčky na inštaláciu"
+
+#: ../cli.py:1919 ../yum/__init__.py:3536 ../yum/__init__.py:3766
+#: ../yum/__init__.py:3824
+#, python-format
+msgid "No Environment named %s exists"
+msgstr ""
+
+#: ../cli.py:1935 ../yum/__init__.py:4282
+#, python-format
+msgid "No group named %s exists"
+msgstr "Skupina s názvom %s neexistuje"
+
+#: ../cli.py:1945
+msgid "No packages to remove from groups"
+msgstr "V skupine nie sú balíčky na odstránenie"
+
+#: ../cli.py:1947 ../yumcommands.py:3351
+#, python-format
+msgid "%d package to remove"
+msgid_plural "%d packages to remove"
+msgstr[0] "%d balíčkov na odstránenie"
+msgstr[1] "%d balíček na odstránenie"
+msgstr[2] "%d balíčky na odstránenie"
+
+#: ../cli.py:1988
+#, python-format
+msgid "Package %s is already installed, skipping"
+msgstr "Balíček %s je už nainštalovaný, preskočí sa"
+
+#: ../cli.py:1999
+#, python-format
+msgid "Discarding non-comparable pkg %s.%s"
+msgstr "Zahodenie neporovnateľného balíčka %s.%s"
+
+#. we've not got any installed that match n or n+a
+#: ../cli.py:2025
+#, python-format
+msgid "No other %s installed, adding to list for potential install"
+msgstr "Žiadny iný %s nainštalovaný, pridaný do zoznamu pre potencionálnu inštaláciu"
+
+#: ../cli.py:2045
+msgid "Plugin Options"
+msgstr "Možnosti zásuvného modulu"
+
+#: ../cli.py:2057
+#, python-format
+msgid "Command line error: %s"
+msgstr "Chyba príkazového riadka: %s"
+
+#: ../cli.py:2079
+#, python-format
+msgid ""
+"\n"
+"\n"
+"%s: %s option requires an argument"
+msgstr "\n\n%s: %s možnosť vyžaduje argument"
+
+#: ../cli.py:2147
+msgid "--color takes one of: auto, always, never"
+msgstr "--color môže byť jedno z: auto, always, never"
+
+#. We have a relative installroot ... haha
+#: ../cli.py:2218
+#, python-format
+msgid "--installroot must be an absolute path: %s"
+msgstr "--installroot musí byť absolútna cesta: %s"
+
+#: ../cli.py:2272
+msgid "show this help message and exit"
+msgstr "zobraziť tohoto pomocníka a ukončiť"
+
+#: ../cli.py:2276
+msgid "be tolerant of errors"
+msgstr "tolerovať chyby"
+
+#: ../cli.py:2279
+msgid "run entirely from system cache, don't update cache"
+msgstr "spustiť všetko z dočasnej systémovej pamäte, bez jej aktualizácie"
+
+#: ../cli.py:2282
+msgid "config file location"
+msgstr "umiestnenie konfiguračného súboru"
+
+#: ../cli.py:2285
+msgid "maximum command wait time"
+msgstr "maximálny čas čakania na príkaz"
+
+#: ../cli.py:2287
+msgid "debugging output level"
+msgstr "úroveň výpisu ladiacich informácií"
+
+#: ../cli.py:2291
+msgid "show duplicates, in repos, in list/search commands"
+msgstr "zobraziť duplikáty v repozitároch, v príkazoch list/search"
+
+#: ../cli.py:2296
+msgid "error output level"
+msgstr "úroveň výpisu chýb"
+
+#: ../cli.py:2299
+msgid "debugging output level for rpm"
+msgstr "úroveň výpisu ladiacich informácií pre rpm"
+
+#: ../cli.py:2302
+msgid "quiet operation"
+msgstr "tichá operácia"
+
+#: ../cli.py:2304
+msgid "verbose operation"
+msgstr "podrobná operácia"
+
+#: ../cli.py:2306
+msgid "answer yes for all questions"
+msgstr "odpovedať na všetky otázy áno"
+
+#: ../cli.py:2308
+msgid "answer no for all questions"
+msgstr "odpovedať na všetky otázky nie"
+
+#: ../cli.py:2312
+msgid "show Yum version and exit"
+msgstr "zobraziť verziu Yumu a ukončiť"
+
+#: ../cli.py:2313
+msgid "set install root"
+msgstr "nastaviť koreň inštalácie"
+
+#: ../cli.py:2317
+msgid "enable one or more repositories (wildcards allowed)"
+msgstr "povoliť jeden alebo viac repozitárov (zástupné znaky sú povolené)"
+
+#: ../cli.py:2321
+msgid "disable one or more repositories (wildcards allowed)"
+msgstr "zakázať jeden alebo viac repozitárov (zástupné znaky sú povolené)"
+
+#: ../cli.py:2324
+msgid "exclude package(s) by name or glob"
+msgstr "vynechať balíček(y) podľa mena alebo výrazu"
+
+#: ../cli.py:2326
+msgid "disable exclude from main, for a repo or for everything"
+msgstr "zakázať vynechanie z hlavnej časti, pre repozitár alebo pre všetko"
+
+#: ../cli.py:2329
+msgid "enable obsoletes processing during updates"
+msgstr "povoliť spracovanie zastaralých počas aktualizácie"
+
+#: ../cli.py:2331
+msgid "disable Yum plugins"
+msgstr "zakázať zásuvné moduly Yumu"
+
+#: ../cli.py:2333
+msgid "disable gpg signature checking"
+msgstr "zakázať kontrolu GPG podpisov"
+
+#: ../cli.py:2335
+msgid "disable plugins by name"
+msgstr "zakázať zásuvné moduly podľa mena"
+
+#: ../cli.py:2338
+msgid "enable plugins by name"
+msgstr "povoliť zásuvné moduly podľa mena"
+
+#: ../cli.py:2341
+msgid "skip packages with depsolving problems"
+msgstr "preskočiť balíčky s problémamy v závislostiach"
+
+#: ../cli.py:2343
+msgid "control whether color is used"
+msgstr "kontrolovať či sú použité farby"
+
+#: ../cli.py:2345
+msgid "set value of $releasever in yum config and repo files"
+msgstr "nastaviť hodnotu $releasever v nastaveniach yumu a súboroch repozitárov"
+
+#: ../cli.py:2347
+msgid "don't update, just download"
+msgstr ""
+
+#: ../cli.py:2349
+msgid "specifies an alternate directory to store packages"
+msgstr ""
+
+#: ../cli.py:2351
+msgid "set arbitrary config and repo options"
+msgstr "nastaviť doplnkové nastavenia a možnosti repozitára"
+
+#: ../output.py:458
+msgid "Jan"
+msgstr "Jan"
+
+#: ../output.py:458
+msgid "Feb"
+msgstr "Feb"
+
+#: ../output.py:458
+msgid "Mar"
+msgstr "Mar"
+
+#: ../output.py:458
+msgid "Apr"
+msgstr "Apr"
+
+#: ../output.py:458
+msgid "May"
+msgstr "Máj"
+
+#: ../output.py:458
+msgid "Jun"
+msgstr "Jún"
+
+#: ../output.py:459
+msgid "Jul"
+msgstr "Júl"
+
+#: ../output.py:459
+msgid "Aug"
+msgstr "Aug"
+
+#: ../output.py:459
+msgid "Sep"
+msgstr "Sep"
+
+#: ../output.py:459
+msgid "Oct"
+msgstr "Okt"
+
+#: ../output.py:459
+msgid "Nov"
+msgstr "Nov"
+
+#: ../output.py:459
+msgid "Dec"
+msgstr "Dec"
+
+#: ../output.py:473
+msgid "Trying other mirror."
+msgstr "Skúsi sa iné zrkadlo."
+
+#: ../output.py:816
+#, python-format
+msgid "Name        : %s%s%s"
+msgstr "Názov        : %s%s%s"
+
+#: ../output.py:817
+#, python-format
+msgid "Arch        : %s"
+msgstr "Architektúra        : %s"
+
+#: ../output.py:819
+#, python-format
+msgid "Epoch       : %s"
+msgstr "Epocha       : %s"
+
+#: ../output.py:820
+#, python-format
+msgid "Version     : %s"
+msgstr "Verzia     : %s"
+
+#: ../output.py:821
+#, python-format
+msgid "Release     : %s"
+msgstr "Vydanie     : %s"
+
+#: ../output.py:822
+#, python-format
+msgid "Size        : %s"
+msgstr "Veľkosť        : %s"
+
+#: ../output.py:823 ../output.py:1329
+#, python-format
+msgid "Repo        : %s"
+msgstr "Repozitár        : %s"
+
+#: ../output.py:825
+#, python-format
+msgid "From repo   : %s"
+msgstr "Z repozitára   : %s"
+
+#: ../output.py:827
+#, python-format
+msgid "Committer   : %s"
+msgstr "Odosielateľ   : %s"
+
+#: ../output.py:828
+#, python-format
+msgid "Committime  : %s"
+msgstr "Čas odoslania  : %s"
+
+#: ../output.py:829
+#, python-format
+msgid "Buildtime   : %s"
+msgstr "Čas vytvorenia   : %s"
+
+#: ../output.py:831
+#, python-format
+msgid "Install time: %s"
+msgstr "Čas inštalácie: %s"
+
+#: ../output.py:839
+#, python-format
+msgid "Installed by: %s"
+msgstr "Nainštaloval: %s"
+
+#: ../output.py:846
+#, python-format
+msgid "Changed by  : %s"
+msgstr "Zmenil  : %s"
+
+#: ../output.py:847
+msgid "Summary     : "
+msgstr "Súhrn     : "
+
+#: ../output.py:849 ../output.py:1345
+#, python-format
+msgid "URL         : %s"
+msgstr "URL         : %s"
+
+#: ../output.py:850
+msgid "License     : "
+msgstr "Licencia     : "
+
+#: ../output.py:851 ../output.py:1342
+msgid "Description : "
+msgstr "Popis : "
+
+#: ../output.py:969
+msgid "y"
+msgstr "a"
+
+#: ../output.py:969
+msgid "yes"
+msgstr "áno"
+
+#: ../output.py:970
+msgid "n"
+msgstr "n"
+
+#: ../output.py:970
+msgid "no"
+msgstr "nie"
+
+#: ../output.py:974
+msgid "Is this ok [y/N]: "
+msgstr "Je to v poriadku [a/N]"
+
+#: ../output.py:1097
+#, python-format
+msgid ""
+"\n"
+"Group: %s"
+msgstr "\nSkupina: %s"
+
+#: ../output.py:1101
+#, python-format
+msgid " Group-Id: %s"
+msgstr " ID skupiny: %s"
+
+#: ../output.py:1122 ../output.py:1169
+#, python-format
+msgid " Description: %s"
+msgstr " Popis: %s"
+
+#: ../output.py:1124
+#, python-format
+msgid " Language: %s"
+msgstr " Jazyk: %s"
+
+#: ../output.py:1126
+msgid " Mandatory Packages:"
+msgstr " Povinné balíčky:"
+
+#: ../output.py:1127
+msgid " Default Packages:"
+msgstr " Predvolené balíčky:"
+
+#: ../output.py:1128
+msgid " Optional Packages:"
+msgstr " Voliteľné balíčky:"
+
+#: ../output.py:1129
+msgid " Conditional Packages:"
+msgstr " Podmienené balíčky:"
+
+#: ../output.py:1147
+msgid " Installed Packages:"
+msgstr " Nainštalované balíčky:"
+
+#: ../output.py:1157
+#, python-format
+msgid ""
+"\n"
+"Environment Group: %s"
+msgstr ""
+
+#: ../output.py:1158
+#, python-format
+msgid " Environment-Id: %s"
+msgstr ""
+
+#: ../output.py:1191
+msgid " Mandatory Groups:"
+msgstr ""
+
+#: ../output.py:1192
+msgid " Optional Groups:"
+msgstr ""
+
+#: ../output.py:1205
+msgid " Installed Groups:"
+msgstr ""
+
+#: ../output.py:1217
+#, python-format
+msgid "package: %s"
+msgstr "balíček: %s"
+
+#: ../output.py:1219
+msgid "  No dependencies for this package"
+msgstr "  Pre balíček nie sú žiadne závislosti"
+
+#: ../output.py:1224
+#, python-format
+msgid "  dependency: %s"
+msgstr "  závislosť: %s"
+
+#: ../output.py:1226
+msgid "   Unsatisfied dependency"
+msgstr "   Nevyriešené závislosti"
+
+#: ../output.py:1337
+msgid "Matched from:"
+msgstr "Zhoda z:"
+
+#: ../output.py:1348
+#, python-format
+msgid "License     : %s"
+msgstr "Licencia     : %s"
+
+#: ../output.py:1351
+#, python-format
+msgid "Filename    : %s"
+msgstr "Názov súboru    : %s"
+
+#: ../output.py:1360
+msgid "Provides    : "
+msgstr "Poskytovateľ    : "
+
+#: ../output.py:1363
+msgid "Other       : "
+msgstr "Iné       : "
+
+#: ../output.py:1426
+msgid "There was an error calculating total download size"
+msgstr "Pri výpočte celkovej veľkosti pre sťahovanie nastala chyba"
+
+#: ../output.py:1431
+#, python-format
+msgid "Total size: %s"
+msgstr "Celková veľkosť: %s"
+
+#: ../output.py:1433
+#, python-format
+msgid "Total download size: %s"
+msgstr "Celková veľkosť pre stiahnutie: %s"
+
+#: ../output.py:1436 ../output.py:1459 ../output.py:1463
+#, python-format
+msgid "Installed size: %s"
+msgstr "Nainštalovaná veľkosť: %s"
+
+#: ../output.py:1454
+msgid "There was an error calculating installed size"
+msgstr "Pri výpočte veľkosti po inštalácii nastala chyba"
+
+#: ../output.py:1504
+msgid "Reinstalling"
+msgstr "Preinštalovanie"
+
+#: ../output.py:1505
+msgid "Downgrading"
+msgstr "Downgrade"
+
+#: ../output.py:1506
+msgid "Installing for dependencies"
+msgstr "Inštalácia kvôli závislostiam"
+
+#: ../output.py:1507
+msgid "Updating for dependencies"
+msgstr "Aktualizácia kvôli závislostiam"
+
+#: ../output.py:1508
+msgid "Removing for dependencies"
+msgstr "Odstránenie kvôli závislostiam"
+
+#: ../output.py:1515 ../output.py:1576 ../output.py:1672
+msgid "Skipped (dependency problems)"
+msgstr "Preskočené (problémy so závislosťou)"
+
+#: ../output.py:1517 ../output.py:1577 ../output.py:2223
+msgid "Not installed"
+msgstr "Nenainštalované"
+
+#: ../output.py:1518 ../output.py:1578
+msgid "Not available"
+msgstr "Nedostupné"
+
+#: ../output.py:1540 ../output.py:1588 ../output.py:1604 ../output.py:2581
+msgid "Package"
+msgid_plural "Packages"
+msgstr[0] "Balíček"
+msgstr[1] "Balíčky"
+msgstr[2] "Balíčkov"
+
+#: ../output.py:1540
+msgid "Arch"
+msgstr "Arch"
+
+#: ../output.py:1541
+msgid "Version"
+msgstr "Verzia"
+
+#: ../output.py:1541
+msgid "Repository"
+msgstr "Repozitár"
+
+#: ../output.py:1542
+msgid "Size"
+msgstr "Veľ."
+
+#: ../output.py:1554
+#, python-format
+msgid "     replacing  %s%s%s.%s %s\n"
+msgstr "     nahradzuje sa  %s%s%s.%s %s\n"
+
+#: ../output.py:1563
+#, python-format
+msgid ""
+"\n"
+"Transaction Summary\n"
+"%s\n"
+msgstr "\nZhrnutie transakcie\n%s\n"
+
+#: ../output.py:1568 ../output.py:2376 ../output.py:2377
+msgid "Install"
+msgstr "Inštalovať"
+
+#: ../output.py:1570
+msgid "Upgrade"
+msgstr "Upgrade"
+
+#: ../output.py:1572
+msgid "Remove"
+msgstr "Odstrániť"
+
+#: ../output.py:1574 ../output.py:2382
+msgid "Reinstall"
+msgstr "Preinštalovať"
+
+#: ../output.py:1575 ../output.py:2383
+msgid "Downgrade"
+msgstr "Downgrade"
+
+#: ../output.py:1606
+msgid "Dependent package"
+msgid_plural "Dependent packages"
+msgstr[0] "Závislé balíčky"
+msgstr[1] "Závislý balíček"
+msgstr[2] "Závislé balíčky"
+
+#: ../output.py:1666
+msgid "Removed"
+msgstr "Odstránené"
+
+#: ../output.py:1667
+msgid "Dependency Removed"
+msgstr "Odstránené závislosti"
+
+#: ../output.py:1669
+msgid "Dependency Installed"
+msgstr "Nainštalované závislosti"
+
+#: ../output.py:1671
+msgid "Dependency Updated"
+msgstr "Aktualizované závislosti"
+
+#: ../output.py:1673
+msgid "Replaced"
+msgstr "Nahradené"
+
+#: ../output.py:1674
+msgid "Failed"
+msgstr "Zlyhalo"
+
+#. Delta between C-c's so we treat as exit
+#: ../output.py:1764
+msgid "two"
+msgstr "dva"
+
+#. For translators: This is output like:
+#. Current download cancelled, interrupt (ctrl-c) again within two seconds
+#. to exit.
+#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
+#: ../output.py:1775
+#, python-format
+msgid ""
+"\n"
+" Current download cancelled, %sinterrupt (ctrl-c) again%s within %s%s%s seconds\n"
+"to exit.\n"
+msgstr "\n Aktuálne sťahovanie zrušené, %sprerušiť (ctrl-c) znova%s počas %s%s%s sekúnd\nto exit.\n"
+
+#: ../output.py:1786
+msgid "user interrupt"
+msgstr "Prerušené používateľom"
+
+#: ../output.py:1812
+msgid "Total"
+msgstr "Celkovo"
+
+#: ../output.py:1834
+msgid "I"
+msgstr "I"
+
+#: ../output.py:1835
+msgid "O"
+msgstr "O"
+
+#: ../output.py:1836
+msgid "E"
+msgstr "E"
+
+#: ../output.py:1837
+msgid "R"
+msgstr "R"
+
+#: ../output.py:1838
+msgid "D"
+msgstr "D"
+
+#: ../output.py:1839
+msgid "U"
+msgstr "U"
+
+#: ../output.py:1853
+msgid "<unset>"
+msgstr "<nenastavené>"
+
+#: ../output.py:1854
+msgid "System"
+msgstr "Systém"
+
+#: ../output.py:1923
+#, python-format
+msgid "Skipping merged transaction %d to %d, as it overlaps"
+msgstr "preskočenie zlúčenej transakcie %d až %d, pretože sú v presahu"
+
+#: ../output.py:1933 ../output.py:2125
+msgid "No transactions"
+msgstr "Žiadne transakcie"
+
+#: ../output.py:1958 ../output.py:2570 ../output.py:2660
+msgid "Bad transaction IDs, or package(s), given"
+msgstr "Zadané chybné ID transakcie, alebo balíčka(ov)"
+
+#: ../output.py:2007
+msgid "Command line"
+msgstr "Príkazový riadok"
+
+#: ../output.py:2009 ../output.py:2458
+msgid "Login user"
+msgstr "Prihlásený používateľ"
+
+#. REALLY Needs to use columns!
+#: ../output.py:2010 ../output.py:2579
+msgid "ID"
+msgstr "ID"
+
+#: ../output.py:2012
+msgid "Date and time"
+msgstr "Dátum a čas"
+
+#: ../output.py:2013 ../output.py:2460 ../output.py:2580
+msgid "Action(s)"
+msgstr "Akcia(e)"
+
+#: ../output.py:2014 ../output.py:2461
+msgid "Altered"
+msgstr "Pozmenené"
+
+#: ../output.py:2061
+msgid "No transaction ID given"
+msgstr "Nezadané ID transakcie"
+
+#: ../output.py:2087 ../output.py:2526
+msgid "Bad transaction ID given"
+msgstr "Chybné ID transakcie"
+
+#: ../output.py:2092
+msgid "Not found given transaction ID"
+msgstr "Zadané ID transakcie nenájdené"
+
+#: ../output.py:2100
+msgid "Found more than one transaction ID!"
+msgstr "Nájdených viac než jedno ID transakcie!"
+
+#: ../output.py:2151 ../output.py:2534
+msgid "No transaction ID, or package, given"
+msgstr "Nebolo nájdené ID transakcie alebo balíčka(ov)"
+
+#: ../output.py:2222 ../output.py:2384
+msgid "Downgraded"
+msgstr "Downgradované"
+
+#: ../output.py:2224
+msgid "Older"
+msgstr "Staršie"
+
+#: ../output.py:2224
+msgid "Newer"
+msgstr "Novšie"
+
+#: ../output.py:2261 ../output.py:2263 ../output.py:2681
+msgid "Transaction ID :"
+msgstr "ID transakcie :"
+
+#: ../output.py:2265 ../output.py:2683
+msgid "Begin time     :"
+msgstr "Počiatočný čas     :"
+
+#: ../output.py:2268 ../output.py:2270
+msgid "Begin rpmdb    :"
+msgstr "Začiatok rpmdb    :"
+
+#: ../output.py:2286
+#, python-format
+msgid "(%u seconds)"
+msgstr "(%u sekúnd)"
+
+#: ../output.py:2288
+#, python-format
+msgid "(%u minutes)"
+msgstr "(%u minút)"
+
+#: ../output.py:2290
+#, python-format
+msgid "(%u hours)"
+msgstr "(%u hodín)"
+
+#: ../output.py:2292
+#, python-format
+msgid "(%u days)"
+msgstr "(%u dní)"
+
+#: ../output.py:2293
+msgid "End time       :"
+msgstr "Čas ukončenia       :"
+
+#: ../output.py:2296 ../output.py:2298
+msgid "End rpmdb      :"
+msgstr "Koniec rpmdb      :"
+
+#: ../output.py:2301 ../output.py:2303
+msgid "User           :"
+msgstr "Používateľ           :"
+
+#: ../output.py:2307 ../output.py:2310 ../output.py:2312 ../output.py:2314
+#: ../output.py:2316
+msgid "Return-Code    :"
+msgstr "Návratový kód    :"
+
+#: ../output.py:2307 ../output.py:2312
+msgid "Aborted"
+msgstr "Prerušené"
+
+#: ../output.py:2310
+msgid "Failures:"
+msgstr "Zlyhania:"
+
+#: ../output.py:2314
+msgid "Failure:"
+msgstr "Zlyhanie:"
+
+#: ../output.py:2316
+msgid "Success"
+msgstr "Úspešné"
+
+#: ../output.py:2321 ../output.py:2323 ../output.py:2712
+msgid "Command Line   :"
+msgstr "Príkazový riadok   :"
+
+#: ../output.py:2332
+#, python-format
+msgid "Additional non-default information stored: %d"
+msgstr "Uložená neštandardná prídavná informácia: %d"
+
+#. This is _possible_, but not common
+#: ../output.py:2337
+msgid "Transaction performed with:"
+msgstr "Transakcia vykonaná s:"
+
+#: ../output.py:2341
+msgid "Packages Altered:"
+msgstr "Pozmenené balíčky:"
+
+#: ../output.py:2345
+msgid "Packages Skipped:"
+msgstr "Preskočené balíčky:"
+
+#: ../output.py:2353
+msgid "Rpmdb Problems:"
+msgstr "Problémy rpmdb:"
+
+#: ../output.py:2364
+msgid "Scriptlet output:"
+msgstr "Výstup skriptletu:"
+
+#: ../output.py:2370
+msgid "Errors:"
+msgstr "Chyby:"
+
+#: ../output.py:2378
+msgid "Dep-Install"
+msgstr "Inštalovať závislosti"
+
+#: ../output.py:2380
+msgid "Obsoleting"
+msgstr "Zastaralé"
+
+#: ../output.py:2381
+msgid "Erase"
+msgstr "Zmazať"
+
+#: ../output.py:2385
+msgid "Update"
+msgstr "Aktualizovať"
+
+#: ../output.py:2459
+msgid "Time"
+msgstr "Čas"
+
+#: ../output.py:2485
+msgid "Last day"
+msgstr "Posledný deň"
+
+#: ../output.py:2486
+msgid "Last week"
+msgstr "Posledný týždeň"
+
+#: ../output.py:2487
+msgid "Last 2 weeks"
+msgstr "Posledné 2 týždne"
+
+#. US default :p
+#: ../output.py:2488
+msgid "Last 3 months"
+msgstr "Posledné 3 mesiace"
+
+#: ../output.py:2489
+msgid "Last 6 months"
+msgstr "Posledných 6 mesiacov"
+
+#: ../output.py:2490
+msgid "Last year"
+msgstr "Posledný rok"
+
+#: ../output.py:2491
+msgid "Over a year ago"
+msgstr "Viac než rok"
+
+#: ../output.py:2538
+#, python-format
+msgid "No Transaction %s found"
+msgstr "Nenájdená žiadna transakcia %s"
+
+#: ../output.py:2544
+msgid "Transaction ID:"
+msgstr "ID transakcie:"
+
+#: ../output.py:2545
+msgid "Available additional history information:"
+msgstr "Ďalšia dostupná informácia z histórie:"
+
+#: ../output.py:2558
+#, python-format
+msgid "%s: No additional data found by this name"
+msgstr "%s: Nenájdené ďalšie dáta tohoto mena"
+
+#: ../output.py:2684
+msgid "Package        :"
+msgstr "Balíček       :"
+
+#: ../output.py:2685
+msgid "State          :"
+msgstr "Stav          :"
+
+#: ../output.py:2688
+msgid "Size           :"
+msgstr "Veľkosť           :"
+
+#: ../output.py:2690
+msgid "Build host     :"
+msgstr "Hostiteľ zostavenia     :"
+
+#: ../output.py:2693
+msgid "Build time     :"
+msgstr "Čas zostavenia     :"
+
+#: ../output.py:2695
+msgid "Packager       :"
+msgstr "Zabalil       :"
+
+#: ../output.py:2697
+msgid "Vendor         :"
+msgstr "Dodávateľ         :"
+
+#: ../output.py:2699
+msgid "License        :"
+msgstr "Licencia        :"
+
+#: ../output.py:2701
+msgid "URL            :"
+msgstr "URL            :"
+
+#: ../output.py:2703
+msgid "Source RPM     :"
+msgstr "Zdroj RPM     :"
+
+#: ../output.py:2706
+msgid "Commit Time    :"
+msgstr "Čas odoslania    :"
+
+#: ../output.py:2708
+msgid "Committer      :"
+msgstr "Odosielateľ      :"
+
+#: ../output.py:2710
+msgid "Reason         :"
+msgstr "Dôvod         :"
+
+#: ../output.py:2714
+msgid "From repo      :"
+msgstr "Z repozitára      :"
+
+#: ../output.py:2718
+msgid "Installed by   :"
+msgstr "Nainštaloval   :"
+
+#: ../output.py:2722
+msgid "Changed by     :"
+msgstr "Zmenil     :"
+
+#: ../output.py:2767
+msgid "installed"
+msgstr "nainštalovaný"
+
+#: ../output.py:2768
+msgid "an update"
+msgstr "novou aktualizáciou"
+
+#: ../output.py:2769
+msgid "erased"
+msgstr "zmazaný"
+
+#: ../output.py:2770
+msgid "reinstalled"
+msgstr "preinštalovaný"
+
+#: ../output.py:2771
+msgid "a downgrade"
+msgstr "downgradovaný"
+
+#: ../output.py:2772
+msgid "obsoleting"
+msgstr "nahradený"
+
+#: ../output.py:2773
+msgid "updated"
+msgstr "aktualizovaný"
+
+#: ../output.py:2774
+msgid "obsoleted"
+msgstr "zastaralý"
+
+#: ../output.py:2778
+#, python-format
+msgid "---> Package %s.%s %s:%s-%s will be %s"
+msgstr "---> Balíček %s.%s %s:%s-%s bude %s"
+
+#: ../output.py:2789
+msgid "--> Running transaction check"
+msgstr "--> Kontrola transakcie spustená"
+
+#: ../output.py:2795
+msgid "--> Restarting Dependency Resolution with new changes."
+msgstr "--> Reštartovanie riešenia závislostí s novými zmenami."
+
+#: ../output.py:2801
+msgid "--> Finished Dependency Resolution"
+msgstr "--> Riešenie závislostí dokončené"
+
+#: ../output.py:2814 ../output.py:2827
+#, python-format
+msgid "--> Processing Dependency: %s for package: %s"
+msgstr "--> Spracovanie závislostí: %s pre balíček: %s"
+
+#: ../output.py:2841
+#, python-format
+msgid "---> Keeping package: %s due to %s"
+msgstr ""
+
+#: ../output.py:2850
+#, python-format
+msgid "--> Unresolved Dependency: %s"
+msgstr "--> Nevyriešené závislosti: %s"
+
+#: ../output.py:2867
+#, python-format
+msgid "Package: %s"
+msgstr "Balíček: %s"
+
+#: ../output.py:2869
+#, python-format
+msgid ""
+"\n"
+"    Requires: %s"
+msgstr "\n    Vyžaduje: %s"
+
+#: ../output.py:2878
+#, python-format
+msgid ""
+"\n"
+"    %s: %s (%s)"
+msgstr "\n    %s: %s (%s)"
+
+#: ../output.py:2883
+#, python-format
+msgid ""
+"\n"
+"        %s"
+msgstr "\n        %s"
+
+#: ../output.py:2885
+msgid ""
+"\n"
+"        Not found"
+msgstr "\n        Nenájdené"
+
+#. These should be the only three things we care about:
+#: ../output.py:2900
+msgid "Updated By"
+msgstr "Aktualizoval"
+
+#: ../output.py:2901
+msgid "Downgraded By"
+msgstr "Downgradoval"
+
+#: ../output.py:2902
+msgid "Obsoleted By"
+msgstr "Zastarol"
+
+#: ../output.py:2920
+msgid "Available"
+msgstr "Dostupné"
+
+#: ../output.py:2955 ../output.py:2968
+#, python-format
+msgid "--> Processing Conflict: %s conflicts %s"
+msgstr "--> Spracovanie konfliktov: %s je v konfilkte s %s"
+
+#: ../output.py:2974
+msgid "--> Populating transaction set with selected packages. Please wait."
+msgstr "--> Do transakcie sú pridávané vybrané balíčky. Čakajte prosím."
+
+#: ../output.py:2983
+#, python-format
+msgid "---> Downloading header for %s to pack into transaction set."
+msgstr "---> Sťahovanie hlavičiek %s pre pridanie do transakcie."
+
+#. self.event(txmbr.name, count, len(base.tsInfo), count, )
+#. (te_current*100L)/te_total
+#: ../output.py:3248
+msgid "Verifying"
+msgstr "Overuje sa"
+
+#: ../utils.py:123
+msgid "Running"
+msgstr "Beží"
+
+#: ../utils.py:124
+msgid "Sleeping"
+msgstr "Spí"
+
+#: ../utils.py:125
+msgid "Uninterruptible"
+msgstr "Neprerušiteľné"
+
+#: ../utils.py:126
+msgid "Zombie"
+msgstr "Zombie"
+
+#: ../utils.py:127
+msgid "Traced/Stopped"
+msgstr "Trasovaný/zastavený"
+
+#: ../utils.py:128 ../yumcommands.py:2193
+msgid "Unknown"
+msgstr "Neznámy"
+
+#: ../utils.py:153
+msgid "  The other application is: PackageKit"
+msgstr "  Iná aplikácia je: PackageKit"
+
+#: ../utils.py:155
+#, python-format
+msgid "  The other application is: %s"
+msgstr "  Iná aplikácia je: %s"
+
+#: ../utils.py:158
+#, python-format
+msgid "    Memory : %5s RSS (%5sB VSZ)"
+msgstr "    Pamäť  : %5s RSS (%5sB VSZ)"
+
+#: ../utils.py:163
+#, python-format
+msgid "    Started: %s - %s ago"
+msgstr "    Spustené: %s - pred %s"
+
+#: ../utils.py:165
+#, python-format
+msgid "    State  : %s, pid: %d"
+msgstr "    Stav   : %s, pid: %d"
+
+#: ../utils.py:194 ../yummain.py:43
+msgid ""
+"\n"
+"\n"
+"Exiting on user cancel"
+msgstr "\n\nUkončené na príkaz používateľa"
+
+#: ../utils.py:206 ../yummain.py:49
+msgid ""
+"\n"
+"\n"
+"Exiting on Broken Pipe"
+msgstr "\n\nUkončené prerušením rúry"
+
+#: ../utils.py:208 ../yummain.py:51
+#, python-format
+msgid ""
+"\n"
+"\n"
+"%s"
+msgstr "\n\n%s"
+
+#: ../utils.py:326
+#, python-format
+msgid "PluginExit Error: %s"
+msgstr "Chyba PluginExit: %s"
+
+#: ../utils.py:329
+#, python-format
+msgid "Yum Error: %s"
+msgstr "Chyba Yumu: %s"
+
+#: ../utils.py:387 ../yummain.py:147 ../yummain.py:186
+#, python-format
+msgid "Error: %s"
+msgstr "Chyba: %s"
+
+#: ../utils.py:391 ../yummain.py:191
+msgid " You could try using --skip-broken to work around the problem"
+msgstr " Pre obídenie problému môžete skúsiť možnosť --skip-broken"
+
+#: ../utils.py:393 ../yummain.py:87
+msgid " You could try running: rpm -Va --nofiles --nodigest"
+msgstr " Môžete skúsiť spustiť: rpm -Va --nofiles --nodigest"
+
+#: ../utils.py:400 ../yummain.py:157 ../yummain.py:199
+#, python-format
+msgid "Unknown Error(s): Exit Code: %d:"
+msgstr "Neznáma chyba/y: Výstupný kód: %d:"
+
+#: ../utils.py:406 ../yummain.py:205
+msgid ""
+"\n"
+"Dependencies Resolved"
+msgstr "\nZávislosti vyriešené."
+
+#: ../utils.py:422 ../yummain.py:237
+msgid "Complete!"
+msgstr "Dokončené!"
+
+#: ../yumcommands.py:42
+msgid " Mini usage:\n"
+msgstr " Mini použitie:\n"
+
+#: ../yumcommands.py:52
+msgid "You need to be root to perform this command."
+msgstr "Musíte byť root pre vykonanie tohoto príkazu."
+
+#: ../yumcommands.py:67
+msgid ""
+"\n"
+"You have enabled checking of packages via GPG keys. This is a good thing. \n"
+"However, you do not have any GPG public keys installed. You need to download\n"
+"the keys for packages you wish to install and install them.\n"
+"You can do that by running the command:\n"
+"    rpm --import public.gpg.key\n"
+"\n"
+"\n"
+"Alternatively you can specify the url to the key you would like to use\n"
+"for a repository in the 'gpgkey' option in a repository section and yum \n"
+"will install it for you.\n"
+"\n"
+"For more information contact your distribution or package provider.\n"
+msgstr "\nJe povolená kontrola balíčkov pomocou GPG kľúčov, čo je dobrá vec.\nNie je však nainštalovaný žiadny verejný GPG kľúč. Musíte stiahnuť\nkľúč pre balíček, ktorý si prajete nainštalovať a pridať ho príkazom\n    rpm --import public.gpg.key\n\n\nAko druhú možnosť môžete uviesť URL ku kľúču, ktorý chcete použiť\npre repozitár vo voľbě 'gpgkey' v nastaveniach repozitára, a yum\nho nainštaluje.\n\nViac informácií získate u svojho distribútora alebo správcu balíčkov.\n"
+
+#: ../yumcommands.py:82
+#, python-format
+msgid "Problem repository: %s"
+msgstr "Problém v repozitáre: %s"
+
+#: ../yumcommands.py:96
+#, python-format
+msgid "Error: Need to pass a list of pkgs to %s"
+msgstr "Chyba: Je potrebné predať zoznam balíčkov do %s"
+
+#: ../yumcommands.py:114
+#, python-format
+msgid "Error: Need at least two packages to %s"
+msgstr ""
+
+#: ../yumcommands.py:129
+#, python-format
+msgid "Error: Need to pass a repoid. and command to %s"
+msgstr ""
+
+#: ../yumcommands.py:136 ../yumcommands.py:142
+#, python-format
+msgid "Error: Need to pass a single valid repoid. to %s"
+msgstr ""
+
+#: ../yumcommands.py:147
+#, python-format
+msgid "Error: Repo %s is not enabled"
+msgstr ""
+
+#: ../yumcommands.py:164
+msgid "Error: Need an item to match"
+msgstr "Chyba: K nájdeniu zhody je potrebná položka"
+
+#: ../yumcommands.py:178
+msgid "Error: Need a group or list of groups"
+msgstr "Chyba: Je potrebná skupina alebo zoznam skupín"
+
+#: ../yumcommands.py:195
+#, python-format
+msgid "Error: clean requires an option: %s"
+msgstr "Chyba: clean vyžaduje možnosť: %s"
+
+#: ../yumcommands.py:201
+#, python-format
+msgid "Error: invalid clean argument: %r"
+msgstr "Chyba: neplatný argument pre clean: %r"
+
+#: ../yumcommands.py:216
+msgid "No argument to shell"
+msgstr "Žiadny argument pre shell"
+
+#: ../yumcommands.py:218
+#, python-format
+msgid "Filename passed to shell: %s"
+msgstr "Názov súboru predaný shellu: %s"
+
+#: ../yumcommands.py:222
+#, python-format
+msgid "File %s given as argument to shell does not exist."
+msgstr "Súbor %s predaný ako argument shellu neexistuje."
+
+#: ../yumcommands.py:228
+msgid "Error: more than one file given as argument to shell."
+msgstr "Chyba: viac než jeden súbor predaný shellu ako argument."
+
+#: ../yumcommands.py:247
+msgid ""
+"There are no enabled repos.\n"
+" Run \"yum repolist all\" to see the repos you have.\n"
+" You can enable repos with yum-config-manager --enable <repo>"
+msgstr "K dispozícii nie sú žiadne povolené repozitáre.\n Pre zobrazenie repozitárov spustite príkaz yum repolist all.\n Repozitáre môžete povoliť pomocou príkazu yum-config-manager --enable <repo>"
+
+#: ../yumcommands.py:383
+msgid "PACKAGE..."
+msgstr "BALÍČEK..."
+
+#: ../yumcommands.py:390
+msgid "Install a package or packages on your system"
+msgstr "Inštalovať balíček alebo balíčky do systému"
+
+#: ../yumcommands.py:421
+msgid "Setting up Install Process"
+msgstr "Príprava priebehu inštalácie"
+
+#: ../yumcommands.py:447 ../yumcommands.py:507
+msgid "[PACKAGE...]"
+msgstr "[BALÍČEK...]"
+
+#: ../yumcommands.py:454
+msgid "Update a package or packages on your system"
+msgstr "Aktualizovať balíček alebo balíčky v systéme"
+
+#: ../yumcommands.py:483
+msgid "Setting up Update Process"
+msgstr "Príprava priebehu aktualizácie"
+
+#: ../yumcommands.py:514
+msgid "Synchronize installed packages to the latest available versions"
+msgstr "Synchronizovať nainštalované balíčky na poslednú dostupnú verziu"
+
+#: ../yumcommands.py:543
+msgid "Setting up Distribution Synchronization Process"
+msgstr "Príprava procesu synchronizácie distribúcie"
+
+#: ../yumcommands.py:603
+msgid "Display details about a package or group of packages"
+msgstr "Zobraziť detaily o balíčku, alebo skupine balíčkov"
+
+#: ../yumcommands.py:672
+msgid "Installed Packages"
+msgstr "Nainštalované balíčky"
+
+#: ../yumcommands.py:682
+msgid "Available Packages"
+msgstr "Dostupné balíčky"
+
+#: ../yumcommands.py:687
+msgid "Extra Packages"
+msgstr "Dodatočné balíčky"
+
+#: ../yumcommands.py:691
+msgid "Updated Packages"
+msgstr "Aktualizované balíčky"
+
+#. This only happens in verbose mode
+#: ../yumcommands.py:699 ../yumcommands.py:706 ../yumcommands.py:1539
+msgid "Obsoleting Packages"
+msgstr "Zastaralé balíčky"
+
+#: ../yumcommands.py:708
+msgid "Recently Added Packages"
+msgstr "Nedávno pridané balíčky"
+
+#: ../yumcommands.py:715
+msgid "No matching Packages to list"
+msgstr "Nenájdené žiadne zodpovedajúce balíčky"
+
+#: ../yumcommands.py:766
+msgid "List a package or groups of packages"
+msgstr "Vypísať balíček, alebo skupiny balíčkov"
+
+#: ../yumcommands.py:797
+msgid "Remove a package or packages from your system"
+msgstr "Odstrániť balíček, alebo balíčky zo systému"
+
+#: ../yumcommands.py:845
+msgid "Setting up Remove Process"
+msgstr "Príprava priebehu odstránenia"
+
+#: ../yumcommands.py:906
+msgid "Display, or use, the groups information"
+msgstr "Zobraziť, alebo použiť informácie o skupine"
+
+#: ../yumcommands.py:909
+msgid "Setting up Group Process"
+msgstr "Príprava spracovania skupiny"
+
+#: ../yumcommands.py:915
+msgid "No Groups on which to run command"
+msgstr "Nenájdené žiadne skupiny na ktorých by šlo príkaz vykonať"
+
+#: ../yumcommands.py:985
+#, python-format
+msgid "Invalid groups sub-command, use: %s."
+msgstr "Neplatný subpríkaz skupiny, použite: %s."
+
+#: ../yumcommands.py:992
+msgid "There is no installed groups file."
+msgstr "Neexistuje žiadny súbor nainštalovaných skupín."
+
+#: ../yumcommands.py:994
+msgid "You don't have access to the groups DB."
+msgstr "Nemáte prístup k skupinám DB."
+
+#: ../yumcommands.py:1256
+msgid "Generate the metadata cache"
+msgstr "Vygenerovať dočasnú pamäť metadát"
+
+#: ../yumcommands.py:1282
+msgid "Making cache files for all metadata files."
+msgstr "Vytváranie dočasných súborov pre všetky súbory s metadátami."
+
+#: ../yumcommands.py:1283
+msgid "This may take a while depending on the speed of this computer"
+msgstr "Toto môže chvíľu trvať v závislosti na rýchlosti počítača"
+
+#: ../yumcommands.py:1312
+msgid "Metadata Cache Created"
+msgstr "Dočasná pamäť metadát vytvorená"
+
+#: ../yumcommands.py:1350
+msgid "Remove cached data"
+msgstr "Odstrániť dočasné dáta"
+
+#: ../yumcommands.py:1417
+msgid "Find what package provides the given value"
+msgstr "Nájsť balíček, ktorý poskytuje danú hodnotu"
+
+#: ../yumcommands.py:1485
+msgid "Check for available package updates"
+msgstr "Skontrolovať dostupnosť aktualizácií pre balíčky"
+
+#: ../yumcommands.py:1587
+msgid "Search package details for the given string"
+msgstr "Vyhľadať detaily balíčkov pre zadaný reťazec"
+
+#: ../yumcommands.py:1613
+msgid "Searching Packages: "
+msgstr "Prehľadávanie balíčkov:"
+
+#: ../yumcommands.py:1666
+msgid "Update packages taking obsoletes into account"
+msgstr "Aktualizovať balíčky a brať do úvahy zastaralé"
+
+#: ../yumcommands.py:1696
+msgid "Setting up Upgrade Process"
+msgstr "Príprava priebehu upgradu"
+
+#: ../yumcommands.py:1731
+msgid "Install a local RPM"
+msgstr "Inštalovať miestny RPM"
+
+#: ../yumcommands.py:1761
+msgid "Setting up Local Package Process"
+msgstr "Príprava spracovania miestneho balíčka"
+
+#: ../yumcommands.py:1825
+msgid "Searching Packages for Dependency:"
+msgstr "Prehľadávanie balíčkov pre vyriešenie závislostí:"
+
+#: ../yumcommands.py:1867
+msgid "Run an interactive yum shell"
+msgstr "Spustiť interaktívny yum shell"
+
+#: ../yumcommands.py:1893
+msgid "Setting up Yum Shell"
+msgstr "Príprava yum shellu"
+
+#: ../yumcommands.py:1936
+msgid "List a package's dependencies"
+msgstr "Vypísať závislosti balíčkov"
+
+#: ../yumcommands.py:1963
+msgid "Finding dependencies: "
+msgstr "Hľadanie závislostí:"
+
+#: ../yumcommands.py:2005
+msgid "Display the configured software repositories"
+msgstr "Zobraziť nastavené repozitáre softvéru"
+
+#: ../yumcommands.py:2094 ../yumcommands.py:2095
+msgid "enabled"
+msgstr "povolené"
+
+#: ../yumcommands.py:2121 ../yumcommands.py:2122
+msgid "disabled"
+msgstr "zakázané"
+
+#: ../yumcommands.py:2137
+msgid "Repo-id      : "
+msgstr "Repo-ID      : "
+
+#: ../yumcommands.py:2138
+msgid "Repo-name    : "
+msgstr "Repo-názov    : "
+
+#: ../yumcommands.py:2141
+msgid "Repo-status  : "
+msgstr "Repo-stav  : "
+
+#: ../yumcommands.py:2144
+msgid "Repo-revision: "
+msgstr "Repo-revízia: "
+
+#: ../yumcommands.py:2148
+msgid "Repo-tags    : "
+msgstr "Repo-značky    : "
+
+#: ../yumcommands.py:2154
+msgid "Repo-distro-tags: "
+msgstr "Repo-distro-značky: "
+
+#: ../yumcommands.py:2159
+msgid "Repo-updated : "
+msgstr "Repo-aktualizované : "
+
+#: ../yumcommands.py:2161
+msgid "Repo-pkgs    : "
+msgstr "Repo-balíčkov    : "
+
+#: ../yumcommands.py:2162
+msgid "Repo-size    : "
+msgstr "Repo-veľkosť    : "
+
+#: ../yumcommands.py:2169 ../yumcommands.py:2190
+msgid "Repo-baseurl : "
+msgstr "Repo-baseurl : "
+
+#: ../yumcommands.py:2177
+msgid "Repo-metalink: "
+msgstr "Repo-metalink: "
+
+#: ../yumcommands.py:2181
+msgid "  Updated    : "
+msgstr "  Aktualizované    : "
+
+#: ../yumcommands.py:2184
+msgid "Repo-mirrors : "
+msgstr "Repo-zrkadlá : "
+
+#: ../yumcommands.py:2199
+#, python-format
+msgid "Never (last: %s)"
+msgstr "Nikdy (naposledy: %s)"
+
+#: ../yumcommands.py:2201
+#, python-format
+msgid "Instant (last: %s)"
+msgstr "Okamžite (naposledy: %s)"
+
+#: ../yumcommands.py:2204
+#, python-format
+msgid "%s second(s) (last: %s)"
+msgstr "%s sekúnd (naposledy: %s)"
+
+#: ../yumcommands.py:2206
+msgid "Repo-expire  : "
+msgstr "Repo-vyprší  : "
+
+#: ../yumcommands.py:2209
+msgid "Repo-exclude : "
+msgstr "Repo-vynechané : "
+
+#: ../yumcommands.py:2213
+msgid "Repo-include : "
+msgstr "Repo-zahrnuté : "
+
+#: ../yumcommands.py:2217
+msgid "Repo-excluded: "
+msgstr "Repo-vynechané: "
+
+#: ../yumcommands.py:2221
+msgid "Repo-filename: "
+msgstr "Repo-názov súboru: "
+
+#. Work out the first (id) and last (enabled/disalbed/count),
+#. then chop the middle (name)...
+#: ../yumcommands.py:2230 ../yumcommands.py:2259
+msgid "repo id"
+msgstr "ID repozitára"
+
+#: ../yumcommands.py:2247 ../yumcommands.py:2248 ../yumcommands.py:2266
+msgid "status"
+msgstr "stav"
+
+#: ../yumcommands.py:2260
+msgid "repo name"
+msgstr "názov repozitára"
+
+#: ../yumcommands.py:2332
+msgid "Display a helpful usage message"
+msgstr "Zobraziť užitočného pomocníka"
+
+#: ../yumcommands.py:2374
+#, python-format
+msgid "No help available for %s"
+msgstr "Pre %s nie je dostupný pomocník"
+
+#: ../yumcommands.py:2379
+msgid ""
+"\n"
+"\n"
+"aliases: "
+msgstr "\n\naliasy: "
+
+#: ../yumcommands.py:2381
+msgid ""
+"\n"
+"\n"
+"alias: "
+msgstr "\n\nalias: "
+
+#: ../yumcommands.py:2466
+msgid "Setting up Reinstall Process"
+msgstr "Príprava priebehu reinštalácie"
+
+#: ../yumcommands.py:2478
+msgid "reinstall a package"
+msgstr "reinštalácia balíčka"
+
+#: ../yumcommands.py:2541
+msgid "Setting up Downgrade Process"
+msgstr "Príprava procesu downgradu"
+
+#: ../yumcommands.py:2552
+msgid "downgrade a package"
+msgstr "downgrade balíčka"
+
+#: ../yumcommands.py:2591
+msgid "Display a version for the machine and/or available repos."
+msgstr "Zobraziť verziu pre počítač a/alebo dostupné repozitáre."
+
+#: ../yumcommands.py:2643
+msgid " Yum version groups:"
+msgstr " Verzia yum skupín:"
+
+#: ../yumcommands.py:2653
+msgid " Group   :"
+msgstr " Skupina :"
+
+#: ../yumcommands.py:2654
+msgid " Packages:"
+msgstr " Balíčky :"
+
+#: ../yumcommands.py:2683
+msgid "Installed:"
+msgstr "Nainštalované:"
+
+#: ../yumcommands.py:2691
+msgid "Group-Installed:"
+msgstr "Nainštalované skupiny:"
+
+#: ../yumcommands.py:2700
+msgid "Available:"
+msgstr "Dostupné:"
+
+#: ../yumcommands.py:2709
+msgid "Group-Available:"
+msgstr "Dostupné skupiny:"
+
+#: ../yumcommands.py:2783
+msgid "Display, or use, the transaction history"
+msgstr "Zobraziť alebo použiť históriu transakcií"
+
+#: ../yumcommands.py:2876 ../yumcommands.py:2880
+msgid "Transactions:"
+msgstr "Transakcie:"
+
+#: ../yumcommands.py:2881
+msgid "Begin time  :"
+msgstr "Čas začatia  :"
+
+#: ../yumcommands.py:2882
+msgid "End time    :"
+msgstr "Čas ukončenia    :"
+
+#: ../yumcommands.py:2883
+msgid "Counts      :"
+msgstr "Počet      :"
+
+#: ../yumcommands.py:2884
+msgid "  NEVRAC :"
+msgstr "  NEVRAC :"
+
+#: ../yumcommands.py:2885
+msgid "  NEVRA  :"
+msgstr "  NEVRA  :"
+
+#: ../yumcommands.py:2886
+msgid "  NA     :"
+msgstr "  NA     :"
+
+#: ../yumcommands.py:2887
+msgid "  NEVR   :"
+msgstr "  NEVR   :"
+
+#: ../yumcommands.py:2888
+msgid "  rpm DB :"
+msgstr "  rpm DB :"
+
+#: ../yumcommands.py:2889
+msgid "  yum DB :"
+msgstr "  yum DB :"
+
+#: ../yumcommands.py:2922
+#, python-format
+msgid "Invalid history sub-command, use: %s."
+msgstr "Neplatný subpríkaz histórie, použite: %s."
+
+#: ../yumcommands.py:2929
+msgid "You don't have access to the history DB."
+msgstr "Nemáte prístup k databáze s históriou."
+
+#: ../yumcommands.py:3036
+msgid "Check for problems in the rpmdb"
+msgstr "Skontrolovať problémy v rpmdb"
+
+#: ../yumcommands.py:3102
+msgid "load a saved transaction from filename"
+msgstr "načítať uloženú transakciu zo súboru"
+
+#: ../yumcommands.py:3119
+msgid "No saved transaction file specified."
+msgstr "Nebola zadaná žiadna uložená transakcia."
+
+#: ../yumcommands.py:3123
+#, python-format
+msgid "loading transaction from %s"
+msgstr "načítanie transakcie z %s"
+
+#: ../yumcommands.py:3129
+#, python-format
+msgid "Transaction loaded from %s with %s members"
+msgstr "Transakcia načítaná z %s s %s členmi"
+
+#: ../yumcommands.py:3169
+msgid "Simple way to swap packages, isntead of using shell"
+msgstr ""
+
+#: ../yumcommands.py:3264
+msgid ""
+"Treat a repo. as a group of packages, so we can install/remove all of them"
+msgstr ""
+
+#: ../yumcommands.py:3341
+#, python-format
+msgid "%d package to update"
+msgid_plural "%d packages to update"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#: ../yumcommands.py:3370
+#, python-format
+msgid "%d package to remove/reinstall"
+msgid_plural "%d packages to remove/reinstall"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#: ../yumcommands.py:3413
+#, python-format
+msgid "%d package to remove/sync"
+msgid_plural "%d packages to remove/sync"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#: ../yumcommands.py:3417
+#, python-format
+msgid "Not a valid sub-command of %s"
+msgstr ""
+
+#. This is mainly for PackageSackError from rpmdb.
+#: ../yummain.py:84
+#, python-format
+msgid " Yum checks failed: %s"
+msgstr " Zlyhali kontroly Yumu: %s"
+
+#: ../yummain.py:98
+msgid "No read/execute access in current directory, moving to /"
+msgstr "Žiadny prístup načítania/vykonania v aktuálnom priečinku, presun do /"
+
+#: ../yummain.py:106
+msgid "No getcwd() access in current directory, moving to /"
+msgstr "Žiadny prístup getcwd() v aktuálnom priečinku, presun do /"
+
+#. Depsolve stage
+#: ../yummain.py:164
+msgid "Resolving Dependencies"
+msgstr "Riešenie závislostí"
+
+#: ../yummain.py:227 ../yummain.py:235
+#, python-format
+msgid ""
+"Your transaction was saved, rerun it with:\n"
+" yum load-transaction %s"
+msgstr "Vaša transakcia bola uložená, znova ju spustite s príkazom:\n yum load-transaction %s"
+
+#: ../yummain.py:312
+msgid ""
+"\n"
+"\n"
+"Exiting on user cancel."
+msgstr "\n\nUkončuje sa na príkaz používateľa."
+
+#: ../yum/depsolve.py:127
+msgid "doTsSetup() will go away in a future version of Yum.\n"
+msgstr "doTsSetup() bude v nasledujúcich verziách yumu odstranený.\n"
+
+#: ../yum/depsolve.py:143
+msgid "Setting up TransactionSets before config class is up"
+msgstr "Príprava TransactionSets pred tým než bude pripravená trieda config"
+
+#: ../yum/depsolve.py:200
+#, python-format
+msgid "Invalid tsflag in config file: %s"
+msgstr "Neplatný tsflag v konfiguračnonm súbore: %s"
+
+#: ../yum/depsolve.py:218
+#, python-format
+msgid "Searching pkgSack for dep: %s"
+msgstr "Hľadanie pkgSack pre závislosť? %s"
+
+#: ../yum/depsolve.py:269
+#, python-format
+msgid "Member: %s"
+msgstr "Člen: %s"
+
+#: ../yum/depsolve.py:283 ../yum/depsolve.py:937
+#, python-format
+msgid "%s converted to install"
+msgstr "%s zkonvertovaný pre inštaláciu"
+
+#: ../yum/depsolve.py:295
+#, python-format
+msgid "Adding Package %s in mode %s"
+msgstr "Pridanie balíčka %s v režime %s"
+
+#: ../yum/depsolve.py:311
+#, python-format
+msgid "Removing Package %s"
+msgstr "Odstránenie balíčka %s"
+
+#: ../yum/depsolve.py:333
+#, python-format
+msgid "%s requires: %s"
+msgstr "%s vyžaduje: %s"
+
+#: ../yum/depsolve.py:374
+#, python-format
+msgid "%s requires %s"
+msgstr "%s vyžaduje %s"
+
+#: ../yum/depsolve.py:401
+msgid "Needed Require has already been looked up, cheating"
+msgstr "Potrebné Require už bolo vyhľadané, švindľuje sa"
+
+#: ../yum/depsolve.py:411
+#, python-format
+msgid "Needed Require is not a package name. Looking up: %s"
+msgstr "Potrebné Require nie je meno balíčka. Hľadanie: %s"
+
+#: ../yum/depsolve.py:419
+#, python-format
+msgid "Potential Provider: %s"
+msgstr "Možný poskytovateľ: %s"
+
+#: ../yum/depsolve.py:442
+#, python-format
+msgid "Mode is %s for provider of %s: %s"
+msgstr "Režim %s pre poskytovateľa %s: %s"
+
+#: ../yum/depsolve.py:446
+#, python-format
+msgid "Mode for pkg providing %s: %s"
+msgstr "Režim pre bal. poskytujúci %s: %s"
+
+#. the thing it needs is being updated or obsoleted away
+#. try to update the requiring package in hopes that all this problem goes
+#. away :(
+#: ../yum/depsolve.py:451 ../yum/depsolve.py:486
+#, python-format
+msgid "Trying to update %s to resolve dep"
+msgstr "Pre vyriešenie závislostí sa skúša aktualizácia %s"
+
+#: ../yum/depsolve.py:480
+#, python-format
+msgid "No update paths found for %s. Failure!"
+msgstr "Nie je cesta pre aktualizáciu %s. Zlyhanie!"
+
+#: ../yum/depsolve.py:491
+#, python-format
+msgid "No update paths found for %s. Failure due to requirement: %s!"
+msgstr ""
+
+#: ../yum/depsolve.py:507
+#, python-format
+msgid "Update for %s. Doesn't fix requirement: %s!"
+msgstr ""
+
+#: ../yum/depsolve.py:514
+#, python-format
+msgid "TSINFO: %s package requiring %s marked as erase"
+msgstr "TSINFO: balíček %s požaduje %s, ktorý je označený pre zmazanie"
+
+#: ../yum/depsolve.py:527
+#, python-format
+msgid "TSINFO: Obsoleting %s with %s to resolve dep."
+msgstr "TSINFO: Balíček %s je označený ako zastaralý balíčkom %s pre vyriešenie závislostí."
+
+#: ../yum/depsolve.py:530
+#, python-format
+msgid "TSINFO: Updating %s to resolve dep."
+msgstr "TSINFO: Aktualizácia %s pre vyriešenie závislostí."
+
+#: ../yum/depsolve.py:538
+#, python-format
+msgid "Cannot find an update path for dep for: %s"
+msgstr "Nie je možné nájsť cestu aktualizácie pre závislosť pre: %s"
+
+#: ../yum/depsolve.py:569
+#, python-format
+msgid "Quick matched %s to require for %s"
+msgstr "Rýchla zhoda %s vyžadovaná pre %s"
+
+#. is it already installed?
+#: ../yum/depsolve.py:611
+#, python-format
+msgid "%s is in providing packages but it is already installed, removing."
+msgstr "%s je v poskytujúcich balíčkoch, ale je už nainštalovaný, odstraňuje sa."
+
+#: ../yum/depsolve.py:627
+#, python-format
+msgid "Potential resolving package %s has newer instance in ts."
+msgstr "Balíček %s, ktorý môže byť riešením, má v transakcii novšiu verziu."
+
+#: ../yum/depsolve.py:638
+#, python-format
+msgid "Potential resolving package %s has newer instance installed."
+msgstr "Balíček %s, ktorý môže byť riešením, je nainštalovaný v novšej verzii."
+
+#: ../yum/depsolve.py:656
+#, python-format
+msgid "%s already in ts, skipping this one"
+msgstr "%s je už v transakcii, preskočí sa"
+
+#: ../yum/depsolve.py:705
+#, python-format
+msgid "TSINFO: Marking %s as update for %s"
+msgstr "TSINFO: Označenie %s ako aktualizácia pre %s"
+
+#: ../yum/depsolve.py:714
+#, python-format
+msgid "TSINFO: Marking %s as install for %s"
+msgstr "TSINFO: Označenie %s ako inštalácia pre %s"
+
+#: ../yum/depsolve.py:849 ../yum/depsolve.py:967
+msgid "Success - empty transaction"
+msgstr "Úspech - prázdna transakcia"
+
+#: ../yum/depsolve.py:889 ../yum/depsolve.py:927
+msgid "Restarting Loop"
+msgstr "Reštartovanie slučky"
+
+#: ../yum/depsolve.py:947
+msgid "Dependency Process ending"
+msgstr "Proces spracovania závislostí skončil"
+
+#: ../yum/depsolve.py:969
+msgid "Success - deps resolved"
+msgstr "Úspech - závislosti vyriešené"
+
+#: ../yum/depsolve.py:993
+#, python-format
+msgid "Checking deps for %s"
+msgstr "Kontrola závislostí pre %s"
+
+#: ../yum/depsolve.py:1082
+#, python-format
+msgid "looking for %s as a requirement of %s"
+msgstr "hľadá sa %s ako požiadavka pre %s"
+
+#: ../yum/depsolve.py:1349
+#, python-format
+msgid "Running compare_providers() for %s"
+msgstr "Spustené compare_providers() pre %s"
+
+#: ../yum/depsolve.py:1376 ../yum/depsolve.py:1382
+#, python-format
+msgid "better arch in po %s"
+msgstr "lepšia architektúra v po %s"
+
+#: ../yum/depsolve.py:1496
+#, python-format
+msgid "%s obsoletes %s"
+msgstr "%s zastaráva %s"
+
+#: ../yum/depsolve.py:1508
+#, python-format
+msgid ""
+"archdist compared %s to %s on %s\n"
+"  Winner: %s"
+msgstr "archdist porovnal %s voči %s na %s\n  Víťaz: %s"
+
+#: ../yum/depsolve.py:1516
+#, python-format
+msgid "common sourcerpm %s and %s"
+msgstr "spoločné zdrojové rpm %s a %s"
+
+#: ../yum/depsolve.py:1520
+#, python-format
+msgid "base package %s is installed for %s"
+msgstr "základný balíček %s je nainštalovaný pre %s"
+
+#: ../yum/depsolve.py:1526
+#, python-format
+msgid "common prefix of %s between %s and %s"
+msgstr "spoločný prefix %s medzi %s a %s"
+
+#: ../yum/depsolve.py:1543
+#, python-format
+msgid "provides vercmp: %s"
+msgstr "poskytuje vercmp: %s"
+
+#: ../yum/depsolve.py:1547 ../yum/depsolve.py:1581
+#, python-format
+msgid " Winner: %s"
+msgstr " Víťaz:  %s"
+
+#: ../yum/depsolve.py:1577
+#, python-format
+msgid "requires minimal: %d"
+msgstr "vyžaduje minimálne: %d"
+
+#: ../yum/depsolve.py:1586
+#, python-format
+msgid " Loser(with %d): %s"
+msgstr " Porazený (%d): %s"
+
+#: ../yum/depsolve.py:1602
+#, python-format
+msgid "Best Order: %s"
+msgstr "Najlepšie poradie: %s"
+
+#: ../yum/__init__.py:274
+msgid "doConfigSetup() will go away in a future version of Yum.\n"
+msgstr "doConfigSetup() bude odstránený v najbližšej verzii Yumu.\n"
+
+#: ../yum/__init__.py:553
+#, python-format
+msgid "Skipping unreadable repository %s"
+msgstr ""
+
+#: ../yum/__init__.py:572
+#, python-format
+msgid "Repository %r: Error parsing config: %s"
+msgstr "Repozitár %r: Chyba pri parsovaní konfigurácie: %s"
+
+#: ../yum/__init__.py:578
+#, python-format
+msgid "Repository %r is missing name in configuration, using id"
+msgstr "Repozitáru %r chýba v konfigurácii meno, použité id"
+
+#: ../yum/__init__.py:618
+msgid "plugins already initialised"
+msgstr "zásuvné moduly už sú inicializované"
+
+#: ../yum/__init__.py:627
+msgid "doRpmDBSetup() will go away in a future version of Yum.\n"
+msgstr "doRpmDBSetup() bude odstránený v najbližšej verzii Yumu.\n"
+
+#: ../yum/__init__.py:638
+msgid "Reading Local RPMDB"
+msgstr "Načítanie miestnej RPMDB"
+
+#: ../yum/__init__.py:668
+msgid "doRepoSetup() will go away in a future version of Yum.\n"
+msgstr "doRepoSetup() bude odstránený v najbližšej verzii Yumu.\n"
+
+#: ../yum/__init__.py:722
+msgid "doSackSetup() will go away in a future version of Yum.\n"
+msgstr "doSackSetup() bude odstránený v najbližšej verzii Yumu.\n"
+
+#: ../yum/__init__.py:752
+msgid "Setting up Package Sacks"
+msgstr "Príprava súhrnu balíčkov"
+
+#: ../yum/__init__.py:797
+#, python-format
+msgid "repo object for repo %s lacks a _resetSack method\n"
+msgstr "repo objektu pre repozitár %s chýba metóda _resetSack\n"
+
+#: ../yum/__init__.py:798
+msgid "therefore this repo cannot be reset.\n"
+msgstr "preto nemôže byť tento repozitár resetovaný.\n"
+
+#: ../yum/__init__.py:806
+msgid "doUpdateSetup() will go away in a future version of Yum.\n"
+msgstr "doUpdateSetup() bude odstránený v najbližšej verzii Yumu.\n"
+
+#: ../yum/__init__.py:818
+msgid "Building updates object"
+msgstr "Zostavovanie objektov aktualizácií"
+
+#: ../yum/__init__.py:862
+msgid "doGroupSetup() will go away in a future version of Yum.\n"
+msgstr "doGroupSetup() bude odstránený v najbližšej verzii Yumu.\n"
+
+#: ../yum/__init__.py:887
+msgid "Getting group metadata"
+msgstr "Získavenie metedát skupín"
+
+#: ../yum/__init__.py:915
+#, python-format
+msgid "Adding group file from repository: %s"
+msgstr "Pridávanie súboru zo skupinou pre repozitár: %s"
+
+#: ../yum/__init__.py:918
+#, python-format
+msgid "Failed to retrieve group file for repository: %s"
+msgstr ""
+
+#: ../yum/__init__.py:924
+#, python-format
+msgid "Failed to add groups file for repository: %s - %s"
+msgstr "Zlyhalo pridanie súboru so skupinou pre repozitár: %s - %s"
+
+#: ../yum/__init__.py:930
+msgid "No Groups Available in any repository"
+msgstr "V žiadnom repozitáre nie sú dostupné skupiny"
+
+#: ../yum/__init__.py:945
+msgid "Getting pkgtags metadata"
+msgstr "Získavanie metadát pkgtags"
+
+#: ../yum/__init__.py:955
+#, python-format
+msgid "Adding tags from repository: %s"
+msgstr "Pridávanie značiek z repozitára: %s"
+
+#: ../yum/__init__.py:966
+#, python-format
+msgid "Failed to add Pkg Tags for repository: %s - %s"
+msgstr "Zlyhalo pridanie Pkg značiek pre repozitár: %s - %s"
+
+#: ../yum/__init__.py:1059
+msgid "Importing additional filelist information"
+msgstr "Importovanie informácií z dodatočných zoznamov súborov"
+
+#: ../yum/__init__.py:1077
+#, python-format
+msgid "The program %s%s%s is found in the yum-utils package."
+msgstr "Program %s%s%s bol nájdený v balíčku yum-utils."
+
+#: ../yum/__init__.py:1094
+msgid ""
+"There are unfinished transactions remaining. You might consider running yum-"
+"complete-transaction first to finish them."
+msgstr "Existujú nedokončené transakcie. Pre ich dokončenie radšej najprv spustite príkaz yum-complete-transaction."
+
+#: ../yum/__init__.py:1111
+msgid "--> Finding unneeded leftover dependencies"
+msgstr "--> Hľadanie nepotrebných závislostí"
+
+#: ../yum/__init__.py:1169
+#, python-format
+msgid "Protected multilib versions: %s != %s"
+msgstr "Chránené verzie multilib-u: %s != %s"
+
+#. People are confused about protected mutilib ... so give
+#. them a nicer message.
+#: ../yum/__init__.py:1173
+#, python-format
+msgid ""
+" Multilib version problems found. This often means that the root\n"
+"cause is something else and multilib version checking is just\n"
+"pointing out that there is a problem. Eg.:\n"
+"\n"
+"  1. You have an upgrade for %(name)s which is missing some\n"
+"     dependency that another package requires. Yum is trying to\n"
+"     solve this by installing an older version of %(name)s of the\n"
+"     different architecture. If you exclude the bad architecture\n"
+"     yum will tell you what the root cause is (which package\n"
+"     requires what). You can try redoing the upgrade with\n"
+"     --exclude %(name)s.otherarch ... this should give you an error\n"
+"     message showing the root cause of the problem.\n"
+"\n"
+"  2. You have multiple architectures of %(name)s installed, but\n"
+"     yum can only see an upgrade for one of those arcitectures.\n"
+"     If you don't want/need both architectures anymore then you\n"
+"     can remove the one with the missing update and everything\n"
+"     will work.\n"
+"\n"
+"  3. You have duplicate versions of %(name)s installed already.\n"
+"     You can use \"yum check\" to get yum show these errors.\n"
+"\n"
+"...you can also use --setopt=protected_multilib=false to remove\n"
+"this checking, however this is almost never the correct thing to\n"
+"do as something else is very likely to go wrong (often causing\n"
+"much more problems).\n"
+"\n"
+msgstr ""
+
+#: ../yum/__init__.py:1257
+#, python-format
+msgid "Trying to remove \"%s\", which is protected"
+msgstr "Pokus o odstránenie \"%s\", ktorý je chránený"
+
+#: ../yum/__init__.py:1378
+msgid ""
+"\n"
+"Packages skipped because of dependency problems:"
+msgstr "\nBalíčky preskočené kvôli problémom so závislosťami:"
+
+#: ../yum/__init__.py:1382
+#, python-format
+msgid "    %s from %s"
+msgstr "    %s z %s"
+
+#. FIXME: _N()
+#: ../yum/__init__.py:1556
+#, python-format
+msgid "** Found %d pre-existing rpmdb problem(s), 'yum check' output follows:"
+msgstr "** Nájdené %d existujúce problémy v rpmdb, nasleduje výstup \"yum check\":"
+
+#: ../yum/__init__.py:1560
+msgid "Warning: RPMDB altered outside of yum."
+msgstr "Varovanie: RPMDB bola zmenená mimo yum."
+
+#: ../yum/__init__.py:1572
+msgid "missing requires"
+msgstr "chýbajúce requires"
+
+#: ../yum/__init__.py:1573
+msgid "installed conflict"
+msgstr "inštalačný konflikt"
+
+#: ../yum/__init__.py:1709
+msgid ""
+"Warning: scriptlet or other non-fatal errors occurred during transaction."
+msgstr "Varovanie: Počas transakcie sa vyskytla chyba skriptletu alebo iná fatálna chyba."
+
+#: ../yum/__init__.py:1719
+msgid "Transaction couldn't start:"
+msgstr "Transakcia nemôže začať:"
+
+#. should this be 'to_unicoded'?
+#: ../yum/__init__.py:1722
+msgid "Could not run transaction."
+msgstr "Nie je možné spustiť transakciu."
+
+#: ../yum/__init__.py:1736
+#, python-format
+msgid "Failed to remove transaction file %s"
+msgstr "Zlyhalo odstránenie transakčného súboru %s"
+
+#. maybe a file log here, too
+#. but raising an exception is not going to do any good
+#: ../yum/__init__.py:1792
+#, python-format
+msgid "%s was supposed to be installed but is not!"
+msgstr "%s by mal byť nainštalovaný, ale nie je!"
+
+#. maybe a file log here, too
+#. but raising an exception is not going to do any good
+#. Note: This actually triggers atm. because we can't
+#. always find the erased txmbr to set it when
+#. we should.
+#: ../yum/__init__.py:1869
+#, python-format
+msgid "%s was supposed to be removed but is not!"
+msgstr "%s by mal byť odstránený, ale nie je!"
+
+#. Another copy seems to be running.
+#: ../yum/__init__.py:2004
+#, python-format
+msgid "Existing lock %s: another copy is running as pid %s."
+msgstr "Existujúci zámok %s: je spustená iná kópia s pid %s."
+
+#. Whoa. What the heck happened?
+#: ../yum/__init__.py:2053
+#, python-format
+msgid "Could not create lock at %s: %s "
+msgstr "Nie je možné vytvoriť zámok na %s: %s"
+
+#: ../yum/__init__.py:2065
+#, python-format
+msgid "Could not open lock %s: %s"
+msgstr "Nie je možné otvoriť zámok %s: %s"
+
+#. The pid doesn't exist
+#. Whoa. What the heck happened?
+#: ../yum/__init__.py:2082
+#, python-format
+msgid "Unable to check if PID %s is active"
+msgstr "Nie je možné skontrolovať, či je PID %s aktívny"
+
+#: ../yum/__init__.py:2132
+#, python-format
+msgid ""
+"Package does not match intended download. Suggestion: run yum "
+"--enablerepo=%s clean metadata"
+msgstr "Balíček nezodpovedá plánovanému stiahnutiu. Odporúčanie: spustite príkaz yum --enablerepo=%s clean metadata"
+
+#: ../yum/__init__.py:2155
+msgid "Could not perform checksum"
+msgstr "Nie je možné skontrolovať kontrolný súčet"
+
+#: ../yum/__init__.py:2158
+msgid "Package does not match checksum"
+msgstr "Kontrolný súčet balíčka nesúhlasí"
+
+#: ../yum/__init__.py:2222
+#, python-format
+msgid "package fails checksum but caching is enabled for %s"
+msgstr "kontrolný súčet balíčka nesúhlasí, ale pre %s je povolená dočasná pamäť"
+
+#: ../yum/__init__.py:2225 ../yum/__init__.py:2268
+#, python-format
+msgid "using local copy of %s"
+msgstr "použitie miestnej kópie %s"
+
+#. caller handles errors
+#: ../yum/__init__.py:2342
+msgid "exiting because --downloadonly specified"
+msgstr ""
+
+#: ../yum/__init__.py:2371
+msgid "Header is not complete."
+msgstr "Hlavička nie je kompletná."
+
+#: ../yum/__init__.py:2411
+#, python-format
+msgid ""
+"Header not in local cache and caching-only mode enabled. Cannot download %s"
+msgstr "Hlavička nie je v miestnej dočasnej pamäti, ale nič iného sa nedá použiť. Nie je možné stiahnuť %s"
+
+#: ../yum/__init__.py:2471
+#, python-format
+msgid "Public key for %s is not installed"
+msgstr "Verejný kľúč pre %s nie je nainštalovaný"
+
+#: ../yum/__init__.py:2475
+#, python-format
+msgid "Problem opening package %s"
+msgstr "Problém s otvorením balíčka %s"
+
+#: ../yum/__init__.py:2483
+#, python-format
+msgid "Public key for %s is not trusted"
+msgstr "Verejný kľúč %s nie je dôveryhodný"
+
+#: ../yum/__init__.py:2487
+#, python-format
+msgid "Package %s is not signed"
+msgstr "Balíček %s nie je podpísaný"
+
+#: ../yum/__init__.py:2529
+#, python-format
+msgid "Cannot remove %s"
+msgstr "Nie je možné odstrániť %s"
+
+#: ../yum/__init__.py:2533
+#, python-format
+msgid "%s removed"
+msgstr "%s odstránený"
+
+#: ../yum/__init__.py:2594
+#, python-format
+msgid "Cannot remove %s file %s"
+msgstr "Nie je možné odstrániť %s súbor %s"
+
+#: ../yum/__init__.py:2598
+#, python-format
+msgid "%s file %s removed"
+msgstr "%s súbor %s odstránený"
+
+#: ../yum/__init__.py:2600
+#, python-format
+msgid "%d %s file removed"
+msgid_plural "%d %s files removed"
+msgstr[0] "%d %s súborov odstránených"
+msgstr[1] "%d %s súbor odstránený"
+msgstr[2] "%d %s súbory odstránené"
+
+#: ../yum/__init__.py:2712
+#, python-format
+msgid "More than one identical match in sack for %s"
+msgstr "Viac než jedna identická zhoda v súhrne pre %s"
+
+#: ../yum/__init__.py:2718
+#, python-format
+msgid "Nothing matches %s.%s %s:%s-%s from update"
+msgstr "Z aktualizácie sa nič nezhoduje s %s.%s %s:%s-%s"
+
+#: ../yum/__init__.py:3096
+msgid ""
+"searchPackages() will go away in a future version of Yum."
+"                      Use searchGenerator() instead. \n"
+msgstr "searchPackages() bude odstránený v najbližšej verzii Yumu.                      Používajte namiesto neho searchGenerator(). \n"
+
+#: ../yum/__init__.py:3149
+#, python-format
+msgid "Searching %d package"
+msgid_plural "Searching %d packages"
+msgstr[0] "Hľadá sa %d balíčkov"
+msgstr[1] "Hľadá sa %d balíček"
+msgstr[2] "Hľadajú sa %d balíčky"
+
+#: ../yum/__init__.py:3153
+#, python-format
+msgid "searching package %s"
+msgstr "vyhľadávanie balíčka %s"
+
+#: ../yum/__init__.py:3165
+msgid "searching in file entries"
+msgstr "vyhľadávanie v názvoch súborov"
+
+#: ../yum/__init__.py:3172
+msgid "searching in provides entries"
+msgstr "vyhľadávanie v položkách poskytuje"
+
+#: ../yum/__init__.py:3369
+msgid "No group data available for configured repositories"
+msgstr "Pre aktívne repozitáre nie sú k dispozícii žiadne dáta o skupinách"
+
+#: ../yum/__init__.py:3466 ../yum/__init__.py:3500 ../yum/__init__.py:3576
+#: ../yum/__init__.py:3582 ../yum/__init__.py:3719 ../yum/__init__.py:3723
+#: ../yum/__init__.py:4298
+#, python-format
+msgid "No Group named %s exists"
+msgstr "Skupina s názvom %s neexistuje"
+
+#: ../yum/__init__.py:3512 ../yum/__init__.py:3740
+#, python-format
+msgid "package %s was not marked in group %s"
+msgstr "balíček %s nebol označený v skupine %s"
+
+#. (upgrade and igroup_data[pkg] == 'available')):
+#: ../yum/__init__.py:3622
+#, python-format
+msgid "Skipping package %s from group %s"
+msgstr "Preskakuje sa balíček %s zo skupiny %s"
+
+#: ../yum/__init__.py:3628
+#, python-format
+msgid "Adding package %s from group %s"
+msgstr "Pridanie balíčka %s zo skupiny %s"
+
+#: ../yum/__init__.py:3649
+#, python-format
+msgid "No package named %s available to be installed"
+msgstr "Pre inštaláciu nie je k dispozícii žiadny balíček s názvom %s"
+
+#: ../yum/__init__.py:3702
+#, python-format
+msgid "Warning: Group %s does not have any packages to install."
+msgstr ""
+
+#: ../yum/__init__.py:3704
+#, python-format
+msgid "Group %s does have %u conditional packages, which may get installed."
+msgstr "Skupina %s má %u voliteľných balíčkov, ktoré môžu byť nainštalované."
+
+#: ../yum/__init__.py:3794
+#, python-format
+msgid "Skipping group %s from environment %s"
+msgstr ""
+
+#. This can happen due to excludes after .up has
+#. happened.
+#: ../yum/__init__.py:3858
+#, python-format
+msgid "Package tuple %s could not be found in packagesack"
+msgstr "Položka balíčka %s nebola nájdená v súhrne balíčkov"
+
+#: ../yum/__init__.py:3886
+#, python-format
+msgid "Package tuple %s could not be found in rpmdb"
+msgstr "Položka balíčka %s nebola nájdená v rpmdb"
+
+#: ../yum/__init__.py:3949 ../yum/__init__.py:4012
+#, python-format
+msgid "Invalid version flag from: %s"
+msgstr "Neplatný príznak verzie z: %s"
+
+#: ../yum/__init__.py:3973 ../yum/__init__.py:3979 ../yum/__init__.py:4036
+#: ../yum/__init__.py:4042
+#, python-format
+msgid "No Package found for %s"
+msgstr "Pre %s nebol nájdený žiadny balíček"
+
+#: ../yum/__init__.py:4245 ../yum/__init__.py:4274
+#, python-format
+msgid "Warning: Environment Group %s does not exist."
+msgstr ""
+
+#: ../yum/__init__.py:4397
+#, python-format
+msgid "Package: %s - can't co-install with %s"
+msgstr ""
+
+#: ../yum/__init__.py:4437
+msgid "Package Object was not a package object instance"
+msgstr "Objekt balíčka nebol inštanciou balíčkového objektu"
+
+#: ../yum/__init__.py:4441
+msgid "Nothing specified to install"
+msgstr "Nebolo nič určené pre inštaláciu"
+
+#: ../yum/__init__.py:4465 ../yum/__init__.py:5410
+#, python-format
+msgid "Checking for virtual provide or file-provide for %s"
+msgstr "Kontrola pre virtual provide alebo file-provide pre %s"
+
+#: ../yum/__init__.py:4542
+#, python-format
+msgid "Package %s installed and not available"
+msgstr "Balíček %s je nainštalovaný, ale nie je dostupný"
+
+#: ../yum/__init__.py:4545
+msgid "No package(s) available to install"
+msgstr "Nie sú dostupné žiadne balíčky pre inštaláciu"
+
+#: ../yum/__init__.py:4557
+#, python-format
+msgid "Package: %s  - already in transaction set"
+msgstr "Balíček: %s - už je v transakčnej sade"
+
+#: ../yum/__init__.py:4589
+#, python-format
+msgid "Package %s is obsoleted by %s which is already installed"
+msgstr "Balíček %s je označený ako zastaralý balíčkom %s, ktorý je už nainštalovaný"
+
+#: ../yum/__init__.py:4594
+#, python-format
+msgid ""
+"Package %s is obsoleted by %s, but obsoleting package does not provide for "
+"requirements"
+msgstr "Balíček %s je označený ako zastaralý balíčkom %s, ale nie je poskytnutý pre vyriešenie závislostí"
+
+#: ../yum/__init__.py:4597
+#, python-format
+msgid "Package %s is obsoleted by %s, trying to install %s instead"
+msgstr "Balíček %s je označený ako zastaralý balíčkom %s, skúsi sa namiesto neho nainštalovať %s"
+
+#: ../yum/__init__.py:4605
+#, python-format
+msgid "Package %s already installed and latest version"
+msgstr "Balíček %s je už nainštalovaný a je v poslednej verzii"
+
+#: ../yum/__init__.py:4619
+#, python-format
+msgid "Package matching %s already installed. Checking for update."
+msgstr "Balíček zodpovedajúci %s je už nainštalovaný. Kontroluje sa pre aktualizáciu."
+
+#. update everything (the easy case)
+#: ../yum/__init__.py:4751
+msgid "Updating Everything"
+msgstr "Aktualizácia všetkého"
+
+#: ../yum/__init__.py:4775 ../yum/__init__.py:4930 ../yum/__init__.py:4975
+#: ../yum/__init__.py:5011
+#, python-format
+msgid "Not Updating Package that is already obsoleted: %s.%s %s:%s-%s"
+msgstr "Neaktualizuje sa balíček, ktorý je už zastaralý: %s.%s %s:%s-%s"
+
+#: ../yum/__init__.py:4830 ../yum/__init__.py:5072
+#, python-format
+msgid "%s"
+msgstr "%s"
+
+#: ../yum/__init__.py:4854 ../yum/__init__.py:5080 ../yum/__init__.py:5416
+#, python-format
+msgid "No Match for argument: %s"
+msgstr "Pre argument nebola nájdená zhoda: %s"
+
+#: ../yum/__init__.py:4872
+#, python-format
+msgid "No package matched to upgrade: %s"
+msgstr "Žiadny balíček sa nezhoduje na upgrade: %s"
+
+#: ../yum/__init__.py:4919
+#, python-format
+msgid "Package is already obsoleted: %s.%s %s:%s-%s"
+msgstr "Balíček je už zastaralý: %s.%s %s:%s-%s"
+
+#: ../yum/__init__.py:4970
+#, python-format
+msgid "Not Updating Package that is obsoleted: %s"
+msgstr "Neaktualizuje sa balíček, ktorý je zastaralý: %s"
+
+#: ../yum/__init__.py:4979 ../yum/__init__.py:5015
+#, python-format
+msgid "Not Updating Package that is already updated: %s.%s %s:%s-%s"
+msgstr "Neaktualizuje sa balíček, ktorý je už aktuálny: %s.%s %s:%s-%s"
+
+#: ../yum/__init__.py:5093
+#, python-format
+msgid "No package matched to remove: %s"
+msgstr "Žiadny balíček sa nezhoduje na zmazanie: %s"
+
+#: ../yum/__init__.py:5099
+#, python-format
+msgid "Skipping the running kernel: %s"
+msgstr "Preskakuje sa aktuálne používané jadro: %s"
+
+#: ../yum/__init__.py:5105
+#, python-format
+msgid "Removing %s from the transaction"
+msgstr "Odstránenie %s z transakcie"
+
+#: ../yum/__init__.py:5142
+#, python-format
+msgid "Cannot open: %s. Skipping."
+msgstr "Nie je možné otvoriť: %s. Preskočí sa."
+
+#: ../yum/__init__.py:5145 ../yum/__init__.py:5262 ../yum/__init__.py:5347
+#, python-format
+msgid "Examining %s: %s"
+msgstr "Skúmanie %s: %s"
+
+#: ../yum/__init__.py:5149
+#, python-format
+msgid "Cannot localinstall deltarpm: %s. Skipping."
+msgstr "Nije je možné lokálne nainštalovať deltarpm: %s. Preskočí sa."
+
+#: ../yum/__init__.py:5158 ../yum/__init__.py:5265 ../yum/__init__.py:5350
+#, python-format
+msgid ""
+"Cannot add package %s to transaction. Not a compatible architecture: %s"
+msgstr "Do transakcie nie je možné pridať balíček %s. Nekompatibilná architektúra: %s"
+
+#: ../yum/__init__.py:5164
+#, python-format
+msgid "Cannot install package %s. It is obsoleted by installed package %s"
+msgstr "Nie je možné nainštalovať balíček %s. Je zastaralý nainštalovaným balíčkom %s"
+
+#: ../yum/__init__.py:5172
+#, python-format
+msgid ""
+"Package %s not installed, cannot update it. Run yum install to install it "
+"instead."
+msgstr "Balíček %s nie je nainštalovaný, nie je možné ho aktualizovať. Nainštalujte ho príkazom yum install."
+
+#: ../yum/__init__.py:5191 ../yum/__init__.py:5198
+#, python-format
+msgid ""
+"Package %s.%s not installed, cannot update it. Run yum install to install it"
+" instead."
+msgstr "Balíček %s.%s nie je nainštalovaný, nie je možné ho aktualizovať. Nainštalujte ho príkazom yum install."
+
+#: ../yum/__init__.py:5207 ../yum/__init__.py:5270 ../yum/__init__.py:5355
+#, python-format
+msgid "Excluding %s"
+msgstr "Vynechanie %s"
+
+#: ../yum/__init__.py:5212
+#, python-format
+msgid "Marking %s to be installed"
+msgstr "Označenie %s pre inštaláciu"
+
+#: ../yum/__init__.py:5218
+#, python-format
+msgid "Marking %s as an update to %s"
+msgstr "Označenie %s ako aktualizácia %s"
+
+#: ../yum/__init__.py:5225
+#, python-format
+msgid "%s: does not update installed package."
+msgstr "%s: nie je aktualizáciou nainštalovaného balíčka."
+
+#: ../yum/__init__.py:5259 ../yum/__init__.py:5344
+#, python-format
+msgid "Cannot open file: %s. Skipping."
+msgstr "Nie je možné otvoriť súbor: %s. Preskočí sa."
+
+#: ../yum/__init__.py:5299
+msgid "Problem in reinstall: no package matched to remove"
+msgstr "Problém pri preinštalovaní: žiadny balíček nie je zhodným pre odstránenie"
+
+#: ../yum/__init__.py:5325
+#, python-format
+msgid "Problem in reinstall: no package %s matched to install"
+msgstr "Problém pri preinštalovaní: žiadny zhodný balíček %s pre inštaláciu"
+
+#: ../yum/__init__.py:5438
+msgid "No package(s) available to downgrade"
+msgstr "Žiadny balíček dostupný pre downgrade"
+
+#: ../yum/__init__.py:5446
+#, python-format
+msgid "Package %s is allowed multiple installs, skipping"
+msgstr "Balíček %s má dovolené viacero inštalácií, preskočí sa"
+
+#: ../yum/__init__.py:5496
+#, python-format
+msgid "No Match for available package: %s"
+msgstr "Neexistuje zhoda pre dostupný balíček: %s"
+
+#: ../yum/__init__.py:5506
+#, python-format
+msgid "Only Upgrade available on package: %s"
+msgstr "Pre balíček je dostupná len aktualizácia: %s"
+
+#: ../yum/__init__.py:5619 ../yum/__init__.py:5686
+#, python-format
+msgid "Failed to downgrade: %s"
+msgstr "Downgrade zlyhal: %s"
+
+#: ../yum/__init__.py:5636 ../yum/__init__.py:5692
+#, python-format
+msgid "Failed to upgrade: %s"
+msgstr "Upgrade zlyhal: %s"
+
+#: ../yum/__init__.py:5725
+#, python-format
+msgid "Retrieving key from %s"
+msgstr "Získavanie kľúča z %s"
+
+#: ../yum/__init__.py:5743
+msgid "GPG key retrieval failed: "
+msgstr "Získanie GPG kľúča zlyhalo:"
+
+#. if we decide we want to check, even though the sig failed
+#. here is where we would do that
+#: ../yum/__init__.py:5766
+#, python-format
+msgid "GPG key signature on key %s does not match CA Key for repo: %s"
+msgstr "GPG podpis kľúčom %s nezodpovedá kľúči CA pre repozitár: %s"
+
+#: ../yum/__init__.py:5768
+msgid "GPG key signature verified against CA Key(s)"
+msgstr "GPG podpis bol overený oproti CA kľúču (kľúčom)"
+
+#: ../yum/__init__.py:5776
+#, python-format
+msgid "Invalid GPG Key from %s: %s"
+msgstr "Neplatný GPG kľúč z %s: %s"
+
+#: ../yum/__init__.py:5785
+#, python-format
+msgid "GPG key parsing failed: key does not have value %s"
+msgstr "Parsovanie GPG kľúča zlyhalo: kľúč nemá žiadnu hodnotu %s"
+
+#: ../yum/__init__.py:5801
+#, python-format
+msgid ""
+"Importing %s key 0x%s:\n"
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" Package    : %s (%s)\n"
+" From       : %s"
+msgstr "Importuje sa %s kľúč 0x%s:\n Používateľské ID     : \"%s\"\n Odtlačok: %s\n Balíček    : %s (%s)\n Od       : %s"
+
+#: ../yum/__init__.py:5811
+#, python-format
+msgid ""
+"Importing %s key 0x%s:\n"
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" From       : %s"
+msgstr "Importuje sa %s kľúč 0x%s:\n Používateľské ID     : \"%s\"\n Odtlačok: %s\n Od       : %s"
+
+#: ../yum/__init__.py:5839
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" Failing package is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr "\n\n\n Zlyhaný balíček: %s\n GPG kľúče sú nastavené ako: %s\n"
+
+#: ../yum/__init__.py:5853
+#, python-format
+msgid "GPG key at %s (0x%s) is already installed"
+msgstr "GPG kľúč %s (0x%s) je už nainštalovaný"
+
+#: ../yum/__init__.py:5891
+#, python-format
+msgid "Key import failed (code %d)"
+msgstr "Import kľúča zlyhal (kód %d)"
+
+#: ../yum/__init__.py:5893 ../yum/__init__.py:5994
+msgid "Key imported successfully"
+msgstr "Import kľúča prebehol úspešne"
+
+#: ../yum/__init__.py:5897
+msgid "Didn't install any keys"
+msgstr "Neboli nainštalované žiadne kľúče"
+
+#: ../yum/__init__.py:5900
+#, python-format
+msgid ""
+"The GPG keys listed for the \"%s\" repository are already installed but they are not correct for this package.\n"
+"Check that the correct key URLs are configured for this repository."
+msgstr "GPG kľúče určené pre repozitár „%s“ sú už nainštalované, avšak pre tento balíček nie sú správne.\nSkontrolujte, či URL kľúčov sú pre tento repozitáe správne nastavené."
+
+#: ../yum/__init__.py:5910
+msgid "Import of key(s) didn't help, wrong key(s)?"
+msgstr "Import kľúča(ov) nepomohol, chybný(é) kľúč(e)?"
+
+#: ../yum/__init__.py:5932
+msgid "No"
+msgstr "Nie"
+
+#: ../yum/__init__.py:5934
+msgid "Yes"
+msgstr "Áno"
+
+#: ../yum/__init__.py:5935
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" CA Key: %s\n"
+" Failing repo is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr "\n\n\n CA kľúč: %s\n Zlyhaný repozitár: %s\n GPG kľúče sú nastavené ako: %s\n"
+
+#: ../yum/__init__.py:5948
+#, python-format
+msgid "GPG key at %s (0x%s) is already imported"
+msgstr "GPG kľúč %s (0x%s) je už importovaný"
+
+#: ../yum/__init__.py:5992
+#, python-format
+msgid "Key %s import failed"
+msgstr "Importovanie kľúča %s zlyhalo"
+
+#: ../yum/__init__.py:6009
+#, python-format
+msgid "Didn't install any keys for repo %s"
+msgstr "Neboli nainštalované žiadne kľúče pre repozitár %s"
+
+#: ../yum/__init__.py:6014
+#, python-format
+msgid ""
+"The GPG keys listed for the \"%s\" repository are already installed but they are not correct.\n"
+"Check that the correct key URLs are configured for this repository."
+msgstr "GPG kľúče pre repozitár \"%s\" sú už nainštalované, ale nie sú správne.\nSkontrolujte, či je pre repozitár správne nastavené URL kľúča."
+
+#: ../yum/__init__.py:6172
+msgid "Unable to find a suitable mirror."
+msgstr "Nie je možné nájsť vhodné zrkadlo."
+
+#: ../yum/__init__.py:6174
+msgid "Errors were encountered while downloading packages."
+msgstr "Pri sťahovaní balíčkov sa vyskytla chyba."
+
+#: ../yum/__init__.py:6229
+#, python-format
+msgid "Please report this error at %s"
+msgstr "Oznámte túto chybu na %s"
+
+#: ../yum/__init__.py:6246
+msgid "Test Transaction Errors: "
+msgstr "Chyby testu transakcie:"
+
+#: ../yum/__init__.py:6358
+#, python-format
+msgid "Could not set cachedir: %s"
+msgstr "Nie je možné nastaviť priečinok pre dočasnú pamäť: %s"
+
+#: ../yum/__init__.py:6420 ../yum/__init__.py:6422
+msgid "Dependencies not solved. Will not save unresolved transaction."
+msgstr "Závislosti neboli vyriešené. Nevyriešená transakcia nebude uložená."
+
+#: ../yum/__init__.py:6455 ../yum/__init__.py:6457
+#, python-format
+msgid "Could not save transaction file %s: %s"
+msgstr "Nie je možné uložiť súbor transakcie %s: %s"
+
+#: ../yum/__init__.py:6483
+#, python-format
+msgid "Could not access/read saved transaction %s : %s"
+msgstr "Nie je možné načítať uloženú transakciu %s : %s"
+
+#: ../yum/__init__.py:6521
+msgid "rpmdb ver mismatched saved transaction version,"
+msgstr ""
+
+#: ../yum/__init__.py:6535
+msgid "cannot find tsflags or tsflags not integer."
+msgstr "nie je možné nájsť tsflags alebo tsflags nie je celé číslo."
+
+#: ../yum/__init__.py:6584
+#, python-format
+msgid "Found txmbr in unknown current state: %s"
+msgstr "Nájdený txmbr v neznámom stave: %s"
+
+#: ../yum/__init__.py:6588
+#, python-format
+msgid "Could not find txmbr: %s in state %s"
+msgstr "Nie je možné nájsť txmbr: %s v stave %s"
+
+#: ../yum/__init__.py:6625 ../yum/__init__.py:6642
+#, python-format
+msgid "Could not find txmbr: %s from origin: %s"
+msgstr "Nie je možné násť txmbr: %s z: %s"
+
+#: ../yum/__init__.py:6667
+msgid "Transaction members, relations are missing or ts has been modified,"
+msgstr "Chýbajú transakčný členovia, vzťahy alebo bola transakcia zmenená"
+
+#: ../yum/__init__.py:6670
+msgid " ignoring, as requested. You must redepsolve!"
+msgstr " ignorované, ako bolo žiadané. Musíte spustiť redepsolve!"
+
+#. Debugging output
+#: ../yum/__init__.py:6738 ../yum/__init__.py:6757
+#, python-format
+msgid "%s has been visited already and cannot be removed."
+msgstr "%s bol už navštívený a nemôže byť odstránený."
+
+#. Debugging output
+#: ../yum/__init__.py:6741
+#, python-format
+msgid "Examining revdeps of %s"
+msgstr "Skúma sa revdeps %s"
+
+#. Debugging output
+#: ../yum/__init__.py:6762
+#, python-format
+msgid "%s has revdep %s which was user-installed."
+msgstr "%s má revdep %s, ktorý bol nainštalovaný používateľom."
+
+#: ../yum/__init__.py:6773 ../yum/__init__.py:6779
+#, python-format
+msgid "%s is needed by a package to be installed."
+msgstr ""
+
+#. Debugging output
+#: ../yum/__init__.py:6793
+#, python-format
+msgid "%s has no user-installed revdeps."
+msgstr "%s má revdeps, ktoré nebolo nainštalované používateľom."
+
+#. Mostly copied from YumOutput._outKeyValFill()
+#: ../yum/plugins.py:212
+msgid "Loaded plugins: "
+msgstr "Načítané zásuvné moduly:"
+
+#: ../yum/plugins.py:226 ../yum/plugins.py:232
+#, python-format
+msgid "No plugin match for: %s"
+msgstr "Žiadna zhoda zásuvného modulu: %s"
+
+#: ../yum/plugins.py:262
+#, python-format
+msgid "Not loading \"%s\" plugin, as it is disabled"
+msgstr "Nezavedený zásuvný modul \"%s\", pretože je zakázaný"
+
+#. Give full backtrace:
+#: ../yum/plugins.py:274
+#, python-format
+msgid "Plugin \"%s\" can't be imported"
+msgstr "Zásuvný modul \"%s\" nemôže byť importovaný"
+
+#: ../yum/plugins.py:281
+#, python-format
+msgid "Plugin \"%s\" doesn't specify required API version"
+msgstr "Zásuvný modul \"%s\" neuvádza požadovanú verziu API"
+
+#: ../yum/plugins.py:286
+#, python-format
+msgid "Plugin \"%s\" requires API %s. Supported API is %s."
+msgstr "Zásuvný modul \"%s\" požaduje API %s. Podporované API je %s."
+
+#: ../yum/plugins.py:319
+#, python-format
+msgid "Loading \"%s\" plugin"
+msgstr "Načítava sa zásuvný modul \"%s\""
+
+#: ../yum/plugins.py:326
+#, python-format
+msgid "Two or more plugins with the name \"%s\" exist in the plugin search path"
+msgstr "V prehľadávaných cestách sú dva, alebo viac modulov s názvom \"%s\""
+
+#: ../yum/plugins.py:346
+#, python-format
+msgid "Configuration file %s not found"
+msgstr "Konfiguračný súbor %s nebol nájdený"
+
+#. for
+#. Configuration files for the plugin not found
+#: ../yum/plugins.py:349
+#, python-format
+msgid "Unable to find configuration file for plugin %s"
+msgstr "Nie je možné nájsť konfiguračný súbor pre zásuvný modul %s"
+
+#: ../yum/plugins.py:553
+msgid "registration of commands not supported"
+msgstr "registrácia príkazov nie je podporovaná"
+
+#: ../yum/rpmsack.py:159
+msgid "has missing requires of"
+msgstr "má chýbajúce requires"
+
+#: ../yum/rpmsack.py:162
+msgid "has installed conflicts"
+msgstr "má konflikty v inštalácii"
+
+#: ../yum/rpmsack.py:171
+#, python-format
+msgid "%s is a duplicate with %s"
+msgstr "%s je duplicitný s %s"
+
+#: ../yum/rpmsack.py:179
+#, python-format
+msgid "%s is obsoleted by %s"
+msgstr "%s je označený ako zastaralé balíčkom %s"
+
+#: ../yum/rpmsack.py:187
+#, python-format
+msgid "%s provides %s but it cannot be found"
+msgstr "%s poskytuje %s, avšak nie je možné ho nájsť"
+
+#: ../yum/rpmtrans.py:80
+msgid "Repackaging"
+msgstr "Prebalenie"
+
+#: ../yum/rpmtrans.py:149
+#, python-format
+msgid "Verify: %u/%u: %s"
+msgstr "Overenie: %u/%u: %s"
+
+#: ../yum/yumRepo.py:919
+#, python-format
+msgid ""
+"Insufficient space in download directory %s\n"
+"    * free   %s\n"
+"    * needed %s"
+msgstr "Nedostatok miesta v cieľovom priečinku pre sťahovanie: %s\n    * voľné miesto %s\n    * je potrebné %s"
+
+#: ../yum/yumRepo.py:986
+msgid "Package does not match intended download."
+msgstr ""
+
+#: ../rpmUtils/oldUtils.py:33
+#, python-format
+msgid "Header cannot be opened or does not match %s, %s."
+msgstr "Hlavička nemôže byť otvorená alebo nezodpovedá %s, %s."
+
+#: ../rpmUtils/oldUtils.py:53
+#, python-format
+msgid "RPM %s fails md5 check"
+msgstr "Pre RPM %s zlyhala kontrola md5"
+
+#: ../rpmUtils/oldUtils.py:151
+msgid "Could not open RPM database for reading. Perhaps it is already in use?"
+msgstr "Nie je možné otvoriť databázu RPM pre čítanie. Možno je práve používaná?"
+
+#: ../rpmUtils/oldUtils.py:183
+msgid "Got an empty Header, something has gone wrong"
+msgstr "Získaná prázdna hlavička, niečo nie je v poriadku."
+
+#: ../rpmUtils/oldUtils.py:253 ../rpmUtils/oldUtils.py:260
+#: ../rpmUtils/oldUtils.py:263 ../rpmUtils/oldUtils.py:266
+#, python-format
+msgid "Damaged Header %s"
+msgstr "Poškodená hlavička %s"
+
+#: ../rpmUtils/oldUtils.py:281
+#, python-format
+msgid "Error opening rpm %s - error %s"
+msgstr "Chyba pri otvorení rpm %s - chyba %s"
diff --git a/po/sr.po b/po/sr.po
index 351d6db..81eecdc 100644
--- a/po/sr.po
+++ b/po/sr.po
@@ -2,879 +2,1001 @@
 # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
 # This file is distributed under the same license as the PACKAGE package.
 # 
+# Translators:
 msgid ""
 msgstr ""
 "Project-Id-Version: Yum\n"
-"Report-Msgid-Bugs-To: http://yum.baseurl.org/\n"
-"POT-Creation-Date: 2011-06-06 10:21-0400\n"
-"PO-Revision-Date: 2011-06-06 14:21+0000\n"
-"Last-Translator: skvidal <skvidal@fedoraproject.org>\n"
+"Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
+"POT-Creation-Date: 2013-01-30 09:08-0500\n"
+"PO-Revision-Date: 2013-01-30 14:08+0000\n"
+"Last-Translator: james <james@fedoraproject.org>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Language: sr\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
 
-#: ../callback.py:48 ../output.py:1037 ../yum/rpmtrans.py:73
+#: ../callback.py:45 ../output.py:1502 ../yum/rpmtrans.py:73
 msgid "Updating"
 msgstr "Ажурирам"
 
-#: ../callback.py:49 ../yum/rpmtrans.py:74
+#: ../callback.py:46 ../yum/rpmtrans.py:74
 msgid "Erasing"
 msgstr "Бришем"
 
-#: ../callback.py:50 ../callback.py:51 ../callback.py:53 ../output.py:1036
-#: ../output.py:2218 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
+#: ../callback.py:47 ../callback.py:48 ../callback.py:50 ../output.py:1501
+#: ../output.py:2922 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
 #: ../yum/rpmtrans.py:78
 msgid "Installing"
 msgstr "Инсталирам"
 
-#: ../callback.py:52 ../callback.py:58 ../output.py:1840 ../yum/rpmtrans.py:77
+#: ../callback.py:49 ../callback.py:55 ../output.py:2379 ../yum/rpmtrans.py:77
 msgid "Obsoleted"
 msgstr "Превазиђени"
 
-#: ../callback.py:54 ../output.py:1169 ../output.py:1686 ../output.py:1847
+#: ../callback.py:51 ../output.py:1670 ../output.py:2222 ../output.py:2386
 msgid "Updated"
 msgstr "Ажурирани"
 
-#: ../callback.py:55 ../output.py:1685
+#: ../callback.py:52 ../output.py:2221
 msgid "Erased"
 msgstr "Обрисани"
 
-#: ../callback.py:56 ../callback.py:57 ../callback.py:59 ../output.py:1167
-#: ../output.py:1685 ../output.py:1687 ../output.py:2190
+#: ../callback.py:53 ../callback.py:54 ../callback.py:56 ../output.py:1668
+#: ../output.py:2221 ../output.py:2223 ../output.py:2894
 msgid "Installed"
 msgstr "Инсталирани"
 
-#: ../callback.py:130
+#: ../callback.py:142
 msgid "No header - huh?"
 msgstr "Нема заглавља - хм?"
 
-#: ../callback.py:168
+#: ../callback.py:180
 msgid "Repackage"
 msgstr "Поновно паковање"
 
-#: ../callback.py:189
+#: ../callback.py:201
 #, python-format
 msgid "Error: invalid output state: %s for %s"
 msgstr "Грешка: погрешно излазно стање: %s за %s"
 
-#: ../callback.py:212
+#: ../callback.py:224
 #, python-format
 msgid "Erased: %s"
 msgstr "Обрисано: %s"
 
-#: ../callback.py:217 ../output.py:1038 ../output.py:2193
+#: ../callback.py:229 ../output.py:1503 ../output.py:2897
 msgid "Removing"
 msgstr "Уклањам"
 
-#: ../callback.py:219 ../yum/rpmtrans.py:79
+#: ../callback.py:231 ../yum/rpmtrans.py:79
 msgid "Cleanup"
 msgstr "Чишћење"
 
-#: ../cli.py:115
+#: ../cli.py:122
 #, python-format
 msgid "Command \"%s\" already defined"
 msgstr "Наредба „%s“ је већ дефинисана"
 
-#: ../cli.py:127
+#: ../cli.py:137
 msgid "Setting up repositories"
 msgstr "Постављам ризнице"
 
-#: ../cli.py:138
+#: ../cli.py:148
 msgid "Reading repository metadata in from local files"
 msgstr "Читам метаподатке ризница из локалних датотека"
 
-#: ../cli.py:245 ../utils.py:281
+#: ../cli.py:273 ../cli.py:277 ../utils.py:320
 #, python-format
 msgid "Config Error: %s"
 msgstr "Грешка при подешавању: %s"
 
-#: ../cli.py:248 ../cli.py:1584 ../utils.py:284
+#: ../cli.py:280 ../cli.py:2206 ../utils.py:323
 #, python-format
 msgid "Options Error: %s"
 msgstr "Грешка у опцијама: %s"
 
-#: ../cli.py:293
+#: ../cli.py:327
 #, python-format
 msgid "  Installed: %s-%s at %s"
 msgstr "  Инсталиран : %s-%s %s"
 
-#: ../cli.py:295
+#: ../cli.py:329
 #, python-format
 msgid "  Built    : %s at %s"
 msgstr "  Направио/ла: %s %s"
 
-#: ../cli.py:297
+#: ../cli.py:331
 #, python-format
 msgid "  Committed: %s at %s"
 msgstr "  Објавио/ла : %s %s"
 
-#: ../cli.py:336
+#: ../cli.py:372
 msgid "You need to give some command"
 msgstr "Морате да унесете неку команду"
 
-#: ../cli.py:350
+#: ../cli.py:386
 #, python-format
 msgid "No such command: %s. Please use %s --help"
 msgstr ""
 
-#: ../cli.py:400
+#: ../cli.py:444
 msgid "Disk Requirements:\n"
 msgstr "Захтеви диска:\n"
 
-#: ../cli.py:402
+#: ../cli.py:446
 #, python-format
 msgid "  At least %dMB more space needed on the %s filesystem.\n"
-msgstr ""
+msgid_plural "  At least %dMB more space needed on the %s filesystem.\n"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
 
 #. TODO: simplify the dependency errors?
 #. Fixup the summary
-#: ../cli.py:407
+#: ../cli.py:451
 msgid ""
 "Error Summary\n"
 "-------------\n"
+msgstr "Сажетак грешака\n-------------\n"
+
+#: ../cli.py:472
+msgid "Can't create lock file; exiting"
 msgstr ""
-"Сажетак грешака\n"
-"-------------\n"
 
-#: ../cli.py:450
+#: ../cli.py:479
+msgid ""
+"Another app is currently holding the yum lock; exiting as configured by "
+"exit_on_lock"
+msgstr ""
+
+#: ../cli.py:532
 msgid "Trying to run the transaction but nothing to do. Exiting."
 msgstr "Покушавам да извршим трансакцију али нема шта да се ради. Излазим."
 
-#: ../cli.py:497
+#: ../cli.py:577
+msgid "future rpmdb ver mismatched saved transaction version,"
+msgstr ""
+
+#: ../cli.py:579 ../yum/__init__.py:6523
+msgid " ignoring, as requested."
+msgstr ""
+
+#: ../cli.py:582 ../yum/__init__.py:6526 ../yum/__init__.py:6673
+msgid " aborting."
+msgstr ""
+
+#: ../cli.py:588
 msgid "Exiting on user Command"
 msgstr "Излазим на команду корисника"
 
-#: ../cli.py:501
+#: ../cli.py:592
 msgid "Downloading Packages:"
 msgstr "Преузимам пакете:"
 
-#: ../cli.py:506
+#: ../cli.py:597
 msgid "Error Downloading Packages:\n"
 msgstr "Грешка при преузимању пакета:\n"
 
-#: ../cli.py:525 ../yum/__init__.py:4967
+#: ../cli.py:616 ../yum/__init__.py:6215
 msgid "Running Transaction Check"
 msgstr ""
 
-#: ../cli.py:534 ../yum/__init__.py:4976
+#: ../cli.py:625 ../yum/__init__.py:6224
 msgid "ERROR You need to update rpm to handle:"
 msgstr ""
 
-#: ../cli.py:536 ../yum/__init__.py:4979
+#: ../cli.py:627 ../yum/__init__.py:6227
 msgid "ERROR with transaction check vs depsolve:"
 msgstr ""
 
-#: ../cli.py:542
+#: ../cli.py:633
 msgid "RPM needs to be updated"
 msgstr ""
 
-#: ../cli.py:543
+#: ../cli.py:634
 #, python-format
 msgid "Please report this error in %s"
 msgstr "Пријавите ову грешку у %s"
 
-#: ../cli.py:549
+#: ../cli.py:640
 msgid "Running Transaction Test"
 msgstr "Извршавам проверу трансакције"
 
-#: ../cli.py:561
+#: ../cli.py:652
 msgid "Transaction Check Error:\n"
 msgstr "Грешка при провери трансакције:\n"
 
-#: ../cli.py:568
+#: ../cli.py:659
 msgid "Transaction Test Succeeded"
 msgstr "Провера трансакције је успела"
 
-#: ../cli.py:600
+#: ../cli.py:691
 msgid "Running Transaction"
 msgstr "Извршавам трансакцију"
 
-#: ../cli.py:630
+#: ../cli.py:724
 msgid ""
 "Refusing to automatically import keys when running unattended.\n"
 "Use \"-y\" to override."
-msgstr ""
-"Одбијам да аутоматски увезем кључеве када се извршавање не надгледа.\n"
-"За превазилажење овога користите „-y“."
+msgstr "Одбијам да аутоматски увезем кључеве када се извршавање не надгледа.\nЗа превазилажење овога користите „-y“."
 
-#: ../cli.py:649 ../cli.py:692
+#: ../cli.py:743 ../cli.py:786
 msgid "  * Maybe you meant: "
 msgstr "  * Можда сте мислили: "
 
-#: ../cli.py:675 ../cli.py:683
+#: ../cli.py:769 ../cli.py:777
 #, python-format
 msgid "Package(s) %s%s%s available, but not installed."
 msgstr "%s%s%s пакет је доступан, али није инсталиран."
 
-#: ../cli.py:689 ../cli.py:722 ../cli.py:908
+#: ../cli.py:783 ../cli.py:891 ../cli.py:1158
 #, python-format
 msgid "No package %s%s%s available."
 msgstr "Не постоји доступан пакет %s%s%s."
 
-#: ../cli.py:729 ../cli.py:973
-msgid "Package(s) to install"
-msgstr "Пакет(и) који ће се инсталирати"
+#: ../cli.py:871 ../cli.py:881 ../cli.py:1101 ../cli.py:1111
+#, python-format
+msgid "Bad %s argument %s."
+msgstr ""
 
-#: ../cli.py:732 ../cli.py:733 ../cli.py:914 ../cli.py:948 ../cli.py:974
-#: ../yumcommands.py:190
+#: ../cli.py:900 ../yumcommands.py:3331
+#, python-format
+msgid "%d package to install"
+msgid_plural "%d packages to install"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#: ../cli.py:903 ../cli.py:904 ../cli.py:1169 ../cli.py:1170 ../cli.py:1224
+#: ../cli.py:1225 ../cli.py:1260 ../yumcommands.py:323 ../yumcommands.py:3419
 msgid "Nothing to do"
 msgstr "Нема шта да се ради"
 
-#: ../cli.py:767
+#: ../cli.py:953
 #, python-format
-msgid "%d packages marked for Update"
-msgstr "%d пакети означени за ажурирање"
+msgid "%d package marked for Update"
+msgid_plural "%d packages marked for Update"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
 
-#: ../cli.py:770
+#: ../cli.py:955
 msgid "No Packages marked for Update"
 msgstr "Нема пакета означених за ажурирање"
 
-#: ../cli.py:866
+#: ../cli.py:1067
 #, python-format
-msgid "%d packages marked for Distribution Synchronization"
-msgstr ""
+msgid "%d package marked for Distribution Synchronization"
+msgid_plural "%d packages marked for Distribution Synchronization"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
 
-#: ../cli.py:869
+#: ../cli.py:1069
 msgid "No Packages marked for Distribution Synchronization"
 msgstr ""
 
-#: ../cli.py:885
+#: ../cli.py:1124
 #, python-format
-msgid "%d packages marked for removal"
-msgstr "%d пакети означени за уклањање"
+msgid "%d package marked for removal"
+msgid_plural "%d packages marked for removal"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
 
-#: ../cli.py:888
+#: ../cli.py:1126
 msgid "No Packages marked for removal"
 msgstr "Нема пакета означених за уклањање"
 
-#: ../cli.py:913
-msgid "Package(s) to downgrade"
-msgstr "Пакет(и) који ће се уназадити"
+#: ../cli.py:1166
+#, python-format
+msgid "%d package to downgrade"
+msgid_plural "%d packages to downgrade"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
 
-#: ../cli.py:938
+#: ../cli.py:1207
 #, python-format
 msgid " (from %s)"
 msgstr ""
 
-#: ../cli.py:939
+#: ../cli.py:1208
 #, python-format
 msgid "Installed package %s%s%s%s not available."
 msgstr ""
 
-#: ../cli.py:947
-msgid "Package(s) to reinstall"
-msgstr "Пакет(и) који ће се поново инсталирати"
+#: ../cli.py:1221
+#, python-format
+msgid "%d package to reinstall"
+msgid_plural "%d packages to reinstall"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
 
-#: ../cli.py:960
+#: ../cli.py:1246
 msgid "No Packages Provided"
 msgstr "Ниједан пакет није добављен"
 
-#: ../cli.py:1058
+#: ../cli.py:1259
+msgid "Package(s) to install"
+msgstr "Пакет(и) који ће се инсталирати"
+
+#: ../cli.py:1367
 #, python-format
 msgid "N/S Matched: %s"
 msgstr ""
 
-#: ../cli.py:1075
+#: ../cli.py:1384
 #, python-format
 msgid "  Name and summary matches %sonly%s, use \"search all\" for everything."
 msgstr ""
 
-#: ../cli.py:1077
+#: ../cli.py:1386
 #, python-format
 msgid ""
 "  Full name and summary matches %sonly%s, use \"search all\" for everything."
 msgstr ""
 
-#: ../cli.py:1095
+#: ../cli.py:1404
 #, python-format
 msgid "Matched: %s"
 msgstr ""
 
-#: ../cli.py:1102
+#: ../cli.py:1411
 #, python-format
 msgid "  Name and summary matches %smostly%s, use \"search all\" for everything."
 msgstr ""
 
-#: ../cli.py:1106
+#: ../cli.py:1415
 #, python-format
 msgid "Warning: No matches found for: %s"
 msgstr "Упозорење: није нађено подударање за %s"
 
-#: ../cli.py:1109
+#: ../cli.py:1418
 msgid "No Matches found"
 msgstr "Нису пронађена подударања"
 
-#: ../cli.py:1174
+#: ../cli.py:1536
 #, python-format
-msgid "No Package Found for %s"
-msgstr "Нису пронађени пакети за %s"
+msgid ""
+"Error: No Packages found for:\n"
+"  %s"
+msgstr ""
 
-#: ../cli.py:1184
+#: ../cli.py:1572
 msgid "Cleaning repos: "
 msgstr ""
 
-#: ../cli.py:1189
+#: ../cli.py:1577
 msgid "Cleaning up Everything"
 msgstr "Чистим све"
 
-#: ../cli.py:1205
+#: ../cli.py:1593
 msgid "Cleaning up Headers"
 msgstr "Чистим заглавља"
 
-#: ../cli.py:1208
+#: ../cli.py:1596
 msgid "Cleaning up Packages"
 msgstr "Чистим пакете"
 
-#: ../cli.py:1211
+#: ../cli.py:1599
 msgid "Cleaning up xml metadata"
 msgstr "Чистим xml метаподатке"
 
-#: ../cli.py:1214
+#: ../cli.py:1602
 msgid "Cleaning up database cache"
 msgstr "Чистим кеш базе података"
 
-#: ../cli.py:1217
+#: ../cli.py:1605
 msgid "Cleaning up expire-cache metadata"
 msgstr "Чистим expire-cache метаподатке"
 
-#: ../cli.py:1220
+#: ../cli.py:1608
 msgid "Cleaning up cached rpmdb data"
 msgstr ""
 
-#: ../cli.py:1223
+#: ../cli.py:1611
 msgid "Cleaning up plugins"
 msgstr "Чистим додатке"
 
-#: ../cli.py:1247
-#, python-format
-msgid "Warning: No groups match: %s"
+#: ../cli.py:1727
+msgid "Installed Environment Groups:"
 msgstr ""
 
-#: ../cli.py:1264
+#: ../cli.py:1728
+msgid "Available Environment Groups:"
+msgstr ""
+
+#: ../cli.py:1735
 msgid "Installed Groups:"
 msgstr "Инсталиране групе:"
 
-#: ../cli.py:1270
+#: ../cli.py:1742
 msgid "Installed Language Groups:"
 msgstr ""
 
-#: ../cli.py:1276
+#: ../cli.py:1749
 msgid "Available Groups:"
 msgstr "Доступне групе:"
 
-#: ../cli.py:1282
+#: ../cli.py:1756
 msgid "Available Language Groups:"
 msgstr ""
 
-#: ../cli.py:1285
+#: ../cli.py:1759
+#, python-format
+msgid "Warning: No Environments/Groups match: %s"
+msgstr ""
+
+#: ../cli.py:1763
 msgid "Done"
 msgstr "Урађено"
 
-#: ../cli.py:1296 ../cli.py:1314 ../cli.py:1320 ../yum/__init__.py:3313
+#: ../cli.py:1818
+#, python-format
+msgid "Warning: Group/Environment %s does not exist."
+msgstr ""
+
+#: ../cli.py:1859
+#, python-format
+msgid "Warning: Environment %s does not exist."
+msgstr ""
+
+#: ../cli.py:1873 ../cli.py:1879 ../yum/__init__.py:4254
 #, python-format
 msgid "Warning: Group %s does not exist."
 msgstr "Упозорење: група %s не постоји."
 
-#: ../cli.py:1324
+#: ../cli.py:1883
 msgid "No packages in any requested group available to install or update"
-msgstr ""
-"Нема доступних пакета за инсталацију или ажурирање у свим захтеваним групама"
+msgstr "Нема доступних пакета за инсталацију или ажурирање у свим захтеваним групама"
+
+#: ../cli.py:1885
+#, python-format
+msgid "%d package to Install"
+msgid_plural "%d packages to Install"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
 
-#: ../cli.py:1326
+#: ../cli.py:1919 ../yum/__init__.py:3536 ../yum/__init__.py:3766
+#: ../yum/__init__.py:3824
 #, python-format
-msgid "%d Package(s) to Install"
-msgstr "%d пакет(и) за инсталацију"
+msgid "No Environment named %s exists"
+msgstr ""
 
-#: ../cli.py:1336 ../yum/__init__.py:3325
+#: ../cli.py:1935 ../yum/__init__.py:4282
 #, python-format
 msgid "No group named %s exists"
 msgstr "Не постоји група под именом %s"
 
-#: ../cli.py:1342
+#: ../cli.py:1945
 msgid "No packages to remove from groups"
 msgstr "Нема пакета за уклањање из група"
 
-#: ../cli.py:1344
+#: ../cli.py:1947 ../yumcommands.py:3351
 #, python-format
-msgid "%d Package(s) to remove"
-msgstr "%d  пакет(и) за уклањање"
+msgid "%d package to remove"
+msgid_plural "%d packages to remove"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
 
-#: ../cli.py:1386
+#: ../cli.py:1988
 #, python-format
 msgid "Package %s is already installed, skipping"
 msgstr "Пакет %s је већ инсталиран, прескачем га"
 
-#: ../cli.py:1397
+#: ../cli.py:1999
 #, python-format
 msgid "Discarding non-comparable pkg %s.%s"
 msgstr "Уклањам неупоредив пакет %s.%s"
 
 #. we've not got any installed that match n or n+a
-#: ../cli.py:1423
+#: ../cli.py:2025
 #, python-format
 msgid "No other %s installed, adding to list for potential install"
-msgstr ""
-"Не постоји инсталиран други %s, додајем га у списак за потенцијалну "
-"инсталацију"
+msgstr "Не постоји инсталиран други %s, додајем га у списак за потенцијалну инсталацију"
 
-#: ../cli.py:1443
+#: ../cli.py:2045
 msgid "Plugin Options"
 msgstr "Опције додатка"
 
-#: ../cli.py:1451
+#: ../cli.py:2057
 #, python-format
 msgid "Command line error: %s"
 msgstr "Грешка командне линије: %s"
 
-#: ../cli.py:1467
+#: ../cli.py:2079
 #, python-format
 msgid ""
 "\n"
 "\n"
 "%s: %s option requires an argument"
-msgstr ""
-"\n"
-"\n"
-"%s: %s опција захтева аргумент"
+msgstr "\n\n%s: %s опција захтева аргумент"
 
-#: ../cli.py:1521
+#: ../cli.py:2147
 msgid "--color takes one of: auto, always, never"
 msgstr "--color прима један од следећих: auto, always, never"
 
 #. We have a relative installroot ... haha
-#: ../cli.py:1596
+#: ../cli.py:2218
 #, python-format
 msgid "--installroot must be an absolute path: %s"
 msgstr ""
 
-#: ../cli.py:1642
+#: ../cli.py:2272
 msgid "show this help message and exit"
 msgstr "прикажи ову помоћну поруку и изађи"
 
-#: ../cli.py:1646
+#: ../cli.py:2276
 msgid "be tolerant of errors"
 msgstr "буди толерантан на грешке"
 
-#: ../cli.py:1649
+#: ../cli.py:2279
 msgid "run entirely from system cache, don't update cache"
 msgstr ""
 
-#: ../cli.py:1652
+#: ../cli.py:2282
 msgid "config file location"
 msgstr "место датотеке подешавања"
 
-#: ../cli.py:1655
+#: ../cli.py:2285
 msgid "maximum command wait time"
 msgstr "најдуже време чекања на команду"
 
-#: ../cli.py:1657
+#: ../cli.py:2287
 msgid "debugging output level"
 msgstr "ниво излазног приказа за проналажење грешака"
 
-#: ../cli.py:1661
+#: ../cli.py:2291
 msgid "show duplicates, in repos, in list/search commands"
-msgstr ""
-"приказуј дупликате, у ризницама, у командама за излиставање/претраживање"
+msgstr "приказуј дупликате, у ризницама, у командама за излиставање/претраживање"
 
-#: ../cli.py:1663
+#: ../cli.py:2296
 msgid "error output level"
 msgstr "ниво излазног приказа грешака"
 
-#: ../cli.py:1666
+#: ../cli.py:2299
 msgid "debugging output level for rpm"
 msgstr ""
 
-#: ../cli.py:1669
+#: ../cli.py:2302
 msgid "quiet operation"
 msgstr "тиха радња"
 
-#: ../cli.py:1671
+#: ../cli.py:2304
 msgid "verbose operation"
 msgstr "опширна радња"
 
-#: ../cli.py:1673
+#: ../cli.py:2306
 msgid "answer yes for all questions"
 msgstr "одговори са да на сва питања"
 
-#: ../cli.py:1675
+#: ../cli.py:2308
+msgid "answer no for all questions"
+msgstr ""
+
+#: ../cli.py:2312
 msgid "show Yum version and exit"
 msgstr "прикажи Yum верзију и изађи"
 
-#: ../cli.py:1676
+#: ../cli.py:2313
 msgid "set install root"
 msgstr "постави корени директоријум инсталације"
 
-#: ../cli.py:1680
+#: ../cli.py:2317
 msgid "enable one or more repositories (wildcards allowed)"
 msgstr "укључи једну или више ризница (скраћенице су дозвољене)"
 
-#: ../cli.py:1684
+#: ../cli.py:2321
 msgid "disable one or more repositories (wildcards allowed)"
 msgstr "искључи једну или више ризница (скраћенице су дозвољене)"
 
-#: ../cli.py:1687
+#: ../cli.py:2324
 msgid "exclude package(s) by name or glob"
 msgstr "изузми пакет(е) по имену или глобу"
 
-#: ../cli.py:1689
+#: ../cli.py:2326
 msgid "disable exclude from main, for a repo or for everything"
 msgstr "искључи изузимање из главног скупа, за ризницу или за све"
 
-#: ../cli.py:1692
+#: ../cli.py:2329
 msgid "enable obsoletes processing during updates"
 msgstr "укључи обраду застарелих пакета у току ажурирања"
 
-#: ../cli.py:1694
+#: ../cli.py:2331
 msgid "disable Yum plugins"
 msgstr "искључи додатке за Yum"
 
-#: ../cli.py:1696
+#: ../cli.py:2333
 msgid "disable gpg signature checking"
 msgstr "искључи проверу gpg потписа"
 
-#: ../cli.py:1698
+#: ../cli.py:2335
 msgid "disable plugins by name"
 msgstr "искључи додатке по имену"
 
-#: ../cli.py:1701
+#: ../cli.py:2338
 msgid "enable plugins by name"
 msgstr "укључи додатке по имену"
 
-#: ../cli.py:1704
+#: ../cli.py:2341
 msgid "skip packages with depsolving problems"
 msgstr "прескочи пакете који имају проблема са решавањем зависности"
 
-#: ../cli.py:1706
+#: ../cli.py:2343
 msgid "control whether color is used"
 msgstr "контролише да ли се користи боја"
 
-#: ../cli.py:1708
+#: ../cli.py:2345
 msgid "set value of $releasever in yum config and repo files"
 msgstr ""
 
-#: ../cli.py:1710
+#: ../cli.py:2347
+msgid "don't update, just download"
+msgstr ""
+
+#: ../cli.py:2349
+msgid "specifies an alternate directory to store packages"
+msgstr ""
+
+#: ../cli.py:2351
 msgid "set arbitrary config and repo options"
 msgstr ""
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Jan"
 msgstr "јан"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Feb"
 msgstr "феб"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Mar"
 msgstr "мар"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Apr"
 msgstr "апр"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "May"
 msgstr "мај"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Jun"
 msgstr "јун"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Jul"
 msgstr "јул"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Aug"
 msgstr "авг"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Sep"
 msgstr "сеп"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Oct"
 msgstr "окт"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Nov"
 msgstr "нов"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Dec"
 msgstr "дец"
 
-#: ../output.py:318
+#: ../output.py:473
 msgid "Trying other mirror."
 msgstr "Покушавам други одраз."
 
-#: ../output.py:581
+#: ../output.py:816
 #, python-format
 msgid "Name        : %s%s%s"
 msgstr ""
 
-#: ../output.py:582
+#: ../output.py:817
 #, python-format
 msgid "Arch        : %s"
 msgstr ""
 
-#: ../output.py:584
+#: ../output.py:819
 #, python-format
 msgid "Epoch       : %s"
 msgstr ""
 
-#: ../output.py:585
+#: ../output.py:820
 #, python-format
 msgid "Version     : %s"
 msgstr ""
 
-#: ../output.py:586
+#: ../output.py:821
 #, python-format
 msgid "Release     : %s"
 msgstr ""
 
-#: ../output.py:587
+#: ../output.py:822
 #, python-format
 msgid "Size        : %s"
 msgstr ""
 
-#: ../output.py:588 ../output.py:900
+#: ../output.py:823 ../output.py:1329
 #, python-format
 msgid "Repo        : %s"
 msgstr "Ризница     : %s"
 
-#: ../output.py:590
+#: ../output.py:825
 #, python-format
 msgid "From repo   : %s"
 msgstr ""
 
-#: ../output.py:592
+#: ../output.py:827
 #, python-format
 msgid "Committer   : %s"
 msgstr ""
 
-#: ../output.py:593
+#: ../output.py:828
 #, python-format
 msgid "Committime  : %s"
 msgstr ""
 
-#: ../output.py:594
+#: ../output.py:829
 #, python-format
 msgid "Buildtime   : %s"
 msgstr ""
 
-#: ../output.py:596
+#: ../output.py:831
 #, python-format
 msgid "Install time: %s"
 msgstr ""
 
-#: ../output.py:604
+#: ../output.py:839
 #, python-format
 msgid "Installed by: %s"
 msgstr ""
 
-#: ../output.py:611
+#: ../output.py:846
 #, python-format
 msgid "Changed by  : %s"
 msgstr ""
 
-#: ../output.py:612
+#: ../output.py:847
 msgid "Summary     : "
 msgstr ""
 
-#: ../output.py:614 ../output.py:913
+#: ../output.py:849 ../output.py:1345
 #, python-format
 msgid "URL         : %s"
 msgstr "УРЛ         : %s"
 
-#: ../output.py:615
+#: ../output.py:850
 msgid "License     : "
 msgstr ""
 
-#: ../output.py:616 ../output.py:910
+#: ../output.py:851 ../output.py:1342
 msgid "Description : "
 msgstr "Опис        : "
 
-#: ../output.py:684
+#: ../output.py:969
 msgid "y"
 msgstr "d"
 
-#: ../output.py:684
+#: ../output.py:969
 msgid "yes"
 msgstr "da"
 
-#: ../output.py:685
+#: ../output.py:970
 msgid "n"
 msgstr "n"
 
-#: ../output.py:685
+#: ../output.py:970
 msgid "no"
 msgstr "ne"
 
-#: ../output.py:689
+#: ../output.py:974
 msgid "Is this ok [y/N]: "
 msgstr "Да ли је ово у реду [d/N]: "
 
-#: ../output.py:777
+#: ../output.py:1097
 #, python-format
 msgid ""
 "\n"
 "Group: %s"
-msgstr ""
-"\n"
-"Група: %s"
+msgstr "\nГрупа: %s"
 
-#: ../output.py:781
+#: ../output.py:1101
 #, python-format
 msgid " Group-Id: %s"
 msgstr " ИБ групе: %s"
 
-#: ../output.py:786
+#: ../output.py:1122 ../output.py:1169
 #, python-format
 msgid " Description: %s"
 msgstr " Опис: %s"
 
-#: ../output.py:788
+#: ../output.py:1124
 #, python-format
 msgid " Language: %s"
 msgstr ""
 
-#: ../output.py:790
+#: ../output.py:1126
 msgid " Mandatory Packages:"
 msgstr " Обавезни пакети:"
 
-#: ../output.py:791
+#: ../output.py:1127
 msgid " Default Packages:"
 msgstr " Подразумевани пакети:"
 
-#: ../output.py:792
+#: ../output.py:1128
 msgid " Optional Packages:"
 msgstr " Изборни пакети:"
 
-#: ../output.py:793
+#: ../output.py:1129
 msgid " Conditional Packages:"
 msgstr " Условљени пакети:"
 
-#: ../output.py:814
+#: ../output.py:1147
+msgid " Installed Packages:"
+msgstr ""
+
+#: ../output.py:1157
+#, python-format
+msgid ""
+"\n"
+"Environment Group: %s"
+msgstr ""
+
+#: ../output.py:1158
+#, python-format
+msgid " Environment-Id: %s"
+msgstr ""
+
+#: ../output.py:1191
+msgid " Mandatory Groups:"
+msgstr ""
+
+#: ../output.py:1192
+msgid " Optional Groups:"
+msgstr ""
+
+#: ../output.py:1205
+msgid " Installed Groups:"
+msgstr ""
+
+#: ../output.py:1217
 #, python-format
 msgid "package: %s"
 msgstr "пакет: %s"
 
-#: ../output.py:816
+#: ../output.py:1219
 msgid "  No dependencies for this package"
 msgstr "  Не постоје зависности овог пакета"
 
-#: ../output.py:821
+#: ../output.py:1224
 #, python-format
 msgid "  dependency: %s"
 msgstr "  зависност: %s"
 
-#: ../output.py:823
+#: ../output.py:1226
 msgid "   Unsatisfied dependency"
 msgstr "   Незадовољена зависност"
 
-#: ../output.py:901
+#: ../output.py:1337
 msgid "Matched from:"
 msgstr "Повезан из  :"
 
-#: ../output.py:916
+#: ../output.py:1348
 #, python-format
 msgid "License     : %s"
 msgstr "Лиценца     : %s"
 
-#: ../output.py:919
+#: ../output.py:1351
 #, python-format
 msgid "Filename    : %s"
 msgstr "Име датотеке: %s"
 
-#: ../output.py:923
+#: ../output.py:1360
+msgid "Provides    : "
+msgstr ""
+
+#: ../output.py:1363
 msgid "Other       : "
 msgstr "Остало      : "
 
-#: ../output.py:966
+#: ../output.py:1426
 msgid "There was an error calculating total download size"
 msgstr "Догодила се грешка при рачунању укупне величине за преузимање"
 
-#: ../output.py:971
+#: ../output.py:1431
 #, python-format
 msgid "Total size: %s"
 msgstr "Укупна величина: %s"
 
-#: ../output.py:974
+#: ../output.py:1433
 #, python-format
 msgid "Total download size: %s"
 msgstr "Укупна величина за преузимање: %s"
 
-#: ../output.py:978 ../output.py:998
+#: ../output.py:1436 ../output.py:1459 ../output.py:1463
 #, python-format
 msgid "Installed size: %s"
 msgstr ""
 
-#: ../output.py:994
+#: ../output.py:1454
 msgid "There was an error calculating installed size"
 msgstr ""
 
-#: ../output.py:1039
+#: ../output.py:1504
 msgid "Reinstalling"
 msgstr ""
 
-#: ../output.py:1040
+#: ../output.py:1505
 msgid "Downgrading"
 msgstr ""
 
-#: ../output.py:1041
+#: ../output.py:1506
 msgid "Installing for dependencies"
 msgstr "Инсталирам због зависности"
 
-#: ../output.py:1042
+#: ../output.py:1507
 msgid "Updating for dependencies"
 msgstr "Ажурирам због зависности"
 
-#: ../output.py:1043
+#: ../output.py:1508
 msgid "Removing for dependencies"
 msgstr "Уклањам због зависности"
 
-#: ../output.py:1050 ../output.py:1171
+#: ../output.py:1515 ../output.py:1576 ../output.py:1672
 msgid "Skipped (dependency problems)"
 msgstr "Прескочено (проблеми са зависностима)"
 
-#: ../output.py:1052 ../output.py:1687
+#: ../output.py:1517 ../output.py:1577 ../output.py:2223
 msgid "Not installed"
 msgstr ""
 
-#: ../output.py:1053
+#: ../output.py:1518 ../output.py:1578
 msgid "Not available"
 msgstr ""
 
-#: ../output.py:1075 ../output.py:2024
+#: ../output.py:1540 ../output.py:1588 ../output.py:1604 ../output.py:2581
 msgid "Package"
-msgstr "Пакет"
+msgid_plural "Packages"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] "Пакет"
 
-#: ../output.py:1075
+#: ../output.py:1540
 msgid "Arch"
 msgstr "Архитектура"
 
-#: ../output.py:1076
+#: ../output.py:1541
 msgid "Version"
 msgstr "Верзија"
 
-#: ../output.py:1076
+#: ../output.py:1541
 msgid "Repository"
 msgstr "Ризница"
 
-#: ../output.py:1077
+#: ../output.py:1542
 msgid "Size"
 msgstr "Величина"
 
-#: ../output.py:1089
+#: ../output.py:1554
 #, python-format
 msgid "     replacing  %s%s%s.%s %s\n"
 msgstr ""
 
-#: ../output.py:1098
+#: ../output.py:1563
 #, python-format
 msgid ""
 "\n"
@@ -882,65 +1004,67 @@ msgid ""
 "%s\n"
 msgstr ""
 
-#: ../output.py:1109
-#, python-format
-msgid "Install   %5.5s Package(s)\n"
+#: ../output.py:1568 ../output.py:2376 ../output.py:2377
+msgid "Install"
 msgstr ""
 
-#: ../output.py:1113
-#, python-format
-msgid "Upgrade   %5.5s Package(s)\n"
+#: ../output.py:1570
+msgid "Upgrade"
 msgstr ""
 
-#: ../output.py:1117
-#, python-format
-msgid "Remove    %5.5s Package(s)\n"
+#: ../output.py:1572
+msgid "Remove"
 msgstr ""
 
-#: ../output.py:1121
-#, python-format
-msgid "Reinstall %5.5s Package(s)\n"
+#: ../output.py:1574 ../output.py:2382
+msgid "Reinstall"
 msgstr ""
 
-#: ../output.py:1125
-#, python-format
-msgid "Downgrade %5.5s Package(s)\n"
+#: ../output.py:1575 ../output.py:2383
+msgid "Downgrade"
 msgstr ""
 
-#: ../output.py:1165
+#: ../output.py:1606
+msgid "Dependent package"
+msgid_plural "Dependent packages"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#: ../output.py:1666
 msgid "Removed"
 msgstr "Уклоњено"
 
-#: ../output.py:1166
+#: ../output.py:1667
 msgid "Dependency Removed"
 msgstr "Зависност уклоњена"
 
-#: ../output.py:1168
+#: ../output.py:1669
 msgid "Dependency Installed"
 msgstr "Зависност инсталирана"
 
-#: ../output.py:1170
+#: ../output.py:1671
 msgid "Dependency Updated"
 msgstr "Зависност ажурирана"
 
-#: ../output.py:1172
+#: ../output.py:1673
 msgid "Replaced"
 msgstr "Замењено"
 
-#: ../output.py:1173
+#: ../output.py:1674
 msgid "Failed"
 msgstr "Неуспех"
 
 #. Delta between C-c's so we treat as exit
-#: ../output.py:1260
+#: ../output.py:1764
 msgid "two"
 msgstr "два"
 
 #. For translators: This is output like:
 #. Current download cancelled, interrupt (ctrl-c) again within two seconds
 #. to exit.
-#. Where "interupt (ctrl-c) again" and "two" are highlighted.
-#: ../output.py:1271
+#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
+#: ../output.py:1775
 #, python-format
 msgid ""
 "\n"
@@ -948,491 +1072,542 @@ msgid ""
 "to exit.\n"
 msgstr ""
 
-#: ../output.py:1282
+#: ../output.py:1786
 msgid "user interrupt"
 msgstr "прекид од стране корисника"
 
-#: ../output.py:1300
+#: ../output.py:1812
 msgid "Total"
 msgstr "Укупно"
 
-#: ../output.py:1322
+#: ../output.py:1834
 msgid "I"
 msgstr ""
 
-#: ../output.py:1323
+#: ../output.py:1835
 msgid "O"
 msgstr ""
 
-#: ../output.py:1324
+#: ../output.py:1836
 msgid "E"
 msgstr ""
 
-#: ../output.py:1325
+#: ../output.py:1837
 msgid "R"
 msgstr ""
 
-#: ../output.py:1326
+#: ../output.py:1838
 msgid "D"
 msgstr ""
 
-#: ../output.py:1327
+#: ../output.py:1839
 msgid "U"
 msgstr ""
 
-#: ../output.py:1341
+#: ../output.py:1853
 msgid "<unset>"
 msgstr ""
 
-#: ../output.py:1342
+#: ../output.py:1854
 msgid "System"
 msgstr ""
 
-#: ../output.py:1411
+#: ../output.py:1923
 #, python-format
 msgid "Skipping merged transaction %d to %d, as it overlaps"
 msgstr ""
 
-#: ../output.py:1421 ../output.py:1592
+#: ../output.py:1933 ../output.py:2125
 msgid "No transactions"
 msgstr ""
 
-#: ../output.py:1446 ../output.py:2013
+#: ../output.py:1958 ../output.py:2570 ../output.py:2660
 msgid "Bad transaction IDs, or package(s), given"
 msgstr ""
 
-#: ../output.py:1484
+#: ../output.py:2007
 msgid "Command line"
 msgstr ""
 
-#: ../output.py:1486 ../output.py:1908
+#: ../output.py:2009 ../output.py:2458
 msgid "Login user"
 msgstr ""
 
 #. REALLY Needs to use columns!
-#: ../output.py:1487 ../output.py:2022
+#: ../output.py:2010 ../output.py:2579
 msgid "ID"
 msgstr ""
 
-#: ../output.py:1489
+#: ../output.py:2012
 msgid "Date and time"
 msgstr ""
 
-#: ../output.py:1490 ../output.py:1910 ../output.py:2023
+#: ../output.py:2013 ../output.py:2460 ../output.py:2580
 msgid "Action(s)"
 msgstr ""
 
-#: ../output.py:1491 ../output.py:1911
+#: ../output.py:2014 ../output.py:2461
 msgid "Altered"
 msgstr ""
 
-#: ../output.py:1538
+#: ../output.py:2061
 msgid "No transaction ID given"
 msgstr ""
 
-#: ../output.py:1564 ../output.py:1972
+#: ../output.py:2087 ../output.py:2526
 msgid "Bad transaction ID given"
 msgstr ""
 
-#: ../output.py:1569
+#: ../output.py:2092
 msgid "Not found given transaction ID"
 msgstr ""
 
-#: ../output.py:1577
+#: ../output.py:2100
 msgid "Found more than one transaction ID!"
 msgstr ""
 
-#: ../output.py:1618 ../output.py:1980
+#: ../output.py:2151 ../output.py:2534
 msgid "No transaction ID, or package, given"
 msgstr ""
 
-#: ../output.py:1686 ../output.py:1845
+#: ../output.py:2222 ../output.py:2384
 msgid "Downgraded"
 msgstr ""
 
-#: ../output.py:1688
+#: ../output.py:2224
 msgid "Older"
 msgstr ""
 
-#: ../output.py:1688
+#: ../output.py:2224
 msgid "Newer"
 msgstr ""
 
-#: ../output.py:1724 ../output.py:1726
+#: ../output.py:2261 ../output.py:2263 ../output.py:2681
 msgid "Transaction ID :"
 msgstr ""
 
-#: ../output.py:1728
+#: ../output.py:2265 ../output.py:2683
 msgid "Begin time     :"
 msgstr ""
 
-#: ../output.py:1731 ../output.py:1733
+#: ../output.py:2268 ../output.py:2270
 msgid "Begin rpmdb    :"
 msgstr ""
 
-#: ../output.py:1749
+#: ../output.py:2286
 #, python-format
 msgid "(%u seconds)"
 msgstr ""
 
-#: ../output.py:1751
+#: ../output.py:2288
 #, python-format
 msgid "(%u minutes)"
 msgstr ""
 
-#: ../output.py:1753
+#: ../output.py:2290
 #, python-format
 msgid "(%u hours)"
 msgstr ""
 
-#: ../output.py:1755
+#: ../output.py:2292
 #, python-format
 msgid "(%u days)"
 msgstr ""
 
-#: ../output.py:1756
+#: ../output.py:2293
 msgid "End time       :"
 msgstr ""
 
-#: ../output.py:1759 ../output.py:1761
+#: ../output.py:2296 ../output.py:2298
 msgid "End rpmdb      :"
 msgstr ""
 
-#: ../output.py:1764 ../output.py:1766
+#: ../output.py:2301 ../output.py:2303
 msgid "User           :"
 msgstr ""
 
-#: ../output.py:1770 ../output.py:1773 ../output.py:1775 ../output.py:1777
-#: ../output.py:1779
+#: ../output.py:2307 ../output.py:2310 ../output.py:2312 ../output.py:2314
+#: ../output.py:2316
 msgid "Return-Code    :"
 msgstr ""
 
-#: ../output.py:1770 ../output.py:1775
+#: ../output.py:2307 ../output.py:2312
 msgid "Aborted"
 msgstr ""
 
-#: ../output.py:1773
+#: ../output.py:2310
 msgid "Failures:"
 msgstr ""
 
-#: ../output.py:1777
+#: ../output.py:2314
 msgid "Failure:"
 msgstr ""
 
-#: ../output.py:1779
+#: ../output.py:2316
 msgid "Success"
 msgstr ""
 
-#: ../output.py:1784 ../output.py:1786
+#: ../output.py:2321 ../output.py:2323 ../output.py:2712
 msgid "Command Line   :"
 msgstr ""
 
-#: ../output.py:1795
+#: ../output.py:2332
 #, python-format
 msgid "Additional non-default information stored: %d"
 msgstr ""
 
 #. This is _possible_, but not common
-#: ../output.py:1800
+#: ../output.py:2337
 msgid "Transaction performed with:"
 msgstr ""
 
-#: ../output.py:1804
+#: ../output.py:2341
 msgid "Packages Altered:"
 msgstr ""
 
-#: ../output.py:1808
+#: ../output.py:2345
 msgid "Packages Skipped:"
 msgstr ""
 
-#: ../output.py:1814
+#: ../output.py:2353
 msgid "Rpmdb Problems:"
 msgstr ""
 
-#: ../output.py:1825
+#: ../output.py:2364
 msgid "Scriptlet output:"
 msgstr ""
 
-#: ../output.py:1831
+#: ../output.py:2370
 msgid "Errors:"
 msgstr ""
 
-#: ../output.py:1837 ../output.py:1838
-msgid "Install"
-msgstr ""
-
-#: ../output.py:1839
+#: ../output.py:2378
 msgid "Dep-Install"
 msgstr ""
 
-#: ../output.py:1841
+#: ../output.py:2380
 msgid "Obsoleting"
 msgstr ""
 
-#: ../output.py:1842
+#: ../output.py:2381
 msgid "Erase"
 msgstr ""
 
-#: ../output.py:1843
-msgid "Reinstall"
-msgstr ""
-
-#: ../output.py:1844
-msgid "Downgrade"
-msgstr ""
-
-#: ../output.py:1846
+#: ../output.py:2385
 msgid "Update"
 msgstr ""
 
-#: ../output.py:1909
+#: ../output.py:2459
 msgid "Time"
 msgstr ""
 
-#: ../output.py:1935
+#: ../output.py:2485
 msgid "Last day"
 msgstr ""
 
-#: ../output.py:1936
+#: ../output.py:2486
 msgid "Last week"
 msgstr ""
 
-#: ../output.py:1937
+#: ../output.py:2487
 msgid "Last 2 weeks"
 msgstr ""
 
 #. US default :p
-#: ../output.py:1938
+#: ../output.py:2488
 msgid "Last 3 months"
 msgstr ""
 
-#: ../output.py:1939
+#: ../output.py:2489
 msgid "Last 6 months"
 msgstr ""
 
-#: ../output.py:1940
+#: ../output.py:2490
 msgid "Last year"
 msgstr ""
 
-#: ../output.py:1941
+#: ../output.py:2491
 msgid "Over a year ago"
 msgstr ""
 
-#: ../output.py:1984
+#: ../output.py:2538
 #, python-format
 msgid "No Transaction %s found"
 msgstr ""
 
-#: ../output.py:1990
+#: ../output.py:2544
 msgid "Transaction ID:"
 msgstr ""
 
-#: ../output.py:1991
+#: ../output.py:2545
 msgid "Available additional history information:"
 msgstr ""
 
-#: ../output.py:2003
+#: ../output.py:2558
 #, python-format
 msgid "%s: No additional data found by this name"
 msgstr ""
 
-#: ../output.py:2106
+#: ../output.py:2684
+msgid "Package        :"
+msgstr ""
+
+#: ../output.py:2685
+msgid "State          :"
+msgstr ""
+
+#: ../output.py:2688
+msgid "Size           :"
+msgstr ""
+
+#: ../output.py:2690
+msgid "Build host     :"
+msgstr ""
+
+#: ../output.py:2693
+msgid "Build time     :"
+msgstr ""
+
+#: ../output.py:2695
+msgid "Packager       :"
+msgstr ""
+
+#: ../output.py:2697
+msgid "Vendor         :"
+msgstr ""
+
+#: ../output.py:2699
+msgid "License        :"
+msgstr ""
+
+#: ../output.py:2701
+msgid "URL            :"
+msgstr ""
+
+#: ../output.py:2703
+msgid "Source RPM     :"
+msgstr ""
+
+#: ../output.py:2706
+msgid "Commit Time    :"
+msgstr ""
+
+#: ../output.py:2708
+msgid "Committer      :"
+msgstr ""
+
+#: ../output.py:2710
+msgid "Reason         :"
+msgstr ""
+
+#: ../output.py:2714
+msgid "From repo      :"
+msgstr ""
+
+#: ../output.py:2718
+msgid "Installed by   :"
+msgstr ""
+
+#: ../output.py:2722
+msgid "Changed by     :"
+msgstr ""
+
+#: ../output.py:2767
 msgid "installed"
 msgstr "инсталиран"
 
-#: ../output.py:2107
+#: ../output.py:2768
 msgid "an update"
 msgstr ""
 
-#: ../output.py:2108
+#: ../output.py:2769
 msgid "erased"
 msgstr "обрисан"
 
-#: ../output.py:2109
+#: ../output.py:2770
 msgid "reinstalled"
 msgstr ""
 
-#: ../output.py:2110
+#: ../output.py:2771
 msgid "a downgrade"
 msgstr ""
 
-#: ../output.py:2111
+#: ../output.py:2772
 msgid "obsoleting"
 msgstr ""
 
-#: ../output.py:2112
+#: ../output.py:2773
 msgid "updated"
 msgstr "ажуриран"
 
-#: ../output.py:2113
+#: ../output.py:2774
 msgid "obsoleted"
 msgstr "превазиђен"
 
-#: ../output.py:2117
+#: ../output.py:2778
 #, python-format
 msgid "---> Package %s.%s %s:%s-%s will be %s"
 msgstr ""
 
-#: ../output.py:2124
+#: ../output.py:2789
 msgid "--> Running transaction check"
 msgstr "--> Извршава се провера трансакције"
 
-#: ../output.py:2129
+#: ../output.py:2795
 msgid "--> Restarting Dependency Resolution with new changes."
 msgstr "--> Поновно покретање разрешавања зависности са новим променама."
 
-#: ../output.py:2134
+#: ../output.py:2801
 msgid "--> Finished Dependency Resolution"
 msgstr "--> Завршено је разрешавање зависности"
 
-#: ../output.py:2139 ../output.py:2144
+#: ../output.py:2814 ../output.py:2827
 #, python-format
 msgid "--> Processing Dependency: %s for package: %s"
 msgstr "--> Обрађујем зависност: %s за пакет: %s"
 
-#: ../output.py:2149
+#: ../output.py:2841
 #, python-format
-msgid "---> Keeping package: %s"
+msgid "---> Keeping package: %s due to %s"
 msgstr ""
 
-#: ../output.py:2152
+#: ../output.py:2850
 #, python-format
 msgid "--> Unresolved Dependency: %s"
 msgstr "--> Неразрешена зависност: %s"
 
-#: ../output.py:2163
+#: ../output.py:2867
 #, python-format
 msgid "Package: %s"
 msgstr ""
 
-#: ../output.py:2165
+#: ../output.py:2869
 #, python-format
 msgid ""
 "\n"
 "    Requires: %s"
 msgstr ""
 
-#: ../output.py:2174
+#: ../output.py:2878
 #, python-format
 msgid ""
 "\n"
 "    %s: %s (%s)"
 msgstr ""
 
-#: ../output.py:2179
+#: ../output.py:2883
 #, python-format
 msgid ""
 "\n"
 "        %s"
 msgstr ""
 
-#: ../output.py:2181
+#: ../output.py:2885
 msgid ""
 "\n"
 "        Not found"
 msgstr ""
 
 #. These should be the only three things we care about:
-#: ../output.py:2196
+#: ../output.py:2900
 msgid "Updated By"
 msgstr ""
 
-#: ../output.py:2197
+#: ../output.py:2901
 msgid "Downgraded By"
 msgstr ""
 
-#: ../output.py:2198
+#: ../output.py:2902
 msgid "Obsoleted By"
 msgstr ""
 
-#: ../output.py:2216
+#: ../output.py:2920
 msgid "Available"
 msgstr ""
 
-#: ../output.py:2243 ../output.py:2248
+#: ../output.py:2955 ../output.py:2968
 #, python-format
 msgid "--> Processing Conflict: %s conflicts %s"
 msgstr "--> Сукоб при обради: %s се сукоби са %s"
 
-#: ../output.py:2252
+#: ../output.py:2974
 msgid "--> Populating transaction set with selected packages. Please wait."
-msgstr ""
-"--> Попуњавам скуп трансакције са изабраним пакетима. Молим вас, сачекајте."
+msgstr "--> Попуњавам скуп трансакције са изабраним пакетима. Молим вас, сачекајте."
 
-#: ../output.py:2256
+#: ../output.py:2983
 #, python-format
 msgid "---> Downloading header for %s to pack into transaction set."
 msgstr "---> Преузимам заглавље за %s ради паковања у скуп трансакције."
 
-#: ../utils.py:99
+#. self.event(txmbr.name, count, len(base.tsInfo), count, )
+#. (te_current*100L)/te_total
+#: ../output.py:3248
+msgid "Verifying"
+msgstr ""
+
+#: ../utils.py:123
 msgid "Running"
 msgstr "Извршава се"
 
-#: ../utils.py:100
+#: ../utils.py:124
 msgid "Sleeping"
 msgstr "Успаван"
 
-#: ../utils.py:101
+#: ../utils.py:125
 msgid "Uninterruptible"
 msgstr ""
 
-#: ../utils.py:102
+#: ../utils.py:126
 msgid "Zombie"
 msgstr "Зомби"
 
-#: ../utils.py:103
+#: ../utils.py:127
 msgid "Traced/Stopped"
 msgstr "Праћен/заустављен"
 
-#: ../utils.py:104 ../yumcommands.py:994
+#: ../utils.py:128 ../yumcommands.py:2193
 msgid "Unknown"
 msgstr "Непознат"
 
-#: ../utils.py:115
+#: ../utils.py:153
 msgid "  The other application is: PackageKit"
 msgstr "  Други програм је: PackageKit"
 
-#: ../utils.py:117
+#: ../utils.py:155
 #, python-format
 msgid "  The other application is: %s"
 msgstr "  Други програм је: %s"
 
-#: ../utils.py:120
+#: ../utils.py:158
 #, python-format
 msgid "    Memory : %5s RSS (%5sB VSZ)"
 msgstr "    Меморија: %5s RSS (%5sБ VSZ)"
 
-#: ../utils.py:125
+#: ../utils.py:163
 #, python-format
 msgid "    Started: %s - %s ago"
 msgstr "    Покренут: %s - %s раније"
 
-#: ../utils.py:127
+#: ../utils.py:165
 #, python-format
 msgid "    State  : %s, pid: %d"
 msgstr "    Стање   : %s, pid: %d"
 
-#: ../utils.py:170 ../yummain.py:43
+#: ../utils.py:194 ../yummain.py:43
 msgid ""
 "\n"
 "\n"
 "Exiting on user cancel"
-msgstr ""
-"\n"
-"\n"
-"Излазим када корисник откаже"
+msgstr "\n\nИзлазим када корисник откаже"
 
-#: ../utils.py:176 ../yummain.py:49
+#: ../utils.py:206 ../yummain.py:49
 msgid ""
 "\n"
 "\n"
 "Exiting on Broken Pipe"
-msgstr ""
-"\n"
-"\n"
-"Излазим када се сломи цев"
+msgstr "\n\nИзлазим када се сломи цев"
 
-#: ../utils.py:178 ../yummain.py:51
+#: ../utils.py:208 ../yummain.py:51
 #, python-format
 msgid ""
 "\n"
@@ -1440,50 +1615,41 @@ msgid ""
 "%s"
 msgstr ""
 
-#: ../utils.py:228 ../yummain.py:123
-msgid ""
-"Another app is currently holding the yum lock; exiting as configured by "
-"exit_on_lock"
-msgstr ""
-
-#: ../utils.py:287
+#: ../utils.py:326
 #, python-format
 msgid "PluginExit Error: %s"
 msgstr ""
 
-#: ../utils.py:290
+#: ../utils.py:329
 #, python-format
 msgid "Yum Error: %s"
 msgstr ""
 
-#: ../utils.py:342 ../yummain.py:150 ../yummain.py:189
+#: ../utils.py:387 ../yummain.py:147 ../yummain.py:186
 #, python-format
 msgid "Error: %s"
 msgstr "Грешка: %s"
 
-#: ../utils.py:346 ../yummain.py:194
+#: ../utils.py:391 ../yummain.py:191
 msgid " You could try using --skip-broken to work around the problem"
-msgstr ""
-" Можете да пробате употребу --skip-broken опције ради заобилажења проблема"
+msgstr " Можете да пробате употребу --skip-broken опције ради заобилажења проблема"
 
-#: ../utils.py:348 ../yummain.py:87
+#: ../utils.py:393 ../yummain.py:87
 msgid " You could try running: rpm -Va --nofiles --nodigest"
 msgstr ""
 
-#: ../utils.py:355 ../yummain.py:160 ../yummain.py:202
+#: ../utils.py:400 ../yummain.py:157 ../yummain.py:199
 #, python-format
 msgid "Unknown Error(s): Exit Code: %d:"
 msgstr "Непозната грешка(е): излазни код: %d:"
 
-#: ../utils.py:361 ../yummain.py:208
+#: ../utils.py:406 ../yummain.py:205
 msgid ""
 "\n"
 "Dependencies Resolved"
-msgstr ""
-"\n"
-"Зависности су разрешене"
+msgstr "\nЗависности су разрешене"
 
-#: ../utils.py:376 ../yummain.py:234
+#: ../utils.py:422 ../yummain.py:237
 msgid "Complete!"
 msgstr "Завршено!"
 
@@ -1495,7 +1661,7 @@ msgstr ""
 msgid "You need to be root to perform this command."
 msgstr "Морате бити root корисник да бисте извршили ову команду."
 
-#: ../yumcommands.py:59
+#: ../yumcommands.py:67
 msgid ""
 "\n"
 "You have enabled checking of packages via GPG keys. This is a good thing. \n"
@@ -1510,584 +1676,653 @@ msgid ""
 "will install it for you.\n"
 "\n"
 "For more information contact your distribution or package provider.\n"
-msgstr ""
-"\n"
-"Укључили сте проверу пакета помоћу GPG кључева. Ово је добра ствар. \n"
-"Међутим, немате инсталиран ниједан GPG јавни кључ. Морате да преузмете\n"
-"кључеве за пакете које желите да инсталирате и инсталирате их.\n"
-"То можете урадити извршавањем команде:\n"
-"    rpm --import public.gpg.key\n"
-"\n"
-"\n"
-"Такође, можете одредити урл за кључ који желите да користите\n"
-"за ризницу у „gpgkey“ опцији у одељку везаним за ризнице и yum \n"
-"ће га инсталирати за вас.\n"
-"\n"
-"За више информација контактирајте добављача ваше дистрибуције или пакета.\n"
+msgstr "\nУкључили сте проверу пакета помоћу GPG кључева. Ово је добра ствар. \nМеђутим, немате инсталиран ниједан GPG јавни кључ. Морате да преузмете\nкључеве за пакете које желите да инсталирате и инсталирате их.\nТо можете урадити извршавањем команде:\n    rpm --import public.gpg.key\n\n\nТакође, можете одредити урл за кључ који желите да користите\nза ризницу у „gpgkey“ опцији у одељку везаним за ризнице и yum \nће га инсталирати за вас.\n\nЗа више информација контактирајте добављача ваше дистрибуције или пакета.\n"
 
-#: ../yumcommands.py:74
+#: ../yumcommands.py:82
 #, python-format
 msgid "Problem repository: %s"
 msgstr ""
 
-#: ../yumcommands.py:80
+#: ../yumcommands.py:96
 #, python-format
 msgid "Error: Need to pass a list of pkgs to %s"
 msgstr "Грешка: потребно је да додате списак пакета за %s"
 
-#: ../yumcommands.py:86
+#: ../yumcommands.py:114
+#, python-format
+msgid "Error: Need at least two packages to %s"
+msgstr ""
+
+#: ../yumcommands.py:129
+#, python-format
+msgid "Error: Need to pass a repoid. and command to %s"
+msgstr ""
+
+#: ../yumcommands.py:136 ../yumcommands.py:142
+#, python-format
+msgid "Error: Need to pass a single valid repoid. to %s"
+msgstr ""
+
+#: ../yumcommands.py:147
+#, python-format
+msgid "Error: Repo %s is not enabled"
+msgstr ""
+
+#: ../yumcommands.py:164
 msgid "Error: Need an item to match"
 msgstr "Грешка: потребно је придружити ставку"
 
-#: ../yumcommands.py:92
+#: ../yumcommands.py:178
 msgid "Error: Need a group or list of groups"
 msgstr "Грешка: потребна је група или списак група"
 
-#: ../yumcommands.py:101
+#: ../yumcommands.py:195
 #, python-format
 msgid "Error: clean requires an option: %s"
 msgstr "Грешка: clean захтева опцију: %s"
 
-#: ../yumcommands.py:106
+#: ../yumcommands.py:201
 #, python-format
 msgid "Error: invalid clean argument: %r"
 msgstr "Грешка: погрешан clean аргумент:%r"
 
-#: ../yumcommands.py:119
+#: ../yumcommands.py:216
 msgid "No argument to shell"
 msgstr "Не постоји аргумент за командно окружење"
 
-#: ../yumcommands.py:121
+#: ../yumcommands.py:218
 #, python-format
 msgid "Filename passed to shell: %s"
 msgstr "Име датотеке је прослеђено командном окружењу: %s"
 
-#: ../yumcommands.py:125
+#: ../yumcommands.py:222
 #, python-format
 msgid "File %s given as argument to shell does not exist."
-msgstr ""
-"Не постоји датотека %s, која је прослеђена као аргумент командном окружењу."
+msgstr "Не постоји датотека %s, која је прослеђена као аргумент командном окружењу."
 
-#: ../yumcommands.py:131
+#: ../yumcommands.py:228
 msgid "Error: more than one file given as argument to shell."
-msgstr ""
-"Грешка: више од једне датотеке је прослеђено као аргумент командном "
-"окружењу."
+msgstr "Грешка: више од једне датотеке је прослеђено као аргумент командном окружењу."
 
-#: ../yumcommands.py:148
+#: ../yumcommands.py:247
 msgid ""
 "There are no enabled repos.\n"
 " Run \"yum repolist all\" to see the repos you have.\n"
 " You can enable repos with yum-config-manager --enable <repo>"
 msgstr ""
 
-#: ../yumcommands.py:200
+#: ../yumcommands.py:383
 msgid "PACKAGE..."
 msgstr "ПАКЕТ..."
 
-#: ../yumcommands.py:203
+#: ../yumcommands.py:390
 msgid "Install a package or packages on your system"
 msgstr "Инсталирајте пакет или пакете на ваш систем"
 
-#: ../yumcommands.py:212
+#: ../yumcommands.py:421
 msgid "Setting up Install Process"
 msgstr "Постављам процес инсталације"
 
-#: ../yumcommands.py:223 ../yumcommands.py:245
+#: ../yumcommands.py:447 ../yumcommands.py:507
 msgid "[PACKAGE...]"
 msgstr "[ПАКЕТ...]"
 
-#: ../yumcommands.py:226
+#: ../yumcommands.py:454
 msgid "Update a package or packages on your system"
 msgstr "Ажурирај пакет или пакете на вашем систему"
 
-#: ../yumcommands.py:234
+#: ../yumcommands.py:483
 msgid "Setting up Update Process"
 msgstr "Постављам процес ажурирања"
 
-#: ../yumcommands.py:248
+#: ../yumcommands.py:514
 msgid "Synchronize installed packages to the latest available versions"
 msgstr ""
 
-#: ../yumcommands.py:256
+#: ../yumcommands.py:543
 msgid "Setting up Distribution Synchronization Process"
 msgstr ""
 
-#: ../yumcommands.py:299
+#: ../yumcommands.py:603
 msgid "Display details about a package or group of packages"
 msgstr "Прикажи детаље о сваком пакету или групи пакета"
 
-#: ../yumcommands.py:348
+#: ../yumcommands.py:672
 msgid "Installed Packages"
 msgstr "Инсталирани пакети"
 
-#: ../yumcommands.py:356
+#: ../yumcommands.py:682
 msgid "Available Packages"
 msgstr "Доступни пакети"
 
-#: ../yumcommands.py:360
+#: ../yumcommands.py:687
 msgid "Extra Packages"
 msgstr "Додатни пакети"
 
-#: ../yumcommands.py:364
+#: ../yumcommands.py:691
 msgid "Updated Packages"
 msgstr "Ажурирани пакети"
 
 #. This only happens in verbose mode
-#: ../yumcommands.py:372 ../yumcommands.py:379 ../yumcommands.py:667
+#: ../yumcommands.py:699 ../yumcommands.py:706 ../yumcommands.py:1539
 msgid "Obsoleting Packages"
 msgstr "Превазиђени пакети"
 
-#: ../yumcommands.py:381
+#: ../yumcommands.py:708
 msgid "Recently Added Packages"
 msgstr "Недавно додати пакети"
 
-#: ../yumcommands.py:388
+#: ../yumcommands.py:715
 msgid "No matching Packages to list"
 msgstr "Не постоје одговарајући пакети за излиставање"
 
-#: ../yumcommands.py:402
+#: ../yumcommands.py:766
 msgid "List a package or groups of packages"
 msgstr "Излистај пакете или групе пакета"
 
-#: ../yumcommands.py:414
+#: ../yumcommands.py:797
 msgid "Remove a package or packages from your system"
 msgstr "Уклоните пакет или пакете са вашег система"
 
-#: ../yumcommands.py:421
+#: ../yumcommands.py:845
 msgid "Setting up Remove Process"
 msgstr "Постављам процес уклањања"
 
-#: ../yumcommands.py:435
+#: ../yumcommands.py:906
+msgid "Display, or use, the groups information"
+msgstr ""
+
+#: ../yumcommands.py:909
 msgid "Setting up Group Process"
 msgstr "Постављам процес за групе"
 
-#: ../yumcommands.py:441
+#: ../yumcommands.py:915
 msgid "No Groups on which to run command"
 msgstr "Не постоји група над којом се може извршити команда"
 
-#: ../yumcommands.py:454
-msgid "List available package groups"
-msgstr "Излистај доступне групе пакета"
-
-#: ../yumcommands.py:474
-msgid "Install the packages in a group on your system"
-msgstr "Инсталирајте пакете у групи на вашем систему"
+#: ../yumcommands.py:985
+#, python-format
+msgid "Invalid groups sub-command, use: %s."
+msgstr ""
 
-#: ../yumcommands.py:497
-msgid "Remove the packages in a group from your system"
-msgstr "Уклоните пакете у групи са вашег система"
+#: ../yumcommands.py:992
+msgid "There is no installed groups file."
+msgstr ""
 
-#: ../yumcommands.py:525
-msgid "Display details about a package group"
-msgstr "Прикажи детаље о групи пакета"
+#: ../yumcommands.py:994
+msgid "You don't have access to the groups DB."
+msgstr ""
 
-#: ../yumcommands.py:550
+#: ../yumcommands.py:1256
 msgid "Generate the metadata cache"
 msgstr "Направи кеш са метаподацима"
 
-#: ../yumcommands.py:556
+#: ../yumcommands.py:1282
 msgid "Making cache files for all metadata files."
 msgstr "Правим кеш датотеке за све датотеке са метаподацима."
 
-#: ../yumcommands.py:557
+#: ../yumcommands.py:1283
 msgid "This may take a while depending on the speed of this computer"
 msgstr "Ово може да потраје у зависности од брзине вашег рачунара"
 
-#: ../yumcommands.py:578
+#: ../yumcommands.py:1312
 msgid "Metadata Cache Created"
 msgstr "Направљен је кеш са метаподацима"
 
-#: ../yumcommands.py:592
+#: ../yumcommands.py:1350
 msgid "Remove cached data"
 msgstr "Уклони кеширане податке"
 
-#: ../yumcommands.py:613
+#: ../yumcommands.py:1417
 msgid "Find what package provides the given value"
 msgstr "Пронађи који пакет пружа дату вредност"
 
-#: ../yumcommands.py:633
+#: ../yumcommands.py:1485
 msgid "Check for available package updates"
 msgstr "Проверите да ли су доступна ажурирања пакета"
 
-#: ../yumcommands.py:687
+#: ../yumcommands.py:1587
 msgid "Search package details for the given string"
 msgstr "Претражите детаље о пакету за задату ниску"
 
-#: ../yumcommands.py:693
+#: ../yumcommands.py:1613
 msgid "Searching Packages: "
 msgstr "Претражујем пакете: "
 
-#: ../yumcommands.py:710
+#: ../yumcommands.py:1666
 msgid "Update packages taking obsoletes into account"
 msgstr "Ажурирајте пакете узимајући превазиђене у обзир"
 
-#: ../yumcommands.py:719
+#: ../yumcommands.py:1696
 msgid "Setting up Upgrade Process"
 msgstr "Постављам процес надградње"
 
-#: ../yumcommands.py:737
+#: ../yumcommands.py:1731
 msgid "Install a local RPM"
 msgstr "Инсталирај локални RPM"
 
-#: ../yumcommands.py:745
+#: ../yumcommands.py:1761
 msgid "Setting up Local Package Process"
 msgstr "Постављам процес локалних пакета"
 
-#: ../yumcommands.py:764
-msgid "Determine which package provides the given dependency"
-msgstr "Одреди који пакети пружају дату зависност"
-
-#: ../yumcommands.py:767
+#: ../yumcommands.py:1825
 msgid "Searching Packages for Dependency:"
 msgstr "Претражујем пакете у потрази за зависностима:"
 
-#: ../yumcommands.py:781
+#: ../yumcommands.py:1867
 msgid "Run an interactive yum shell"
 msgstr "Извршавај интерактивно yum командно окружење"
 
-#: ../yumcommands.py:787
+#: ../yumcommands.py:1893
 msgid "Setting up Yum Shell"
 msgstr "Постављам yum командно окружење"
 
-#: ../yumcommands.py:805
+#: ../yumcommands.py:1936
 msgid "List a package's dependencies"
 msgstr "Излистај зависности пакета"
 
-#: ../yumcommands.py:811
+#: ../yumcommands.py:1963
 msgid "Finding dependencies: "
 msgstr "Тражим зависности: "
 
-#: ../yumcommands.py:827
+#: ../yumcommands.py:2005
 msgid "Display the configured software repositories"
 msgstr "Прикажи подешене софтверске ризнице"
 
-#: ../yumcommands.py:893 ../yumcommands.py:894
+#: ../yumcommands.py:2094 ../yumcommands.py:2095
 msgid "enabled"
 msgstr "укључена"
 
-#: ../yumcommands.py:920 ../yumcommands.py:921
+#: ../yumcommands.py:2121 ../yumcommands.py:2122
 msgid "disabled"
 msgstr "искључена"
 
-#: ../yumcommands.py:937
+#: ../yumcommands.py:2137
 msgid "Repo-id      : "
 msgstr ""
 
-#: ../yumcommands.py:938
+#: ../yumcommands.py:2138
 msgid "Repo-name    : "
 msgstr ""
 
-#: ../yumcommands.py:941
+#: ../yumcommands.py:2141
 msgid "Repo-status  : "
 msgstr ""
 
-#: ../yumcommands.py:944
+#: ../yumcommands.py:2144
 msgid "Repo-revision: "
 msgstr "Ревизија ризнице     : "
 
-#: ../yumcommands.py:948
+#: ../yumcommands.py:2148
 msgid "Repo-tags    : "
 msgstr ""
 
-#: ../yumcommands.py:954
+#: ../yumcommands.py:2154
 msgid "Repo-distro-tags: "
 msgstr "Дистро ознаке ризнице: "
 
-#: ../yumcommands.py:959
+#: ../yumcommands.py:2159
 msgid "Repo-updated : "
 msgstr ""
 
-#: ../yumcommands.py:961
+#: ../yumcommands.py:2161
 msgid "Repo-pkgs    : "
 msgstr ""
 
-#: ../yumcommands.py:962
+#: ../yumcommands.py:2162
 msgid "Repo-size    : "
 msgstr ""
 
-#: ../yumcommands.py:969 ../yumcommands.py:990
+#: ../yumcommands.py:2169 ../yumcommands.py:2190
 msgid "Repo-baseurl : "
 msgstr ""
 
-#: ../yumcommands.py:977
+#: ../yumcommands.py:2177
 msgid "Repo-metalink: "
 msgstr "Металинк ризнице     : "
 
-#: ../yumcommands.py:981
+#: ../yumcommands.py:2181
 msgid "  Updated    : "
 msgstr "  Ажурирано          : "
 
-#: ../yumcommands.py:984
+#: ../yumcommands.py:2184
 msgid "Repo-mirrors : "
 msgstr ""
 
-#: ../yumcommands.py:1000
+#: ../yumcommands.py:2199
 #, python-format
 msgid "Never (last: %s)"
 msgstr ""
 
-#: ../yumcommands.py:1002
+#: ../yumcommands.py:2201
 #, python-format
 msgid "Instant (last: %s)"
 msgstr ""
 
-#: ../yumcommands.py:1005
+#: ../yumcommands.py:2204
 #, python-format
 msgid "%s second(s) (last: %s)"
 msgstr ""
 
-#: ../yumcommands.py:1007
+#: ../yumcommands.py:2206
 msgid "Repo-expire  : "
 msgstr ""
 
-#: ../yumcommands.py:1010
+#: ../yumcommands.py:2209
 msgid "Repo-exclude : "
 msgstr ""
 
-#: ../yumcommands.py:1014
+#: ../yumcommands.py:2213
 msgid "Repo-include : "
 msgstr ""
 
-#: ../yumcommands.py:1018
+#: ../yumcommands.py:2217
 msgid "Repo-excluded: "
 msgstr ""
 
-#: ../yumcommands.py:1022
+#: ../yumcommands.py:2221
 msgid "Repo-filename: "
 msgstr ""
 
 #. Work out the first (id) and last (enabled/disalbed/count),
 #. then chop the middle (name)...
-#: ../yumcommands.py:1032 ../yumcommands.py:1061
+#: ../yumcommands.py:2230 ../yumcommands.py:2259
 msgid "repo id"
 msgstr "репо id"
 
-#: ../yumcommands.py:1049 ../yumcommands.py:1050 ../yumcommands.py:1068
+#: ../yumcommands.py:2247 ../yumcommands.py:2248 ../yumcommands.py:2266
 msgid "status"
 msgstr "статус"
 
-#: ../yumcommands.py:1062
+#: ../yumcommands.py:2260
 msgid "repo name"
 msgstr "репо име"
 
-#: ../yumcommands.py:1099
+#: ../yumcommands.py:2332
 msgid "Display a helpful usage message"
 msgstr "Прикажи корисну поруку о употреби"
 
-#: ../yumcommands.py:1133
+#: ../yumcommands.py:2374
 #, python-format
 msgid "No help available for %s"
 msgstr "Није доступна помоћ за %s"
 
-#: ../yumcommands.py:1138
+#: ../yumcommands.py:2379
 msgid ""
 "\n"
 "\n"
 "aliases: "
-msgstr ""
-"\n"
-"\n"
-"псеудоними: "
+msgstr "\n\nпсеудоними: "
 
-#: ../yumcommands.py:1140
+#: ../yumcommands.py:2381
 msgid ""
 "\n"
 "\n"
 "alias: "
-msgstr ""
-"\n"
-"\n"
-"псеудоним: "
+msgstr "\n\nпсеудоним: "
 
-#: ../yumcommands.py:1168
+#: ../yumcommands.py:2466
 msgid "Setting up Reinstall Process"
 msgstr "Постављам процес поновне инсталације"
 
-#: ../yumcommands.py:1176
+#: ../yumcommands.py:2478
 msgid "reinstall a package"
 msgstr "поновно инсталирам пакет"
 
-#: ../yumcommands.py:1195
+#: ../yumcommands.py:2541
 msgid "Setting up Downgrade Process"
 msgstr "Постављам процес уназађивања"
 
-#: ../yumcommands.py:1202
+#: ../yumcommands.py:2552
 msgid "downgrade a package"
 msgstr "уназади пакет"
 
-#: ../yumcommands.py:1216
+#: ../yumcommands.py:2591
 msgid "Display a version for the machine and/or available repos."
 msgstr ""
 
-#: ../yumcommands.py:1255
+#: ../yumcommands.py:2643
 msgid " Yum version groups:"
 msgstr ""
 
-#: ../yumcommands.py:1265
+#: ../yumcommands.py:2653
 msgid " Group   :"
 msgstr ""
 
-#: ../yumcommands.py:1266
+#: ../yumcommands.py:2654
 msgid " Packages:"
 msgstr ""
 
-#: ../yumcommands.py:1295
+#: ../yumcommands.py:2683
 msgid "Installed:"
 msgstr ""
 
-#: ../yumcommands.py:1303
+#: ../yumcommands.py:2691
 msgid "Group-Installed:"
 msgstr ""
 
-#: ../yumcommands.py:1312
+#: ../yumcommands.py:2700
 msgid "Available:"
 msgstr ""
 
-#: ../yumcommands.py:1321
+#: ../yumcommands.py:2709
 msgid "Group-Available:"
 msgstr ""
 
-#: ../yumcommands.py:1360
+#: ../yumcommands.py:2783
 msgid "Display, or use, the transaction history"
 msgstr ""
 
-#: ../yumcommands.py:1432
+#: ../yumcommands.py:2876 ../yumcommands.py:2880
+msgid "Transactions:"
+msgstr ""
+
+#: ../yumcommands.py:2881
+msgid "Begin time  :"
+msgstr ""
+
+#: ../yumcommands.py:2882
+msgid "End time    :"
+msgstr ""
+
+#: ../yumcommands.py:2883
+msgid "Counts      :"
+msgstr ""
+
+#: ../yumcommands.py:2884
+msgid "  NEVRAC :"
+msgstr ""
+
+#: ../yumcommands.py:2885
+msgid "  NEVRA  :"
+msgstr ""
+
+#: ../yumcommands.py:2886
+msgid "  NA     :"
+msgstr ""
+
+#: ../yumcommands.py:2887
+msgid "  NEVR   :"
+msgstr ""
+
+#: ../yumcommands.py:2888
+msgid "  rpm DB :"
+msgstr ""
+
+#: ../yumcommands.py:2889
+msgid "  yum DB :"
+msgstr ""
+
+#: ../yumcommands.py:2922
 #, python-format
 msgid "Invalid history sub-command, use: %s."
 msgstr ""
 
-#: ../yumcommands.py:1439
+#: ../yumcommands.py:2929
 msgid "You don't have access to the history DB."
 msgstr ""
 
-#: ../yumcommands.py:1487
+#: ../yumcommands.py:3036
 msgid "Check for problems in the rpmdb"
 msgstr ""
 
-#: ../yumcommands.py:1514
+#: ../yumcommands.py:3102
 msgid "load a saved transaction from filename"
 msgstr ""
 
-#: ../yumcommands.py:1518
+#: ../yumcommands.py:3119
 msgid "No saved transaction file specified."
 msgstr ""
 
-#: ../yumcommands.py:1522
+#: ../yumcommands.py:3123
 #, python-format
 msgid "loading transaction from %s"
 msgstr ""
 
-#: ../yumcommands.py:1528
+#: ../yumcommands.py:3129
 #, python-format
 msgid "Transaction loaded from %s with %s members"
 msgstr ""
 
+#: ../yumcommands.py:3169
+msgid "Simple way to swap packages, isntead of using shell"
+msgstr ""
+
+#: ../yumcommands.py:3264
+msgid ""
+"Treat a repo. as a group of packages, so we can install/remove all of them"
+msgstr ""
+
+#: ../yumcommands.py:3341
+#, python-format
+msgid "%d package to update"
+msgid_plural "%d packages to update"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#: ../yumcommands.py:3370
+#, python-format
+msgid "%d package to remove/reinstall"
+msgid_plural "%d packages to remove/reinstall"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#: ../yumcommands.py:3413
+#, python-format
+msgid "%d package to remove/sync"
+msgid_plural "%d packages to remove/sync"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#: ../yumcommands.py:3417
+#, python-format
+msgid "Not a valid sub-command of %s"
+msgstr ""
+
 #. This is mainly for PackageSackError from rpmdb.
 #: ../yummain.py:84
 #, python-format
 msgid " Yum checks failed: %s"
 msgstr ""
 
-#: ../yummain.py:114
-msgid ""
-"Another app is currently holding the yum lock; waiting for it to exit..."
+#: ../yummain.py:98
+msgid "No read/execute access in current directory, moving to /"
 msgstr ""
-"Неки други програм тренутно држи yum закључаним; чекам да тај програм "
-"изађе..."
 
-#: ../yummain.py:120
-msgid "Can't create lock file; exiting"
+#: ../yummain.py:106
+msgid "No getcwd() access in current directory, moving to /"
 msgstr ""
 
 #. Depsolve stage
-#: ../yummain.py:167
+#: ../yummain.py:164
 msgid "Resolving Dependencies"
 msgstr "Разрешавам зависности"
 
-#: ../yummain.py:230
+#: ../yummain.py:227 ../yummain.py:235
 #, python-format
-msgid "Your transaction was saved, rerun it with: yum load-transaction %s"
+msgid ""
+"Your transaction was saved, rerun it with:\n"
+" yum load-transaction %s"
 msgstr ""
 
-#: ../yummain.py:288
+#: ../yummain.py:312
 msgid ""
 "\n"
 "\n"
 "Exiting on user cancel."
-msgstr ""
-"\n"
-"\n"
-"Излазим када корисник откаже."
+msgstr "\n\nИзлазим када корисник откаже."
 
-#: ../yum/depsolve.py:84
+#: ../yum/depsolve.py:127
 msgid "doTsSetup() will go away in a future version of Yum.\n"
 msgstr "doTsSetup() неће бити присутна у будућим верзијама Yum-а.\n"
 
-#: ../yum/depsolve.py:99
+#: ../yum/depsolve.py:143
 msgid "Setting up TransactionSets before config class is up"
 msgstr "Постављам TransactionSets пре него што се подигне класа подешавања"
 
-#: ../yum/depsolve.py:153
+#: ../yum/depsolve.py:200
 #, python-format
 msgid "Invalid tsflag in config file: %s"
 msgstr "Погрешан tsflag у датотеци подешавања: %s"
 
-#: ../yum/depsolve.py:164
+#: ../yum/depsolve.py:218
 #, python-format
 msgid "Searching pkgSack for dep: %s"
 msgstr "Претражујем pkgSack за зависност: %s"
 
-#: ../yum/depsolve.py:207
+#: ../yum/depsolve.py:269
 #, python-format
 msgid "Member: %s"
 msgstr "Члан: %s"
 
-#: ../yum/depsolve.py:221 ../yum/depsolve.py:793
+#: ../yum/depsolve.py:283 ../yum/depsolve.py:937
 #, python-format
 msgid "%s converted to install"
 msgstr "%s пребачен за инсталацију"
 
-#: ../yum/depsolve.py:233
+#: ../yum/depsolve.py:295
 #, python-format
 msgid "Adding Package %s in mode %s"
 msgstr "Додајем пакет %s у начину рада %s"
 
-#: ../yum/depsolve.py:249
+#: ../yum/depsolve.py:311
 #, python-format
 msgid "Removing Package %s"
 msgstr "Уклањам пакет %s"
 
-#: ../yum/depsolve.py:271
+#: ../yum/depsolve.py:333
 #, python-format
 msgid "%s requires: %s"
 msgstr "%s захтева: %s"
 
-#: ../yum/depsolve.py:312
+#: ../yum/depsolve.py:374
 #, python-format
 msgid "%s requires %s"
 msgstr ""
 
-#: ../yum/depsolve.py:339
+#: ../yum/depsolve.py:401
 msgid "Needed Require has already been looked up, cheating"
 msgstr "Потребан захтев је већ потражен, обмањујем"
 
-#: ../yum/depsolve.py:349
+#: ../yum/depsolve.py:411
 #, python-format
 msgid "Needed Require is not a package name. Looking up: %s"
 msgstr "Потребан захтев није име пакета. Тражим: %s"
 
-#: ../yum/depsolve.py:357
+#: ../yum/depsolve.py:419
 #, python-format
 msgid "Potential Provider: %s"
 msgstr "Могући снабдевач: %s"
 
-#: ../yum/depsolve.py:380
+#: ../yum/depsolve.py:442
 #, python-format
 msgid "Mode is %s for provider of %s: %s"
 msgstr "Режим је %s за снабдевача %s: %s"
 
-#: ../yum/depsolve.py:384
+#: ../yum/depsolve.py:446
 #, python-format
 msgid "Mode for pkg providing %s: %s"
 msgstr "Режим за пакет који снабдева %s: %s"
@@ -2095,1017 +2330,1142 @@ msgstr "Режим за пакет који снабдева %s: %s"
 #. the thing it needs is being updated or obsoleted away
 #. try to update the requiring package in hopes that all this problem goes
 #. away :(
-#: ../yum/depsolve.py:389 ../yum/depsolve.py:406
+#: ../yum/depsolve.py:451 ../yum/depsolve.py:486
 #, python-format
 msgid "Trying to update %s to resolve dep"
 msgstr ""
 
-#: ../yum/depsolve.py:400 ../yum/depsolve.py:410
+#: ../yum/depsolve.py:480
 #, python-format
 msgid "No update paths found for %s. Failure!"
 msgstr ""
 
-#: ../yum/depsolve.py:416
+#: ../yum/depsolve.py:491
+#, python-format
+msgid "No update paths found for %s. Failure due to requirement: %s!"
+msgstr ""
+
+#: ../yum/depsolve.py:507
+#, python-format
+msgid "Update for %s. Doesn't fix requirement: %s!"
+msgstr ""
+
+#: ../yum/depsolve.py:514
 #, python-format
 msgid "TSINFO: %s package requiring %s marked as erase"
 msgstr "TSINFO: %s пакет захтева да %s буде означен за брисање"
 
-#: ../yum/depsolve.py:429
+#: ../yum/depsolve.py:527
 #, python-format
 msgid "TSINFO: Obsoleting %s with %s to resolve dep."
 msgstr "TSINFO: мењам %s са %s ради разрешавања зависности."
 
-#: ../yum/depsolve.py:432
+#: ../yum/depsolve.py:530
 #, python-format
 msgid "TSINFO: Updating %s to resolve dep."
 msgstr "TSINFO: ажурирам %s ради разрешавања зависности."
 
-#: ../yum/depsolve.py:440
+#: ../yum/depsolve.py:538
 #, python-format
 msgid "Cannot find an update path for dep for: %s"
 msgstr "Не могу да пронађем путању ажурирања за зависност за: %s"
 
-#: ../yum/depsolve.py:471
+#: ../yum/depsolve.py:569
 #, python-format
 msgid "Quick matched %s to require for %s"
 msgstr "Брзо повезивање пакета %s као захтева за %s"
 
 #. is it already installed?
-#: ../yum/depsolve.py:513
+#: ../yum/depsolve.py:611
 #, python-format
 msgid "%s is in providing packages but it is already installed, removing."
 msgstr "%s је у пруженим пакетима али је већ инсталиран, уклањам га."
 
-#: ../yum/depsolve.py:529
+#: ../yum/depsolve.py:627
 #, python-format
 msgid "Potential resolving package %s has newer instance in ts."
 msgstr "Потенцијално разрешавање пакета %s има новији примерак у ts-у."
 
-#: ../yum/depsolve.py:540
+#: ../yum/depsolve.py:638
 #, python-format
 msgid "Potential resolving package %s has newer instance installed."
 msgstr "Потенцијално разрешавање пакета %s има инсталиран новији примерак."
 
-#: ../yum/depsolve.py:558
+#: ../yum/depsolve.py:656
 #, python-format
 msgid "%s already in ts, skipping this one"
 msgstr "%s је већ у ts-у, прескачем га"
 
-#: ../yum/depsolve.py:607
+#: ../yum/depsolve.py:705
 #, python-format
 msgid "TSINFO: Marking %s as update for %s"
 msgstr "TSINFO: означавам %s као ажурирање за %s"
 
-#: ../yum/depsolve.py:616
+#: ../yum/depsolve.py:714
 #, python-format
 msgid "TSINFO: Marking %s as install for %s"
 msgstr "TSINFO: означавам %s као инсталацију за %s"
 
-#: ../yum/depsolve.py:727 ../yum/depsolve.py:819
+#: ../yum/depsolve.py:849 ../yum/depsolve.py:967
 msgid "Success - empty transaction"
 msgstr "Успех - празна трансакција"
 
-#: ../yum/depsolve.py:767 ../yum/depsolve.py:783
+#: ../yum/depsolve.py:889 ../yum/depsolve.py:927
 msgid "Restarting Loop"
 msgstr "Поново покрећем петљу"
 
-#: ../yum/depsolve.py:799
+#: ../yum/depsolve.py:947
 msgid "Dependency Process ending"
 msgstr "Завршетак процеса зависности"
 
-#: ../yum/depsolve.py:821
+#: ../yum/depsolve.py:969
 msgid "Success - deps resolved"
 msgstr "Успех - зависности су разрешене"
 
-#: ../yum/depsolve.py:845
+#: ../yum/depsolve.py:993
 #, python-format
 msgid "Checking deps for %s"
 msgstr "Проверавам зависности за %s"
 
-#: ../yum/depsolve.py:931
+#: ../yum/depsolve.py:1082
 #, python-format
 msgid "looking for %s as a requirement of %s"
 msgstr "тражим %s као захтев за %s"
 
-#: ../yum/depsolve.py:1169
+#: ../yum/depsolve.py:1349
 #, python-format
 msgid "Running compare_providers() for %s"
 msgstr "Покрећем compare_providers() за %s"
 
-#: ../yum/depsolve.py:1196 ../yum/depsolve.py:1202
+#: ../yum/depsolve.py:1376 ../yum/depsolve.py:1382
 #, python-format
 msgid "better arch in po %s"
 msgstr "боља архитектура у пакету %s"
 
-#: ../yum/depsolve.py:1298
+#: ../yum/depsolve.py:1496
 #, python-format
 msgid "%s obsoletes %s"
 msgstr "%s превазилази %s"
 
-#: ../yum/depsolve.py:1310
+#: ../yum/depsolve.py:1508
 #, python-format
 msgid ""
 "archdist compared %s to %s on %s\n"
 "  Winner: %s"
-msgstr ""
-"archdist упоредио %s са %s на %s\n"
-"  Победник: %s"
+msgstr "archdist упоредио %s са %s на %s\n  Победник: %s"
 
-#: ../yum/depsolve.py:1318
+#: ../yum/depsolve.py:1516
 #, python-format
 msgid "common sourcerpm %s and %s"
 msgstr "заједнички изворни rpm %s и %s"
 
-#: ../yum/depsolve.py:1322
+#: ../yum/depsolve.py:1520
 #, python-format
 msgid "base package %s is installed for %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1328
+#: ../yum/depsolve.py:1526
 #, python-format
 msgid "common prefix of %s between %s and %s"
 msgstr "заједнички префикс %s између %s и %s"
 
-#: ../yum/depsolve.py:1359
+#: ../yum/depsolve.py:1543
 #, python-format
-msgid "requires minimal: %d"
+msgid "provides vercmp: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1363
+#: ../yum/depsolve.py:1547 ../yum/depsolve.py:1581
 #, python-format
 msgid " Winner: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1368
+#: ../yum/depsolve.py:1577
+#, python-format
+msgid "requires minimal: %d"
+msgstr ""
+
+#: ../yum/depsolve.py:1586
 #, python-format
 msgid " Loser(with %d): %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1384
+#: ../yum/depsolve.py:1602
 #, python-format
 msgid "Best Order: %s"
 msgstr "Најбољи редослед: %s"
 
-#: ../yum/__init__.py:234
+#: ../yum/__init__.py:274
 msgid "doConfigSetup() will go away in a future version of Yum.\n"
 msgstr "doConfigSetup() неће бити присутна у будућим верзијама Yum-а.\n"
 
-#: ../yum/__init__.py:482
+#: ../yum/__init__.py:553
+#, python-format
+msgid "Skipping unreadable repository %s"
+msgstr ""
+
+#: ../yum/__init__.py:572
 #, python-format
 msgid "Repository %r: Error parsing config: %s"
 msgstr ""
 
-#: ../yum/__init__.py:488
+#: ../yum/__init__.py:578
 #, python-format
 msgid "Repository %r is missing name in configuration, using id"
 msgstr "Ризници %r недостаје име у подешавањима, користим id"
 
-#: ../yum/__init__.py:526
+#: ../yum/__init__.py:618
 msgid "plugins already initialised"
 msgstr "већ иницијализовани додаци"
 
-#: ../yum/__init__.py:533
+#: ../yum/__init__.py:627
 msgid "doRpmDBSetup() will go away in a future version of Yum.\n"
 msgstr "doRpmDBSetup() неће бити присутна у будућим верзијама Yum-а.\n"
 
-#: ../yum/__init__.py:544
+#: ../yum/__init__.py:638
 msgid "Reading Local RPMDB"
 msgstr "Читам локални RPMDB"
 
-#: ../yum/__init__.py:567
+#: ../yum/__init__.py:668
 msgid "doRepoSetup() will go away in a future version of Yum.\n"
 msgstr "doRepoSetup() неће бити присутна у будућим верзијама Yum-а.\n"
 
-#: ../yum/__init__.py:630
+#: ../yum/__init__.py:722
 msgid "doSackSetup() will go away in a future version of Yum.\n"
 msgstr "doSackSetup() неће бити присутна у будућим верзијама Yum-а.\n"
 
-#: ../yum/__init__.py:660
+#: ../yum/__init__.py:752
 msgid "Setting up Package Sacks"
 msgstr "Постављам групе пакета"
 
-#: ../yum/__init__.py:705
+#: ../yum/__init__.py:797
 #, python-format
 msgid "repo object for repo %s lacks a _resetSack method\n"
 msgstr "репо објекту за репо %s недостаје a _resetSack метода\n"
 
-#: ../yum/__init__.py:706
+#: ../yum/__init__.py:798
 msgid "therefore this repo cannot be reset.\n"
 msgstr "због тога се овај репо не може вратити на почетну поставку.\n"
 
-#: ../yum/__init__.py:711
+#: ../yum/__init__.py:806
 msgid "doUpdateSetup() will go away in a future version of Yum.\n"
 msgstr "doUpdateSetup() неће бити присутна у будућим верзијама Yum-а.\n"
 
-#: ../yum/__init__.py:723
+#: ../yum/__init__.py:818
 msgid "Building updates object"
 msgstr "Изграђујем објекат ажурирања"
 
-#: ../yum/__init__.py:765
+#: ../yum/__init__.py:862
 msgid "doGroupSetup() will go away in a future version of Yum.\n"
 msgstr "doGroupSetup() неће бити присутна у будућим верзијама Yum-а.\n"
 
-#: ../yum/__init__.py:790
+#: ../yum/__init__.py:887
 msgid "Getting group metadata"
 msgstr "Добављам метаподатке групе"
 
-#: ../yum/__init__.py:816
+#: ../yum/__init__.py:915
 #, python-format
 msgid "Adding group file from repository: %s"
 msgstr "Додајем датотеку групе из ризнице: %s"
 
-#: ../yum/__init__.py:827
+#: ../yum/__init__.py:918
+#, python-format
+msgid "Failed to retrieve group file for repository: %s"
+msgstr ""
+
+#: ../yum/__init__.py:924
 #, python-format
 msgid "Failed to add groups file for repository: %s - %s"
 msgstr "Није успело додавање датотеке групе за ризницу: %s - %s"
 
-#: ../yum/__init__.py:833
+#: ../yum/__init__.py:930
 msgid "No Groups Available in any repository"
 msgstr "Не постоји група која је доступна у било којој ризници"
 
-#: ../yum/__init__.py:845
+#: ../yum/__init__.py:945
 msgid "Getting pkgtags metadata"
 msgstr ""
 
-#: ../yum/__init__.py:855
+#: ../yum/__init__.py:955
 #, python-format
 msgid "Adding tags from repository: %s"
 msgstr ""
 
-#: ../yum/__init__.py:866
+#: ../yum/__init__.py:966
 #, python-format
 msgid "Failed to add Pkg Tags for repository: %s - %s"
 msgstr ""
 
-#: ../yum/__init__.py:944
+#: ../yum/__init__.py:1059
 msgid "Importing additional filelist information"
 msgstr "Увозим додатне информације о списковима датотека"
 
-#: ../yum/__init__.py:958
+#: ../yum/__init__.py:1077
 #, python-format
 msgid "The program %s%s%s is found in the yum-utils package."
 msgstr ""
 
-#: ../yum/__init__.py:966
+#: ../yum/__init__.py:1094
 msgid ""
 "There are unfinished transactions remaining. You might consider running yum-"
 "complete-transaction first to finish them."
-msgstr ""
-"Остале су недовршене трансакције. Можда би прво требало да извршите yum-"
-"complete-transaction да бисте их завршили."
+msgstr "Остале су недовршене трансакције. Можда би прво требало да извршите yum-complete-transaction да бисте их завршили."
 
-#: ../yum/__init__.py:983
+#: ../yum/__init__.py:1111
 msgid "--> Finding unneeded leftover dependencies"
 msgstr ""
 
-#: ../yum/__init__.py:1041
+#: ../yum/__init__.py:1169
 #, python-format
 msgid "Protected multilib versions: %s != %s"
 msgstr ""
 
-#: ../yum/__init__.py:1096
+#. People are confused about protected mutilib ... so give
+#. them a nicer message.
+#: ../yum/__init__.py:1173
+#, python-format
+msgid ""
+" Multilib version problems found. This often means that the root\n"
+"cause is something else and multilib version checking is just\n"
+"pointing out that there is a problem. Eg.:\n"
+"\n"
+"  1. You have an upgrade for %(name)s which is missing some\n"
+"     dependency that another package requires. Yum is trying to\n"
+"     solve this by installing an older version of %(name)s of the\n"
+"     different architecture. If you exclude the bad architecture\n"
+"     yum will tell you what the root cause is (which package\n"
+"     requires what). You can try redoing the upgrade with\n"
+"     --exclude %(name)s.otherarch ... this should give you an error\n"
+"     message showing the root cause of the problem.\n"
+"\n"
+"  2. You have multiple architectures of %(name)s installed, but\n"
+"     yum can only see an upgrade for one of those arcitectures.\n"
+"     If you don't want/need both architectures anymore then you\n"
+"     can remove the one with the missing update and everything\n"
+"     will work.\n"
+"\n"
+"  3. You have duplicate versions of %(name)s installed already.\n"
+"     You can use \"yum check\" to get yum show these errors.\n"
+"\n"
+"...you can also use --setopt=protected_multilib=false to remove\n"
+"this checking, however this is almost never the correct thing to\n"
+"do as something else is very likely to go wrong (often causing\n"
+"much more problems).\n"
+"\n"
+msgstr ""
+
+#: ../yum/__init__.py:1257
 #, python-format
 msgid "Trying to remove \"%s\", which is protected"
 msgstr ""
 
-#: ../yum/__init__.py:1217
+#: ../yum/__init__.py:1378
 msgid ""
 "\n"
 "Packages skipped because of dependency problems:"
-msgstr ""
-"\n"
-"Пакети су прескочени због проблема са зависностима:"
+msgstr "\nПакети су прескочени због проблема са зависностима:"
 
-#: ../yum/__init__.py:1221
+#: ../yum/__init__.py:1382
 #, python-format
 msgid "    %s from %s"
 msgstr "    %s из %s"
 
 #. FIXME: _N()
-#: ../yum/__init__.py:1391
+#: ../yum/__init__.py:1556
 #, python-format
 msgid "** Found %d pre-existing rpmdb problem(s), 'yum check' output follows:"
 msgstr ""
 
-#: ../yum/__init__.py:1395
+#: ../yum/__init__.py:1560
 msgid "Warning: RPMDB altered outside of yum."
 msgstr ""
 
-#: ../yum/__init__.py:1407
+#: ../yum/__init__.py:1572
 msgid "missing requires"
 msgstr ""
 
-#: ../yum/__init__.py:1408
+#: ../yum/__init__.py:1573
 msgid "installed conflict"
 msgstr ""
 
-#: ../yum/__init__.py:1525
+#: ../yum/__init__.py:1709
 msgid ""
 "Warning: scriptlet or other non-fatal errors occurred during transaction."
-msgstr ""
-"Упозорење: дошло је до грешке у скриптици или неке друге некритичне грешке "
-"током трансакције."
+msgstr "Упозорење: дошло је до грешке у скриптици или неке друге некритичне грешке током трансакције."
 
-#: ../yum/__init__.py:1535
+#: ../yum/__init__.py:1719
 msgid "Transaction couldn't start:"
 msgstr ""
 
 #. should this be 'to_unicoded'?
-#: ../yum/__init__.py:1538
+#: ../yum/__init__.py:1722
 msgid "Could not run transaction."
 msgstr ""
 
-#: ../yum/__init__.py:1552
+#: ../yum/__init__.py:1736
 #, python-format
 msgid "Failed to remove transaction file %s"
 msgstr "Није успело уклањање датотеке трансакције %s"
 
 #. maybe a file log here, too
 #. but raising an exception is not going to do any good
-#: ../yum/__init__.py:1590
+#: ../yum/__init__.py:1792
 #, python-format
 msgid "%s was supposed to be installed but is not!"
 msgstr ""
 
 #. maybe a file log here, too
 #. but raising an exception is not going to do any good
-#: ../yum/__init__.py:1651
+#. Note: This actually triggers atm. because we can't
+#. always find the erased txmbr to set it when
+#. we should.
+#: ../yum/__init__.py:1869
 #, python-format
 msgid "%s was supposed to be removed but is not!"
 msgstr ""
 
-#: ../yum/__init__.py:1768
-#, python-format
-msgid "Could not open lock %s: %s"
-msgstr ""
-
-#. Whoa. What the heck happened?
-#: ../yum/__init__.py:1785
-#, python-format
-msgid "Unable to check if PID %s is active"
-msgstr "Нисам у могућности да проверим да ли је PID %s активан"
-
 #. Another copy seems to be running.
-#: ../yum/__init__.py:1789
+#: ../yum/__init__.py:2004
 #, python-format
 msgid "Existing lock %s: another copy is running as pid %s."
 msgstr "Постоји закључавање %s: друга копија се извршава као pid %s."
 
 #. Whoa. What the heck happened?
-#: ../yum/__init__.py:1830
+#: ../yum/__init__.py:2053
 #, python-format
 msgid "Could not create lock at %s: %s "
 msgstr ""
 
-#: ../yum/__init__.py:1875
+#: ../yum/__init__.py:2065
+#, python-format
+msgid "Could not open lock %s: %s"
+msgstr ""
+
+#. The pid doesn't exist
+#. Whoa. What the heck happened?
+#: ../yum/__init__.py:2082
+#, python-format
+msgid "Unable to check if PID %s is active"
+msgstr "Нисам у могућности да проверим да ли је PID %s активан"
+
+#: ../yum/__init__.py:2132
 #, python-format
 msgid ""
 "Package does not match intended download. Suggestion: run yum "
 "--enablerepo=%s clean metadata"
 msgstr ""
 
-#: ../yum/__init__.py:1891
+#: ../yum/__init__.py:2155
 msgid "Could not perform checksum"
 msgstr "Не могу да извршим контролу суме"
 
-#: ../yum/__init__.py:1894
+#: ../yum/__init__.py:2158
 msgid "Package does not match checksum"
 msgstr "Пакет нема одговарајући контролну суму"
 
-#: ../yum/__init__.py:1946
+#: ../yum/__init__.py:2222
 #, python-format
 msgid "package fails checksum but caching is enabled for %s"
-msgstr ""
-"пакет нема одговарајућу вредност контролне суме или је за %s укључено "
-"кеширање"
+msgstr "пакет нема одговарајућу вредност контролне суме или је за %s укључено кеширање"
 
-#: ../yum/__init__.py:1949 ../yum/__init__.py:1979
+#: ../yum/__init__.py:2225 ../yum/__init__.py:2268
 #, python-format
 msgid "using local copy of %s"
 msgstr "користим локални %s умножак"
 
-#: ../yum/__init__.py:1991
-#, python-format
-msgid ""
-"Insufficient space in download directory %s\n"
-"    * free   %s\n"
-"    * needed %s"
+#. caller handles errors
+#: ../yum/__init__.py:2342
+msgid "exiting because --downloadonly specified"
 msgstr ""
-"Недовољна количина простора у директоријуму %s за преузимање\n"
-"    * слободно је %s\n"
-"    * потребно је %s"
 
-#: ../yum/__init__.py:2052
+#: ../yum/__init__.py:2371
 msgid "Header is not complete."
 msgstr "Заглавље није потпуно."
 
-#: ../yum/__init__.py:2089
+#: ../yum/__init__.py:2411
 #, python-format
 msgid ""
 "Header not in local cache and caching-only mode enabled. Cannot download %s"
-msgstr ""
-"Заглавље није у локалном кешу и само начин рада са кеширањем је укључен. Не "
-"могу да преузмем %s"
+msgstr "Заглавље није у локалном кешу и само начин рада са кеширањем је укључен. Не могу да преузмем %s"
 
-#: ../yum/__init__.py:2147
+#: ../yum/__init__.py:2471
 #, python-format
 msgid "Public key for %s is not installed"
 msgstr "Јавни кључ за %s није инсталиран"
 
-#: ../yum/__init__.py:2151
+#: ../yum/__init__.py:2475
 #, python-format
 msgid "Problem opening package %s"
 msgstr "Проблем са отварањем пакета %s"
 
-#: ../yum/__init__.py:2159
+#: ../yum/__init__.py:2483
 #, python-format
 msgid "Public key for %s is not trusted"
 msgstr "Јавни кључ за %s није поверљив"
 
-#: ../yum/__init__.py:2163
+#: ../yum/__init__.py:2487
 #, python-format
 msgid "Package %s is not signed"
 msgstr "Пакет %s није потписан"
 
-#: ../yum/__init__.py:2202
+#: ../yum/__init__.py:2529
 #, python-format
 msgid "Cannot remove %s"
 msgstr "Не могу да уклоним %s"
 
-#: ../yum/__init__.py:2206
+#: ../yum/__init__.py:2533
 #, python-format
 msgid "%s removed"
 msgstr "%s је уклоњен"
 
-#: ../yum/__init__.py:2252
+#: ../yum/__init__.py:2594
 #, python-format
 msgid "Cannot remove %s file %s"
 msgstr "Не могу да уклоним %s датотеку %s"
 
-#: ../yum/__init__.py:2256
+#: ../yum/__init__.py:2598
 #, python-format
 msgid "%s file %s removed"
 msgstr "%s датотека %s је уклоњена"
 
-#: ../yum/__init__.py:2258
+#: ../yum/__init__.py:2600
 #, python-format
-msgid "%d %s files removed"
-msgstr "%d %s датотеке су уклоњене"
+msgid "%d %s file removed"
+msgid_plural "%d %s files removed"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
 
-#: ../yum/__init__.py:2327
+#: ../yum/__init__.py:2712
 #, python-format
 msgid "More than one identical match in sack for %s"
 msgstr "Постоји више од једног идентичног слагања у групи за %s"
 
-#: ../yum/__init__.py:2333
+#: ../yum/__init__.py:2718
 #, python-format
 msgid "Nothing matches %s.%s %s:%s-%s from update"
 msgstr "Ништа се не слаже са %s.%s %s:%s-%s из ажурирања"
 
-#: ../yum/__init__.py:2632
+#: ../yum/__init__.py:3096
 msgid ""
 "searchPackages() will go away in a future version of Yum."
 "                      Use searchGenerator() instead. \n"
-msgstr ""
-"searchPackages() неће бити присутна у будућим Yum верзијама."
-"                      Уместо ње користите searchGenerator(). \n"
+msgstr "searchPackages() неће бити присутна у будућим Yum верзијама.                      Уместо ње користите searchGenerator(). \n"
 
-#: ../yum/__init__.py:2675
+#: ../yum/__init__.py:3149
 #, python-format
-msgid "Searching %d packages"
-msgstr "Претражујем %d пакете"
+msgid "Searching %d package"
+msgid_plural "Searching %d packages"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
 
-#: ../yum/__init__.py:2679
+#: ../yum/__init__.py:3153
 #, python-format
 msgid "searching package %s"
 msgstr "тражим пакет %s"
 
-#: ../yum/__init__.py:2691
+#: ../yum/__init__.py:3165
 msgid "searching in file entries"
 msgstr "тражим у уносима датотека"
 
-#: ../yum/__init__.py:2698
+#: ../yum/__init__.py:3172
 msgid "searching in provides entries"
 msgstr "тражим у уносима достављача"
 
-#: ../yum/__init__.py:2777
+#: ../yum/__init__.py:3369
 msgid "No group data available for configured repositories"
 msgstr "Нема доступних података о групама за подешене ризнице"
 
-#: ../yum/__init__.py:2808 ../yum/__init__.py:2827 ../yum/__init__.py:2858
-#: ../yum/__init__.py:2864 ../yum/__init__.py:2953 ../yum/__init__.py:2957
-#: ../yum/__init__.py:3339
+#: ../yum/__init__.py:3466 ../yum/__init__.py:3500 ../yum/__init__.py:3576
+#: ../yum/__init__.py:3582 ../yum/__init__.py:3719 ../yum/__init__.py:3723
+#: ../yum/__init__.py:4298
 #, python-format
 msgid "No Group named %s exists"
 msgstr "Не постоји група под именом %s"
 
-#: ../yum/__init__.py:2839 ../yum/__init__.py:2973
+#: ../yum/__init__.py:3512 ../yum/__init__.py:3740
 #, python-format
 msgid "package %s was not marked in group %s"
 msgstr "пакет %s није означен у групи %s"
 
-#: ../yum/__init__.py:2887
+#. (upgrade and igroup_data[pkg] == 'available')):
+#: ../yum/__init__.py:3622
+#, python-format
+msgid "Skipping package %s from group %s"
+msgstr ""
+
+#: ../yum/__init__.py:3628
 #, python-format
 msgid "Adding package %s from group %s"
 msgstr "Додајем пакет %s из групе %s"
 
-#: ../yum/__init__.py:2891
+#: ../yum/__init__.py:3649
 #, python-format
 msgid "No package named %s available to be installed"
 msgstr "Ниједан пакет под именом %s није доступан за инсталацију"
 
-#: ../yum/__init__.py:2941
+#: ../yum/__init__.py:3702
 #, python-format
-msgid "Warning: Group %s does not have any packages."
+msgid "Warning: Group %s does not have any packages to install."
 msgstr ""
 
-#: ../yum/__init__.py:2943
+#: ../yum/__init__.py:3704
 #, python-format
 msgid "Group %s does have %u conditional packages, which may get installed."
 msgstr ""
 
+#: ../yum/__init__.py:3794
+#, python-format
+msgid "Skipping group %s from environment %s"
+msgstr ""
+
 #. This can happen due to excludes after .up has
 #. happened.
-#: ../yum/__init__.py:3002
+#: ../yum/__init__.py:3858
 #, python-format
 msgid "Package tuple %s could not be found in packagesack"
 msgstr "Група пакета %s није нађена у packagesack-у"
 
-#: ../yum/__init__.py:3022
+#: ../yum/__init__.py:3886
 #, python-format
 msgid "Package tuple %s could not be found in rpmdb"
 msgstr ""
 
-#: ../yum/__init__.py:3079 ../yum/__init__.py:3129
+#: ../yum/__init__.py:3949 ../yum/__init__.py:4012
 #, python-format
 msgid "Invalid version flag from: %s"
 msgstr ""
 
-#: ../yum/__init__.py:3096 ../yum/__init__.py:3101
+#: ../yum/__init__.py:3973 ../yum/__init__.py:3979 ../yum/__init__.py:4036
+#: ../yum/__init__.py:4042
 #, python-format
 msgid "No Package found for %s"
 msgstr "Нема пронађених пакета за %s"
 
-#: ../yum/__init__.py:3401
+#: ../yum/__init__.py:4245 ../yum/__init__.py:4274
+#, python-format
+msgid "Warning: Environment Group %s does not exist."
+msgstr ""
+
+#: ../yum/__init__.py:4397
+#, python-format
+msgid "Package: %s - can't co-install with %s"
+msgstr ""
+
+#: ../yum/__init__.py:4437
 msgid "Package Object was not a package object instance"
 msgstr "Објекат пакета није био примерак објекта пакета"
 
-#: ../yum/__init__.py:3405
+#: ../yum/__init__.py:4441
 msgid "Nothing specified to install"
 msgstr "Није одређено ништа за инсталацију"
 
-#: ../yum/__init__.py:3424 ../yum/__init__.py:4283
+#: ../yum/__init__.py:4465 ../yum/__init__.py:5410
 #, python-format
 msgid "Checking for virtual provide or file-provide for %s"
 msgstr "Проверавам виртуелну доставу или доставу датотеке за %s"
 
-#: ../yum/__init__.py:3430 ../yum/__init__.py:3775 ../yum/__init__.py:3969
-#: ../yum/__init__.py:4289
-#, python-format
-msgid "No Match for argument: %s"
-msgstr "Не постоји слагање за аргумент: %s"
-
-#: ../yum/__init__.py:3507
+#: ../yum/__init__.py:4542
 #, python-format
 msgid "Package %s installed and not available"
 msgstr "Пакет %s је инсталиран и није доступан"
 
-#: ../yum/__init__.py:3510
+#: ../yum/__init__.py:4545
 msgid "No package(s) available to install"
 msgstr "Нема пакета доступних за инсталацију"
 
-#: ../yum/__init__.py:3522
+#: ../yum/__init__.py:4557
 #, python-format
 msgid "Package: %s  - already in transaction set"
 msgstr "Пакет: %s  - већ је у скупу трансакције"
 
-#: ../yum/__init__.py:3550
+#: ../yum/__init__.py:4589
 #, python-format
 msgid "Package %s is obsoleted by %s which is already installed"
 msgstr ""
 
-#: ../yum/__init__.py:3555
+#: ../yum/__init__.py:4594
 #, python-format
 msgid ""
 "Package %s is obsoleted by %s, but obsoleting package does not provide for "
 "requirements"
 msgstr ""
 
-#: ../yum/__init__.py:3558
+#: ../yum/__init__.py:4597
 #, python-format
 msgid "Package %s is obsoleted by %s, trying to install %s instead"
 msgstr "Пакет %s је замењен пакетом %s, покушавам да наместо инсталирам %s"
 
-#: ../yum/__init__.py:3566
+#: ../yum/__init__.py:4605
 #, python-format
 msgid "Package %s already installed and latest version"
 msgstr "Већ је инсталирана најновија верзија пакета %s"
 
-#: ../yum/__init__.py:3580
+#: ../yum/__init__.py:4619
 #, python-format
 msgid "Package matching %s already installed. Checking for update."
-msgstr ""
-"Пакет који се поклапа са %s је већ инсталиран. Проверавам за новију верзију."
+msgstr "Пакет који се поклапа са %s је већ инсталиран. Проверавам за новију верзију."
 
 #. update everything (the easy case)
-#: ../yum/__init__.py:3684
+#: ../yum/__init__.py:4751
 msgid "Updating Everything"
 msgstr "Ажурирам све"
 
-#: ../yum/__init__.py:3708 ../yum/__init__.py:3849 ../yum/__init__.py:3879
-#: ../yum/__init__.py:3915
+#: ../yum/__init__.py:4775 ../yum/__init__.py:4930 ../yum/__init__.py:4975
+#: ../yum/__init__.py:5011
 #, python-format
 msgid "Not Updating Package that is already obsoleted: %s.%s %s:%s-%s"
 msgstr "Не ажурирам пакете који су већ превазиђени: %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3753 ../yum/__init__.py:3965
+#: ../yum/__init__.py:4830 ../yum/__init__.py:5072
 #, python-format
 msgid "%s"
 msgstr "%s"
 
-#: ../yum/__init__.py:3838
+#: ../yum/__init__.py:4854 ../yum/__init__.py:5080 ../yum/__init__.py:5416
+#, python-format
+msgid "No Match for argument: %s"
+msgstr "Не постоји слагање за аргумент: %s"
+
+#: ../yum/__init__.py:4872
+#, python-format
+msgid "No package matched to upgrade: %s"
+msgstr ""
+
+#: ../yum/__init__.py:4919
 #, python-format
 msgid "Package is already obsoleted: %s.%s %s:%s-%s"
 msgstr "Пакет је већ превазиђен: %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3874
+#: ../yum/__init__.py:4970
 #, python-format
 msgid "Not Updating Package that is obsoleted: %s"
 msgstr ""
 
-#: ../yum/__init__.py:3883 ../yum/__init__.py:3919
+#: ../yum/__init__.py:4979 ../yum/__init__.py:5015
 #, python-format
 msgid "Not Updating Package that is already updated: %s.%s %s:%s-%s"
 msgstr "Не ажурирам пакете који су већ ажурирани: %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3982
-msgid "No package matched to remove"
-msgstr "Ниједан пакет није одређен за уклањање"
+#: ../yum/__init__.py:5093
+#, python-format
+msgid "No package matched to remove: %s"
+msgstr ""
 
-#: ../yum/__init__.py:3988
+#: ../yum/__init__.py:5099
 #, python-format
 msgid "Skipping the running kernel: %s"
 msgstr ""
 
-#: ../yum/__init__.py:3994
+#: ../yum/__init__.py:5105
 #, python-format
 msgid "Removing %s from the transaction"
 msgstr ""
 
-#: ../yum/__init__.py:4029
+#: ../yum/__init__.py:5142
 #, python-format
 msgid "Cannot open: %s. Skipping."
 msgstr ""
 
-#: ../yum/__init__.py:4032 ../yum/__init__.py:4150 ../yum/__init__.py:4226
+#: ../yum/__init__.py:5145 ../yum/__init__.py:5262 ../yum/__init__.py:5347
 #, python-format
 msgid "Examining %s: %s"
 msgstr "Испитујем %s: %s"
 
-#: ../yum/__init__.py:4036
+#: ../yum/__init__.py:5149
 #, python-format
 msgid "Cannot localinstall deltarpm: %s. Skipping."
 msgstr ""
 
-#: ../yum/__init__.py:4045 ../yum/__init__.py:4153 ../yum/__init__.py:4229
+#: ../yum/__init__.py:5158 ../yum/__init__.py:5265 ../yum/__init__.py:5350
 #, python-format
 msgid ""
 "Cannot add package %s to transaction. Not a compatible architecture: %s"
-msgstr ""
-"Не могу да додам пакет %s у трансакцију. Архитектура није усаглашена: %s"
+msgstr "Не могу да додам пакет %s у трансакцију. Архитектура није усаглашена: %s"
 
-#: ../yum/__init__.py:4051
+#: ../yum/__init__.py:5164
 #, python-format
 msgid "Cannot install package %s. It is obsoleted by installed package %s"
 msgstr ""
 
-#: ../yum/__init__.py:4059
+#: ../yum/__init__.py:5172
 #, python-format
 msgid ""
 "Package %s not installed, cannot update it. Run yum install to install it "
 "instead."
-msgstr ""
-"Пакет %s није инсталиран, не могу да га ажурирам. Извршите yum инсталацију "
-"да бисте га инсталирали."
+msgstr "Пакет %s није инсталиран, не могу да га ажурирам. Извршите yum инсталацију да бисте га инсталирали."
 
-#: ../yum/__init__.py:4078 ../yum/__init__.py:4085
+#: ../yum/__init__.py:5191 ../yum/__init__.py:5198
 #, python-format
 msgid ""
 "Package %s.%s not installed, cannot update it. Run yum install to install it"
 " instead."
 msgstr ""
 
-#: ../yum/__init__.py:4094 ../yum/__init__.py:4158 ../yum/__init__.py:4234
+#: ../yum/__init__.py:5207 ../yum/__init__.py:5270 ../yum/__init__.py:5355
 #, python-format
 msgid "Excluding %s"
 msgstr "Изузимам %s"
 
-#: ../yum/__init__.py:4099
+#: ../yum/__init__.py:5212
 #, python-format
 msgid "Marking %s to be installed"
 msgstr "Означавам %s за инсталацију"
 
-#: ../yum/__init__.py:4105
+#: ../yum/__init__.py:5218
 #, python-format
 msgid "Marking %s as an update to %s"
 msgstr "Означавам %s као ажурирање за %s"
 
-#: ../yum/__init__.py:4112
+#: ../yum/__init__.py:5225
 #, python-format
 msgid "%s: does not update installed package."
 msgstr "%s: не ажурира инсталирани пакет."
 
-#: ../yum/__init__.py:4147 ../yum/__init__.py:4223
+#: ../yum/__init__.py:5259 ../yum/__init__.py:5344
 #, python-format
 msgid "Cannot open file: %s. Skipping."
 msgstr "Не могу да отворим датотеку: %s. Прескачем је."
 
-#: ../yum/__init__.py:4177
+#: ../yum/__init__.py:5299
 msgid "Problem in reinstall: no package matched to remove"
-msgstr ""
-"Проблем при поновној инсталацији: ниједан пакет није одређен за уклањање"
+msgstr "Проблем при поновној инсталацији: ниједан пакет није одређен за уклањање"
 
-#: ../yum/__init__.py:4203
+#: ../yum/__init__.py:5325
 #, python-format
 msgid "Problem in reinstall: no package %s matched to install"
 msgstr ""
 
-#: ../yum/__init__.py:4311
+#: ../yum/__init__.py:5438
 msgid "No package(s) available to downgrade"
 msgstr "Нема пакета доступних за уназађивање"
 
-#: ../yum/__init__.py:4319
+#: ../yum/__init__.py:5446
 #, python-format
 msgid "Package %s is allowed multiple installs, skipping"
 msgstr "Пакету %s су дозвољене многоструке инсталације, прескачем га"
 
-#: ../yum/__init__.py:4365
+#: ../yum/__init__.py:5496
 #, python-format
 msgid "No Match for available package: %s"
 msgstr "Нема доступног одговарајућег пакета: %s"
 
-#: ../yum/__init__.py:4372
+#: ../yum/__init__.py:5506
 #, python-format
 msgid "Only Upgrade available on package: %s"
 msgstr "Само је надградња доступна за пакет: %s"
 
-#: ../yum/__init__.py:4442 ../yum/__init__.py:4479
+#: ../yum/__init__.py:5619 ../yum/__init__.py:5686
 #, python-format
 msgid "Failed to downgrade: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4516
+#: ../yum/__init__.py:5636 ../yum/__init__.py:5692
+#, python-format
+msgid "Failed to upgrade: %s"
+msgstr ""
+
+#: ../yum/__init__.py:5725
 #, python-format
 msgid "Retrieving key from %s"
 msgstr ""
 
-#: ../yum/__init__.py:4534
+#: ../yum/__init__.py:5743
 msgid "GPG key retrieval failed: "
 msgstr "Добављање GPG кључа није успело: "
 
 #. if we decide we want to check, even though the sig failed
 #. here is where we would do that
-#: ../yum/__init__.py:4557
+#: ../yum/__init__.py:5766
 #, python-format
 msgid "GPG key signature on key %s does not match CA Key for repo: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4559
+#: ../yum/__init__.py:5768
 msgid "GPG key signature verified against CA Key(s)"
 msgstr ""
 
-#: ../yum/__init__.py:4567
+#: ../yum/__init__.py:5776
 #, python-format
 msgid "Invalid GPG Key from %s: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4576
+#: ../yum/__init__.py:5785
 #, python-format
 msgid "GPG key parsing failed: key does not have value %s"
 msgstr "Рашчлањивање GPG кључа није успело: кључ нема вредност %s"
 
-#: ../yum/__init__.py:4592
+#: ../yum/__init__.py:5801
 #, python-format
 msgid ""
 "Importing %s key 0x%s:\n"
-" Userid : %s\n"
-" Package: %s (%s)\n"
-" From   : %s"
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" Package    : %s (%s)\n"
+" From       : %s"
 msgstr ""
 
-#: ../yum/__init__.py:4600
+#: ../yum/__init__.py:5811
 #, python-format
 msgid ""
 "Importing %s key 0x%s:\n"
-" Userid: \"%s\"\n"
-" From  : %s"
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" From       : %s"
+msgstr ""
+
+#: ../yum/__init__.py:5839
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" Failing package is: %s\n"
+" GPG Keys are configured as: %s\n"
 msgstr ""
 
-#: ../yum/__init__.py:4634
+#: ../yum/__init__.py:5853
 #, python-format
 msgid "GPG key at %s (0x%s) is already installed"
 msgstr "GPG кључ на %s (0x%s) је већ инсталиран"
 
-#: ../yum/__init__.py:4671
+#: ../yum/__init__.py:5891
 #, python-format
 msgid "Key import failed (code %d)"
 msgstr "Није успео увоз кључа (код %d)"
 
-#: ../yum/__init__.py:4672 ../yum/__init__.py:4755
+#: ../yum/__init__.py:5893 ../yum/__init__.py:5994
 msgid "Key imported successfully"
 msgstr "Кључ је успешно увезен"
 
-#: ../yum/__init__.py:4676
+#: ../yum/__init__.py:5897
 msgid "Didn't install any keys"
 msgstr ""
 
-#: ../yum/__init__.py:4680
+#: ../yum/__init__.py:5900
 #, python-format
 msgid ""
 "The GPG keys listed for the \"%s\" repository are already installed but they are not correct for this package.\n"
 "Check that the correct key URLs are configured for this repository."
-msgstr ""
-"GPG кључеви излистани за „%s“ ризницу су већ инсталирани али нису одговарајући за овај пакет.\n"
-"Проверите да ли су подешени одговарајући УРЛ-ови кључева за ову ризницу."
+msgstr "GPG кључеви излистани за „%s“ ризницу су већ инсталирани али нису одговарајући за овај пакет.\nПроверите да ли су подешени одговарајући УРЛ-ови кључева за ову ризницу."
 
-#: ../yum/__init__.py:4689
+#: ../yum/__init__.py:5910
 msgid "Import of key(s) didn't help, wrong key(s)?"
 msgstr "Увоз кључа(кључева) није помогао, погрешан кључ(кључеви)?"
 
-#: ../yum/__init__.py:4713
+#: ../yum/__init__.py:5932
+msgid "No"
+msgstr ""
+
+#: ../yum/__init__.py:5934
+msgid "Yes"
+msgstr ""
+
+#: ../yum/__init__.py:5935
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" CA Key: %s\n"
+" Failing repo is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr ""
+
+#: ../yum/__init__.py:5948
 #, python-format
 msgid "GPG key at %s (0x%s) is already imported"
 msgstr "GPG кључ на %s (0x%s) је већ увезен"
 
-#: ../yum/__init__.py:4754
-msgid "Key import failed"
-msgstr "Није успео увоз кључа"
+#: ../yum/__init__.py:5992
+#, python-format
+msgid "Key %s import failed"
+msgstr ""
 
-#: ../yum/__init__.py:4770
+#: ../yum/__init__.py:6009
 #, python-format
 msgid "Didn't install any keys for repo %s"
 msgstr ""
 
-#: ../yum/__init__.py:4774
+#: ../yum/__init__.py:6014
 #, python-format
 msgid ""
 "The GPG keys listed for the \"%s\" repository are already installed but they are not correct.\n"
 "Check that the correct key URLs are configured for this repository."
 msgstr ""
 
-#: ../yum/__init__.py:4924
+#: ../yum/__init__.py:6172
 msgid "Unable to find a suitable mirror."
 msgstr "Не могу да пронађем одговарајући одраз."
 
-#: ../yum/__init__.py:4926
+#: ../yum/__init__.py:6174
 msgid "Errors were encountered while downloading packages."
 msgstr "Појавиле су се грешке за време преузимања пакета."
 
-#: ../yum/__init__.py:4981
+#: ../yum/__init__.py:6229
 #, python-format
 msgid "Please report this error at %s"
 msgstr "Пријавите ову грешку код %s"
 
-#: ../yum/__init__.py:4998
+#: ../yum/__init__.py:6246
 msgid "Test Transaction Errors: "
 msgstr "Грешке при провери трансакције: "
 
-#: ../yum/__init__.py:5098
+#: ../yum/__init__.py:6358
 #, python-format
 msgid "Could not set cachedir: %s"
 msgstr ""
 
-#: ../yum/__init__.py:5148 ../yum/__init__.py:5150
+#: ../yum/__init__.py:6420 ../yum/__init__.py:6422
 msgid "Dependencies not solved. Will not save unresolved transaction."
 msgstr ""
 
-#: ../yum/__init__.py:5179 ../yum/__init__.py:5181
+#: ../yum/__init__.py:6455 ../yum/__init__.py:6457
 #, python-format
 msgid "Could not save transaction file %s: %s"
 msgstr ""
 
-#: ../yum/__init__.py:5195
+#: ../yum/__init__.py:6483
 #, python-format
 msgid "Could not access/read saved transaction %s : %s"
 msgstr ""
 
-#: ../yum/__init__.py:5214
-msgid "rpmdb ver mismatched saved transaction version, "
+#: ../yum/__init__.py:6521
+msgid "rpmdb ver mismatched saved transaction version,"
 msgstr ""
 
-#: ../yum/__init__.py:5216
-msgid " ignoring, as requested."
-msgstr ""
-
-#: ../yum/__init__.py:5219 ../yum/__init__.py:5354
-msgid " aborting."
-msgstr ""
-
-#: ../yum/__init__.py:5228
+#: ../yum/__init__.py:6535
 msgid "cannot find tsflags or tsflags not integer."
 msgstr ""
 
-#: ../yum/__init__.py:5267
+#: ../yum/__init__.py:6584
 #, python-format
 msgid "Found txmbr in unknown current state: %s"
 msgstr ""
 
-#: ../yum/__init__.py:5271
+#: ../yum/__init__.py:6588
 #, python-format
 msgid "Could not find txmbr: %s in state %s"
 msgstr ""
 
-#: ../yum/__init__.py:5307 ../yum/__init__.py:5324
+#: ../yum/__init__.py:6625 ../yum/__init__.py:6642
 #, python-format
 msgid "Could not find txmbr: %s from origin: %s"
 msgstr ""
 
-#: ../yum/__init__.py:5349
+#: ../yum/__init__.py:6667
 msgid "Transaction members, relations are missing or ts has been modified,"
 msgstr ""
 
-#: ../yum/__init__.py:5351
+#: ../yum/__init__.py:6670
 msgid " ignoring, as requested. You must redepsolve!"
 msgstr ""
 
+#. Debugging output
+#: ../yum/__init__.py:6738 ../yum/__init__.py:6757
+#, python-format
+msgid "%s has been visited already and cannot be removed."
+msgstr ""
+
+#. Debugging output
+#: ../yum/__init__.py:6741
+#, python-format
+msgid "Examining revdeps of %s"
+msgstr ""
+
+#. Debugging output
+#: ../yum/__init__.py:6762
+#, python-format
+msgid "%s has revdep %s which was user-installed."
+msgstr ""
+
+#: ../yum/__init__.py:6773 ../yum/__init__.py:6779
+#, python-format
+msgid "%s is needed by a package to be installed."
+msgstr ""
+
+#. Debugging output
+#: ../yum/__init__.py:6793
+#, python-format
+msgid "%s has no user-installed revdeps."
+msgstr ""
+
 #. Mostly copied from YumOutput._outKeyValFill()
-#: ../yum/plugins.py:209
+#: ../yum/plugins.py:212
 msgid "Loaded plugins: "
 msgstr "Учитани додаци: "
 
-#: ../yum/plugins.py:223 ../yum/plugins.py:229
+#: ../yum/plugins.py:226 ../yum/plugins.py:232
 #, python-format
 msgid "No plugin match for: %s"
 msgstr "Не постоји слагање за додатак: %s"
 
-#: ../yum/plugins.py:259
+#: ../yum/plugins.py:262
 #, python-format
 msgid "Not loading \"%s\" plugin, as it is disabled"
 msgstr "Не учитавам додатак „%s“ пошто је искључен"
 
 #. Give full backtrace:
-#: ../yum/plugins.py:271
+#: ../yum/plugins.py:274
 #, python-format
 msgid "Plugin \"%s\" can't be imported"
 msgstr "Додатак „%s“ не може да буде увезен"
 
-#: ../yum/plugins.py:278
+#: ../yum/plugins.py:281
 #, python-format
 msgid "Plugin \"%s\" doesn't specify required API version"
 msgstr "Додатак „%s“ не одређује верзију захтеваног API-а"
 
-#: ../yum/plugins.py:283
+#: ../yum/plugins.py:286
 #, python-format
 msgid "Plugin \"%s\" requires API %s. Supported API is %s."
 msgstr "Додатак „%s“ захтева API %s. Подржани API је %s."
 
-#: ../yum/plugins.py:316
+#: ../yum/plugins.py:319
 #, python-format
 msgid "Loading \"%s\" plugin"
 msgstr "Учитавам „%s“ додатак"
 
-#: ../yum/plugins.py:323
+#: ../yum/plugins.py:326
 #, python-format
 msgid "Two or more plugins with the name \"%s\" exist in the plugin search path"
-msgstr ""
-"У путањи за претраживање додатака постоје два или више додатака под именом "
-"„%s“"
+msgstr "У путањи за претраживање додатака постоје два или више додатака под именом „%s“"
 
-#: ../yum/plugins.py:343
+#: ../yum/plugins.py:346
 #, python-format
 msgid "Configuration file %s not found"
 msgstr "Датотека подешавања %s није пронађена"
 
 #. for
 #. Configuration files for the plugin not found
-#: ../yum/plugins.py:346
+#: ../yum/plugins.py:349
 #, python-format
 msgid "Unable to find configuration file for plugin %s"
 msgstr "Не могу да пронађем датотеку подешавања за додатак %s"
 
-#: ../yum/plugins.py:508
+#: ../yum/plugins.py:553
 msgid "registration of commands not supported"
 msgstr "регистрација команди није подржана"
 
-#: ../yum/rpmsack.py:148
+#: ../yum/rpmsack.py:159
 msgid "has missing requires of"
 msgstr ""
 
-#: ../yum/rpmsack.py:151
+#: ../yum/rpmsack.py:162
 msgid "has installed conflicts"
 msgstr ""
 
-#: ../yum/rpmsack.py:160
+#: ../yum/rpmsack.py:171
 #, python-format
 msgid "%s is a duplicate with %s"
 msgstr ""
 
-#: ../yum/rpmsack.py:168
+#: ../yum/rpmsack.py:179
 #, python-format
 msgid "%s is obsoleted by %s"
 msgstr ""
 
-#: ../yum/rpmsack.py:176
+#: ../yum/rpmsack.py:187
 #, python-format
 msgid "%s provides %s but it cannot be found"
 msgstr ""
@@ -3114,6 +3474,23 @@ msgstr ""
 msgid "Repackaging"
 msgstr "Поновно паковање"
 
+#: ../yum/rpmtrans.py:149
+#, python-format
+msgid "Verify: %u/%u: %s"
+msgstr ""
+
+#: ../yum/yumRepo.py:919
+#, python-format
+msgid ""
+"Insufficient space in download directory %s\n"
+"    * free   %s\n"
+"    * needed %s"
+msgstr "Недовољна количина простора у директоријуму %s за преузимање\n    * слободно је %s\n    * потребно је %s"
+
+#: ../yum/yumRepo.py:986
+msgid "Package does not match intended download."
+msgstr ""
+
 #: ../rpmUtils/oldUtils.py:33
 #, python-format
 msgid "Header cannot be opened or does not match %s, %s."
@@ -3126,9 +3503,7 @@ msgstr "Није успела md5 провера за %s RPM"
 
 #: ../rpmUtils/oldUtils.py:151
 msgid "Could not open RPM database for reading. Perhaps it is already in use?"
-msgstr ""
-"Не могу да отворим RPM базу података за потребе читања. Можда је већ у "
-"употреби?"
+msgstr "Не могу да отворим RPM базу података за потребе читања. Можда је већ у употреби?"
 
 #: ../rpmUtils/oldUtils.py:183
 msgid "Got an empty Header, something has gone wrong"
@@ -3144,5 +3519,3 @@ msgstr "Оштећено заглавље %s"
 #, python-format
 msgid "Error opening rpm %s - error %s"
 msgstr "Грешка при отварању rpm-а %s - грешка %s"
-
-
diff --git a/po/sr@latin.po b/po/sr@latin.po
index 2576fa8..f718e05 100644
--- a/po/sr@latin.po
+++ b/po/sr@latin.po
@@ -2,880 +2,1001 @@
 # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
 # This file is distributed under the same license as the PACKAGE package.
 # 
+# Translators:
 msgid ""
 msgstr ""
 "Project-Id-Version: Yum\n"
-"Report-Msgid-Bugs-To: http://yum.baseurl.org/\n"
-"POT-Creation-Date: 2011-06-06 10:21-0400\n"
-"PO-Revision-Date: 2011-06-06 14:21+0000\n"
-"Last-Translator: skvidal <skvidal@fedoraproject.org>\n"
+"Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
+"POT-Creation-Date: 2013-01-30 09:08-0500\n"
+"PO-Revision-Date: 2013-01-30 14:08+0000\n"
+"Last-Translator: james <james@fedoraproject.org>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Language: sr@latin\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
 
-#: ../callback.py:48 ../output.py:1037 ../yum/rpmtrans.py:73
+#: ../callback.py:45 ../output.py:1502 ../yum/rpmtrans.py:73
 msgid "Updating"
 msgstr "Ažuriram"
 
-#: ../callback.py:49 ../yum/rpmtrans.py:74
+#: ../callback.py:46 ../yum/rpmtrans.py:74
 msgid "Erasing"
 msgstr "Brišem"
 
-#: ../callback.py:50 ../callback.py:51 ../callback.py:53 ../output.py:1036
-#: ../output.py:2218 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
+#: ../callback.py:47 ../callback.py:48 ../callback.py:50 ../output.py:1501
+#: ../output.py:2922 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
 #: ../yum/rpmtrans.py:78
 msgid "Installing"
 msgstr "Instaliram"
 
-#: ../callback.py:52 ../callback.py:58 ../output.py:1840 ../yum/rpmtrans.py:77
+#: ../callback.py:49 ../callback.py:55 ../output.py:2379 ../yum/rpmtrans.py:77
 msgid "Obsoleted"
 msgstr "Prevaziđeni"
 
-#: ../callback.py:54 ../output.py:1169 ../output.py:1686 ../output.py:1847
+#: ../callback.py:51 ../output.py:1670 ../output.py:2222 ../output.py:2386
 msgid "Updated"
 msgstr "Ažurirani"
 
-#: ../callback.py:55 ../output.py:1685
+#: ../callback.py:52 ../output.py:2221
 msgid "Erased"
 msgstr "Obrisani"
 
-#: ../callback.py:56 ../callback.py:57 ../callback.py:59 ../output.py:1167
-#: ../output.py:1685 ../output.py:1687 ../output.py:2190
+#: ../callback.py:53 ../callback.py:54 ../callback.py:56 ../output.py:1668
+#: ../output.py:2221 ../output.py:2223 ../output.py:2894
 msgid "Installed"
 msgstr "Instalirani"
 
-#: ../callback.py:130
+#: ../callback.py:142
 msgid "No header - huh?"
 msgstr "Nema zaglavlja - hm?"
 
-#: ../callback.py:168
+#: ../callback.py:180
 msgid "Repackage"
 msgstr "Ponovno pakovanje"
 
-#: ../callback.py:189
+#: ../callback.py:201
 #, python-format
 msgid "Error: invalid output state: %s for %s"
 msgstr "Greška: pogrešno izlazno stanje: %s za %s"
 
-#: ../callback.py:212
+#: ../callback.py:224
 #, python-format
 msgid "Erased: %s"
 msgstr "Obrisano: %s"
 
-#: ../callback.py:217 ../output.py:1038 ../output.py:2193
+#: ../callback.py:229 ../output.py:1503 ../output.py:2897
 msgid "Removing"
 msgstr "Uklanjam"
 
-#: ../callback.py:219 ../yum/rpmtrans.py:79
+#: ../callback.py:231 ../yum/rpmtrans.py:79
 msgid "Cleanup"
 msgstr "Čišćenje"
 
-#: ../cli.py:115
+#: ../cli.py:122
 #, python-format
 msgid "Command \"%s\" already defined"
 msgstr "Naredba „%s“ je već definisana"
 
-#: ../cli.py:127
+#: ../cli.py:137
 msgid "Setting up repositories"
 msgstr "Postavljam riznice"
 
-#: ../cli.py:138
+#: ../cli.py:148
 msgid "Reading repository metadata in from local files"
 msgstr "Čitam metapodatke riznica iz lokalnih datoteka"
 
-#: ../cli.py:245 ../utils.py:281
+#: ../cli.py:273 ../cli.py:277 ../utils.py:320
 #, python-format
 msgid "Config Error: %s"
 msgstr "Greška pri podešavanju: %s"
 
-#: ../cli.py:248 ../cli.py:1584 ../utils.py:284
+#: ../cli.py:280 ../cli.py:2206 ../utils.py:323
 #, python-format
 msgid "Options Error: %s"
 msgstr "Greška u opcijama: %s"
 
-#: ../cli.py:293
+#: ../cli.py:327
 #, python-format
 msgid "  Installed: %s-%s at %s"
 msgstr "  Instaliran : %s-%s %s"
 
-#: ../cli.py:295
+#: ../cli.py:329
 #, python-format
 msgid "  Built    : %s at %s"
 msgstr "  Napravio/la: %s %s"
 
-#: ../cli.py:297
+#: ../cli.py:331
 #, python-format
 msgid "  Committed: %s at %s"
 msgstr "  Objavio/la : %s %s"
 
-#: ../cli.py:336
+#: ../cli.py:372
 msgid "You need to give some command"
 msgstr "Morate da unesete neku komandu"
 
-#: ../cli.py:350
+#: ../cli.py:386
 #, python-format
 msgid "No such command: %s. Please use %s --help"
 msgstr ""
 
-#: ../cli.py:400
+#: ../cli.py:444
 msgid "Disk Requirements:\n"
 msgstr "Zahtevi diska:\n"
 
-#: ../cli.py:402
+#: ../cli.py:446
 #, python-format
 msgid "  At least %dMB more space needed on the %s filesystem.\n"
-msgstr ""
+msgid_plural "  At least %dMB more space needed on the %s filesystem.\n"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
 
 #. TODO: simplify the dependency errors?
 #. Fixup the summary
-#: ../cli.py:407
+#: ../cli.py:451
 msgid ""
 "Error Summary\n"
 "-------------\n"
+msgstr "Sažetak grešaka\n-------------\n"
+
+#: ../cli.py:472
+msgid "Can't create lock file; exiting"
 msgstr ""
-"Sažetak grešaka\n"
-"-------------\n"
 
-#: ../cli.py:450
+#: ../cli.py:479
+msgid ""
+"Another app is currently holding the yum lock; exiting as configured by "
+"exit_on_lock"
+msgstr ""
+
+#: ../cli.py:532
 msgid "Trying to run the transaction but nothing to do. Exiting."
 msgstr "Pokušavam da izvršim transakciju ali nema šta da se radi. Izlazim."
 
-#: ../cli.py:497
+#: ../cli.py:577
+msgid "future rpmdb ver mismatched saved transaction version,"
+msgstr ""
+
+#: ../cli.py:579 ../yum/__init__.py:6523
+msgid " ignoring, as requested."
+msgstr ""
+
+#: ../cli.py:582 ../yum/__init__.py:6526 ../yum/__init__.py:6673
+msgid " aborting."
+msgstr ""
+
+#: ../cli.py:588
 msgid "Exiting on user Command"
 msgstr "Izlazim na komandu korisnika"
 
-#: ../cli.py:501
+#: ../cli.py:592
 msgid "Downloading Packages:"
 msgstr "Preuzimam pakete:"
 
-#: ../cli.py:506
+#: ../cli.py:597
 msgid "Error Downloading Packages:\n"
 msgstr "Greška pri preuzimanju paketa:\n"
 
-#: ../cli.py:525 ../yum/__init__.py:4967
+#: ../cli.py:616 ../yum/__init__.py:6215
 msgid "Running Transaction Check"
 msgstr ""
 
-#: ../cli.py:534 ../yum/__init__.py:4976
+#: ../cli.py:625 ../yum/__init__.py:6224
 msgid "ERROR You need to update rpm to handle:"
 msgstr ""
 
-#: ../cli.py:536 ../yum/__init__.py:4979
+#: ../cli.py:627 ../yum/__init__.py:6227
 msgid "ERROR with transaction check vs depsolve:"
 msgstr ""
 
-#: ../cli.py:542
+#: ../cli.py:633
 msgid "RPM needs to be updated"
 msgstr ""
 
-#: ../cli.py:543
+#: ../cli.py:634
 #, python-format
 msgid "Please report this error in %s"
 msgstr "Prijavite ovu grešku u %s"
 
-#: ../cli.py:549
+#: ../cli.py:640
 msgid "Running Transaction Test"
 msgstr "Izvršavam proveru transakcije"
 
-#: ../cli.py:561
+#: ../cli.py:652
 msgid "Transaction Check Error:\n"
 msgstr "Greška pri proveri transakcije:\n"
 
-#: ../cli.py:568
+#: ../cli.py:659
 msgid "Transaction Test Succeeded"
 msgstr "Provera transakcije je uspela"
 
-#: ../cli.py:600
+#: ../cli.py:691
 msgid "Running Transaction"
 msgstr "Izvršavam transakciju"
 
-#: ../cli.py:630
+#: ../cli.py:724
 msgid ""
 "Refusing to automatically import keys when running unattended.\n"
 "Use \"-y\" to override."
-msgstr ""
-"Odbijam da automatski uvezem ključeve kada se izvršavanje ne nadgleda.\n"
-"Za prevazilaženje ovoga koristite „-y“."
+msgstr "Odbijam da automatski uvezem ključeve kada se izvršavanje ne nadgleda.\nZa prevazilaženje ovoga koristite „-y“."
 
-#: ../cli.py:649 ../cli.py:692
+#: ../cli.py:743 ../cli.py:786
 msgid "  * Maybe you meant: "
 msgstr "  * Možda ste mislili: "
 
-#: ../cli.py:675 ../cli.py:683
+#: ../cli.py:769 ../cli.py:777
 #, python-format
 msgid "Package(s) %s%s%s available, but not installed."
 msgstr "%s%s%s paket je dostupan, ali nije instaliran."
 
-#: ../cli.py:689 ../cli.py:722 ../cli.py:908
+#: ../cli.py:783 ../cli.py:891 ../cli.py:1158
 #, python-format
 msgid "No package %s%s%s available."
 msgstr "Ne postoji dostupan paket %s%s%s."
 
-#: ../cli.py:729 ../cli.py:973
-msgid "Package(s) to install"
-msgstr "Paket(i) koji će se instalirati"
+#: ../cli.py:871 ../cli.py:881 ../cli.py:1101 ../cli.py:1111
+#, python-format
+msgid "Bad %s argument %s."
+msgstr ""
 
-#: ../cli.py:732 ../cli.py:733 ../cli.py:914 ../cli.py:948 ../cli.py:974
-#: ../yumcommands.py:190
+#: ../cli.py:900 ../yumcommands.py:3331
+#, python-format
+msgid "%d package to install"
+msgid_plural "%d packages to install"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#: ../cli.py:903 ../cli.py:904 ../cli.py:1169 ../cli.py:1170 ../cli.py:1224
+#: ../cli.py:1225 ../cli.py:1260 ../yumcommands.py:323 ../yumcommands.py:3419
 msgid "Nothing to do"
 msgstr "Nema šta da se radi"
 
-#: ../cli.py:767
+#: ../cli.py:953
 #, python-format
-msgid "%d packages marked for Update"
-msgstr "%d paketi označeni za ažuriranje"
+msgid "%d package marked for Update"
+msgid_plural "%d packages marked for Update"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
 
-#: ../cli.py:770
+#: ../cli.py:955
 msgid "No Packages marked for Update"
 msgstr "Nema paketa označenih za ažuriranje"
 
-#: ../cli.py:866
+#: ../cli.py:1067
 #, python-format
-msgid "%d packages marked for Distribution Synchronization"
-msgstr ""
+msgid "%d package marked for Distribution Synchronization"
+msgid_plural "%d packages marked for Distribution Synchronization"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
 
-#: ../cli.py:869
+#: ../cli.py:1069
 msgid "No Packages marked for Distribution Synchronization"
 msgstr ""
 
-#: ../cli.py:885
+#: ../cli.py:1124
 #, python-format
-msgid "%d packages marked for removal"
-msgstr "%d paketi označeni za uklanjanje"
+msgid "%d package marked for removal"
+msgid_plural "%d packages marked for removal"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
 
-#: ../cli.py:888
+#: ../cli.py:1126
 msgid "No Packages marked for removal"
 msgstr "Nema paketa označenih za uklanjanje"
 
-#: ../cli.py:913
-msgid "Package(s) to downgrade"
-msgstr "Paket(i) koji će se unazaditi"
+#: ../cli.py:1166
+#, python-format
+msgid "%d package to downgrade"
+msgid_plural "%d packages to downgrade"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
 
-#: ../cli.py:938
+#: ../cli.py:1207
 #, python-format
 msgid " (from %s)"
 msgstr ""
 
-#: ../cli.py:939
+#: ../cli.py:1208
 #, python-format
 msgid "Installed package %s%s%s%s not available."
 msgstr ""
 
-#: ../cli.py:947
-msgid "Package(s) to reinstall"
-msgstr "Paket(i) koji će se ponovo instalirati"
+#: ../cli.py:1221
+#, python-format
+msgid "%d package to reinstall"
+msgid_plural "%d packages to reinstall"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
 
-#: ../cli.py:960
+#: ../cli.py:1246
 msgid "No Packages Provided"
 msgstr "Nijedan paket nije dobavljen"
 
-#: ../cli.py:1058
+#: ../cli.py:1259
+msgid "Package(s) to install"
+msgstr "Paket(i) koji će se instalirati"
+
+#: ../cli.py:1367
 #, python-format
 msgid "N/S Matched: %s"
 msgstr ""
 
-#: ../cli.py:1075
+#: ../cli.py:1384
 #, python-format
 msgid "  Name and summary matches %sonly%s, use \"search all\" for everything."
 msgstr ""
 
-#: ../cli.py:1077
+#: ../cli.py:1386
 #, python-format
 msgid ""
 "  Full name and summary matches %sonly%s, use \"search all\" for everything."
 msgstr ""
 
-#: ../cli.py:1095
+#: ../cli.py:1404
 #, python-format
 msgid "Matched: %s"
 msgstr ""
 
-#: ../cli.py:1102
+#: ../cli.py:1411
 #, python-format
 msgid "  Name and summary matches %smostly%s, use \"search all\" for everything."
 msgstr ""
 
-#: ../cli.py:1106
+#: ../cli.py:1415
 #, python-format
 msgid "Warning: No matches found for: %s"
 msgstr "Upozorenje: nije nađeno podudaranje za %s"
 
-#: ../cli.py:1109
+#: ../cli.py:1418
 msgid "No Matches found"
 msgstr "Nisu pronađena podudaranja"
 
-#: ../cli.py:1174
+#: ../cli.py:1536
 #, python-format
-msgid "No Package Found for %s"
-msgstr "Nisu pronađeni paketi za %s"
+msgid ""
+"Error: No Packages found for:\n"
+"  %s"
+msgstr ""
 
-#: ../cli.py:1184
+#: ../cli.py:1572
 msgid "Cleaning repos: "
 msgstr ""
 
-#: ../cli.py:1189
+#: ../cli.py:1577
 msgid "Cleaning up Everything"
 msgstr "Čistim sve"
 
-#: ../cli.py:1205
+#: ../cli.py:1593
 msgid "Cleaning up Headers"
 msgstr "Čistim zaglavlja"
 
-#: ../cli.py:1208
+#: ../cli.py:1596
 msgid "Cleaning up Packages"
 msgstr "Čistim pakete"
 
-#: ../cli.py:1211
+#: ../cli.py:1599
 msgid "Cleaning up xml metadata"
 msgstr "Čistim xml metapodatke"
 
-#: ../cli.py:1214
+#: ../cli.py:1602
 msgid "Cleaning up database cache"
 msgstr "Čistim keš baze podataka"
 
-#: ../cli.py:1217
+#: ../cli.py:1605
 msgid "Cleaning up expire-cache metadata"
 msgstr "Čistim expire-cache metapodatke"
 
-#: ../cli.py:1220
+#: ../cli.py:1608
 msgid "Cleaning up cached rpmdb data"
 msgstr ""
 
-#: ../cli.py:1223
+#: ../cli.py:1611
 msgid "Cleaning up plugins"
 msgstr "Čistim dodatke"
 
-#: ../cli.py:1247
-#, python-format
-msgid "Warning: No groups match: %s"
+#: ../cli.py:1727
+msgid "Installed Environment Groups:"
 msgstr ""
 
-#: ../cli.py:1264
+#: ../cli.py:1728
+msgid "Available Environment Groups:"
+msgstr ""
+
+#: ../cli.py:1735
 msgid "Installed Groups:"
 msgstr "Instalirane grupe:"
 
-#: ../cli.py:1270
+#: ../cli.py:1742
 msgid "Installed Language Groups:"
 msgstr ""
 
-#: ../cli.py:1276
+#: ../cli.py:1749
 msgid "Available Groups:"
 msgstr "Dostupne grupe:"
 
-#: ../cli.py:1282
+#: ../cli.py:1756
 msgid "Available Language Groups:"
 msgstr ""
 
-#: ../cli.py:1285
+#: ../cli.py:1759
+#, python-format
+msgid "Warning: No Environments/Groups match: %s"
+msgstr ""
+
+#: ../cli.py:1763
 msgid "Done"
 msgstr "Urađeno"
 
-#: ../cli.py:1296 ../cli.py:1314 ../cli.py:1320 ../yum/__init__.py:3313
+#: ../cli.py:1818
+#, python-format
+msgid "Warning: Group/Environment %s does not exist."
+msgstr ""
+
+#: ../cli.py:1859
+#, python-format
+msgid "Warning: Environment %s does not exist."
+msgstr ""
+
+#: ../cli.py:1873 ../cli.py:1879 ../yum/__init__.py:4254
 #, python-format
 msgid "Warning: Group %s does not exist."
 msgstr "Upozorenje: grupa %s ne postoji."
 
-#: ../cli.py:1324
+#: ../cli.py:1883
 msgid "No packages in any requested group available to install or update"
-msgstr ""
-"Nema dostupnih paketa za instalaciju ili ažuriranje u svim zahtevanim "
-"grupama"
+msgstr "Nema dostupnih paketa za instalaciju ili ažuriranje u svim zahtevanim grupama"
+
+#: ../cli.py:1885
+#, python-format
+msgid "%d package to Install"
+msgid_plural "%d packages to Install"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
 
-#: ../cli.py:1326
+#: ../cli.py:1919 ../yum/__init__.py:3536 ../yum/__init__.py:3766
+#: ../yum/__init__.py:3824
 #, python-format
-msgid "%d Package(s) to Install"
-msgstr "%d paket(i) za instalaciju"
+msgid "No Environment named %s exists"
+msgstr ""
 
-#: ../cli.py:1336 ../yum/__init__.py:3325
+#: ../cli.py:1935 ../yum/__init__.py:4282
 #, python-format
 msgid "No group named %s exists"
 msgstr "Ne postoji grupa pod imenom %s"
 
-#: ../cli.py:1342
+#: ../cli.py:1945
 msgid "No packages to remove from groups"
 msgstr "Nema paketa za uklanjanje iz grupa"
 
-#: ../cli.py:1344
+#: ../cli.py:1947 ../yumcommands.py:3351
 #, python-format
-msgid "%d Package(s) to remove"
-msgstr "%d  paket(i) za uklanjanje"
+msgid "%d package to remove"
+msgid_plural "%d packages to remove"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
 
-#: ../cli.py:1386
+#: ../cli.py:1988
 #, python-format
 msgid "Package %s is already installed, skipping"
 msgstr "Paket %s je već instaliran, preskačem ga"
 
-#: ../cli.py:1397
+#: ../cli.py:1999
 #, python-format
 msgid "Discarding non-comparable pkg %s.%s"
 msgstr "Uklanjam neuporediv paket %s.%s"
 
 #. we've not got any installed that match n or n+a
-#: ../cli.py:1423
+#: ../cli.py:2025
 #, python-format
 msgid "No other %s installed, adding to list for potential install"
-msgstr ""
-"Ne postoji instaliran drugi %s, dodajem ga u spisak za potencijalnu "
-"instalaciju"
+msgstr "Ne postoji instaliran drugi %s, dodajem ga u spisak za potencijalnu instalaciju"
 
-#: ../cli.py:1443
+#: ../cli.py:2045
 msgid "Plugin Options"
 msgstr "Opcije dodatka"
 
-#: ../cli.py:1451
+#: ../cli.py:2057
 #, python-format
 msgid "Command line error: %s"
 msgstr "Greška komandne linije: %s"
 
-#: ../cli.py:1467
+#: ../cli.py:2079
 #, python-format
 msgid ""
 "\n"
 "\n"
 "%s: %s option requires an argument"
-msgstr ""
-"\n"
-"\n"
-"%s: %s opcija zahteva argument"
+msgstr "\n\n%s: %s opcija zahteva argument"
 
-#: ../cli.py:1521
+#: ../cli.py:2147
 msgid "--color takes one of: auto, always, never"
 msgstr "--color prima jedan od sledećih: auto, always, never"
 
 #. We have a relative installroot ... haha
-#: ../cli.py:1596
+#: ../cli.py:2218
 #, python-format
 msgid "--installroot must be an absolute path: %s"
 msgstr ""
 
-#: ../cli.py:1642
+#: ../cli.py:2272
 msgid "show this help message and exit"
 msgstr "prikaži ovu pomoćnu poruku i izađi"
 
-#: ../cli.py:1646
+#: ../cli.py:2276
 msgid "be tolerant of errors"
 msgstr "budi tolerantan na greške"
 
-#: ../cli.py:1649
+#: ../cli.py:2279
 msgid "run entirely from system cache, don't update cache"
 msgstr ""
 
-#: ../cli.py:1652
+#: ../cli.py:2282
 msgid "config file location"
 msgstr "mesto datoteke podešavanja"
 
-#: ../cli.py:1655
+#: ../cli.py:2285
 msgid "maximum command wait time"
 msgstr "najduže vreme čekanja na komandu"
 
-#: ../cli.py:1657
+#: ../cli.py:2287
 msgid "debugging output level"
 msgstr "nivo izlaznog prikaza za pronalaženje grešaka"
 
-#: ../cli.py:1661
+#: ../cli.py:2291
 msgid "show duplicates, in repos, in list/search commands"
-msgstr ""
-"prikazuj duplikate, u riznicama, u komandama za izlistavanje/pretraživanje"
+msgstr "prikazuj duplikate, u riznicama, u komandama za izlistavanje/pretraživanje"
 
-#: ../cli.py:1663
+#: ../cli.py:2296
 msgid "error output level"
 msgstr "nivo izlaznog prikaza grešaka"
 
-#: ../cli.py:1666
+#: ../cli.py:2299
 msgid "debugging output level for rpm"
 msgstr ""
 
-#: ../cli.py:1669
+#: ../cli.py:2302
 msgid "quiet operation"
 msgstr "tiha radnja"
 
-#: ../cli.py:1671
+#: ../cli.py:2304
 msgid "verbose operation"
 msgstr "opširna radnja"
 
-#: ../cli.py:1673
+#: ../cli.py:2306
 msgid "answer yes for all questions"
 msgstr "odgovori sa da na sva pitanja"
 
-#: ../cli.py:1675
+#: ../cli.py:2308
+msgid "answer no for all questions"
+msgstr ""
+
+#: ../cli.py:2312
 msgid "show Yum version and exit"
 msgstr "prikaži Yum verziju i izađi"
 
-#: ../cli.py:1676
+#: ../cli.py:2313
 msgid "set install root"
 msgstr "postavi koreni direktorijum instalacije"
 
-#: ../cli.py:1680
+#: ../cli.py:2317
 msgid "enable one or more repositories (wildcards allowed)"
 msgstr "uključi jednu ili više riznica (skraćenice su dozvoljene)"
 
-#: ../cli.py:1684
+#: ../cli.py:2321
 msgid "disable one or more repositories (wildcards allowed)"
 msgstr "isključi jednu ili više riznica (skraćenice su dozvoljene)"
 
-#: ../cli.py:1687
+#: ../cli.py:2324
 msgid "exclude package(s) by name or glob"
 msgstr "izuzmi paket(e) po imenu ili globu"
 
-#: ../cli.py:1689
+#: ../cli.py:2326
 msgid "disable exclude from main, for a repo or for everything"
 msgstr "isključi izuzimanje iz glavnog skupa, za riznicu ili za sve"
 
-#: ../cli.py:1692
+#: ../cli.py:2329
 msgid "enable obsoletes processing during updates"
 msgstr "uključi obradu zastarelih paketa u toku ažuriranja"
 
-#: ../cli.py:1694
+#: ../cli.py:2331
 msgid "disable Yum plugins"
 msgstr "isključi dodatke za Yum"
 
-#: ../cli.py:1696
+#: ../cli.py:2333
 msgid "disable gpg signature checking"
 msgstr "isključi proveru gpg potpisa"
 
-#: ../cli.py:1698
+#: ../cli.py:2335
 msgid "disable plugins by name"
 msgstr "isključi dodatke po imenu"
 
-#: ../cli.py:1701
+#: ../cli.py:2338
 msgid "enable plugins by name"
 msgstr "uključi dodatke po imenu"
 
-#: ../cli.py:1704
+#: ../cli.py:2341
 msgid "skip packages with depsolving problems"
 msgstr "preskoči pakete koji imaju problema sa rešavanjem zavisnosti"
 
-#: ../cli.py:1706
+#: ../cli.py:2343
 msgid "control whether color is used"
 msgstr "kontroliše da li se koristi boja"
 
-#: ../cli.py:1708
+#: ../cli.py:2345
 msgid "set value of $releasever in yum config and repo files"
 msgstr ""
 
-#: ../cli.py:1710
+#: ../cli.py:2347
+msgid "don't update, just download"
+msgstr ""
+
+#: ../cli.py:2349
+msgid "specifies an alternate directory to store packages"
+msgstr ""
+
+#: ../cli.py:2351
 msgid "set arbitrary config and repo options"
 msgstr ""
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Jan"
 msgstr "jan"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Feb"
 msgstr "feb"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Mar"
 msgstr "mar"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Apr"
 msgstr "apr"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "May"
 msgstr "maj"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Jun"
 msgstr "jun"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Jul"
 msgstr "jul"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Aug"
 msgstr "avg"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Sep"
 msgstr "sep"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Oct"
 msgstr "okt"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Nov"
 msgstr "nov"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Dec"
 msgstr "dec"
 
-#: ../output.py:318
+#: ../output.py:473
 msgid "Trying other mirror."
 msgstr "Pokušavam drugi odraz."
 
-#: ../output.py:581
+#: ../output.py:816
 #, python-format
 msgid "Name        : %s%s%s"
 msgstr ""
 
-#: ../output.py:582
+#: ../output.py:817
 #, python-format
 msgid "Arch        : %s"
 msgstr ""
 
-#: ../output.py:584
+#: ../output.py:819
 #, python-format
 msgid "Epoch       : %s"
 msgstr ""
 
-#: ../output.py:585
+#: ../output.py:820
 #, python-format
 msgid "Version     : %s"
 msgstr ""
 
-#: ../output.py:586
+#: ../output.py:821
 #, python-format
 msgid "Release     : %s"
 msgstr ""
 
-#: ../output.py:587
+#: ../output.py:822
 #, python-format
 msgid "Size        : %s"
 msgstr ""
 
-#: ../output.py:588 ../output.py:900
+#: ../output.py:823 ../output.py:1329
 #, python-format
 msgid "Repo        : %s"
 msgstr "Riznica     : %s"
 
-#: ../output.py:590
+#: ../output.py:825
 #, python-format
 msgid "From repo   : %s"
 msgstr ""
 
-#: ../output.py:592
+#: ../output.py:827
 #, python-format
 msgid "Committer   : %s"
 msgstr ""
 
-#: ../output.py:593
+#: ../output.py:828
 #, python-format
 msgid "Committime  : %s"
 msgstr ""
 
-#: ../output.py:594
+#: ../output.py:829
 #, python-format
 msgid "Buildtime   : %s"
 msgstr ""
 
-#: ../output.py:596
+#: ../output.py:831
 #, python-format
 msgid "Install time: %s"
 msgstr ""
 
-#: ../output.py:604
+#: ../output.py:839
 #, python-format
 msgid "Installed by: %s"
 msgstr ""
 
-#: ../output.py:611
+#: ../output.py:846
 #, python-format
 msgid "Changed by  : %s"
 msgstr ""
 
-#: ../output.py:612
+#: ../output.py:847
 msgid "Summary     : "
 msgstr ""
 
-#: ../output.py:614 ../output.py:913
+#: ../output.py:849 ../output.py:1345
 #, python-format
 msgid "URL         : %s"
 msgstr "URL         : %s"
 
-#: ../output.py:615
+#: ../output.py:850
 msgid "License     : "
 msgstr ""
 
-#: ../output.py:616 ../output.py:910
+#: ../output.py:851 ../output.py:1342
 msgid "Description : "
 msgstr "Opis        : "
 
-#: ../output.py:684
+#: ../output.py:969
 msgid "y"
 msgstr "d"
 
-#: ../output.py:684
+#: ../output.py:969
 msgid "yes"
 msgstr "da"
 
-#: ../output.py:685
+#: ../output.py:970
 msgid "n"
 msgstr "n"
 
-#: ../output.py:685
+#: ../output.py:970
 msgid "no"
 msgstr "ne"
 
-#: ../output.py:689
+#: ../output.py:974
 msgid "Is this ok [y/N]: "
 msgstr "Da li je ovo u redu [d/N]: "
 
-#: ../output.py:777
+#: ../output.py:1097
 #, python-format
 msgid ""
 "\n"
 "Group: %s"
-msgstr ""
-"\n"
-"Grupa: %s"
+msgstr "\nGrupa: %s"
 
-#: ../output.py:781
+#: ../output.py:1101
 #, python-format
 msgid " Group-Id: %s"
 msgstr " IB grupe: %s"
 
-#: ../output.py:786
+#: ../output.py:1122 ../output.py:1169
 #, python-format
 msgid " Description: %s"
 msgstr " Opis: %s"
 
-#: ../output.py:788
+#: ../output.py:1124
 #, python-format
 msgid " Language: %s"
 msgstr ""
 
-#: ../output.py:790
+#: ../output.py:1126
 msgid " Mandatory Packages:"
 msgstr " Obavezni paketi:"
 
-#: ../output.py:791
+#: ../output.py:1127
 msgid " Default Packages:"
 msgstr " Podrazumevani paketi:"
 
-#: ../output.py:792
+#: ../output.py:1128
 msgid " Optional Packages:"
 msgstr " Izborni paketi:"
 
-#: ../output.py:793
+#: ../output.py:1129
 msgid " Conditional Packages:"
 msgstr " Uslovljeni paketi:"
 
-#: ../output.py:814
+#: ../output.py:1147
+msgid " Installed Packages:"
+msgstr ""
+
+#: ../output.py:1157
+#, python-format
+msgid ""
+"\n"
+"Environment Group: %s"
+msgstr ""
+
+#: ../output.py:1158
+#, python-format
+msgid " Environment-Id: %s"
+msgstr ""
+
+#: ../output.py:1191
+msgid " Mandatory Groups:"
+msgstr ""
+
+#: ../output.py:1192
+msgid " Optional Groups:"
+msgstr ""
+
+#: ../output.py:1205
+msgid " Installed Groups:"
+msgstr ""
+
+#: ../output.py:1217
 #, python-format
 msgid "package: %s"
 msgstr "paket: %s"
 
-#: ../output.py:816
+#: ../output.py:1219
 msgid "  No dependencies for this package"
 msgstr "  Ne postoje zavisnosti ovog paketa"
 
-#: ../output.py:821
+#: ../output.py:1224
 #, python-format
 msgid "  dependency: %s"
 msgstr "  zavisnost: %s"
 
-#: ../output.py:823
+#: ../output.py:1226
 msgid "   Unsatisfied dependency"
 msgstr "   Nezadovoljena zavisnost"
 
-#: ../output.py:901
+#: ../output.py:1337
 msgid "Matched from:"
 msgstr "Povezan iz  :"
 
-#: ../output.py:916
+#: ../output.py:1348
 #, python-format
 msgid "License     : %s"
 msgstr "Licenca     : %s"
 
-#: ../output.py:919
+#: ../output.py:1351
 #, python-format
 msgid "Filename    : %s"
 msgstr "Ime datoteke: %s"
 
-#: ../output.py:923
+#: ../output.py:1360
+msgid "Provides    : "
+msgstr ""
+
+#: ../output.py:1363
 msgid "Other       : "
 msgstr "Ostalo      : "
 
-#: ../output.py:966
+#: ../output.py:1426
 msgid "There was an error calculating total download size"
 msgstr "Dogodila se greška pri računanju ukupne veličine za preuzimanje"
 
-#: ../output.py:971
+#: ../output.py:1431
 #, python-format
 msgid "Total size: %s"
 msgstr "Ukupna veličina: %s"
 
-#: ../output.py:974
+#: ../output.py:1433
 #, python-format
 msgid "Total download size: %s"
 msgstr "Ukupna veličina za preuzimanje: %s"
 
-#: ../output.py:978 ../output.py:998
+#: ../output.py:1436 ../output.py:1459 ../output.py:1463
 #, python-format
 msgid "Installed size: %s"
 msgstr ""
 
-#: ../output.py:994
+#: ../output.py:1454
 msgid "There was an error calculating installed size"
 msgstr ""
 
-#: ../output.py:1039
+#: ../output.py:1504
 msgid "Reinstalling"
 msgstr ""
 
-#: ../output.py:1040
+#: ../output.py:1505
 msgid "Downgrading"
 msgstr ""
 
-#: ../output.py:1041
+#: ../output.py:1506
 msgid "Installing for dependencies"
 msgstr "Instaliram zbog zavisnosti"
 
-#: ../output.py:1042
+#: ../output.py:1507
 msgid "Updating for dependencies"
 msgstr "Ažuriram zbog zavisnosti"
 
-#: ../output.py:1043
+#: ../output.py:1508
 msgid "Removing for dependencies"
 msgstr "Uklanjam zbog zavisnosti"
 
-#: ../output.py:1050 ../output.py:1171
+#: ../output.py:1515 ../output.py:1576 ../output.py:1672
 msgid "Skipped (dependency problems)"
 msgstr "Preskočeno (problemi sa zavisnostima)"
 
-#: ../output.py:1052 ../output.py:1687
+#: ../output.py:1517 ../output.py:1577 ../output.py:2223
 msgid "Not installed"
 msgstr ""
 
-#: ../output.py:1053
+#: ../output.py:1518 ../output.py:1578
 msgid "Not available"
 msgstr ""
 
-#: ../output.py:1075 ../output.py:2024
+#: ../output.py:1540 ../output.py:1588 ../output.py:1604 ../output.py:2581
 msgid "Package"
-msgstr "Paket"
+msgid_plural "Packages"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] "Paket"
 
-#: ../output.py:1075
+#: ../output.py:1540
 msgid "Arch"
 msgstr "Arhitektura"
 
-#: ../output.py:1076
+#: ../output.py:1541
 msgid "Version"
 msgstr "Verzija"
 
-#: ../output.py:1076
+#: ../output.py:1541
 msgid "Repository"
 msgstr "Riznica"
 
-#: ../output.py:1077
+#: ../output.py:1542
 msgid "Size"
 msgstr "Veličina"
 
-#: ../output.py:1089
+#: ../output.py:1554
 #, python-format
 msgid "     replacing  %s%s%s.%s %s\n"
 msgstr ""
 
-#: ../output.py:1098
+#: ../output.py:1563
 #, python-format
 msgid ""
 "\n"
@@ -883,65 +1004,67 @@ msgid ""
 "%s\n"
 msgstr ""
 
-#: ../output.py:1109
-#, python-format
-msgid "Install   %5.5s Package(s)\n"
+#: ../output.py:1568 ../output.py:2376 ../output.py:2377
+msgid "Install"
 msgstr ""
 
-#: ../output.py:1113
-#, python-format
-msgid "Upgrade   %5.5s Package(s)\n"
+#: ../output.py:1570
+msgid "Upgrade"
 msgstr ""
 
-#: ../output.py:1117
-#, python-format
-msgid "Remove    %5.5s Package(s)\n"
+#: ../output.py:1572
+msgid "Remove"
 msgstr ""
 
-#: ../output.py:1121
-#, python-format
-msgid "Reinstall %5.5s Package(s)\n"
+#: ../output.py:1574 ../output.py:2382
+msgid "Reinstall"
 msgstr ""
 
-#: ../output.py:1125
-#, python-format
-msgid "Downgrade %5.5s Package(s)\n"
+#: ../output.py:1575 ../output.py:2383
+msgid "Downgrade"
 msgstr ""
 
-#: ../output.py:1165
+#: ../output.py:1606
+msgid "Dependent package"
+msgid_plural "Dependent packages"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#: ../output.py:1666
 msgid "Removed"
 msgstr "Uklonjeno"
 
-#: ../output.py:1166
+#: ../output.py:1667
 msgid "Dependency Removed"
 msgstr "Zavisnost uklonjena"
 
-#: ../output.py:1168
+#: ../output.py:1669
 msgid "Dependency Installed"
 msgstr "Zavisnost instalirana"
 
-#: ../output.py:1170
+#: ../output.py:1671
 msgid "Dependency Updated"
 msgstr "Zavisnost ažurirana"
 
-#: ../output.py:1172
+#: ../output.py:1673
 msgid "Replaced"
 msgstr "Zamenjeno"
 
-#: ../output.py:1173
+#: ../output.py:1674
 msgid "Failed"
 msgstr "Neuspeh"
 
 #. Delta between C-c's so we treat as exit
-#: ../output.py:1260
+#: ../output.py:1764
 msgid "two"
 msgstr "dva"
 
 #. For translators: This is output like:
 #. Current download cancelled, interrupt (ctrl-c) again within two seconds
 #. to exit.
-#. Where "interupt (ctrl-c) again" and "two" are highlighted.
-#: ../output.py:1271
+#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
+#: ../output.py:1775
 #, python-format
 msgid ""
 "\n"
@@ -949,491 +1072,542 @@ msgid ""
 "to exit.\n"
 msgstr ""
 
-#: ../output.py:1282
+#: ../output.py:1786
 msgid "user interrupt"
 msgstr "prekid od strane korisnika"
 
-#: ../output.py:1300
+#: ../output.py:1812
 msgid "Total"
 msgstr "Ukupno"
 
-#: ../output.py:1322
+#: ../output.py:1834
 msgid "I"
 msgstr ""
 
-#: ../output.py:1323
+#: ../output.py:1835
 msgid "O"
 msgstr ""
 
-#: ../output.py:1324
+#: ../output.py:1836
 msgid "E"
 msgstr ""
 
-#: ../output.py:1325
+#: ../output.py:1837
 msgid "R"
 msgstr ""
 
-#: ../output.py:1326
+#: ../output.py:1838
 msgid "D"
 msgstr ""
 
-#: ../output.py:1327
+#: ../output.py:1839
 msgid "U"
 msgstr ""
 
-#: ../output.py:1341
+#: ../output.py:1853
 msgid "<unset>"
 msgstr ""
 
-#: ../output.py:1342
+#: ../output.py:1854
 msgid "System"
 msgstr ""
 
-#: ../output.py:1411
+#: ../output.py:1923
 #, python-format
 msgid "Skipping merged transaction %d to %d, as it overlaps"
 msgstr ""
 
-#: ../output.py:1421 ../output.py:1592
+#: ../output.py:1933 ../output.py:2125
 msgid "No transactions"
 msgstr ""
 
-#: ../output.py:1446 ../output.py:2013
+#: ../output.py:1958 ../output.py:2570 ../output.py:2660
 msgid "Bad transaction IDs, or package(s), given"
 msgstr ""
 
-#: ../output.py:1484
+#: ../output.py:2007
 msgid "Command line"
 msgstr ""
 
-#: ../output.py:1486 ../output.py:1908
+#: ../output.py:2009 ../output.py:2458
 msgid "Login user"
 msgstr ""
 
 #. REALLY Needs to use columns!
-#: ../output.py:1487 ../output.py:2022
+#: ../output.py:2010 ../output.py:2579
 msgid "ID"
 msgstr ""
 
-#: ../output.py:1489
+#: ../output.py:2012
 msgid "Date and time"
 msgstr ""
 
-#: ../output.py:1490 ../output.py:1910 ../output.py:2023
+#: ../output.py:2013 ../output.py:2460 ../output.py:2580
 msgid "Action(s)"
 msgstr ""
 
-#: ../output.py:1491 ../output.py:1911
+#: ../output.py:2014 ../output.py:2461
 msgid "Altered"
 msgstr ""
 
-#: ../output.py:1538
+#: ../output.py:2061
 msgid "No transaction ID given"
 msgstr ""
 
-#: ../output.py:1564 ../output.py:1972
+#: ../output.py:2087 ../output.py:2526
 msgid "Bad transaction ID given"
 msgstr ""
 
-#: ../output.py:1569
+#: ../output.py:2092
 msgid "Not found given transaction ID"
 msgstr ""
 
-#: ../output.py:1577
+#: ../output.py:2100
 msgid "Found more than one transaction ID!"
 msgstr ""
 
-#: ../output.py:1618 ../output.py:1980
+#: ../output.py:2151 ../output.py:2534
 msgid "No transaction ID, or package, given"
 msgstr ""
 
-#: ../output.py:1686 ../output.py:1845
+#: ../output.py:2222 ../output.py:2384
 msgid "Downgraded"
 msgstr ""
 
-#: ../output.py:1688
+#: ../output.py:2224
 msgid "Older"
 msgstr ""
 
-#: ../output.py:1688
+#: ../output.py:2224
 msgid "Newer"
 msgstr ""
 
-#: ../output.py:1724 ../output.py:1726
+#: ../output.py:2261 ../output.py:2263 ../output.py:2681
 msgid "Transaction ID :"
 msgstr ""
 
-#: ../output.py:1728
+#: ../output.py:2265 ../output.py:2683
 msgid "Begin time     :"
 msgstr ""
 
-#: ../output.py:1731 ../output.py:1733
+#: ../output.py:2268 ../output.py:2270
 msgid "Begin rpmdb    :"
 msgstr ""
 
-#: ../output.py:1749
+#: ../output.py:2286
 #, python-format
 msgid "(%u seconds)"
 msgstr ""
 
-#: ../output.py:1751
+#: ../output.py:2288
 #, python-format
 msgid "(%u minutes)"
 msgstr ""
 
-#: ../output.py:1753
+#: ../output.py:2290
 #, python-format
 msgid "(%u hours)"
 msgstr ""
 
-#: ../output.py:1755
+#: ../output.py:2292
 #, python-format
 msgid "(%u days)"
 msgstr ""
 
-#: ../output.py:1756
+#: ../output.py:2293
 msgid "End time       :"
 msgstr ""
 
-#: ../output.py:1759 ../output.py:1761
+#: ../output.py:2296 ../output.py:2298
 msgid "End rpmdb      :"
 msgstr ""
 
-#: ../output.py:1764 ../output.py:1766
+#: ../output.py:2301 ../output.py:2303
 msgid "User           :"
 msgstr ""
 
-#: ../output.py:1770 ../output.py:1773 ../output.py:1775 ../output.py:1777
-#: ../output.py:1779
+#: ../output.py:2307 ../output.py:2310 ../output.py:2312 ../output.py:2314
+#: ../output.py:2316
 msgid "Return-Code    :"
 msgstr ""
 
-#: ../output.py:1770 ../output.py:1775
+#: ../output.py:2307 ../output.py:2312
 msgid "Aborted"
 msgstr ""
 
-#: ../output.py:1773
+#: ../output.py:2310
 msgid "Failures:"
 msgstr ""
 
-#: ../output.py:1777
+#: ../output.py:2314
 msgid "Failure:"
 msgstr ""
 
-#: ../output.py:1779
+#: ../output.py:2316
 msgid "Success"
 msgstr ""
 
-#: ../output.py:1784 ../output.py:1786
+#: ../output.py:2321 ../output.py:2323 ../output.py:2712
 msgid "Command Line   :"
 msgstr ""
 
-#: ../output.py:1795
+#: ../output.py:2332
 #, python-format
 msgid "Additional non-default information stored: %d"
 msgstr ""
 
 #. This is _possible_, but not common
-#: ../output.py:1800
+#: ../output.py:2337
 msgid "Transaction performed with:"
 msgstr ""
 
-#: ../output.py:1804
+#: ../output.py:2341
 msgid "Packages Altered:"
 msgstr ""
 
-#: ../output.py:1808
+#: ../output.py:2345
 msgid "Packages Skipped:"
 msgstr ""
 
-#: ../output.py:1814
+#: ../output.py:2353
 msgid "Rpmdb Problems:"
 msgstr ""
 
-#: ../output.py:1825
+#: ../output.py:2364
 msgid "Scriptlet output:"
 msgstr ""
 
-#: ../output.py:1831
+#: ../output.py:2370
 msgid "Errors:"
 msgstr ""
 
-#: ../output.py:1837 ../output.py:1838
-msgid "Install"
-msgstr ""
-
-#: ../output.py:1839
+#: ../output.py:2378
 msgid "Dep-Install"
 msgstr ""
 
-#: ../output.py:1841
+#: ../output.py:2380
 msgid "Obsoleting"
 msgstr ""
 
-#: ../output.py:1842
+#: ../output.py:2381
 msgid "Erase"
 msgstr ""
 
-#: ../output.py:1843
-msgid "Reinstall"
-msgstr ""
-
-#: ../output.py:1844
-msgid "Downgrade"
-msgstr ""
-
-#: ../output.py:1846
+#: ../output.py:2385
 msgid "Update"
 msgstr ""
 
-#: ../output.py:1909
+#: ../output.py:2459
 msgid "Time"
 msgstr ""
 
-#: ../output.py:1935
+#: ../output.py:2485
 msgid "Last day"
 msgstr ""
 
-#: ../output.py:1936
+#: ../output.py:2486
 msgid "Last week"
 msgstr ""
 
-#: ../output.py:1937
+#: ../output.py:2487
 msgid "Last 2 weeks"
 msgstr ""
 
 #. US default :p
-#: ../output.py:1938
+#: ../output.py:2488
 msgid "Last 3 months"
 msgstr ""
 
-#: ../output.py:1939
+#: ../output.py:2489
 msgid "Last 6 months"
 msgstr ""
 
-#: ../output.py:1940
+#: ../output.py:2490
 msgid "Last year"
 msgstr ""
 
-#: ../output.py:1941
+#: ../output.py:2491
 msgid "Over a year ago"
 msgstr ""
 
-#: ../output.py:1984
+#: ../output.py:2538
 #, python-format
 msgid "No Transaction %s found"
 msgstr ""
 
-#: ../output.py:1990
+#: ../output.py:2544
 msgid "Transaction ID:"
 msgstr ""
 
-#: ../output.py:1991
+#: ../output.py:2545
 msgid "Available additional history information:"
 msgstr ""
 
-#: ../output.py:2003
+#: ../output.py:2558
 #, python-format
 msgid "%s: No additional data found by this name"
 msgstr ""
 
-#: ../output.py:2106
+#: ../output.py:2684
+msgid "Package        :"
+msgstr ""
+
+#: ../output.py:2685
+msgid "State          :"
+msgstr ""
+
+#: ../output.py:2688
+msgid "Size           :"
+msgstr ""
+
+#: ../output.py:2690
+msgid "Build host     :"
+msgstr ""
+
+#: ../output.py:2693
+msgid "Build time     :"
+msgstr ""
+
+#: ../output.py:2695
+msgid "Packager       :"
+msgstr ""
+
+#: ../output.py:2697
+msgid "Vendor         :"
+msgstr ""
+
+#: ../output.py:2699
+msgid "License        :"
+msgstr ""
+
+#: ../output.py:2701
+msgid "URL            :"
+msgstr ""
+
+#: ../output.py:2703
+msgid "Source RPM     :"
+msgstr ""
+
+#: ../output.py:2706
+msgid "Commit Time    :"
+msgstr ""
+
+#: ../output.py:2708
+msgid "Committer      :"
+msgstr ""
+
+#: ../output.py:2710
+msgid "Reason         :"
+msgstr ""
+
+#: ../output.py:2714
+msgid "From repo      :"
+msgstr ""
+
+#: ../output.py:2718
+msgid "Installed by   :"
+msgstr ""
+
+#: ../output.py:2722
+msgid "Changed by     :"
+msgstr ""
+
+#: ../output.py:2767
 msgid "installed"
 msgstr "instaliran"
 
-#: ../output.py:2107
+#: ../output.py:2768
 msgid "an update"
 msgstr ""
 
-#: ../output.py:2108
+#: ../output.py:2769
 msgid "erased"
 msgstr "obrisan"
 
-#: ../output.py:2109
+#: ../output.py:2770
 msgid "reinstalled"
 msgstr ""
 
-#: ../output.py:2110
+#: ../output.py:2771
 msgid "a downgrade"
 msgstr ""
 
-#: ../output.py:2111
+#: ../output.py:2772
 msgid "obsoleting"
 msgstr ""
 
-#: ../output.py:2112
+#: ../output.py:2773
 msgid "updated"
 msgstr "ažuriran"
 
-#: ../output.py:2113
+#: ../output.py:2774
 msgid "obsoleted"
 msgstr "prevaziđen"
 
-#: ../output.py:2117
+#: ../output.py:2778
 #, python-format
 msgid "---> Package %s.%s %s:%s-%s will be %s"
 msgstr ""
 
-#: ../output.py:2124
+#: ../output.py:2789
 msgid "--> Running transaction check"
 msgstr "--> Izvršava se provera transakcije"
 
-#: ../output.py:2129
+#: ../output.py:2795
 msgid "--> Restarting Dependency Resolution with new changes."
 msgstr "--> Ponovno pokretanje razrešavanja zavisnosti sa novim promenama."
 
-#: ../output.py:2134
+#: ../output.py:2801
 msgid "--> Finished Dependency Resolution"
 msgstr "--> Završeno je razrešavanje zavisnosti"
 
-#: ../output.py:2139 ../output.py:2144
+#: ../output.py:2814 ../output.py:2827
 #, python-format
 msgid "--> Processing Dependency: %s for package: %s"
 msgstr "--> Obrađujem zavisnost: %s za paket: %s"
 
-#: ../output.py:2149
+#: ../output.py:2841
 #, python-format
-msgid "---> Keeping package: %s"
+msgid "---> Keeping package: %s due to %s"
 msgstr ""
 
-#: ../output.py:2152
+#: ../output.py:2850
 #, python-format
 msgid "--> Unresolved Dependency: %s"
 msgstr "--> Nerazrešena zavisnost: %s"
 
-#: ../output.py:2163
+#: ../output.py:2867
 #, python-format
 msgid "Package: %s"
 msgstr ""
 
-#: ../output.py:2165
+#: ../output.py:2869
 #, python-format
 msgid ""
 "\n"
 "    Requires: %s"
 msgstr ""
 
-#: ../output.py:2174
+#: ../output.py:2878
 #, python-format
 msgid ""
 "\n"
 "    %s: %s (%s)"
 msgstr ""
 
-#: ../output.py:2179
+#: ../output.py:2883
 #, python-format
 msgid ""
 "\n"
 "        %s"
 msgstr ""
 
-#: ../output.py:2181
+#: ../output.py:2885
 msgid ""
 "\n"
 "        Not found"
 msgstr ""
 
 #. These should be the only three things we care about:
-#: ../output.py:2196
+#: ../output.py:2900
 msgid "Updated By"
 msgstr ""
 
-#: ../output.py:2197
+#: ../output.py:2901
 msgid "Downgraded By"
 msgstr ""
 
-#: ../output.py:2198
+#: ../output.py:2902
 msgid "Obsoleted By"
 msgstr ""
 
-#: ../output.py:2216
+#: ../output.py:2920
 msgid "Available"
 msgstr ""
 
-#: ../output.py:2243 ../output.py:2248
+#: ../output.py:2955 ../output.py:2968
 #, python-format
 msgid "--> Processing Conflict: %s conflicts %s"
 msgstr "--> Sukob pri obradi: %s se sukobi sa %s"
 
-#: ../output.py:2252
+#: ../output.py:2974
 msgid "--> Populating transaction set with selected packages. Please wait."
-msgstr ""
-"--> Popunjavam skup transakcije sa izabranim paketima. Molim vas, sačekajte."
+msgstr "--> Popunjavam skup transakcije sa izabranim paketima. Molim vas, sačekajte."
 
-#: ../output.py:2256
+#: ../output.py:2983
 #, python-format
 msgid "---> Downloading header for %s to pack into transaction set."
 msgstr "---> Preuzimam zaglavlje za %s radi pakovanja u skup transakcije."
 
-#: ../utils.py:99
+#. self.event(txmbr.name, count, len(base.tsInfo), count, )
+#. (te_current*100L)/te_total
+#: ../output.py:3248
+msgid "Verifying"
+msgstr ""
+
+#: ../utils.py:123
 msgid "Running"
 msgstr "Izvršava se"
 
-#: ../utils.py:100
+#: ../utils.py:124
 msgid "Sleeping"
 msgstr "Uspavan"
 
-#: ../utils.py:101
+#: ../utils.py:125
 msgid "Uninterruptible"
 msgstr ""
 
-#: ../utils.py:102
+#: ../utils.py:126
 msgid "Zombie"
 msgstr "Zombi"
 
-#: ../utils.py:103
+#: ../utils.py:127
 msgid "Traced/Stopped"
 msgstr "Praćen/zaustavljen"
 
-#: ../utils.py:104 ../yumcommands.py:994
+#: ../utils.py:128 ../yumcommands.py:2193
 msgid "Unknown"
 msgstr "Nepoznat"
 
-#: ../utils.py:115
+#: ../utils.py:153
 msgid "  The other application is: PackageKit"
 msgstr "  Drugi program je: PackageKit"
 
-#: ../utils.py:117
+#: ../utils.py:155
 #, python-format
 msgid "  The other application is: %s"
 msgstr "  Drugi program je: %s"
 
-#: ../utils.py:120
+#: ../utils.py:158
 #, python-format
 msgid "    Memory : %5s RSS (%5sB VSZ)"
 msgstr "    Memorija: %5s RSS (%5sB VSZ)"
 
-#: ../utils.py:125
+#: ../utils.py:163
 #, python-format
 msgid "    Started: %s - %s ago"
 msgstr "    Pokrenut: %s - %s ranije"
 
-#: ../utils.py:127
+#: ../utils.py:165
 #, python-format
 msgid "    State  : %s, pid: %d"
 msgstr "    Stanje  : %s, pid: %d"
 
-#: ../utils.py:170 ../yummain.py:43
+#: ../utils.py:194 ../yummain.py:43
 msgid ""
 "\n"
 "\n"
 "Exiting on user cancel"
-msgstr ""
-"\n"
-"\n"
-"Izlazim kada korisnik otkaže"
+msgstr "\n\nIzlazim kada korisnik otkaže"
 
-#: ../utils.py:176 ../yummain.py:49
+#: ../utils.py:206 ../yummain.py:49
 msgid ""
 "\n"
 "\n"
 "Exiting on Broken Pipe"
-msgstr ""
-"\n"
-"\n"
-"Izlazim kada se slomi cev"
+msgstr "\n\nIzlazim kada se slomi cev"
 
-#: ../utils.py:178 ../yummain.py:51
+#: ../utils.py:208 ../yummain.py:51
 #, python-format
 msgid ""
 "\n"
@@ -1441,50 +1615,41 @@ msgid ""
 "%s"
 msgstr ""
 
-#: ../utils.py:228 ../yummain.py:123
-msgid ""
-"Another app is currently holding the yum lock; exiting as configured by "
-"exit_on_lock"
-msgstr ""
-
-#: ../utils.py:287
+#: ../utils.py:326
 #, python-format
 msgid "PluginExit Error: %s"
 msgstr ""
 
-#: ../utils.py:290
+#: ../utils.py:329
 #, python-format
 msgid "Yum Error: %s"
 msgstr ""
 
-#: ../utils.py:342 ../yummain.py:150 ../yummain.py:189
+#: ../utils.py:387 ../yummain.py:147 ../yummain.py:186
 #, python-format
 msgid "Error: %s"
 msgstr "Greška: %s"
 
-#: ../utils.py:346 ../yummain.py:194
+#: ../utils.py:391 ../yummain.py:191
 msgid " You could try using --skip-broken to work around the problem"
-msgstr ""
-" Možete da probate upotrebu --skip-broken opcije radi zaobilaženja problema"
+msgstr " Možete da probate upotrebu --skip-broken opcije radi zaobilaženja problema"
 
-#: ../utils.py:348 ../yummain.py:87
+#: ../utils.py:393 ../yummain.py:87
 msgid " You could try running: rpm -Va --nofiles --nodigest"
 msgstr ""
 
-#: ../utils.py:355 ../yummain.py:160 ../yummain.py:202
+#: ../utils.py:400 ../yummain.py:157 ../yummain.py:199
 #, python-format
 msgid "Unknown Error(s): Exit Code: %d:"
 msgstr "Nepoznata greška(e): izlazni kod: %d:"
 
-#: ../utils.py:361 ../yummain.py:208
+#: ../utils.py:406 ../yummain.py:205
 msgid ""
 "\n"
 "Dependencies Resolved"
-msgstr ""
-"\n"
-"Zavisnosti su razrešene"
+msgstr "\nZavisnosti su razrešene"
 
-#: ../utils.py:376 ../yummain.py:234
+#: ../utils.py:422 ../yummain.py:237
 msgid "Complete!"
 msgstr "Završeno!"
 
@@ -1496,7 +1661,7 @@ msgstr ""
 msgid "You need to be root to perform this command."
 msgstr "Morate biti root korisnik da biste izvršili ovu komandu."
 
-#: ../yumcommands.py:59
+#: ../yumcommands.py:67
 msgid ""
 "\n"
 "You have enabled checking of packages via GPG keys. This is a good thing. \n"
@@ -1511,584 +1676,653 @@ msgid ""
 "will install it for you.\n"
 "\n"
 "For more information contact your distribution or package provider.\n"
-msgstr ""
-"\n"
-"Uključili ste proveru paketa pomoću GPG ključeva. Ovo je dobra stvar. \n"
-"Međutim, nemate instaliran nijedan GPG javni ključ. Morate da preuzmete\n"
-"ključeve za pakete koje želite da instalirate i instalirate ih.\n"
-"To možete uraditi izvršavanjem komande:\n"
-"    rpm --import public.gpg.key\n"
-"\n"
-"\n"
-"Takođe, možete odrediti url za ključ koji želite da koristite\n"
-"za riznicu u „gpgkey“ opciji u odeljku vezanim za riznice i yum \n"
-"će ga instalirati za vas.\n"
-"\n"
-"Za više informacija kontaktirajte dobavljača vaše distribucije ili paketa.\n"
+msgstr "\nUključili ste proveru paketa pomoću GPG ključeva. Ovo je dobra stvar. \nMeđutim, nemate instaliran nijedan GPG javni ključ. Morate da preuzmete\nključeve za pakete koje želite da instalirate i instalirate ih.\nTo možete uraditi izvršavanjem komande:\n    rpm --import public.gpg.key\n\n\nTakođe, možete odrediti url za ključ koji želite da koristite\nza riznicu u „gpgkey“ opciji u odeljku vezanim za riznice i yum \nće ga instalirati za vas.\n\nZa više informacija kontaktirajte dobavljača vaše distribucije ili paketa.\n"
 
-#: ../yumcommands.py:74
+#: ../yumcommands.py:82
 #, python-format
 msgid "Problem repository: %s"
 msgstr ""
 
-#: ../yumcommands.py:80
+#: ../yumcommands.py:96
 #, python-format
 msgid "Error: Need to pass a list of pkgs to %s"
 msgstr "Greška: potrebno je da dodate spisak paketa za %s"
 
-#: ../yumcommands.py:86
+#: ../yumcommands.py:114
+#, python-format
+msgid "Error: Need at least two packages to %s"
+msgstr ""
+
+#: ../yumcommands.py:129
+#, python-format
+msgid "Error: Need to pass a repoid. and command to %s"
+msgstr ""
+
+#: ../yumcommands.py:136 ../yumcommands.py:142
+#, python-format
+msgid "Error: Need to pass a single valid repoid. to %s"
+msgstr ""
+
+#: ../yumcommands.py:147
+#, python-format
+msgid "Error: Repo %s is not enabled"
+msgstr ""
+
+#: ../yumcommands.py:164
 msgid "Error: Need an item to match"
 msgstr "Greška: potrebno je pridružiti stavku"
 
-#: ../yumcommands.py:92
+#: ../yumcommands.py:178
 msgid "Error: Need a group or list of groups"
 msgstr "Greška: potrebna je grupa ili spisak grupa"
 
-#: ../yumcommands.py:101
+#: ../yumcommands.py:195
 #, python-format
 msgid "Error: clean requires an option: %s"
 msgstr "Greška: clean zahteva opciju: %s"
 
-#: ../yumcommands.py:106
+#: ../yumcommands.py:201
 #, python-format
 msgid "Error: invalid clean argument: %r"
 msgstr "Greška: pogrešan clean argument:%r"
 
-#: ../yumcommands.py:119
+#: ../yumcommands.py:216
 msgid "No argument to shell"
 msgstr "Ne postoji argument za komandno okruženje"
 
-#: ../yumcommands.py:121
+#: ../yumcommands.py:218
 #, python-format
 msgid "Filename passed to shell: %s"
 msgstr "Ime datoteke je prosleđeno komandnom okruženju: %s"
 
-#: ../yumcommands.py:125
+#: ../yumcommands.py:222
 #, python-format
 msgid "File %s given as argument to shell does not exist."
-msgstr ""
-"Ne postoji datoteka %s, koja je prosleđena kao argument komandnom okruženju."
+msgstr "Ne postoji datoteka %s, koja je prosleđena kao argument komandnom okruženju."
 
-#: ../yumcommands.py:131
+#: ../yumcommands.py:228
 msgid "Error: more than one file given as argument to shell."
-msgstr ""
-"Greška: više od jedne datoteke je prosleđeno kao argument komandnom "
-"okruženju."
+msgstr "Greška: više od jedne datoteke je prosleđeno kao argument komandnom okruženju."
 
-#: ../yumcommands.py:148
+#: ../yumcommands.py:247
 msgid ""
 "There are no enabled repos.\n"
 " Run \"yum repolist all\" to see the repos you have.\n"
 " You can enable repos with yum-config-manager --enable <repo>"
 msgstr ""
 
-#: ../yumcommands.py:200
+#: ../yumcommands.py:383
 msgid "PACKAGE..."
 msgstr "PAKET..."
 
-#: ../yumcommands.py:203
+#: ../yumcommands.py:390
 msgid "Install a package or packages on your system"
 msgstr "Instalirajte paket ili pakete na vaš sistem"
 
-#: ../yumcommands.py:212
+#: ../yumcommands.py:421
 msgid "Setting up Install Process"
 msgstr "Postavljam proces instalacije"
 
-#: ../yumcommands.py:223 ../yumcommands.py:245
+#: ../yumcommands.py:447 ../yumcommands.py:507
 msgid "[PACKAGE...]"
 msgstr "[PAKET...]"
 
-#: ../yumcommands.py:226
+#: ../yumcommands.py:454
 msgid "Update a package or packages on your system"
 msgstr "Ažuriraj paket ili pakete na vašem sistemu"
 
-#: ../yumcommands.py:234
+#: ../yumcommands.py:483
 msgid "Setting up Update Process"
 msgstr "Postavljam proces ažuriranja"
 
-#: ../yumcommands.py:248
+#: ../yumcommands.py:514
 msgid "Synchronize installed packages to the latest available versions"
 msgstr ""
 
-#: ../yumcommands.py:256
+#: ../yumcommands.py:543
 msgid "Setting up Distribution Synchronization Process"
 msgstr ""
 
-#: ../yumcommands.py:299
+#: ../yumcommands.py:603
 msgid "Display details about a package or group of packages"
 msgstr "Prikaži detalje o svakom paketu ili grupi paketa"
 
-#: ../yumcommands.py:348
+#: ../yumcommands.py:672
 msgid "Installed Packages"
 msgstr "Instalirani paketi"
 
-#: ../yumcommands.py:356
+#: ../yumcommands.py:682
 msgid "Available Packages"
 msgstr "Dostupni paketi"
 
-#: ../yumcommands.py:360
+#: ../yumcommands.py:687
 msgid "Extra Packages"
 msgstr "Dodatni paketi"
 
-#: ../yumcommands.py:364
+#: ../yumcommands.py:691
 msgid "Updated Packages"
 msgstr "Ažurirani paketi"
 
 #. This only happens in verbose mode
-#: ../yumcommands.py:372 ../yumcommands.py:379 ../yumcommands.py:667
+#: ../yumcommands.py:699 ../yumcommands.py:706 ../yumcommands.py:1539
 msgid "Obsoleting Packages"
 msgstr "Prevaziđeni paketi"
 
-#: ../yumcommands.py:381
+#: ../yumcommands.py:708
 msgid "Recently Added Packages"
 msgstr "Nedavno dodati paketi"
 
-#: ../yumcommands.py:388
+#: ../yumcommands.py:715
 msgid "No matching Packages to list"
 msgstr "Ne postoje odgovarajući paketi za izlistavanje"
 
-#: ../yumcommands.py:402
+#: ../yumcommands.py:766
 msgid "List a package or groups of packages"
 msgstr "Izlistaj pakete ili grupe paketa"
 
-#: ../yumcommands.py:414
+#: ../yumcommands.py:797
 msgid "Remove a package or packages from your system"
 msgstr "Uklonite paket ili pakete sa vašeg sistema"
 
-#: ../yumcommands.py:421
+#: ../yumcommands.py:845
 msgid "Setting up Remove Process"
 msgstr "Postavljam proces uklanjanja"
 
-#: ../yumcommands.py:435
+#: ../yumcommands.py:906
+msgid "Display, or use, the groups information"
+msgstr ""
+
+#: ../yumcommands.py:909
 msgid "Setting up Group Process"
 msgstr "Postavljam proces za grupe"
 
-#: ../yumcommands.py:441
+#: ../yumcommands.py:915
 msgid "No Groups on which to run command"
 msgstr "Ne postoji grupa nad kojom se može izvršiti komanda"
 
-#: ../yumcommands.py:454
-msgid "List available package groups"
-msgstr "Izlistaj dostupne grupe paketa"
-
-#: ../yumcommands.py:474
-msgid "Install the packages in a group on your system"
-msgstr "Instalirajte pakete u grupi na vašem sistemu"
+#: ../yumcommands.py:985
+#, python-format
+msgid "Invalid groups sub-command, use: %s."
+msgstr ""
 
-#: ../yumcommands.py:497
-msgid "Remove the packages in a group from your system"
-msgstr "Uklonite pakete u grupi sa vašeg sistema"
+#: ../yumcommands.py:992
+msgid "There is no installed groups file."
+msgstr ""
 
-#: ../yumcommands.py:525
-msgid "Display details about a package group"
-msgstr "Prikaži detalje o grupi paketa"
+#: ../yumcommands.py:994
+msgid "You don't have access to the groups DB."
+msgstr ""
 
-#: ../yumcommands.py:550
+#: ../yumcommands.py:1256
 msgid "Generate the metadata cache"
 msgstr "Napravi keš sa metapodacima"
 
-#: ../yumcommands.py:556
+#: ../yumcommands.py:1282
 msgid "Making cache files for all metadata files."
 msgstr "Pravim keš datoteke za sve datoteke sa metapodacima."
 
-#: ../yumcommands.py:557
+#: ../yumcommands.py:1283
 msgid "This may take a while depending on the speed of this computer"
 msgstr "Ovo može da potraje u zavisnosti od brzine vašeg računara"
 
-#: ../yumcommands.py:578
+#: ../yumcommands.py:1312
 msgid "Metadata Cache Created"
 msgstr "Napravljen je keš sa metapodacima"
 
-#: ../yumcommands.py:592
+#: ../yumcommands.py:1350
 msgid "Remove cached data"
 msgstr "Ukloni keširane podatke"
 
-#: ../yumcommands.py:613
+#: ../yumcommands.py:1417
 msgid "Find what package provides the given value"
 msgstr "Pronađi koji paket pruža datu vrednost"
 
-#: ../yumcommands.py:633
+#: ../yumcommands.py:1485
 msgid "Check for available package updates"
 msgstr "Proverite da li su dostupna ažuriranja paketa"
 
-#: ../yumcommands.py:687
+#: ../yumcommands.py:1587
 msgid "Search package details for the given string"
 msgstr "Pretražite detalje o paketu za zadatu nisku"
 
-#: ../yumcommands.py:693
+#: ../yumcommands.py:1613
 msgid "Searching Packages: "
 msgstr "Pretražujem pakete: "
 
-#: ../yumcommands.py:710
+#: ../yumcommands.py:1666
 msgid "Update packages taking obsoletes into account"
 msgstr "Ažurirajte pakete uzimajući prevaziđene u obzir"
 
-#: ../yumcommands.py:719
+#: ../yumcommands.py:1696
 msgid "Setting up Upgrade Process"
 msgstr "Postavljam proces nadgradnje"
 
-#: ../yumcommands.py:737
+#: ../yumcommands.py:1731
 msgid "Install a local RPM"
 msgstr "Instaliraj lokalni RPM"
 
-#: ../yumcommands.py:745
+#: ../yumcommands.py:1761
 msgid "Setting up Local Package Process"
 msgstr "Postavljam proces lokalnih paketa"
 
-#: ../yumcommands.py:764
-msgid "Determine which package provides the given dependency"
-msgstr "Odredi koji paketi pružaju datu zavisnost"
-
-#: ../yumcommands.py:767
+#: ../yumcommands.py:1825
 msgid "Searching Packages for Dependency:"
 msgstr "Pretražujem pakete u potrazi za zavisnostima:"
 
-#: ../yumcommands.py:781
+#: ../yumcommands.py:1867
 msgid "Run an interactive yum shell"
 msgstr "Izvršavaj interaktivno yum komandno okruženje"
 
-#: ../yumcommands.py:787
+#: ../yumcommands.py:1893
 msgid "Setting up Yum Shell"
 msgstr "Postavljam yum komandno okruženje"
 
-#: ../yumcommands.py:805
+#: ../yumcommands.py:1936
 msgid "List a package's dependencies"
 msgstr "Izlistaj zavisnosti paketa"
 
-#: ../yumcommands.py:811
+#: ../yumcommands.py:1963
 msgid "Finding dependencies: "
 msgstr "Tražim zavisnosti: "
 
-#: ../yumcommands.py:827
+#: ../yumcommands.py:2005
 msgid "Display the configured software repositories"
 msgstr "Prikaži podešene softverske riznice"
 
-#: ../yumcommands.py:893 ../yumcommands.py:894
+#: ../yumcommands.py:2094 ../yumcommands.py:2095
 msgid "enabled"
 msgstr "uključena"
 
-#: ../yumcommands.py:920 ../yumcommands.py:921
+#: ../yumcommands.py:2121 ../yumcommands.py:2122
 msgid "disabled"
 msgstr "isključena"
 
-#: ../yumcommands.py:937
+#: ../yumcommands.py:2137
 msgid "Repo-id      : "
 msgstr ""
 
-#: ../yumcommands.py:938
+#: ../yumcommands.py:2138
 msgid "Repo-name    : "
 msgstr ""
 
-#: ../yumcommands.py:941
+#: ../yumcommands.py:2141
 msgid "Repo-status  : "
 msgstr ""
 
-#: ../yumcommands.py:944
+#: ../yumcommands.py:2144
 msgid "Repo-revision: "
 msgstr "Revizija riznice     : "
 
-#: ../yumcommands.py:948
+#: ../yumcommands.py:2148
 msgid "Repo-tags    : "
 msgstr ""
 
-#: ../yumcommands.py:954
+#: ../yumcommands.py:2154
 msgid "Repo-distro-tags: "
 msgstr "Distro oznake riznice: "
 
-#: ../yumcommands.py:959
+#: ../yumcommands.py:2159
 msgid "Repo-updated : "
 msgstr ""
 
-#: ../yumcommands.py:961
+#: ../yumcommands.py:2161
 msgid "Repo-pkgs    : "
 msgstr ""
 
-#: ../yumcommands.py:962
+#: ../yumcommands.py:2162
 msgid "Repo-size    : "
 msgstr ""
 
-#: ../yumcommands.py:969 ../yumcommands.py:990
+#: ../yumcommands.py:2169 ../yumcommands.py:2190
 msgid "Repo-baseurl : "
 msgstr ""
 
-#: ../yumcommands.py:977
+#: ../yumcommands.py:2177
 msgid "Repo-metalink: "
 msgstr "Metalink riznice     : "
 
-#: ../yumcommands.py:981
+#: ../yumcommands.py:2181
 msgid "  Updated    : "
 msgstr "  Ažurirano          : "
 
-#: ../yumcommands.py:984
+#: ../yumcommands.py:2184
 msgid "Repo-mirrors : "
 msgstr ""
 
-#: ../yumcommands.py:1000
+#: ../yumcommands.py:2199
 #, python-format
 msgid "Never (last: %s)"
 msgstr ""
 
-#: ../yumcommands.py:1002
+#: ../yumcommands.py:2201
 #, python-format
 msgid "Instant (last: %s)"
 msgstr ""
 
-#: ../yumcommands.py:1005
+#: ../yumcommands.py:2204
 #, python-format
 msgid "%s second(s) (last: %s)"
 msgstr ""
 
-#: ../yumcommands.py:1007
+#: ../yumcommands.py:2206
 msgid "Repo-expire  : "
 msgstr ""
 
-#: ../yumcommands.py:1010
+#: ../yumcommands.py:2209
 msgid "Repo-exclude : "
 msgstr ""
 
-#: ../yumcommands.py:1014
+#: ../yumcommands.py:2213
 msgid "Repo-include : "
 msgstr ""
 
-#: ../yumcommands.py:1018
+#: ../yumcommands.py:2217
 msgid "Repo-excluded: "
 msgstr ""
 
-#: ../yumcommands.py:1022
+#: ../yumcommands.py:2221
 msgid "Repo-filename: "
 msgstr ""
 
 #. Work out the first (id) and last (enabled/disalbed/count),
 #. then chop the middle (name)...
-#: ../yumcommands.py:1032 ../yumcommands.py:1061
+#: ../yumcommands.py:2230 ../yumcommands.py:2259
 msgid "repo id"
 msgstr "repo id"
 
-#: ../yumcommands.py:1049 ../yumcommands.py:1050 ../yumcommands.py:1068
+#: ../yumcommands.py:2247 ../yumcommands.py:2248 ../yumcommands.py:2266
 msgid "status"
 msgstr "status"
 
-#: ../yumcommands.py:1062
+#: ../yumcommands.py:2260
 msgid "repo name"
 msgstr "repo ime"
 
-#: ../yumcommands.py:1099
+#: ../yumcommands.py:2332
 msgid "Display a helpful usage message"
 msgstr "Prikaži korisnu poruku o upotrebi"
 
-#: ../yumcommands.py:1133
+#: ../yumcommands.py:2374
 #, python-format
 msgid "No help available for %s"
 msgstr "Nije dostupna pomoć za %s"
 
-#: ../yumcommands.py:1138
+#: ../yumcommands.py:2379
 msgid ""
 "\n"
 "\n"
 "aliases: "
-msgstr ""
-"\n"
-"\n"
-"pseudonimi: "
+msgstr "\n\npseudonimi: "
 
-#: ../yumcommands.py:1140
+#: ../yumcommands.py:2381
 msgid ""
 "\n"
 "\n"
 "alias: "
-msgstr ""
-"\n"
-"\n"
-"pseudonim: "
+msgstr "\n\npseudonim: "
 
-#: ../yumcommands.py:1168
+#: ../yumcommands.py:2466
 msgid "Setting up Reinstall Process"
 msgstr "Postavljam proces ponovne instalacije"
 
-#: ../yumcommands.py:1176
+#: ../yumcommands.py:2478
 msgid "reinstall a package"
 msgstr "ponovno instaliram paket"
 
-#: ../yumcommands.py:1195
+#: ../yumcommands.py:2541
 msgid "Setting up Downgrade Process"
 msgstr "Postavljam proces unazađivanja"
 
-#: ../yumcommands.py:1202
+#: ../yumcommands.py:2552
 msgid "downgrade a package"
 msgstr "unazadi paket"
 
-#: ../yumcommands.py:1216
+#: ../yumcommands.py:2591
 msgid "Display a version for the machine and/or available repos."
 msgstr ""
 
-#: ../yumcommands.py:1255
+#: ../yumcommands.py:2643
 msgid " Yum version groups:"
 msgstr ""
 
-#: ../yumcommands.py:1265
+#: ../yumcommands.py:2653
 msgid " Group   :"
 msgstr ""
 
-#: ../yumcommands.py:1266
+#: ../yumcommands.py:2654
 msgid " Packages:"
 msgstr ""
 
-#: ../yumcommands.py:1295
+#: ../yumcommands.py:2683
 msgid "Installed:"
 msgstr ""
 
-#: ../yumcommands.py:1303
+#: ../yumcommands.py:2691
 msgid "Group-Installed:"
 msgstr ""
 
-#: ../yumcommands.py:1312
+#: ../yumcommands.py:2700
 msgid "Available:"
 msgstr ""
 
-#: ../yumcommands.py:1321
+#: ../yumcommands.py:2709
 msgid "Group-Available:"
 msgstr ""
 
-#: ../yumcommands.py:1360
+#: ../yumcommands.py:2783
 msgid "Display, or use, the transaction history"
 msgstr ""
 
-#: ../yumcommands.py:1432
+#: ../yumcommands.py:2876 ../yumcommands.py:2880
+msgid "Transactions:"
+msgstr ""
+
+#: ../yumcommands.py:2881
+msgid "Begin time  :"
+msgstr ""
+
+#: ../yumcommands.py:2882
+msgid "End time    :"
+msgstr ""
+
+#: ../yumcommands.py:2883
+msgid "Counts      :"
+msgstr ""
+
+#: ../yumcommands.py:2884
+msgid "  NEVRAC :"
+msgstr ""
+
+#: ../yumcommands.py:2885
+msgid "  NEVRA  :"
+msgstr ""
+
+#: ../yumcommands.py:2886
+msgid "  NA     :"
+msgstr ""
+
+#: ../yumcommands.py:2887
+msgid "  NEVR   :"
+msgstr ""
+
+#: ../yumcommands.py:2888
+msgid "  rpm DB :"
+msgstr ""
+
+#: ../yumcommands.py:2889
+msgid "  yum DB :"
+msgstr ""
+
+#: ../yumcommands.py:2922
 #, python-format
 msgid "Invalid history sub-command, use: %s."
 msgstr ""
 
-#: ../yumcommands.py:1439
+#: ../yumcommands.py:2929
 msgid "You don't have access to the history DB."
 msgstr ""
 
-#: ../yumcommands.py:1487
+#: ../yumcommands.py:3036
 msgid "Check for problems in the rpmdb"
 msgstr ""
 
-#: ../yumcommands.py:1514
+#: ../yumcommands.py:3102
 msgid "load a saved transaction from filename"
 msgstr ""
 
-#: ../yumcommands.py:1518
+#: ../yumcommands.py:3119
 msgid "No saved transaction file specified."
 msgstr ""
 
-#: ../yumcommands.py:1522
+#: ../yumcommands.py:3123
 #, python-format
 msgid "loading transaction from %s"
 msgstr ""
 
-#: ../yumcommands.py:1528
+#: ../yumcommands.py:3129
 #, python-format
 msgid "Transaction loaded from %s with %s members"
 msgstr ""
 
+#: ../yumcommands.py:3169
+msgid "Simple way to swap packages, isntead of using shell"
+msgstr ""
+
+#: ../yumcommands.py:3264
+msgid ""
+"Treat a repo. as a group of packages, so we can install/remove all of them"
+msgstr ""
+
+#: ../yumcommands.py:3341
+#, python-format
+msgid "%d package to update"
+msgid_plural "%d packages to update"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#: ../yumcommands.py:3370
+#, python-format
+msgid "%d package to remove/reinstall"
+msgid_plural "%d packages to remove/reinstall"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#: ../yumcommands.py:3413
+#, python-format
+msgid "%d package to remove/sync"
+msgid_plural "%d packages to remove/sync"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#: ../yumcommands.py:3417
+#, python-format
+msgid "Not a valid sub-command of %s"
+msgstr ""
+
 #. This is mainly for PackageSackError from rpmdb.
 #: ../yummain.py:84
 #, python-format
 msgid " Yum checks failed: %s"
 msgstr ""
 
-#: ../yummain.py:114
-msgid ""
-"Another app is currently holding the yum lock; waiting for it to exit..."
+#: ../yummain.py:98
+msgid "No read/execute access in current directory, moving to /"
 msgstr ""
-"Neki drugi program trenutno drži yum zaključanim; čekam da taj program "
-"izađe..."
 
-#: ../yummain.py:120
-msgid "Can't create lock file; exiting"
+#: ../yummain.py:106
+msgid "No getcwd() access in current directory, moving to /"
 msgstr ""
 
 #. Depsolve stage
-#: ../yummain.py:167
+#: ../yummain.py:164
 msgid "Resolving Dependencies"
 msgstr "Razrešavam zavisnosti"
 
-#: ../yummain.py:230
+#: ../yummain.py:227 ../yummain.py:235
 #, python-format
-msgid "Your transaction was saved, rerun it with: yum load-transaction %s"
+msgid ""
+"Your transaction was saved, rerun it with:\n"
+" yum load-transaction %s"
 msgstr ""
 
-#: ../yummain.py:288
+#: ../yummain.py:312
 msgid ""
 "\n"
 "\n"
 "Exiting on user cancel."
-msgstr ""
-"\n"
-"\n"
-"Izlazim kada korisnik otkaže."
+msgstr "\n\nIzlazim kada korisnik otkaže."
 
-#: ../yum/depsolve.py:84
+#: ../yum/depsolve.py:127
 msgid "doTsSetup() will go away in a future version of Yum.\n"
 msgstr "doTsSetup() neće biti prisutna u budućim verzijama Yuma.\n"
 
-#: ../yum/depsolve.py:99
+#: ../yum/depsolve.py:143
 msgid "Setting up TransactionSets before config class is up"
 msgstr "Postavljam TransactionSets pre nego što se podigne klasa podešavanja"
 
-#: ../yum/depsolve.py:153
+#: ../yum/depsolve.py:200
 #, python-format
 msgid "Invalid tsflag in config file: %s"
 msgstr "Pogrešan tsflag u datoteci podešavanja: %s"
 
-#: ../yum/depsolve.py:164
+#: ../yum/depsolve.py:218
 #, python-format
 msgid "Searching pkgSack for dep: %s"
 msgstr "Pretražujem pkgSack za zavisnost: %s"
 
-#: ../yum/depsolve.py:207
+#: ../yum/depsolve.py:269
 #, python-format
 msgid "Member: %s"
 msgstr "Član: %s"
 
-#: ../yum/depsolve.py:221 ../yum/depsolve.py:793
+#: ../yum/depsolve.py:283 ../yum/depsolve.py:937
 #, python-format
 msgid "%s converted to install"
 msgstr "%s prebačen za instalaciju"
 
-#: ../yum/depsolve.py:233
+#: ../yum/depsolve.py:295
 #, python-format
 msgid "Adding Package %s in mode %s"
 msgstr "Dodajem paket %s u načinu rada %s"
 
-#: ../yum/depsolve.py:249
+#: ../yum/depsolve.py:311
 #, python-format
 msgid "Removing Package %s"
 msgstr "Uklanjam paket %s"
 
-#: ../yum/depsolve.py:271
+#: ../yum/depsolve.py:333
 #, python-format
 msgid "%s requires: %s"
 msgstr "%s zahteva: %s"
 
-#: ../yum/depsolve.py:312
+#: ../yum/depsolve.py:374
 #, python-format
 msgid "%s requires %s"
 msgstr ""
 
-#: ../yum/depsolve.py:339
+#: ../yum/depsolve.py:401
 msgid "Needed Require has already been looked up, cheating"
 msgstr "Potreban zahtev je već potražen, obmanjujem"
 
-#: ../yum/depsolve.py:349
+#: ../yum/depsolve.py:411
 #, python-format
 msgid "Needed Require is not a package name. Looking up: %s"
 msgstr "Potreban zahtev nije ime paketa. Tražim: %s"
 
-#: ../yum/depsolve.py:357
+#: ../yum/depsolve.py:419
 #, python-format
 msgid "Potential Provider: %s"
 msgstr "Mogući snabdevač: %s"
 
-#: ../yum/depsolve.py:380
+#: ../yum/depsolve.py:442
 #, python-format
 msgid "Mode is %s for provider of %s: %s"
 msgstr "Režim je %s za snabdevača %s: %s"
 
-#: ../yum/depsolve.py:384
+#: ../yum/depsolve.py:446
 #, python-format
 msgid "Mode for pkg providing %s: %s"
 msgstr "Režim za paket koji snabdeva %s: %s"
@@ -2096,1017 +2330,1142 @@ msgstr "Režim za paket koji snabdeva %s: %s"
 #. the thing it needs is being updated or obsoleted away
 #. try to update the requiring package in hopes that all this problem goes
 #. away :(
-#: ../yum/depsolve.py:389 ../yum/depsolve.py:406
+#: ../yum/depsolve.py:451 ../yum/depsolve.py:486
 #, python-format
 msgid "Trying to update %s to resolve dep"
 msgstr ""
 
-#: ../yum/depsolve.py:400 ../yum/depsolve.py:410
+#: ../yum/depsolve.py:480
 #, python-format
 msgid "No update paths found for %s. Failure!"
 msgstr ""
 
-#: ../yum/depsolve.py:416
+#: ../yum/depsolve.py:491
+#, python-format
+msgid "No update paths found for %s. Failure due to requirement: %s!"
+msgstr ""
+
+#: ../yum/depsolve.py:507
+#, python-format
+msgid "Update for %s. Doesn't fix requirement: %s!"
+msgstr ""
+
+#: ../yum/depsolve.py:514
 #, python-format
 msgid "TSINFO: %s package requiring %s marked as erase"
 msgstr "TSINFO: %s paket zahteva da %s bude označen za brisanje"
 
-#: ../yum/depsolve.py:429
+#: ../yum/depsolve.py:527
 #, python-format
 msgid "TSINFO: Obsoleting %s with %s to resolve dep."
 msgstr "TSINFO: menjam %s sa %s radi razrešavanja zavisnosti."
 
-#: ../yum/depsolve.py:432
+#: ../yum/depsolve.py:530
 #, python-format
 msgid "TSINFO: Updating %s to resolve dep."
 msgstr "TSINFO: ažuriram %s radi razrešavanja zavisnosti."
 
-#: ../yum/depsolve.py:440
+#: ../yum/depsolve.py:538
 #, python-format
 msgid "Cannot find an update path for dep for: %s"
 msgstr "Ne mogu da pronađem putanju ažuriranja za zavisnost za: %s"
 
-#: ../yum/depsolve.py:471
+#: ../yum/depsolve.py:569
 #, python-format
 msgid "Quick matched %s to require for %s"
 msgstr "Brzo povezivanje paketa %s kao zahteva za %s"
 
 #. is it already installed?
-#: ../yum/depsolve.py:513
+#: ../yum/depsolve.py:611
 #, python-format
 msgid "%s is in providing packages but it is already installed, removing."
 msgstr "%s je u pruženim paketima ali je već instaliran, uklanjam ga."
 
-#: ../yum/depsolve.py:529
+#: ../yum/depsolve.py:627
 #, python-format
 msgid "Potential resolving package %s has newer instance in ts."
 msgstr "Potencijalno razrešavanje paketa %s ima noviji primerak u ts-u."
 
-#: ../yum/depsolve.py:540
+#: ../yum/depsolve.py:638
 #, python-format
 msgid "Potential resolving package %s has newer instance installed."
 msgstr "Potencijalno razrešavanje paketa %s ima instaliran noviji primerak."
 
-#: ../yum/depsolve.py:558
+#: ../yum/depsolve.py:656
 #, python-format
 msgid "%s already in ts, skipping this one"
 msgstr "%s je već u ts-u, preskačem ga"
 
-#: ../yum/depsolve.py:607
+#: ../yum/depsolve.py:705
 #, python-format
 msgid "TSINFO: Marking %s as update for %s"
 msgstr "TSINFO: označavam %s kao ažuriranje za %s"
 
-#: ../yum/depsolve.py:616
+#: ../yum/depsolve.py:714
 #, python-format
 msgid "TSINFO: Marking %s as install for %s"
 msgstr "TSINFO: označavam %s kao instalaciju za %s"
 
-#: ../yum/depsolve.py:727 ../yum/depsolve.py:819
+#: ../yum/depsolve.py:849 ../yum/depsolve.py:967
 msgid "Success - empty transaction"
 msgstr "Uspeh - prazna transakcija"
 
-#: ../yum/depsolve.py:767 ../yum/depsolve.py:783
+#: ../yum/depsolve.py:889 ../yum/depsolve.py:927
 msgid "Restarting Loop"
 msgstr "Ponovo pokrećem petlju"
 
-#: ../yum/depsolve.py:799
+#: ../yum/depsolve.py:947
 msgid "Dependency Process ending"
 msgstr "Završetak procesa zavisnosti"
 
-#: ../yum/depsolve.py:821
+#: ../yum/depsolve.py:969
 msgid "Success - deps resolved"
 msgstr "Uspeh - zavisnosti su razrešene"
 
-#: ../yum/depsolve.py:845
+#: ../yum/depsolve.py:993
 #, python-format
 msgid "Checking deps for %s"
 msgstr "Proveravam zavisnosti za %s"
 
-#: ../yum/depsolve.py:931
+#: ../yum/depsolve.py:1082
 #, python-format
 msgid "looking for %s as a requirement of %s"
 msgstr "tražim %s kao zahtev za %s"
 
-#: ../yum/depsolve.py:1169
+#: ../yum/depsolve.py:1349
 #, python-format
 msgid "Running compare_providers() for %s"
 msgstr "Pokrećem compare_providers() za %s"
 
-#: ../yum/depsolve.py:1196 ../yum/depsolve.py:1202
+#: ../yum/depsolve.py:1376 ../yum/depsolve.py:1382
 #, python-format
 msgid "better arch in po %s"
 msgstr "bolja arhitektura u paketu %s"
 
-#: ../yum/depsolve.py:1298
+#: ../yum/depsolve.py:1496
 #, python-format
 msgid "%s obsoletes %s"
 msgstr "%s prevazilazi %s"
 
-#: ../yum/depsolve.py:1310
+#: ../yum/depsolve.py:1508
 #, python-format
 msgid ""
 "archdist compared %s to %s on %s\n"
 "  Winner: %s"
-msgstr ""
-"archdist uporedio %s sa %s na %s\n"
-"  Pobednik: %s"
+msgstr "archdist uporedio %s sa %s na %s\n  Pobednik: %s"
 
-#: ../yum/depsolve.py:1318
+#: ../yum/depsolve.py:1516
 #, python-format
 msgid "common sourcerpm %s and %s"
 msgstr "zajednički izvorni rpm %s i %s"
 
-#: ../yum/depsolve.py:1322
+#: ../yum/depsolve.py:1520
 #, python-format
 msgid "base package %s is installed for %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1328
+#: ../yum/depsolve.py:1526
 #, python-format
 msgid "common prefix of %s between %s and %s"
 msgstr "zajednički prefiks %s između %s i %s"
 
-#: ../yum/depsolve.py:1359
+#: ../yum/depsolve.py:1543
 #, python-format
-msgid "requires minimal: %d"
+msgid "provides vercmp: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1363
+#: ../yum/depsolve.py:1547 ../yum/depsolve.py:1581
 #, python-format
 msgid " Winner: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1368
+#: ../yum/depsolve.py:1577
+#, python-format
+msgid "requires minimal: %d"
+msgstr ""
+
+#: ../yum/depsolve.py:1586
 #, python-format
 msgid " Loser(with %d): %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1384
+#: ../yum/depsolve.py:1602
 #, python-format
 msgid "Best Order: %s"
 msgstr "Najbolji redosled: %s"
 
-#: ../yum/__init__.py:234
+#: ../yum/__init__.py:274
 msgid "doConfigSetup() will go away in a future version of Yum.\n"
 msgstr "doConfigSetup() neće biti prisutna u budućim verzijama Yuma.\n"
 
-#: ../yum/__init__.py:482
+#: ../yum/__init__.py:553
+#, python-format
+msgid "Skipping unreadable repository %s"
+msgstr ""
+
+#: ../yum/__init__.py:572
 #, python-format
 msgid "Repository %r: Error parsing config: %s"
 msgstr ""
 
-#: ../yum/__init__.py:488
+#: ../yum/__init__.py:578
 #, python-format
 msgid "Repository %r is missing name in configuration, using id"
 msgstr "Riznici %r nedostaje ime u podešavanjima, koristim id"
 
-#: ../yum/__init__.py:526
+#: ../yum/__init__.py:618
 msgid "plugins already initialised"
 msgstr "već inicijalizovani dodaci"
 
-#: ../yum/__init__.py:533
+#: ../yum/__init__.py:627
 msgid "doRpmDBSetup() will go away in a future version of Yum.\n"
 msgstr "doRpmDBSetup() neće biti prisutna u budućim verzijama Yuma.\n"
 
-#: ../yum/__init__.py:544
+#: ../yum/__init__.py:638
 msgid "Reading Local RPMDB"
 msgstr "Čitam lokalni RPMDB"
 
-#: ../yum/__init__.py:567
+#: ../yum/__init__.py:668
 msgid "doRepoSetup() will go away in a future version of Yum.\n"
 msgstr "doRepoSetup() neće biti prisutna u budućim verzijama Yuma.\n"
 
-#: ../yum/__init__.py:630
+#: ../yum/__init__.py:722
 msgid "doSackSetup() will go away in a future version of Yum.\n"
 msgstr "doSackSetup() neće biti prisutna u budućim verzijama Yuma.\n"
 
-#: ../yum/__init__.py:660
+#: ../yum/__init__.py:752
 msgid "Setting up Package Sacks"
 msgstr "Postavljam grupe paketa"
 
-#: ../yum/__init__.py:705
+#: ../yum/__init__.py:797
 #, python-format
 msgid "repo object for repo %s lacks a _resetSack method\n"
 msgstr "repo objektu za repo %s nedostaje a _resetSack metoda\n"
 
-#: ../yum/__init__.py:706
+#: ../yum/__init__.py:798
 msgid "therefore this repo cannot be reset.\n"
 msgstr "zbog toga se ovaj repo ne može vratiti na početnu postavku.\n"
 
-#: ../yum/__init__.py:711
+#: ../yum/__init__.py:806
 msgid "doUpdateSetup() will go away in a future version of Yum.\n"
 msgstr "doUpdateSetup() neće biti prisutna u budućim verzijama Yuma.\n"
 
-#: ../yum/__init__.py:723
+#: ../yum/__init__.py:818
 msgid "Building updates object"
 msgstr "Izgrađujem objekat ažuriranja"
 
-#: ../yum/__init__.py:765
+#: ../yum/__init__.py:862
 msgid "doGroupSetup() will go away in a future version of Yum.\n"
 msgstr "doGroupSetup() neće biti prisutna u budućim verzijama Yuma.\n"
 
-#: ../yum/__init__.py:790
+#: ../yum/__init__.py:887
 msgid "Getting group metadata"
 msgstr "Dobavljam metapodatke grupe"
 
-#: ../yum/__init__.py:816
+#: ../yum/__init__.py:915
 #, python-format
 msgid "Adding group file from repository: %s"
 msgstr "Dodajem datoteku grupe iz riznice: %s"
 
-#: ../yum/__init__.py:827
+#: ../yum/__init__.py:918
+#, python-format
+msgid "Failed to retrieve group file for repository: %s"
+msgstr ""
+
+#: ../yum/__init__.py:924
 #, python-format
 msgid "Failed to add groups file for repository: %s - %s"
 msgstr "Nije uspelo dodavanje datoteke grupe za riznicu: %s - %s"
 
-#: ../yum/__init__.py:833
+#: ../yum/__init__.py:930
 msgid "No Groups Available in any repository"
 msgstr "Ne postoji grupa koja je dostupna u bilo kojoj riznici"
 
-#: ../yum/__init__.py:845
+#: ../yum/__init__.py:945
 msgid "Getting pkgtags metadata"
 msgstr ""
 
-#: ../yum/__init__.py:855
+#: ../yum/__init__.py:955
 #, python-format
 msgid "Adding tags from repository: %s"
 msgstr ""
 
-#: ../yum/__init__.py:866
+#: ../yum/__init__.py:966
 #, python-format
 msgid "Failed to add Pkg Tags for repository: %s - %s"
 msgstr ""
 
-#: ../yum/__init__.py:944
+#: ../yum/__init__.py:1059
 msgid "Importing additional filelist information"
 msgstr "Uvozim dodatne informacije o spiskovima datoteka"
 
-#: ../yum/__init__.py:958
+#: ../yum/__init__.py:1077
 #, python-format
 msgid "The program %s%s%s is found in the yum-utils package."
 msgstr ""
 
-#: ../yum/__init__.py:966
+#: ../yum/__init__.py:1094
 msgid ""
 "There are unfinished transactions remaining. You might consider running yum-"
 "complete-transaction first to finish them."
-msgstr ""
-"Ostale su nedovršene transakcije. Možda bi prvo trebalo da izvršite yum-"
-"complete-transaction da biste ih završili."
+msgstr "Ostale su nedovršene transakcije. Možda bi prvo trebalo da izvršite yum-complete-transaction da biste ih završili."
 
-#: ../yum/__init__.py:983
+#: ../yum/__init__.py:1111
 msgid "--> Finding unneeded leftover dependencies"
 msgstr ""
 
-#: ../yum/__init__.py:1041
+#: ../yum/__init__.py:1169
 #, python-format
 msgid "Protected multilib versions: %s != %s"
 msgstr ""
 
-#: ../yum/__init__.py:1096
+#. People are confused about protected mutilib ... so give
+#. them a nicer message.
+#: ../yum/__init__.py:1173
+#, python-format
+msgid ""
+" Multilib version problems found. This often means that the root\n"
+"cause is something else and multilib version checking is just\n"
+"pointing out that there is a problem. Eg.:\n"
+"\n"
+"  1. You have an upgrade for %(name)s which is missing some\n"
+"     dependency that another package requires. Yum is trying to\n"
+"     solve this by installing an older version of %(name)s of the\n"
+"     different architecture. If you exclude the bad architecture\n"
+"     yum will tell you what the root cause is (which package\n"
+"     requires what). You can try redoing the upgrade with\n"
+"     --exclude %(name)s.otherarch ... this should give you an error\n"
+"     message showing the root cause of the problem.\n"
+"\n"
+"  2. You have multiple architectures of %(name)s installed, but\n"
+"     yum can only see an upgrade for one of those arcitectures.\n"
+"     If you don't want/need both architectures anymore then you\n"
+"     can remove the one with the missing update and everything\n"
+"     will work.\n"
+"\n"
+"  3. You have duplicate versions of %(name)s installed already.\n"
+"     You can use \"yum check\" to get yum show these errors.\n"
+"\n"
+"...you can also use --setopt=protected_multilib=false to remove\n"
+"this checking, however this is almost never the correct thing to\n"
+"do as something else is very likely to go wrong (often causing\n"
+"much more problems).\n"
+"\n"
+msgstr ""
+
+#: ../yum/__init__.py:1257
 #, python-format
 msgid "Trying to remove \"%s\", which is protected"
 msgstr ""
 
-#: ../yum/__init__.py:1217
+#: ../yum/__init__.py:1378
 msgid ""
 "\n"
 "Packages skipped because of dependency problems:"
-msgstr ""
-"\n"
-"Paketi su preskočeni zbog problema sa zavisnostima:"
+msgstr "\nPaketi su preskočeni zbog problema sa zavisnostima:"
 
-#: ../yum/__init__.py:1221
+#: ../yum/__init__.py:1382
 #, python-format
 msgid "    %s from %s"
 msgstr "    %s iz %s"
 
 #. FIXME: _N()
-#: ../yum/__init__.py:1391
+#: ../yum/__init__.py:1556
 #, python-format
 msgid "** Found %d pre-existing rpmdb problem(s), 'yum check' output follows:"
 msgstr ""
 
-#: ../yum/__init__.py:1395
+#: ../yum/__init__.py:1560
 msgid "Warning: RPMDB altered outside of yum."
 msgstr ""
 
-#: ../yum/__init__.py:1407
+#: ../yum/__init__.py:1572
 msgid "missing requires"
 msgstr ""
 
-#: ../yum/__init__.py:1408
+#: ../yum/__init__.py:1573
 msgid "installed conflict"
 msgstr ""
 
-#: ../yum/__init__.py:1525
+#: ../yum/__init__.py:1709
 msgid ""
 "Warning: scriptlet or other non-fatal errors occurred during transaction."
-msgstr ""
-"Upozorenje: došlo je do greške u skriptici ili neke druge nekritične greške "
-"tokom transakcije."
+msgstr "Upozorenje: došlo je do greške u skriptici ili neke druge nekritične greške tokom transakcije."
 
-#: ../yum/__init__.py:1535
+#: ../yum/__init__.py:1719
 msgid "Transaction couldn't start:"
 msgstr ""
 
 #. should this be 'to_unicoded'?
-#: ../yum/__init__.py:1538
+#: ../yum/__init__.py:1722
 msgid "Could not run transaction."
 msgstr ""
 
-#: ../yum/__init__.py:1552
+#: ../yum/__init__.py:1736
 #, python-format
 msgid "Failed to remove transaction file %s"
 msgstr "Nije uspelo uklanjanje datoteke transakcije %s"
 
 #. maybe a file log here, too
 #. but raising an exception is not going to do any good
-#: ../yum/__init__.py:1590
+#: ../yum/__init__.py:1792
 #, python-format
 msgid "%s was supposed to be installed but is not!"
 msgstr ""
 
 #. maybe a file log here, too
 #. but raising an exception is not going to do any good
-#: ../yum/__init__.py:1651
+#. Note: This actually triggers atm. because we can't
+#. always find the erased txmbr to set it when
+#. we should.
+#: ../yum/__init__.py:1869
 #, python-format
 msgid "%s was supposed to be removed but is not!"
 msgstr ""
 
-#: ../yum/__init__.py:1768
-#, python-format
-msgid "Could not open lock %s: %s"
-msgstr ""
-
-#. Whoa. What the heck happened?
-#: ../yum/__init__.py:1785
-#, python-format
-msgid "Unable to check if PID %s is active"
-msgstr "Nisam u mogućnosti da proverim da li je PID %s aktivan"
-
 #. Another copy seems to be running.
-#: ../yum/__init__.py:1789
+#: ../yum/__init__.py:2004
 #, python-format
 msgid "Existing lock %s: another copy is running as pid %s."
 msgstr "Postoji zaključavanje %s: druga kopija se izvršava kao pid %s."
 
 #. Whoa. What the heck happened?
-#: ../yum/__init__.py:1830
+#: ../yum/__init__.py:2053
 #, python-format
 msgid "Could not create lock at %s: %s "
 msgstr ""
 
-#: ../yum/__init__.py:1875
+#: ../yum/__init__.py:2065
+#, python-format
+msgid "Could not open lock %s: %s"
+msgstr ""
+
+#. The pid doesn't exist
+#. Whoa. What the heck happened?
+#: ../yum/__init__.py:2082
+#, python-format
+msgid "Unable to check if PID %s is active"
+msgstr "Nisam u mogućnosti da proverim da li je PID %s aktivan"
+
+#: ../yum/__init__.py:2132
 #, python-format
 msgid ""
 "Package does not match intended download. Suggestion: run yum "
 "--enablerepo=%s clean metadata"
 msgstr ""
 
-#: ../yum/__init__.py:1891
+#: ../yum/__init__.py:2155
 msgid "Could not perform checksum"
 msgstr "Ne mogu da izvršim kontrolu sume"
 
-#: ../yum/__init__.py:1894
+#: ../yum/__init__.py:2158
 msgid "Package does not match checksum"
 msgstr "Paket nema odgovarajući kontrolnu sumu"
 
-#: ../yum/__init__.py:1946
+#: ../yum/__init__.py:2222
 #, python-format
 msgid "package fails checksum but caching is enabled for %s"
-msgstr ""
-"paket nema odgovarajuću vrednost kontrolne sume ili je za %s uključeno "
-"keširanje"
+msgstr "paket nema odgovarajuću vrednost kontrolne sume ili je za %s uključeno keširanje"
 
-#: ../yum/__init__.py:1949 ../yum/__init__.py:1979
+#: ../yum/__init__.py:2225 ../yum/__init__.py:2268
 #, python-format
 msgid "using local copy of %s"
 msgstr "koristim lokalni %s umnožak"
 
-#: ../yum/__init__.py:1991
-#, python-format
-msgid ""
-"Insufficient space in download directory %s\n"
-"    * free   %s\n"
-"    * needed %s"
+#. caller handles errors
+#: ../yum/__init__.py:2342
+msgid "exiting because --downloadonly specified"
 msgstr ""
-"Nedovoljna količina prostora u direktorijumu %s za preuzimanje\n"
-"    * slobodno je %s\n"
-"    * potrebno je %s"
 
-#: ../yum/__init__.py:2052
+#: ../yum/__init__.py:2371
 msgid "Header is not complete."
 msgstr "Zaglavlje nije potpuno."
 
-#: ../yum/__init__.py:2089
+#: ../yum/__init__.py:2411
 #, python-format
 msgid ""
 "Header not in local cache and caching-only mode enabled. Cannot download %s"
-msgstr ""
-"Zaglavlje nije u lokalnom kešu i samo način rada sa keširanjem je uključen. "
-"Ne mogu da preuzmem %s"
+msgstr "Zaglavlje nije u lokalnom kešu i samo način rada sa keširanjem je uključen. Ne mogu da preuzmem %s"
 
-#: ../yum/__init__.py:2147
+#: ../yum/__init__.py:2471
 #, python-format
 msgid "Public key for %s is not installed"
 msgstr "Javni ključ za %s nije instaliran"
 
-#: ../yum/__init__.py:2151
+#: ../yum/__init__.py:2475
 #, python-format
 msgid "Problem opening package %s"
 msgstr "Problem sa otvaranjem paketa %s"
 
-#: ../yum/__init__.py:2159
+#: ../yum/__init__.py:2483
 #, python-format
 msgid "Public key for %s is not trusted"
 msgstr "Javni ključ za %s nije poverljiv"
 
-#: ../yum/__init__.py:2163
+#: ../yum/__init__.py:2487
 #, python-format
 msgid "Package %s is not signed"
 msgstr "Paket %s nije potpisan"
 
-#: ../yum/__init__.py:2202
+#: ../yum/__init__.py:2529
 #, python-format
 msgid "Cannot remove %s"
 msgstr "Ne mogu da uklonim %s"
 
-#: ../yum/__init__.py:2206
+#: ../yum/__init__.py:2533
 #, python-format
 msgid "%s removed"
 msgstr "%s je uklonjen"
 
-#: ../yum/__init__.py:2252
+#: ../yum/__init__.py:2594
 #, python-format
 msgid "Cannot remove %s file %s"
 msgstr "Ne mogu da uklonim %s datoteku %s"
 
-#: ../yum/__init__.py:2256
+#: ../yum/__init__.py:2598
 #, python-format
 msgid "%s file %s removed"
 msgstr "%s datoteka %s je uklonjena"
 
-#: ../yum/__init__.py:2258
+#: ../yum/__init__.py:2600
 #, python-format
-msgid "%d %s files removed"
-msgstr "%d %s datoteke su uklonjene"
+msgid "%d %s file removed"
+msgid_plural "%d %s files removed"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
 
-#: ../yum/__init__.py:2327
+#: ../yum/__init__.py:2712
 #, python-format
 msgid "More than one identical match in sack for %s"
 msgstr "Postoji više od jednog identičnog slaganja u grupi za %s"
 
-#: ../yum/__init__.py:2333
+#: ../yum/__init__.py:2718
 #, python-format
 msgid "Nothing matches %s.%s %s:%s-%s from update"
 msgstr "Ništa se ne slaže sa %s.%s %s:%s-%s iz ažuriranja"
 
-#: ../yum/__init__.py:2632
+#: ../yum/__init__.py:3096
 msgid ""
 "searchPackages() will go away in a future version of Yum."
 "                      Use searchGenerator() instead. \n"
-msgstr ""
-"searchPackages() neće biti prisutna u budućim Yum verzijama."
-"                      Umesto nje koristite searchGenerator(). \n"
+msgstr "searchPackages() neće biti prisutna u budućim Yum verzijama.                      Umesto nje koristite searchGenerator(). \n"
 
-#: ../yum/__init__.py:2675
+#: ../yum/__init__.py:3149
 #, python-format
-msgid "Searching %d packages"
-msgstr "Pretražujem %d pakete"
+msgid "Searching %d package"
+msgid_plural "Searching %d packages"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
 
-#: ../yum/__init__.py:2679
+#: ../yum/__init__.py:3153
 #, python-format
 msgid "searching package %s"
 msgstr "tražim paket %s"
 
-#: ../yum/__init__.py:2691
+#: ../yum/__init__.py:3165
 msgid "searching in file entries"
 msgstr "tražim u unosima datoteka"
 
-#: ../yum/__init__.py:2698
+#: ../yum/__init__.py:3172
 msgid "searching in provides entries"
 msgstr "tražim u unosima dostavljača"
 
-#: ../yum/__init__.py:2777
+#: ../yum/__init__.py:3369
 msgid "No group data available for configured repositories"
 msgstr "Nema dostupnih podataka o grupama za podešene riznice"
 
-#: ../yum/__init__.py:2808 ../yum/__init__.py:2827 ../yum/__init__.py:2858
-#: ../yum/__init__.py:2864 ../yum/__init__.py:2953 ../yum/__init__.py:2957
-#: ../yum/__init__.py:3339
+#: ../yum/__init__.py:3466 ../yum/__init__.py:3500 ../yum/__init__.py:3576
+#: ../yum/__init__.py:3582 ../yum/__init__.py:3719 ../yum/__init__.py:3723
+#: ../yum/__init__.py:4298
 #, python-format
 msgid "No Group named %s exists"
 msgstr "Ne postoji grupa pod imenom %s"
 
-#: ../yum/__init__.py:2839 ../yum/__init__.py:2973
+#: ../yum/__init__.py:3512 ../yum/__init__.py:3740
 #, python-format
 msgid "package %s was not marked in group %s"
 msgstr "paket %s nije označen u grupi %s"
 
-#: ../yum/__init__.py:2887
+#. (upgrade and igroup_data[pkg] == 'available')):
+#: ../yum/__init__.py:3622
+#, python-format
+msgid "Skipping package %s from group %s"
+msgstr ""
+
+#: ../yum/__init__.py:3628
 #, python-format
 msgid "Adding package %s from group %s"
 msgstr "Dodajem paket %s iz grupe %s"
 
-#: ../yum/__init__.py:2891
+#: ../yum/__init__.py:3649
 #, python-format
 msgid "No package named %s available to be installed"
 msgstr "Nijedan paket pod imenom %s nije dostupan za instalaciju"
 
-#: ../yum/__init__.py:2941
+#: ../yum/__init__.py:3702
 #, python-format
-msgid "Warning: Group %s does not have any packages."
+msgid "Warning: Group %s does not have any packages to install."
 msgstr ""
 
-#: ../yum/__init__.py:2943
+#: ../yum/__init__.py:3704
 #, python-format
 msgid "Group %s does have %u conditional packages, which may get installed."
 msgstr ""
 
+#: ../yum/__init__.py:3794
+#, python-format
+msgid "Skipping group %s from environment %s"
+msgstr ""
+
 #. This can happen due to excludes after .up has
 #. happened.
-#: ../yum/__init__.py:3002
+#: ../yum/__init__.py:3858
 #, python-format
 msgid "Package tuple %s could not be found in packagesack"
 msgstr "Grupa paketa %s nije nađena u packagesacku"
 
-#: ../yum/__init__.py:3022
+#: ../yum/__init__.py:3886
 #, python-format
 msgid "Package tuple %s could not be found in rpmdb"
 msgstr ""
 
-#: ../yum/__init__.py:3079 ../yum/__init__.py:3129
+#: ../yum/__init__.py:3949 ../yum/__init__.py:4012
 #, python-format
 msgid "Invalid version flag from: %s"
 msgstr ""
 
-#: ../yum/__init__.py:3096 ../yum/__init__.py:3101
+#: ../yum/__init__.py:3973 ../yum/__init__.py:3979 ../yum/__init__.py:4036
+#: ../yum/__init__.py:4042
 #, python-format
 msgid "No Package found for %s"
 msgstr "Nema pronađenih paketa za %s"
 
-#: ../yum/__init__.py:3401
+#: ../yum/__init__.py:4245 ../yum/__init__.py:4274
+#, python-format
+msgid "Warning: Environment Group %s does not exist."
+msgstr ""
+
+#: ../yum/__init__.py:4397
+#, python-format
+msgid "Package: %s - can't co-install with %s"
+msgstr ""
+
+#: ../yum/__init__.py:4437
 msgid "Package Object was not a package object instance"
 msgstr "Objekat paketa nije bio primerak objekta paketa"
 
-#: ../yum/__init__.py:3405
+#: ../yum/__init__.py:4441
 msgid "Nothing specified to install"
 msgstr "Nije određeno ništa za instalaciju"
 
-#: ../yum/__init__.py:3424 ../yum/__init__.py:4283
+#: ../yum/__init__.py:4465 ../yum/__init__.py:5410
 #, python-format
 msgid "Checking for virtual provide or file-provide for %s"
 msgstr "Proveravam virtuelnu dostavu ili dostavu datoteke za %s"
 
-#: ../yum/__init__.py:3430 ../yum/__init__.py:3775 ../yum/__init__.py:3969
-#: ../yum/__init__.py:4289
-#, python-format
-msgid "No Match for argument: %s"
-msgstr "Ne postoji slaganje za argument: %s"
-
-#: ../yum/__init__.py:3507
+#: ../yum/__init__.py:4542
 #, python-format
 msgid "Package %s installed and not available"
 msgstr "Paket %s je instaliran i nije dostupan"
 
-#: ../yum/__init__.py:3510
+#: ../yum/__init__.py:4545
 msgid "No package(s) available to install"
 msgstr "Nema paketa dostupnih za instalaciju"
 
-#: ../yum/__init__.py:3522
+#: ../yum/__init__.py:4557
 #, python-format
 msgid "Package: %s  - already in transaction set"
 msgstr "Paket: %s  - već je u skupu transakcije"
 
-#: ../yum/__init__.py:3550
+#: ../yum/__init__.py:4589
 #, python-format
 msgid "Package %s is obsoleted by %s which is already installed"
 msgstr ""
 
-#: ../yum/__init__.py:3555
+#: ../yum/__init__.py:4594
 #, python-format
 msgid ""
 "Package %s is obsoleted by %s, but obsoleting package does not provide for "
 "requirements"
 msgstr ""
 
-#: ../yum/__init__.py:3558
+#: ../yum/__init__.py:4597
 #, python-format
 msgid "Package %s is obsoleted by %s, trying to install %s instead"
 msgstr "Paket %s je zamenjen paketom %s, pokušavam da namesto instaliram %s"
 
-#: ../yum/__init__.py:3566
+#: ../yum/__init__.py:4605
 #, python-format
 msgid "Package %s already installed and latest version"
 msgstr "Već je instalirana najnovija verzija paketa %s"
 
-#: ../yum/__init__.py:3580
+#: ../yum/__init__.py:4619
 #, python-format
 msgid "Package matching %s already installed. Checking for update."
-msgstr ""
-"Paket koji se poklapa sa %s je već instaliran. Proveravam za noviju verziju."
+msgstr "Paket koji se poklapa sa %s je već instaliran. Proveravam za noviju verziju."
 
 #. update everything (the easy case)
-#: ../yum/__init__.py:3684
+#: ../yum/__init__.py:4751
 msgid "Updating Everything"
 msgstr "Ažuriram sve"
 
-#: ../yum/__init__.py:3708 ../yum/__init__.py:3849 ../yum/__init__.py:3879
-#: ../yum/__init__.py:3915
+#: ../yum/__init__.py:4775 ../yum/__init__.py:4930 ../yum/__init__.py:4975
+#: ../yum/__init__.py:5011
 #, python-format
 msgid "Not Updating Package that is already obsoleted: %s.%s %s:%s-%s"
 msgstr "Ne ažuriram pakete koji su već prevaziđeni: %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3753 ../yum/__init__.py:3965
+#: ../yum/__init__.py:4830 ../yum/__init__.py:5072
 #, python-format
 msgid "%s"
 msgstr "%s"
 
-#: ../yum/__init__.py:3838
+#: ../yum/__init__.py:4854 ../yum/__init__.py:5080 ../yum/__init__.py:5416
+#, python-format
+msgid "No Match for argument: %s"
+msgstr "Ne postoji slaganje za argument: %s"
+
+#: ../yum/__init__.py:4872
+#, python-format
+msgid "No package matched to upgrade: %s"
+msgstr ""
+
+#: ../yum/__init__.py:4919
 #, python-format
 msgid "Package is already obsoleted: %s.%s %s:%s-%s"
 msgstr "Paket je već prevaziđen: %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3874
+#: ../yum/__init__.py:4970
 #, python-format
 msgid "Not Updating Package that is obsoleted: %s"
 msgstr ""
 
-#: ../yum/__init__.py:3883 ../yum/__init__.py:3919
+#: ../yum/__init__.py:4979 ../yum/__init__.py:5015
 #, python-format
 msgid "Not Updating Package that is already updated: %s.%s %s:%s-%s"
 msgstr "Ne ažuriram pakete koji su već ažurirani: %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3982
-msgid "No package matched to remove"
-msgstr "Nijedan paket nije određen za uklanjanje"
+#: ../yum/__init__.py:5093
+#, python-format
+msgid "No package matched to remove: %s"
+msgstr ""
 
-#: ../yum/__init__.py:3988
+#: ../yum/__init__.py:5099
 #, python-format
 msgid "Skipping the running kernel: %s"
 msgstr ""
 
-#: ../yum/__init__.py:3994
+#: ../yum/__init__.py:5105
 #, python-format
 msgid "Removing %s from the transaction"
 msgstr ""
 
-#: ../yum/__init__.py:4029
+#: ../yum/__init__.py:5142
 #, python-format
 msgid "Cannot open: %s. Skipping."
 msgstr ""
 
-#: ../yum/__init__.py:4032 ../yum/__init__.py:4150 ../yum/__init__.py:4226
+#: ../yum/__init__.py:5145 ../yum/__init__.py:5262 ../yum/__init__.py:5347
 #, python-format
 msgid "Examining %s: %s"
 msgstr "Ispitujem %s: %s"
 
-#: ../yum/__init__.py:4036
+#: ../yum/__init__.py:5149
 #, python-format
 msgid "Cannot localinstall deltarpm: %s. Skipping."
 msgstr ""
 
-#: ../yum/__init__.py:4045 ../yum/__init__.py:4153 ../yum/__init__.py:4229
+#: ../yum/__init__.py:5158 ../yum/__init__.py:5265 ../yum/__init__.py:5350
 #, python-format
 msgid ""
 "Cannot add package %s to transaction. Not a compatible architecture: %s"
-msgstr ""
-"Ne mogu da dodam paket %s u transakciju. Arhitektura nije usaglašena: %s"
+msgstr "Ne mogu da dodam paket %s u transakciju. Arhitektura nije usaglašena: %s"
 
-#: ../yum/__init__.py:4051
+#: ../yum/__init__.py:5164
 #, python-format
 msgid "Cannot install package %s. It is obsoleted by installed package %s"
 msgstr ""
 
-#: ../yum/__init__.py:4059
+#: ../yum/__init__.py:5172
 #, python-format
 msgid ""
 "Package %s not installed, cannot update it. Run yum install to install it "
 "instead."
-msgstr ""
-"Paket %s nije instaliran, ne mogu da ga ažuriram. Izvršite yum instalaciju "
-"da biste ga instalirali."
+msgstr "Paket %s nije instaliran, ne mogu da ga ažuriram. Izvršite yum instalaciju da biste ga instalirali."
 
-#: ../yum/__init__.py:4078 ../yum/__init__.py:4085
+#: ../yum/__init__.py:5191 ../yum/__init__.py:5198
 #, python-format
 msgid ""
 "Package %s.%s not installed, cannot update it. Run yum install to install it"
 " instead."
 msgstr ""
 
-#: ../yum/__init__.py:4094 ../yum/__init__.py:4158 ../yum/__init__.py:4234
+#: ../yum/__init__.py:5207 ../yum/__init__.py:5270 ../yum/__init__.py:5355
 #, python-format
 msgid "Excluding %s"
 msgstr "Izuzimam %s"
 
-#: ../yum/__init__.py:4099
+#: ../yum/__init__.py:5212
 #, python-format
 msgid "Marking %s to be installed"
 msgstr "Označavam %s za instalaciju"
 
-#: ../yum/__init__.py:4105
+#: ../yum/__init__.py:5218
 #, python-format
 msgid "Marking %s as an update to %s"
 msgstr "Označavam %s kao ažuriranje za %s"
 
-#: ../yum/__init__.py:4112
+#: ../yum/__init__.py:5225
 #, python-format
 msgid "%s: does not update installed package."
 msgstr "%s: ne ažurira instalirani paket."
 
-#: ../yum/__init__.py:4147 ../yum/__init__.py:4223
+#: ../yum/__init__.py:5259 ../yum/__init__.py:5344
 #, python-format
 msgid "Cannot open file: %s. Skipping."
 msgstr "Ne mogu da otvorim datoteku: %s. Preskačem je."
 
-#: ../yum/__init__.py:4177
+#: ../yum/__init__.py:5299
 msgid "Problem in reinstall: no package matched to remove"
-msgstr ""
-"Problem pri ponovnoj instalaciji: nijedan paket nije određen za uklanjanje"
+msgstr "Problem pri ponovnoj instalaciji: nijedan paket nije određen za uklanjanje"
 
-#: ../yum/__init__.py:4203
+#: ../yum/__init__.py:5325
 #, python-format
 msgid "Problem in reinstall: no package %s matched to install"
 msgstr ""
 
-#: ../yum/__init__.py:4311
+#: ../yum/__init__.py:5438
 msgid "No package(s) available to downgrade"
 msgstr "Nema paketa dostupnih za unazađivanje"
 
-#: ../yum/__init__.py:4319
+#: ../yum/__init__.py:5446
 #, python-format
 msgid "Package %s is allowed multiple installs, skipping"
 msgstr "Paketu %s su dozvoljene mnogostruke instalacije, preskačem ga"
 
-#: ../yum/__init__.py:4365
+#: ../yum/__init__.py:5496
 #, python-format
 msgid "No Match for available package: %s"
 msgstr "Nema dostupnog odgovarajućeg paketa: %s"
 
-#: ../yum/__init__.py:4372
+#: ../yum/__init__.py:5506
 #, python-format
 msgid "Only Upgrade available on package: %s"
 msgstr "Samo je nadgradnja dostupna za paket: %s"
 
-#: ../yum/__init__.py:4442 ../yum/__init__.py:4479
+#: ../yum/__init__.py:5619 ../yum/__init__.py:5686
 #, python-format
 msgid "Failed to downgrade: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4516
+#: ../yum/__init__.py:5636 ../yum/__init__.py:5692
+#, python-format
+msgid "Failed to upgrade: %s"
+msgstr ""
+
+#: ../yum/__init__.py:5725
 #, python-format
 msgid "Retrieving key from %s"
 msgstr ""
 
-#: ../yum/__init__.py:4534
+#: ../yum/__init__.py:5743
 msgid "GPG key retrieval failed: "
 msgstr "Dobavljanje GPG ključa nije uspelo: "
 
 #. if we decide we want to check, even though the sig failed
 #. here is where we would do that
-#: ../yum/__init__.py:4557
+#: ../yum/__init__.py:5766
 #, python-format
 msgid "GPG key signature on key %s does not match CA Key for repo: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4559
+#: ../yum/__init__.py:5768
 msgid "GPG key signature verified against CA Key(s)"
 msgstr ""
 
-#: ../yum/__init__.py:4567
+#: ../yum/__init__.py:5776
 #, python-format
 msgid "Invalid GPG Key from %s: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4576
+#: ../yum/__init__.py:5785
 #, python-format
 msgid "GPG key parsing failed: key does not have value %s"
 msgstr "Raščlanjivanje GPG ključa nije uspelo: ključ nema vrednost %s"
 
-#: ../yum/__init__.py:4592
+#: ../yum/__init__.py:5801
 #, python-format
 msgid ""
 "Importing %s key 0x%s:\n"
-" Userid : %s\n"
-" Package: %s (%s)\n"
-" From   : %s"
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" Package    : %s (%s)\n"
+" From       : %s"
 msgstr ""
 
-#: ../yum/__init__.py:4600
+#: ../yum/__init__.py:5811
 #, python-format
 msgid ""
 "Importing %s key 0x%s:\n"
-" Userid: \"%s\"\n"
-" From  : %s"
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" From       : %s"
+msgstr ""
+
+#: ../yum/__init__.py:5839
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" Failing package is: %s\n"
+" GPG Keys are configured as: %s\n"
 msgstr ""
 
-#: ../yum/__init__.py:4634
+#: ../yum/__init__.py:5853
 #, python-format
 msgid "GPG key at %s (0x%s) is already installed"
 msgstr "GPG ključ na %s (0x%s) je već instaliran"
 
-#: ../yum/__init__.py:4671
+#: ../yum/__init__.py:5891
 #, python-format
 msgid "Key import failed (code %d)"
 msgstr "Nije uspeo uvoz ključa (kod %d)"
 
-#: ../yum/__init__.py:4672 ../yum/__init__.py:4755
+#: ../yum/__init__.py:5893 ../yum/__init__.py:5994
 msgid "Key imported successfully"
 msgstr "Ključ je uspešno uvezen"
 
-#: ../yum/__init__.py:4676
+#: ../yum/__init__.py:5897
 msgid "Didn't install any keys"
 msgstr ""
 
-#: ../yum/__init__.py:4680
+#: ../yum/__init__.py:5900
 #, python-format
 msgid ""
 "The GPG keys listed for the \"%s\" repository are already installed but they are not correct for this package.\n"
 "Check that the correct key URLs are configured for this repository."
-msgstr ""
-"GPG ključevi izlistani za „%s“ riznicu su već instalirani ali nisu odgovarajući za ovaj paket.\n"
-"Proverite da li su podešeni odgovarajući URL-ovi ključeva za ovu riznicu."
+msgstr "GPG ključevi izlistani za „%s“ riznicu su već instalirani ali nisu odgovarajući za ovaj paket.\nProverite da li su podešeni odgovarajući URL-ovi ključeva za ovu riznicu."
 
-#: ../yum/__init__.py:4689
+#: ../yum/__init__.py:5910
 msgid "Import of key(s) didn't help, wrong key(s)?"
 msgstr "Uvoz ključa(ključeva) nije pomogao, pogrešan ključ(ključevi)?"
 
-#: ../yum/__init__.py:4713
+#: ../yum/__init__.py:5932
+msgid "No"
+msgstr ""
+
+#: ../yum/__init__.py:5934
+msgid "Yes"
+msgstr ""
+
+#: ../yum/__init__.py:5935
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" CA Key: %s\n"
+" Failing repo is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr ""
+
+#: ../yum/__init__.py:5948
 #, python-format
 msgid "GPG key at %s (0x%s) is already imported"
 msgstr "GPG ključ na %s (0x%s) je već uvezen"
 
-#: ../yum/__init__.py:4754
-msgid "Key import failed"
-msgstr "Nije uspeo uvoz ključa"
+#: ../yum/__init__.py:5992
+#, python-format
+msgid "Key %s import failed"
+msgstr ""
 
-#: ../yum/__init__.py:4770
+#: ../yum/__init__.py:6009
 #, python-format
 msgid "Didn't install any keys for repo %s"
 msgstr ""
 
-#: ../yum/__init__.py:4774
+#: ../yum/__init__.py:6014
 #, python-format
 msgid ""
 "The GPG keys listed for the \"%s\" repository are already installed but they are not correct.\n"
 "Check that the correct key URLs are configured for this repository."
 msgstr ""
 
-#: ../yum/__init__.py:4924
+#: ../yum/__init__.py:6172
 msgid "Unable to find a suitable mirror."
 msgstr "Ne mogu da pronađem odgovarajući odraz."
 
-#: ../yum/__init__.py:4926
+#: ../yum/__init__.py:6174
 msgid "Errors were encountered while downloading packages."
 msgstr "Pojavile su se greške za vreme preuzimanja paketa."
 
-#: ../yum/__init__.py:4981
+#: ../yum/__init__.py:6229
 #, python-format
 msgid "Please report this error at %s"
 msgstr "Prijavite ovu grešku kod %s"
 
-#: ../yum/__init__.py:4998
+#: ../yum/__init__.py:6246
 msgid "Test Transaction Errors: "
 msgstr "Greške pri proveri transakcije: "
 
-#: ../yum/__init__.py:5098
+#: ../yum/__init__.py:6358
 #, python-format
 msgid "Could not set cachedir: %s"
 msgstr ""
 
-#: ../yum/__init__.py:5148 ../yum/__init__.py:5150
+#: ../yum/__init__.py:6420 ../yum/__init__.py:6422
 msgid "Dependencies not solved. Will not save unresolved transaction."
 msgstr ""
 
-#: ../yum/__init__.py:5179 ../yum/__init__.py:5181
+#: ../yum/__init__.py:6455 ../yum/__init__.py:6457
 #, python-format
 msgid "Could not save transaction file %s: %s"
 msgstr ""
 
-#: ../yum/__init__.py:5195
+#: ../yum/__init__.py:6483
 #, python-format
 msgid "Could not access/read saved transaction %s : %s"
 msgstr ""
 
-#: ../yum/__init__.py:5214
-msgid "rpmdb ver mismatched saved transaction version, "
+#: ../yum/__init__.py:6521
+msgid "rpmdb ver mismatched saved transaction version,"
 msgstr ""
 
-#: ../yum/__init__.py:5216
-msgid " ignoring, as requested."
-msgstr ""
-
-#: ../yum/__init__.py:5219 ../yum/__init__.py:5354
-msgid " aborting."
-msgstr ""
-
-#: ../yum/__init__.py:5228
+#: ../yum/__init__.py:6535
 msgid "cannot find tsflags or tsflags not integer."
 msgstr ""
 
-#: ../yum/__init__.py:5267
+#: ../yum/__init__.py:6584
 #, python-format
 msgid "Found txmbr in unknown current state: %s"
 msgstr ""
 
-#: ../yum/__init__.py:5271
+#: ../yum/__init__.py:6588
 #, python-format
 msgid "Could not find txmbr: %s in state %s"
 msgstr ""
 
-#: ../yum/__init__.py:5307 ../yum/__init__.py:5324
+#: ../yum/__init__.py:6625 ../yum/__init__.py:6642
 #, python-format
 msgid "Could not find txmbr: %s from origin: %s"
 msgstr ""
 
-#: ../yum/__init__.py:5349
+#: ../yum/__init__.py:6667
 msgid "Transaction members, relations are missing or ts has been modified,"
 msgstr ""
 
-#: ../yum/__init__.py:5351
+#: ../yum/__init__.py:6670
 msgid " ignoring, as requested. You must redepsolve!"
 msgstr ""
 
+#. Debugging output
+#: ../yum/__init__.py:6738 ../yum/__init__.py:6757
+#, python-format
+msgid "%s has been visited already and cannot be removed."
+msgstr ""
+
+#. Debugging output
+#: ../yum/__init__.py:6741
+#, python-format
+msgid "Examining revdeps of %s"
+msgstr ""
+
+#. Debugging output
+#: ../yum/__init__.py:6762
+#, python-format
+msgid "%s has revdep %s which was user-installed."
+msgstr ""
+
+#: ../yum/__init__.py:6773 ../yum/__init__.py:6779
+#, python-format
+msgid "%s is needed by a package to be installed."
+msgstr ""
+
+#. Debugging output
+#: ../yum/__init__.py:6793
+#, python-format
+msgid "%s has no user-installed revdeps."
+msgstr ""
+
 #. Mostly copied from YumOutput._outKeyValFill()
-#: ../yum/plugins.py:209
+#: ../yum/plugins.py:212
 msgid "Loaded plugins: "
 msgstr "Učitani dodaci: "
 
-#: ../yum/plugins.py:223 ../yum/plugins.py:229
+#: ../yum/plugins.py:226 ../yum/plugins.py:232
 #, python-format
 msgid "No plugin match for: %s"
 msgstr "Ne postoji slaganje za dodatak: %s"
 
-#: ../yum/plugins.py:259
+#: ../yum/plugins.py:262
 #, python-format
 msgid "Not loading \"%s\" plugin, as it is disabled"
 msgstr "Ne učitavam dodatak „%s“ pošto je isključen"
 
 #. Give full backtrace:
-#: ../yum/plugins.py:271
+#: ../yum/plugins.py:274
 #, python-format
 msgid "Plugin \"%s\" can't be imported"
 msgstr "Dodatak „%s“ ne može da bude uvezen"
 
-#: ../yum/plugins.py:278
+#: ../yum/plugins.py:281
 #, python-format
 msgid "Plugin \"%s\" doesn't specify required API version"
 msgstr "Dodatak „%s“ ne određuje verziju zahtevanog API-a"
 
-#: ../yum/plugins.py:283
+#: ../yum/plugins.py:286
 #, python-format
 msgid "Plugin \"%s\" requires API %s. Supported API is %s."
 msgstr "Dodatak „%s“ zahteva API %s. Podržani API je %s."
 
-#: ../yum/plugins.py:316
+#: ../yum/plugins.py:319
 #, python-format
 msgid "Loading \"%s\" plugin"
 msgstr "Učitavam „%s“ dodatak"
 
-#: ../yum/plugins.py:323
+#: ../yum/plugins.py:326
 #, python-format
 msgid "Two or more plugins with the name \"%s\" exist in the plugin search path"
-msgstr ""
-"U putanji za pretraživanje dodataka postoje dva ili više dodataka pod imenom"
-" „%s“"
+msgstr "U putanji za pretraživanje dodataka postoje dva ili više dodataka pod imenom „%s“"
 
-#: ../yum/plugins.py:343
+#: ../yum/plugins.py:346
 #, python-format
 msgid "Configuration file %s not found"
 msgstr "Datoteka podešavanja %s nije pronađena"
 
 #. for
 #. Configuration files for the plugin not found
-#: ../yum/plugins.py:346
+#: ../yum/plugins.py:349
 #, python-format
 msgid "Unable to find configuration file for plugin %s"
 msgstr "Ne mogu da pronađem datoteku podešavanja za dodatak %s"
 
-#: ../yum/plugins.py:508
+#: ../yum/plugins.py:553
 msgid "registration of commands not supported"
 msgstr "registracija komandi nije podržana"
 
-#: ../yum/rpmsack.py:148
+#: ../yum/rpmsack.py:159
 msgid "has missing requires of"
 msgstr ""
 
-#: ../yum/rpmsack.py:151
+#: ../yum/rpmsack.py:162
 msgid "has installed conflicts"
 msgstr ""
 
-#: ../yum/rpmsack.py:160
+#: ../yum/rpmsack.py:171
 #, python-format
 msgid "%s is a duplicate with %s"
 msgstr ""
 
-#: ../yum/rpmsack.py:168
+#: ../yum/rpmsack.py:179
 #, python-format
 msgid "%s is obsoleted by %s"
 msgstr ""
 
-#: ../yum/rpmsack.py:176
+#: ../yum/rpmsack.py:187
 #, python-format
 msgid "%s provides %s but it cannot be found"
 msgstr ""
@@ -3115,6 +3474,23 @@ msgstr ""
 msgid "Repackaging"
 msgstr "Ponovno pakovanje"
 
+#: ../yum/rpmtrans.py:149
+#, python-format
+msgid "Verify: %u/%u: %s"
+msgstr ""
+
+#: ../yum/yumRepo.py:919
+#, python-format
+msgid ""
+"Insufficient space in download directory %s\n"
+"    * free   %s\n"
+"    * needed %s"
+msgstr "Nedovoljna količina prostora u direktorijumu %s za preuzimanje\n    * slobodno je %s\n    * potrebno je %s"
+
+#: ../yum/yumRepo.py:986
+msgid "Package does not match intended download."
+msgstr ""
+
 #: ../rpmUtils/oldUtils.py:33
 #, python-format
 msgid "Header cannot be opened or does not match %s, %s."
@@ -3127,9 +3503,7 @@ msgstr "Nije uspela md5 provera za %s RPM"
 
 #: ../rpmUtils/oldUtils.py:151
 msgid "Could not open RPM database for reading. Perhaps it is already in use?"
-msgstr ""
-"Ne mogu da otvorim RPM bazu podataka za potrebe čitanja. Možda je već u "
-"upotrebi?"
+msgstr "Ne mogu da otvorim RPM bazu podataka za potrebe čitanja. Možda je već u upotrebi?"
 
 #: ../rpmUtils/oldUtils.py:183
 msgid "Got an empty Header, something has gone wrong"
@@ -3145,5 +3519,3 @@ msgstr "Oštećeno zaglavlje %s"
 #, python-format
 msgid "Error opening rpm %s - error %s"
 msgstr "Greška pri otvaranju rpm-a %s - greška %s"
-
-
diff --git a/po/sv.po b/po/sv.po
index b9c109b..c45e7f1 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -2,1512 +2,1645 @@
 # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
 # This file is distributed under the same license as the PACKAGE package.
 # 
-# Göran Uddeborg <goeran@uddeborg.se>, 2011
+# Translators:
+# Göran Uddeborg <goeran@uddeborg.se>, 2011, 2012.
+# Ulrika  <aurorauddeborg@gmail.com>, 2012.
 msgid ""
 msgstr ""
 "Project-Id-Version: Yum\n"
-"Report-Msgid-Bugs-To: http://yum.baseurl.org/\n"
-"POT-Creation-Date: 2011-06-06 10:21-0400\n"
-"PO-Revision-Date: 2011-06-06 14:21+0000\n"
-"Last-Translator: skvidal <skvidal@fedoraproject.org>\n"
-"Language-Team: Swedish (http://www.transifex.net/projects/p/yum/team/sv/)\n"
+"Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
+"POT-Creation-Date: 2013-01-30 09:08-0500\n"
+"PO-Revision-Date: 2013-01-30 14:08+0000\n"
+"Last-Translator: james <james@fedoraproject.org>\n"
+"Language-Team: Swedish (http://www.transifex.com/projects/p/yum/language/sv/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Language: sv\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: ../callback.py:48 ../output.py:1037 ../yum/rpmtrans.py:73
+#: ../callback.py:45 ../output.py:1502 ../yum/rpmtrans.py:73
 msgid "Updating"
 msgstr "Uppdaterar"
 
-#: ../callback.py:49 ../yum/rpmtrans.py:74
+#: ../callback.py:46 ../yum/rpmtrans.py:74
 msgid "Erasing"
 msgstr "Raderar"
 
-#: ../callback.py:50 ../callback.py:51 ../callback.py:53 ../output.py:1036
-#: ../output.py:2218 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
+#: ../callback.py:47 ../callback.py:48 ../callback.py:50 ../output.py:1501
+#: ../output.py:2922 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
 #: ../yum/rpmtrans.py:78
 msgid "Installing"
 msgstr "Installerar"
 
-#: ../callback.py:52 ../callback.py:58 ../output.py:1840 ../yum/rpmtrans.py:77
+#: ../callback.py:49 ../callback.py:55 ../output.py:2379 ../yum/rpmtrans.py:77
 msgid "Obsoleted"
 msgstr "Utfasad"
 
-#: ../callback.py:54 ../output.py:1169 ../output.py:1686 ../output.py:1847
+#: ../callback.py:51 ../output.py:1670 ../output.py:2222 ../output.py:2386
 msgid "Updated"
 msgstr "Uppdaterade"
 
-#: ../callback.py:55 ../output.py:1685
+#: ../callback.py:52 ../output.py:2221
 msgid "Erased"
 msgstr "Raderade"
 
-#: ../callback.py:56 ../callback.py:57 ../callback.py:59 ../output.py:1167
-#: ../output.py:1685 ../output.py:1687 ../output.py:2190
+#: ../callback.py:53 ../callback.py:54 ../callback.py:56 ../output.py:1668
+#: ../output.py:2221 ../output.py:2223 ../output.py:2894
 msgid "Installed"
 msgstr "Installerade"
 
-#: ../callback.py:130
+#: ../callback.py:142
 msgid "No header - huh?"
 msgstr "Inget huvud - va?"
 
-#: ../callback.py:168
+#: ../callback.py:180
 msgid "Repackage"
 msgstr "Paketera om"
 
-#: ../callback.py:189
+#: ../callback.py:201
 #, python-format
 msgid "Error: invalid output state: %s for %s"
 msgstr "Fel: ogiltig utdatatillstånd: %s för %s"
 
-#: ../callback.py:212
+#: ../callback.py:224
 #, python-format
 msgid "Erased: %s"
 msgstr "Raderade: %s"
 
-#: ../callback.py:217 ../output.py:1038 ../output.py:2193
+#: ../callback.py:229 ../output.py:1503 ../output.py:2897
 msgid "Removing"
 msgstr "Tar bort"
 
-#: ../callback.py:219 ../yum/rpmtrans.py:79
+#: ../callback.py:231 ../yum/rpmtrans.py:79
 msgid "Cleanup"
 msgstr "Rensar upp"
 
-#: ../cli.py:115
+#: ../cli.py:122
 #, python-format
 msgid "Command \"%s\" already defined"
 msgstr "Kommando \"%s\" redan definierat"
 
-#: ../cli.py:127
+#: ../cli.py:137
 msgid "Setting up repositories"
 msgstr "Gör i ordning förråd"
 
-#: ../cli.py:138
+#: ../cli.py:148
 msgid "Reading repository metadata in from local files"
 msgstr "Läser in förrådsmetadata från lokala filer"
 
-#: ../cli.py:245 ../utils.py:281
+#: ../cli.py:273 ../cli.py:277 ../utils.py:320
 #, python-format
 msgid "Config Error: %s"
 msgstr "Konfigurationsfel: %s"
 
-#: ../cli.py:248 ../cli.py:1584 ../utils.py:284
+#: ../cli.py:280 ../cli.py:2206 ../utils.py:323
 #, python-format
 msgid "Options Error: %s"
 msgstr "Fel bland flaggor: %s"
 
-#: ../cli.py:293
+#: ../cli.py:327
 #, python-format
 msgid "  Installed: %s-%s at %s"
 msgstr "  Installerade: %s-%s %s"
 
-#: ../cli.py:295
+#: ../cli.py:329
 #, python-format
 msgid "  Built    : %s at %s"
 msgstr "  Byggde      : %s %s"
 
-#: ../cli.py:297
+#: ../cli.py:331
 #, python-format
 msgid "  Committed: %s at %s"
 msgstr "  Verkställde : %s %s"
 
-#: ../cli.py:336
+#: ../cli.py:372
 msgid "You need to give some command"
 msgstr "Du måste ange något kommando"
 
-#: ../cli.py:350
+#: ../cli.py:386
 #, python-format
 msgid "No such command: %s. Please use %s --help"
 msgstr "Inget sådant kommando: %s.  Använd %s --help"
 
-#: ../cli.py:400
+#: ../cli.py:444
 msgid "Disk Requirements:\n"
 msgstr "Diskbehov:\n"
 
-#: ../cli.py:402
+#: ../cli.py:446
 #, python-format
 msgid "  At least %dMB more space needed on the %s filesystem.\n"
-msgstr "  Åtminstone %d MB mer utrymme behövs på filsystemet %s.\n"
+msgid_plural "  At least %dMB more space needed on the %s filesystem.\n"
+msgstr[0] "  Åtminstone %d MB mer utrymme behövs på filsystemet %s.\n"
+msgstr[1] "  Åtminstone %d MB mer utrymme behövs på filsystemet %s.\n"
 
 #. TODO: simplify the dependency errors?
 #. Fixup the summary
-#: ../cli.py:407
+#: ../cli.py:451
 msgid ""
 "Error Summary\n"
 "-------------\n"
-msgstr ""
-"Felsammandrag\n"
-"-------------\n"
+msgstr "Felsammandrag\n-------------\n"
 
-#: ../cli.py:450
+#: ../cli.py:472
+msgid "Can't create lock file; exiting"
+msgstr "Det går inte att skapa en låsfil, avslutar"
+
+#: ../cli.py:479
+msgid ""
+"Another app is currently holding the yum lock; exiting as configured by "
+"exit_on_lock"
+msgstr "Ett annat program håller för närvarande yum-låset, avslutar som konfigurerad av exit_on_lock"
+
+#: ../cli.py:532
 msgid "Trying to run the transaction but nothing to do. Exiting."
 msgstr "Försöker köra transaktionen men det finns inget att göra.  Avslutar."
 
-#: ../cli.py:497
+#: ../cli.py:577
+msgid "future rpmdb ver mismatched saved transaction version,"
+msgstr ""
+
+#: ../cli.py:579 ../yum/__init__.py:6523
+msgid " ignoring, as requested."
+msgstr " bortser ifrån, som begärt."
+
+#: ../cli.py:582 ../yum/__init__.py:6526 ../yum/__init__.py:6673
+msgid " aborting."
+msgstr " avbryter."
+
+#: ../cli.py:588
 msgid "Exiting on user Command"
 msgstr "Avslutar på användarens order"
 
-#: ../cli.py:501
+#: ../cli.py:592
 msgid "Downloading Packages:"
 msgstr "Hämtar paket:"
 
-#: ../cli.py:506
+#: ../cli.py:597
 msgid "Error Downloading Packages:\n"
 msgstr "Fel när paket hämtades:\n"
 
-#: ../cli.py:525 ../yum/__init__.py:4967
+#: ../cli.py:616 ../yum/__init__.py:6215
 msgid "Running Transaction Check"
 msgstr "Kör transaktionskontroll"
 
-#: ../cli.py:534 ../yum/__init__.py:4976
+#: ../cli.py:625 ../yum/__init__.py:6224
 msgid "ERROR You need to update rpm to handle:"
 msgstr "FEL Du behöver uppdatera rpm för att hantera:"
 
-#: ../cli.py:536 ../yum/__init__.py:4979
+#: ../cli.py:627 ../yum/__init__.py:6227
 msgid "ERROR with transaction check vs depsolve:"
 msgstr "FEL med transaktionskontroll mot depsolve:"
 
-#: ../cli.py:542
+#: ../cli.py:633
 msgid "RPM needs to be updated"
 msgstr "RPM behöver uppdateras"
 
-#: ../cli.py:543
+#: ../cli.py:634
 #, python-format
 msgid "Please report this error in %s"
 msgstr "Vänligen rapportera detta fel i %s"
 
-#: ../cli.py:549
+#: ../cli.py:640
 msgid "Running Transaction Test"
 msgstr "Kör transaktionstest"
 
-#: ../cli.py:561
+#: ../cli.py:652
 msgid "Transaction Check Error:\n"
 msgstr "Transaktionskontrollfel:\n"
 
-#: ../cli.py:568
+#: ../cli.py:659
 msgid "Transaction Test Succeeded"
 msgstr "Transaktionskontrollen lyckades"
 
-#: ../cli.py:600
+#: ../cli.py:691
 msgid "Running Transaction"
 msgstr "Kör transaktionen"
 
-#: ../cli.py:630
+#: ../cli.py:724
 msgid ""
 "Refusing to automatically import keys when running unattended.\n"
 "Use \"-y\" to override."
-msgstr ""
-"Vägrar att automatiskt importera nycklar vid oövervakad körning.\n"
-"Använd \"-y\" för att åsidosätta."
+msgstr "Vägrar att automatiskt importera nycklar vid oövervakad körning.\nAnvänd \"-y\" för att åsidosätta."
 
-#: ../cli.py:649 ../cli.py:692
+#: ../cli.py:743 ../cli.py:786
 msgid "  * Maybe you meant: "
 msgstr "  * Du kanske menade: "
 
-#: ../cli.py:675 ../cli.py:683
+#: ../cli.py:769 ../cli.py:777
 #, python-format
 msgid "Package(s) %s%s%s available, but not installed."
 msgstr "Paket %s%s%s tillgängliga, men inte installerade."
 
-#: ../cli.py:689 ../cli.py:722 ../cli.py:908
+#: ../cli.py:783 ../cli.py:891 ../cli.py:1158
 #, python-format
 msgid "No package %s%s%s available."
 msgstr "Inget paket %s%s%s tillgängligt."
 
-#: ../cli.py:729 ../cli.py:973
-msgid "Package(s) to install"
-msgstr "Paket att installera"
+#: ../cli.py:871 ../cli.py:881 ../cli.py:1101 ../cli.py:1111
+#, python-format
+msgid "Bad %s argument %s."
+msgstr ""
+
+#: ../cli.py:900 ../yumcommands.py:3331
+#, python-format
+msgid "%d package to install"
+msgid_plural "%d packages to install"
+msgstr[0] "%d paket att installera"
+msgstr[1] "%d paket att installera"
 
-#: ../cli.py:732 ../cli.py:733 ../cli.py:914 ../cli.py:948 ../cli.py:974
-#: ../yumcommands.py:190
+#: ../cli.py:903 ../cli.py:904 ../cli.py:1169 ../cli.py:1170 ../cli.py:1224
+#: ../cli.py:1225 ../cli.py:1260 ../yumcommands.py:323 ../yumcommands.py:3419
 msgid "Nothing to do"
 msgstr "Inget att göra"
 
-#: ../cli.py:767
+#: ../cli.py:953
 #, python-format
-msgid "%d packages marked for Update"
-msgstr "%d paket noterade att uppdateras"
+msgid "%d package marked for Update"
+msgid_plural "%d packages marked for Update"
+msgstr[0] "%d paket noterat att uppdateras"
+msgstr[1] "%d paket noterade att uppdateras"
 
-#: ../cli.py:770
+#: ../cli.py:955
 msgid "No Packages marked for Update"
 msgstr "Inga paket noterade att uppdateras"
 
-#: ../cli.py:866
+#: ../cli.py:1067
 #, python-format
-msgid "%d packages marked for Distribution Synchronization"
-msgstr "%d paket noterade för distributionssynkronisering"
+msgid "%d package marked for Distribution Synchronization"
+msgid_plural "%d packages marked for Distribution Synchronization"
+msgstr[0] "%d paket noterat för distributionssynkronisering"
+msgstr[1] "%d paket noterade för distributionssynkronisering"
 
-#: ../cli.py:869
+#: ../cli.py:1069
 msgid "No Packages marked for Distribution Synchronization"
 msgstr "Inga paket noterade för distributionssynkronisering"
 
-#: ../cli.py:885
+#: ../cli.py:1124
 #, python-format
-msgid "%d packages marked for removal"
-msgstr "%d paket noterade att tas bort"
+msgid "%d package marked for removal"
+msgid_plural "%d packages marked for removal"
+msgstr[0] "%d paket noterat att tas bort"
+msgstr[1] "%d paket noterade att tas bort"
 
-#: ../cli.py:888
+#: ../cli.py:1126
 msgid "No Packages marked for removal"
 msgstr "Inga paket noterade att tas bort"
 
-#: ../cli.py:913
-msgid "Package(s) to downgrade"
-msgstr "Paket att nedgradera"
+#: ../cli.py:1166
+#, python-format
+msgid "%d package to downgrade"
+msgid_plural "%d packages to downgrade"
+msgstr[0] "%d paket att nedgradera"
+msgstr[1] "%d paket att nedgradera"
 
-#: ../cli.py:938
+#: ../cli.py:1207
 #, python-format
 msgid " (from %s)"
 msgstr " (från %s)"
 
-#: ../cli.py:939
+#: ../cli.py:1208
 #, python-format
 msgid "Installed package %s%s%s%s not available."
 msgstr "Installerat paket %s%s%s%s inte tillgängligt."
 
-#: ../cli.py:947
-msgid "Package(s) to reinstall"
-msgstr "Paket att ominstallera"
+#: ../cli.py:1221
+#, python-format
+msgid "%d package to reinstall"
+msgid_plural "%d packages to reinstall"
+msgstr[0] "%d paket att ominstallera"
+msgstr[1] "%d paket att ominstallera"
 
-#: ../cli.py:960
+#: ../cli.py:1246
 msgid "No Packages Provided"
 msgstr "Inga paket angivna"
 
-#: ../cli.py:1058
+#: ../cli.py:1259
+msgid "Package(s) to install"
+msgstr "Paket att installera"
+
+#: ../cli.py:1367
 #, python-format
 msgid "N/S Matched: %s"
 msgstr "N/S matchade: %s"
 
-#: ../cli.py:1075
+#: ../cli.py:1384
 #, python-format
 msgid "  Name and summary matches %sonly%s, use \"search all\" for everything."
-msgstr ""
-"  Matchning %sendast%s av namn och sammandrag, använd \"search all\" för "
-"allting."
+msgstr "  Matchning %sendast%s av namn och sammandrag, använd \"search all\" för allting."
 
-#: ../cli.py:1077
+#: ../cli.py:1386
 #, python-format
 msgid ""
 "  Full name and summary matches %sonly%s, use \"search all\" for everything."
-msgstr ""
-"  Matchning %sendast%s av fullständigt namn och sammandrag, använd \"search "
-"all\" för allting."
+msgstr "  Matchning %sendast%s av fullständigt namn och sammandrag, använd \"search all\" för allting."
 
-#: ../cli.py:1095
+#: ../cli.py:1404
 #, python-format
 msgid "Matched: %s"
 msgstr "Matchade: %s"
 
-#: ../cli.py:1102
+#: ../cli.py:1411
 #, python-format
 msgid "  Name and summary matches %smostly%s, use \"search all\" for everything."
-msgstr ""
-"  Matchning %shuvudsakligen%s av namn och sammandrag, använd \"search all\" "
-"för allting."
+msgstr "  Matchning %shuvudsakligen%s av namn och sammandrag, använd \"search all\" för allting."
 
-#: ../cli.py:1106
+#: ../cli.py:1415
 #, python-format
 msgid "Warning: No matches found for: %s"
 msgstr "Varning: Ingen matchning hittades för: %s"
 
-#: ../cli.py:1109
+#: ../cli.py:1418
 msgid "No Matches found"
 msgstr "Inga matchningar hittades"
 
-#: ../cli.py:1174
+#: ../cli.py:1536
 #, python-format
-msgid "No Package Found for %s"
-msgstr "Inga paket hittades för %s"
+msgid ""
+"Error: No Packages found for:\n"
+"  %s"
+msgstr "Error: No Packages found for:\n  %s"
 
-#: ../cli.py:1184
+#: ../cli.py:1572
 msgid "Cleaning repos: "
 msgstr "Rensar förråd: "
 
-#: ../cli.py:1189
+#: ../cli.py:1577
 msgid "Cleaning up Everything"
 msgstr "Rensar upp allt"
 
-#: ../cli.py:1205
+#: ../cli.py:1593
 msgid "Cleaning up Headers"
 msgstr "Rensar upp huvuden"
 
-#: ../cli.py:1208
+#: ../cli.py:1596
 msgid "Cleaning up Packages"
 msgstr "Rensar upp paket"
 
-#: ../cli.py:1211
+#: ../cli.py:1599
 msgid "Cleaning up xml metadata"
 msgstr "Rensar upp xml-metadata"
 
-#: ../cli.py:1214
+#: ../cli.py:1602
 msgid "Cleaning up database cache"
 msgstr "Rensar upp databas-cache"
 
-#: ../cli.py:1217
+#: ../cli.py:1605
 msgid "Cleaning up expire-cache metadata"
 msgstr "Rensar upp expire-cache-metadata"
 
-#: ../cli.py:1220
+#: ../cli.py:1608
 msgid "Cleaning up cached rpmdb data"
 msgstr "Rensar upp cachad rpmdb-data"
 
-#: ../cli.py:1223
+#: ../cli.py:1611
 msgid "Cleaning up plugins"
 msgstr "Rensar upp insticksmoduler"
 
-#: ../cli.py:1247
-#, python-format
-msgid "Warning: No groups match: %s"
-msgstr "Varning: Inga grupper matchar: %s"
+#: ../cli.py:1727
+msgid "Installed Environment Groups:"
+msgstr ""
+
+#: ../cli.py:1728
+msgid "Available Environment Groups:"
+msgstr ""
 
-#: ../cli.py:1264
+#: ../cli.py:1735
 msgid "Installed Groups:"
 msgstr "Installerade grupper:"
 
-#: ../cli.py:1270
+#: ../cli.py:1742
 msgid "Installed Language Groups:"
 msgstr "Installerade språkgrupper:"
 
-#: ../cli.py:1276
+#: ../cli.py:1749
 msgid "Available Groups:"
 msgstr "Tillgängliga grupper:"
 
-#: ../cli.py:1282
+#: ../cli.py:1756
 msgid "Available Language Groups:"
 msgstr "Tillgängliga språkgrupper:"
 
-#: ../cli.py:1285
+#: ../cli.py:1759
+#, python-format
+msgid "Warning: No Environments/Groups match: %s"
+msgstr ""
+
+#: ../cli.py:1763
 msgid "Done"
 msgstr "Klart"
 
-#: ../cli.py:1296 ../cli.py:1314 ../cli.py:1320 ../yum/__init__.py:3313
+#: ../cli.py:1818
+#, python-format
+msgid "Warning: Group/Environment %s does not exist."
+msgstr ""
+
+#: ../cli.py:1859
+#, python-format
+msgid "Warning: Environment %s does not exist."
+msgstr ""
+
+#: ../cli.py:1873 ../cli.py:1879 ../yum/__init__.py:4254
 #, python-format
 msgid "Warning: Group %s does not exist."
 msgstr "Varning: Grupp %s finns inte."
 
-#: ../cli.py:1324
+#: ../cli.py:1883
 msgid "No packages in any requested group available to install or update"
-msgstr ""
-"Inget paket i någon begärd grupp är tillgängligt för installation eller "
-"uppdatering"
+msgstr "Inget paket i någon begärd grupp är tillgängligt för installation eller uppdatering"
+
+#: ../cli.py:1885
+#, python-format
+msgid "%d package to Install"
+msgid_plural "%d packages to Install"
+msgstr[0] "%d paket att installera"
+msgstr[1] "%d paket att installera"
 
-#: ../cli.py:1326
+#: ../cli.py:1919 ../yum/__init__.py:3536 ../yum/__init__.py:3766
+#: ../yum/__init__.py:3824
 #, python-format
-msgid "%d Package(s) to Install"
-msgstr "%d paket att installera"
+msgid "No Environment named %s exists"
+msgstr ""
 
-#: ../cli.py:1336 ../yum/__init__.py:3325
+#: ../cli.py:1935 ../yum/__init__.py:4282
 #, python-format
 msgid "No group named %s exists"
 msgstr "Ingen grupp med namnet %s finns"
 
-#: ../cli.py:1342
+#: ../cli.py:1945
 msgid "No packages to remove from groups"
 msgstr "Inget paket att ta bort från grupper"
 
-#: ../cli.py:1344
+#: ../cli.py:1947 ../yumcommands.py:3351
 #, python-format
-msgid "%d Package(s) to remove"
-msgstr "%d paket att ta bort"
+msgid "%d package to remove"
+msgid_plural "%d packages to remove"
+msgstr[0] "%d paket att ta bort"
+msgstr[1] "%d paket att ta bort"
 
-#: ../cli.py:1386
+#: ../cli.py:1988
 #, python-format
 msgid "Package %s is already installed, skipping"
 msgstr "Paket %s är redan installerat, hoppar över"
 
-#: ../cli.py:1397
+#: ../cli.py:1999
 #, python-format
 msgid "Discarding non-comparable pkg %s.%s"
 msgstr "Kastar ojämförbart paket %s.%s"
 
 #. we've not got any installed that match n or n+a
-#: ../cli.py:1423
+#: ../cli.py:2025
 #, python-format
 msgid "No other %s installed, adding to list for potential install"
-msgstr ""
-"Ingen annat %s installerat, lägger till listan för potentiell installation"
+msgstr "Ingen annat %s installerat, lägger till listan för potentiell installation"
 
-#: ../cli.py:1443
+#: ../cli.py:2045
 msgid "Plugin Options"
 msgstr "Insticksmodulsalternativ"
 
-#: ../cli.py:1451
+#: ../cli.py:2057
 #, python-format
 msgid "Command line error: %s"
 msgstr "Kommandoradsfel: %s"
 
-#: ../cli.py:1467
+#: ../cli.py:2079
 #, python-format
 msgid ""
 "\n"
 "\n"
 "%s: %s option requires an argument"
-msgstr ""
-"\n"
-"\n"
-"%s: flaggan %s behöver ett argument"
+msgstr "\n\n%s: flaggan %s behöver ett argument"
 
-#: ../cli.py:1521
+#: ../cli.py:2147
 msgid "--color takes one of: auto, always, never"
 msgstr "--color tar en av: auto, always, never"
 
 #. We have a relative installroot ... haha
-#: ../cli.py:1596
+#: ../cli.py:2218
 #, python-format
 msgid "--installroot must be an absolute path: %s"
 msgstr "--installroot måste vara en absolut sökväg: %s"
 
-#: ../cli.py:1642
+#: ../cli.py:2272
 msgid "show this help message and exit"
 msgstr "visa detta hjälpmeddelande och avsluta"
 
-#: ../cli.py:1646
+#: ../cli.py:2276
 msgid "be tolerant of errors"
 msgstr "var tolerant vid fel"
 
-#: ../cli.py:1649
+#: ../cli.py:2279
 msgid "run entirely from system cache, don't update cache"
 msgstr "kör helt från systemets cache, uppdatera inte cachen"
 
-#: ../cli.py:1652
+#: ../cli.py:2282
 msgid "config file location"
 msgstr "konfigurationsfilens plats"
 
-#: ../cli.py:1655
+#: ../cli.py:2285
 msgid "maximum command wait time"
 msgstr "maximal tid att vänta på kommandon"
 
-#: ../cli.py:1657
+#: ../cli.py:2287
 msgid "debugging output level"
 msgstr "nivå på felsökningsutskrifter"
 
-#: ../cli.py:1661
+#: ../cli.py:2291
 msgid "show duplicates, in repos, in list/search commands"
 msgstr "visa dubletter, i förråd, i list-/search-kommandon"
 
-#: ../cli.py:1663
+#: ../cli.py:2296
 msgid "error output level"
 msgstr "nivå på felutskrifter"
 
-#: ../cli.py:1666
+#: ../cli.py:2299
 msgid "debugging output level for rpm"
 msgstr "nivå på felsökningsutskrifter för rpm"
 
-#: ../cli.py:1669
+#: ../cli.py:2302
 msgid "quiet operation"
 msgstr "tyst operation"
 
-#: ../cli.py:1671
+#: ../cli.py:2304
 msgid "verbose operation"
 msgstr "utförlig operation"
 
-#: ../cli.py:1673
+#: ../cli.py:2306
 msgid "answer yes for all questions"
 msgstr "svara ja på alla frågor"
 
-#: ../cli.py:1675
+#: ../cli.py:2308
+msgid "answer no for all questions"
+msgstr "svara nej på alla frågor"
+
+#: ../cli.py:2312
 msgid "show Yum version and exit"
 msgstr "visa Yum-version och avsluta"
 
-#: ../cli.py:1676
+#: ../cli.py:2313
 msgid "set install root"
 msgstr "ange installationsrot"
 
-#: ../cli.py:1680
+#: ../cli.py:2317
 msgid "enable one or more repositories (wildcards allowed)"
-msgstr "aktivera ett eller flera förråd (jokrertecken tillåts)"
+msgstr "aktivera ett eller flera förråd (jokertecken tillåts)"
 
-#: ../cli.py:1684
+#: ../cli.py:2321
 msgid "disable one or more repositories (wildcards allowed)"
 msgstr "inaktivera ett eller flera förråd (jokertecken tillåts)"
 
-#: ../cli.py:1687
+#: ../cli.py:2324
 msgid "exclude package(s) by name or glob"
 msgstr "uteslut paket via namn eller mönster"
 
-#: ../cli.py:1689
+#: ../cli.py:2326
 msgid "disable exclude from main, for a repo or for everything"
 msgstr "inaktivera uteslutningar från main, för ett förråd, eller för allt"
 
-#: ../cli.py:1692
+#: ../cli.py:2329
 msgid "enable obsoletes processing during updates"
 msgstr "aktivera bearbetning av utfasningar under uppdateringar"
 
-#: ../cli.py:1694
+#: ../cli.py:2331
 msgid "disable Yum plugins"
 msgstr "inaktivera Yum-insticksmoduler"
 
-#: ../cli.py:1696
+#: ../cli.py:2333
 msgid "disable gpg signature checking"
 msgstr "inaktivera kontroll av gpg-signatur"
 
-#: ../cli.py:1698
+#: ../cli.py:2335
 msgid "disable plugins by name"
 msgstr "inaktivera insticksmoduler efter namn"
 
-#: ../cli.py:1701
+#: ../cli.py:2338
 msgid "enable plugins by name"
 msgstr "aktivera insticksmoduler efter namn"
 
-#: ../cli.py:1704
+#: ../cli.py:2341
 msgid "skip packages with depsolving problems"
 msgstr "hoppa över paket med problem vid beroendeupplösning"
 
-#: ../cli.py:1706
+#: ../cli.py:2343
 msgid "control whether color is used"
 msgstr "styr om färg skall användas"
 
-#: ../cli.py:1708
+#: ../cli.py:2345
 msgid "set value of $releasever in yum config and repo files"
 msgstr "sätt värdet på $releasever i yum-konfigurations- och repo-filer"
 
-#: ../cli.py:1710
+#: ../cli.py:2347
+msgid "don't update, just download"
+msgstr ""
+
+#: ../cli.py:2349
+msgid "specifies an alternate directory to store packages"
+msgstr ""
+
+#: ../cli.py:2351
 msgid "set arbitrary config and repo options"
 msgstr "sätt godtyckliga konfigurations- och förrådsalternativ"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Jan"
 msgstr "jan"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Feb"
 msgstr "feb"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Mar"
 msgstr "mar"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Apr"
 msgstr "apr"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "May"
 msgstr "maj"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Jun"
 msgstr "jun"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Jul"
 msgstr "jul"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Aug"
 msgstr "aug"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Sep"
 msgstr "sep"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Oct"
 msgstr "okt"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Nov"
 msgstr "nov"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Dec"
 msgstr "dec"
 
-#: ../output.py:318
+#: ../output.py:473
 msgid "Trying other mirror."
 msgstr "Försöker med en annan spegel."
 
-#: ../output.py:581
+#: ../output.py:816
 #, python-format
 msgid "Name        : %s%s%s"
 msgstr "Namn        : %s%s%s"
 
-#: ../output.py:582
+#: ../output.py:817
 #, python-format
 msgid "Arch        : %s"
 msgstr "Arkitektur  : %s"
 
-#: ../output.py:584
+#: ../output.py:819
 #, python-format
 msgid "Epoch       : %s"
 msgstr "Epok        : %s"
 
-#: ../output.py:585
+#: ../output.py:820
 #, python-format
 msgid "Version     : %s"
 msgstr "Version     : %s"
 
-#: ../output.py:586
+#: ../output.py:821
 #, python-format
 msgid "Release     : %s"
 msgstr "Utgåva      : %s"
 
-#: ../output.py:587
+#: ../output.py:822
 #, python-format
 msgid "Size        : %s"
 msgstr "Storlek     : %s"
 
-#: ../output.py:588 ../output.py:900
+#: ../output.py:823 ../output.py:1329
 #, python-format
 msgid "Repo        : %s"
 msgstr "Förråd      : %s"
 
-#: ../output.py:590
+#: ../output.py:825
 #, python-format
 msgid "From repo   : %s"
 msgstr "Från förråd : %s"
 
-#: ../output.py:592
+#: ../output.py:827
 #, python-format
 msgid "Committer   : %s"
 msgstr "Verkställare: %s"
 
-#: ../output.py:593
+#: ../output.py:828
 #, python-format
 msgid "Committime  : %s"
 msgstr "Verkställt  : %s"
 
-#: ../output.py:594
+#: ../output.py:829
 #, python-format
 msgid "Buildtime   : %s"
 msgstr "Byggt       : %s"
 
-#: ../output.py:596
+#: ../output.py:831
 #, python-format
 msgid "Install time: %s"
 msgstr "Installerat : %s"
 
-#: ../output.py:604
+#: ../output.py:839
 #, python-format
 msgid "Installed by: %s"
 msgstr "Installerat av: %s"
 
-#: ../output.py:611
+#: ../output.py:846
 #, python-format
 msgid "Changed by  : %s"
 msgstr "Ändrat av   : %s"
 
-#: ../output.py:612
+#: ../output.py:847
 msgid "Summary     : "
 msgstr "Sammandrag  : "
 
-#: ../output.py:614 ../output.py:913
+#: ../output.py:849 ../output.py:1345
 #, python-format
 msgid "URL         : %s"
 msgstr "URL         : %s"
 
-#: ../output.py:615
+#: ../output.py:850
 msgid "License     : "
 msgstr "Licens      : "
 
-#: ../output.py:616 ../output.py:910
+#: ../output.py:851 ../output.py:1342
 msgid "Description : "
 msgstr "Beskrivning : "
 
-#: ../output.py:684
+#: ../output.py:969
 msgid "y"
 msgstr "j"
 
-#: ../output.py:684
+#: ../output.py:969
 msgid "yes"
 msgstr "ja"
 
-#: ../output.py:685
+#: ../output.py:970
 msgid "n"
 msgstr "n"
 
-#: ../output.py:685
+#: ../output.py:970
 msgid "no"
 msgstr "nej"
 
-#: ../output.py:689
+#: ../output.py:974
 msgid "Is this ok [y/N]: "
 msgstr "Är detta ok [j/N]: "
 
-#: ../output.py:777
+#: ../output.py:1097
 #, python-format
 msgid ""
 "\n"
 "Group: %s"
-msgstr ""
-"\n"
-"Grupp: %s"
+msgstr "\nGrupp: %s"
 
-#: ../output.py:781
+#: ../output.py:1101
 #, python-format
 msgid " Group-Id: %s"
 msgstr " Grupp-id: %s"
 
-#: ../output.py:786
+#: ../output.py:1122 ../output.py:1169
 #, python-format
 msgid " Description: %s"
 msgstr " Beskrivning: %s"
 
-#: ../output.py:788
+#: ../output.py:1124
 #, python-format
 msgid " Language: %s"
 msgstr " Språk: %s"
 
-#: ../output.py:790
+#: ../output.py:1126
 msgid " Mandatory Packages:"
 msgstr " Obligatoriska paket:"
 
-#: ../output.py:791
+#: ../output.py:1127
 msgid " Default Packages:"
 msgstr " Standardpaket:"
 
-#: ../output.py:792
+#: ../output.py:1128
 msgid " Optional Packages:"
 msgstr " Valfria paket:"
 
-#: ../output.py:793
+#: ../output.py:1129
 msgid " Conditional Packages:"
 msgstr " Villkorliga paket:"
 
-#: ../output.py:814
+#: ../output.py:1147
+msgid " Installed Packages:"
+msgstr ""
+
+#: ../output.py:1157
+#, python-format
+msgid ""
+"\n"
+"Environment Group: %s"
+msgstr ""
+
+#: ../output.py:1158
+#, python-format
+msgid " Environment-Id: %s"
+msgstr ""
+
+#: ../output.py:1191
+msgid " Mandatory Groups:"
+msgstr ""
+
+#: ../output.py:1192
+msgid " Optional Groups:"
+msgstr ""
+
+#: ../output.py:1205
+msgid " Installed Groups:"
+msgstr ""
+
+#: ../output.py:1217
 #, python-format
 msgid "package: %s"
 msgstr "paket: %s"
 
-#: ../output.py:816
+#: ../output.py:1219
 msgid "  No dependencies for this package"
 msgstr "  Inga beroenden för detta paket"
 
-#: ../output.py:821
+#: ../output.py:1224
 #, python-format
 msgid "  dependency: %s"
 msgstr "  beroende: %s"
 
-#: ../output.py:823
+#: ../output.py:1226
 msgid "   Unsatisfied dependency"
 msgstr "   Ej uppfyllt beroende"
 
-#: ../output.py:901
+#: ../output.py:1337
 msgid "Matched from:"
 msgstr "Matchat från:"
 
-#: ../output.py:916
+#: ../output.py:1348
 #, python-format
 msgid "License     : %s"
 msgstr "Licens      : %s"
 
-#: ../output.py:919
+#: ../output.py:1351
 #, python-format
 msgid "Filename    : %s"
 msgstr "Filnamn     : %s"
 
-#: ../output.py:923
+#: ../output.py:1360
+msgid "Provides    : "
+msgstr ""
+
+#: ../output.py:1363
 msgid "Other       : "
 msgstr "Övrigt      : "
 
-#: ../output.py:966
+#: ../output.py:1426
 msgid "There was an error calculating total download size"
 msgstr "Ett fel uppstod vid beräkningen av total storlek att hämta"
 
-#: ../output.py:971
+#: ../output.py:1431
 #, python-format
 msgid "Total size: %s"
 msgstr "Total storlek: %s"
 
-#: ../output.py:974
+#: ../output.py:1433
 #, python-format
 msgid "Total download size: %s"
 msgstr "Total storlek att hämta: %s"
 
-#: ../output.py:978 ../output.py:998
+#: ../output.py:1436 ../output.py:1459 ../output.py:1463
 #, python-format
 msgid "Installed size: %s"
 msgstr "Installerad storlek: %s"
 
-#: ../output.py:994
+#: ../output.py:1454
 msgid "There was an error calculating installed size"
 msgstr "Ett fel uppstod vid beräkningen av installerad storlek"
 
-#: ../output.py:1039
+#: ../output.py:1504
 msgid "Reinstalling"
 msgstr "Ominstallerar"
 
-#: ../output.py:1040
+#: ../output.py:1505
 msgid "Downgrading"
 msgstr "Nedgraderar"
 
-#: ../output.py:1041
+#: ../output.py:1506
 msgid "Installing for dependencies"
 msgstr "Installerar på grund av beroenden"
 
-#: ../output.py:1042
+#: ../output.py:1507
 msgid "Updating for dependencies"
 msgstr "Uppdaterar på grund av beroenden"
 
-#: ../output.py:1043
+#: ../output.py:1508
 msgid "Removing for dependencies"
 msgstr "Tar bort på grund av beroenden"
 
-#: ../output.py:1050 ../output.py:1171
+#: ../output.py:1515 ../output.py:1576 ../output.py:1672
 msgid "Skipped (dependency problems)"
 msgstr "Hoppas över (beroendeproblem)"
 
-#: ../output.py:1052 ../output.py:1687
+#: ../output.py:1517 ../output.py:1577 ../output.py:2223
 msgid "Not installed"
 msgstr "Inte installerat"
 
-#: ../output.py:1053
+#: ../output.py:1518 ../output.py:1578
 msgid "Not available"
-msgstr ""
+msgstr "Ej tillgängliga"
 
-#: ../output.py:1075 ../output.py:2024
+#: ../output.py:1540 ../output.py:1588 ../output.py:1604 ../output.py:2581
 msgid "Package"
-msgstr "Paket"
+msgid_plural "Packages"
+msgstr[0] "Paket"
+msgstr[1] "Paket"
 
-#: ../output.py:1075
+#: ../output.py:1540
 msgid "Arch"
 msgstr "Ark"
 
-#: ../output.py:1076
+#: ../output.py:1541
 msgid "Version"
 msgstr "Version"
 
-#: ../output.py:1076
+#: ../output.py:1541
 msgid "Repository"
 msgstr "Förråd"
 
-#: ../output.py:1077
+#: ../output.py:1542
 msgid "Size"
 msgstr "Storl."
 
-#: ../output.py:1089
+#: ../output.py:1554
 #, python-format
 msgid "     replacing  %s%s%s.%s %s\n"
 msgstr "     ersätter  %s%s%s.%s %s\n"
 
-#: ../output.py:1098
+#: ../output.py:1563
 #, python-format
 msgid ""
 "\n"
 "Transaction Summary\n"
 "%s\n"
-msgstr ""
-"\n"
-"Transaktionssammanfattning\n"
-"%s\n"
+msgstr "\nTransaktionssammanfattning\n%s\n"
 
-#: ../output.py:1109
-#, python-format
-msgid "Install   %5.5s Package(s)\n"
-msgstr "Installerar   %5.5s paket\n"
+#: ../output.py:1568 ../output.py:2376 ../output.py:2377
+msgid "Install"
+msgstr "Installera"
 
-#: ../output.py:1113
-#, python-format
-msgid "Upgrade   %5.5s Package(s)\n"
-msgstr "Uppdaterar    %5.5s Paket\n"
+#: ../output.py:1570
+msgid "Upgrade"
+msgstr "Uppgradera"
 
-#: ../output.py:1117
-#, python-format
-msgid "Remove    %5.5s Package(s)\n"
-msgstr "Tar bort      %5.5s paket\n"
+#: ../output.py:1572
+msgid "Remove"
+msgstr "Ta bort"
 
-#: ../output.py:1121
-#, python-format
-msgid "Reinstall %5.5s Package(s)\n"
-msgstr "Ominstallerar %5.5s paket\n"
+#: ../output.py:1574 ../output.py:2382
+msgid "Reinstall"
+msgstr "Ominstallation"
 
-#: ../output.py:1125
-#, python-format
-msgid "Downgrade %5.5s Package(s)\n"
-msgstr "Nedgraderar   %5.5s paket\n"
+#: ../output.py:1575 ../output.py:2383
+msgid "Downgrade"
+msgstr "Nedgradering"
+
+#: ../output.py:1606
+msgid "Dependent package"
+msgid_plural "Dependent packages"
+msgstr[0] "Beroende paket"
+msgstr[1] "Beroende paket"
 
-#: ../output.py:1165
+#: ../output.py:1666
 msgid "Removed"
 msgstr "Borttagna"
 
-#: ../output.py:1166
+#: ../output.py:1667
 msgid "Dependency Removed"
 msgstr "Borttagna beroenden"
 
-#: ../output.py:1168
+#: ../output.py:1669
 msgid "Dependency Installed"
 msgstr "Installerade beroenden"
 
-#: ../output.py:1170
+#: ../output.py:1671
 msgid "Dependency Updated"
 msgstr "Uppdaterade beroenden"
 
-#: ../output.py:1172
+#: ../output.py:1673
 msgid "Replaced"
 msgstr "Ersatte"
 
-#: ../output.py:1173
+#: ../output.py:1674
 msgid "Failed"
 msgstr "Misslyckade"
 
 #. Delta between C-c's so we treat as exit
-#: ../output.py:1260
+#: ../output.py:1764
 msgid "two"
 msgstr "två"
 
 #. For translators: This is output like:
 #. Current download cancelled, interrupt (ctrl-c) again within two seconds
 #. to exit.
-#. Where "interupt (ctrl-c) again" and "two" are highlighted.
-#: ../output.py:1271
+#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
+#: ../output.py:1775
 #, python-format
 msgid ""
 "\n"
 " Current download cancelled, %sinterrupt (ctrl-c) again%s within %s%s%s seconds\n"
 "to exit.\n"
-msgstr ""
-"\n"
-" Aktuell nedladdning avbröts, %savbryt (ctrl-c) igen%s inom %s%s%s sekunder\n"
-"för att avsluta.\n"
+msgstr "\n Aktuell nedladdning avbröts, %savbryt (ctrl-c) igen%s inom %s%s%s sekunder\nför att avsluta.\n"
 
-#: ../output.py:1282
+#: ../output.py:1786
 msgid "user interrupt"
 msgstr "avbrott från användaren"
 
-#: ../output.py:1300
+#: ../output.py:1812
 msgid "Total"
 msgstr "Totalt"
 
-#: ../output.py:1322
+#: ../output.py:1834
 msgid "I"
 msgstr "I"
 
-#: ../output.py:1323
+#: ../output.py:1835
 msgid "O"
 msgstr "UF"
 
-#: ../output.py:1324
+#: ../output.py:1836
 msgid "E"
 msgstr "R"
 
-#: ../output.py:1325
+#: ../output.py:1837
 msgid "R"
 msgstr "O"
 
-#: ../output.py:1326
+#: ../output.py:1838
 msgid "D"
 msgstr "N"
 
-#: ../output.py:1327
+#: ../output.py:1839
 msgid "U"
 msgstr "U"
 
-#: ../output.py:1341
+#: ../output.py:1853
 msgid "<unset>"
 msgstr "<ej satt>"
 
-#: ../output.py:1342
+#: ../output.py:1854
 msgid "System"
 msgstr "System"
 
-#: ../output.py:1411
+#: ../output.py:1923
 #, python-format
 msgid "Skipping merged transaction %d to %d, as it overlaps"
-msgstr ""
-"Hoppar över sammanslagen transaktion %d till %d, eftersom de överlappar"
+msgstr "Hoppar över sammanslagen transaktion %d till %d, eftersom de överlappar"
 
-#: ../output.py:1421 ../output.py:1592
+#: ../output.py:1933 ../output.py:2125
 msgid "No transactions"
 msgstr "Inga transaktioner"
 
-#: ../output.py:1446 ../output.py:2013
+#: ../output.py:1958 ../output.py:2570 ../output.py:2660
 msgid "Bad transaction IDs, or package(s), given"
 msgstr "Felaktiga transaktions ID:n, eller paket, angivna"
 
-#: ../output.py:1484
+#: ../output.py:2007
 msgid "Command line"
 msgstr "Kommandorad"
 
-#: ../output.py:1486 ../output.py:1908
+#: ../output.py:2009 ../output.py:2458
 msgid "Login user"
 msgstr "Inloggad användare"
 
 #. REALLY Needs to use columns!
-#: ../output.py:1487 ../output.py:2022
+#: ../output.py:2010 ../output.py:2579
 msgid "ID"
 msgstr "ID"
 
-#: ../output.py:1489
+#: ../output.py:2012
 msgid "Date and time"
 msgstr "Datum och tid"
 
-#: ../output.py:1490 ../output.py:1910 ../output.py:2023
+#: ../output.py:2013 ../output.py:2460 ../output.py:2580
 msgid "Action(s)"
 msgstr "Åtgärd(er)"
 
-#: ../output.py:1491 ../output.py:1911
+#: ../output.py:2014 ../output.py:2461
 msgid "Altered"
 msgstr "Ändrade"
 
-#: ../output.py:1538
+#: ../output.py:2061
 msgid "No transaction ID given"
 msgstr "Inget transaktions-ID angivet"
 
-#: ../output.py:1564 ../output.py:1972
+#: ../output.py:2087 ../output.py:2526
 msgid "Bad transaction ID given"
 msgstr "Felaktigt transaktions-ID angivet"
 
-#: ../output.py:1569
+#: ../output.py:2092
 msgid "Not found given transaction ID"
 msgstr "Hittade inte angivet transaktions-ID"
 
-#: ../output.py:1577
+#: ../output.py:2100
 msgid "Found more than one transaction ID!"
 msgstr "Hittade mer än ett transaktions-ID!"
 
-#: ../output.py:1618 ../output.py:1980
+#: ../output.py:2151 ../output.py:2534
 msgid "No transaction ID, or package, given"
 msgstr "Inget transaktions-ID, eller paket, angivet"
 
-#: ../output.py:1686 ../output.py:1845
+#: ../output.py:2222 ../output.py:2384
 msgid "Downgraded"
 msgstr "Nedgraderade"
 
-#: ../output.py:1688
+#: ../output.py:2224
 msgid "Older"
 msgstr "Äldre"
 
-#: ../output.py:1688
+#: ../output.py:2224
 msgid "Newer"
 msgstr "Nyare"
 
-#: ../output.py:1724 ../output.py:1726
+#: ../output.py:2261 ../output.py:2263 ../output.py:2681
 msgid "Transaction ID :"
 msgstr "Transaktions-ID:"
 
-#: ../output.py:1728
+#: ../output.py:2265 ../output.py:2683
 msgid "Begin time     :"
 msgstr "Starttid       :"
 
-#: ../output.py:1731 ../output.py:1733
+#: ../output.py:2268 ../output.py:2270
 msgid "Begin rpmdb    :"
 msgstr "Start-rpmdb    :"
 
-#: ../output.py:1749
+#: ../output.py:2286
 #, python-format
 msgid "(%u seconds)"
 msgstr "(%u sekunder)"
 
-#: ../output.py:1751
+#: ../output.py:2288
 #, python-format
 msgid "(%u minutes)"
 msgstr "(%u minuter)"
 
-#: ../output.py:1753
+#: ../output.py:2290
 #, python-format
 msgid "(%u hours)"
 msgstr "(%u timmar)"
 
-#: ../output.py:1755
+#: ../output.py:2292
 #, python-format
 msgid "(%u days)"
 msgstr "(%u dagar)"
 
-#: ../output.py:1756
+#: ../output.py:2293
 msgid "End time       :"
 msgstr "Sluttid        : "
 
-#: ../output.py:1759 ../output.py:1761
+#: ../output.py:2296 ../output.py:2298
 msgid "End rpmdb      :"
 msgstr "Slut-rpmdb     :"
 
-#: ../output.py:1764 ../output.py:1766
+#: ../output.py:2301 ../output.py:2303
 msgid "User           :"
 msgstr "Användare      :"
 
-#: ../output.py:1770 ../output.py:1773 ../output.py:1775 ../output.py:1777
-#: ../output.py:1779
+#: ../output.py:2307 ../output.py:2310 ../output.py:2312 ../output.py:2314
+#: ../output.py:2316
 msgid "Return-Code    :"
 msgstr "Returkod       :"
 
-#: ../output.py:1770 ../output.py:1775
+#: ../output.py:2307 ../output.py:2312
 msgid "Aborted"
 msgstr "Avbruten"
 
-#: ../output.py:1773
+#: ../output.py:2310
 msgid "Failures:"
 msgstr "Misslyckanden:"
 
-#: ../output.py:1777
+#: ../output.py:2314
 msgid "Failure:"
 msgstr "Misslyckades:"
 
-#: ../output.py:1779
+#: ../output.py:2316
 msgid "Success"
 msgstr "Lyckades"
 
-#: ../output.py:1784 ../output.py:1786
+#: ../output.py:2321 ../output.py:2323 ../output.py:2712
 msgid "Command Line   :"
 msgstr "Kommandoradsfel:"
 
-#: ../output.py:1795
+#: ../output.py:2332
 #, python-format
 msgid "Additional non-default information stored: %d"
 msgstr "Ytterligare icke-standardinformation lagrad: %d"
 
 #. This is _possible_, but not common
-#: ../output.py:1800
+#: ../output.py:2337
 msgid "Transaction performed with:"
 msgstr "Transaktionen utförd med:"
 
-#: ../output.py:1804
+#: ../output.py:2341
 msgid "Packages Altered:"
 msgstr "Ändrade paket:"
 
-#: ../output.py:1808
+#: ../output.py:2345
 msgid "Packages Skipped:"
 msgstr "Överhoppade paket:"
 
-#: ../output.py:1814
+#: ../output.py:2353
 msgid "Rpmdb Problems:"
 msgstr "Rpmdb-problem:"
 
-#: ../output.py:1825
+#: ../output.py:2364
 msgid "Scriptlet output:"
 msgstr "Skriptutdata:"
 
-#: ../output.py:1831
+#: ../output.py:2370
 msgid "Errors:"
 msgstr "Fel:"
 
-#: ../output.py:1837 ../output.py:1838
-msgid "Install"
-msgstr "Installation"
-
-#: ../output.py:1839
+#: ../output.py:2378
 msgid "Dep-Install"
 msgstr "Ber-inst"
 
-#: ../output.py:1841
+#: ../output.py:2380
 msgid "Obsoleting"
 msgstr "Fasar ut"
 
-#: ../output.py:1842
+#: ../output.py:2381
 msgid "Erase"
 msgstr "Radering"
 
-#: ../output.py:1843
-msgid "Reinstall"
-msgstr "Ominstallation"
-
-#: ../output.py:1844
-msgid "Downgrade"
-msgstr "Nedgradering"
-
-#: ../output.py:1846
+#: ../output.py:2385
 msgid "Update"
 msgstr "Uppdatering"
 
-#: ../output.py:1909
+#: ../output.py:2459
 msgid "Time"
 msgstr "Tid"
 
-#: ../output.py:1935
+#: ../output.py:2485
 msgid "Last day"
 msgstr "Senaste dagen"
 
-#: ../output.py:1936
+#: ../output.py:2486
 msgid "Last week"
 msgstr "Senaste veckan"
 
-#: ../output.py:1937
+#: ../output.py:2487
 msgid "Last 2 weeks"
 msgstr "Senaste 2 veckorna"
 
 #. US default :p
-#: ../output.py:1938
+#: ../output.py:2488
 msgid "Last 3 months"
 msgstr "Senaste 3 månaderna"
 
-#: ../output.py:1939
+#: ../output.py:2489
 msgid "Last 6 months"
 msgstr "Senaste 6 månaderna"
 
-#: ../output.py:1940
+#: ../output.py:2490
 msgid "Last year"
 msgstr "Senaste året"
 
-#: ../output.py:1941
+#: ../output.py:2491
 msgid "Over a year ago"
 msgstr "Mer än ett år tillbaka"
 
-#: ../output.py:1984
+#: ../output.py:2538
 #, python-format
 msgid "No Transaction %s found"
 msgstr "Ingen transaktion %s funnen"
 
-#: ../output.py:1990
+#: ../output.py:2544
 msgid "Transaction ID:"
 msgstr "Transaktions-ID:"
 
-#: ../output.py:1991
+#: ../output.py:2545
 msgid "Available additional history information:"
 msgstr "Tillgänglig ytterligare historieinformation"
 
-#: ../output.py:2003
+#: ../output.py:2558
 #, python-format
 msgid "%s: No additional data found by this name"
 msgstr "%s: Inga ytterligare data finns med detta namn"
 
-#: ../output.py:2106
+#: ../output.py:2684
+msgid "Package        :"
+msgstr "Paket          :"
+
+#: ../output.py:2685
+msgid "State          :"
+msgstr "Tillstånd      :"
+
+#: ../output.py:2688
+msgid "Size           :"
+msgstr "Storlek        :"
+
+#: ../output.py:2690
+msgid "Build host     :"
+msgstr "Byggvärd       :"
+
+#: ../output.py:2693
+msgid "Build time     :"
+msgstr "Byggtid        :"
+
+#: ../output.py:2695
+msgid "Packager       :"
+msgstr "Paketerare     : "
+
+#: ../output.py:2697
+msgid "Vendor         :"
+msgstr "Leverantör     :"
+
+#: ../output.py:2699
+msgid "License        :"
+msgstr "Licens         : "
+
+#: ../output.py:2701
+msgid "URL            :"
+msgstr "URL            :"
+
+#: ../output.py:2703
+msgid "Source RPM     :"
+msgstr "Käll-RPM       : "
+
+#: ../output.py:2706
+msgid "Commit Time    :"
+msgstr "Verkställt     :"
+
+#: ../output.py:2708
+msgid "Committer      :"
+msgstr "Verkställare   :"
+
+#: ../output.py:2710
+msgid "Reason         :"
+msgstr "Orsak          :"
+
+#: ../output.py:2714
+msgid "From repo      :"
+msgstr "Från förråd    :"
+
+#: ../output.py:2718
+msgid "Installed by   :"
+msgstr "Installerat av :"
+
+#: ../output.py:2722
+msgid "Changed by     :"
+msgstr "Ändrat av      :"
+
+#: ../output.py:2767
 msgid "installed"
 msgstr "installerat"
 
-#: ../output.py:2107
+#: ../output.py:2768
 msgid "an update"
 msgstr "en uppdatering"
 
-#: ../output.py:2108
+#: ../output.py:2769
 msgid "erased"
 msgstr "raderat"
 
-#: ../output.py:2109
+#: ../output.py:2770
 msgid "reinstalled"
 msgstr "ominstallerat"
 
-#: ../output.py:2110
+#: ../output.py:2771
 msgid "a downgrade"
 msgstr "en nedgradering"
 
-#: ../output.py:2111
+#: ../output.py:2772
 msgid "obsoleting"
 msgstr "utfasning"
 
-#: ../output.py:2112
+#: ../output.py:2773
 msgid "updated"
 msgstr "uppdaterat"
 
-#: ../output.py:2113
+#: ../output.py:2774
 msgid "obsoleted"
 msgstr "utfasat"
 
-#: ../output.py:2117
+#: ../output.py:2778
 #, python-format
 msgid "---> Package %s.%s %s:%s-%s will be %s"
 msgstr "---> Paket %s.%s %s:%s-%s blir %s"
 
-#: ../output.py:2124
+#: ../output.py:2789
 msgid "--> Running transaction check"
 msgstr "--> Kör transaktionskontroll"
 
-#: ../output.py:2129
+#: ../output.py:2795
 msgid "--> Restarting Dependency Resolution with new changes."
 msgstr "--> Startar om beroendeupplösning med nya ändringar."
 
-#: ../output.py:2134
+#: ../output.py:2801
 msgid "--> Finished Dependency Resolution"
 msgstr "--> Avslutade beroendeupplösning"
 
-#: ../output.py:2139 ../output.py:2144
+#: ../output.py:2814 ../output.py:2827
 #, python-format
 msgid "--> Processing Dependency: %s for package: %s"
 msgstr "--> Bearbetar beroende: %s för paket: %s"
 
-#: ../output.py:2149
+#: ../output.py:2841
 #, python-format
-msgid "---> Keeping package: %s"
-msgstr "---> Behåller paketet: %s"
+msgid "---> Keeping package: %s due to %s"
+msgstr ""
 
-#: ../output.py:2152
+#: ../output.py:2850
 #, python-format
 msgid "--> Unresolved Dependency: %s"
 msgstr "--> Ej upplöst beroende: %s"
 
-#: ../output.py:2163
+#: ../output.py:2867
 #, python-format
 msgid "Package: %s"
 msgstr "Paket: %s"
 
-#: ../output.py:2165
+#: ../output.py:2869
 #, python-format
 msgid ""
 "\n"
 "    Requires: %s"
-msgstr ""
-"\n"
-"    Behöver: %s"
+msgstr "\n    Behöver: %s"
 
-#: ../output.py:2174
+#: ../output.py:2878
 #, python-format
 msgid ""
 "\n"
 "    %s: %s (%s)"
-msgstr ""
-"\n"
-"    %s: %s (%s)"
+msgstr "\n    %s: %s (%s)"
 
-#: ../output.py:2179
+#: ../output.py:2883
 #, python-format
 msgid ""
 "\n"
 "        %s"
-msgstr ""
-"\n"
-"        %s"
+msgstr "\n        %s"
 
-#: ../output.py:2181
+#: ../output.py:2885
 msgid ""
 "\n"
 "        Not found"
-msgstr ""
-"\n"
-"        Finns inte"
+msgstr "\n        Finns inte"
 
 #. These should be the only three things we care about:
-#: ../output.py:2196
+#: ../output.py:2900
 msgid "Updated By"
 msgstr "Uppdaterat av"
 
-#: ../output.py:2197
+#: ../output.py:2901
 msgid "Downgraded By"
 msgstr "Nedgraderat av"
 
-#: ../output.py:2198
+#: ../output.py:2902
 msgid "Obsoleted By"
 msgstr "Utfasat av"
 
-#: ../output.py:2216
+#: ../output.py:2920
 msgid "Available"
 msgstr "Tillgängliga"
 
-#: ../output.py:2243 ../output.py:2248
+#: ../output.py:2955 ../output.py:2968
 #, python-format
 msgid "--> Processing Conflict: %s conflicts %s"
 msgstr "--> Bearbetar konflikt: %s står i konflikt med %s"
 
-#: ../output.py:2252
+#: ../output.py:2974
 msgid "--> Populating transaction set with selected packages. Please wait."
 msgstr "--> Fyller transaktionsmängden med valda paket.  Var god dröj."
 
-#: ../output.py:2256
+#: ../output.py:2983
 #, python-format
 msgid "---> Downloading header for %s to pack into transaction set."
 msgstr "---> Hämtar huvud för %s för att paketera i transaktionsmängden."
 
-#: ../utils.py:99
+#. self.event(txmbr.name, count, len(base.tsInfo), count, )
+#. (te_current*100L)/te_total
+#: ../output.py:3248
+msgid "Verifying"
+msgstr "Verifierar"
+
+#: ../utils.py:123
 msgid "Running"
 msgstr "Kör"
 
-#: ../utils.py:100
+#: ../utils.py:124
 msgid "Sleeping"
 msgstr "Sover"
 
-#: ../utils.py:101
+#: ../utils.py:125
 msgid "Uninterruptible"
 msgstr "Oavbrytbar"
 
-#: ../utils.py:102
+#: ../utils.py:126
 msgid "Zombie"
 msgstr "Zombie"
 
-#: ../utils.py:103
+#: ../utils.py:127
 msgid "Traced/Stopped"
 msgstr "Spårad/Stoppad"
 
-#: ../utils.py:104 ../yumcommands.py:994
+#: ../utils.py:128 ../yumcommands.py:2193
 msgid "Unknown"
 msgstr "Okänd"
 
-#: ../utils.py:115
+#: ../utils.py:153
 msgid "  The other application is: PackageKit"
 msgstr "  Det andra programmet är: PackageKit"
 
-#: ../utils.py:117
+#: ../utils.py:155
 #, python-format
 msgid "  The other application is: %s"
 msgstr "  Det andra programmet är: %s"
 
-#: ../utils.py:120
+#: ../utils.py:158
 #, python-format
 msgid "    Memory : %5s RSS (%5sB VSZ)"
 msgstr "    Minne   : %5s RSS (%5s B VSZ)"
 
-#: ../utils.py:125
+#: ../utils.py:163
 #, python-format
 msgid "    Started: %s - %s ago"
 msgstr "    Startade: %s - för %s sedan"
 
-#: ../utils.py:127
+#: ../utils.py:165
 #, python-format
 msgid "    State  : %s, pid: %d"
 msgstr "    Status  : %s, pid: %d"
 
-#: ../utils.py:170 ../yummain.py:43
+#: ../utils.py:194 ../yummain.py:43
 msgid ""
 "\n"
 "\n"
 "Exiting on user cancel"
-msgstr ""
-"\n"
-"\n"
-"Slutar efter att användaren avbröt"
+msgstr "\n\nSlutar efter att användaren avbröt"
 
-#: ../utils.py:176 ../yummain.py:49
+#: ../utils.py:206 ../yummain.py:49
 msgid ""
 "\n"
 "\n"
 "Exiting on Broken Pipe"
-msgstr ""
-"\n"
-"\n"
-"Slutar med brutet rör (pipe)"
+msgstr "\n\nSlutar med brutet rör (pipe)"
 
-#: ../utils.py:178 ../yummain.py:51
+#: ../utils.py:208 ../yummain.py:51
 #, python-format
 msgid ""
 "\n"
 "\n"
 "%s"
-msgstr ""
-"\n"
-"\n"
-"%s"
+msgstr "\n\n%s"
 
-#: ../utils.py:228 ../yummain.py:123
-msgid ""
-"Another app is currently holding the yum lock; exiting as configured by "
-"exit_on_lock"
-msgstr ""
-"Ett annat program håller för närvarande yum-låset, avslutar som konfigurerad"
-" av exit_on_lock"
-
-#: ../utils.py:287
+#: ../utils.py:326
 #, python-format
 msgid "PluginExit Error: %s"
 msgstr "Insticksmodulsavslutsfel: %s"
 
-#: ../utils.py:290
+#: ../utils.py:329
 #, python-format
 msgid "Yum Error: %s"
 msgstr "Yum-fel: %s"
 
-#: ../utils.py:342 ../yummain.py:150 ../yummain.py:189
+#: ../utils.py:387 ../yummain.py:147 ../yummain.py:186
 #, python-format
 msgid "Error: %s"
 msgstr "Fel: %s"
 
-#: ../utils.py:346 ../yummain.py:194
+#: ../utils.py:391 ../yummain.py:191
 msgid " You could try using --skip-broken to work around the problem"
 msgstr " Du kan försöka använda --skip-broken för att gå runt problemet"
 
-#: ../utils.py:348 ../yummain.py:87
+#: ../utils.py:393 ../yummain.py:87
 msgid " You could try running: rpm -Va --nofiles --nodigest"
 msgstr " Du kan försöka köra: rpm -Va --nofiles --nodigest"
 
-#: ../utils.py:355 ../yummain.py:160 ../yummain.py:202
+#: ../utils.py:400 ../yummain.py:157 ../yummain.py:199
 #, python-format
 msgid "Unknown Error(s): Exit Code: %d:"
 msgstr "Okänt fel: Felkod: %d:"
 
-#: ../utils.py:361 ../yummain.py:208
+#: ../utils.py:406 ../yummain.py:205
 msgid ""
 "\n"
 "Dependencies Resolved"
-msgstr ""
-"\n"
-"Beroenden upplösta"
+msgstr "\nBeroenden upplösta"
 
-#: ../utils.py:376 ../yummain.py:234
+#: ../utils.py:422 ../yummain.py:237
 msgid "Complete!"
 msgstr "Klart!"
 
@@ -1519,7 +1652,7 @@ msgstr " Minianvändning:\n"
 msgid "You need to be root to perform this command."
 msgstr "Du måste vara root för att utföra detta kommando."
 
-#: ../yumcommands.py:59
+#: ../yumcommands.py:67
 msgid ""
 "\n"
 "You have enabled checking of packages via GPG keys. This is a good thing. \n"
@@ -1534,585 +1667,650 @@ msgid ""
 "will install it for you.\n"
 "\n"
 "For more information contact your distribution or package provider.\n"
-msgstr ""
-"\n"
-"Du har aktiverat kontroll av paket med GPG-nycklar.  Det är bra.  Doch har\n"
-"du inte några publika GPG-nycklar installerade.  Du behöver hämta nycklarna\n"
-"för paket som du vill installera och installera dem.\n"
-"Du kan göra det genom att köra kommandot:\n"
-"    rpm --import public.gpg.key\n"
-"\n"
-"\n"
-"Alternativt kan du ange URL:en till nyckeln du vill använda för ett förråd\n"
-"i alternativet gpgkey i en förrådssektion och yum kommer installera den åt\n"
-"dig.\n"
-"\n"
-"För mer information, kontakta leverantören av din distribution eller paket.\n"
+msgstr "\nDu har aktiverat kontroll av paket med GPG-nycklar.  Det är bra.  Doch har\ndu inte några publika GPG-nycklar installerade.  Du behöver hämta nycklarna\nför paket som du vill installera och installera dem.\nDu kan göra det genom att köra kommandot:\n    rpm --import public.gpg.key\n\n\nAlternativt kan du ange URL:en till nyckeln du vill använda för ett förråd\ni alternativet gpgkey i en förrådssektion och yum kommer installera den åt\ndig.\n\nFör mer information, kontakta leverantören av din distribution eller paket.\n"
 
-#: ../yumcommands.py:74
+#: ../yumcommands.py:82
 #, python-format
 msgid "Problem repository: %s"
-msgstr ""
+msgstr "Problemförråd     : %s"
 
-#: ../yumcommands.py:80
+#: ../yumcommands.py:96
 #, python-format
 msgid "Error: Need to pass a list of pkgs to %s"
 msgstr "Fel: Behöver skicka en lista paket till %s"
 
-#: ../yumcommands.py:86
+#: ../yumcommands.py:114
+#, python-format
+msgid "Error: Need at least two packages to %s"
+msgstr ""
+
+#: ../yumcommands.py:129
+#, python-format
+msgid "Error: Need to pass a repoid. and command to %s"
+msgstr ""
+
+#: ../yumcommands.py:136 ../yumcommands.py:142
+#, python-format
+msgid "Error: Need to pass a single valid repoid. to %s"
+msgstr ""
+
+#: ../yumcommands.py:147
+#, python-format
+msgid "Error: Repo %s is not enabled"
+msgstr ""
+
+#: ../yumcommands.py:164
 msgid "Error: Need an item to match"
 msgstr "Fel: Behöver något att matcha emot"
 
-#: ../yumcommands.py:92
+#: ../yumcommands.py:178
 msgid "Error: Need a group or list of groups"
 msgstr "Fel: Behöver en grupp eller lista av grupper"
 
-#: ../yumcommands.py:101
+#: ../yumcommands.py:195
 #, python-format
 msgid "Error: clean requires an option: %s"
 msgstr "Fel: clean behöver ett argument: %s"
 
-#: ../yumcommands.py:106
+#: ../yumcommands.py:201
 #, python-format
 msgid "Error: invalid clean argument: %r"
 msgstr "Fel: felaktigt argument till clean: %r"
 
-#: ../yumcommands.py:119
+#: ../yumcommands.py:216
 msgid "No argument to shell"
 msgstr "Inget argument till skalet"
 
-#: ../yumcommands.py:121
+#: ../yumcommands.py:218
 #, python-format
 msgid "Filename passed to shell: %s"
 msgstr "Filnamn skickat till skalet: %s"
 
-#: ../yumcommands.py:125
+#: ../yumcommands.py:222
 #, python-format
 msgid "File %s given as argument to shell does not exist."
 msgstr "Filen %s som gavs som ett argument till skalet finns inte."
 
-#: ../yumcommands.py:131
+#: ../yumcommands.py:228
 msgid "Error: more than one file given as argument to shell."
 msgstr "Fel: mer än en fil angiven som argument till skalet."
 
-#: ../yumcommands.py:148
+#: ../yumcommands.py:247
 msgid ""
 "There are no enabled repos.\n"
 " Run \"yum repolist all\" to see the repos you have.\n"
 " You can enable repos with yum-config-manager --enable <repo>"
-msgstr ""
-"Det finns inga aktiverade förråd.\n"
-" Kör ”yum repolist all” för att se vilka förråd du har.\n"
-" Du kan aktivera förråd med yum-config-manager --enable <förråd>"
+msgstr "Det finns inga aktiverade förråd.\n Kör ”yum repolist all” för att se vilka förråd du har.\n Du kan aktivera förråd med yum-config-manager --enable <förråd>"
 
-#: ../yumcommands.py:200
+#: ../yumcommands.py:383
 msgid "PACKAGE..."
 msgstr "PAKET..."
 
-#: ../yumcommands.py:203
+#: ../yumcommands.py:390
 msgid "Install a package or packages on your system"
 msgstr "Installera ett eller flera paket på ditt system"
 
-#: ../yumcommands.py:212
+#: ../yumcommands.py:421
 msgid "Setting up Install Process"
 msgstr "Förbereder installationsprocessen"
 
-#: ../yumcommands.py:223 ../yumcommands.py:245
+#: ../yumcommands.py:447 ../yumcommands.py:507
 msgid "[PACKAGE...]"
 msgstr "[PAKET...]"
 
-#: ../yumcommands.py:226
+#: ../yumcommands.py:454
 msgid "Update a package or packages on your system"
 msgstr "Uppdatera ett eller flera paket på ditt system"
 
-#: ../yumcommands.py:234
+#: ../yumcommands.py:483
 msgid "Setting up Update Process"
 msgstr "Förbereder uppdateringsprocessen"
 
-#: ../yumcommands.py:248
+#: ../yumcommands.py:514
 msgid "Synchronize installed packages to the latest available versions"
-msgstr ""
-"Synkroniser installerade paket med de senaste tillgängliga versionerna"
+msgstr "Synkroniser installerade paket med de senaste tillgängliga versionerna"
 
-#: ../yumcommands.py:256
+#: ../yumcommands.py:543
 msgid "Setting up Distribution Synchronization Process"
 msgstr "Förbereder distributionssynkroniseringsprocessen"
 
-#: ../yumcommands.py:299
+#: ../yumcommands.py:603
 msgid "Display details about a package or group of packages"
 msgstr "Visa detaljer om ett paket eller en grupp paket"
 
-#: ../yumcommands.py:348
+#: ../yumcommands.py:672
 msgid "Installed Packages"
 msgstr "Installerade paket"
 
-#: ../yumcommands.py:356
+#: ../yumcommands.py:682
 msgid "Available Packages"
 msgstr "Tillgängliga paket"
 
-#: ../yumcommands.py:360
+#: ../yumcommands.py:687
 msgid "Extra Packages"
 msgstr "Extra paket"
 
-#: ../yumcommands.py:364
+#: ../yumcommands.py:691
 msgid "Updated Packages"
 msgstr "Uppdaterade paket"
 
 #. This only happens in verbose mode
-#: ../yumcommands.py:372 ../yumcommands.py:379 ../yumcommands.py:667
+#: ../yumcommands.py:699 ../yumcommands.py:706 ../yumcommands.py:1539
 msgid "Obsoleting Packages"
 msgstr "Fasar ut paket"
 
-#: ../yumcommands.py:381
+#: ../yumcommands.py:708
 msgid "Recently Added Packages"
 msgstr "Nyligen tillagda paket"
 
-#: ../yumcommands.py:388
+#: ../yumcommands.py:715
 msgid "No matching Packages to list"
 msgstr "Inga matchande paket att lista"
 
-#: ../yumcommands.py:402
+#: ../yumcommands.py:766
 msgid "List a package or groups of packages"
 msgstr "Lista ett paket eller en grupp paket"
 
-#: ../yumcommands.py:414
+#: ../yumcommands.py:797
 msgid "Remove a package or packages from your system"
 msgstr "Ta bort ett eller flera paket från ditt system"
 
-#: ../yumcommands.py:421
+#: ../yumcommands.py:845
 msgid "Setting up Remove Process"
 msgstr "Förbereder processen att ta bort"
 
-#: ../yumcommands.py:435
+#: ../yumcommands.py:906
+msgid "Display, or use, the groups information"
+msgstr "Visa, eller använd, gruppinformationen"
+
+#: ../yumcommands.py:909
 msgid "Setting up Group Process"
 msgstr "Förbereder grupprocessen"
 
-#: ../yumcommands.py:441
+#: ../yumcommands.py:915
 msgid "No Groups on which to run command"
 msgstr "Inga grupper att köra kommandot på"
 
-#: ../yumcommands.py:454
-msgid "List available package groups"
-msgstr "Lista tillgängliga paketgrupper"
-
-#: ../yumcommands.py:474
-msgid "Install the packages in a group on your system"
-msgstr "Installera paketen i en grupp på ditt system"
+#: ../yumcommands.py:985
+#, python-format
+msgid "Invalid groups sub-command, use: %s."
+msgstr "Ogiltigt underkommando till group, använd: %s."
 
-#: ../yumcommands.py:497
-msgid "Remove the packages in a group from your system"
-msgstr "Ta bort paketen in en grupp från ditt system"
+#: ../yumcommands.py:992
+msgid "There is no installed groups file."
+msgstr ""
 
-#: ../yumcommands.py:525
-msgid "Display details about a package group"
-msgstr "Visa detaljer om en paketgrupp"
+#: ../yumcommands.py:994
+msgid "You don't have access to the groups DB."
+msgstr ""
 
-#: ../yumcommands.py:550
+#: ../yumcommands.py:1256
 msgid "Generate the metadata cache"
 msgstr "Generera metadata-cache:n"
 
-#: ../yumcommands.py:556
+#: ../yumcommands.py:1282
 msgid "Making cache files for all metadata files."
 msgstr "Skapar cache-filer för alla metadatafiler."
 
-#: ../yumcommands.py:557
+#: ../yumcommands.py:1283
 msgid "This may take a while depending on the speed of this computer"
 msgstr "Detta kan ta ett tag beroende på datorns fart"
 
-#: ../yumcommands.py:578
+#: ../yumcommands.py:1312
 msgid "Metadata Cache Created"
 msgstr "Metadata-cache skapad"
 
-#: ../yumcommands.py:592
+#: ../yumcommands.py:1350
 msgid "Remove cached data"
 msgstr "Ta bort cache:ade data"
 
-#: ../yumcommands.py:613
+#: ../yumcommands.py:1417
 msgid "Find what package provides the given value"
 msgstr "Ta reda på vilka paket som tillhandahåller det angivna värdet"
 
-#: ../yumcommands.py:633
+#: ../yumcommands.py:1485
 msgid "Check for available package updates"
 msgstr "Leta efter tillgängliga paketuppdateringar"
 
-#: ../yumcommands.py:687
+#: ../yumcommands.py:1587
 msgid "Search package details for the given string"
 msgstr "Sök i paketdetaljer efter den angivna strängen"
 
-#: ../yumcommands.py:693
+#: ../yumcommands.py:1613
 msgid "Searching Packages: "
 msgstr "Söker paket: "
 
-#: ../yumcommands.py:710
+#: ../yumcommands.py:1666
 msgid "Update packages taking obsoletes into account"
 msgstr "Uppdatera paket med hänsyn tagen till utfasningar"
 
-#: ../yumcommands.py:719
+#: ../yumcommands.py:1696
 msgid "Setting up Upgrade Process"
 msgstr "Förbereder uppgraderingsprocessen"
 
-#: ../yumcommands.py:737
+#: ../yumcommands.py:1731
 msgid "Install a local RPM"
 msgstr "Installera en lokal RPM"
 
-#: ../yumcommands.py:745
+#: ../yumcommands.py:1761
 msgid "Setting up Local Package Process"
 msgstr "Förbereder den lokala paketprocessen"
 
-#: ../yumcommands.py:764
-msgid "Determine which package provides the given dependency"
-msgstr "Avgör vilket paket som tillhandahåller ett angivet beroende"
-
-#: ../yumcommands.py:767
+#: ../yumcommands.py:1825
 msgid "Searching Packages for Dependency:"
 msgstr "Söker i paketen efter beroende:"
 
-#: ../yumcommands.py:781
+#: ../yumcommands.py:1867
 msgid "Run an interactive yum shell"
 msgstr "Kör ett interactivt yum-skal"
 
-#: ../yumcommands.py:787
+#: ../yumcommands.py:1893
 msgid "Setting up Yum Shell"
 msgstr "Förbereder ett yum-skal"
 
-#: ../yumcommands.py:805
+#: ../yumcommands.py:1936
 msgid "List a package's dependencies"
 msgstr "Lista ett pakets beroenden"
 
-#: ../yumcommands.py:811
+#: ../yumcommands.py:1963
 msgid "Finding dependencies: "
 msgstr "Letar efter beroenden: "
 
-#: ../yumcommands.py:827
+#: ../yumcommands.py:2005
 msgid "Display the configured software repositories"
 msgstr "Visa konfigurerade programvaruförråd"
 
-#: ../yumcommands.py:893 ../yumcommands.py:894
+#: ../yumcommands.py:2094 ../yumcommands.py:2095
 msgid "enabled"
 msgstr "aktivt"
 
-#: ../yumcommands.py:920 ../yumcommands.py:921
+#: ../yumcommands.py:2121 ../yumcommands.py:2122
 msgid "disabled"
 msgstr "inaktivt"
 
-#: ../yumcommands.py:937
+#: ../yumcommands.py:2137
 msgid "Repo-id      : "
 msgstr "Förråds-id      : "
 
-#: ../yumcommands.py:938
+#: ../yumcommands.py:2138
 msgid "Repo-name    : "
 msgstr "Förrådsnamn     : "
 
-#: ../yumcommands.py:941
+#: ../yumcommands.py:2141
 msgid "Repo-status  : "
 msgstr "Förrådsstatus   : "
 
-#: ../yumcommands.py:944
+#: ../yumcommands.py:2144
 msgid "Repo-revision: "
 msgstr "Förrådsversion  : "
 
-#: ../yumcommands.py:948
+#: ../yumcommands.py:2148
 msgid "Repo-tags    : "
 msgstr "Förrådstaggar   : "
 
-#: ../yumcommands.py:954
+#: ../yumcommands.py:2154
 msgid "Repo-distro-tags: "
 msgstr "Förråds-distro-taggar: "
 
-#: ../yumcommands.py:959
+#: ../yumcommands.py:2159
 msgid "Repo-updated : "
 msgstr "Förråd uppdaterat: "
 
-#: ../yumcommands.py:961
+#: ../yumcommands.py:2161
 msgid "Repo-pkgs    : "
 msgstr "Förrådspaket    : "
 
-#: ../yumcommands.py:962
+#: ../yumcommands.py:2162
 msgid "Repo-size    : "
 msgstr "Förrådstorlek   : "
 
-#: ../yumcommands.py:969 ../yumcommands.py:990
+#: ../yumcommands.py:2169 ../yumcommands.py:2190
 msgid "Repo-baseurl : "
 msgstr "Förrådsbasurl   : "
 
-#: ../yumcommands.py:977
+#: ../yumcommands.py:2177
 msgid "Repo-metalink: "
 msgstr "Förrådsmetalänk : "
 
-#: ../yumcommands.py:981
+#: ../yumcommands.py:2181
 msgid "  Updated    : "
 msgstr "  Uppdaterat    :"
 
-#: ../yumcommands.py:984
+#: ../yumcommands.py:2184
 msgid "Repo-mirrors : "
 msgstr "Förrådspeglar   : "
 
-#: ../yumcommands.py:1000
+#: ../yumcommands.py:2199
 #, python-format
 msgid "Never (last: %s)"
 msgstr "Aldrig (senast: %s)"
 
-#: ../yumcommands.py:1002
+#: ../yumcommands.py:2201
 #, python-format
 msgid "Instant (last: %s)"
 msgstr "Omedelbart (senast: %s)"
 
-#: ../yumcommands.py:1005
+#: ../yumcommands.py:2204
 #, python-format
 msgid "%s second(s) (last: %s)"
 msgstr "%s sekunder (senast: %s)"
 
-#: ../yumcommands.py:1007
+#: ../yumcommands.py:2206
 msgid "Repo-expire  : "
 msgstr "Förråd går ut    : "
 
-#: ../yumcommands.py:1010
+#: ../yumcommands.py:2209
 msgid "Repo-exclude : "
 msgstr "Förråd utesluter : "
 
-#: ../yumcommands.py:1014
+#: ../yumcommands.py:2213
 msgid "Repo-include : "
 msgstr "Förråd inkluderar: "
 
-#: ../yumcommands.py:1018
+#: ../yumcommands.py:2217
 msgid "Repo-excluded: "
 msgstr "Förråd uteslutet : "
 
-#: ../yumcommands.py:1022
+#: ../yumcommands.py:2221
 msgid "Repo-filename: "
-msgstr ""
+msgstr "Förrådfilnamn: "
 
 #. Work out the first (id) and last (enabled/disalbed/count),
 #. then chop the middle (name)...
-#: ../yumcommands.py:1032 ../yumcommands.py:1061
+#: ../yumcommands.py:2230 ../yumcommands.py:2259
 msgid "repo id"
 msgstr "förråds-id"
 
-#: ../yumcommands.py:1049 ../yumcommands.py:1050 ../yumcommands.py:1068
+#: ../yumcommands.py:2247 ../yumcommands.py:2248 ../yumcommands.py:2266
 msgid "status"
 msgstr "status"
 
-#: ../yumcommands.py:1062
+#: ../yumcommands.py:2260
 msgid "repo name"
 msgstr "förrådsnamn"
 
-#: ../yumcommands.py:1099
+#: ../yumcommands.py:2332
 msgid "Display a helpful usage message"
 msgstr "Visa ett hjälpsamt meddelande om användning"
 
-#: ../yumcommands.py:1133
+#: ../yumcommands.py:2374
 #, python-format
 msgid "No help available for %s"
 msgstr "Ingen hjälp tillgänglig för %s"
 
-#: ../yumcommands.py:1138
+#: ../yumcommands.py:2379
 msgid ""
 "\n"
 "\n"
 "aliases: "
-msgstr ""
-"\n"
-"\n"
-"alias: "
+msgstr "\n\nalias: "
 
-#: ../yumcommands.py:1140
+#: ../yumcommands.py:2381
 msgid ""
 "\n"
 "\n"
 "alias: "
-msgstr ""
-"\n"
-"\n"
-"alias: "
+msgstr "\n\nalias: "
 
-#: ../yumcommands.py:1168
+#: ../yumcommands.py:2466
 msgid "Setting up Reinstall Process"
 msgstr "Förbereder ominstallationsprocessen"
 
-#: ../yumcommands.py:1176
+#: ../yumcommands.py:2478
 msgid "reinstall a package"
 msgstr "ominstallera ett paket"
 
-#: ../yumcommands.py:1195
+#: ../yumcommands.py:2541
 msgid "Setting up Downgrade Process"
 msgstr "Förbereder nedgraderingsprocessen"
 
-#: ../yumcommands.py:1202
+#: ../yumcommands.py:2552
 msgid "downgrade a package"
 msgstr "nedgradera ett paket"
 
-#: ../yumcommands.py:1216
+#: ../yumcommands.py:2591
 msgid "Display a version for the machine and/or available repos."
 msgstr "Visa en version för maskinen och/eller tillgängliga förråd."
 
-#: ../yumcommands.py:1255
+#: ../yumcommands.py:2643
 msgid " Yum version groups:"
 msgstr " Yum versionsgrupper:"
 
-#: ../yumcommands.py:1265
+#: ../yumcommands.py:2653
 msgid " Group   :"
 msgstr " Grupp:"
 
-#: ../yumcommands.py:1266
+#: ../yumcommands.py:2654
 msgid " Packages:"
 msgstr " Paket:"
 
-#: ../yumcommands.py:1295
+#: ../yumcommands.py:2683
 msgid "Installed:"
 msgstr "Installerade:"
 
-#: ../yumcommands.py:1303
+#: ../yumcommands.py:2691
 msgid "Group-Installed:"
 msgstr "Gruppinstallerade:"
 
-#: ../yumcommands.py:1312
+#: ../yumcommands.py:2700
 msgid "Available:"
 msgstr "Tillgängliga:"
 
-#: ../yumcommands.py:1321
+#: ../yumcommands.py:2709
 msgid "Group-Available:"
 msgstr "Grupptillgängliga:"
 
-#: ../yumcommands.py:1360
+#: ../yumcommands.py:2783
 msgid "Display, or use, the transaction history"
 msgstr "Visa, eller använd, transaktionshistorien"
 
-#: ../yumcommands.py:1432
+#: ../yumcommands.py:2876 ../yumcommands.py:2880
+msgid "Transactions:"
+msgstr "Transaktioner:"
+
+#: ../yumcommands.py:2881
+msgid "Begin time  :"
+msgstr "Starttid    :"
+
+#: ../yumcommands.py:2882
+msgid "End time    :"
+msgstr "Sluttid     : "
+
+#: ../yumcommands.py:2883
+msgid "Counts      :"
+msgstr "Antal       :"
+
+#: ../yumcommands.py:2884
+msgid "  NEVRAC :"
+msgstr "  NEVRAC :"
+
+#: ../yumcommands.py:2885
+msgid "  NEVRA  :"
+msgstr "  NEVRA  :"
+
+#: ../yumcommands.py:2886
+msgid "  NA     :"
+msgstr "  NA     :"
+
+#: ../yumcommands.py:2887
+msgid "  NEVR   :"
+msgstr "  NEVR   :"
+
+#: ../yumcommands.py:2888
+msgid "  rpm DB :"
+msgstr "  rpm-DB :"
+
+#: ../yumcommands.py:2889
+msgid "  yum DB :"
+msgstr "  yum-DB :"
+
+#: ../yumcommands.py:2922
 #, python-format
 msgid "Invalid history sub-command, use: %s."
 msgstr "Ogiltigt underkommando till history, använd: %s."
 
-#: ../yumcommands.py:1439
+#: ../yumcommands.py:2929
 msgid "You don't have access to the history DB."
 msgstr "Du har inte tillgång till historie-DB:n."
 
-#: ../yumcommands.py:1487
+#: ../yumcommands.py:3036
 msgid "Check for problems in the rpmdb"
 msgstr "Kontrollera om det finns problem i rpmdb:n"
 
-#: ../yumcommands.py:1514
+#: ../yumcommands.py:3102
 msgid "load a saved transaction from filename"
 msgstr "läs in en sparad transaktion från filnamn"
 
-#: ../yumcommands.py:1518
+#: ../yumcommands.py:3119
 msgid "No saved transaction file specified."
 msgstr "Ingen fil med sparad transaktion angiven."
 
-#: ../yumcommands.py:1522
+#: ../yumcommands.py:3123
 #, python-format
 msgid "loading transaction from %s"
 msgstr "läser in transaktionen från %s"
 
-#: ../yumcommands.py:1528
+#: ../yumcommands.py:3129
 #, python-format
 msgid "Transaction loaded from %s with %s members"
 msgstr "Transaktionen inläst från %s med %s medlemmar"
 
+#: ../yumcommands.py:3169
+msgid "Simple way to swap packages, isntead of using shell"
+msgstr ""
+
+#: ../yumcommands.py:3264
+msgid ""
+"Treat a repo. as a group of packages, so we can install/remove all of them"
+msgstr ""
+
+#: ../yumcommands.py:3341
+#, python-format
+msgid "%d package to update"
+msgid_plural "%d packages to update"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../yumcommands.py:3370
+#, python-format
+msgid "%d package to remove/reinstall"
+msgid_plural "%d packages to remove/reinstall"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../yumcommands.py:3413
+#, python-format
+msgid "%d package to remove/sync"
+msgid_plural "%d packages to remove/sync"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../yumcommands.py:3417
+#, python-format
+msgid "Not a valid sub-command of %s"
+msgstr ""
+
 #. This is mainly for PackageSackError from rpmdb.
 #: ../yummain.py:84
 #, python-format
 msgid " Yum checks failed: %s"
 msgstr " Yums kontroller misslyckades: %s"
 
-#: ../yummain.py:114
-msgid ""
-"Another app is currently holding the yum lock; waiting for it to exit..."
-msgstr ""
-"Ett annat program håller för närvarande yum-låset, väntar på att den skall "
-"avsluta ..."
+#: ../yummain.py:98
+msgid "No read/execute access in current directory, moving to /"
+msgstr "Inga läs-/körrättigheter i aktuell katalog, flyttar till /"
 
-#: ../yummain.py:120
-msgid "Can't create lock file; exiting"
-msgstr "Det går inte att skapa en låsfil, avslutar"
+#: ../yummain.py:106
+msgid "No getcwd() access in current directory, moving to /"
+msgstr ""
 
 #. Depsolve stage
-#: ../yummain.py:167
+#: ../yummain.py:164
 msgid "Resolving Dependencies"
 msgstr "Löser upp beroenden"
 
-#: ../yummain.py:230
+#: ../yummain.py:227 ../yummain.py:235
 #, python-format
-msgid "Your transaction was saved, rerun it with: yum load-transaction %s"
-msgstr "Din transaktion sparades, kör om den med: yum load-transaction %s"
+msgid ""
+"Your transaction was saved, rerun it with:\n"
+" yum load-transaction %s"
+msgstr "Din transaktion sparades, kör om den med:\n yum load-transaction %s"
 
-#: ../yummain.py:288
+#: ../yummain.py:312
 msgid ""
 "\n"
 "\n"
 "Exiting on user cancel."
-msgstr ""
-"\n"
-"\n"
-"Slutar efter att användaren avbröt."
+msgstr "\n\nSlutar efter att användaren avbröt."
 
-#: ../yum/depsolve.py:84
+#: ../yum/depsolve.py:127
 msgid "doTsSetup() will go away in a future version of Yum.\n"
 msgstr "doTsSetup() kommer att försvinna i en framtida version av Yum.\n"
 
-#: ../yum/depsolve.py:99
+#: ../yum/depsolve.py:143
 msgid "Setting up TransactionSets before config class is up"
 msgstr "Förbereder transaktionsmängder före konfigurationsklass är uppe"
 
-#: ../yum/depsolve.py:153
+#: ../yum/depsolve.py:200
 #, python-format
 msgid "Invalid tsflag in config file: %s"
 msgstr "Ogiltig tsflag i konfigurationsfil: %s"
 
-#: ../yum/depsolve.py:164
+#: ../yum/depsolve.py:218
 #, python-format
 msgid "Searching pkgSack for dep: %s"
 msgstr "Söker pkgSack efter beroende: %s"
 
-#: ../yum/depsolve.py:207
+#: ../yum/depsolve.py:269
 #, python-format
 msgid "Member: %s"
 msgstr "Medlem: %s"
 
-#: ../yum/depsolve.py:221 ../yum/depsolve.py:793
+#: ../yum/depsolve.py:283 ../yum/depsolve.py:937
 #, python-format
 msgid "%s converted to install"
 msgstr "%s konverterad till att installera"
 
-#: ../yum/depsolve.py:233
+#: ../yum/depsolve.py:295
 #, python-format
 msgid "Adding Package %s in mode %s"
 msgstr "Lägger till paket %s i läge %s"
 
-#: ../yum/depsolve.py:249
+#: ../yum/depsolve.py:311
 #, python-format
 msgid "Removing Package %s"
 msgstr "Tar bort paket %s"
 
-#: ../yum/depsolve.py:271
+#: ../yum/depsolve.py:333
 #, python-format
 msgid "%s requires: %s"
 msgstr "%s behöver: %s"
 
-#: ../yum/depsolve.py:312
+#: ../yum/depsolve.py:374
 #, python-format
 msgid "%s requires %s"
 msgstr "%s behöver %s"
 
-#: ../yum/depsolve.py:339
+#: ../yum/depsolve.py:401
 msgid "Needed Require has already been looked up, cheating"
 msgstr "Nödvändigt behov har redan slagits upp, fuskar"
 
-#: ../yum/depsolve.py:349
+#: ../yum/depsolve.py:411
 #, python-format
 msgid "Needed Require is not a package name. Looking up: %s"
 msgstr "Nödvändigt behov är inte ett paketnamn.  Slår upp: %s"
 
-#: ../yum/depsolve.py:357
+#: ../yum/depsolve.py:419
 #, python-format
 msgid "Potential Provider: %s"
 msgstr "Potentiell tillhandahållare: %s"
 
-#: ../yum/depsolve.py:380
+#: ../yum/depsolve.py:442
 #, python-format
 msgid "Mode is %s for provider of %s: %s"
 msgstr "Läget är %s för tillhandahållare av %s: %s"
 
-#: ../yum/depsolve.py:384
+#: ../yum/depsolve.py:446
 #, python-format
 msgid "Mode for pkg providing %s: %s"
 msgstr "Läge för paket som tillhandahåller %s: %s"
@@ -2120,1040 +2318,1140 @@ msgstr "Läge för paket som tillhandahåller %s: %s"
 #. the thing it needs is being updated or obsoleted away
 #. try to update the requiring package in hopes that all this problem goes
 #. away :(
-#: ../yum/depsolve.py:389 ../yum/depsolve.py:406
+#: ../yum/depsolve.py:451 ../yum/depsolve.py:486
 #, python-format
 msgid "Trying to update %s to resolve dep"
 msgstr "Försöker uppdatera %s för att lösa upp beroenden"
 
-#: ../yum/depsolve.py:400 ../yum/depsolve.py:410
+#: ../yum/depsolve.py:480
 #, python-format
 msgid "No update paths found for %s. Failure!"
 msgstr "Hittar ingen uppdateringsväg för %s.  Misslyckat!"
 
-#: ../yum/depsolve.py:416
+#: ../yum/depsolve.py:491
+#, python-format
+msgid "No update paths found for %s. Failure due to requirement: %s!"
+msgstr ""
+
+#: ../yum/depsolve.py:507
+#, python-format
+msgid "Update for %s. Doesn't fix requirement: %s!"
+msgstr ""
+
+#: ../yum/depsolve.py:514
 #, python-format
 msgid "TSINFO: %s package requiring %s marked as erase"
 msgstr "TSINFO: paket %s behöver %s noteras att raderas"
 
-#: ../yum/depsolve.py:429
+#: ../yum/depsolve.py:527
 #, python-format
 msgid "TSINFO: Obsoleting %s with %s to resolve dep."
 msgstr "TSINFO: Fasar ut %s med %s för att lösa upp beroenden."
 
-#: ../yum/depsolve.py:432
+#: ../yum/depsolve.py:530
 #, python-format
 msgid "TSINFO: Updating %s to resolve dep."
 msgstr "TSINFO: Uppdaterar %s för att lösa upp beroenden"
 
-#: ../yum/depsolve.py:440
+#: ../yum/depsolve.py:538
 #, python-format
 msgid "Cannot find an update path for dep for: %s"
 msgstr "Hittar ingen uppdateringsväg för beroende för: %s"
 
-#: ../yum/depsolve.py:471
+#: ../yum/depsolve.py:569
 #, python-format
 msgid "Quick matched %s to require for %s"
 msgstr "Snabb matcning av %s mot behov för %s"
 
 #. is it already installed?
-#: ../yum/depsolve.py:513
+#: ../yum/depsolve.py:611
 #, python-format
 msgid "%s is in providing packages but it is already installed, removing."
-msgstr ""
-"%s finns bland tillhandahållande paket men det är redan installerat, tar "
-"bort."
+msgstr "%s finns bland tillhandahållande paket men det är redan installerat, tar bort."
 
-#: ../yum/depsolve.py:529
+#: ../yum/depsolve.py:627
 #, python-format
 msgid "Potential resolving package %s has newer instance in ts."
 msgstr "Potentiellt upplösande paket %s har nyare instans i ts."
 
-#: ../yum/depsolve.py:540
+#: ../yum/depsolve.py:638
 #, python-format
 msgid "Potential resolving package %s has newer instance installed."
 msgstr "Potentiellt upplösande paket %s har nyare instans installerad."
 
-#: ../yum/depsolve.py:558
+#: ../yum/depsolve.py:656
 #, python-format
 msgid "%s already in ts, skipping this one"
 msgstr "%s är redan i ts, hoppar över denna"
 
-#: ../yum/depsolve.py:607
+#: ../yum/depsolve.py:705
 #, python-format
 msgid "TSINFO: Marking %s as update for %s"
 msgstr "TSINFO: Noterar %s som en uppdatering av %s"
 
-#: ../yum/depsolve.py:616
+#: ../yum/depsolve.py:714
 #, python-format
 msgid "TSINFO: Marking %s as install for %s"
 msgstr "TSINFO: Noterar %s som en installation av %s"
 
-#: ../yum/depsolve.py:727 ../yum/depsolve.py:819
+#: ../yum/depsolve.py:849 ../yum/depsolve.py:967
 msgid "Success - empty transaction"
 msgstr "Klart - tom transaktion"
 
-#: ../yum/depsolve.py:767 ../yum/depsolve.py:783
+#: ../yum/depsolve.py:889 ../yum/depsolve.py:927
 msgid "Restarting Loop"
 msgstr "Startar om slingan"
 
-#: ../yum/depsolve.py:799
+#: ../yum/depsolve.py:947
 msgid "Dependency Process ending"
 msgstr "Beroendeprocessen avslutas"
 
-#: ../yum/depsolve.py:821
+#: ../yum/depsolve.py:969
 msgid "Success - deps resolved"
 msgstr "Klart - beroenden upplösta"
 
-#: ../yum/depsolve.py:845
+#: ../yum/depsolve.py:993
 #, python-format
 msgid "Checking deps for %s"
 msgstr "Kontrollerar beroenden för %s"
 
-#: ../yum/depsolve.py:931
+#: ../yum/depsolve.py:1082
 #, python-format
 msgid "looking for %s as a requirement of %s"
 msgstr "letar efter %s som ett behov för %s"
 
-#: ../yum/depsolve.py:1169
+#: ../yum/depsolve.py:1349
 #, python-format
 msgid "Running compare_providers() for %s"
 msgstr "Kör compare_providers() för %s"
 
-#: ../yum/depsolve.py:1196 ../yum/depsolve.py:1202
+#: ../yum/depsolve.py:1376 ../yum/depsolve.py:1382
 #, python-format
 msgid "better arch in po %s"
 msgstr "bättre arkitektur i po %s"
 
-#: ../yum/depsolve.py:1298
+#: ../yum/depsolve.py:1496
 #, python-format
 msgid "%s obsoletes %s"
 msgstr "%s fasar ut %s"
 
-#: ../yum/depsolve.py:1310
+#: ../yum/depsolve.py:1508
 #, python-format
 msgid ""
 "archdist compared %s to %s on %s\n"
 "  Winner: %s"
-msgstr ""
-"arkitekturavstånd jämför %s med %s på %s\n"
-"  Vinnare: %s"
+msgstr "arkitekturavstånd jämför %s med %s på %s\n  Vinnare: %s"
 
-#: ../yum/depsolve.py:1318
+#: ../yum/depsolve.py:1516
 #, python-format
 msgid "common sourcerpm %s and %s"
 msgstr "samma käll-rpm %s och %s"
 
-#: ../yum/depsolve.py:1322
+#: ../yum/depsolve.py:1520
 #, python-format
 msgid "base package %s is installed for %s"
 msgstr "baspaket %s är installerat för %s"
 
-#: ../yum/depsolve.py:1328
+#: ../yum/depsolve.py:1526
 #, python-format
 msgid "common prefix of %s between %s and %s"
 msgstr "gemensamt prefix för %s mellan %s och %s"
 
-#: ../yum/depsolve.py:1359
+#: ../yum/depsolve.py:1543
 #, python-format
-msgid "requires minimal: %d"
-msgstr "behöver minst: %d"
+msgid "provides vercmp: %s"
+msgstr ""
 
-#: ../yum/depsolve.py:1363
+#: ../yum/depsolve.py:1547 ../yum/depsolve.py:1581
 #, python-format
 msgid " Winner: %s"
 msgstr "Vinnare: %s"
 
-#: ../yum/depsolve.py:1368
+#: ../yum/depsolve.py:1577
+#, python-format
+msgid "requires minimal: %d"
+msgstr "behöver minst: %d"
+
+#: ../yum/depsolve.py:1586
 #, python-format
 msgid " Loser(with %d): %s"
 msgstr " Förlorare(med %d): %s"
 
-#: ../yum/depsolve.py:1384
+#: ../yum/depsolve.py:1602
 #, python-format
 msgid "Best Order: %s"
 msgstr "Bästa ordning: %s"
 
-#: ../yum/__init__.py:234
+#: ../yum/__init__.py:274
 msgid "doConfigSetup() will go away in a future version of Yum.\n"
 msgstr "doConfigSetup() kommer att försvinna i en framtida version av Yum.\n"
 
-#: ../yum/__init__.py:482
+#: ../yum/__init__.py:553
+#, python-format
+msgid "Skipping unreadable repository %s"
+msgstr ""
+
+#: ../yum/__init__.py:572
 #, python-format
 msgid "Repository %r: Error parsing config: %s"
 msgstr "Förråd %r: Fel vid tolkning konfiguration: %s"
 
-#: ../yum/__init__.py:488
+#: ../yum/__init__.py:578
 #, python-format
 msgid "Repository %r is missing name in configuration, using id"
 msgstr "Förrådet %r saknar namn i konfigurationen, använder id"
 
-#: ../yum/__init__.py:526
+#: ../yum/__init__.py:618
 msgid "plugins already initialised"
 msgstr "insticksmoduler redan initierade"
 
-#: ../yum/__init__.py:533
+#: ../yum/__init__.py:627
 msgid "doRpmDBSetup() will go away in a future version of Yum.\n"
 msgstr "doRpmDBSetup() kommer att försvinna i en framtida version av Yum.\n"
 
-#: ../yum/__init__.py:544
+#: ../yum/__init__.py:638
 msgid "Reading Local RPMDB"
 msgstr "Läser lokal RPMDB"
 
-#: ../yum/__init__.py:567
+#: ../yum/__init__.py:668
 msgid "doRepoSetup() will go away in a future version of Yum.\n"
 msgstr "doRepoSetup() kommer att försvinna i en framtida version av Yum.\n"
 
-#: ../yum/__init__.py:630
+#: ../yum/__init__.py:722
 msgid "doSackSetup() will go away in a future version of Yum.\n"
 msgstr "doSackSetup() kommer att försvinna i en framtida version av Yum.\n"
 
-#: ../yum/__init__.py:660
+#: ../yum/__init__.py:752
 msgid "Setting up Package Sacks"
 msgstr "Förbereder paketsäckar"
 
-#: ../yum/__init__.py:705
+#: ../yum/__init__.py:797
 #, python-format
 msgid "repo object for repo %s lacks a _resetSack method\n"
 msgstr "förrådsobjekt för förrådet %s saknar en _resetSack-metod\n"
 
-#: ../yum/__init__.py:706
+#: ../yum/__init__.py:798
 msgid "therefore this repo cannot be reset.\n"
 msgstr "därför kan inte detta förråd återställas.\n"
 
-#: ../yum/__init__.py:711
+#: ../yum/__init__.py:806
 msgid "doUpdateSetup() will go away in a future version of Yum.\n"
 msgstr "doUpdateSetup() kommer att försvinna i en framtida version av Yum.\n"
 
-#: ../yum/__init__.py:723
+#: ../yum/__init__.py:818
 msgid "Building updates object"
 msgstr "Bygger uppdateringsobjekt"
 
-#: ../yum/__init__.py:765
+#: ../yum/__init__.py:862
 msgid "doGroupSetup() will go away in a future version of Yum.\n"
 msgstr "doGroupSetup() kommer att försvinna i en framtida version av Yum.\n"
 
-#: ../yum/__init__.py:790
+#: ../yum/__init__.py:887
 msgid "Getting group metadata"
 msgstr "Hämtar gruppmetadata"
 
-#: ../yum/__init__.py:816
+#: ../yum/__init__.py:915
 #, python-format
 msgid "Adding group file from repository: %s"
 msgstr "Lägger till gruppfil från förrådet: %s"
 
-#: ../yum/__init__.py:827
+#: ../yum/__init__.py:918
+#, python-format
+msgid "Failed to retrieve group file for repository: %s"
+msgstr ""
+
+#: ../yum/__init__.py:924
 #, python-format
 msgid "Failed to add groups file for repository: %s - %s"
 msgstr "Kunde inte lägga till gruppfil för förrådet: %s - %s"
 
-#: ../yum/__init__.py:833
+#: ../yum/__init__.py:930
 msgid "No Groups Available in any repository"
 msgstr "Inga grupper tillgängliga i något förråd"
 
-#: ../yum/__init__.py:845
+#: ../yum/__init__.py:945
 msgid "Getting pkgtags metadata"
 msgstr "Hämtar pakettaggsmetadata"
 
-#: ../yum/__init__.py:855
+#: ../yum/__init__.py:955
 #, python-format
 msgid "Adding tags from repository: %s"
 msgstr "Lägger till taggar från förrådet: %s"
 
-#: ../yum/__init__.py:866
+#: ../yum/__init__.py:966
 #, python-format
 msgid "Failed to add Pkg Tags for repository: %s - %s"
 msgstr "Kunde inte lägga till pakettaggar för förrådet: %s - %s"
 
-#: ../yum/__init__.py:944
+#: ../yum/__init__.py:1059
 msgid "Importing additional filelist information"
 msgstr "Importerar ytterligare fillisteinformation"
 
-#: ../yum/__init__.py:958
+#: ../yum/__init__.py:1077
 #, python-format
 msgid "The program %s%s%s is found in the yum-utils package."
 msgstr "Programmet %s%s%s finns i paketet yum-utils."
 
-#: ../yum/__init__.py:966
+#: ../yum/__init__.py:1094
 msgid ""
 "There are unfinished transactions remaining. You might consider running yum-"
 "complete-transaction first to finish them."
-msgstr ""
-"Det finns oavslutade transaktioner kvar.  Du kan överväga att köra yum-"
-"complete-transaction först för att avsluta dem."
+msgstr "Det finns oavslutade transaktioner kvar.  Du kan överväga att köra yum-complete-transaction först för att avsluta dem."
 
-#: ../yum/__init__.py:983
+#: ../yum/__init__.py:1111
 msgid "--> Finding unneeded leftover dependencies"
 msgstr "--> Letar efter överblivna beroenden som inte behövs"
 
-#: ../yum/__init__.py:1041
+#: ../yum/__init__.py:1169
 #, python-format
 msgid "Protected multilib versions: %s != %s"
 msgstr "Skyddade multilibversioner: %s ≠ %s"
 
-#: ../yum/__init__.py:1096
+#. People are confused about protected mutilib ... so give
+#. them a nicer message.
+#: ../yum/__init__.py:1173
+#, python-format
+msgid ""
+" Multilib version problems found. This often means that the root\n"
+"cause is something else and multilib version checking is just\n"
+"pointing out that there is a problem. Eg.:\n"
+"\n"
+"  1. You have an upgrade for %(name)s which is missing some\n"
+"     dependency that another package requires. Yum is trying to\n"
+"     solve this by installing an older version of %(name)s of the\n"
+"     different architecture. If you exclude the bad architecture\n"
+"     yum will tell you what the root cause is (which package\n"
+"     requires what). You can try redoing the upgrade with\n"
+"     --exclude %(name)s.otherarch ... this should give you an error\n"
+"     message showing the root cause of the problem.\n"
+"\n"
+"  2. You have multiple architectures of %(name)s installed, but\n"
+"     yum can only see an upgrade for one of those arcitectures.\n"
+"     If you don't want/need both architectures anymore then you\n"
+"     can remove the one with the missing update and everything\n"
+"     will work.\n"
+"\n"
+"  3. You have duplicate versions of %(name)s installed already.\n"
+"     You can use \"yum check\" to get yum show these errors.\n"
+"\n"
+"...you can also use --setopt=protected_multilib=false to remove\n"
+"this checking, however this is almost never the correct thing to\n"
+"do as something else is very likely to go wrong (often causing\n"
+"much more problems).\n"
+"\n"
+msgstr ""
+
+#: ../yum/__init__.py:1257
 #, python-format
 msgid "Trying to remove \"%s\", which is protected"
 msgstr "Försöker ta bort ”%s”, som är skyddad"
 
-#: ../yum/__init__.py:1217
+#: ../yum/__init__.py:1378
 msgid ""
 "\n"
 "Packages skipped because of dependency problems:"
-msgstr ""
-"\n"
-"Paket hoppades över på grund av beroendeproblem:"
+msgstr "\nPaket hoppades över på grund av beroendeproblem:"
 
-#: ../yum/__init__.py:1221
+#: ../yum/__init__.py:1382
 #, python-format
 msgid "    %s from %s"
 msgstr "    %s från %s"
 
 #. FIXME: _N()
-#: ../yum/__init__.py:1391
+#: ../yum/__init__.py:1556
 #, python-format
 msgid "** Found %d pre-existing rpmdb problem(s), 'yum check' output follows:"
-msgstr ""
-"** Hittade %d redan befintliga tidigare rpmdb-problem, ”yum check”-utdata "
-"följer:"
+msgstr "** Hittade %d redan befintliga tidigare rpmdb-problem, ”yum check”-utdata följer:"
 
-#: ../yum/__init__.py:1395
+#: ../yum/__init__.py:1560
 msgid "Warning: RPMDB altered outside of yum."
 msgstr "Varning: RPMDB ändrad utanför yum."
 
-#: ../yum/__init__.py:1407
+#: ../yum/__init__.py:1572
 msgid "missing requires"
 msgstr "saknade behov"
 
-#: ../yum/__init__.py:1408
+#: ../yum/__init__.py:1573
 msgid "installed conflict"
 msgstr "installerade konflikter"
 
-#: ../yum/__init__.py:1525
+#: ../yum/__init__.py:1709
 msgid ""
 "Warning: scriptlet or other non-fatal errors occurred during transaction."
-msgstr ""
-"Varning: skript- eller annat icke ödesdigert fel inträffade under "
-"transaktionen."
+msgstr "Varning: skript- eller annat icke ödesdigert fel inträffade under transaktionen."
 
-#: ../yum/__init__.py:1535
+#: ../yum/__init__.py:1719
 msgid "Transaction couldn't start:"
 msgstr "Transaktionen kunde inte starta:"
 
 #. should this be 'to_unicoded'?
-#: ../yum/__init__.py:1538
+#: ../yum/__init__.py:1722
 msgid "Could not run transaction."
 msgstr "Kunde inte köra transaktionen."
 
-#: ../yum/__init__.py:1552
+#: ../yum/__init__.py:1736
 #, python-format
 msgid "Failed to remove transaction file %s"
 msgstr "Kunde inte ta bort transaktionsfilen %s"
 
 #. maybe a file log here, too
 #. but raising an exception is not going to do any good
-#: ../yum/__init__.py:1590
+#: ../yum/__init__.py:1792
 #, python-format
 msgid "%s was supposed to be installed but is not!"
 msgstr "%s skulle installerats men gjordes det inte!"
 
 #. maybe a file log here, too
 #. but raising an exception is not going to do any good
-#: ../yum/__init__.py:1651
+#. Note: This actually triggers atm. because we can't
+#. always find the erased txmbr to set it when
+#. we should.
+#: ../yum/__init__.py:1869
 #, python-format
 msgid "%s was supposed to be removed but is not!"
 msgstr "%s skulle tagits bort men det gjordes inte!"
 
-#: ../yum/__init__.py:1768
-#, python-format
-msgid "Could not open lock %s: %s"
-msgstr "Kunde inte öppna låset %s: %s "
-
-#. Whoa. What the heck happened?
-#: ../yum/__init__.py:1785
-#, python-format
-msgid "Unable to check if PID %s is active"
-msgstr "Kan inte kontrollera om PID %s är aktiv"
-
 #. Another copy seems to be running.
-#: ../yum/__init__.py:1789
+#: ../yum/__init__.py:2004
 #, python-format
 msgid "Existing lock %s: another copy is running as pid %s."
 msgstr "Existerande lås %s: en annan kopia kör som pid %s."
 
 #. Whoa. What the heck happened?
-#: ../yum/__init__.py:1830
+#: ../yum/__init__.py:2053
 #, python-format
 msgid "Could not create lock at %s: %s "
 msgstr "Kunde inte skapa lås av %s: %s "
 
-#: ../yum/__init__.py:1875
+#: ../yum/__init__.py:2065
+#, python-format
+msgid "Could not open lock %s: %s"
+msgstr "Kunde inte öppna låset %s: %s "
+
+#. The pid doesn't exist
+#. Whoa. What the heck happened?
+#: ../yum/__init__.py:2082
+#, python-format
+msgid "Unable to check if PID %s is active"
+msgstr "Kan inte kontrollera om PID %s är aktiv"
+
+#: ../yum/__init__.py:2132
 #, python-format
 msgid ""
 "Package does not match intended download. Suggestion: run yum "
 "--enablerepo=%s clean metadata"
-msgstr ""
-"Paketet matchar inte den avsedda hämtningen.  Förslag: kör yum "
-"--enablerepo=%s clean metadata"
+msgstr "Paketet matchar inte den avsedda hämtningen.  Förslag: kör yum --enablerepo=%s clean metadata"
 
-#: ../yum/__init__.py:1891
+#: ../yum/__init__.py:2155
 msgid "Could not perform checksum"
 msgstr "Kunde inte utföra kontrollsummering"
 
-#: ../yum/__init__.py:1894
+#: ../yum/__init__.py:2158
 msgid "Package does not match checksum"
 msgstr "Paketet stämmer inte med kontrollsumman"
 
-#: ../yum/__init__.py:1946
+#: ../yum/__init__.py:2222
 #, python-format
 msgid "package fails checksum but caching is enabled for %s"
-msgstr ""
-"paketet misslyckas med kontrollsumman men cachning är aktiverat för %s"
+msgstr "paketet misslyckas med kontrollsumman men cachning är aktiverat för %s"
 
-#: ../yum/__init__.py:1949 ../yum/__init__.py:1979
+#: ../yum/__init__.py:2225 ../yum/__init__.py:2268
 #, python-format
 msgid "using local copy of %s"
 msgstr "använder lokal kopia av %s"
 
-#: ../yum/__init__.py:1991
-#, python-format
-msgid ""
-"Insufficient space in download directory %s\n"
-"    * free   %s\n"
-"    * needed %s"
+#. caller handles errors
+#: ../yum/__init__.py:2342
+msgid "exiting because --downloadonly specified"
 msgstr ""
-"Otillräckligt utrymme i hämtningskatalogen %s\n"
-"    * fritt   %s\n"
-"    * behovet %s"
 
-#: ../yum/__init__.py:2052
+#: ../yum/__init__.py:2371
 msgid "Header is not complete."
 msgstr "Huvudet är inte komplett."
 
-#: ../yum/__init__.py:2089
+#: ../yum/__init__.py:2411
 #, python-format
 msgid ""
 "Header not in local cache and caching-only mode enabled. Cannot download %s"
-msgstr ""
-"Huvudet finns inte i den lokala cachen och endast-cache-läget är aktiverat."
-"  Kan inte hämta %s"
+msgstr "Huvudet finns inte i den lokala cachen och endast-cache-läget är aktiverat.  Kan inte hämta %s"
 
-#: ../yum/__init__.py:2147
+#: ../yum/__init__.py:2471
 #, python-format
 msgid "Public key for %s is not installed"
 msgstr "Den publika nyckeln för %s är inte installerad"
 
-#: ../yum/__init__.py:2151
+#: ../yum/__init__.py:2475
 #, python-format
 msgid "Problem opening package %s"
 msgstr "Problem att öppna paketet %s"
 
-#: ../yum/__init__.py:2159
+#: ../yum/__init__.py:2483
 #, python-format
 msgid "Public key for %s is not trusted"
 msgstr "Den publika nyckeln för %s är inte betrodd"
 
-#: ../yum/__init__.py:2163
+#: ../yum/__init__.py:2487
 #, python-format
 msgid "Package %s is not signed"
 msgstr "Paket %s är inte signerat"
 
-#: ../yum/__init__.py:2202
+#: ../yum/__init__.py:2529
 #, python-format
 msgid "Cannot remove %s"
 msgstr "Det går inte att ta bort %s"
 
-#: ../yum/__init__.py:2206
+#: ../yum/__init__.py:2533
 #, python-format
 msgid "%s removed"
 msgstr "%s borttaget"
 
-#: ../yum/__init__.py:2252
+#: ../yum/__init__.py:2594
 #, python-format
 msgid "Cannot remove %s file %s"
 msgstr "Det går inte att ta bort %s-filen %s"
 
-#: ../yum/__init__.py:2256
+#: ../yum/__init__.py:2598
 #, python-format
 msgid "%s file %s removed"
 msgstr "%s-filen %s borttagen"
 
-#: ../yum/__init__.py:2258
+#: ../yum/__init__.py:2600
 #, python-format
-msgid "%d %s files removed"
-msgstr "%d %s-filer borttagna"
+msgid "%d %s file removed"
+msgid_plural "%d %s files removed"
+msgstr[0] "%d %s-fil borttagen"
+msgstr[1] "%d %s-filer borttagna"
 
-#: ../yum/__init__.py:2327
+#: ../yum/__init__.py:2712
 #, python-format
 msgid "More than one identical match in sack for %s"
 msgstr "Mer än en identisk matchning i säcken för %s"
 
-#: ../yum/__init__.py:2333
+#: ../yum/__init__.py:2718
 #, python-format
 msgid "Nothing matches %s.%s %s:%s-%s from update"
 msgstr "Ingenting matchar %s.%s %s:%s-%s från uppdateringarna"
 
-#: ../yum/__init__.py:2632
+#: ../yum/__init__.py:3096
 msgid ""
 "searchPackages() will go away in a future version of Yum."
 "                      Use searchGenerator() instead. \n"
-msgstr ""
-"searchPackages() kommer att försvinna i en framtida version av Yum."
-"                      Använd searchGenerator() istället. \n"
+msgstr "searchPackages() kommer att försvinna i en framtida version av Yum.                      Använd searchGenerator() istället. \n"
 
-#: ../yum/__init__.py:2675
+#: ../yum/__init__.py:3149
 #, python-format
-msgid "Searching %d packages"
-msgstr "Söker i %d paket"
+msgid "Searching %d package"
+msgid_plural "Searching %d packages"
+msgstr[0] "Söker i %d paket"
+msgstr[1] "Söker i %d paket"
 
-#: ../yum/__init__.py:2679
+#: ../yum/__init__.py:3153
 #, python-format
 msgid "searching package %s"
 msgstr "söker i paketet %s"
 
-#: ../yum/__init__.py:2691
+#: ../yum/__init__.py:3165
 msgid "searching in file entries"
 msgstr "söker i filposter"
 
-#: ../yum/__init__.py:2698
+#: ../yum/__init__.py:3172
 msgid "searching in provides entries"
 msgstr "söker i tillhandahållandeposter"
 
-#: ../yum/__init__.py:2777
+#: ../yum/__init__.py:3369
 msgid "No group data available for configured repositories"
 msgstr "Inga gruppdata är tillgängliga för de konfigurerade förråden"
 
-#: ../yum/__init__.py:2808 ../yum/__init__.py:2827 ../yum/__init__.py:2858
-#: ../yum/__init__.py:2864 ../yum/__init__.py:2953 ../yum/__init__.py:2957
-#: ../yum/__init__.py:3339
+#: ../yum/__init__.py:3466 ../yum/__init__.py:3500 ../yum/__init__.py:3576
+#: ../yum/__init__.py:3582 ../yum/__init__.py:3719 ../yum/__init__.py:3723
+#: ../yum/__init__.py:4298
 #, python-format
 msgid "No Group named %s exists"
 msgstr "Det finns ingen grupp med namnet %s"
 
-#: ../yum/__init__.py:2839 ../yum/__init__.py:2973
+#: ../yum/__init__.py:3512 ../yum/__init__.py:3740
 #, python-format
 msgid "package %s was not marked in group %s"
 msgstr "paket %s noterades inte i gruppen %s"
 
-#: ../yum/__init__.py:2887
+#. (upgrade and igroup_data[pkg] == 'available')):
+#: ../yum/__init__.py:3622
+#, python-format
+msgid "Skipping package %s from group %s"
+msgstr ""
+
+#: ../yum/__init__.py:3628
 #, python-format
 msgid "Adding package %s from group %s"
 msgstr "Lägger till paket %s från grupp %s"
 
-#: ../yum/__init__.py:2891
+#: ../yum/__init__.py:3649
 #, python-format
 msgid "No package named %s available to be installed"
 msgstr "Inget paket med namnet %s är tillgängligt för installation"
 
-#: ../yum/__init__.py:2941
+#: ../yum/__init__.py:3702
 #, python-format
-msgid "Warning: Group %s does not have any packages."
-msgstr "Varning: Gruppen %s har inte några paket."
+msgid "Warning: Group %s does not have any packages to install."
+msgstr ""
 
-#: ../yum/__init__.py:2943
+#: ../yum/__init__.py:3704
 #, python-format
 msgid "Group %s does have %u conditional packages, which may get installed."
 msgstr "Gruppen %s har %u villkorliga paket, vilka kan komma att installeras."
 
+#: ../yum/__init__.py:3794
+#, python-format
+msgid "Skipping group %s from environment %s"
+msgstr ""
+
 #. This can happen due to excludes after .up has
 #. happened.
-#: ../yum/__init__.py:3002
+#: ../yum/__init__.py:3858
 #, python-format
 msgid "Package tuple %s could not be found in packagesack"
 msgstr "Pakettupel %s fanns inte i paketsäcken"
 
-#: ../yum/__init__.py:3022
+#: ../yum/__init__.py:3886
 #, python-format
 msgid "Package tuple %s could not be found in rpmdb"
 msgstr "Pakettupel %s fanns inte i rpmdb"
 
-#: ../yum/__init__.py:3079 ../yum/__init__.py:3129
+#: ../yum/__init__.py:3949 ../yum/__init__.py:4012
 #, python-format
 msgid "Invalid version flag from: %s"
 msgstr "Ogiltig versionsflagga från: %s"
 
-#: ../yum/__init__.py:3096 ../yum/__init__.py:3101
+#: ../yum/__init__.py:3973 ../yum/__init__.py:3979 ../yum/__init__.py:4036
+#: ../yum/__init__.py:4042
 #, python-format
 msgid "No Package found for %s"
 msgstr "Inga paket hittades för %s"
 
-#: ../yum/__init__.py:3401
+#: ../yum/__init__.py:4245 ../yum/__init__.py:4274
+#, python-format
+msgid "Warning: Environment Group %s does not exist."
+msgstr ""
+
+#: ../yum/__init__.py:4397
+#, python-format
+msgid "Package: %s - can't co-install with %s"
+msgstr ""
+
+#: ../yum/__init__.py:4437
 msgid "Package Object was not a package object instance"
 msgstr "Paketobjektet var inte en paketobjektinstans"
 
-#: ../yum/__init__.py:3405
+#: ../yum/__init__.py:4441
 msgid "Nothing specified to install"
 msgstr "Inget angivet att installeras"
 
-#: ../yum/__init__.py:3424 ../yum/__init__.py:4283
+#: ../yum/__init__.py:4465 ../yum/__init__.py:5410
 #, python-format
 msgid "Checking for virtual provide or file-provide for %s"
-msgstr ""
-"Kontrollerar virtuella tillhandahållanden eller filtillhandahållanden för %s"
-
-#: ../yum/__init__.py:3430 ../yum/__init__.py:3775 ../yum/__init__.py:3969
-#: ../yum/__init__.py:4289
-#, python-format
-msgid "No Match for argument: %s"
-msgstr "Ingen matchning för argument: %s"
+msgstr "Kontrollerar virtuella tillhandahållanden eller filtillhandahållanden för %s"
 
-#: ../yum/__init__.py:3507
+#: ../yum/__init__.py:4542
 #, python-format
 msgid "Package %s installed and not available"
 msgstr "Paket %s installerat och inte tillgänligt"
 
-#: ../yum/__init__.py:3510
+#: ../yum/__init__.py:4545
 msgid "No package(s) available to install"
 msgstr "Inga paket tillgängliga att installera"
 
-#: ../yum/__init__.py:3522
+#: ../yum/__init__.py:4557
 #, python-format
 msgid "Package: %s  - already in transaction set"
 msgstr "Paket: %s - redan i transaktionsmängden"
 
-#: ../yum/__init__.py:3550
+#: ../yum/__init__.py:4589
 #, python-format
 msgid "Package %s is obsoleted by %s which is already installed"
 msgstr "Paket %s fasas ut av %s, som redan är installerat"
 
-#: ../yum/__init__.py:3555
+#: ../yum/__init__.py:4594
 #, python-format
 msgid ""
 "Package %s is obsoleted by %s, but obsoleting package does not provide for "
 "requirements"
-msgstr ""
-"Paket %s fasas ut av %s, men paketet som fasar ut tillhandahåller inte "
-"behoven"
+msgstr "Paket %s fasas ut av %s, men paketet som fasar ut tillhandahåller inte behoven"
 
-#: ../yum/__init__.py:3558
+#: ../yum/__init__.py:4597
 #, python-format
 msgid "Package %s is obsoleted by %s, trying to install %s instead"
 msgstr "Paket %s fasas ut av %s, försöker installera %s istället"
 
-#: ../yum/__init__.py:3566
+#: ../yum/__init__.py:4605
 #, python-format
 msgid "Package %s already installed and latest version"
 msgstr "Paket %s är redan installerat och senaste version"
 
-#: ../yum/__init__.py:3580
+#: ../yum/__init__.py:4619
 #, python-format
 msgid "Package matching %s already installed. Checking for update."
 msgstr "Paket som matchar %s är redan installerat.  Letar efter uppdatering."
 
 #. update everything (the easy case)
-#: ../yum/__init__.py:3684
+#: ../yum/__init__.py:4751
 msgid "Updating Everything"
 msgstr "Uppdaterar allt"
 
-#: ../yum/__init__.py:3708 ../yum/__init__.py:3849 ../yum/__init__.py:3879
-#: ../yum/__init__.py:3915
+#: ../yum/__init__.py:4775 ../yum/__init__.py:4930 ../yum/__init__.py:4975
+#: ../yum/__init__.py:5011
 #, python-format
 msgid "Not Updating Package that is already obsoleted: %s.%s %s:%s-%s"
 msgstr "Uppdaterar inte paket som redan är utfasade: %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3753 ../yum/__init__.py:3965
+#: ../yum/__init__.py:4830 ../yum/__init__.py:5072
 #, python-format
 msgid "%s"
 msgstr "%s"
 
-#: ../yum/__init__.py:3838
+#: ../yum/__init__.py:4854 ../yum/__init__.py:5080 ../yum/__init__.py:5416
+#, python-format
+msgid "No Match for argument: %s"
+msgstr "Ingen matchning för argument: %s"
+
+#: ../yum/__init__.py:4872
+#, python-format
+msgid "No package matched to upgrade: %s"
+msgstr "Inget paket att uppgradera matchar: %s"
+
+#: ../yum/__init__.py:4919
 #, python-format
 msgid "Package is already obsoleted: %s.%s %s:%s-%s"
 msgstr "Paketet är redan utfasat: %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3874
+#: ../yum/__init__.py:4970
 #, python-format
 msgid "Not Updating Package that is obsoleted: %s"
 msgstr "Uppdaterar inte paket som fasas ut: %s"
 
-#: ../yum/__init__.py:3883 ../yum/__init__.py:3919
+#: ../yum/__init__.py:4979 ../yum/__init__.py:5015
 #, python-format
 msgid "Not Updating Package that is already updated: %s.%s %s:%s-%s"
 msgstr "Uppdaterar inte paket som redan är uppdaterat: %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3982
-msgid "No package matched to remove"
-msgstr "Inget paket att tas bort matchar"
+#: ../yum/__init__.py:5093
+#, python-format
+msgid "No package matched to remove: %s"
+msgstr "Inget paket att ta bort matchar: %s"
 
-#: ../yum/__init__.py:3988
+#: ../yum/__init__.py:5099
 #, python-format
 msgid "Skipping the running kernel: %s"
 msgstr "Hoppar över den körande kärnan: %s"
 
-#: ../yum/__init__.py:3994
+#: ../yum/__init__.py:5105
 #, python-format
 msgid "Removing %s from the transaction"
 msgstr "Ta bort %s från transaktionen"
 
-#: ../yum/__init__.py:4029
+#: ../yum/__init__.py:5142
 #, python-format
 msgid "Cannot open: %s. Skipping."
 msgstr "Det går inte att öppna: %s.  Hoppar över."
 
-#: ../yum/__init__.py:4032 ../yum/__init__.py:4150 ../yum/__init__.py:4226
+#: ../yum/__init__.py:5145 ../yum/__init__.py:5262 ../yum/__init__.py:5347
 #, python-format
 msgid "Examining %s: %s"
 msgstr "Undersöker %s: %s"
 
-#: ../yum/__init__.py:4036
+#: ../yum/__init__.py:5149
 #, python-format
 msgid "Cannot localinstall deltarpm: %s. Skipping."
 msgstr "Det går inte att lokalinstallera deltarpm: %s.  Hoppar över."
 
-#: ../yum/__init__.py:4045 ../yum/__init__.py:4153 ../yum/__init__.py:4229
+#: ../yum/__init__.py:5158 ../yum/__init__.py:5265 ../yum/__init__.py:5350
 #, python-format
 msgid ""
 "Cannot add package %s to transaction. Not a compatible architecture: %s"
-msgstr ""
-"Kan inte lägga till paket %s till transaktionen.  Inte en kompatibel "
-"arkitektur: %s"
+msgstr "Kan inte lägga till paket %s till transaktionen.  Inte en kompatibel arkitektur: %s"
 
-#: ../yum/__init__.py:4051
+#: ../yum/__init__.py:5164
 #, python-format
 msgid "Cannot install package %s. It is obsoleted by installed package %s"
-msgstr ""
-"Det går inte att installera paketet %s.  Det är fasas ut av det installerade"
-" paketet %s"
+msgstr "Det går inte att installera paketet %s.  Det är fasas ut av det installerade paketet %s"
 
-#: ../yum/__init__.py:4059
+#: ../yum/__init__.py:5172
 #, python-format
 msgid ""
 "Package %s not installed, cannot update it. Run yum install to install it "
 "instead."
-msgstr ""
-"Paket %s är inte installerat, kan inte uppdatera det.  Kör yum install för "
-"att installera det istället."
+msgstr "Paket %s är inte installerat, kan inte uppdatera det.  Kör yum install för att installera det istället."
 
-#: ../yum/__init__.py:4078 ../yum/__init__.py:4085
+#: ../yum/__init__.py:5191 ../yum/__init__.py:5198
 #, python-format
 msgid ""
 "Package %s.%s not installed, cannot update it. Run yum install to install it"
 " instead."
-msgstr ""
-"Paketet %s.%s är inte installerat, kan inte uppdatera det.  Kör yum install "
-"för att installera det istället."
+msgstr "Paketet %s.%s är inte installerat, kan inte uppdatera det.  Kör yum install för att installera det istället."
 
-#: ../yum/__init__.py:4094 ../yum/__init__.py:4158 ../yum/__init__.py:4234
+#: ../yum/__init__.py:5207 ../yum/__init__.py:5270 ../yum/__init__.py:5355
 #, python-format
 msgid "Excluding %s"
 msgstr "Utesluter %s"
 
-#: ../yum/__init__.py:4099
+#: ../yum/__init__.py:5212
 #, python-format
 msgid "Marking %s to be installed"
 msgstr "Noterar %s för installation"
 
-#: ../yum/__init__.py:4105
+#: ../yum/__init__.py:5218
 #, python-format
 msgid "Marking %s as an update to %s"
 msgstr "Noterar %s som en uppdatering av %s"
 
-#: ../yum/__init__.py:4112
+#: ../yum/__init__.py:5225
 #, python-format
 msgid "%s: does not update installed package."
 msgstr "%s: uppdaterar inte ett installerat paket."
 
-#: ../yum/__init__.py:4147 ../yum/__init__.py:4223
+#: ../yum/__init__.py:5259 ../yum/__init__.py:5344
 #, python-format
 msgid "Cannot open file: %s. Skipping."
 msgstr "Det går inte att öppna filen: %s.  Hoppar över."
 
-#: ../yum/__init__.py:4177
+#: ../yum/__init__.py:5299
 msgid "Problem in reinstall: no package matched to remove"
 msgstr "Problem att ominstallera: inget paket matchades att tas bort"
 
-#: ../yum/__init__.py:4203
+#: ../yum/__init__.py:5325
 #, python-format
 msgid "Problem in reinstall: no package %s matched to install"
 msgstr "Problem att ominstallera: inget paket %s matchades att installera"
 
-#: ../yum/__init__.py:4311
+#: ../yum/__init__.py:5438
 msgid "No package(s) available to downgrade"
 msgstr "Inga paket tillgängliga att nedgradera"
 
-#: ../yum/__init__.py:4319
+#: ../yum/__init__.py:5446
 #, python-format
 msgid "Package %s is allowed multiple installs, skipping"
 msgstr "Paket %s tillåts multipla installationer, hoppar över"
 
-#: ../yum/__init__.py:4365
+#: ../yum/__init__.py:5496
 #, python-format
 msgid "No Match for available package: %s"
 msgstr "Ingen matchning för tillgängliga paket: %s"
 
-#: ../yum/__init__.py:4372
+#: ../yum/__init__.py:5506
 #, python-format
 msgid "Only Upgrade available on package: %s"
 msgstr "Endast uppgradering tillgängliga för paket: %s"
 
-#: ../yum/__init__.py:4442 ../yum/__init__.py:4479
+#: ../yum/__init__.py:5619 ../yum/__init__.py:5686
 #, python-format
 msgid "Failed to downgrade: %s"
 msgstr "Misslyckades nedgradera: %s"
 
-#: ../yum/__init__.py:4516
+#: ../yum/__init__.py:5636 ../yum/__init__.py:5692
+#, python-format
+msgid "Failed to upgrade: %s"
+msgstr "Misslyckades att uppgradera: %s"
+
+#: ../yum/__init__.py:5725
 #, python-format
 msgid "Retrieving key from %s"
 msgstr "Hämtar nyckel från %s"
 
-#: ../yum/__init__.py:4534
+#: ../yum/__init__.py:5743
 msgid "GPG key retrieval failed: "
 msgstr "Hämtandet av GPG-nyckeln misslyckades: "
 
 #. if we decide we want to check, even though the sig failed
 #. here is where we would do that
-#: ../yum/__init__.py:4557
+#: ../yum/__init__.py:5766
 #, python-format
 msgid "GPG key signature on key %s does not match CA Key for repo: %s"
-msgstr ""
-"GPG-nyckelsignatur på nyckeln %s har inte någon matchande CA-nyckel för "
-"förrådet: %s"
+msgstr "GPG-nyckelsignatur på nyckeln %s har inte någon matchande CA-nyckel för förrådet: %s"
 
-#: ../yum/__init__.py:4559
+#: ../yum/__init__.py:5768
 msgid "GPG key signature verified against CA Key(s)"
 msgstr "GPG-nyckelsignatur verifierad mot CA-nycklar"
 
-#: ../yum/__init__.py:4567
+#: ../yum/__init__.py:5776
 #, python-format
 msgid "Invalid GPG Key from %s: %s"
 msgstr "Ogiltig GPG-nyckel från %s: %s"
 
-#: ../yum/__init__.py:4576
+#: ../yum/__init__.py:5785
 #, python-format
 msgid "GPG key parsing failed: key does not have value %s"
 msgstr "GPG-nyckeltolkning misslyckades: nyckeln har inte värde %s"
 
-#: ../yum/__init__.py:4592
+#: ../yum/__init__.py:5801
 #, python-format
 msgid ""
 "Importing %s key 0x%s:\n"
-" Userid : %s\n"
-" Package: %s (%s)\n"
-" From   : %s"
-msgstr ""
-"Importerar %s-nyckel 0x%s:\n"
-" Användarid: %s\n"
-" Paket     : %s (%s)\n"
-" Från      : %s"
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" Package    : %s (%s)\n"
+" From       : %s"
+msgstr "Importerar %s-nyckel 0x%s:\n Användarid   : ”%s”\n Fingeravtryck: %s\n Paket        : %s (%s)\n Från         : %s"
 
-#: ../yum/__init__.py:4600
+#: ../yum/__init__.py:5811
 #, python-format
 msgid ""
 "Importing %s key 0x%s:\n"
-" Userid: \"%s\"\n"
-" From  : %s"
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" From       : %s"
+msgstr "Importerar %s-nyckel 0x%s:\n Användarid   : ”%s”\n Fingeravtryck: %s\n Från         : %s"
+
+#: ../yum/__init__.py:5839
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" Failing package is: %s\n"
+" GPG Keys are configured as: %s\n"
 msgstr ""
-"Importerar %s-nyckel 0x%s:\n"
-" Användarid: ”%s”\n"
-" Från      : %s"
 
-#: ../yum/__init__.py:4634
+#: ../yum/__init__.py:5853
 #, python-format
 msgid "GPG key at %s (0x%s) is already installed"
 msgstr "GPG-nyckel vid %s (0x%s) är redan installerad"
 
-#: ../yum/__init__.py:4671
+#: ../yum/__init__.py:5891
 #, python-format
 msgid "Key import failed (code %d)"
 msgstr "Nyckelimport misslyckades (kod %d)"
 
-#: ../yum/__init__.py:4672 ../yum/__init__.py:4755
+#: ../yum/__init__.py:5893 ../yum/__init__.py:5994
 msgid "Key imported successfully"
 msgstr "Nyckelimport lyckades"
 
-#: ../yum/__init__.py:4676
+#: ../yum/__init__.py:5897
 msgid "Didn't install any keys"
 msgstr "Installerade inte några nycklar"
 
-#: ../yum/__init__.py:4680
+#: ../yum/__init__.py:5900
 #, python-format
 msgid ""
 "The GPG keys listed for the \"%s\" repository are already installed but they are not correct for this package.\n"
 "Check that the correct key URLs are configured for this repository."
-msgstr ""
-"GPG-nycklarna uppräknade för förrådet \"%s\" är redan installerade men de är inte korrekta för detta paket.\n"
-"Kontrollera att de rätta nyckel-URL:erna är konfigurerade för detta förråd."
+msgstr "GPG-nycklarna uppräknade för förrådet \"%s\" är redan installerade men de är inte korrekta för detta paket.\nKontrollera att de rätta nyckel-URL:erna är konfigurerade för detta förråd."
 
-#: ../yum/__init__.py:4689
+#: ../yum/__init__.py:5910
 msgid "Import of key(s) didn't help, wrong key(s)?"
 msgstr "Import av nycklar hjälpte inte, fel nycklar?"
 
-#: ../yum/__init__.py:4713
+#: ../yum/__init__.py:5932
+msgid "No"
+msgstr ""
+
+#: ../yum/__init__.py:5934
+msgid "Yes"
+msgstr ""
+
+#: ../yum/__init__.py:5935
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" CA Key: %s\n"
+" Failing repo is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr ""
+
+#: ../yum/__init__.py:5948
 #, python-format
 msgid "GPG key at %s (0x%s) is already imported"
 msgstr "GPG-nyckel vid %s (0x%s) är redan importerad"
 
-#: ../yum/__init__.py:4754
-msgid "Key import failed"
-msgstr "Nyckelimport misslyckades"
+#: ../yum/__init__.py:5992
+#, python-format
+msgid "Key %s import failed"
+msgstr ""
 
-#: ../yum/__init__.py:4770
+#: ../yum/__init__.py:6009
 #, python-format
 msgid "Didn't install any keys for repo %s"
 msgstr "Installerade inte några nycklar för förrådet %s"
 
-#: ../yum/__init__.py:4774
+#: ../yum/__init__.py:6014
 #, python-format
 msgid ""
 "The GPG keys listed for the \"%s\" repository are already installed but they are not correct.\n"
 "Check that the correct key URLs are configured for this repository."
-msgstr ""
-"GPG-nycklarna uppräknade för förrådet \"%s\" är redan installerade men de är inte korrekta.\n"
-"Kontrollera att rätt nyckel-URL:ar är konfigurerade för detta förråd."
+msgstr "GPG-nycklarna uppräknade för förrådet \"%s\" är redan installerade men de är inte korrekta.\nKontrollera att rätt nyckel-URL:ar är konfigurerade för detta förråd."
 
-#: ../yum/__init__.py:4924
+#: ../yum/__init__.py:6172
 msgid "Unable to find a suitable mirror."
 msgstr "Kan inte hitta en lämplig spegel."
 
-#: ../yum/__init__.py:4926
+#: ../yum/__init__.py:6174
 msgid "Errors were encountered while downloading packages."
 msgstr "Fel uppstod när paket hämtades."
 
-#: ../yum/__init__.py:4981
+#: ../yum/__init__.py:6229
 #, python-format
 msgid "Please report this error at %s"
 msgstr "Rapportera gärna detta fel till %s"
 
-#: ../yum/__init__.py:4998
+#: ../yum/__init__.py:6246
 msgid "Test Transaction Errors: "
 msgstr "Transaktionstestfel: "
 
-#: ../yum/__init__.py:5098
+#: ../yum/__init__.py:6358
 #, python-format
 msgid "Could not set cachedir: %s"
 msgstr "Kunde inte sätta cache-katalog: %s"
 
-#: ../yum/__init__.py:5148 ../yum/__init__.py:5150
+#: ../yum/__init__.py:6420 ../yum/__init__.py:6422
 msgid "Dependencies not solved. Will not save unresolved transaction."
-msgstr ""
-"Beroenden inte upplösta.  Kommer inte att spara ouppklarad transaktion."
+msgstr "Beroenden inte upplösta.  Kommer inte att spara ouppklarad transaktion."
 
-#: ../yum/__init__.py:5179 ../yum/__init__.py:5181
+#: ../yum/__init__.py:6455 ../yum/__init__.py:6457
 #, python-format
 msgid "Could not save transaction file %s: %s"
 msgstr "Kunde inte spara transaktionsfilen %s: %s"
 
-#: ../yum/__init__.py:5195
+#: ../yum/__init__.py:6483
 #, python-format
 msgid "Could not access/read saved transaction %s : %s"
 msgstr "Kunde inte komma åt/läsa sparad transaktion %s: %s "
 
-#: ../yum/__init__.py:5214
-msgid "rpmdb ver mismatched saved transaction version, "
-msgstr "rpmdb-version stämmer inte med sparad transaktionsversion, "
-
-#: ../yum/__init__.py:5216
-msgid " ignoring, as requested."
-msgstr " bortser ifrån, som begärt."
-
-#: ../yum/__init__.py:5219 ../yum/__init__.py:5354
-msgid " aborting."
-msgstr " avbryter."
+#: ../yum/__init__.py:6521
+msgid "rpmdb ver mismatched saved transaction version,"
+msgstr ""
 
-#: ../yum/__init__.py:5228
+#: ../yum/__init__.py:6535
 msgid "cannot find tsflags or tsflags not integer."
 msgstr "det går inte att hitta tsflags eller så är tsflags inte ett heltal."
 
-#: ../yum/__init__.py:5267
+#: ../yum/__init__.py:6584
 #, python-format
 msgid "Found txmbr in unknown current state: %s"
 msgstr "Hittade txmbr i okänt aktuellt tillstånd: %s"
 
-#: ../yum/__init__.py:5271
+#: ../yum/__init__.py:6588
 #, python-format
 msgid "Could not find txmbr: %s in state %s"
 msgstr "Kunde inte hitta txmbr: %s i tillstånd %s"
 
-#: ../yum/__init__.py:5307 ../yum/__init__.py:5324
+#: ../yum/__init__.py:6625 ../yum/__init__.py:6642
 #, python-format
 msgid "Could not find txmbr: %s from origin: %s"
 msgstr "Kunde inte hitta txmbr: %s från ursprung: %s"
 
-#: ../yum/__init__.py:5349
+#: ../yum/__init__.py:6667
 msgid "Transaction members, relations are missing or ts has been modified,"
 msgstr "Transaktionsmedlemmar, -relationer saknas eller ts har ändrats,"
 
-#: ../yum/__init__.py:5351
+#: ../yum/__init__.py:6670
 msgid " ignoring, as requested. You must redepsolve!"
 msgstr " bortser ifrån, som begärt.  Du måste göra redepsolve!"
 
+#. Debugging output
+#: ../yum/__init__.py:6738 ../yum/__init__.py:6757
+#, python-format
+msgid "%s has been visited already and cannot be removed."
+msgstr "%s har redan besökts och kan inte tas bort."
+
+#. Debugging output
+#: ../yum/__init__.py:6741
+#, python-format
+msgid "Examining revdeps of %s"
+msgstr "Undersöker versionsberoenden för %s"
+
+#. Debugging output
+#: ../yum/__init__.py:6762
+#, python-format
+msgid "%s has revdep %s which was user-installed."
+msgstr "%s har versionsberoende %s som var var användarinstallerat."
+
+#: ../yum/__init__.py:6773 ../yum/__init__.py:6779
+#, python-format
+msgid "%s is needed by a package to be installed."
+msgstr ""
+
+#. Debugging output
+#: ../yum/__init__.py:6793
+#, python-format
+msgid "%s has no user-installed revdeps."
+msgstr "%s: uppdaterar inga användarinstallerade versionsberoenden."
+
 #. Mostly copied from YumOutput._outKeyValFill()
-#: ../yum/plugins.py:209
+#: ../yum/plugins.py:212
 msgid "Loaded plugins: "
 msgstr "Inlästa insticksmoduler: "
 
-#: ../yum/plugins.py:223 ../yum/plugins.py:229
+#: ../yum/plugins.py:226 ../yum/plugins.py:232
 #, python-format
 msgid "No plugin match for: %s"
 msgstr "Ingen insticksmodul matchar: %s"
 
-#: ../yum/plugins.py:259
+#: ../yum/plugins.py:262
 #, python-format
 msgid "Not loading \"%s\" plugin, as it is disabled"
 msgstr "Läser inte in insticksmodulen \"%s\" eftersom den är inaktiverad"
 
 #. Give full backtrace:
-#: ../yum/plugins.py:271
+#: ../yum/plugins.py:274
 #, python-format
 msgid "Plugin \"%s\" can't be imported"
 msgstr "Insticksmodulen \"%s\" kan inte importeras"
 
-#: ../yum/plugins.py:278
+#: ../yum/plugins.py:281
 #, python-format
 msgid "Plugin \"%s\" doesn't specify required API version"
 msgstr "Insticksmodulen \"%s\" specificerare inte nödvändig API-version"
 
-#: ../yum/plugins.py:283
+#: ../yum/plugins.py:286
 #, python-format
 msgid "Plugin \"%s\" requires API %s. Supported API is %s."
 msgstr "Insticksmodulen \"%s\" kräver API %s.  API:er som stöds är %s."
 
-#: ../yum/plugins.py:316
+#: ../yum/plugins.py:319
 #, python-format
 msgid "Loading \"%s\" plugin"
 msgstr "Läser in insticksmodulen \"%s\""
 
-#: ../yum/plugins.py:323
+#: ../yum/plugins.py:326
 #, python-format
 msgid "Two or more plugins with the name \"%s\" exist in the plugin search path"
-msgstr ""
-"Två eller flera insticksmoduler med namnet \"%s\" finns i sökvägen för "
-"insticksmoduler"
+msgstr "Två eller flera insticksmoduler med namnet \"%s\" finns i sökvägen för insticksmoduler"
 
-#: ../yum/plugins.py:343
+#: ../yum/plugins.py:346
 #, python-format
 msgid "Configuration file %s not found"
 msgstr "Konfigurationsfilen %s finns inte"
 
 #. for
 #. Configuration files for the plugin not found
-#: ../yum/plugins.py:346
+#: ../yum/plugins.py:349
 #, python-format
 msgid "Unable to find configuration file for plugin %s"
 msgstr "Kan inte hitta konfigurationsfil för insticksmodulen %s"
 
-#: ../yum/plugins.py:508
+#: ../yum/plugins.py:553
 msgid "registration of commands not supported"
 msgstr "registrering av kommandon stöds inte"
 
-#: ../yum/rpmsack.py:148
+#: ../yum/rpmsack.py:159
 msgid "has missing requires of"
 msgstr "har ett saknat beroende på"
 
-#: ../yum/rpmsack.py:151
+#: ../yum/rpmsack.py:162
 msgid "has installed conflicts"
 msgstr "har installerad konflikt"
 
-#: ../yum/rpmsack.py:160
+#: ../yum/rpmsack.py:171
 #, python-format
 msgid "%s is a duplicate with %s"
 msgstr "%s är en dubblett med %s"
 
-#: ../yum/rpmsack.py:168
+#: ../yum/rpmsack.py:179
 #, python-format
 msgid "%s is obsoleted by %s"
 msgstr "%s fasas ut av %s"
 
-#: ../yum/rpmsack.py:176
+#: ../yum/rpmsack.py:187
 #, python-format
 msgid "%s provides %s but it cannot be found"
 msgstr "%s tillhandahåller %s men det kan inte hittas"
@@ -3162,6 +3460,23 @@ msgstr "%s tillhandahåller %s men det kan inte hittas"
 msgid "Repackaging"
 msgstr "Paketerar om"
 
+#: ../yum/rpmtrans.py:149
+#, python-format
+msgid "Verify: %u/%u: %s"
+msgstr "Verifiera: %u/%u: %s"
+
+#: ../yum/yumRepo.py:919
+#, python-format
+msgid ""
+"Insufficient space in download directory %s\n"
+"    * free   %s\n"
+"    * needed %s"
+msgstr "Otillräckligt utrymme i hämtningskatalogen %s\n    * fritt   %s\n    * behovet %s"
+
+#: ../yum/yumRepo.py:986
+msgid "Package does not match intended download."
+msgstr ""
+
 #: ../rpmUtils/oldUtils.py:33
 #, python-format
 msgid "Header cannot be opened or does not match %s, %s."
@@ -3174,9 +3489,7 @@ msgstr "RPM %s misslyckas med md5-kontroll"
 
 #: ../rpmUtils/oldUtils.py:151
 msgid "Could not open RPM database for reading. Perhaps it is already in use?"
-msgstr ""
-"Det gick inte att öppna RPM-databasen för läsning.  Kanske den redan "
-"används?"
+msgstr "Det gick inte att öppna RPM-databasen för läsning.  Kanske den redan används?"
 
 #: ../rpmUtils/oldUtils.py:183
 msgid "Got an empty Header, something has gone wrong"
@@ -3192,5 +3505,3 @@ msgstr "Trasigt huvud %s"
 #, python-format
 msgid "Error opening rpm %s - error %s"
 msgstr "Fel när rpm %s öppnades - fel %s"
-
-
diff --git a/po/tr.po b/po/tr.po
new file mode 100644
index 0000000..57fee42
--- /dev/null
+++ b/po/tr.po
@@ -0,0 +1,3491 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# 
+# Translators:
+# Muhammet Kara <muhammet.k@gmail.com>, 2011, 2012.
+# Onuralp SEZER <thunderbirdtr@gmail.com>, 2012.
+msgid ""
+msgstr ""
+"Project-Id-Version: Yum\n"
+"Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
+"POT-Creation-Date: 2013-01-30 09:08-0500\n"
+"PO-Revision-Date: 2013-01-30 14:08+0000\n"
+"Last-Translator: james <james@fedoraproject.org>\n"
+"Language-Team: Turkish (http://www.transifex.com/projects/p/yum/language/tr/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: tr\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: ../callback.py:45 ../output.py:1502 ../yum/rpmtrans.py:73
+msgid "Updating"
+msgstr "Güncelleniyor"
+
+#: ../callback.py:46 ../yum/rpmtrans.py:74
+msgid "Erasing"
+msgstr "Siliniyor"
+
+#: ../callback.py:47 ../callback.py:48 ../callback.py:50 ../output.py:1501
+#: ../output.py:2922 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
+#: ../yum/rpmtrans.py:78
+msgid "Installing"
+msgstr "Kuruluyor"
+
+#: ../callback.py:49 ../callback.py:55 ../output.py:2379 ../yum/rpmtrans.py:77
+msgid "Obsoleted"
+msgstr "Kullanım Dışı"
+
+#: ../callback.py:51 ../output.py:1670 ../output.py:2222 ../output.py:2386
+msgid "Updated"
+msgstr "Güncellendi"
+
+#: ../callback.py:52 ../output.py:2221
+msgid "Erased"
+msgstr "Silindi"
+
+#: ../callback.py:53 ../callback.py:54 ../callback.py:56 ../output.py:1668
+#: ../output.py:2221 ../output.py:2223 ../output.py:2894
+msgid "Installed"
+msgstr "Kuruldu"
+
+#: ../callback.py:142
+msgid "No header - huh?"
+msgstr "Başlık yok - ha?"
+
+#: ../callback.py:180
+msgid "Repackage"
+msgstr "Yeniden Paketle"
+
+#: ../callback.py:201
+#, python-format
+msgid "Error: invalid output state: %s for %s"
+msgstr "Hata: geçersiz çıktı durumu: %s (%s için)"
+
+#: ../callback.py:224
+#, python-format
+msgid "Erased: %s"
+msgstr "Silindi: %s"
+
+#: ../callback.py:229 ../output.py:1503 ../output.py:2897
+msgid "Removing"
+msgstr "Kaldırılıyor"
+
+#: ../callback.py:231 ../yum/rpmtrans.py:79
+msgid "Cleanup"
+msgstr "Temizle"
+
+#: ../cli.py:122
+#, python-format
+msgid "Command \"%s\" already defined"
+msgstr "\"%s\" komutu zaten tanımlanmış"
+
+#: ../cli.py:137
+msgid "Setting up repositories"
+msgstr "Depolar ayarlanıyor"
+
+#: ../cli.py:148
+msgid "Reading repository metadata in from local files"
+msgstr "Depo meta verisi yerel dosyalardan okunuyor"
+
+#: ../cli.py:273 ../cli.py:277 ../utils.py:320
+#, python-format
+msgid "Config Error: %s"
+msgstr "Yapılandırma Hatası: %s"
+
+#: ../cli.py:280 ../cli.py:2206 ../utils.py:323
+#, python-format
+msgid "Options Error: %s"
+msgstr "Seçeneklerde Hata: %s"
+
+#: ../cli.py:327
+#, python-format
+msgid "  Installed: %s-%s at %s"
+msgstr "  Kuruldu: %s-%s at %s"
+
+#: ../cli.py:329
+#, python-format
+msgid "  Built    : %s at %s"
+msgstr ""
+
+#: ../cli.py:331
+#, python-format
+msgid "  Committed: %s at %s"
+msgstr ""
+
+#: ../cli.py:372
+msgid "You need to give some command"
+msgstr "Bir komut vermelisiniz"
+
+#: ../cli.py:386
+#, python-format
+msgid "No such command: %s. Please use %s --help"
+msgstr "Böyle bir komut yok: %s. Lütfen %s--help komutunu kullanın"
+
+#: ../cli.py:444
+msgid "Disk Requirements:\n"
+msgstr "Disk Gereksinimleri:\n"
+
+#: ../cli.py:446
+#, python-format
+msgid "  At least %dMB more space needed on the %s filesystem.\n"
+msgid_plural "  At least %dMB more space needed on the %s filesystem.\n"
+msgstr[0] ""
+
+#. TODO: simplify the dependency errors?
+#. Fixup the summary
+#: ../cli.py:451
+msgid ""
+"Error Summary\n"
+"-------------\n"
+msgstr "Hata Özeti\n-------------\n"
+
+#: ../cli.py:472
+msgid "Can't create lock file; exiting"
+msgstr ""
+
+#: ../cli.py:479
+msgid ""
+"Another app is currently holding the yum lock; exiting as configured by "
+"exit_on_lock"
+msgstr ""
+
+#: ../cli.py:532
+msgid "Trying to run the transaction but nothing to do. Exiting."
+msgstr ""
+
+#: ../cli.py:577
+msgid "future rpmdb ver mismatched saved transaction version,"
+msgstr ""
+
+#: ../cli.py:579 ../yum/__init__.py:6523
+msgid " ignoring, as requested."
+msgstr ""
+
+#: ../cli.py:582 ../yum/__init__.py:6526 ../yum/__init__.py:6673
+msgid " aborting."
+msgstr "iptal ediliyor."
+
+#: ../cli.py:588
+msgid "Exiting on user Command"
+msgstr "Kullanıcı Komutu ile Çıkılıyor"
+
+#: ../cli.py:592
+msgid "Downloading Packages:"
+msgstr "Paketler İndiriliyor:"
+
+#: ../cli.py:597
+msgid "Error Downloading Packages:\n"
+msgstr "Paketler İndirilirken Hata Oluştu:\n"
+
+#: ../cli.py:616 ../yum/__init__.py:6215
+msgid "Running Transaction Check"
+msgstr ""
+
+#: ../cli.py:625 ../yum/__init__.py:6224
+msgid "ERROR You need to update rpm to handle:"
+msgstr "HATA Bunu işlemek için rpm'i güncellemelisiniz:"
+
+#: ../cli.py:627 ../yum/__init__.py:6227
+msgid "ERROR with transaction check vs depsolve:"
+msgstr ""
+
+#: ../cli.py:633
+msgid "RPM needs to be updated"
+msgstr "RPM'nin güncellenmesi gerekiyor"
+
+#: ../cli.py:634
+#, python-format
+msgid "Please report this error in %s"
+msgstr "Lütfen %s'deki bu hatayı bildirin"
+
+#: ../cli.py:640
+msgid "Running Transaction Test"
+msgstr "İşlem Sınaması Yürütülüyor"
+
+#: ../cli.py:652
+msgid "Transaction Check Error:\n"
+msgstr "İşlem Denetimi Hatası:\n"
+
+#: ../cli.py:659
+msgid "Transaction Test Succeeded"
+msgstr "İşlem Sınaması Başarılı"
+
+#: ../cli.py:691
+msgid "Running Transaction"
+msgstr "İşlem Yürütülüyor"
+
+#: ../cli.py:724
+msgid ""
+"Refusing to automatically import keys when running unattended.\n"
+"Use \"-y\" to override."
+msgstr ""
+
+#: ../cli.py:743 ../cli.py:786
+msgid "  * Maybe you meant: "
+msgstr "  * Belki de bunu demek istediniz: "
+
+#: ../cli.py:769 ../cli.py:777
+#, python-format
+msgid "Package(s) %s%s%s available, but not installed."
+msgstr "%s%s%s paket(ler)i kullanılabilir durumda ama kurulmamış."
+
+#: ../cli.py:783 ../cli.py:891 ../cli.py:1158
+#, python-format
+msgid "No package %s%s%s available."
+msgstr "%s%s%s diye kullanılabilir bir paket yok."
+
+#: ../cli.py:871 ../cli.py:881 ../cli.py:1101 ../cli.py:1111
+#, python-format
+msgid "Bad %s argument %s."
+msgstr ""
+
+#: ../cli.py:900 ../yumcommands.py:3331
+#, python-format
+msgid "%d package to install"
+msgid_plural "%d packages to install"
+msgstr[0] "%d paket kurulacak"
+
+#: ../cli.py:903 ../cli.py:904 ../cli.py:1169 ../cli.py:1170 ../cli.py:1224
+#: ../cli.py:1225 ../cli.py:1260 ../yumcommands.py:323 ../yumcommands.py:3419
+msgid "Nothing to do"
+msgstr "Yapılacak birşey yok"
+
+#: ../cli.py:953
+#, python-format
+msgid "%d package marked for Update"
+msgid_plural "%d packages marked for Update"
+msgstr[0] "%d paket Güncelleme için işaretlendi"
+
+#: ../cli.py:955
+msgid "No Packages marked for Update"
+msgstr "Hiçbir paket, Güncelleme için işaretlenmedi"
+
+#: ../cli.py:1067
+#, python-format
+msgid "%d package marked for Distribution Synchronization"
+msgid_plural "%d packages marked for Distribution Synchronization"
+msgstr[0] "%d paket Dağıtım Eşzamanlaması için işaretlendi"
+
+#: ../cli.py:1069
+msgid "No Packages marked for Distribution Synchronization"
+msgstr "Hiçbir paket, Dağıtım Eşzamanlaması için işaretlenmedi"
+
+#: ../cli.py:1124
+#, python-format
+msgid "%d package marked for removal"
+msgid_plural "%d packages marked for removal"
+msgstr[0] "%d paket kaldırılmak için işaretlendi"
+
+#: ../cli.py:1126
+msgid "No Packages marked for removal"
+msgstr "Hiçbir paket, kaldırılmak üzere işaretlenmedi"
+
+#: ../cli.py:1166
+#, python-format
+msgid "%d package to downgrade"
+msgid_plural "%d packages to downgrade"
+msgstr[0] "%d paket indirgenmek için işaretlendi"
+
+#: ../cli.py:1207
+#, python-format
+msgid " (from %s)"
+msgstr " (%s ' den)"
+
+#: ../cli.py:1208
+#, python-format
+msgid "Installed package %s%s%s%s not available."
+msgstr ""
+
+#: ../cli.py:1221
+#, python-format
+msgid "%d package to reinstall"
+msgid_plural "%d packages to reinstall"
+msgstr[0] "%d paket yeniden kurulacak"
+
+#: ../cli.py:1246
+msgid "No Packages Provided"
+msgstr "Hiçbir Paket Sağlanmadı"
+
+#: ../cli.py:1259
+msgid "Package(s) to install"
+msgstr "Kurulacak paket(ler)"
+
+#: ../cli.py:1367
+#, python-format
+msgid "N/S Matched: %s"
+msgstr ""
+
+#: ../cli.py:1384
+#, python-format
+msgid "  Name and summary matches %sonly%s, use \"search all\" for everything."
+msgstr ""
+
+#: ../cli.py:1386
+#, python-format
+msgid ""
+"  Full name and summary matches %sonly%s, use \"search all\" for everything."
+msgstr ""
+
+#: ../cli.py:1404
+#, python-format
+msgid "Matched: %s"
+msgstr "Eşleşen: %s"
+
+#: ../cli.py:1411
+#, python-format
+msgid "  Name and summary matches %smostly%s, use \"search all\" for everything."
+msgstr ""
+
+#: ../cli.py:1415
+#, python-format
+msgid "Warning: No matches found for: %s"
+msgstr "Uyarı: Bunun için hiçbir eşleşme bulunamadı: %s"
+
+#: ../cli.py:1418
+msgid "No Matches found"
+msgstr "Hiçbir Eşleşme bulunamadı"
+
+#: ../cli.py:1536
+#, python-format
+msgid ""
+"Error: No Packages found for:\n"
+"  %s"
+msgstr ""
+
+#: ../cli.py:1572
+msgid "Cleaning repos: "
+msgstr "Depolar temizleniyor: "
+
+#: ../cli.py:1577
+msgid "Cleaning up Everything"
+msgstr "Herşey Temizleniyor"
+
+#: ../cli.py:1593
+msgid "Cleaning up Headers"
+msgstr "Başlıklar Temizleniyor"
+
+#: ../cli.py:1596
+msgid "Cleaning up Packages"
+msgstr "Paketler Temizleniyor"
+
+#: ../cli.py:1599
+msgid "Cleaning up xml metadata"
+msgstr "Xml meta verisi temizleniyor"
+
+#: ../cli.py:1602
+msgid "Cleaning up database cache"
+msgstr "Veritabanı önbelleği temizleniyor"
+
+#: ../cli.py:1605
+msgid "Cleaning up expire-cache metadata"
+msgstr "Zamanaşımı önbelleği meta verisi temizleniyor"
+
+#: ../cli.py:1608
+msgid "Cleaning up cached rpmdb data"
+msgstr "Önbelleğe alınmış rpmdb verisi temizleniyor"
+
+#: ../cli.py:1611
+msgid "Cleaning up plugins"
+msgstr "Eklentiler temizleniyor"
+
+#: ../cli.py:1727
+msgid "Installed Environment Groups:"
+msgstr ""
+
+#: ../cli.py:1728
+msgid "Available Environment Groups:"
+msgstr ""
+
+#: ../cli.py:1735
+msgid "Installed Groups:"
+msgstr "Kurulan Gruplar:"
+
+#: ../cli.py:1742
+msgid "Installed Language Groups:"
+msgstr ""
+
+#: ../cli.py:1749
+msgid "Available Groups:"
+msgstr "Kullanılabilir Gruplar:"
+
+#: ../cli.py:1756
+msgid "Available Language Groups:"
+msgstr ""
+
+#: ../cli.py:1759
+#, python-format
+msgid "Warning: No Environments/Groups match: %s"
+msgstr ""
+
+#: ../cli.py:1763
+msgid "Done"
+msgstr "Yapıldı"
+
+#: ../cli.py:1818
+#, python-format
+msgid "Warning: Group/Environment %s does not exist."
+msgstr ""
+
+#: ../cli.py:1859
+#, python-format
+msgid "Warning: Environment %s does not exist."
+msgstr ""
+
+#: ../cli.py:1873 ../cli.py:1879 ../yum/__init__.py:4254
+#, python-format
+msgid "Warning: Group %s does not exist."
+msgstr "Uyarı: %s adlı bir grup yok."
+
+#: ../cli.py:1883
+msgid "No packages in any requested group available to install or update"
+msgstr "İstenilen gruplardaki hiçbir paketin kurulum ya da güncellemesi kullanılabilir değil."
+
+#: ../cli.py:1885
+#, python-format
+msgid "%d package to Install"
+msgid_plural "%d packages to Install"
+msgstr[0] "%d paket kurulacak"
+
+#: ../cli.py:1919 ../yum/__init__.py:3536 ../yum/__init__.py:3766
+#: ../yum/__init__.py:3824
+#, python-format
+msgid "No Environment named %s exists"
+msgstr ""
+
+#: ../cli.py:1935 ../yum/__init__.py:4282
+#, python-format
+msgid "No group named %s exists"
+msgstr "%s adlı bir grup yok"
+
+#: ../cli.py:1945
+msgid "No packages to remove from groups"
+msgstr "Gruplardan kaldırılacak hiçbir paket yok"
+
+#: ../cli.py:1947 ../yumcommands.py:3351
+#, python-format
+msgid "%d package to remove"
+msgid_plural "%d packages to remove"
+msgstr[0] "%d paket kaldırılacak"
+
+#: ../cli.py:1988
+#, python-format
+msgid "Package %s is already installed, skipping"
+msgstr "%s paketi zaten kurulmuş, atlanıyor"
+
+#: ../cli.py:1999
+#, python-format
+msgid "Discarding non-comparable pkg %s.%s"
+msgstr ""
+
+#. we've not got any installed that match n or n+a
+#: ../cli.py:2025
+#, python-format
+msgid "No other %s installed, adding to list for potential install"
+msgstr ""
+
+#: ../cli.py:2045
+msgid "Plugin Options"
+msgstr "Eklenti Seçenekleri"
+
+#: ../cli.py:2057
+#, python-format
+msgid "Command line error: %s"
+msgstr "Komut satırı hatası: %s"
+
+#: ../cli.py:2079
+#, python-format
+msgid ""
+"\n"
+"\n"
+"%s: %s option requires an argument"
+msgstr "\n\n%s: %s seçeneği bir argüman gerektiriyor"
+
+#: ../cli.py:2147
+msgid "--color takes one of: auto, always, never"
+msgstr "--color, şunlardan birini alabilir: auto, always, never"
+
+#. We have a relative installroot ... haha
+#: ../cli.py:2218
+#, python-format
+msgid "--installroot must be an absolute path: %s"
+msgstr ""
+
+#: ../cli.py:2272
+msgid "show this help message and exit"
+msgstr "bu yardım mesajını göster ve çık"
+
+#: ../cli.py:2276
+msgid "be tolerant of errors"
+msgstr "Hatalarda toleranslı ol "
+
+#: ../cli.py:2279
+msgid "run entirely from system cache, don't update cache"
+msgstr "tamamen sistem önbelleğinden çalış, önbelleği güncelleme"
+
+#: ../cli.py:2282
+msgid "config file location"
+msgstr "yapılandırma dosyası konumu"
+
+#: ../cli.py:2285
+msgid "maximum command wait time"
+msgstr "en fazla komut bekleme süresi"
+
+#: ../cli.py:2287
+msgid "debugging output level"
+msgstr "hata ayıklama çıktısı düzeyi"
+
+#: ../cli.py:2291
+msgid "show duplicates, in repos, in list/search commands"
+msgstr "Depoda , liste/arama komutunlarında , çakışmaları göster"
+
+#: ../cli.py:2296
+msgid "error output level"
+msgstr "hata çıktısı düzeyi"
+
+#: ../cli.py:2299
+msgid "debugging output level for rpm"
+msgstr "rpm için hata ayıklama çıktısı düzeyi"
+
+#: ../cli.py:2302
+msgid "quiet operation"
+msgstr "sessiz işlem"
+
+#: ../cli.py:2304
+msgid "verbose operation"
+msgstr "açıklamalı işlem"
+
+#: ../cli.py:2306
+msgid "answer yes for all questions"
+msgstr "tüm soruları evet olarak cevapla"
+
+#: ../cli.py:2308
+msgid "answer no for all questions"
+msgstr "tüm sorulara hayır cevabını ver"
+
+#: ../cli.py:2312
+msgid "show Yum version and exit"
+msgstr "Yum sürümünü göster ve çık"
+
+#: ../cli.py:2313
+msgid "set install root"
+msgstr "kurulum kökünü ayarla"
+
+#: ../cli.py:2317
+msgid "enable one or more repositories (wildcards allowed)"
+msgstr "Bir veya birden depoyu aktifleştir (Joker karakter izin verilir)"
+
+#: ../cli.py:2321
+msgid "disable one or more repositories (wildcards allowed)"
+msgstr "Bir veya birden depoyu devre dışı bırak (Joker karakter izin verilir)"
+
+#: ../cli.py:2324
+msgid "exclude package(s) by name or glob"
+msgstr ""
+
+#: ../cli.py:2326
+msgid "disable exclude from main, for a repo or for everything"
+msgstr ""
+
+#: ../cli.py:2329
+msgid "enable obsoletes processing during updates"
+msgstr "Güncelleme boyunca kullanılmayan işlemini etkinleştir"
+
+#: ../cli.py:2331
+msgid "disable Yum plugins"
+msgstr "Yum eklentilerini devre dışı bırak"
+
+#: ../cli.py:2333
+msgid "disable gpg signature checking"
+msgstr "gpg imza denetimini devre dışı bırak"
+
+#: ../cli.py:2335
+msgid "disable plugins by name"
+msgstr "eklentileri ada göre devre dışı bırak"
+
+#: ../cli.py:2338
+msgid "enable plugins by name"
+msgstr "eklentileri ada göre etkinleştir"
+
+#: ../cli.py:2341
+msgid "skip packages with depsolving problems"
+msgstr "Bağımlılık problemleri olan paketleri atla"
+
+#: ../cli.py:2343
+msgid "control whether color is used"
+msgstr "renk kullanılıp kullanılmayacağını kontrol et"
+
+#: ../cli.py:2345
+msgid "set value of $releasever in yum config and repo files"
+msgstr ""
+
+#: ../cli.py:2347
+msgid "don't update, just download"
+msgstr ""
+
+#: ../cli.py:2349
+msgid "specifies an alternate directory to store packages"
+msgstr ""
+
+#: ../cli.py:2351
+msgid "set arbitrary config and repo options"
+msgstr ""
+
+#: ../output.py:458
+msgid "Jan"
+msgstr "Oca"
+
+#: ../output.py:458
+msgid "Feb"
+msgstr "Şub"
+
+#: ../output.py:458
+msgid "Mar"
+msgstr "Mar"
+
+#: ../output.py:458
+msgid "Apr"
+msgstr "Nis"
+
+#: ../output.py:458
+msgid "May"
+msgstr "May"
+
+#: ../output.py:458
+msgid "Jun"
+msgstr "Haz"
+
+#: ../output.py:459
+msgid "Jul"
+msgstr "Tem"
+
+#: ../output.py:459
+msgid "Aug"
+msgstr "Ağu"
+
+#: ../output.py:459
+msgid "Sep"
+msgstr "Eyl"
+
+#: ../output.py:459
+msgid "Oct"
+msgstr "Eki"
+
+#: ../output.py:459
+msgid "Nov"
+msgstr "Kas"
+
+#: ../output.py:459
+msgid "Dec"
+msgstr "Ara"
+
+#: ../output.py:473
+msgid "Trying other mirror."
+msgstr "Başka bir yansı deneniyor."
+
+#: ../output.py:816
+#, python-format
+msgid "Name        : %s%s%s"
+msgstr "Ad        : %s%s%s"
+
+#: ../output.py:817
+#, python-format
+msgid "Arch        : %s"
+msgstr "Mimari        : %s"
+
+#: ../output.py:819
+#, python-format
+msgid "Epoch       : %s"
+msgstr ""
+
+#: ../output.py:820
+#, python-format
+msgid "Version     : %s"
+msgstr "Sürüm     : %s"
+
+#: ../output.py:821
+#, python-format
+msgid "Release     : %s"
+msgstr "Dağıtım     : %s"
+
+#: ../output.py:822
+#, python-format
+msgid "Size        : %s"
+msgstr "Boyut        : %s"
+
+#: ../output.py:823 ../output.py:1329
+#, python-format
+msgid "Repo        : %s"
+msgstr "Depo        : %s"
+
+#: ../output.py:825
+#, python-format
+msgid "From repo   : %s"
+msgstr "Depodan   : %s"
+
+#: ../output.py:827
+#, python-format
+msgid "Committer   : %s"
+msgstr "Committer   : %s"
+
+#: ../output.py:828
+#, python-format
+msgid "Committime  : %s"
+msgstr "Komitzamanı  : %s"
+
+#: ../output.py:829
+#, python-format
+msgid "Buildtime   : %s"
+msgstr "İnşaatzamanı   : %s"
+
+#: ../output.py:831
+#, python-format
+msgid "Install time: %s"
+msgstr "Kurulum zamanı: %s"
+
+#: ../output.py:839
+#, python-format
+msgid "Installed by: %s"
+msgstr "Kuran: %s"
+
+#: ../output.py:846
+#, python-format
+msgid "Changed by  : %s"
+msgstr "Değiştiren  : %s"
+
+#: ../output.py:847
+msgid "Summary     : "
+msgstr "Özet     : "
+
+#: ../output.py:849 ../output.py:1345
+#, python-format
+msgid "URL         : %s"
+msgstr "URL         : %s"
+
+#: ../output.py:850
+msgid "License     : "
+msgstr "Lisans     : "
+
+#: ../output.py:851 ../output.py:1342
+msgid "Description : "
+msgstr "Açıklama : "
+
+#: ../output.py:969
+msgid "y"
+msgstr "e"
+
+#: ../output.py:969
+msgid "yes"
+msgstr "evet"
+
+#: ../output.py:970
+msgid "n"
+msgstr "h"
+
+#: ../output.py:970
+msgid "no"
+msgstr "hayır"
+
+#: ../output.py:974
+msgid "Is this ok [y/N]: "
+msgstr "Tamam mı [e/H]: "
+
+#: ../output.py:1097
+#, python-format
+msgid ""
+"\n"
+"Group: %s"
+msgstr "\nGrup: %s"
+
+#: ../output.py:1101
+#, python-format
+msgid " Group-Id: %s"
+msgstr " Grup-Kimliği: %s"
+
+#: ../output.py:1122 ../output.py:1169
+#, python-format
+msgid " Description: %s"
+msgstr "Açıklama: %s"
+
+#: ../output.py:1124
+#, python-format
+msgid " Language: %s"
+msgstr " Dil: %s"
+
+#: ../output.py:1126
+msgid " Mandatory Packages:"
+msgstr " Zorunlu Paketler:"
+
+#: ../output.py:1127
+msgid " Default Packages:"
+msgstr " Öntanımlı Paketler:"
+
+#: ../output.py:1128
+msgid " Optional Packages:"
+msgstr " İsteğe Bağlı Paketler:"
+
+#: ../output.py:1129
+msgid " Conditional Packages:"
+msgstr " Şartlı Paketler:"
+
+#: ../output.py:1147
+msgid " Installed Packages:"
+msgstr "Paketler Kuruldu:"
+
+#: ../output.py:1157
+#, python-format
+msgid ""
+"\n"
+"Environment Group: %s"
+msgstr ""
+
+#: ../output.py:1158
+#, python-format
+msgid " Environment-Id: %s"
+msgstr ""
+
+#: ../output.py:1191
+msgid " Mandatory Groups:"
+msgstr ""
+
+#: ../output.py:1192
+msgid " Optional Groups:"
+msgstr ""
+
+#: ../output.py:1205
+msgid " Installed Groups:"
+msgstr ""
+
+#: ../output.py:1217
+#, python-format
+msgid "package: %s"
+msgstr "paket: %s"
+
+#: ../output.py:1219
+msgid "  No dependencies for this package"
+msgstr "  Bu paket için hiçbir bağımlılık yok"
+
+#: ../output.py:1224
+#, python-format
+msgid "  dependency: %s"
+msgstr "  bağımlılık: %s"
+
+#: ../output.py:1226
+msgid "   Unsatisfied dependency"
+msgstr "Yetersiz bağımlılık"
+
+#: ../output.py:1337
+msgid "Matched from:"
+msgstr ""
+
+#: ../output.py:1348
+#, python-format
+msgid "License     : %s"
+msgstr "Lisans     : %s"
+
+#: ../output.py:1351
+#, python-format
+msgid "Filename    : %s"
+msgstr "Dosya adı    : %s"
+
+#: ../output.py:1360
+msgid "Provides    : "
+msgstr ""
+
+#: ../output.py:1363
+msgid "Other       : "
+msgstr "Diğer       : "
+
+#: ../output.py:1426
+msgid "There was an error calculating total download size"
+msgstr "Toplam indirme boyutu hesaplanırken bir hata oluştu"
+
+#: ../output.py:1431
+#, python-format
+msgid "Total size: %s"
+msgstr "Toplam boyut: %s"
+
+#: ../output.py:1433
+#, python-format
+msgid "Total download size: %s"
+msgstr "Toplam indirme boyutu: %s"
+
+#: ../output.py:1436 ../output.py:1459 ../output.py:1463
+#, python-format
+msgid "Installed size: %s"
+msgstr "Kurulu boyutu: %s"
+
+#: ../output.py:1454
+msgid "There was an error calculating installed size"
+msgstr "Kurulu boyutu hesaplarken bir hata oluştu"
+
+#: ../output.py:1504
+msgid "Reinstalling"
+msgstr "Yeniden kuruluyor"
+
+#: ../output.py:1505
+msgid "Downgrading"
+msgstr "Sürüm düşürülüyor"
+
+#: ../output.py:1506
+msgid "Installing for dependencies"
+msgstr "Bağımlılıklar nedeniyle kuruluyor"
+
+#: ../output.py:1507
+msgid "Updating for dependencies"
+msgstr "Bağımlılıklar nedeniyle güncelleniyor"
+
+#: ../output.py:1508
+msgid "Removing for dependencies"
+msgstr "Bağımlılıklar nedeniyle kaldırılıyor"
+
+#: ../output.py:1515 ../output.py:1576 ../output.py:1672
+msgid "Skipped (dependency problems)"
+msgstr "Atlandı (bağımlılık sorunları)"
+
+#: ../output.py:1517 ../output.py:1577 ../output.py:2223
+msgid "Not installed"
+msgstr "Kurulmadı"
+
+#: ../output.py:1518 ../output.py:1578
+msgid "Not available"
+msgstr "Kullanılabilir değil"
+
+#: ../output.py:1540 ../output.py:1588 ../output.py:1604 ../output.py:2581
+msgid "Package"
+msgid_plural "Packages"
+msgstr[0] "Paketler"
+
+#: ../output.py:1540
+msgid "Arch"
+msgstr "Mimari"
+
+#: ../output.py:1541
+msgid "Version"
+msgstr "Sürüm"
+
+#: ../output.py:1541
+msgid "Repository"
+msgstr "Depo"
+
+#: ../output.py:1542
+msgid "Size"
+msgstr "Boyut"
+
+#: ../output.py:1554
+#, python-format
+msgid "     replacing  %s%s%s.%s %s\n"
+msgstr ""
+
+#: ../output.py:1563
+#, python-format
+msgid ""
+"\n"
+"Transaction Summary\n"
+"%s\n"
+msgstr ""
+
+#: ../output.py:1568 ../output.py:2376 ../output.py:2377
+msgid "Install"
+msgstr "Kur"
+
+#: ../output.py:1570
+msgid "Upgrade"
+msgstr "Yükselt"
+
+#: ../output.py:1572
+msgid "Remove"
+msgstr "Kaldır"
+
+#: ../output.py:1574 ../output.py:2382
+msgid "Reinstall"
+msgstr "Yeniden Kur"
+
+#: ../output.py:1575 ../output.py:2383
+msgid "Downgrade"
+msgstr ""
+
+#: ../output.py:1606
+msgid "Dependent package"
+msgid_plural "Dependent packages"
+msgstr[0] "Bağımlı paketler"
+
+#: ../output.py:1666
+msgid "Removed"
+msgstr "Kaldırıldı"
+
+#: ../output.py:1667
+msgid "Dependency Removed"
+msgstr "Bağımlılık Kaldırıldı"
+
+#: ../output.py:1669
+msgid "Dependency Installed"
+msgstr "Bağımlılık Kuruldu"
+
+#: ../output.py:1671
+msgid "Dependency Updated"
+msgstr "Bağımlılık Güncellendi"
+
+#: ../output.py:1673
+msgid "Replaced"
+msgstr "Değiştirildi"
+
+#: ../output.py:1674
+msgid "Failed"
+msgstr "Başarısız Oldu"
+
+#. Delta between C-c's so we treat as exit
+#: ../output.py:1764
+msgid "two"
+msgstr "iki"
+
+#. For translators: This is output like:
+#. Current download cancelled, interrupt (ctrl-c) again within two seconds
+#. to exit.
+#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
+#: ../output.py:1775
+#, python-format
+msgid ""
+"\n"
+" Current download cancelled, %sinterrupt (ctrl-c) again%s within %s%s%s seconds\n"
+"to exit.\n"
+msgstr ""
+
+#: ../output.py:1786
+msgid "user interrupt"
+msgstr ""
+
+#: ../output.py:1812
+msgid "Total"
+msgstr "Toplam"
+
+#: ../output.py:1834
+msgid "I"
+msgstr "I"
+
+#: ../output.py:1835
+msgid "O"
+msgstr "O"
+
+#: ../output.py:1836
+msgid "E"
+msgstr "E"
+
+#: ../output.py:1837
+msgid "R"
+msgstr "R"
+
+#: ../output.py:1838
+msgid "D"
+msgstr "D"
+
+#: ../output.py:1839
+msgid "U"
+msgstr "U"
+
+#: ../output.py:1853
+msgid "<unset>"
+msgstr "<unset>"
+
+#: ../output.py:1854
+msgid "System"
+msgstr "Sistem"
+
+#: ../output.py:1923
+#, python-format
+msgid "Skipping merged transaction %d to %d, as it overlaps"
+msgstr ""
+
+#: ../output.py:1933 ../output.py:2125
+msgid "No transactions"
+msgstr ""
+
+#: ../output.py:1958 ../output.py:2570 ../output.py:2660
+msgid "Bad transaction IDs, or package(s), given"
+msgstr ""
+
+#: ../output.py:2007
+msgid "Command line"
+msgstr "Komut satırı"
+
+#: ../output.py:2009 ../output.py:2458
+msgid "Login user"
+msgstr "Kullanıcı Girişi"
+
+#. REALLY Needs to use columns!
+#: ../output.py:2010 ../output.py:2579
+msgid "ID"
+msgstr "ID"
+
+#: ../output.py:2012
+msgid "Date and time"
+msgstr "Tarih ve saat"
+
+#: ../output.py:2013 ../output.py:2460 ../output.py:2580
+msgid "Action(s)"
+msgstr "Eylem(ler)"
+
+#: ../output.py:2014 ../output.py:2461
+msgid "Altered"
+msgstr "Değişikliğe uğradı"
+
+#: ../output.py:2061
+msgid "No transaction ID given"
+msgstr ""
+
+#: ../output.py:2087 ../output.py:2526
+msgid "Bad transaction ID given"
+msgstr ""
+
+#: ../output.py:2092
+msgid "Not found given transaction ID"
+msgstr ""
+
+#: ../output.py:2100
+msgid "Found more than one transaction ID!"
+msgstr ""
+
+#: ../output.py:2151 ../output.py:2534
+msgid "No transaction ID, or package, given"
+msgstr ""
+
+#: ../output.py:2222 ../output.py:2384
+msgid "Downgraded"
+msgstr "İndirgendi"
+
+#: ../output.py:2224
+msgid "Older"
+msgstr "Daha eski"
+
+#: ../output.py:2224
+msgid "Newer"
+msgstr "Daha yeni"
+
+#: ../output.py:2261 ../output.py:2263 ../output.py:2681
+msgid "Transaction ID :"
+msgstr ""
+
+#: ../output.py:2265 ../output.py:2683
+msgid "Begin time     :"
+msgstr "Başlama zamanı     :"
+
+#: ../output.py:2268 ../output.py:2270
+msgid "Begin rpmdb    :"
+msgstr "rpmdb başlangıcı    :"
+
+#: ../output.py:2286
+#, python-format
+msgid "(%u seconds)"
+msgstr "(%u saniye)"
+
+#: ../output.py:2288
+#, python-format
+msgid "(%u minutes)"
+msgstr "(%u dakika)"
+
+#: ../output.py:2290
+#, python-format
+msgid "(%u hours)"
+msgstr "(%u dakika)"
+
+#: ../output.py:2292
+#, python-format
+msgid "(%u days)"
+msgstr "(%u gün)"
+
+#: ../output.py:2293
+msgid "End time       :"
+msgstr "Bitiş zamanı       :"
+
+#: ../output.py:2296 ../output.py:2298
+msgid "End rpmdb      :"
+msgstr "rpmdb sonu      :"
+
+#: ../output.py:2301 ../output.py:2303
+msgid "User           :"
+msgstr "Kullanıcı           :"
+
+#: ../output.py:2307 ../output.py:2310 ../output.py:2312 ../output.py:2314
+#: ../output.py:2316
+msgid "Return-Code    :"
+msgstr "Return-Code    :"
+
+#: ../output.py:2307 ../output.py:2312
+msgid "Aborted"
+msgstr "İptal Edildi"
+
+#: ../output.py:2310
+msgid "Failures:"
+msgstr ""
+
+#: ../output.py:2314
+msgid "Failure:"
+msgstr "Başarısız:"
+
+#: ../output.py:2316
+msgid "Success"
+msgstr "Başarılı"
+
+#: ../output.py:2321 ../output.py:2323 ../output.py:2712
+msgid "Command Line   :"
+msgstr "Komut Satırı   :"
+
+#: ../output.py:2332
+#, python-format
+msgid "Additional non-default information stored: %d"
+msgstr ""
+
+#. This is _possible_, but not common
+#: ../output.py:2337
+msgid "Transaction performed with:"
+msgstr ""
+
+#: ../output.py:2341
+msgid "Packages Altered:"
+msgstr "Değişikliğe Uğrayan Paketler:"
+
+#: ../output.py:2345
+msgid "Packages Skipped:"
+msgstr "Atlanan Paketler:"
+
+#: ../output.py:2353
+msgid "Rpmdb Problems:"
+msgstr "Rpmdb Sorunları:"
+
+#: ../output.py:2364
+msgid "Scriptlet output:"
+msgstr ""
+
+#: ../output.py:2370
+msgid "Errors:"
+msgstr "Hatalar:"
+
+#: ../output.py:2378
+msgid "Dep-Install"
+msgstr ""
+
+#: ../output.py:2380
+msgid "Obsoleting"
+msgstr ""
+
+#: ../output.py:2381
+msgid "Erase"
+msgstr "Sil"
+
+#: ../output.py:2385
+msgid "Update"
+msgstr "Güncelle"
+
+#: ../output.py:2459
+msgid "Time"
+msgstr "Zaman"
+
+#: ../output.py:2485
+msgid "Last day"
+msgstr "Son bir gün"
+
+#: ../output.py:2486
+msgid "Last week"
+msgstr "Son bir hafta"
+
+#: ../output.py:2487
+msgid "Last 2 weeks"
+msgstr "Son 2 hafta"
+
+#. US default :p
+#: ../output.py:2488
+msgid "Last 3 months"
+msgstr "Son 3 ay"
+
+#: ../output.py:2489
+msgid "Last 6 months"
+msgstr "Son 6 ay"
+
+#: ../output.py:2490
+msgid "Last year"
+msgstr "Geçen yıl"
+
+#: ../output.py:2491
+msgid "Over a year ago"
+msgstr "Bir yıldan fazla zaman önce"
+
+#: ../output.py:2538
+#, python-format
+msgid "No Transaction %s found"
+msgstr ""
+
+#: ../output.py:2544
+msgid "Transaction ID:"
+msgstr "İşlem ID:"
+
+#: ../output.py:2545
+msgid "Available additional history information:"
+msgstr "Kullanılabilir ek geçmiş bilgisi:"
+
+#: ../output.py:2558
+#, python-format
+msgid "%s: No additional data found by this name"
+msgstr ""
+
+#: ../output.py:2684
+msgid "Package        :"
+msgstr "Paket        :"
+
+#: ../output.py:2685
+msgid "State          :"
+msgstr "Durum          :"
+
+#: ../output.py:2688
+msgid "Size           :"
+msgstr "Boyut           :"
+
+#: ../output.py:2690
+msgid "Build host     :"
+msgstr "İnşa makinesi     :"
+
+#: ../output.py:2693
+msgid "Build time     :"
+msgstr "İnşa zamanı     :"
+
+#: ../output.py:2695
+msgid "Packager       :"
+msgstr "Paketleyen       :"
+
+#: ../output.py:2697
+msgid "Vendor         :"
+msgstr "Üretici         :"
+
+#: ../output.py:2699
+msgid "License        :"
+msgstr "Lisans        :"
+
+#: ../output.py:2701
+msgid "URL            :"
+msgstr "URL            :"
+
+#: ../output.py:2703
+msgid "Source RPM     :"
+msgstr "Kaynak RPM     :"
+
+#: ../output.py:2706
+msgid "Commit Time    :"
+msgstr ""
+
+#: ../output.py:2708
+msgid "Committer      :"
+msgstr ""
+
+#: ../output.py:2710
+msgid "Reason         :"
+msgstr ""
+
+#: ../output.py:2714
+msgid "From repo      :"
+msgstr ""
+
+#: ../output.py:2718
+msgid "Installed by   :"
+msgstr ""
+
+#: ../output.py:2722
+msgid "Changed by     :"
+msgstr ""
+
+#: ../output.py:2767
+msgid "installed"
+msgstr "kuruldu"
+
+#: ../output.py:2768
+msgid "an update"
+msgstr ""
+
+#: ../output.py:2769
+msgid "erased"
+msgstr "silindi"
+
+#: ../output.py:2770
+msgid "reinstalled"
+msgstr "yeniden kuruldu"
+
+#: ../output.py:2771
+msgid "a downgrade"
+msgstr ""
+
+#: ../output.py:2772
+msgid "obsoleting"
+msgstr ""
+
+#: ../output.py:2773
+msgid "updated"
+msgstr "güncellendi"
+
+#: ../output.py:2774
+msgid "obsoleted"
+msgstr "eskimiş"
+
+#: ../output.py:2778
+#, python-format
+msgid "---> Package %s.%s %s:%s-%s will be %s"
+msgstr ""
+
+#: ../output.py:2789
+msgid "--> Running transaction check"
+msgstr ""
+
+#: ../output.py:2795
+msgid "--> Restarting Dependency Resolution with new changes."
+msgstr ""
+
+#: ../output.py:2801
+msgid "--> Finished Dependency Resolution"
+msgstr ""
+
+#: ../output.py:2814 ../output.py:2827
+#, python-format
+msgid "--> Processing Dependency: %s for package: %s"
+msgstr ""
+
+#: ../output.py:2841
+#, python-format
+msgid "---> Keeping package: %s due to %s"
+msgstr ""
+
+#: ../output.py:2850
+#, python-format
+msgid "--> Unresolved Dependency: %s"
+msgstr ""
+
+#: ../output.py:2867
+#, python-format
+msgid "Package: %s"
+msgstr "Paket: %s"
+
+#: ../output.py:2869
+#, python-format
+msgid ""
+"\n"
+"    Requires: %s"
+msgstr "\n    Gereksinimler: %s"
+
+#: ../output.py:2878
+#, python-format
+msgid ""
+"\n"
+"    %s: %s (%s)"
+msgstr "\n    %s: %s (%s)"
+
+#: ../output.py:2883
+#, python-format
+msgid ""
+"\n"
+"        %s"
+msgstr "\n        %s"
+
+#: ../output.py:2885
+msgid ""
+"\n"
+"        Not found"
+msgstr "\n        Bulunamadı"
+
+#. These should be the only three things we care about:
+#: ../output.py:2900
+msgid "Updated By"
+msgstr "Güncelleyen:"
+
+#: ../output.py:2901
+msgid "Downgraded By"
+msgstr "İndirgeyen:"
+
+#: ../output.py:2902
+msgid "Obsoleted By"
+msgstr "Tarafından eskimiş"
+
+#: ../output.py:2920
+msgid "Available"
+msgstr "Kullanılabilir"
+
+#: ../output.py:2955 ../output.py:2968
+#, python-format
+msgid "--> Processing Conflict: %s conflicts %s"
+msgstr "--> Uyuşmazlık İşleniyor: %s, %s ile uyuşmuyor"
+
+#: ../output.py:2974
+msgid "--> Populating transaction set with selected packages. Please wait."
+msgstr ""
+
+#: ../output.py:2983
+#, python-format
+msgid "---> Downloading header for %s to pack into transaction set."
+msgstr ""
+
+#. self.event(txmbr.name, count, len(base.tsInfo), count, )
+#. (te_current*100L)/te_total
+#: ../output.py:3248
+msgid "Verifying"
+msgstr "Doğrulanıyor"
+
+#: ../utils.py:123
+msgid "Running"
+msgstr "Çalışıyor"
+
+#: ../utils.py:124
+msgid "Sleeping"
+msgstr "Uykuda"
+
+#: ../utils.py:125
+msgid "Uninterruptible"
+msgstr "Durdurulamaz"
+
+#: ../utils.py:126
+msgid "Zombie"
+msgstr "Zombi"
+
+#: ../utils.py:127
+msgid "Traced/Stopped"
+msgstr ""
+
+#: ../utils.py:128 ../yumcommands.py:2193
+msgid "Unknown"
+msgstr "Bilinmiyor"
+
+#: ../utils.py:153
+msgid "  The other application is: PackageKit"
+msgstr "  Diğer uygulama: PackageKit"
+
+#: ../utils.py:155
+#, python-format
+msgid "  The other application is: %s"
+msgstr "  Diğer uygulama: %s"
+
+#: ../utils.py:158
+#, python-format
+msgid "    Memory : %5s RSS (%5sB VSZ)"
+msgstr "    Bellek : %5s RSS (%5sB VSZ)"
+
+#: ../utils.py:163
+#, python-format
+msgid "    Started: %s - %s ago"
+msgstr "    Başladı: %s - %s kadar önce"
+
+#: ../utils.py:165
+#, python-format
+msgid "    State  : %s, pid: %d"
+msgstr "    Durum  : %s, pid: %d"
+
+#: ../utils.py:194 ../yummain.py:43
+msgid ""
+"\n"
+"\n"
+"Exiting on user cancel"
+msgstr ""
+
+#: ../utils.py:206 ../yummain.py:49
+msgid ""
+"\n"
+"\n"
+"Exiting on Broken Pipe"
+msgstr ""
+
+#: ../utils.py:208 ../yummain.py:51
+#, python-format
+msgid ""
+"\n"
+"\n"
+"%s"
+msgstr "\n\n%s"
+
+#: ../utils.py:326
+#, python-format
+msgid "PluginExit Error: %s"
+msgstr "PluginExit Hatası: %s"
+
+#: ../utils.py:329
+#, python-format
+msgid "Yum Error: %s"
+msgstr "Yum Hatası: %s"
+
+#: ../utils.py:387 ../yummain.py:147 ../yummain.py:186
+#, python-format
+msgid "Error: %s"
+msgstr "Hata: %s"
+
+#: ../utils.py:391 ../yummain.py:191
+msgid " You could try using --skip-broken to work around the problem"
+msgstr "--skip-broken kullanmayı deneyerek problemli durumda çalıştırabilirsiniz."
+
+#: ../utils.py:393 ../yummain.py:87
+msgid " You could try running: rpm -Va --nofiles --nodigest"
+msgstr "Bunu çalıştırmayı deneyebilirsiniz: rpm -Va --nofiles --nodigest"
+
+#: ../utils.py:400 ../yummain.py:157 ../yummain.py:199
+#, python-format
+msgid "Unknown Error(s): Exit Code: %d:"
+msgstr "Bilinmeyen Hata(lar): Çıkış Kodu: %d:"
+
+#: ../utils.py:406 ../yummain.py:205
+msgid ""
+"\n"
+"Dependencies Resolved"
+msgstr "\nBağımlılıklar Çözüldü"
+
+#: ../utils.py:422 ../yummain.py:237
+msgid "Complete!"
+msgstr "Tamamlandı!"
+
+#: ../yumcommands.py:42
+msgid " Mini usage:\n"
+msgstr ""
+
+#: ../yumcommands.py:52
+msgid "You need to be root to perform this command."
+msgstr "Bu komutu çalıştırmak için root (üst yönetici) olmanız gerekiyor."
+
+#: ../yumcommands.py:67
+msgid ""
+"\n"
+"You have enabled checking of packages via GPG keys. This is a good thing. \n"
+"However, you do not have any GPG public keys installed. You need to download\n"
+"the keys for packages you wish to install and install them.\n"
+"You can do that by running the command:\n"
+"    rpm --import public.gpg.key\n"
+"\n"
+"\n"
+"Alternatively you can specify the url to the key you would like to use\n"
+"for a repository in the 'gpgkey' option in a repository section and yum \n"
+"will install it for you.\n"
+"\n"
+"For more information contact your distribution or package provider.\n"
+msgstr ""
+
+#: ../yumcommands.py:82
+#, python-format
+msgid "Problem repository: %s"
+msgstr ""
+
+#: ../yumcommands.py:96
+#, python-format
+msgid "Error: Need to pass a list of pkgs to %s"
+msgstr ""
+
+#: ../yumcommands.py:114
+#, python-format
+msgid "Error: Need at least two packages to %s"
+msgstr ""
+
+#: ../yumcommands.py:129
+#, python-format
+msgid "Error: Need to pass a repoid. and command to %s"
+msgstr ""
+
+#: ../yumcommands.py:136 ../yumcommands.py:142
+#, python-format
+msgid "Error: Need to pass a single valid repoid. to %s"
+msgstr ""
+
+#: ../yumcommands.py:147
+#, python-format
+msgid "Error: Repo %s is not enabled"
+msgstr ""
+
+#: ../yumcommands.py:164
+msgid "Error: Need an item to match"
+msgstr "Hata:Nesnenin uyumlu olması lazım"
+
+#: ../yumcommands.py:178
+msgid "Error: Need a group or list of groups"
+msgstr ""
+
+#: ../yumcommands.py:195
+#, python-format
+msgid "Error: clean requires an option: %s"
+msgstr ""
+
+#: ../yumcommands.py:201
+#, python-format
+msgid "Error: invalid clean argument: %r"
+msgstr "Hata: Geçersiz argüman : %r"
+
+#: ../yumcommands.py:216
+msgid "No argument to shell"
+msgstr "Kabuk argümanı yok"
+
+#: ../yumcommands.py:218
+#, python-format
+msgid "Filename passed to shell: %s"
+msgstr ""
+
+#: ../yumcommands.py:222
+#, python-format
+msgid "File %s given as argument to shell does not exist."
+msgstr ""
+
+#: ../yumcommands.py:228
+msgid "Error: more than one file given as argument to shell."
+msgstr ""
+
+#: ../yumcommands.py:247
+msgid ""
+"There are no enabled repos.\n"
+" Run \"yum repolist all\" to see the repos you have.\n"
+" You can enable repos with yum-config-manager --enable <repo>"
+msgstr ""
+
+#: ../yumcommands.py:383
+msgid "PACKAGE..."
+msgstr "PAKET..."
+
+#: ../yumcommands.py:390
+msgid "Install a package or packages on your system"
+msgstr "Sisteminize paket veya paketleri yükleyin."
+
+#: ../yumcommands.py:421
+msgid "Setting up Install Process"
+msgstr "Yükleme İşlemi ayarlanıyor"
+
+#: ../yumcommands.py:447 ../yumcommands.py:507
+msgid "[PACKAGE...]"
+msgstr "[PAKET...]"
+
+#: ../yumcommands.py:454
+msgid "Update a package or packages on your system"
+msgstr ""
+
+#: ../yumcommands.py:483
+msgid "Setting up Update Process"
+msgstr ""
+
+#: ../yumcommands.py:514
+msgid "Synchronize installed packages to the latest available versions"
+msgstr ""
+
+#: ../yumcommands.py:543
+msgid "Setting up Distribution Synchronization Process"
+msgstr ""
+
+#: ../yumcommands.py:603
+msgid "Display details about a package or group of packages"
+msgstr "Bir paket ya da paket grubu hakkındaki ayrıntıları görüntüle"
+
+#: ../yumcommands.py:672
+msgid "Installed Packages"
+msgstr "Kurulan Paketler"
+
+#: ../yumcommands.py:682
+msgid "Available Packages"
+msgstr "Kullanılabilir Paketler"
+
+#: ../yumcommands.py:687
+msgid "Extra Packages"
+msgstr "Ek Paketler"
+
+#: ../yumcommands.py:691
+msgid "Updated Packages"
+msgstr "Güncellenen Paketler"
+
+#. This only happens in verbose mode
+#: ../yumcommands.py:699 ../yumcommands.py:706 ../yumcommands.py:1539
+msgid "Obsoleting Packages"
+msgstr "Eksimiş Paketler"
+
+#: ../yumcommands.py:708
+msgid "Recently Added Packages"
+msgstr "Yeni Eklenen Paketler"
+
+#: ../yumcommands.py:715
+msgid "No matching Packages to list"
+msgstr "Paketler liste ile uyumlu değil"
+
+#: ../yumcommands.py:766
+msgid "List a package or groups of packages"
+msgstr "Paket listeleri veya Paket grupları"
+
+#: ../yumcommands.py:797
+msgid "Remove a package or packages from your system"
+msgstr "Bir paketi ya da paketleri sisteminizden kaldırın"
+
+#: ../yumcommands.py:845
+msgid "Setting up Remove Process"
+msgstr "Kaldırma İşlemi Ayarlanıyor"
+
+#: ../yumcommands.py:906
+msgid "Display, or use, the groups information"
+msgstr ""
+
+#: ../yumcommands.py:909
+msgid "Setting up Group Process"
+msgstr "Grup İşlemi Ayarlanıyor"
+
+#: ../yumcommands.py:915
+msgid "No Groups on which to run command"
+msgstr ""
+
+#: ../yumcommands.py:985
+#, python-format
+msgid "Invalid groups sub-command, use: %s."
+msgstr ""
+
+#: ../yumcommands.py:992
+msgid "There is no installed groups file."
+msgstr ""
+
+#: ../yumcommands.py:994
+msgid "You don't have access to the groups DB."
+msgstr ""
+
+#: ../yumcommands.py:1256
+msgid "Generate the metadata cache"
+msgstr "Önbellek metaverisi üret."
+
+#: ../yumcommands.py:1282
+msgid "Making cache files for all metadata files."
+msgstr ""
+
+#: ../yumcommands.py:1283
+msgid "This may take a while depending on the speed of this computer"
+msgstr ""
+
+#: ../yumcommands.py:1312
+msgid "Metadata Cache Created"
+msgstr "Önbellek metaverisi yaratıldı"
+
+#: ../yumcommands.py:1350
+msgid "Remove cached data"
+msgstr "Önbellek verisini sil"
+
+#: ../yumcommands.py:1417
+msgid "Find what package provides the given value"
+msgstr ""
+
+#: ../yumcommands.py:1485
+msgid "Check for available package updates"
+msgstr ""
+
+#: ../yumcommands.py:1587
+msgid "Search package details for the given string"
+msgstr ""
+
+#: ../yumcommands.py:1613
+msgid "Searching Packages: "
+msgstr "Paketler Aranıyor: "
+
+#: ../yumcommands.py:1666
+msgid "Update packages taking obsoletes into account"
+msgstr ""
+
+#: ../yumcommands.py:1696
+msgid "Setting up Upgrade Process"
+msgstr ""
+
+#: ../yumcommands.py:1731
+msgid "Install a local RPM"
+msgstr "Yerel RPM yükle"
+
+#: ../yumcommands.py:1761
+msgid "Setting up Local Package Process"
+msgstr "Yerel Paket İşlemi ayarlanıyor"
+
+#: ../yumcommands.py:1825
+msgid "Searching Packages for Dependency:"
+msgstr "Paketler için bağımlılıklar aranıyor:"
+
+#: ../yumcommands.py:1867
+msgid "Run an interactive yum shell"
+msgstr "İnteraktif yum kabuğu çalıştır"
+
+#: ../yumcommands.py:1893
+msgid "Setting up Yum Shell"
+msgstr "Yum Kabuğu Ayarlanıyor"
+
+#: ../yumcommands.py:1936
+msgid "List a package's dependencies"
+msgstr "Bir paketin bağımlılıklarını listele"
+
+#: ../yumcommands.py:1963
+msgid "Finding dependencies: "
+msgstr "Bağımlılıklar bulunuyor: "
+
+#: ../yumcommands.py:2005
+msgid "Display the configured software repositories"
+msgstr "Yapılandırılmış yazılım depolarını görüntüle"
+
+#: ../yumcommands.py:2094 ../yumcommands.py:2095
+msgid "enabled"
+msgstr "etkin"
+
+#: ../yumcommands.py:2121 ../yumcommands.py:2122
+msgid "disabled"
+msgstr "devre dışı"
+
+#: ../yumcommands.py:2137
+msgid "Repo-id      : "
+msgstr "Depo-id      : "
+
+#: ../yumcommands.py:2138
+msgid "Repo-name    : "
+msgstr "Depo-ismi    : "
+
+#: ../yumcommands.py:2141
+msgid "Repo-status  : "
+msgstr "Depo-durumu  : "
+
+#: ../yumcommands.py:2144
+msgid "Repo-revision: "
+msgstr "Repo-revizesi: "
+
+#: ../yumcommands.py:2148
+msgid "Repo-tags    : "
+msgstr "Depo-tagları    : "
+
+#: ../yumcommands.py:2154
+msgid "Repo-distro-tags: "
+msgstr "Depo-dağıtım-tagları: "
+
+#: ../yumcommands.py:2159
+msgid "Repo-updated : "
+msgstr "Depo-Güncellendi:"
+
+#: ../yumcommands.py:2161
+msgid "Repo-pkgs    : "
+msgstr "Depo-pkgs    : "
+
+#: ../yumcommands.py:2162
+msgid "Repo-size    : "
+msgstr "Depo-boyutu    : "
+
+#: ../yumcommands.py:2169 ../yumcommands.py:2190
+msgid "Repo-baseurl : "
+msgstr ""
+
+#: ../yumcommands.py:2177
+msgid "Repo-metalink: "
+msgstr "Depo-metalink: "
+
+#: ../yumcommands.py:2181
+msgid "  Updated    : "
+msgstr "  Güncellendi    : "
+
+#: ../yumcommands.py:2184
+msgid "Repo-mirrors : "
+msgstr "Depo-yansımaları : "
+
+#: ../yumcommands.py:2199
+#, python-format
+msgid "Never (last: %s)"
+msgstr "Asla (Son: %s)"
+
+#: ../yumcommands.py:2201
+#, python-format
+msgid "Instant (last: %s)"
+msgstr ""
+
+#: ../yumcommands.py:2204
+#, python-format
+msgid "%s second(s) (last: %s)"
+msgstr ""
+
+#: ../yumcommands.py:2206
+msgid "Repo-expire  : "
+msgstr ""
+
+#: ../yumcommands.py:2209
+msgid "Repo-exclude : "
+msgstr ""
+
+#: ../yumcommands.py:2213
+msgid "Repo-include : "
+msgstr ""
+
+#: ../yumcommands.py:2217
+msgid "Repo-excluded: "
+msgstr ""
+
+#: ../yumcommands.py:2221
+msgid "Repo-filename: "
+msgstr ""
+
+#. Work out the first (id) and last (enabled/disalbed/count),
+#. then chop the middle (name)...
+#: ../yumcommands.py:2230 ../yumcommands.py:2259
+msgid "repo id"
+msgstr ""
+
+#: ../yumcommands.py:2247 ../yumcommands.py:2248 ../yumcommands.py:2266
+msgid "status"
+msgstr "durum"
+
+#: ../yumcommands.py:2260
+msgid "repo name"
+msgstr ""
+
+#: ../yumcommands.py:2332
+msgid "Display a helpful usage message"
+msgstr ""
+
+#: ../yumcommands.py:2374
+#, python-format
+msgid "No help available for %s"
+msgstr ""
+
+#: ../yumcommands.py:2379
+msgid ""
+"\n"
+"\n"
+"aliases: "
+msgstr ""
+
+#: ../yumcommands.py:2381
+msgid ""
+"\n"
+"\n"
+"alias: "
+msgstr ""
+
+#: ../yumcommands.py:2466
+msgid "Setting up Reinstall Process"
+msgstr ""
+
+#: ../yumcommands.py:2478
+msgid "reinstall a package"
+msgstr ""
+
+#: ../yumcommands.py:2541
+msgid "Setting up Downgrade Process"
+msgstr ""
+
+#: ../yumcommands.py:2552
+msgid "downgrade a package"
+msgstr ""
+
+#: ../yumcommands.py:2591
+msgid "Display a version for the machine and/or available repos."
+msgstr ""
+
+#: ../yumcommands.py:2643
+msgid " Yum version groups:"
+msgstr ""
+
+#: ../yumcommands.py:2653
+msgid " Group   :"
+msgstr " Grup   :"
+
+#: ../yumcommands.py:2654
+msgid " Packages:"
+msgstr " Paketler:"
+
+#: ../yumcommands.py:2683
+msgid "Installed:"
+msgstr "Kuruldu:"
+
+#: ../yumcommands.py:2691
+msgid "Group-Installed:"
+msgstr ""
+
+#: ../yumcommands.py:2700
+msgid "Available:"
+msgstr "Kullanılabilir:"
+
+#: ../yumcommands.py:2709
+msgid "Group-Available:"
+msgstr ""
+
+#: ../yumcommands.py:2783
+msgid "Display, or use, the transaction history"
+msgstr ""
+
+#: ../yumcommands.py:2876 ../yumcommands.py:2880
+msgid "Transactions:"
+msgstr ""
+
+#: ../yumcommands.py:2881
+msgid "Begin time  :"
+msgstr ""
+
+#: ../yumcommands.py:2882
+msgid "End time    :"
+msgstr ""
+
+#: ../yumcommands.py:2883
+msgid "Counts      :"
+msgstr ""
+
+#: ../yumcommands.py:2884
+msgid "  NEVRAC :"
+msgstr ""
+
+#: ../yumcommands.py:2885
+msgid "  NEVRA  :"
+msgstr ""
+
+#: ../yumcommands.py:2886
+msgid "  NA     :"
+msgstr ""
+
+#: ../yumcommands.py:2887
+msgid "  NEVR   :"
+msgstr ""
+
+#: ../yumcommands.py:2888
+msgid "  rpm DB :"
+msgstr ""
+
+#: ../yumcommands.py:2889
+msgid "  yum DB :"
+msgstr ""
+
+#: ../yumcommands.py:2922
+#, python-format
+msgid "Invalid history sub-command, use: %s."
+msgstr ""
+
+#: ../yumcommands.py:2929
+msgid "You don't have access to the history DB."
+msgstr ""
+
+#: ../yumcommands.py:3036
+msgid "Check for problems in the rpmdb"
+msgstr ""
+
+#: ../yumcommands.py:3102
+msgid "load a saved transaction from filename"
+msgstr ""
+
+#: ../yumcommands.py:3119
+msgid "No saved transaction file specified."
+msgstr ""
+
+#: ../yumcommands.py:3123
+#, python-format
+msgid "loading transaction from %s"
+msgstr ""
+
+#: ../yumcommands.py:3129
+#, python-format
+msgid "Transaction loaded from %s with %s members"
+msgstr ""
+
+#: ../yumcommands.py:3169
+msgid "Simple way to swap packages, isntead of using shell"
+msgstr ""
+
+#: ../yumcommands.py:3264
+msgid ""
+"Treat a repo. as a group of packages, so we can install/remove all of them"
+msgstr ""
+
+#: ../yumcommands.py:3341
+#, python-format
+msgid "%d package to update"
+msgid_plural "%d packages to update"
+msgstr[0] ""
+
+#: ../yumcommands.py:3370
+#, python-format
+msgid "%d package to remove/reinstall"
+msgid_plural "%d packages to remove/reinstall"
+msgstr[0] ""
+
+#: ../yumcommands.py:3413
+#, python-format
+msgid "%d package to remove/sync"
+msgid_plural "%d packages to remove/sync"
+msgstr[0] ""
+
+#: ../yumcommands.py:3417
+#, python-format
+msgid "Not a valid sub-command of %s"
+msgstr ""
+
+#. This is mainly for PackageSackError from rpmdb.
+#: ../yummain.py:84
+#, python-format
+msgid " Yum checks failed: %s"
+msgstr ""
+
+#: ../yummain.py:98
+msgid "No read/execute access in current directory, moving to /"
+msgstr ""
+
+#: ../yummain.py:106
+msgid "No getcwd() access in current directory, moving to /"
+msgstr ""
+
+#. Depsolve stage
+#: ../yummain.py:164
+msgid "Resolving Dependencies"
+msgstr "Bağımlılıklar Çözülüyor"
+
+#: ../yummain.py:227 ../yummain.py:235
+#, python-format
+msgid ""
+"Your transaction was saved, rerun it with:\n"
+" yum load-transaction %s"
+msgstr ""
+
+#: ../yummain.py:312
+msgid ""
+"\n"
+"\n"
+"Exiting on user cancel."
+msgstr ""
+
+#: ../yum/depsolve.py:127
+msgid "doTsSetup() will go away in a future version of Yum.\n"
+msgstr ""
+
+#: ../yum/depsolve.py:143
+msgid "Setting up TransactionSets before config class is up"
+msgstr ""
+
+#: ../yum/depsolve.py:200
+#, python-format
+msgid "Invalid tsflag in config file: %s"
+msgstr ""
+
+#: ../yum/depsolve.py:218
+#, python-format
+msgid "Searching pkgSack for dep: %s"
+msgstr ""
+
+#: ../yum/depsolve.py:269
+#, python-format
+msgid "Member: %s"
+msgstr "Üye: %s"
+
+#: ../yum/depsolve.py:283 ../yum/depsolve.py:937
+#, python-format
+msgid "%s converted to install"
+msgstr ""
+
+#: ../yum/depsolve.py:295
+#, python-format
+msgid "Adding Package %s in mode %s"
+msgstr ""
+
+#: ../yum/depsolve.py:311
+#, python-format
+msgid "Removing Package %s"
+msgstr "%s Paketi Kaldırılıyor"
+
+#: ../yum/depsolve.py:333
+#, python-format
+msgid "%s requires: %s"
+msgstr ""
+
+#: ../yum/depsolve.py:374
+#, python-format
+msgid "%s requires %s"
+msgstr ""
+
+#: ../yum/depsolve.py:401
+msgid "Needed Require has already been looked up, cheating"
+msgstr ""
+
+#: ../yum/depsolve.py:411
+#, python-format
+msgid "Needed Require is not a package name. Looking up: %s"
+msgstr ""
+
+#: ../yum/depsolve.py:419
+#, python-format
+msgid "Potential Provider: %s"
+msgstr ""
+
+#: ../yum/depsolve.py:442
+#, python-format
+msgid "Mode is %s for provider of %s: %s"
+msgstr ""
+
+#: ../yum/depsolve.py:446
+#, python-format
+msgid "Mode for pkg providing %s: %s"
+msgstr ""
+
+#. the thing it needs is being updated or obsoleted away
+#. try to update the requiring package in hopes that all this problem goes
+#. away :(
+#: ../yum/depsolve.py:451 ../yum/depsolve.py:486
+#, python-format
+msgid "Trying to update %s to resolve dep"
+msgstr ""
+
+#: ../yum/depsolve.py:480
+#, python-format
+msgid "No update paths found for %s. Failure!"
+msgstr ""
+
+#: ../yum/depsolve.py:491
+#, python-format
+msgid "No update paths found for %s. Failure due to requirement: %s!"
+msgstr ""
+
+#: ../yum/depsolve.py:507
+#, python-format
+msgid "Update for %s. Doesn't fix requirement: %s!"
+msgstr ""
+
+#: ../yum/depsolve.py:514
+#, python-format
+msgid "TSINFO: %s package requiring %s marked as erase"
+msgstr ""
+
+#: ../yum/depsolve.py:527
+#, python-format
+msgid "TSINFO: Obsoleting %s with %s to resolve dep."
+msgstr ""
+
+#: ../yum/depsolve.py:530
+#, python-format
+msgid "TSINFO: Updating %s to resolve dep."
+msgstr ""
+
+#: ../yum/depsolve.py:538
+#, python-format
+msgid "Cannot find an update path for dep for: %s"
+msgstr ""
+
+#: ../yum/depsolve.py:569
+#, python-format
+msgid "Quick matched %s to require for %s"
+msgstr ""
+
+#. is it already installed?
+#: ../yum/depsolve.py:611
+#, python-format
+msgid "%s is in providing packages but it is already installed, removing."
+msgstr ""
+
+#: ../yum/depsolve.py:627
+#, python-format
+msgid "Potential resolving package %s has newer instance in ts."
+msgstr ""
+
+#: ../yum/depsolve.py:638
+#, python-format
+msgid "Potential resolving package %s has newer instance installed."
+msgstr ""
+
+#: ../yum/depsolve.py:656
+#, python-format
+msgid "%s already in ts, skipping this one"
+msgstr ""
+
+#: ../yum/depsolve.py:705
+#, python-format
+msgid "TSINFO: Marking %s as update for %s"
+msgstr ""
+
+#: ../yum/depsolve.py:714
+#, python-format
+msgid "TSINFO: Marking %s as install for %s"
+msgstr ""
+
+#: ../yum/depsolve.py:849 ../yum/depsolve.py:967
+msgid "Success - empty transaction"
+msgstr ""
+
+#: ../yum/depsolve.py:889 ../yum/depsolve.py:927
+msgid "Restarting Loop"
+msgstr "Döngü Yeniden Başlatılıyor"
+
+#: ../yum/depsolve.py:947
+msgid "Dependency Process ending"
+msgstr ""
+
+#: ../yum/depsolve.py:969
+msgid "Success - deps resolved"
+msgstr ""
+
+#: ../yum/depsolve.py:993
+#, python-format
+msgid "Checking deps for %s"
+msgstr ""
+
+#: ../yum/depsolve.py:1082
+#, python-format
+msgid "looking for %s as a requirement of %s"
+msgstr ""
+
+#: ../yum/depsolve.py:1349
+#, python-format
+msgid "Running compare_providers() for %s"
+msgstr ""
+
+#: ../yum/depsolve.py:1376 ../yum/depsolve.py:1382
+#, python-format
+msgid "better arch in po %s"
+msgstr ""
+
+#: ../yum/depsolve.py:1496
+#, python-format
+msgid "%s obsoletes %s"
+msgstr ""
+
+#: ../yum/depsolve.py:1508
+#, python-format
+msgid ""
+"archdist compared %s to %s on %s\n"
+"  Winner: %s"
+msgstr ""
+
+#: ../yum/depsolve.py:1516
+#, python-format
+msgid "common sourcerpm %s and %s"
+msgstr ""
+
+#: ../yum/depsolve.py:1520
+#, python-format
+msgid "base package %s is installed for %s"
+msgstr ""
+
+#: ../yum/depsolve.py:1526
+#, python-format
+msgid "common prefix of %s between %s and %s"
+msgstr ""
+
+#: ../yum/depsolve.py:1543
+#, python-format
+msgid "provides vercmp: %s"
+msgstr ""
+
+#: ../yum/depsolve.py:1547 ../yum/depsolve.py:1581
+#, python-format
+msgid " Winner: %s"
+msgstr " Kazanan: %s"
+
+#: ../yum/depsolve.py:1577
+#, python-format
+msgid "requires minimal: %d"
+msgstr ""
+
+#: ../yum/depsolve.py:1586
+#, python-format
+msgid " Loser(with %d): %s"
+msgstr " Kaybeden(%d ile): %s"
+
+#: ../yum/depsolve.py:1602
+#, python-format
+msgid "Best Order: %s"
+msgstr ""
+
+#: ../yum/__init__.py:274
+msgid "doConfigSetup() will go away in a future version of Yum.\n"
+msgstr ""
+
+#: ../yum/__init__.py:553
+#, python-format
+msgid "Skipping unreadable repository %s"
+msgstr ""
+
+#: ../yum/__init__.py:572
+#, python-format
+msgid "Repository %r: Error parsing config: %s"
+msgstr ""
+
+#: ../yum/__init__.py:578
+#, python-format
+msgid "Repository %r is missing name in configuration, using id"
+msgstr ""
+
+#: ../yum/__init__.py:618
+msgid "plugins already initialised"
+msgstr ""
+
+#: ../yum/__init__.py:627
+msgid "doRpmDBSetup() will go away in a future version of Yum.\n"
+msgstr ""
+
+#: ../yum/__init__.py:638
+msgid "Reading Local RPMDB"
+msgstr ""
+
+#: ../yum/__init__.py:668
+msgid "doRepoSetup() will go away in a future version of Yum.\n"
+msgstr ""
+
+#: ../yum/__init__.py:722
+msgid "doSackSetup() will go away in a future version of Yum.\n"
+msgstr ""
+
+#: ../yum/__init__.py:752
+msgid "Setting up Package Sacks"
+msgstr ""
+
+#: ../yum/__init__.py:797
+#, python-format
+msgid "repo object for repo %s lacks a _resetSack method\n"
+msgstr ""
+
+#: ../yum/__init__.py:798
+msgid "therefore this repo cannot be reset.\n"
+msgstr ""
+
+#: ../yum/__init__.py:806
+msgid "doUpdateSetup() will go away in a future version of Yum.\n"
+msgstr ""
+
+#: ../yum/__init__.py:818
+msgid "Building updates object"
+msgstr ""
+
+#: ../yum/__init__.py:862
+msgid "doGroupSetup() will go away in a future version of Yum.\n"
+msgstr ""
+
+#: ../yum/__init__.py:887
+msgid "Getting group metadata"
+msgstr ""
+
+#: ../yum/__init__.py:915
+#, python-format
+msgid "Adding group file from repository: %s"
+msgstr ""
+
+#: ../yum/__init__.py:918
+#, python-format
+msgid "Failed to retrieve group file for repository: %s"
+msgstr ""
+
+#: ../yum/__init__.py:924
+#, python-format
+msgid "Failed to add groups file for repository: %s - %s"
+msgstr ""
+
+#: ../yum/__init__.py:930
+msgid "No Groups Available in any repository"
+msgstr ""
+
+#: ../yum/__init__.py:945
+msgid "Getting pkgtags metadata"
+msgstr ""
+
+#: ../yum/__init__.py:955
+#, python-format
+msgid "Adding tags from repository: %s"
+msgstr ""
+
+#: ../yum/__init__.py:966
+#, python-format
+msgid "Failed to add Pkg Tags for repository: %s - %s"
+msgstr ""
+
+#: ../yum/__init__.py:1059
+msgid "Importing additional filelist information"
+msgstr ""
+
+#: ../yum/__init__.py:1077
+#, python-format
+msgid "The program %s%s%s is found in the yum-utils package."
+msgstr ""
+
+#: ../yum/__init__.py:1094
+msgid ""
+"There are unfinished transactions remaining. You might consider running yum-"
+"complete-transaction first to finish them."
+msgstr ""
+
+#: ../yum/__init__.py:1111
+msgid "--> Finding unneeded leftover dependencies"
+msgstr ""
+
+#: ../yum/__init__.py:1169
+#, python-format
+msgid "Protected multilib versions: %s != %s"
+msgstr ""
+
+#. People are confused about protected mutilib ... so give
+#. them a nicer message.
+#: ../yum/__init__.py:1173
+#, python-format
+msgid ""
+" Multilib version problems found. This often means that the root\n"
+"cause is something else and multilib version checking is just\n"
+"pointing out that there is a problem. Eg.:\n"
+"\n"
+"  1. You have an upgrade for %(name)s which is missing some\n"
+"     dependency that another package requires. Yum is trying to\n"
+"     solve this by installing an older version of %(name)s of the\n"
+"     different architecture. If you exclude the bad architecture\n"
+"     yum will tell you what the root cause is (which package\n"
+"     requires what). You can try redoing the upgrade with\n"
+"     --exclude %(name)s.otherarch ... this should give you an error\n"
+"     message showing the root cause of the problem.\n"
+"\n"
+"  2. You have multiple architectures of %(name)s installed, but\n"
+"     yum can only see an upgrade for one of those arcitectures.\n"
+"     If you don't want/need both architectures anymore then you\n"
+"     can remove the one with the missing update and everything\n"
+"     will work.\n"
+"\n"
+"  3. You have duplicate versions of %(name)s installed already.\n"
+"     You can use \"yum check\" to get yum show these errors.\n"
+"\n"
+"...you can also use --setopt=protected_multilib=false to remove\n"
+"this checking, however this is almost never the correct thing to\n"
+"do as something else is very likely to go wrong (often causing\n"
+"much more problems).\n"
+"\n"
+msgstr ""
+
+#: ../yum/__init__.py:1257
+#, python-format
+msgid "Trying to remove \"%s\", which is protected"
+msgstr ""
+
+#: ../yum/__init__.py:1378
+msgid ""
+"\n"
+"Packages skipped because of dependency problems:"
+msgstr ""
+
+#: ../yum/__init__.py:1382
+#, python-format
+msgid "    %s from %s"
+msgstr ""
+
+#. FIXME: _N()
+#: ../yum/__init__.py:1556
+#, python-format
+msgid "** Found %d pre-existing rpmdb problem(s), 'yum check' output follows:"
+msgstr ""
+
+#: ../yum/__init__.py:1560
+msgid "Warning: RPMDB altered outside of yum."
+msgstr ""
+
+#: ../yum/__init__.py:1572
+msgid "missing requires"
+msgstr ""
+
+#: ../yum/__init__.py:1573
+msgid "installed conflict"
+msgstr ""
+
+#: ../yum/__init__.py:1709
+msgid ""
+"Warning: scriptlet or other non-fatal errors occurred during transaction."
+msgstr ""
+
+#: ../yum/__init__.py:1719
+msgid "Transaction couldn't start:"
+msgstr ""
+
+#. should this be 'to_unicoded'?
+#: ../yum/__init__.py:1722
+msgid "Could not run transaction."
+msgstr ""
+
+#: ../yum/__init__.py:1736
+#, python-format
+msgid "Failed to remove transaction file %s"
+msgstr ""
+
+#. maybe a file log here, too
+#. but raising an exception is not going to do any good
+#: ../yum/__init__.py:1792
+#, python-format
+msgid "%s was supposed to be installed but is not!"
+msgstr ""
+
+#. maybe a file log here, too
+#. but raising an exception is not going to do any good
+#. Note: This actually triggers atm. because we can't
+#. always find the erased txmbr to set it when
+#. we should.
+#: ../yum/__init__.py:1869
+#, python-format
+msgid "%s was supposed to be removed but is not!"
+msgstr ""
+
+#. Another copy seems to be running.
+#: ../yum/__init__.py:2004
+#, python-format
+msgid "Existing lock %s: another copy is running as pid %s."
+msgstr ""
+
+#. Whoa. What the heck happened?
+#: ../yum/__init__.py:2053
+#, python-format
+msgid "Could not create lock at %s: %s "
+msgstr ""
+
+#: ../yum/__init__.py:2065
+#, python-format
+msgid "Could not open lock %s: %s"
+msgstr ""
+
+#. The pid doesn't exist
+#. Whoa. What the heck happened?
+#: ../yum/__init__.py:2082
+#, python-format
+msgid "Unable to check if PID %s is active"
+msgstr ""
+
+#: ../yum/__init__.py:2132
+#, python-format
+msgid ""
+"Package does not match intended download. Suggestion: run yum "
+"--enablerepo=%s clean metadata"
+msgstr ""
+
+#: ../yum/__init__.py:2155
+msgid "Could not perform checksum"
+msgstr ""
+
+#: ../yum/__init__.py:2158
+msgid "Package does not match checksum"
+msgstr ""
+
+#: ../yum/__init__.py:2222
+#, python-format
+msgid "package fails checksum but caching is enabled for %s"
+msgstr ""
+
+#: ../yum/__init__.py:2225 ../yum/__init__.py:2268
+#, python-format
+msgid "using local copy of %s"
+msgstr ""
+
+#. caller handles errors
+#: ../yum/__init__.py:2342
+msgid "exiting because --downloadonly specified"
+msgstr ""
+
+#: ../yum/__init__.py:2371
+msgid "Header is not complete."
+msgstr ""
+
+#: ../yum/__init__.py:2411
+#, python-format
+msgid ""
+"Header not in local cache and caching-only mode enabled. Cannot download %s"
+msgstr ""
+
+#: ../yum/__init__.py:2471
+#, python-format
+msgid "Public key for %s is not installed"
+msgstr ""
+
+#: ../yum/__init__.py:2475
+#, python-format
+msgid "Problem opening package %s"
+msgstr ""
+
+#: ../yum/__init__.py:2483
+#, python-format
+msgid "Public key for %s is not trusted"
+msgstr ""
+
+#: ../yum/__init__.py:2487
+#, python-format
+msgid "Package %s is not signed"
+msgstr ""
+
+#: ../yum/__init__.py:2529
+#, python-format
+msgid "Cannot remove %s"
+msgstr ""
+
+#: ../yum/__init__.py:2533
+#, python-format
+msgid "%s removed"
+msgstr ""
+
+#: ../yum/__init__.py:2594
+#, python-format
+msgid "Cannot remove %s file %s"
+msgstr ""
+
+#: ../yum/__init__.py:2598
+#, python-format
+msgid "%s file %s removed"
+msgstr ""
+
+#: ../yum/__init__.py:2600
+#, python-format
+msgid "%d %s file removed"
+msgid_plural "%d %s files removed"
+msgstr[0] ""
+
+#: ../yum/__init__.py:2712
+#, python-format
+msgid "More than one identical match in sack for %s"
+msgstr ""
+
+#: ../yum/__init__.py:2718
+#, python-format
+msgid "Nothing matches %s.%s %s:%s-%s from update"
+msgstr ""
+
+#: ../yum/__init__.py:3096
+msgid ""
+"searchPackages() will go away in a future version of Yum."
+"                      Use searchGenerator() instead. \n"
+msgstr ""
+
+#: ../yum/__init__.py:3149
+#, python-format
+msgid "Searching %d package"
+msgid_plural "Searching %d packages"
+msgstr[0] ""
+
+#: ../yum/__init__.py:3153
+#, python-format
+msgid "searching package %s"
+msgstr ""
+
+#: ../yum/__init__.py:3165
+msgid "searching in file entries"
+msgstr ""
+
+#: ../yum/__init__.py:3172
+msgid "searching in provides entries"
+msgstr ""
+
+#: ../yum/__init__.py:3369
+msgid "No group data available for configured repositories"
+msgstr ""
+
+#: ../yum/__init__.py:3466 ../yum/__init__.py:3500 ../yum/__init__.py:3576
+#: ../yum/__init__.py:3582 ../yum/__init__.py:3719 ../yum/__init__.py:3723
+#: ../yum/__init__.py:4298
+#, python-format
+msgid "No Group named %s exists"
+msgstr ""
+
+#: ../yum/__init__.py:3512 ../yum/__init__.py:3740
+#, python-format
+msgid "package %s was not marked in group %s"
+msgstr ""
+
+#. (upgrade and igroup_data[pkg] == 'available')):
+#: ../yum/__init__.py:3622
+#, python-format
+msgid "Skipping package %s from group %s"
+msgstr ""
+
+#: ../yum/__init__.py:3628
+#, python-format
+msgid "Adding package %s from group %s"
+msgstr ""
+
+#: ../yum/__init__.py:3649
+#, python-format
+msgid "No package named %s available to be installed"
+msgstr ""
+
+#: ../yum/__init__.py:3702
+#, python-format
+msgid "Warning: Group %s does not have any packages to install."
+msgstr ""
+
+#: ../yum/__init__.py:3704
+#, python-format
+msgid "Group %s does have %u conditional packages, which may get installed."
+msgstr ""
+
+#: ../yum/__init__.py:3794
+#, python-format
+msgid "Skipping group %s from environment %s"
+msgstr ""
+
+#. This can happen due to excludes after .up has
+#. happened.
+#: ../yum/__init__.py:3858
+#, python-format
+msgid "Package tuple %s could not be found in packagesack"
+msgstr ""
+
+#: ../yum/__init__.py:3886
+#, python-format
+msgid "Package tuple %s could not be found in rpmdb"
+msgstr ""
+
+#: ../yum/__init__.py:3949 ../yum/__init__.py:4012
+#, python-format
+msgid "Invalid version flag from: %s"
+msgstr ""
+
+#: ../yum/__init__.py:3973 ../yum/__init__.py:3979 ../yum/__init__.py:4036
+#: ../yum/__init__.py:4042
+#, python-format
+msgid "No Package found for %s"
+msgstr ""
+
+#: ../yum/__init__.py:4245 ../yum/__init__.py:4274
+#, python-format
+msgid "Warning: Environment Group %s does not exist."
+msgstr ""
+
+#: ../yum/__init__.py:4397
+#, python-format
+msgid "Package: %s - can't co-install with %s"
+msgstr ""
+
+#: ../yum/__init__.py:4437
+msgid "Package Object was not a package object instance"
+msgstr ""
+
+#: ../yum/__init__.py:4441
+msgid "Nothing specified to install"
+msgstr ""
+
+#: ../yum/__init__.py:4465 ../yum/__init__.py:5410
+#, python-format
+msgid "Checking for virtual provide or file-provide for %s"
+msgstr ""
+
+#: ../yum/__init__.py:4542
+#, python-format
+msgid "Package %s installed and not available"
+msgstr ""
+
+#: ../yum/__init__.py:4545
+msgid "No package(s) available to install"
+msgstr ""
+
+#: ../yum/__init__.py:4557
+#, python-format
+msgid "Package: %s  - already in transaction set"
+msgstr ""
+
+#: ../yum/__init__.py:4589
+#, python-format
+msgid "Package %s is obsoleted by %s which is already installed"
+msgstr ""
+
+#: ../yum/__init__.py:4594
+#, python-format
+msgid ""
+"Package %s is obsoleted by %s, but obsoleting package does not provide for "
+"requirements"
+msgstr ""
+
+#: ../yum/__init__.py:4597
+#, python-format
+msgid "Package %s is obsoleted by %s, trying to install %s instead"
+msgstr ""
+
+#: ../yum/__init__.py:4605
+#, python-format
+msgid "Package %s already installed and latest version"
+msgstr ""
+
+#: ../yum/__init__.py:4619
+#, python-format
+msgid "Package matching %s already installed. Checking for update."
+msgstr ""
+
+#. update everything (the easy case)
+#: ../yum/__init__.py:4751
+msgid "Updating Everything"
+msgstr ""
+
+#: ../yum/__init__.py:4775 ../yum/__init__.py:4930 ../yum/__init__.py:4975
+#: ../yum/__init__.py:5011
+#, python-format
+msgid "Not Updating Package that is already obsoleted: %s.%s %s:%s-%s"
+msgstr ""
+
+#: ../yum/__init__.py:4830 ../yum/__init__.py:5072
+#, python-format
+msgid "%s"
+msgstr "%s"
+
+#: ../yum/__init__.py:4854 ../yum/__init__.py:5080 ../yum/__init__.py:5416
+#, python-format
+msgid "No Match for argument: %s"
+msgstr ""
+
+#: ../yum/__init__.py:4872
+#, python-format
+msgid "No package matched to upgrade: %s"
+msgstr ""
+
+#: ../yum/__init__.py:4919
+#, python-format
+msgid "Package is already obsoleted: %s.%s %s:%s-%s"
+msgstr ""
+
+#: ../yum/__init__.py:4970
+#, python-format
+msgid "Not Updating Package that is obsoleted: %s"
+msgstr ""
+
+#: ../yum/__init__.py:4979 ../yum/__init__.py:5015
+#, python-format
+msgid "Not Updating Package that is already updated: %s.%s %s:%s-%s"
+msgstr ""
+
+#: ../yum/__init__.py:5093
+#, python-format
+msgid "No package matched to remove: %s"
+msgstr ""
+
+#: ../yum/__init__.py:5099
+#, python-format
+msgid "Skipping the running kernel: %s"
+msgstr ""
+
+#: ../yum/__init__.py:5105
+#, python-format
+msgid "Removing %s from the transaction"
+msgstr ""
+
+#: ../yum/__init__.py:5142
+#, python-format
+msgid "Cannot open: %s. Skipping."
+msgstr "Açılamıyor: %s. Atlanıyor."
+
+#: ../yum/__init__.py:5145 ../yum/__init__.py:5262 ../yum/__init__.py:5347
+#, python-format
+msgid "Examining %s: %s"
+msgstr "%s İnceleniyor: %s"
+
+#: ../yum/__init__.py:5149
+#, python-format
+msgid "Cannot localinstall deltarpm: %s. Skipping."
+msgstr ""
+
+#: ../yum/__init__.py:5158 ../yum/__init__.py:5265 ../yum/__init__.py:5350
+#, python-format
+msgid ""
+"Cannot add package %s to transaction. Not a compatible architecture: %s"
+msgstr ""
+
+#: ../yum/__init__.py:5164
+#, python-format
+msgid "Cannot install package %s. It is obsoleted by installed package %s"
+msgstr ""
+
+#: ../yum/__init__.py:5172
+#, python-format
+msgid ""
+"Package %s not installed, cannot update it. Run yum install to install it "
+"instead."
+msgstr ""
+
+#: ../yum/__init__.py:5191 ../yum/__init__.py:5198
+#, python-format
+msgid ""
+"Package %s.%s not installed, cannot update it. Run yum install to install it"
+" instead."
+msgstr ""
+
+#: ../yum/__init__.py:5207 ../yum/__init__.py:5270 ../yum/__init__.py:5355
+#, python-format
+msgid "Excluding %s"
+msgstr ""
+
+#: ../yum/__init__.py:5212
+#, python-format
+msgid "Marking %s to be installed"
+msgstr ""
+
+#: ../yum/__init__.py:5218
+#, python-format
+msgid "Marking %s as an update to %s"
+msgstr ""
+
+#: ../yum/__init__.py:5225
+#, python-format
+msgid "%s: does not update installed package."
+msgstr ""
+
+#: ../yum/__init__.py:5259 ../yum/__init__.py:5344
+#, python-format
+msgid "Cannot open file: %s. Skipping."
+msgstr ""
+
+#: ../yum/__init__.py:5299
+msgid "Problem in reinstall: no package matched to remove"
+msgstr ""
+
+#: ../yum/__init__.py:5325
+#, python-format
+msgid "Problem in reinstall: no package %s matched to install"
+msgstr ""
+
+#: ../yum/__init__.py:5438
+msgid "No package(s) available to downgrade"
+msgstr ""
+
+#: ../yum/__init__.py:5446
+#, python-format
+msgid "Package %s is allowed multiple installs, skipping"
+msgstr ""
+
+#: ../yum/__init__.py:5496
+#, python-format
+msgid "No Match for available package: %s"
+msgstr ""
+
+#: ../yum/__init__.py:5506
+#, python-format
+msgid "Only Upgrade available on package: %s"
+msgstr ""
+
+#: ../yum/__init__.py:5619 ../yum/__init__.py:5686
+#, python-format
+msgid "Failed to downgrade: %s"
+msgstr ""
+
+#: ../yum/__init__.py:5636 ../yum/__init__.py:5692
+#, python-format
+msgid "Failed to upgrade: %s"
+msgstr ""
+
+#: ../yum/__init__.py:5725
+#, python-format
+msgid "Retrieving key from %s"
+msgstr ""
+
+#: ../yum/__init__.py:5743
+msgid "GPG key retrieval failed: "
+msgstr ""
+
+#. if we decide we want to check, even though the sig failed
+#. here is where we would do that
+#: ../yum/__init__.py:5766
+#, python-format
+msgid "GPG key signature on key %s does not match CA Key for repo: %s"
+msgstr ""
+
+#: ../yum/__init__.py:5768
+msgid "GPG key signature verified against CA Key(s)"
+msgstr ""
+
+#: ../yum/__init__.py:5776
+#, python-format
+msgid "Invalid GPG Key from %s: %s"
+msgstr ""
+
+#: ../yum/__init__.py:5785
+#, python-format
+msgid "GPG key parsing failed: key does not have value %s"
+msgstr ""
+
+#: ../yum/__init__.py:5801
+#, python-format
+msgid ""
+"Importing %s key 0x%s:\n"
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" Package    : %s (%s)\n"
+" From       : %s"
+msgstr ""
+
+#: ../yum/__init__.py:5811
+#, python-format
+msgid ""
+"Importing %s key 0x%s:\n"
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" From       : %s"
+msgstr ""
+
+#: ../yum/__init__.py:5839
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" Failing package is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr ""
+
+#: ../yum/__init__.py:5853
+#, python-format
+msgid "GPG key at %s (0x%s) is already installed"
+msgstr ""
+
+#: ../yum/__init__.py:5891
+#, python-format
+msgid "Key import failed (code %d)"
+msgstr "Anahtarın içe aktarımı başarısız oldu (kod %d)"
+
+#: ../yum/__init__.py:5893 ../yum/__init__.py:5994
+msgid "Key imported successfully"
+msgstr "Anahtar başarıyla içe aktarıldı"
+
+#: ../yum/__init__.py:5897
+msgid "Didn't install any keys"
+msgstr ""
+
+#: ../yum/__init__.py:5900
+#, python-format
+msgid ""
+"The GPG keys listed for the \"%s\" repository are already installed but they are not correct for this package.\n"
+"Check that the correct key URLs are configured for this repository."
+msgstr ""
+
+#: ../yum/__init__.py:5910
+msgid "Import of key(s) didn't help, wrong key(s)?"
+msgstr ""
+
+#: ../yum/__init__.py:5932
+msgid "No"
+msgstr "Hayır"
+
+#: ../yum/__init__.py:5934
+msgid "Yes"
+msgstr "Evet"
+
+#: ../yum/__init__.py:5935
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" CA Key: %s\n"
+" Failing repo is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr ""
+
+#: ../yum/__init__.py:5948
+#, python-format
+msgid "GPG key at %s (0x%s) is already imported"
+msgstr ""
+
+#: ../yum/__init__.py:5992
+#, python-format
+msgid "Key %s import failed"
+msgstr ""
+
+#: ../yum/__init__.py:6009
+#, python-format
+msgid "Didn't install any keys for repo %s"
+msgstr ""
+
+#: ../yum/__init__.py:6014
+#, python-format
+msgid ""
+"The GPG keys listed for the \"%s\" repository are already installed but they are not correct.\n"
+"Check that the correct key URLs are configured for this repository."
+msgstr ""
+
+#: ../yum/__init__.py:6172
+msgid "Unable to find a suitable mirror."
+msgstr ""
+
+#: ../yum/__init__.py:6174
+msgid "Errors were encountered while downloading packages."
+msgstr ""
+
+#: ../yum/__init__.py:6229
+#, python-format
+msgid "Please report this error at %s"
+msgstr ""
+
+#: ../yum/__init__.py:6246
+msgid "Test Transaction Errors: "
+msgstr ""
+
+#: ../yum/__init__.py:6358
+#, python-format
+msgid "Could not set cachedir: %s"
+msgstr ""
+
+#: ../yum/__init__.py:6420 ../yum/__init__.py:6422
+msgid "Dependencies not solved. Will not save unresolved transaction."
+msgstr ""
+
+#: ../yum/__init__.py:6455 ../yum/__init__.py:6457
+#, python-format
+msgid "Could not save transaction file %s: %s"
+msgstr ""
+
+#: ../yum/__init__.py:6483
+#, python-format
+msgid "Could not access/read saved transaction %s : %s"
+msgstr ""
+
+#: ../yum/__init__.py:6521
+msgid "rpmdb ver mismatched saved transaction version,"
+msgstr ""
+
+#: ../yum/__init__.py:6535
+msgid "cannot find tsflags or tsflags not integer."
+msgstr ""
+
+#: ../yum/__init__.py:6584
+#, python-format
+msgid "Found txmbr in unknown current state: %s"
+msgstr ""
+
+#: ../yum/__init__.py:6588
+#, python-format
+msgid "Could not find txmbr: %s in state %s"
+msgstr ""
+
+#: ../yum/__init__.py:6625 ../yum/__init__.py:6642
+#, python-format
+msgid "Could not find txmbr: %s from origin: %s"
+msgstr ""
+
+#: ../yum/__init__.py:6667
+msgid "Transaction members, relations are missing or ts has been modified,"
+msgstr ""
+
+#: ../yum/__init__.py:6670
+msgid " ignoring, as requested. You must redepsolve!"
+msgstr ""
+
+#. Debugging output
+#: ../yum/__init__.py:6738 ../yum/__init__.py:6757
+#, python-format
+msgid "%s has been visited already and cannot be removed."
+msgstr ""
+
+#. Debugging output
+#: ../yum/__init__.py:6741
+#, python-format
+msgid "Examining revdeps of %s"
+msgstr ""
+
+#. Debugging output
+#: ../yum/__init__.py:6762
+#, python-format
+msgid "%s has revdep %s which was user-installed."
+msgstr ""
+
+#: ../yum/__init__.py:6773 ../yum/__init__.py:6779
+#, python-format
+msgid "%s is needed by a package to be installed."
+msgstr ""
+
+#. Debugging output
+#: ../yum/__init__.py:6793
+#, python-format
+msgid "%s has no user-installed revdeps."
+msgstr ""
+
+#. Mostly copied from YumOutput._outKeyValFill()
+#: ../yum/plugins.py:212
+msgid "Loaded plugins: "
+msgstr "Yüklü eklentiler: "
+
+#: ../yum/plugins.py:226 ../yum/plugins.py:232
+#, python-format
+msgid "No plugin match for: %s"
+msgstr ""
+
+#: ../yum/plugins.py:262
+#, python-format
+msgid "Not loading \"%s\" plugin, as it is disabled"
+msgstr ""
+
+#. Give full backtrace:
+#: ../yum/plugins.py:274
+#, python-format
+msgid "Plugin \"%s\" can't be imported"
+msgstr ""
+
+#: ../yum/plugins.py:281
+#, python-format
+msgid "Plugin \"%s\" doesn't specify required API version"
+msgstr ""
+
+#: ../yum/plugins.py:286
+#, python-format
+msgid "Plugin \"%s\" requires API %s. Supported API is %s."
+msgstr ""
+
+#: ../yum/plugins.py:319
+#, python-format
+msgid "Loading \"%s\" plugin"
+msgstr ""
+
+#: ../yum/plugins.py:326
+#, python-format
+msgid "Two or more plugins with the name \"%s\" exist in the plugin search path"
+msgstr ""
+
+#: ../yum/plugins.py:346
+#, python-format
+msgid "Configuration file %s not found"
+msgstr ""
+
+#. for
+#. Configuration files for the plugin not found
+#: ../yum/plugins.py:349
+#, python-format
+msgid "Unable to find configuration file for plugin %s"
+msgstr ""
+
+#: ../yum/plugins.py:553
+msgid "registration of commands not supported"
+msgstr ""
+
+#: ../yum/rpmsack.py:159
+msgid "has missing requires of"
+msgstr ""
+
+#: ../yum/rpmsack.py:162
+msgid "has installed conflicts"
+msgstr ""
+
+#: ../yum/rpmsack.py:171
+#, python-format
+msgid "%s is a duplicate with %s"
+msgstr ""
+
+#: ../yum/rpmsack.py:179
+#, python-format
+msgid "%s is obsoleted by %s"
+msgstr ""
+
+#: ../yum/rpmsack.py:187
+#, python-format
+msgid "%s provides %s but it cannot be found"
+msgstr ""
+
+#: ../yum/rpmtrans.py:80
+msgid "Repackaging"
+msgstr ""
+
+#: ../yum/rpmtrans.py:149
+#, python-format
+msgid "Verify: %u/%u: %s"
+msgstr ""
+
+#: ../yum/yumRepo.py:919
+#, python-format
+msgid ""
+"Insufficient space in download directory %s\n"
+"    * free   %s\n"
+"    * needed %s"
+msgstr ""
+
+#: ../yum/yumRepo.py:986
+msgid "Package does not match intended download."
+msgstr ""
+
+#: ../rpmUtils/oldUtils.py:33
+#, python-format
+msgid "Header cannot be opened or does not match %s, %s."
+msgstr ""
+
+#: ../rpmUtils/oldUtils.py:53
+#, python-format
+msgid "RPM %s fails md5 check"
+msgstr ""
+
+#: ../rpmUtils/oldUtils.py:151
+msgid "Could not open RPM database for reading. Perhaps it is already in use?"
+msgstr ""
+
+#: ../rpmUtils/oldUtils.py:183
+msgid "Got an empty Header, something has gone wrong"
+msgstr ""
+
+#: ../rpmUtils/oldUtils.py:253 ../rpmUtils/oldUtils.py:260
+#: ../rpmUtils/oldUtils.py:263 ../rpmUtils/oldUtils.py:266
+#, python-format
+msgid "Damaged Header %s"
+msgstr ""
+
+#: ../rpmUtils/oldUtils.py:281
+#, python-format
+msgid "Error opening rpm %s - error %s"
+msgstr ""
diff --git a/po/uk.po b/po/uk.po
index f5a658d..454d977 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -2,1516 +2,1656 @@
 # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
 # This file is distributed under the same license as the PACKAGE package.
 # 
-# Yuri Chornoivan <yurchor@ukr.net>, 2011
+# Translators:
+# Yuri Chornoivan <yurchor@ukr.net>, 2011-2012.
+# Yuri Chornoivan <yurchor@ukr.net>, 2011-2012, 2013.
 msgid ""
 msgstr ""
 "Project-Id-Version: Yum\n"
-"Report-Msgid-Bugs-To: http://yum.baseurl.org/\n"
-"POT-Creation-Date: 2011-06-06 10:21-0400\n"
-"PO-Revision-Date: 2011-06-06 14:21+0000\n"
-"Last-Translator: skvidal <skvidal@fedoraproject.org>\n"
-"Language-Team: Ukrainian (http://www.transifex.net/projects/p/yum/team/uk/)\n"
+"Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
+"POT-Creation-Date: 2013-01-30 09:08-0500\n"
+"PO-Revision-Date: 2013-01-31 08:31+0000\n"
+"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
+"Language-Team: Ukrainian (http://www.transifex.com/projects/p/yum/language/uk/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Language: uk\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
 
-#: ../callback.py:48 ../output.py:1037 ../yum/rpmtrans.py:73
+#: ../callback.py:45 ../output.py:1502 ../yum/rpmtrans.py:73
 msgid "Updating"
 msgstr "Оновлення"
 
-#: ../callback.py:49 ../yum/rpmtrans.py:74
+#: ../callback.py:46 ../yum/rpmtrans.py:74
 msgid "Erasing"
 msgstr "Вилучення"
 
-#: ../callback.py:50 ../callback.py:51 ../callback.py:53 ../output.py:1036
-#: ../output.py:2218 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
+#: ../callback.py:47 ../callback.py:48 ../callback.py:50 ../output.py:1501
+#: ../output.py:2922 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
 #: ../yum/rpmtrans.py:78
 msgid "Installing"
 msgstr "Встановлення"
 
-#: ../callback.py:52 ../callback.py:58 ../output.py:1840 ../yum/rpmtrans.py:77
+#: ../callback.py:49 ../callback.py:55 ../output.py:2379 ../yum/rpmtrans.py:77
 msgid "Obsoleted"
 msgstr "Став застарілим"
 
-#: ../callback.py:54 ../output.py:1169 ../output.py:1686 ../output.py:1847
+#: ../callback.py:51 ../output.py:1670 ../output.py:2222 ../output.py:2386
 msgid "Updated"
 msgstr "Оновлено"
 
-#: ../callback.py:55 ../output.py:1685
+#: ../callback.py:52 ../output.py:2221
 msgid "Erased"
 msgstr "Вилучено"
 
-#: ../callback.py:56 ../callback.py:57 ../callback.py:59 ../output.py:1167
-#: ../output.py:1685 ../output.py:1687 ../output.py:2190
+#: ../callback.py:53 ../callback.py:54 ../callback.py:56 ../output.py:1668
+#: ../output.py:2221 ../output.py:2223 ../output.py:2894
 msgid "Installed"
 msgstr "Встановлено"
 
-#: ../callback.py:130
+#: ../callback.py:142
 msgid "No header - huh?"
 msgstr "Немає заголовка — як це?"
 
-#: ../callback.py:168
+#: ../callback.py:180
 msgid "Repackage"
 msgstr "Перепакувати"
 
-#: ../callback.py:189
+#: ../callback.py:201
 #, python-format
 msgid "Error: invalid output state: %s for %s"
 msgstr "Помилка: некоректний стан виводу: %s для %s"
 
-#: ../callback.py:212
+#: ../callback.py:224
 #, python-format
 msgid "Erased: %s"
 msgstr "Вилучено: %s"
 
-#: ../callback.py:217 ../output.py:1038 ../output.py:2193
+#: ../callback.py:229 ../output.py:1503 ../output.py:2897
 msgid "Removing"
 msgstr "Вилучення"
 
-#: ../callback.py:219 ../yum/rpmtrans.py:79
+#: ../callback.py:231 ../yum/rpmtrans.py:79
 msgid "Cleanup"
 msgstr "Очищення диска"
 
-#: ../cli.py:115
+#: ../cli.py:122
 #, python-format
 msgid "Command \"%s\" already defined"
 msgstr "Команду «%s» вже визначено"
 
-#: ../cli.py:127
+#: ../cli.py:137
 msgid "Setting up repositories"
 msgstr "Налаштування сховищ"
 
-#: ../cli.py:138
+#: ../cli.py:148
 msgid "Reading repository metadata in from local files"
 msgstr "Читання метаданих сховища з локальних файлів"
 
-#: ../cli.py:245 ../utils.py:281
+#: ../cli.py:273 ../cli.py:277 ../utils.py:320
 #, python-format
 msgid "Config Error: %s"
 msgstr "Помилка налаштування: %s"
 
-#: ../cli.py:248 ../cli.py:1584 ../utils.py:284
+#: ../cli.py:280 ../cli.py:2206 ../utils.py:323
 #, python-format
 msgid "Options Error: %s"
 msgstr "Помилка у параметрах: %s"
 
-#: ../cli.py:293
+#: ../cli.py:327
 #, python-format
 msgid "  Installed: %s-%s at %s"
 msgstr "  Встановлено: %s-%s у %s"
 
-#: ../cli.py:295
+#: ../cli.py:329
 #, python-format
 msgid "  Built    : %s at %s"
 msgstr "  Зібрано    : %s о %s"
 
-#: ../cli.py:297
+#: ../cli.py:331
 #, python-format
 msgid "  Committed: %s at %s"
 msgstr "  Надіслано  : %s о %s"
 
-#: ../cli.py:336
+#: ../cli.py:372
 msgid "You need to give some command"
 msgstr "Вам слід вказати якусь команду"
 
-#: ../cli.py:350
+#: ../cli.py:386
 #, python-format
 msgid "No such command: %s. Please use %s --help"
 msgstr "Команди %s не виявлено. Будь ласка, скористайтеся командою %s --help"
 
-#: ../cli.py:400
+#: ../cli.py:444
 msgid "Disk Requirements:\n"
 msgstr "Вимоги до диска:\n"
 
-#: ../cli.py:402
+#: ../cli.py:446
 #, python-format
 msgid "  At least %dMB more space needed on the %s filesystem.\n"
-msgstr ""
-"  Потрібно принаймні ще %d МБ простору на диску для файлової системи %s.\n"
+msgid_plural "  At least %dMB more space needed on the %s filesystem.\n"
+msgstr[0] "  Потрібно принаймні ще %d МБ простору на диску для файлової системи %s.\n"
+msgstr[1] "  Потрібно принаймні ще %d МБ простору на диску для файлової системи %s.\n"
+msgstr[2] "  Потрібно принаймні ще %d МБ простору на диску для файлової системи %s.\n"
 
 #. TODO: simplify the dependency errors?
 #. Fixup the summary
-#: ../cli.py:407
+#: ../cli.py:451
 msgid ""
 "Error Summary\n"
 "-------------\n"
-msgstr ""
-"Резюме помилок\n"
-"-------------\n"
+msgstr "Резюме помилок\n-------------\n"
+
+#: ../cli.py:472
+msgid "Can't create lock file; exiting"
+msgstr "Не вдалося створити файл блокування. Завершення роботи."
 
-#: ../cli.py:450
+#: ../cli.py:479
+msgid ""
+"Another app is currently holding the yum lock; exiting as configured by "
+"exit_on_lock"
+msgstr "Зараз yum блокує стороння програма. Завершуємо роботу відповідно до налаштування exit_on_lock"
+
+#: ../cli.py:532
 msgid "Trying to run the transaction but nothing to do. Exiting."
-msgstr ""
-"Спроба виконання операції за умови порожнього списку операцій. Завершуємо "
-"роботу."
+msgstr "Спроба виконання операції за умови порожнього списку операцій. Завершуємо роботу."
+
+#: ../cli.py:577
+msgid "future rpmdb ver mismatched saved transaction version,"
+msgstr "новітня версія rpmdb не відповідає збереженим даним щодо версії у операції,"
 
-#: ../cli.py:497
+#: ../cli.py:579 ../yum/__init__.py:6523
+msgid " ignoring, as requested."
+msgstr " ігнорується у відповідь на запит."
+
+#: ../cli.py:582 ../yum/__init__.py:6526 ../yum/__init__.py:6673
+msgid " aborting."
+msgstr " завершення роботи."
+
+#: ../cli.py:588
 msgid "Exiting on user Command"
 msgstr "Завершення роботи за бажанням користувача"
 
-#: ../cli.py:501
+#: ../cli.py:592
 msgid "Downloading Packages:"
 msgstr "Звантаження пакунків:"
 
-#: ../cli.py:506
+#: ../cli.py:597
 msgid "Error Downloading Packages:\n"
 msgstr "Помилка завантаження пакетів:\n"
 
-#: ../cli.py:525 ../yum/__init__.py:4967
+#: ../cli.py:616 ../yum/__init__.py:6215
 msgid "Running Transaction Check"
 msgstr "Виконання перевірки операції"
 
-#: ../cli.py:534 ../yum/__init__.py:4976
+#: ../cli.py:625 ../yum/__init__.py:6224
 msgid "ERROR You need to update rpm to handle:"
 msgstr "ПОМИЛКА. Вам слід оновити rpm для обробки:"
 
-#: ../cli.py:536 ../yum/__init__.py:4979
+#: ../cli.py:627 ../yum/__init__.py:6227
 msgid "ERROR with transaction check vs depsolve:"
 msgstr "ПОМИЛКА перевірки дії під час розв’язання залежностей:"
 
-#: ../cli.py:542
+#: ../cli.py:633
 msgid "RPM needs to be updated"
 msgstr "RPM слід оновити"
 
-#: ../cli.py:543
+#: ../cli.py:634
 #, python-format
 msgid "Please report this error in %s"
 msgstr "Будь ласка, повідомте про цю помилку за адресою %s"
 
-#: ../cli.py:549
+#: ../cli.py:640
 msgid "Running Transaction Test"
 msgstr "Запускається операція з перевірки"
 
-#: ../cli.py:561
+#: ../cli.py:652
 msgid "Transaction Check Error:\n"
 msgstr "Помилка під час перевірки операції:\n"
 
-#: ../cli.py:568
+#: ../cli.py:659
 msgid "Transaction Test Succeeded"
 msgstr "Операцію з перевірки успішно завершено"
 
-#: ../cli.py:600
+#: ../cli.py:691
 msgid "Running Transaction"
 msgstr "Виконання операції"
 
-#: ../cli.py:630
+#: ../cli.py:724
 msgid ""
 "Refusing to automatically import keys when running unattended.\n"
 "Use \"-y\" to override."
-msgstr ""
-"Автоматичне імпортування ключів під час некерованого запуску заборонено.\n"
-"Скасувати заборону можна параметром «-y»."
+msgstr "Автоматичне імпортування ключів під час некерованого запуску заборонено.\nСкасувати заборону можна параметром «-y»."
 
-#: ../cli.py:649 ../cli.py:692
+#: ../cli.py:743 ../cli.py:786
 msgid "  * Maybe you meant: "
 msgstr "  * Можливо, ви хотіли використати: "
 
-#: ../cli.py:675 ../cli.py:683
+#: ../cli.py:769 ../cli.py:777
 #, python-format
 msgid "Package(s) %s%s%s available, but not installed."
 msgstr "Доступні невстановлені пакунки %s%s%s."
 
-#: ../cli.py:689 ../cli.py:722 ../cli.py:908
+#: ../cli.py:783 ../cli.py:891 ../cli.py:1158
 #, python-format
 msgid "No package %s%s%s available."
 msgstr "Пакунок %s%s%s недоступний."
 
-#: ../cli.py:729 ../cli.py:973
-msgid "Package(s) to install"
-msgstr "Пакунки, які слід встановити"
+#: ../cli.py:871 ../cli.py:881 ../cli.py:1101 ../cli.py:1111
+#, python-format
+msgid "Bad %s argument %s."
+msgstr "Помилковий параметр %s до %s."
+
+#: ../cli.py:900 ../yumcommands.py:3331
+#, python-format
+msgid "%d package to install"
+msgid_plural "%d packages to install"
+msgstr[0] "%d пакунок для встановлення"
+msgstr[1] "%d пакунки для встановлення"
+msgstr[2] "%d пакунків для встановлення"
 
-#: ../cli.py:732 ../cli.py:733 ../cli.py:914 ../cli.py:948 ../cli.py:974
-#: ../yumcommands.py:190
+#: ../cli.py:903 ../cli.py:904 ../cli.py:1169 ../cli.py:1170 ../cli.py:1224
+#: ../cli.py:1225 ../cli.py:1260 ../yumcommands.py:323 ../yumcommands.py:3419
 msgid "Nothing to do"
 msgstr "Нічого виконувати"
 
-#: ../cli.py:767
+#: ../cli.py:953
 #, python-format
-msgid "%d packages marked for Update"
-msgstr "%d пакунків позначено для оновлення"
+msgid "%d package marked for Update"
+msgid_plural "%d packages marked for Update"
+msgstr[0] "%d пакунок позначено для оновлення"
+msgstr[1] "%d пакунків позначено для оновлення"
+msgstr[2] "%d пакунків позначено для оновлення"
 
-#: ../cli.py:770
+#: ../cli.py:955
 msgid "No Packages marked for Update"
 msgstr "Для оновлення не позначено жодного пакунка"
 
-#: ../cli.py:866
+#: ../cli.py:1067
 #, python-format
-msgid "%d packages marked for Distribution Synchronization"
-msgstr "%d пакунків позначено для виконання синхронізації дистрибутивів"
+msgid "%d package marked for Distribution Synchronization"
+msgid_plural "%d packages marked for Distribution Synchronization"
+msgstr[0] "%d пакунок позначено для виконання синхронізації дистрибутивів"
+msgstr[1] "%d пакунків позначено для виконання синхронізації дистрибутивів"
+msgstr[2] "%d пакунків позначено для виконання синхронізації дистрибутивів"
 
-#: ../cli.py:869
+#: ../cli.py:1069
 msgid "No Packages marked for Distribution Synchronization"
-msgstr ""
-"Для виконання синхронізації дистрибутивів не позначено жодного пакунка"
+msgstr "Для виконання синхронізації дистрибутивів не позначено жодного пакунка"
 
-#: ../cli.py:885
+#: ../cli.py:1124
 #, python-format
-msgid "%d packages marked for removal"
-msgstr "%d пакунків позначено для вилучення"
+msgid "%d package marked for removal"
+msgid_plural "%d packages marked for removal"
+msgstr[0] "%d пакунок позначено для вилучення"
+msgstr[1] "%d пакунків позначено для вилучення"
+msgstr[2] "%d пакунків позначено для вилучення"
 
-#: ../cli.py:888
+#: ../cli.py:1126
 msgid "No Packages marked for removal"
 msgstr "Для вилучення не позначено жодного пакунка"
 
-#: ../cli.py:913
-msgid "Package(s) to downgrade"
-msgstr "Пакунки, версію яких слід знизити"
+#: ../cli.py:1166
+#, python-format
+msgid "%d package to downgrade"
+msgid_plural "%d packages to downgrade"
+msgstr[0] "%d пакунок зі зниженням версії"
+msgstr[1] "%d пакунки зі зниженням версії"
+msgstr[2] "%d пакунків зі зниженням версії"
 
-#: ../cli.py:938
+#: ../cli.py:1207
 #, python-format
 msgid " (from %s)"
 msgstr " (з %s)"
 
-#: ../cli.py:939
+#: ../cli.py:1208
 #, python-format
 msgid "Installed package %s%s%s%s not available."
 msgstr "Встановлений пакунок %s%s%s%s недоступний."
 
-#: ../cli.py:947
-msgid "Package(s) to reinstall"
-msgstr "Пакунки для перевстановлення"
+#: ../cli.py:1221
+#, python-format
+msgid "%d package to reinstall"
+msgid_plural "%d packages to reinstall"
+msgstr[0] "%d пакунок для перевстановлення"
+msgstr[1] "%d пакунки для перевстановлення"
+msgstr[2] "%d пакунків для перевстановлення"
 
-#: ../cli.py:960
+#: ../cli.py:1246
 msgid "No Packages Provided"
 msgstr "Не надано жодного пакунка"
 
-#: ../cli.py:1058
+#: ../cli.py:1259
+msgid "Package(s) to install"
+msgstr "Пакунки, які слід встановити"
+
+#: ../cli.py:1367
 #, python-format
 msgid "N/S Matched: %s"
 msgstr "Відповідність Н/Р: %s"
 
-#: ../cli.py:1075
+#: ../cli.py:1384
 #, python-format
 msgid "  Name and summary matches %sonly%s, use \"search all\" for everything."
-msgstr ""
-"  Виконано пошук %sлише%s за назвою і резюме, скористайтеся «search all» для"
-" пошуку у всіх даних"
+msgstr "  Виконано пошук %sлише%s за назвою і резюме, скористайтеся «search all» для пошуку у всіх даних"
 
-#: ../cli.py:1077
+#: ../cli.py:1386
 #, python-format
 msgid ""
 "  Full name and summary matches %sonly%s, use \"search all\" for everything."
-msgstr ""
-"  Виконано пошук %sлише%s за повною назвою і резюме, скористайтеся «search "
-"all» для пошуку у всіх даних"
+msgstr "  Виконано пошук %sлише%s за повною назвою і резюме, скористайтеся «search all» для пошуку у всіх даних"
 
-#: ../cli.py:1095
+#: ../cli.py:1404
 #, python-format
 msgid "Matched: %s"
 msgstr "Відповідники: %s"
 
-#: ../cli.py:1102
+#: ../cli.py:1411
 #, python-format
 msgid "  Name and summary matches %smostly%s, use \"search all\" for everything."
-msgstr ""
-"  Виконано пошук %sпереважно%s за назвою і резюме, скористайтеся «search "
-"all» для пошуку у всіх даних"
+msgstr "  Виконано пошук %sпереважно%s за назвою і резюме, скористайтеся «search all» для пошуку у всіх даних"
 
-#: ../cli.py:1106
+#: ../cli.py:1415
 #, python-format
 msgid "Warning: No matches found for: %s"
 msgstr "Попередження: відповідників %s не знайдено"
 
-#: ../cli.py:1109
+#: ../cli.py:1418
 msgid "No Matches found"
 msgstr "Не знайдено відповідників"
 
-#: ../cli.py:1174
+#: ../cli.py:1536
 #, python-format
-msgid "No Package Found for %s"
-msgstr "Пакунків з %s не знайдено"
+msgid ""
+"Error: No Packages found for:\n"
+"  %s"
+msgstr "Помилка. Таких пакунків не знайдено:\n  %s"
 
-#: ../cli.py:1184
+#: ../cli.py:1572
 msgid "Cleaning repos: "
 msgstr "Спорожнення записів сховищ: "
 
-#: ../cli.py:1189
+#: ../cli.py:1577
 msgid "Cleaning up Everything"
 msgstr "Вилучення всього"
 
-#: ../cli.py:1205
+#: ../cli.py:1593
 msgid "Cleaning up Headers"
 msgstr "Вилучення заголовків"
 
-#: ../cli.py:1208
+#: ../cli.py:1596
 msgid "Cleaning up Packages"
 msgstr "Вилучення зайвих пакунків"
 
-#: ../cli.py:1211
+#: ../cli.py:1599
 msgid "Cleaning up xml metadata"
 msgstr "Вилучення метаданих xml"
 
-#: ../cli.py:1214
+#: ../cli.py:1602
 msgid "Cleaning up database cache"
 msgstr "Вилучення кешу бази даних"
 
-#: ../cli.py:1217
+#: ../cli.py:1605
 msgid "Cleaning up expire-cache metadata"
 msgstr "Вилучення метаданих застарілого кешу"
 
-#: ../cli.py:1220
+#: ../cli.py:1608
 msgid "Cleaning up cached rpmdb data"
 msgstr "Вилучення кешованих даних rpmdb"
 
-#: ../cli.py:1223
+#: ../cli.py:1611
 msgid "Cleaning up plugins"
 msgstr "Вилучення додатків"
 
-#: ../cli.py:1247
-#, python-format
-msgid "Warning: No groups match: %s"
-msgstr "Попередження: відповідних груп не знайдено: %s"
+#: ../cli.py:1727
+msgid "Installed Environment Groups:"
+msgstr "Встановлені групи середовищ:"
+
+#: ../cli.py:1728
+msgid "Available Environment Groups:"
+msgstr "Доступні групи середовищ:"
 
-#: ../cli.py:1264
+#: ../cli.py:1735
 msgid "Installed Groups:"
 msgstr "Встановлені групи:"
 
-#: ../cli.py:1270
+#: ../cli.py:1742
 msgid "Installed Language Groups:"
 msgstr "Встановлені групи мов:"
 
-#: ../cli.py:1276
+#: ../cli.py:1749
 msgid "Available Groups:"
 msgstr "Наявні групи:"
 
-#: ../cli.py:1282
+#: ../cli.py:1756
 msgid "Available Language Groups:"
 msgstr "Доступні групи мов:"
 
-#: ../cli.py:1285
+#: ../cli.py:1759
+#, python-format
+msgid "Warning: No Environments/Groups match: %s"
+msgstr "Попередження: немає відповідності середовищ/груп: %s"
+
+#: ../cli.py:1763
 msgid "Done"
 msgstr "Виконано"
 
-#: ../cli.py:1296 ../cli.py:1314 ../cli.py:1320 ../yum/__init__.py:3313
+#: ../cli.py:1818
+#, python-format
+msgid "Warning: Group/Environment %s does not exist."
+msgstr "Попередження: групи/середовища з назвою %s не існує."
+
+#: ../cli.py:1859
+#, python-format
+msgid "Warning: Environment %s does not exist."
+msgstr "Попередження: середовища з назвою %s не існує."
+
+#: ../cli.py:1873 ../cli.py:1879 ../yum/__init__.py:4254
 #, python-format
 msgid "Warning: Group %s does not exist."
 msgstr "Попередження: групи з назвою %s не існує."
 
-#: ../cli.py:1324
+#: ../cli.py:1883
 msgid "No packages in any requested group available to install or update"
-msgstr ""
-"У жодній з вказаних груп немає пакунків для встановлення або оновлення"
+msgstr "У жодній з вказаних груп немає пакунків для встановлення або оновлення"
+
+#: ../cli.py:1885
+#, python-format
+msgid "%d package to Install"
+msgid_plural "%d packages to Install"
+msgstr[0] "%d пакунок для встановлення"
+msgstr[1] "%d пакунки для встановлення"
+msgstr[2] "%d пакунків для встановлення"
 
-#: ../cli.py:1326
+#: ../cli.py:1919 ../yum/__init__.py:3536 ../yum/__init__.py:3766
+#: ../yum/__init__.py:3824
 #, python-format
-msgid "%d Package(s) to Install"
-msgstr "%d пакунків для встановлення"
+msgid "No Environment named %s exists"
+msgstr "Середовища з назвою %s не існує"
 
-#: ../cli.py:1336 ../yum/__init__.py:3325
+#: ../cli.py:1935 ../yum/__init__.py:4282
 #, python-format
 msgid "No group named %s exists"
 msgstr "Групи з назвою %s не існує"
 
-#: ../cli.py:1342
+#: ../cli.py:1945
 msgid "No packages to remove from groups"
 msgstr "Пакунків для вилучення з груп не знайдено"
 
-#: ../cli.py:1344
+#: ../cli.py:1947 ../yumcommands.py:3351
 #, python-format
-msgid "%d Package(s) to remove"
-msgstr "%d пакунків для вилучення"
+msgid "%d package to remove"
+msgid_plural "%d packages to remove"
+msgstr[0] "%d пакунок для вилучення"
+msgstr[1] "%d пакунки для вилучення"
+msgstr[2] "%d пакунків для вилучення"
 
-#: ../cli.py:1386
+#: ../cli.py:1988
 #, python-format
 msgid "Package %s is already installed, skipping"
 msgstr "Пакунок %s вже встановлено, пропускаємо"
 
-#: ../cli.py:1397
+#: ../cli.py:1999
 #, python-format
 msgid "Discarding non-comparable pkg %s.%s"
 msgstr "Відкинуто несумісний пакунок %s.%s"
 
 #. we've not got any installed that match n or n+a
-#: ../cli.py:1423
+#: ../cli.py:2025
 #, python-format
 msgid "No other %s installed, adding to list for potential install"
 msgstr "Не встановлено інших %s, додаємо до списку потенційного встановлення"
 
-#: ../cli.py:1443
+#: ../cli.py:2045
 msgid "Plugin Options"
 msgstr "Параметри додатка"
 
-#: ../cli.py:1451
+#: ../cli.py:2057
 #, python-format
 msgid "Command line error: %s"
 msgstr "Помилка виконання команди: %s"
 
-#: ../cli.py:1467
+#: ../cli.py:2079
 #, python-format
 msgid ""
 "\n"
 "\n"
 "%s: %s option requires an argument"
-msgstr ""
-"\n"
-"\n"
-"%s: для параметра %s потрібен аргумент"
+msgstr "\n\n%s: для параметра %s потрібен аргумент"
 
-#: ../cli.py:1521
+#: ../cli.py:2147
 msgid "--color takes one of: auto, always, never"
 msgstr "--color повинен мати один з аргументів: auto, always, never"
 
 #. We have a relative installroot ... haha
-#: ../cli.py:1596
+#: ../cli.py:2218
 #, python-format
 msgid "--installroot must be an absolute path: %s"
 msgstr "Аргументом --installroot має бути абсолютний шлях: %s"
 
-#: ../cli.py:1642
+#: ../cli.py:2272
 msgid "show this help message and exit"
 msgstr "показати це довідкове повідомлення і завершити роботу"
 
-#: ../cli.py:1646
+#: ../cli.py:2276
 msgid "be tolerant of errors"
 msgstr "ігнорувати помилки"
 
-#: ../cli.py:1649
+#: ../cli.py:2279
 msgid "run entirely from system cache, don't update cache"
 msgstr "запустити на основі системного кешу, не оновлювати кеш"
 
-#: ../cli.py:1652
+#: ../cli.py:2282
 msgid "config file location"
 msgstr "розташування файла налаштувань"
 
-#: ../cli.py:1655
+#: ../cli.py:2285
 msgid "maximum command wait time"
 msgstr "максимальний час очікування на завершення команди"
 
-#: ../cli.py:1657
+#: ../cli.py:2287
 msgid "debugging output level"
 msgstr "рівень докладності діагностичних повідомлень"
 
-#: ../cli.py:1661
+#: ../cli.py:2291
 msgid "show duplicates, in repos, in list/search commands"
 msgstr "показати дублікати у сховищах та командах побудови списку та пошуку"
 
-#: ../cli.py:1663
+#: ../cli.py:2296
 msgid "error output level"
 msgstr "рівень докладності повідомлень про помилки"
 
-#: ../cli.py:1666
+#: ../cli.py:2299
 msgid "debugging output level for rpm"
 msgstr "рівень докладності діагностичних повідомлень rpm"
 
-#: ../cli.py:1669
+#: ../cli.py:2302
 msgid "quiet operation"
 msgstr "обробка без виведення повідомлень"
 
-#: ../cli.py:1671
+#: ../cli.py:2304
 msgid "verbose operation"
 msgstr "докладна обробка команд"
 
-#: ../cli.py:1673
+#: ../cli.py:2306
 msgid "answer yes for all questions"
 msgstr "відповісти «так» на всі питання"
 
-#: ../cli.py:1675
+#: ../cli.py:2308
+msgid "answer no for all questions"
+msgstr "відповідати «ні» на всі питання"
+
+#: ../cli.py:2312
 msgid "show Yum version and exit"
 msgstr "показати версію Yum і завершити роботу"
 
-#: ../cli.py:1676
+#: ../cli.py:2313
 msgid "set install root"
 msgstr "встановити кореневий каталог встановлення"
 
-#: ../cli.py:1680
+#: ../cli.py:2317
 msgid "enable one or more repositories (wildcards allowed)"
-msgstr ""
-"увімкнути одне або декілька сховищ (можна використовувати шаблони заміни)"
+msgstr "увімкнути одне або декілька сховищ (можна використовувати шаблони заміни)"
 
-#: ../cli.py:1684
+#: ../cli.py:2321
 msgid "disable one or more repositories (wildcards allowed)"
-msgstr ""
-"вимкнути одне або декілька сховищ (можна використовувати шаблони заміни)"
+msgstr "вимкнути одне або декілька сховищ (можна використовувати шаблони заміни)"
 
-#: ../cli.py:1687
+#: ../cli.py:2324
 msgid "exclude package(s) by name or glob"
 msgstr "виключити пакунки за назвою або формальним виразом"
 
-#: ../cli.py:1689
+#: ../cli.py:2326
 msgid "disable exclude from main, for a repo or for everything"
 msgstr "вимкнути виключення з main для сховища або на загальному рівні"
 
-#: ../cli.py:1692
+#: ../cli.py:2329
 msgid "enable obsoletes processing during updates"
 msgstr "увімкнути обробку застарілих пакунків під час оновлень"
 
-#: ../cli.py:1694
+#: ../cli.py:2331
 msgid "disable Yum plugins"
 msgstr "вимкнути додатки Yum"
 
-#: ../cli.py:1696
+#: ../cli.py:2333
 msgid "disable gpg signature checking"
 msgstr "вимкнути перевірку підписів gpg"
 
-#: ../cli.py:1698
+#: ../cli.py:2335
 msgid "disable plugins by name"
 msgstr "вимкнути додатки за назвою"
 
-#: ../cli.py:1701
+#: ../cli.py:2338
 msgid "enable plugins by name"
 msgstr "увімкнути додатки за назвою"
 
-#: ../cli.py:1704
+#: ../cli.py:2341
 msgid "skip packages with depsolving problems"
 msgstr "пропустити пакунки з помилками у розв’язанні залежностей"
 
-#: ../cli.py:1706
+#: ../cli.py:2343
 msgid "control whether color is used"
 msgstr "визначає, чи слід використовувати розфарбовування"
 
-#: ../cli.py:1708
+#: ../cli.py:2345
 msgid "set value of $releasever in yum config and repo files"
-msgstr ""
-"встановити значення $releasever у налаштуванні yum config and repo files"
+msgstr "встановити значення $releasever у налаштуванні yum config and repo files"
+
+#: ../cli.py:2347
+msgid "don't update, just download"
+msgstr "не оновлювати, лише отримати дані"
+
+#: ../cli.py:2349
+msgid "specifies an alternate directory to store packages"
+msgstr "визначає альтернативний каталог для зберігання пакунків"
 
-#: ../cli.py:1710
+#: ../cli.py:2351
 msgid "set arbitrary config and repo options"
 msgstr "встановити довільні параметри налаштування і сховищ"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Jan"
 msgstr "січ"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Feb"
 msgstr "лют"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Mar"
 msgstr "бер"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Apr"
 msgstr "кві"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "May"
 msgstr "тра"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Jun"
 msgstr "чер"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Jul"
 msgstr "лип"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Aug"
 msgstr "сер"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Sep"
 msgstr "вер"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Oct"
 msgstr "жов"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Nov"
 msgstr "лис"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Dec"
 msgstr "гру"
 
-#: ../output.py:318
+#: ../output.py:473
 msgid "Trying other mirror."
 msgstr "Спроба використання іншого дзеркала."
 
-#: ../output.py:581
+#: ../output.py:816
 #, python-format
 msgid "Name        : %s%s%s"
 msgstr "Назва       : %s%s%s"
 
-#: ../output.py:582
+#: ../output.py:817
 #, python-format
 msgid "Arch        : %s"
 msgstr "Архітектура : %s"
 
-#: ../output.py:584
+#: ../output.py:819
 #, python-format
 msgid "Epoch       : %s"
 msgstr "Епоха       : %s"
 
-#: ../output.py:585
+#: ../output.py:820
 #, python-format
 msgid "Version     : %s"
 msgstr "Версія      : %s"
 
-#: ../output.py:586
+#: ../output.py:821
 #, python-format
 msgid "Release     : %s"
 msgstr "Випуск      : %s"
 
-#: ../output.py:587
+#: ../output.py:822
 #, python-format
 msgid "Size        : %s"
 msgstr "Розмір      : %s"
 
-#: ../output.py:588 ../output.py:900
+#: ../output.py:823 ../output.py:1329
 #, python-format
 msgid "Repo        : %s"
 msgstr "Сховище     : %s"
 
-#: ../output.py:590
+#: ../output.py:825
 #, python-format
 msgid "From repo   : %s"
 msgstr "Зі сховища  : %s"
 
-#: ../output.py:592
+#: ../output.py:827
 #, python-format
 msgid "Committer   : %s"
 msgstr "Автор       : %s"
 
-#: ../output.py:593
+#: ../output.py:828
 #, python-format
 msgid "Committime  : %s"
 msgstr "Час внеску  : %s"
 
-#: ../output.py:594
+#: ../output.py:829
 #, python-format
 msgid "Buildtime   : %s"
 msgstr "Час збирання : %s"
 
-#: ../output.py:596
+#: ../output.py:831
 #, python-format
 msgid "Install time: %s"
 msgstr "Встановлення: %s"
 
-#: ../output.py:604
+#: ../output.py:839
 #, python-format
 msgid "Installed by: %s"
 msgstr "Користувач : %s"
 
-#: ../output.py:611
+#: ../output.py:846
 #, python-format
 msgid "Changed by  : %s"
 msgstr "Змінено     : %s"
 
-#: ../output.py:612
+#: ../output.py:847
 msgid "Summary     : "
 msgstr "Резюме      : "
 
-#: ../output.py:614 ../output.py:913
+#: ../output.py:849 ../output.py:1345
 #, python-format
 msgid "URL         : %s"
 msgstr "Адреса      : %s"
 
-#: ../output.py:615
+#: ../output.py:850
 msgid "License     : "
 msgstr "Ліцензія     : "
 
-#: ../output.py:616 ../output.py:910
+#: ../output.py:851 ../output.py:1342
 msgid "Description : "
 msgstr "Опис        : "
 
-#: ../output.py:684
+#: ../output.py:969
 msgid "y"
 msgstr "y"
 
-#: ../output.py:684
+#: ../output.py:969
 msgid "yes"
 msgstr "так"
 
-#: ../output.py:685
+#: ../output.py:970
 msgid "n"
 msgstr "n"
 
-#: ../output.py:685
+#: ../output.py:970
 msgid "no"
 msgstr "ні"
 
-#: ../output.py:689
+#: ../output.py:974
 msgid "Is this ok [y/N]: "
 msgstr "Виконати дію? [y/N]: "
 
-#: ../output.py:777
+#: ../output.py:1097
 #, python-format
 msgid ""
 "\n"
 "Group: %s"
-msgstr ""
-"\n"
-"Група: %s"
+msgstr "\nГрупа: %s"
 
-#: ../output.py:781
+#: ../output.py:1101
 #, python-format
 msgid " Group-Id: %s"
 msgstr " Ід. групи: %s"
 
-#: ../output.py:786
+#: ../output.py:1122 ../output.py:1169
 #, python-format
 msgid " Description: %s"
 msgstr " Опис: %s"
 
-#: ../output.py:788
+#: ../output.py:1124
 #, python-format
 msgid " Language: %s"
 msgstr " Мова: %s"
 
-#: ../output.py:790
+#: ../output.py:1126
 msgid " Mandatory Packages:"
 msgstr " Обов’язкові пакунки:"
 
-#: ../output.py:791
+#: ../output.py:1127
 msgid " Default Packages:"
 msgstr " Типові пакунки:"
 
-#: ../output.py:792
+#: ../output.py:1128
 msgid " Optional Packages:"
 msgstr " Додаткові пакунки:"
 
-#: ../output.py:793
+#: ../output.py:1129
 msgid " Conditional Packages:"
 msgstr " Залежні пакунки:"
 
-#: ../output.py:814
+#: ../output.py:1147
+msgid " Installed Packages:"
+msgstr " Встановлені пакунки:"
+
+#: ../output.py:1157
+#, python-format
+msgid ""
+"\n"
+"Environment Group: %s"
+msgstr "\nГрупа середовища: %s"
+
+#: ../output.py:1158
+#, python-format
+msgid " Environment-Id: %s"
+msgstr " Ід. середовища: %s"
+
+#: ../output.py:1191
+msgid " Mandatory Groups:"
+msgstr " Обов’язкові групи:"
+
+#: ../output.py:1192
+msgid " Optional Groups:"
+msgstr " Додаткові групи:"
+
+#: ../output.py:1205
+msgid " Installed Groups:"
+msgstr " Встановлені групи:"
+
+#: ../output.py:1217
 #, python-format
 msgid "package: %s"
 msgstr "пакунок: %s"
 
-#: ../output.py:816
+#: ../output.py:1219
 msgid "  No dependencies for this package"
 msgstr "  Пакунок не залежить від інших пакунків"
 
-#: ../output.py:821
+#: ../output.py:1224
 #, python-format
 msgid "  dependency: %s"
 msgstr "  залежність: %s"
 
-#: ../output.py:823
+#: ../output.py:1226
 msgid "   Unsatisfied dependency"
 msgstr "   Незадоволена залежність"
 
-#: ../output.py:901
+#: ../output.py:1337
 msgid "Matched from:"
 msgstr "Відповідність:"
 
-#: ../output.py:916
+#: ../output.py:1348
 #, python-format
 msgid "License     : %s"
 msgstr "Ліцензія    : %s"
 
-#: ../output.py:919
+#: ../output.py:1351
 #, python-format
 msgid "Filename    : %s"
 msgstr "Назва файла : %s"
 
-#: ../output.py:923
+#: ../output.py:1360
+msgid "Provides    : "
+msgstr "Містить     : "
+
+#: ../output.py:1363
 msgid "Other       : "
 msgstr "Інше        : "
 
-#: ../output.py:966
+#: ../output.py:1426
 msgid "There was an error calculating total download size"
 msgstr "Під час обчислення загального обсягу звантаження сталася помилка"
 
-#: ../output.py:971
+#: ../output.py:1431
 #, python-format
 msgid "Total size: %s"
 msgstr "Загальний обсяг: %s"
 
-#: ../output.py:974
+#: ../output.py:1433
 #, python-format
 msgid "Total download size: %s"
 msgstr "Загальний обсяг звантаження: %s"
 
-#: ../output.py:978 ../output.py:998
+#: ../output.py:1436 ../output.py:1459 ../output.py:1463
 #, python-format
 msgid "Installed size: %s"
 msgstr "Розмір після встановлення: %s"
 
-#: ../output.py:994
+#: ../output.py:1454
 msgid "There was an error calculating installed size"
 msgstr "Під час обчислення обсягу після встановлення сталася помилка"
 
-#: ../output.py:1039
+#: ../output.py:1504
 msgid "Reinstalling"
 msgstr "Перевстановлення"
 
-#: ../output.py:1040
+#: ../output.py:1505
 msgid "Downgrading"
 msgstr "Зниження версії"
 
-#: ../output.py:1041
+#: ../output.py:1506
 msgid "Installing for dependencies"
 msgstr "Встановлення для залежностей"
 
-#: ../output.py:1042
+#: ../output.py:1507
 msgid "Updating for dependencies"
 msgstr "Оновлення для залежностей"
 
-#: ../output.py:1043
+#: ../output.py:1508
 msgid "Removing for dependencies"
 msgstr "Вилучення для залежностей"
 
-#: ../output.py:1050 ../output.py:1171
+#: ../output.py:1515 ../output.py:1576 ../output.py:1672
 msgid "Skipped (dependency problems)"
 msgstr "Пропущено (проблеми з залежностями)"
 
-#: ../output.py:1052 ../output.py:1687
+#: ../output.py:1517 ../output.py:1577 ../output.py:2223
 msgid "Not installed"
 msgstr "Не встановлено"
 
-#: ../output.py:1053
+#: ../output.py:1518 ../output.py:1578
 msgid "Not available"
-msgstr ""
+msgstr "Недоступний"
 
-#: ../output.py:1075 ../output.py:2024
+#: ../output.py:1540 ../output.py:1588 ../output.py:1604 ../output.py:2581
 msgid "Package"
-msgstr "Пакунок"
+msgid_plural "Packages"
+msgstr[0] "Пакунок"
+msgstr[1] "Пакунки"
+msgstr[2] "Пакунки"
 
-#: ../output.py:1075
+#: ../output.py:1540
 msgid "Arch"
 msgstr "Архітектура"
 
-#: ../output.py:1076
+#: ../output.py:1541
 msgid "Version"
 msgstr "Версія"
 
-#: ../output.py:1076
+#: ../output.py:1541
 msgid "Repository"
 msgstr "Сховище"
 
-#: ../output.py:1077
+#: ../output.py:1542
 msgid "Size"
 msgstr "Розмір"
 
-#: ../output.py:1089
+#: ../output.py:1554
 #, python-format
 msgid "     replacing  %s%s%s.%s %s\n"
 msgstr "     заміна  %s%s%s.%s %s\n"
 
-#: ../output.py:1098
+#: ../output.py:1563
 #, python-format
 msgid ""
 "\n"
 "Transaction Summary\n"
 "%s\n"
-msgstr ""
-"\n"
-"Резюме операції\n"
-"%s\n"
+msgstr "\nРезюме операції\n%s\n"
 
-#: ../output.py:1109
-#, python-format
-msgid "Install   %5.5s Package(s)\n"
-msgstr "Встановлення %5.5s пакунків\n"
+#: ../output.py:1568 ../output.py:2376 ../output.py:2377
+msgid "Install"
+msgstr "Встановити"
 
-#: ../output.py:1113
-#, python-format
-msgid "Upgrade   %5.5s Package(s)\n"
-msgstr "Оновлення  %5.5s пакунків\n"
+#: ../output.py:1570
+msgid "Upgrade"
+msgstr "Оновити"
 
-#: ../output.py:1117
-#, python-format
-msgid "Remove    %5.5s Package(s)\n"
-msgstr "Вилучення %5.5s пакунків\n"
+#: ../output.py:1572
+msgid "Remove"
+msgstr "Вилучити"
 
-#: ../output.py:1121
-#, python-format
-msgid "Reinstall %5.5s Package(s)\n"
-msgstr "Перевстановлення %5.5s пакунків\n"
+#: ../output.py:1574 ../output.py:2382
+msgid "Reinstall"
+msgstr "Перевстановлення"
 
-#: ../output.py:1125
-#, python-format
-msgid "Downgrade %5.5s Package(s)\n"
-msgstr "Зниження версії %5.5s пакунків\n"
+#: ../output.py:1575 ../output.py:2383
+msgid "Downgrade"
+msgstr "Понизити"
+
+#: ../output.py:1606
+msgid "Dependent package"
+msgid_plural "Dependent packages"
+msgstr[0] "Залежні пакунки"
+msgstr[1] "Залежні пакунки"
+msgstr[2] "Залежні пакунки"
 
-#: ../output.py:1165
+#: ../output.py:1666
 msgid "Removed"
 msgstr "Вилучено"
 
-#: ../output.py:1166
+#: ../output.py:1667
 msgid "Dependency Removed"
 msgstr "Вилучено залежності"
 
-#: ../output.py:1168
+#: ../output.py:1669
 msgid "Dependency Installed"
 msgstr "Встановлено залежності"
 
-#: ../output.py:1170
+#: ../output.py:1671
 msgid "Dependency Updated"
 msgstr "Оновлено залежності"
 
-#: ../output.py:1172
+#: ../output.py:1673
 msgid "Replaced"
 msgstr "Замінено"
 
-#: ../output.py:1173
+#: ../output.py:1674
 msgid "Failed"
 msgstr "Помилка"
 
 #. Delta between C-c's so we treat as exit
-#: ../output.py:1260
+#: ../output.py:1764
 msgid "two"
 msgstr "два"
 
 #. For translators: This is output like:
 #. Current download cancelled, interrupt (ctrl-c) again within two seconds
 #. to exit.
-#. Where "interupt (ctrl-c) again" and "two" are highlighted.
-#: ../output.py:1271
+#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
+#: ../output.py:1775
 #, python-format
 msgid ""
 "\n"
 " Current download cancelled, %sinterrupt (ctrl-c) again%s within %s%s%s seconds\n"
 "to exit.\n"
-msgstr ""
-"\n"
-" Поточне звантаження скасовано, %sперервіть роботу (ctrl-c) ще раз%s протягом %s%s%s секунд,\n"
-"щоб завершити операцію.\n"
+msgstr "\n Поточне звантаження скасовано, %sперервіть роботу (ctrl-c) ще раз%s протягом %s%s%s секунд,\nщоб завершити операцію.\n"
 
-#: ../output.py:1282
+#: ../output.py:1786
 msgid "user interrupt"
 msgstr "перервано користувачем"
 
-#: ../output.py:1300
+#: ../output.py:1812
 msgid "Total"
 msgstr "Загалом"
 
-#: ../output.py:1322
+#: ../output.py:1834
 msgid "I"
 msgstr "I"
 
-#: ../output.py:1323
+#: ../output.py:1835
 msgid "O"
 msgstr "O"
 
-#: ../output.py:1324
+#: ../output.py:1836
 msgid "E"
 msgstr "E"
 
-#: ../output.py:1325
+#: ../output.py:1837
 msgid "R"
 msgstr "R"
 
-#: ../output.py:1326
+#: ../output.py:1838
 msgid "D"
 msgstr "D"
 
-#: ../output.py:1327
+#: ../output.py:1839
 msgid "U"
 msgstr "U"
 
-#: ../output.py:1341
+#: ../output.py:1853
 msgid "<unset>"
 msgstr "<не встановлено>"
 
-#: ../output.py:1342
+#: ../output.py:1854
 msgid "System"
 msgstr "Система"
 
-#: ../output.py:1411
+#: ../output.py:1923
 #, python-format
 msgid "Skipping merged transaction %d to %d, as it overlaps"
 msgstr "Пропущено операцію з об’єднання %d з %d через перекриття даних"
 
-#: ../output.py:1421 ../output.py:1592
+#: ../output.py:1933 ../output.py:2125
 msgid "No transactions"
 msgstr "Немає операцій"
 
-#: ../output.py:1446 ../output.py:2013
+#: ../output.py:1958 ../output.py:2570 ../output.py:2660
 msgid "Bad transaction IDs, or package(s), given"
 msgstr "Вказано помилкові ідентифікатори операцій або пакунки"
 
-#: ../output.py:1484
+#: ../output.py:2007
 msgid "Command line"
 msgstr "Командний рядок"
 
-#: ../output.py:1486 ../output.py:1908
+#: ../output.py:2009 ../output.py:2458
 msgid "Login user"
 msgstr "Користувач"
 
 #. REALLY Needs to use columns!
-#: ../output.py:1487 ../output.py:2022
+#: ../output.py:2010 ../output.py:2579
 msgid "ID"
 msgstr "Ід."
 
-#: ../output.py:1489
+#: ../output.py:2012
 msgid "Date and time"
 msgstr "Дата і час"
 
-#: ../output.py:1490 ../output.py:1910 ../output.py:2023
+#: ../output.py:2013 ../output.py:2460 ../output.py:2580
 msgid "Action(s)"
 msgstr "Дії"
 
-#: ../output.py:1491 ../output.py:1911
+#: ../output.py:2014 ../output.py:2461
 msgid "Altered"
 msgstr "Змінено"
 
-#: ../output.py:1538
+#: ../output.py:2061
 msgid "No transaction ID given"
 msgstr "Не вказано ідентифікатора операції"
 
-#: ../output.py:1564 ../output.py:1972
+#: ../output.py:2087 ../output.py:2526
 msgid "Bad transaction ID given"
 msgstr "Вказано помилковий ідентифікатор операції"
 
-#: ../output.py:1569
+#: ../output.py:2092
 msgid "Not found given transaction ID"
 msgstr "Не виявлено вказаного ідентифікатора операції"
 
-#: ../output.py:1577
+#: ../output.py:2100
 msgid "Found more than one transaction ID!"
 msgstr "Виявлено більше одного ідентифікатора операції!"
 
-#: ../output.py:1618 ../output.py:1980
+#: ../output.py:2151 ../output.py:2534
 msgid "No transaction ID, or package, given"
 msgstr "Не вказано ідентифікатора операції або назви пакунка"
 
-#: ../output.py:1686 ../output.py:1845
+#: ../output.py:2222 ../output.py:2384
 msgid "Downgraded"
 msgstr "Знижено версію"
 
-#: ../output.py:1688
+#: ../output.py:2224
 msgid "Older"
 msgstr "Старіший"
 
-#: ../output.py:1688
+#: ../output.py:2224
 msgid "Newer"
 msgstr "Новіший"
 
-#: ../output.py:1724 ../output.py:1726
+#: ../output.py:2261 ../output.py:2263 ../output.py:2681
 msgid "Transaction ID :"
 msgstr "Ід. операції   :"
 
-#: ../output.py:1728
+#: ../output.py:2265 ../output.py:2683
 msgid "Begin time     :"
 msgstr "Час початку     :"
 
-#: ../output.py:1731 ../output.py:1733
+#: ../output.py:2268 ../output.py:2270
 msgid "Begin rpmdb    :"
 msgstr "Початок rpmdb   :"
 
-#: ../output.py:1749
+#: ../output.py:2286
 #, python-format
 msgid "(%u seconds)"
 msgstr "(%u секунд)"
 
-#: ../output.py:1751
+#: ../output.py:2288
 #, python-format
 msgid "(%u minutes)"
 msgstr "(%u хвилин)"
 
-#: ../output.py:1753
+#: ../output.py:2290
 #, python-format
 msgid "(%u hours)"
 msgstr "(%u годин)"
 
-#: ../output.py:1755
+#: ../output.py:2292
 #, python-format
 msgid "(%u days)"
 msgstr "(%u днів)"
 
-#: ../output.py:1756
+#: ../output.py:2293
 msgid "End time       :"
 msgstr "Час завершення  :"
 
-#: ../output.py:1759 ../output.py:1761
+#: ../output.py:2296 ../output.py:2298
 msgid "End rpmdb      :"
 msgstr "Завершення rpmdb:"
 
-#: ../output.py:1764 ../output.py:1766
+#: ../output.py:2301 ../output.py:2303
 msgid "User           :"
 msgstr "Користувач     :"
 
-#: ../output.py:1770 ../output.py:1773 ../output.py:1775 ../output.py:1777
-#: ../output.py:1779
+#: ../output.py:2307 ../output.py:2310 ../output.py:2312 ../output.py:2314
+#: ../output.py:2316
 msgid "Return-Code    :"
 msgstr "Повернутий код :"
 
-#: ../output.py:1770 ../output.py:1775
+#: ../output.py:2307 ../output.py:2312
 msgid "Aborted"
 msgstr "Перервано"
 
-#: ../output.py:1773
+#: ../output.py:2310
 msgid "Failures:"
 msgstr "Помилки:"
 
-#: ../output.py:1777
+#: ../output.py:2314
 msgid "Failure:"
 msgstr "Помилка:"
 
-#: ../output.py:1779
+#: ../output.py:2316
 msgid "Success"
 msgstr "Успіх"
 
-#: ../output.py:1784 ../output.py:1786
+#: ../output.py:2321 ../output.py:2323 ../output.py:2712
 msgid "Command Line   :"
 msgstr "Командний рядок :"
 
-#: ../output.py:1795
+#: ../output.py:2332
 #, python-format
 msgid "Additional non-default information stored: %d"
 msgstr "Збережені додаткові нетипові дані        : %d"
 
 #. This is _possible_, but not common
-#: ../output.py:1800
+#: ../output.py:2337
 msgid "Transaction performed with:"
 msgstr "Результат виконання операції:"
 
-#: ../output.py:1804
+#: ../output.py:2341
 msgid "Packages Altered:"
 msgstr "Змінено пакунків:"
 
-#: ../output.py:1808
+#: ../output.py:2345
 msgid "Packages Skipped:"
 msgstr "Пропущено пакунків:"
 
-#: ../output.py:1814
+#: ../output.py:2353
 msgid "Rpmdb Problems:"
 msgstr "Проблеми з rpmdb:"
 
-#: ../output.py:1825
+#: ../output.py:2364
 msgid "Scriptlet output:"
 msgstr "Виведено скриптом:"
 
-#: ../output.py:1831
+#: ../output.py:2370
 msgid "Errors:"
 msgstr "Помилки:"
 
-#: ../output.py:1837 ../output.py:1838
-msgid "Install"
-msgstr "Встановити"
-
-#: ../output.py:1839
+#: ../output.py:2378
 msgid "Dep-Install"
 msgstr "Встановлення з залежностями"
 
-#: ../output.py:1841
+#: ../output.py:2380
 msgid "Obsoleting"
 msgstr "Робить застарілим"
 
-#: ../output.py:1842
+#: ../output.py:2381
 msgid "Erase"
 msgstr "Стерти"
 
-#: ../output.py:1843
-msgid "Reinstall"
-msgstr "Перевстановлення"
-
-#: ../output.py:1844
-msgid "Downgrade"
-msgstr "Понизити"
-
-#: ../output.py:1846
+#: ../output.py:2385
 msgid "Update"
 msgstr "Оновити"
 
-#: ../output.py:1909
+#: ../output.py:2459
 msgid "Time"
 msgstr "Час"
 
-#: ../output.py:1935
+#: ../output.py:2485
 msgid "Last day"
 msgstr "Протягом дня"
 
-#: ../output.py:1936
+#: ../output.py:2486
 msgid "Last week"
 msgstr "Попереднього тижня"
 
-#: ../output.py:1937
+#: ../output.py:2487
 msgid "Last 2 weeks"
 msgstr "Попередні 2 тижні"
 
 #. US default :p
-#: ../output.py:1938
+#: ../output.py:2488
 msgid "Last 3 months"
 msgstr "Попередні 3 місяці"
 
-#: ../output.py:1939
+#: ../output.py:2489
 msgid "Last 6 months"
 msgstr "Попередні 6 місяців"
 
-#: ../output.py:1940
+#: ../output.py:2490
 msgid "Last year"
 msgstr "Попередній рік"
 
-#: ../output.py:1941
+#: ../output.py:2491
 msgid "Over a year ago"
 msgstr "Понад рік тому"
 
-#: ../output.py:1984
+#: ../output.py:2538
 #, python-format
 msgid "No Transaction %s found"
 msgstr "Не знайдено операції %s"
 
-#: ../output.py:1990
+#: ../output.py:2544
 msgid "Transaction ID:"
 msgstr "Ід. операції  :"
 
-#: ../output.py:1991
+#: ../output.py:2545
 msgid "Available additional history information:"
 msgstr "Доступні додаткові дані з журналу:"
 
-#: ../output.py:2003
+#: ../output.py:2558
 #, python-format
 msgid "%s: No additional data found by this name"
 msgstr "%s: для цієї назви додаткових даних не знайдено"
 
-#: ../output.py:2106
+#: ../output.py:2684
+msgid "Package        :"
+msgstr "Пакунок        :"
+
+#: ../output.py:2685
+msgid "State          :"
+msgstr "Стан           :"
+
+#: ../output.py:2688
+msgid "Size           :"
+msgstr "Розмір         :"
+
+#: ../output.py:2690
+msgid "Build host     :"
+msgstr "Вузол збирання :"
+
+#: ../output.py:2693
+msgid "Build time     :"
+msgstr "Час збирання   :"
+
+#: ../output.py:2695
+msgid "Packager       :"
+msgstr "Пакувальник    :"
+
+#: ../output.py:2697
+msgid "Vendor         :"
+msgstr "Постачальник   :"
+
+#: ../output.py:2699
+msgid "License        :"
+msgstr "Ліцензія       :"
+
+#: ../output.py:2701
+msgid "URL            :"
+msgstr "Адреса         :"
+
+#: ../output.py:2703
+msgid "Source RPM     :"
+msgstr "RPM з кодом    :"
+
+#: ../output.py:2706
+msgid "Commit Time    :"
+msgstr "Час надсилання :"
+
+#: ../output.py:2708
+msgid "Committer      :"
+msgstr "Автор внеску   :"
+
+#: ../output.py:2710
+msgid "Reason         :"
+msgstr "Причина        :"
+
+#: ../output.py:2714
+msgid "From repo      :"
+msgstr "Зі сховища      :"
+
+#: ../output.py:2718
+msgid "Installed by   :"
+msgstr "Встановлено    :"
+
+#: ../output.py:2722
+msgid "Changed by     :"
+msgstr "Автор змін     :"
+
+#: ../output.py:2767
 msgid "installed"
-msgstr "встановлення"
+msgstr "встановлено"
 
-#: ../output.py:2107
+#: ../output.py:2768
 msgid "an update"
 msgstr "оновленням"
 
-#: ../output.py:2108
+#: ../output.py:2769
 msgid "erased"
 msgstr "вилучено"
 
-#: ../output.py:2109
+#: ../output.py:2770
 msgid "reinstalled"
 msgstr "перевстановлено"
 
-#: ../output.py:2110
+#: ../output.py:2771
 msgid "a downgrade"
 msgstr "зниженням версії"
 
-#: ../output.py:2111
+#: ../output.py:2772
 msgid "obsoleting"
 msgstr "робити застарілим"
 
-#: ../output.py:2112
+#: ../output.py:2773
 msgid "updated"
 msgstr "оновлено"
 
-#: ../output.py:2113
+#: ../output.py:2774
 msgid "obsoleted"
 msgstr "визнано застарілим"
 
-#: ../output.py:2117
+#: ../output.py:2778
 #, python-format
 msgid "---> Package %s.%s %s:%s-%s will be %s"
 msgstr "---> Пакунок %s.%s %s:%s-%s буде %s"
 
-#: ../output.py:2124
+#: ../output.py:2789
 msgid "--> Running transaction check"
 msgstr "--> Виконання перевірки операції"
 
-#: ../output.py:2129
+#: ../output.py:2795
 msgid "--> Restarting Dependency Resolution with new changes."
 msgstr "--> Перезапускається визначення залежностей з урахуванням змін."
 
-#: ../output.py:2134
+#: ../output.py:2801
 msgid "--> Finished Dependency Resolution"
 msgstr "--> Визначення залежностей завершено"
 
-#: ../output.py:2139 ../output.py:2144
+#: ../output.py:2814 ../output.py:2827
 #, python-format
 msgid "--> Processing Dependency: %s for package: %s"
 msgstr "--> Обробка залежності: %s для пакунка: %s"
 
-#: ../output.py:2149
+#: ../output.py:2841
 #, python-format
-msgid "---> Keeping package: %s"
-msgstr "---> Збережено пакунок: %s"
+msgid "---> Keeping package: %s due to %s"
+msgstr "---> Зберігаємо пакунок: %s через %s"
 
-#: ../output.py:2152
+#: ../output.py:2850
 #, python-format
 msgid "--> Unresolved Dependency: %s"
 msgstr "--> Нерозв'язана залежність: %s"
 
-#: ../output.py:2163
+#: ../output.py:2867
 #, python-format
 msgid "Package: %s"
 msgstr "Пакунок: %s"
 
-#: ../output.py:2165
+#: ../output.py:2869
 #, python-format
 msgid ""
 "\n"
 "    Requires: %s"
-msgstr ""
-"\n"
-"    Потребує: %s"
+msgstr "\n    Потребує: %s"
 
-#: ../output.py:2174
+#: ../output.py:2878
 #, python-format
 msgid ""
 "\n"
 "    %s: %s (%s)"
-msgstr ""
-"\n"
-"    %s: %s (%s)"
+msgstr "\n    %s: %s (%s)"
 
-#: ../output.py:2179
+#: ../output.py:2883
 #, python-format
 msgid ""
 "\n"
 "        %s"
-msgstr ""
-"\n"
-"        %s"
+msgstr "\n        %s"
 
-#: ../output.py:2181
+#: ../output.py:2885
 msgid ""
 "\n"
 "        Not found"
-msgstr ""
-"\n"
-"        Не знайдено"
+msgstr "\n        Не знайдено"
 
 #. These should be the only three things we care about:
-#: ../output.py:2196
+#: ../output.py:2900
 msgid "Updated By"
 msgstr "Оновлено"
 
-#: ../output.py:2197
+#: ../output.py:2901
 msgid "Downgraded By"
 msgstr "Знижено версію"
 
-#: ../output.py:2198
+#: ../output.py:2902
 msgid "Obsoleted By"
 msgstr "Став застарілим"
 
-#: ../output.py:2216
+#: ../output.py:2920
 msgid "Available"
 msgstr "Наявні"
 
-#: ../output.py:2243 ../output.py:2248
+#: ../output.py:2955 ../output.py:2968
 #, python-format
 msgid "--> Processing Conflict: %s conflicts %s"
 msgstr "--> Обробка конфлікту: %s конфліктів %s"
 
-#: ../output.py:2252
+#: ../output.py:2974
 msgid "--> Populating transaction set with selected packages. Please wait."
 msgstr "--> Додавання вибраних пакунків до операції. Зачекайте, будь ласка."
 
-#: ../output.py:2256
+#: ../output.py:2983
 #, python-format
 msgid "---> Downloading header for %s to pack into transaction set."
 msgstr "---> У список операцій звантажується заголовок пакунка %s."
 
-#: ../utils.py:99
+#. self.event(txmbr.name, count, len(base.tsInfo), count, )
+#. (te_current*100L)/te_total
+#: ../output.py:3248
+msgid "Verifying"
+msgstr "Перевірка"
+
+#: ../utils.py:123
 msgid "Running"
 msgstr "Виконання"
 
-#: ../utils.py:100
+#: ../utils.py:124
 msgid "Sleeping"
 msgstr "Сплю"
 
-#: ../utils.py:101
+#: ../utils.py:125
 msgid "Uninterruptible"
 msgstr "Безперервний"
 
-#: ../utils.py:102
+#: ../utils.py:126
 msgid "Zombie"
 msgstr "Зомбі"
 
-#: ../utils.py:103
+#: ../utils.py:127
 msgid "Traced/Stopped"
 msgstr "З трасуванням/зупинкою"
 
-#: ../utils.py:104 ../yumcommands.py:994
+#: ../utils.py:128 ../yumcommands.py:2193
 msgid "Unknown"
 msgstr "Невідомо"
 
-#: ../utils.py:115
+#: ../utils.py:153
 msgid "  The other application is: PackageKit"
 msgstr "  Сторонньою програмою є: PackageKit"
 
-#: ../utils.py:117
+#: ../utils.py:155
 #, python-format
 msgid "  The other application is: %s"
 msgstr "  Сторонньою програмою є: %s"
 
-#: ../utils.py:120
+#: ../utils.py:158
 #, python-format
 msgid "    Memory : %5s RSS (%5sB VSZ)"
 msgstr "    Пм’ять : %5s RSS (%5sБ VSZ)"
 
-#: ../utils.py:125
+#: ../utils.py:163
 #, python-format
 msgid "    Started: %s - %s ago"
 msgstr "    Почато: %s - %s тому"
 
-#: ../utils.py:127
+#: ../utils.py:165
 #, python-format
 msgid "    State  : %s, pid: %d"
 msgstr "    Стан   : %s, PID: %d"
 
-#: ../utils.py:170 ../yummain.py:43
+#: ../utils.py:194 ../yummain.py:43
 msgid ""
 "\n"
 "\n"
 "Exiting on user cancel"
-msgstr ""
-"\n"
-"\n"
-"Завершення роботи на запит користувача"
+msgstr "\n\nЗавершення роботи на запит користувача"
 
-#: ../utils.py:176 ../yummain.py:49
+#: ../utils.py:206 ../yummain.py:49
 msgid ""
 "\n"
 "\n"
 "Exiting on Broken Pipe"
-msgstr ""
-"\n"
-"\n"
-"Завершення роботи через розрив зв’язку"
+msgstr "\n\nЗавершення роботи через розрив зв’язку"
 
-#: ../utils.py:178 ../yummain.py:51
+#: ../utils.py:208 ../yummain.py:51
 #, python-format
 msgid ""
 "\n"
 "\n"
 "%s"
-msgstr ""
-"\n"
-"\n"
-"%s"
-
-#: ../utils.py:228 ../yummain.py:123
-msgid ""
-"Another app is currently holding the yum lock; exiting as configured by "
-"exit_on_lock"
-msgstr ""
-"Зараз yum блокує стороння програма. Завершуємо роботу відповідно до "
-"налаштування exit_on_lock"
+msgstr "\n\n%s"
 
-#: ../utils.py:287
+#: ../utils.py:326
 #, python-format
 msgid "PluginExit Error: %s"
 msgstr "Помилка PluginExit: %s"
 
-#: ../utils.py:290
+#: ../utils.py:329
 #, python-format
 msgid "Yum Error: %s"
 msgstr "Помилка Yum: %s"
 
-#: ../utils.py:342 ../yummain.py:150 ../yummain.py:189
+#: ../utils.py:387 ../yummain.py:147 ../yummain.py:186
 #, python-format
 msgid "Error: %s"
 msgstr "Помилка: %s"
 
-#: ../utils.py:346 ../yummain.py:194
+#: ../utils.py:391 ../yummain.py:191
 msgid " You could try using --skip-broken to work around the problem"
 msgstr " Щоб обійти проблему, спробуйте скористатися параметром --skip-broken"
 
-#: ../utils.py:348 ../yummain.py:87
+#: ../utils.py:393 ../yummain.py:87
 msgid " You could try running: rpm -Va --nofiles --nodigest"
 msgstr " Спробуйте віддати команду: rpm -Va --nofiles --nodigest"
 
-#: ../utils.py:355 ../yummain.py:160 ../yummain.py:202
+#: ../utils.py:400 ../yummain.py:157 ../yummain.py:199
 #, python-format
 msgid "Unknown Error(s): Exit Code: %d:"
 msgstr "Невідомі помилки: код виходу: %d:"
 
-#: ../utils.py:361 ../yummain.py:208
+#: ../utils.py:406 ../yummain.py:205
 msgid ""
 "\n"
 "Dependencies Resolved"
-msgstr ""
-"\n"
-"Залежності розв’язано"
+msgstr "\nЗалежності розв’язано"
 
-#: ../utils.py:376 ../yummain.py:234
+#: ../utils.py:422 ../yummain.py:237
 msgid "Complete!"
 msgstr "Завершено!"
 
@@ -1521,11 +1661,9 @@ msgstr " Коротко щодо використання:\n"
 
 #: ../yumcommands.py:52
 msgid "You need to be root to perform this command."
-msgstr ""
-"Для виконання цієї команди вам слід набути прав доступу адміністративного "
-"користувача."
+msgstr "Для виконання цієї команди вам слід набути прав доступу адміністративного користувача."
 
-#: ../yumcommands.py:59
+#: ../yumcommands.py:67
 msgid ""
 "\n"
 "You have enabled checking of packages via GPG keys. This is a good thing. \n"
@@ -1540,589 +1678,653 @@ msgid ""
 "will install it for you.\n"
 "\n"
 "For more information contact your distribution or package provider.\n"
-msgstr ""
-"\n"
-"Вами було увімкнено перевірку пакунків за допомогою ключів GPG. Це правильний крок. \n"
-"Але у вашій системі не встановлено жодного відкритого ключа GPG. Вам слід звантажити\n"
-"ключі до пакунків, які ви бажаєте встановити і встановити ці ключі.\n"
-"Виконати встановлення можна за допомогою команди:\n"
-"    rpm --import public.gpg.key\n"
-"\n"
-"\n"
-"Крім того, ви можете вказати адресу URL ключа, яким бажаєте скористатися\n"
-"для сховища за допомогою параметра «gpgkey» у розділі налаштувань сховища, yum \n"
-"встановить потрібні ключі автоматично.\n"
-"\n"
-"Докладніші відомості може бути отримано з довідки до вашого дистрибутива або від\n"
-"постачальника пакунків.\n"
+msgstr "\nВами було увімкнено перевірку пакунків за допомогою ключів GPG. Це правильний крок. \nАле у вашій системі не встановлено жодного відкритого ключа GPG. Вам слід звантажити\nключі до пакунків, які ви бажаєте встановити і встановити ці ключі.\nВиконати встановлення можна за допомогою команди:\n    rpm --import public.gpg.key\n\n\nКрім того, ви можете вказати адресу URL ключа, яким бажаєте скористатися\nдля сховища за допомогою параметра «gpgkey» у розділі налаштувань сховища, yum \nвстановить потрібні ключі автоматично.\n\nДокладніші відомості може бути отримано з довідки до вашого дистрибутива або від\nпостачальника пакунків.\n"
 
-#: ../yumcommands.py:74
+#: ../yumcommands.py:82
 #, python-format
 msgid "Problem repository: %s"
-msgstr ""
+msgstr "Проблема зі сховищем: %s"
 
-#: ../yumcommands.py:80
+#: ../yumcommands.py:96
 #, python-format
 msgid "Error: Need to pass a list of pkgs to %s"
 msgstr "Помилка: %s слід передати список пакунків"
 
-#: ../yumcommands.py:86
+#: ../yumcommands.py:114
+#, python-format
+msgid "Error: Need at least two packages to %s"
+msgstr "Помилка: для %s потрібно принаймні два пакунки"
+
+#: ../yumcommands.py:129
+#, python-format
+msgid "Error: Need to pass a repoid. and command to %s"
+msgstr "Помилка: до %s слід передати ід. сховища і команду"
+
+#: ../yumcommands.py:136 ../yumcommands.py:142
+#, python-format
+msgid "Error: Need to pass a single valid repoid. to %s"
+msgstr "Помилка: до %s слід передати один чинний ід. сховища"
+
+#: ../yumcommands.py:147
+#, python-format
+msgid "Error: Repo %s is not enabled"
+msgstr "Помилка: сховище %s не увімкнено"
+
+#: ../yumcommands.py:164
 msgid "Error: Need an item to match"
 msgstr "Помилка: слід вказати ключ для встановлення відповідності"
 
-#: ../yumcommands.py:92
+#: ../yumcommands.py:178
 msgid "Error: Need a group or list of groups"
 msgstr "Помилка: слід вказати групу або список груп"
 
-#: ../yumcommands.py:101
+#: ../yumcommands.py:195
 #, python-format
 msgid "Error: clean requires an option: %s"
 msgstr "Помилка: для виконання clean слід вказати %s"
 
-#: ../yumcommands.py:106
+#: ../yumcommands.py:201
 #, python-format
 msgid "Error: invalid clean argument: %r"
 msgstr "Помилка: некоректний аргумент clean: %r"
 
-#: ../yumcommands.py:119
+#: ../yumcommands.py:216
 msgid "No argument to shell"
 msgstr "Не вказано аргумент shell"
 
-#: ../yumcommands.py:121
+#: ../yumcommands.py:218
 #, python-format
 msgid "Filename passed to shell: %s"
 msgstr "shell передано назву файла: %s"
 
-#: ../yumcommands.py:125
+#: ../yumcommands.py:222
 #, python-format
 msgid "File %s given as argument to shell does not exist."
 msgstr "Файла %s, переданого як аргумент параметра shell, не знайдено."
 
-#: ../yumcommands.py:131
+#: ../yumcommands.py:228
 msgid "Error: more than one file given as argument to shell."
 msgstr "Помилка: shell передано як аргументи декілька файлів."
 
-#: ../yumcommands.py:148
+#: ../yumcommands.py:247
 msgid ""
 "There are no enabled repos.\n"
 " Run \"yum repolist all\" to see the repos you have.\n"
 " You can enable repos with yum-config-manager --enable <repo>"
-msgstr ""
-"Не увімкнено жодного сховища.\n"
-" Для перегляду списку всіх сховищ віддайте команду «yum repolist all».\n"
-" Увімкнути сховище можна за допомогою команди yum-config-manager --enable <repo>"
+msgstr "Не увімкнено жодного сховища.\n Для перегляду списку всіх сховищ віддайте команду «yum repolist all».\n Увімкнути сховище можна за допомогою команди yum-config-manager --enable <repo>"
 
-#: ../yumcommands.py:200
+#: ../yumcommands.py:383
 msgid "PACKAGE..."
 msgstr "ПАКУНОК…"
 
-#: ../yumcommands.py:203
+#: ../yumcommands.py:390
 msgid "Install a package or packages on your system"
 msgstr "Встановлення пакунка або пакунків у вашій системі"
 
-#: ../yumcommands.py:212
+#: ../yumcommands.py:421
 msgid "Setting up Install Process"
 msgstr "Налаштування процесу встановлення"
 
-#: ../yumcommands.py:223 ../yumcommands.py:245
+#: ../yumcommands.py:447 ../yumcommands.py:507
 msgid "[PACKAGE...]"
 msgstr "[ПАКУНОК…]"
 
-#: ../yumcommands.py:226
+#: ../yumcommands.py:454
 msgid "Update a package or packages on your system"
 msgstr "Оновлення пакунків вашої системи"
 
-#: ../yumcommands.py:234
+#: ../yumcommands.py:483
 msgid "Setting up Update Process"
 msgstr "Налаштування процесу оновлення"
 
-#: ../yumcommands.py:248
+#: ../yumcommands.py:514
 msgid "Synchronize installed packages to the latest available versions"
-msgstr ""
-"Синхронізація встановлених пакунків з найсвіжішими доступними версіями"
+msgstr "Синхронізація встановлених пакунків з найсвіжішими доступними версіями"
 
-#: ../yumcommands.py:256
+#: ../yumcommands.py:543
 msgid "Setting up Distribution Synchronization Process"
 msgstr "Налаштування процесу синхронізації дистрибутивів"
 
-#: ../yumcommands.py:299
+#: ../yumcommands.py:603
 msgid "Display details about a package or group of packages"
 msgstr "Показати подробиці щодо пакунка або групи пакунків"
 
-#: ../yumcommands.py:348
+#: ../yumcommands.py:672
 msgid "Installed Packages"
 msgstr "Встановлені пакунки"
 
-#: ../yumcommands.py:356
+#: ../yumcommands.py:682
 msgid "Available Packages"
 msgstr "Доступних пакунків"
 
-#: ../yumcommands.py:360
+#: ../yumcommands.py:687
 msgid "Extra Packages"
 msgstr "Зайвих пакунків"
 
-#: ../yumcommands.py:364
+#: ../yumcommands.py:691
 msgid "Updated Packages"
 msgstr "Оновлених пакунків"
 
 #. This only happens in verbose mode
-#: ../yumcommands.py:372 ../yumcommands.py:379 ../yumcommands.py:667
+#: ../yumcommands.py:699 ../yumcommands.py:706 ../yumcommands.py:1539
 msgid "Obsoleting Packages"
 msgstr "Застарілих пакунків"
 
-#: ../yumcommands.py:381
+#: ../yumcommands.py:708
 msgid "Recently Added Packages"
 msgstr "Останні додані пакунки"
 
-#: ../yumcommands.py:388
+#: ../yumcommands.py:715
 msgid "No matching Packages to list"
 msgstr "У списку не виявлено відповідних пакунків"
 
-#: ../yumcommands.py:402
+#: ../yumcommands.py:766
 msgid "List a package or groups of packages"
 msgstr "Список пакунків або груп пакунків"
 
-#: ../yumcommands.py:414
+#: ../yumcommands.py:797
 msgid "Remove a package or packages from your system"
 msgstr "Вилучення пакунка або пакунків з вашої системі"
 
-#: ../yumcommands.py:421
+#: ../yumcommands.py:845
 msgid "Setting up Remove Process"
 msgstr "Налаштування процесу вилучення"
 
-#: ../yumcommands.py:435
+#: ../yumcommands.py:906
+msgid "Display, or use, the groups information"
+msgstr "Показати або використати дані груп"
+
+#: ../yumcommands.py:909
 msgid "Setting up Group Process"
 msgstr "Налаштування обробки груп"
 
-#: ../yumcommands.py:441
+#: ../yumcommands.py:915
 msgid "No Groups on which to run command"
 msgstr "Не виявлено груп, над якими має бути виконано команду"
 
-#: ../yumcommands.py:454
-msgid "List available package groups"
-msgstr "Список можливих груп пакунків"
-
-#: ../yumcommands.py:474
-msgid "Install the packages in a group on your system"
-msgstr "Встановлення пакунків групи"
+#: ../yumcommands.py:985
+#, python-format
+msgid "Invalid groups sub-command, use: %s."
+msgstr "Некоректна підкоманда груп, скористайтеся: %s."
 
-#: ../yumcommands.py:497
-msgid "Remove the packages in a group from your system"
-msgstr "Вилучення пакунків групи"
+#: ../yumcommands.py:992
+msgid "There is no installed groups file."
+msgstr "Немає встановленого файла груп."
 
-#: ../yumcommands.py:525
-msgid "Display details about a package group"
-msgstr "Показ подробиць щодо групи пакунків"
+#: ../yumcommands.py:994
+msgid "You don't have access to the groups DB."
+msgstr "У вас немає прав доступу до бази даних груп."
 
-#: ../yumcommands.py:550
+#: ../yumcommands.py:1256
 msgid "Generate the metadata cache"
 msgstr "Створення кешу метаданих"
 
-#: ../yumcommands.py:556
+#: ../yumcommands.py:1282
 msgid "Making cache files for all metadata files."
 msgstr "Створення файлів кешу для всіх файлів метаданих."
 
-#: ../yumcommands.py:557
+#: ../yumcommands.py:1283
 msgid "This may take a while depending on the speed of this computer"
-msgstr ""
-"Процедура може тривати досить довго, тривалість залежить від потужності "
-"комп’ютера."
+msgstr "Процедура може тривати досить довго, тривалість залежить від потужності комп’ютера."
 
-#: ../yumcommands.py:578
+#: ../yumcommands.py:1312
 msgid "Metadata Cache Created"
 msgstr "Створено кеш метаданих"
 
-#: ../yumcommands.py:592
+#: ../yumcommands.py:1350
 msgid "Remove cached data"
 msgstr "Вилучення кешованих даних"
 
-#: ../yumcommands.py:613
+#: ../yumcommands.py:1417
 msgid "Find what package provides the given value"
 msgstr "Пошук пакунка за вказаним ключем"
 
-#: ../yumcommands.py:633
+#: ../yumcommands.py:1485
 msgid "Check for available package updates"
 msgstr "Перевірка доступності оновлень пакунків"
 
-#: ../yumcommands.py:687
+#: ../yumcommands.py:1587
 msgid "Search package details for the given string"
 msgstr "Пошук подробиць щодо пакунка за вказаним рядком"
 
-#: ../yumcommands.py:693
+#: ../yumcommands.py:1613
 msgid "Searching Packages: "
 msgstr "Пошук пакунків: "
 
-#: ../yumcommands.py:710
+#: ../yumcommands.py:1666
 msgid "Update packages taking obsoletes into account"
 msgstr "Оновлення пакунків з врахуванням застарівання пакунків"
 
-#: ../yumcommands.py:719
+#: ../yumcommands.py:1696
 msgid "Setting up Upgrade Process"
 msgstr "Налаштування процесу оновлення"
 
-#: ../yumcommands.py:737
+#: ../yumcommands.py:1731
 msgid "Install a local RPM"
 msgstr "Встановлення локального пакунка RPM"
 
-#: ../yumcommands.py:745
+#: ../yumcommands.py:1761
 msgid "Setting up Local Package Process"
 msgstr "Налаштування обробки локального пакунка"
 
-#: ../yumcommands.py:764
-msgid "Determine which package provides the given dependency"
-msgstr "Визначення пакунка, що містить вказану залежність"
-
-#: ../yumcommands.py:767
+#: ../yumcommands.py:1825
 msgid "Searching Packages for Dependency:"
 msgstr "Пошук пакунків для задоволення залежності:"
 
-#: ../yumcommands.py:781
+#: ../yumcommands.py:1867
 msgid "Run an interactive yum shell"
 msgstr "Запуск інтерактивної оболонки yum"
 
-#: ../yumcommands.py:787
+#: ../yumcommands.py:1893
 msgid "Setting up Yum Shell"
 msgstr "Налаштування оболонки Yum"
 
-#: ../yumcommands.py:805
+#: ../yumcommands.py:1936
 msgid "List a package's dependencies"
 msgstr "Показ списку залежностей пакунків"
 
-#: ../yumcommands.py:811
+#: ../yumcommands.py:1963
 msgid "Finding dependencies: "
 msgstr "Пошук залежностей: "
 
-#: ../yumcommands.py:827
+#: ../yumcommands.py:2005
 msgid "Display the configured software repositories"
 msgstr "Показ списку увімкнених сховищ програмного забезпечення"
 
-#: ../yumcommands.py:893 ../yumcommands.py:894
+#: ../yumcommands.py:2094 ../yumcommands.py:2095
 msgid "enabled"
 msgstr "увімкнено"
 
-#: ../yumcommands.py:920 ../yumcommands.py:921
+#: ../yumcommands.py:2121 ../yumcommands.py:2122
 msgid "disabled"
 msgstr "вимкнено"
 
-#: ../yumcommands.py:937
+#: ../yumcommands.py:2137
 msgid "Repo-id      : "
 msgstr "Ід. сховища   : "
 
-#: ../yumcommands.py:938
+#: ../yumcommands.py:2138
 msgid "Repo-name    : "
 msgstr "Назва сховища : "
 
-#: ../yumcommands.py:941
+#: ../yumcommands.py:2141
 msgid "Repo-status  : "
 msgstr "Стан сховища  : "
 
-#: ../yumcommands.py:944
+#: ../yumcommands.py:2144
 msgid "Repo-revision: "
 msgstr "Версія сховища: "
 
-#: ../yumcommands.py:948
+#: ../yumcommands.py:2148
 msgid "Repo-tags    : "
 msgstr "Мітки сховища : "
 
-#: ../yumcommands.py:954
+#: ../yumcommands.py:2154
 msgid "Repo-distro-tags: "
 msgstr "Мітки дистрибутива сховища: "
 
-#: ../yumcommands.py:959
+#: ../yumcommands.py:2159
 msgid "Repo-updated : "
 msgstr "Оновлення сховища: "
 
-#: ../yumcommands.py:961
+#: ../yumcommands.py:2161
 msgid "Repo-pkgs    : "
 msgstr "Пакунки сховища: "
 
-#: ../yumcommands.py:962
+#: ../yumcommands.py:2162
 msgid "Repo-size    : "
 msgstr "Розмір сховища: "
 
-#: ../yumcommands.py:969 ../yumcommands.py:990
+#: ../yumcommands.py:2169 ../yumcommands.py:2190
 msgid "Repo-baseurl : "
 msgstr "Адреса сховища: "
 
-#: ../yumcommands.py:977
+#: ../yumcommands.py:2177
 msgid "Repo-metalink: "
 msgstr "Метапосилання сховища: "
 
-#: ../yumcommands.py:981
+#: ../yumcommands.py:2181
 msgid "  Updated    : "
 msgstr "  Оновлено   : "
 
-#: ../yumcommands.py:984
+#: ../yumcommands.py:2184
 msgid "Repo-mirrors : "
 msgstr "Дзеркала сховищ: "
 
-#: ../yumcommands.py:1000
+#: ../yumcommands.py:2199
 #, python-format
 msgid "Never (last: %s)"
 msgstr "Ніколи (востаннє: %s)"
 
-#: ../yumcommands.py:1002
+#: ../yumcommands.py:2201
 #, python-format
 msgid "Instant (last: %s)"
 msgstr "Негайно (лишилося: %s)"
 
-#: ../yumcommands.py:1005
+#: ../yumcommands.py:2204
 #, python-format
 msgid "%s second(s) (last: %s)"
 msgstr "%s секунд (лишилося: %s)"
 
-#: ../yumcommands.py:1007
+#: ../yumcommands.py:2206
 msgid "Repo-expire  : "
 msgstr "Строк дії сховища: "
 
-#: ../yumcommands.py:1010
+#: ../yumcommands.py:2209
 msgid "Repo-exclude : "
 msgstr "Виключення сховища: "
 
-#: ../yumcommands.py:1014
+#: ../yumcommands.py:2213
 msgid "Repo-include : "
 msgstr "Включення сховища: "
 
-#: ../yumcommands.py:1018
+#: ../yumcommands.py:2217
 msgid "Repo-excluded: "
 msgstr "Виключені сховища: "
 
-#: ../yumcommands.py:1022
+#: ../yumcommands.py:2221
 msgid "Repo-filename: "
-msgstr ""
+msgstr "Назва файла сховища: "
 
 #. Work out the first (id) and last (enabled/disalbed/count),
 #. then chop the middle (name)...
-#: ../yumcommands.py:1032 ../yumcommands.py:1061
+#: ../yumcommands.py:2230 ../yumcommands.py:2259
 msgid "repo id"
 msgstr "ід. сховища"
 
-#: ../yumcommands.py:1049 ../yumcommands.py:1050 ../yumcommands.py:1068
+#: ../yumcommands.py:2247 ../yumcommands.py:2248 ../yumcommands.py:2266
 msgid "status"
 msgstr "стан"
 
-#: ../yumcommands.py:1062
+#: ../yumcommands.py:2260
 msgid "repo name"
 msgstr "назва сховища"
 
-#: ../yumcommands.py:1099
+#: ../yumcommands.py:2332
 msgid "Display a helpful usage message"
 msgstr "Показати корисну підказку щодо використання"
 
-#: ../yumcommands.py:1133
+#: ../yumcommands.py:2374
 #, python-format
 msgid "No help available for %s"
 msgstr "Довідки щодо %s не виявлено"
 
-#: ../yumcommands.py:1138
+#: ../yumcommands.py:2379
 msgid ""
 "\n"
 "\n"
 "aliases: "
-msgstr ""
-"\n"
-"\n"
-"інші назви: "
+msgstr "\n\nінші назви: "
 
-#: ../yumcommands.py:1140
+#: ../yumcommands.py:2381
 msgid ""
 "\n"
 "\n"
 "alias: "
-msgstr ""
-"\n"
-"\n"
-"інша назва: "
+msgstr "\n\nінша назва: "
 
-#: ../yumcommands.py:1168
+#: ../yumcommands.py:2466
 msgid "Setting up Reinstall Process"
 msgstr "Налаштування процесу перевстановлення"
 
-#: ../yumcommands.py:1176
+#: ../yumcommands.py:2478
 msgid "reinstall a package"
 msgstr "перевстановлення пакунка"
 
-#: ../yumcommands.py:1195
+#: ../yumcommands.py:2541
 msgid "Setting up Downgrade Process"
 msgstr "Налаштування процесу зниження версії"
 
-#: ../yumcommands.py:1202
+#: ../yumcommands.py:2552
 msgid "downgrade a package"
 msgstr "зниження версії пакунка"
 
-#: ../yumcommands.py:1216
+#: ../yumcommands.py:2591
 msgid "Display a version for the machine and/or available repos."
 msgstr "Показ версії для вашої архітектури і/або списку доступних сховищ."
 
-#: ../yumcommands.py:1255
+#: ../yumcommands.py:2643
 msgid " Yum version groups:"
 msgstr " Групи версій Yum:"
 
-#: ../yumcommands.py:1265
+#: ../yumcommands.py:2653
 msgid " Group   :"
 msgstr " Група   :"
 
-#: ../yumcommands.py:1266
+#: ../yumcommands.py:2654
 msgid " Packages:"
 msgstr " Пакунки:"
 
-#: ../yumcommands.py:1295
+#: ../yumcommands.py:2683
 msgid "Installed:"
 msgstr "Встановлено:"
 
-#: ../yumcommands.py:1303
+#: ../yumcommands.py:2691
 msgid "Group-Installed:"
 msgstr "Встановлені групи:"
 
-#: ../yumcommands.py:1312
+#: ../yumcommands.py:2700
 msgid "Available:"
 msgstr "Доступні:"
 
-#: ../yumcommands.py:1321
+#: ../yumcommands.py:2709
 msgid "Group-Available:"
 msgstr "Доступні групи:"
 
-#: ../yumcommands.py:1360
+#: ../yumcommands.py:2783
 msgid "Display, or use, the transaction history"
 msgstr "Показ або використання журналу операцій"
 
-#: ../yumcommands.py:1432
+#: ../yumcommands.py:2876 ../yumcommands.py:2880
+msgid "Transactions:"
+msgstr "Операції:"
+
+#: ../yumcommands.py:2881
+msgid "Begin time  :"
+msgstr "Час початку :"
+
+#: ../yumcommands.py:2882
+msgid "End time    :"
+msgstr "Час закінч. :"
+
+#: ../yumcommands.py:2883
+msgid "Counts      :"
+msgstr "Лічильники  :"
+
+#: ../yumcommands.py:2884
+msgid "  NEVRAC :"
+msgstr "  NEVRAC :"
+
+#: ../yumcommands.py:2885
+msgid "  NEVRA  :"
+msgstr "  NEVRA  :"
+
+#: ../yumcommands.py:2886
+msgid "  NA     :"
+msgstr "  NA     :"
+
+#: ../yumcommands.py:2887
+msgid "  NEVR   :"
+msgstr "  NEVR   :"
+
+#: ../yumcommands.py:2888
+msgid "  rpm DB :"
+msgstr "  rpm DB :"
+
+#: ../yumcommands.py:2889
+msgid "  yum DB :"
+msgstr "  yum DB :"
+
+#: ../yumcommands.py:2922
 #, python-format
 msgid "Invalid history sub-command, use: %s."
 msgstr "Некоректна підкоманда журналу, скористайтеся: %s."
 
-#: ../yumcommands.py:1439
+#: ../yumcommands.py:2929
 msgid "You don't have access to the history DB."
 msgstr "У вас немає права доступу до бази даних журналу."
 
-#: ../yumcommands.py:1487
+#: ../yumcommands.py:3036
 msgid "Check for problems in the rpmdb"
 msgstr "Пошук проблем у rpmdb"
 
-#: ../yumcommands.py:1514
+#: ../yumcommands.py:3102
 msgid "load a saved transaction from filename"
 msgstr "завантажити збережену операцію з файла з вказаною назвою"
 
-#: ../yumcommands.py:1518
+#: ../yumcommands.py:3119
 msgid "No saved transaction file specified."
 msgstr "Не вказано файла збережених записів операцій"
 
-#: ../yumcommands.py:1522
+#: ../yumcommands.py:3123
 #, python-format
 msgid "loading transaction from %s"
 msgstr "завантаження операції з %s"
 
-#: ../yumcommands.py:1528
+#: ../yumcommands.py:3129
 #, python-format
 msgid "Transaction loaded from %s with %s members"
 msgstr "Операцію завантажено з %s, кількість дій — %s"
 
+#: ../yumcommands.py:3169
+msgid "Simple way to swap packages, isntead of using shell"
+msgstr "Простий спосіб заміни пакунків замість використання командної оболонки"
+
+#: ../yumcommands.py:3264
+msgid ""
+"Treat a repo. as a group of packages, so we can install/remove all of them"
+msgstr "Обробляти сховище як групу пакунків для встановлення або вилучення всіх цих пакунків одночасно"
+
+#: ../yumcommands.py:3341
+#, python-format
+msgid "%d package to update"
+msgid_plural "%d packages to update"
+msgstr[0] "%d пакунок оновлення"
+msgstr[1] "%d пакунки оновлення"
+msgstr[2] "%d пакунків оновлення"
+
+#: ../yumcommands.py:3370
+#, python-format
+msgid "%d package to remove/reinstall"
+msgid_plural "%d packages to remove/reinstall"
+msgstr[0] "%d пакунок для вилучення або повторного встановлення"
+msgstr[1] "%d пакунки для вилучення або повторного встановлення"
+msgstr[2] "%d пакунків для вилучення або повторного встановлення"
+
+#: ../yumcommands.py:3413
+#, python-format
+msgid "%d package to remove/sync"
+msgid_plural "%d packages to remove/sync"
+msgstr[0] "%d пакунок для вилучення або синхронізації"
+msgstr[1] "%d пакунки для вилучення або синхронізації"
+msgstr[2] "%d пакунків для вилучення або синхронізації"
+
+#: ../yumcommands.py:3417
+#, python-format
+msgid "Not a valid sub-command of %s"
+msgstr "Некоректна підкоманда %s"
+
 #. This is mainly for PackageSackError from rpmdb.
 #: ../yummain.py:84
 #, python-format
 msgid " Yum checks failed: %s"
 msgstr " Спроба перевірки yum зазнала невдачі: %s"
 
-#: ../yummain.py:114
-msgid ""
-"Another app is currently holding the yum lock; waiting for it to exit..."
-msgstr ""
-"Зараз yum блокує стороння програма. Зачекаємо на завершення її роботи..."
+#: ../yummain.py:98
+msgid "No read/execute access in current directory, moving to /"
+msgstr "Немає доступу до читання або виконання до поточного каталогу, пересуваємо до /"
 
-#: ../yummain.py:120
-msgid "Can't create lock file; exiting"
-msgstr "Не вдалося створити файл блокування. Завершення роботи."
+#: ../yummain.py:106
+msgid "No getcwd() access in current directory, moving to /"
+msgstr "Немає доступу до getcwd() у поточному каталозі, переходимо до /"
 
 #. Depsolve stage
-#: ../yummain.py:167
+#: ../yummain.py:164
 msgid "Resolving Dependencies"
 msgstr "Розв’язання залежностей"
 
-#: ../yummain.py:230
+#: ../yummain.py:227 ../yummain.py:235
 #, python-format
-msgid "Your transaction was saved, rerun it with: yum load-transaction %s"
-msgstr ""
-"Ваш запис операції було збережено, повторити операцію можна за допомогою "
-"команди: yum load-transaction %s"
+msgid ""
+"Your transaction was saved, rerun it with:\n"
+" yum load-transaction %s"
+msgstr "Ваш запис операції було збережено, повторити операцію можна за допомогою\n yum load-transaction %s"
 
-#: ../yummain.py:288
+#: ../yummain.py:312
 msgid ""
 "\n"
 "\n"
 "Exiting on user cancel."
-msgstr ""
-"\n"
-"\n"
-"Завершення роботи на запит користувача."
+msgstr "\n\nЗавершення роботи на запит користувача."
 
-#: ../yum/depsolve.py:84
+#: ../yum/depsolve.py:127
 msgid "doTsSetup() will go away in a future version of Yum.\n"
 msgstr "doTsSetup() буде усунуто у майбутніх версіях Yum.\n"
 
-#: ../yum/depsolve.py:99
+#: ../yum/depsolve.py:143
 msgid "Setting up TransactionSets before config class is up"
 msgstr "Налаштування наборів операцій до включення класу налаштувань"
 
-#: ../yum/depsolve.py:153
+#: ../yum/depsolve.py:200
 #, python-format
 msgid "Invalid tsflag in config file: %s"
 msgstr "Некоректне значення tsflag у файлі налаштувань: %s"
 
-#: ../yum/depsolve.py:164
+#: ../yum/depsolve.py:218
 #, python-format
 msgid "Searching pkgSack for dep: %s"
 msgstr "Пошук pkgSack для залежності: %s"
 
-#: ../yum/depsolve.py:207
+#: ../yum/depsolve.py:269
 #, python-format
 msgid "Member: %s"
 msgstr "Частина: %s"
 
-#: ../yum/depsolve.py:221 ../yum/depsolve.py:793
+#: ../yum/depsolve.py:283 ../yum/depsolve.py:937
 #, python-format
 msgid "%s converted to install"
 msgstr "%s перетворено для встановлення"
 
-#: ../yum/depsolve.py:233
+#: ../yum/depsolve.py:295
 #, python-format
 msgid "Adding Package %s in mode %s"
 msgstr "Додавання пакунка %s у режимі %s"
 
-#: ../yum/depsolve.py:249
+#: ../yum/depsolve.py:311
 #, python-format
 msgid "Removing Package %s"
 msgstr "Вилучення пакунка %s"
 
-#: ../yum/depsolve.py:271
+#: ../yum/depsolve.py:333
 #, python-format
 msgid "%s requires: %s"
 msgstr "%s потребує: %s"
 
-#: ../yum/depsolve.py:312
+#: ../yum/depsolve.py:374
 #, python-format
 msgid "%s requires %s"
 msgstr "%s потребує %s"
 
-#: ../yum/depsolve.py:339
+#: ../yum/depsolve.py:401
 msgid "Needed Require has already been looked up, cheating"
 msgstr "Потрібний пакунок вже знайдено, обхідний маневр"
 
-#: ../yum/depsolve.py:349
+#: ../yum/depsolve.py:411
 #, python-format
 msgid "Needed Require is not a package name. Looking up: %s"
 msgstr "Потрібна залежність задана не яка назва пакунка. Шукаємо: %s"
 
-#: ../yum/depsolve.py:357
+#: ../yum/depsolve.py:419
 #, python-format
 msgid "Potential Provider: %s"
 msgstr "Можливе джерело залежності: %s"
 
-#: ../yum/depsolve.py:380
+#: ../yum/depsolve.py:442
 #, python-format
 msgid "Mode is %s for provider of %s: %s"
 msgstr "Режим %s для надання %s: %s"
 
-#: ../yum/depsolve.py:384
+#: ../yum/depsolve.py:446
 #, python-format
 msgid "Mode for pkg providing %s: %s"
 msgstr "Режим надання пакунка %s: %s"
@@ -2130,1044 +2332,1142 @@ msgstr "Режим надання пакунка %s: %s"
 #. the thing it needs is being updated or obsoleted away
 #. try to update the requiring package in hopes that all this problem goes
 #. away :(
-#: ../yum/depsolve.py:389 ../yum/depsolve.py:406
+#: ../yum/depsolve.py:451 ../yum/depsolve.py:486
 #, python-format
 msgid "Trying to update %s to resolve dep"
 msgstr "Спроба оновлення %s з метою розв’язання залежностей"
 
-#: ../yum/depsolve.py:400 ../yum/depsolve.py:410
+#: ../yum/depsolve.py:480
 #, python-format
 msgid "No update paths found for %s. Failure!"
 msgstr "Не знайдено шляхів оновлення %s. Помилка!"
 
-#: ../yum/depsolve.py:416
+#: ../yum/depsolve.py:491
+#, python-format
+msgid "No update paths found for %s. Failure due to requirement: %s!"
+msgstr "Для %s не знайдено шляхів для оновлення. Помилка через потребу у %s!"
+
+#: ../yum/depsolve.py:507
+#, python-format
+msgid "Update for %s. Doesn't fix requirement: %s!"
+msgstr "Оновлення %s. Не виправляє потребу у %s!"
+
+#: ../yum/depsolve.py:514
 #, python-format
 msgid "TSINFO: %s package requiring %s marked as erase"
 msgstr "TSINFO: пакунок %s, потрібний для %s, позначено для вилучення"
 
-#: ../yum/depsolve.py:429
+#: ../yum/depsolve.py:527
 #, python-format
 msgid "TSINFO: Obsoleting %s with %s to resolve dep."
-msgstr ""
-"TSINFO: %s стає застарілим після встановлення %s для розв’язання "
-"залежностей."
+msgstr "TSINFO: %s стає застарілим після встановлення %s для розв’язання залежностей."
 
-#: ../yum/depsolve.py:432
+#: ../yum/depsolve.py:530
 #, python-format
 msgid "TSINFO: Updating %s to resolve dep."
 msgstr "TSINFO: оновлення %s для розв’язання залежностей."
 
-#: ../yum/depsolve.py:440
+#: ../yum/depsolve.py:538
 #, python-format
 msgid "Cannot find an update path for dep for: %s"
 msgstr "Не вдалося знайти шлях оновлення для залежності %s"
 
-#: ../yum/depsolve.py:471
+#: ../yum/depsolve.py:569
 #, python-format
 msgid "Quick matched %s to require for %s"
 msgstr "Встановлено швидку відповідність %s пакунку потрібному для пакунка %s"
 
 #. is it already installed?
-#: ../yum/depsolve.py:513
+#: ../yum/depsolve.py:611
 #, python-format
 msgid "%s is in providing packages but it is already installed, removing."
-msgstr ""
-"%s належить до списку супутніх пакунків, його вже встановлено, пропускаємо."
+msgstr "%s належить до списку супутніх пакунків, його вже встановлено, пропускаємо."
 
-#: ../yum/depsolve.py:529
+#: ../yum/depsolve.py:627
 #, python-format
 msgid "Potential resolving package %s has newer instance in ts."
 msgstr "Потенційний пакунок розв’язання %s має новішу версію у ts."
 
-#: ../yum/depsolve.py:540
+#: ../yum/depsolve.py:638
 #, python-format
 msgid "Potential resolving package %s has newer instance installed."
 msgstr "Встановлено новішу версію потенційного пакунка розв’язання %s."
 
-#: ../yum/depsolve.py:558
+#: ../yum/depsolve.py:656
 #, python-format
 msgid "%s already in ts, skipping this one"
 msgstr "%s вже перебуває у списку, пропускаємо його"
 
-#: ../yum/depsolve.py:607
+#: ../yum/depsolve.py:705
 #, python-format
 msgid "TSINFO: Marking %s as update for %s"
 msgstr "TSINFO: позначення %s як оновлення для %s"
 
-#: ../yum/depsolve.py:616
+#: ../yum/depsolve.py:714
 #, python-format
 msgid "TSINFO: Marking %s as install for %s"
 msgstr "TSINFO: позначення %s як такий, який слід встановити для %s"
 
-#: ../yum/depsolve.py:727 ../yum/depsolve.py:819
+#: ../yum/depsolve.py:849 ../yum/depsolve.py:967
 msgid "Success - empty transaction"
 msgstr "Успіх — порожня операція"
 
-#: ../yum/depsolve.py:767 ../yum/depsolve.py:783
+#: ../yum/depsolve.py:889 ../yum/depsolve.py:927
 msgid "Restarting Loop"
 msgstr "Перезапуск циклу"
 
-#: ../yum/depsolve.py:799
+#: ../yum/depsolve.py:947
 msgid "Dependency Process ending"
 msgstr "Завершення процесу розв’язання залежностей"
 
-#: ../yum/depsolve.py:821
+#: ../yum/depsolve.py:969
 msgid "Success - deps resolved"
 msgstr "Успіх — залежності розв’язано"
 
-#: ../yum/depsolve.py:845
+#: ../yum/depsolve.py:993
 #, python-format
 msgid "Checking deps for %s"
 msgstr "Перевірка залежностей для %s"
 
-#: ../yum/depsolve.py:931
+#: ../yum/depsolve.py:1082
 #, python-format
 msgid "looking for %s as a requirement of %s"
 msgstr "пошук %s, потрібного для %s"
 
-#: ../yum/depsolve.py:1169
+#: ../yum/depsolve.py:1349
 #, python-format
 msgid "Running compare_providers() for %s"
 msgstr "Виконання compare_providers() для %s"
 
-#: ../yum/depsolve.py:1196 ../yum/depsolve.py:1202
+#: ../yum/depsolve.py:1376 ../yum/depsolve.py:1382
 #, python-format
 msgid "better arch in po %s"
 msgstr "краща архітектура у po %s"
 
-#: ../yum/depsolve.py:1298
+#: ../yum/depsolve.py:1496
 #, python-format
 msgid "%s obsoletes %s"
 msgstr "%s робить застарілим %s"
 
-#: ../yum/depsolve.py:1310
+#: ../yum/depsolve.py:1508
 #, python-format
 msgid ""
 "archdist compared %s to %s on %s\n"
 "  Winner: %s"
-msgstr ""
-"archdist порівняно %s з %s у %s\n"
-"  Кращий варіант: %s"
+msgstr "archdist порівняно %s з %s у %s\n  Кращий варіант: %s"
 
-#: ../yum/depsolve.py:1318
+#: ../yum/depsolve.py:1516
 #, python-format
 msgid "common sourcerpm %s and %s"
 msgstr "загальний sourcerpm %s і %s"
 
-#: ../yum/depsolve.py:1322
+#: ../yum/depsolve.py:1520
 #, python-format
 msgid "base package %s is installed for %s"
 msgstr "базовий пакунок %s встановлено для %s"
 
-#: ../yum/depsolve.py:1328
+#: ../yum/depsolve.py:1526
 #, python-format
 msgid "common prefix of %s between %s and %s"
 msgstr "загальний префікс %s для %s і %s"
 
-#: ../yum/depsolve.py:1359
+#: ../yum/depsolve.py:1543
 #, python-format
-msgid "requires minimal: %d"
-msgstr "мінімальна вимога: %d"
+msgid "provides vercmp: %s"
+msgstr "містить vercmp: %s"
 
-#: ../yum/depsolve.py:1363
+#: ../yum/depsolve.py:1547 ../yum/depsolve.py:1581
 #, python-format
 msgid " Winner: %s"
 msgstr " Переможець: %s"
 
-#: ../yum/depsolve.py:1368
+#: ../yum/depsolve.py:1577
+#, python-format
+msgid "requires minimal: %d"
+msgstr "мінімальна вимога: %d"
+
+#: ../yum/depsolve.py:1586
 #, python-format
 msgid " Loser(with %d): %s"
 msgstr " Невдаха(з %d): %s"
 
-#: ../yum/depsolve.py:1384
+#: ../yum/depsolve.py:1602
 #, python-format
 msgid "Best Order: %s"
 msgstr "Найкращий порядок: %s"
 
-#: ../yum/__init__.py:234
+#: ../yum/__init__.py:274
 msgid "doConfigSetup() will go away in a future version of Yum.\n"
 msgstr "doConfigSetup() буде усунуто у майбутніх версіях Yum.\n"
 
-#: ../yum/__init__.py:482
+#: ../yum/__init__.py:553
+#, python-format
+msgid "Skipping unreadable repository %s"
+msgstr "Пропускаємо непридатне до читання сховище %s"
+
+#: ../yum/__init__.py:572
 #, python-format
 msgid "Repository %r: Error parsing config: %s"
 msgstr "Сховище %r: помилка під час обробки налаштувань: %s"
 
-#: ../yum/__init__.py:488
+#: ../yum/__init__.py:578
 #, python-format
 msgid "Repository %r is missing name in configuration, using id"
-msgstr ""
-"Для сховища %r у налаштуваннях не вказано назви, використовуємо "
-"ідентифікатор"
+msgstr "Для сховища %r у налаштуваннях не вказано назви, використовуємо ідентифікатор"
 
-#: ../yum/__init__.py:526
+#: ../yum/__init__.py:618
 msgid "plugins already initialised"
 msgstr "додатки вже ініціалізовано"
 
-#: ../yum/__init__.py:533
+#: ../yum/__init__.py:627
 msgid "doRpmDBSetup() will go away in a future version of Yum.\n"
 msgstr "doRpmDBSetup() буде усунуто у наступних версіях Yum.\n"
 
-#: ../yum/__init__.py:544
+#: ../yum/__init__.py:638
 msgid "Reading Local RPMDB"
 msgstr "Читання локальної RPMDB"
 
-#: ../yum/__init__.py:567
+#: ../yum/__init__.py:668
 msgid "doRepoSetup() will go away in a future version of Yum.\n"
 msgstr "doRepoSetup() буде усунуто у майбутніх версіях Yum.\n"
 
-#: ../yum/__init__.py:630
+#: ../yum/__init__.py:722
 msgid "doSackSetup() will go away in a future version of Yum.\n"
 msgstr "doSackSetup() буде усунуто у майбутніх версіях Yum.\n"
 
-#: ../yum/__init__.py:660
+#: ../yum/__init__.py:752
 msgid "Setting up Package Sacks"
 msgstr "Налаштування наборів пакунків"
 
-#: ../yum/__init__.py:705
+#: ../yum/__init__.py:797
 #, python-format
 msgid "repo object for repo %s lacks a _resetSack method\n"
 msgstr "Об’єкт сховища %s не має _resetSack method,\n"
 
-#: ../yum/__init__.py:706
+#: ../yum/__init__.py:798
 msgid "therefore this repo cannot be reset.\n"
 msgstr "тому параметри цього сховища не може бути відновлено до початкових.\n"
 
-#: ../yum/__init__.py:711
+#: ../yum/__init__.py:806
 msgid "doUpdateSetup() will go away in a future version of Yum.\n"
 msgstr "doUpdateSetup() буде усунуто у майбутніх версіях Yum.\n"
 
-#: ../yum/__init__.py:723
+#: ../yum/__init__.py:818
 msgid "Building updates object"
 msgstr "Побудова об’єкта оновлення"
 
-#: ../yum/__init__.py:765
+#: ../yum/__init__.py:862
 msgid "doGroupSetup() will go away in a future version of Yum.\n"
 msgstr "doGroupSetup() буде усунуто у майбутніх версіях Yum.\n"
 
-#: ../yum/__init__.py:790
+#: ../yum/__init__.py:887
 msgid "Getting group metadata"
 msgstr "Отримання метаданих групи"
 
-#: ../yum/__init__.py:816
+#: ../yum/__init__.py:915
 #, python-format
 msgid "Adding group file from repository: %s"
 msgstr "Додавання файла групи зі сховища: %s"
 
-#: ../yum/__init__.py:827
+#: ../yum/__init__.py:918
+#, python-format
+msgid "Failed to retrieve group file for repository: %s"
+msgstr "Не вдалося отримати файл груп для сховищ %s"
+
+#: ../yum/__init__.py:924
 #, python-format
 msgid "Failed to add groups file for repository: %s - %s"
 msgstr "Не вдалося додати файл груп зі сховища: %s — %s"
 
-#: ../yum/__init__.py:833
+#: ../yum/__init__.py:930
 msgid "No Groups Available in any repository"
 msgstr "У жодному сховищі немає доступних груп"
 
-#: ../yum/__init__.py:845
+#: ../yum/__init__.py:945
 msgid "Getting pkgtags metadata"
 msgstr "Отримання метаданих міток пакунків"
 
-#: ../yum/__init__.py:855
+#: ../yum/__init__.py:955
 #, python-format
 msgid "Adding tags from repository: %s"
 msgstr "Додавання міток зі сховища: %s"
 
-#: ../yum/__init__.py:866
+#: ../yum/__init__.py:966
 #, python-format
 msgid "Failed to add Pkg Tags for repository: %s - %s"
 msgstr "Не вдалося додати мітки пакунків для сховища: %s — %s"
 
-#: ../yum/__init__.py:944
+#: ../yum/__init__.py:1059
 msgid "Importing additional filelist information"
 msgstr "Імпортування додаткових відомостей списку файлів"
 
-#: ../yum/__init__.py:958
+#: ../yum/__init__.py:1077
 #, python-format
 msgid "The program %s%s%s is found in the yum-utils package."
 msgstr "У пакунку yum-utils виявлено програму %s%s%s."
 
-#: ../yum/__init__.py:966
+#: ../yum/__init__.py:1094
 msgid ""
 "There are unfinished transactions remaining. You might consider running yum-"
 "complete-transaction first to finish them."
-msgstr ""
-"Залишилися незавершені операції. Для їх завершення вам слід спочатку "
-"запустити yum-complete-transaction."
+msgstr "Залишилися незавершені операції. Для їх завершення вам слід спочатку запустити yum-complete-transaction."
 
-#: ../yum/__init__.py:983
+#: ../yum/__init__.py:1111
 msgid "--> Finding unneeded leftover dependencies"
 msgstr "--> Пошук непотрібних залишкових операцій"
 
-#: ../yum/__init__.py:1041
+#: ../yum/__init__.py:1169
 #, python-format
 msgid "Protected multilib versions: %s != %s"
 msgstr "Захищені версії multilib: %s != %s"
 
-#: ../yum/__init__.py:1096
+#. People are confused about protected mutilib ... so give
+#. them a nicer message.
+#: ../yum/__init__.py:1173
+#, python-format
+msgid ""
+" Multilib version problems found. This often means that the root\n"
+"cause is something else and multilib version checking is just\n"
+"pointing out that there is a problem. Eg.:\n"
+"\n"
+"  1. You have an upgrade for %(name)s which is missing some\n"
+"     dependency that another package requires. Yum is trying to\n"
+"     solve this by installing an older version of %(name)s of the\n"
+"     different architecture. If you exclude the bad architecture\n"
+"     yum will tell you what the root cause is (which package\n"
+"     requires what). You can try redoing the upgrade with\n"
+"     --exclude %(name)s.otherarch ... this should give you an error\n"
+"     message showing the root cause of the problem.\n"
+"\n"
+"  2. You have multiple architectures of %(name)s installed, but\n"
+"     yum can only see an upgrade for one of those arcitectures.\n"
+"     If you don't want/need both architectures anymore then you\n"
+"     can remove the one with the missing update and everything\n"
+"     will work.\n"
+"\n"
+"  3. You have duplicate versions of %(name)s installed already.\n"
+"     You can use \"yum check\" to get yum show these errors.\n"
+"\n"
+"...you can also use --setopt=protected_multilib=false to remove\n"
+"this checking, however this is almost never the correct thing to\n"
+"do as something else is very likely to go wrong (often causing\n"
+"much more problems).\n"
+"\n"
+msgstr " Виявлено проблеми з версіями бібліотек для різних архітектур.\nЦе часто означає, що проблеми насправді десь у іншому місці,\nа перевірка версій для сторонніх архітектур лише вказує на\nіснування цієї проблеми. Приклад:\n\n  1. Ви маєте оновити %(name)s, для якого не вистачає певної\n     залежності, потрібної для встановлення іншого пакунка. Yum\n     намагається вирішити цю проблему встановленням старішої\n     версіїi %(name)s для іншої архітектури. Якщо цю помилкову\n     архітектуру буде вимкнено, yum повідомить вам, що є основною\n     проблемою (якому пакунку потрібні залежності, яких не\n     вистачає). Ви можете повторити спробу оновлення з параметром\n     --exclude %(name)s.інша_архітектура ... Це надасть вам\n     змогу ознайомитися з повідомлення про справжні причини\n     неможливості встановлення пакунка.\n\n  2. У системі встановлено пакунки %(name)s для декількох\n     архітектур, але yum бачит оновлення лише для однієї з цих\n     архітектур. Якщо пакунки для обох архітектур вам не потрібні,\n     ви можете вилучити той з них, для якого не вистачає оновлених\n     пакунків, і все має запрацювати.\n\n  3. У вашій системі встановлено декілька версій %(name)s.\n     Скористайтеся командою «yum check», щоб наказати yum показати\n     пов’язані з цим повідомлення про помилки.\n\n...крім того, ви можете скористатися параметром\n--setopt=protected_multilib=false, щоб усунути цю перевірку. Втім,\nне варто користуватися цим параметром, оскільки це майже напевно\nпризведе до якихось помилок (часто це може спричинити ще більші\nпроблеми).\n\n"
+
+#: ../yum/__init__.py:1257
 #, python-format
 msgid "Trying to remove \"%s\", which is protected"
 msgstr "Спроба вилучення захищеного запису «%s»"
 
-#: ../yum/__init__.py:1217
+#: ../yum/__init__.py:1378
 msgid ""
 "\n"
 "Packages skipped because of dependency problems:"
-msgstr ""
-"\n"
-"Пакунки, пропущені через проблеми з залежностями:"
+msgstr "\nПакунки, пропущені через проблеми з залежностями:"
 
-#: ../yum/__init__.py:1221
+#: ../yum/__init__.py:1382
 #, python-format
 msgid "    %s from %s"
 msgstr "    %s з %s"
 
 #. FIXME: _N()
-#: ../yum/__init__.py:1391
+#: ../yum/__init__.py:1556
 #, python-format
 msgid "** Found %d pre-existing rpmdb problem(s), 'yum check' output follows:"
-msgstr ""
-"** Знайдено %d проблем rpmdb, які вже існували, командою «yum check» "
-"виведено такі дані:"
+msgstr "** Знайдено %d проблем rpmdb, які вже існували, командою «yum check» виведено такі дані:"
 
-#: ../yum/__init__.py:1395
+#: ../yum/__init__.py:1560
 msgid "Warning: RPMDB altered outside of yum."
 msgstr "Попередження: RPMDB змінено поза межами yum."
 
-#: ../yum/__init__.py:1407
+#: ../yum/__init__.py:1572
 msgid "missing requires"
 msgstr "не має потрібних"
 
-#: ../yum/__init__.py:1408
+#: ../yum/__init__.py:1573
 msgid "installed conflict"
 msgstr "конфлікт встановлення"
 
-#: ../yum/__init__.py:1525
+#: ../yum/__init__.py:1709
 msgid ""
 "Warning: scriptlet or other non-fatal errors occurred during transaction."
-msgstr ""
-"Попередження: під час виконання операції сталися помилки виконання скриптів "
-"та інші некритичні помилки."
+msgstr "Попередження: під час виконання операції сталися помилки виконання скриптів та інші некритичні помилки."
 
-#: ../yum/__init__.py:1535
+#: ../yum/__init__.py:1719
 msgid "Transaction couldn't start:"
 msgstr "Не вдалося розпочати операцію:"
 
 #. should this be 'to_unicoded'?
-#: ../yum/__init__.py:1538
+#: ../yum/__init__.py:1722
 msgid "Could not run transaction."
 msgstr "Не вдалося розпочати операцію."
 
-#: ../yum/__init__.py:1552
+#: ../yum/__init__.py:1736
 #, python-format
 msgid "Failed to remove transaction file %s"
 msgstr "Не вдалося вилучити файл операції %s"
 
 #. maybe a file log here, too
 #. but raising an exception is not going to do any good
-#: ../yum/__init__.py:1590
+#: ../yum/__init__.py:1792
 #, python-format
 msgid "%s was supposed to be installed but is not!"
 msgstr "%s мало бути встановлено, але цю дію не було виконано!"
 
 #. maybe a file log here, too
 #. but raising an exception is not going to do any good
-#: ../yum/__init__.py:1651
+#. Note: This actually triggers atm. because we can't
+#. always find the erased txmbr to set it when
+#. we should.
+#: ../yum/__init__.py:1869
 #, python-format
 msgid "%s was supposed to be removed but is not!"
 msgstr "%s мало бути вилучено, але цього не сталося!"
 
-#: ../yum/__init__.py:1768
-#, python-format
-msgid "Could not open lock %s: %s"
-msgstr "Не вдалося вилучити блокування %s: %s"
-
-#. Whoa. What the heck happened?
-#: ../yum/__init__.py:1785
-#, python-format
-msgid "Unable to check if PID %s is active"
-msgstr "Не вдалося перевірити, чи є активним PID %s"
-
 #. Another copy seems to be running.
-#: ../yum/__init__.py:1789
+#: ../yum/__init__.py:2004
 #, python-format
 msgid "Existing lock %s: another copy is running as pid %s."
 msgstr "Блокування %s: запущено іншу копію з PID %s."
 
 #. Whoa. What the heck happened?
-#: ../yum/__init__.py:1830
+#: ../yum/__init__.py:2053
 #, python-format
 msgid "Could not create lock at %s: %s "
 msgstr "Не вдалося створити блокування %s: %s "
 
-#: ../yum/__init__.py:1875
+#: ../yum/__init__.py:2065
+#, python-format
+msgid "Could not open lock %s: %s"
+msgstr "Не вдалося вилучити блокування %s: %s"
+
+#. The pid doesn't exist
+#. Whoa. What the heck happened?
+#: ../yum/__init__.py:2082
+#, python-format
+msgid "Unable to check if PID %s is active"
+msgstr "Не вдалося перевірити, чи є активним PID %s"
+
+#: ../yum/__init__.py:2132
 #, python-format
 msgid ""
 "Package does not match intended download. Suggestion: run yum "
 "--enablerepo=%s clean metadata"
-msgstr ""
-"Пакунок не відповідає тому, який програма має намір звантажити. Пропозиція: "
-"віддайте команду yum -enablerepo=%s clean metadata"
+msgstr "Пакунок не відповідає тому, який програма має намір звантажити. Пропозиція: віддайте команду yum -enablerepo=%s clean metadata"
 
-#: ../yum/__init__.py:1891
+#: ../yum/__init__.py:2155
 msgid "Could not perform checksum"
 msgstr "Не вдалося перевірити контрольну суму"
 
-#: ../yum/__init__.py:1894
+#: ../yum/__init__.py:2158
 msgid "Package does not match checksum"
 msgstr "Контрольна сума пакунка не збігається з еталонною"
 
-#: ../yum/__init__.py:1946
+#: ../yum/__init__.py:2222
 #, python-format
 msgid "package fails checksum but caching is enabled for %s"
 msgstr "контрольна сума пакунка не збігається, кешування для %s увімкнено"
 
-#: ../yum/__init__.py:1949 ../yum/__init__.py:1979
+#: ../yum/__init__.py:2225 ../yum/__init__.py:2268
 #, python-format
 msgid "using local copy of %s"
 msgstr "використано локальну копію %s"
 
-#: ../yum/__init__.py:1991
-#, python-format
-msgid ""
-"Insufficient space in download directory %s\n"
-"    * free   %s\n"
-"    * needed %s"
-msgstr ""
-"Недостатньо місця у каталозі для звантажень %s\n"
-"    * вільно   %s\n"
-"    * потрібно %s"
+#. caller handles errors
+#: ../yum/__init__.py:2342
+msgid "exiting because --downloadonly specified"
+msgstr "завершуємо роботу, оскільки вказано --downloadonly"
 
-#: ../yum/__init__.py:2052
+#: ../yum/__init__.py:2371
 msgid "Header is not complete."
 msgstr "Заголовок не завершено."
 
-#: ../yum/__init__.py:2089
+#: ../yum/__init__.py:2411
 #, python-format
 msgid ""
 "Header not in local cache and caching-only mode enabled. Cannot download %s"
-msgstr ""
-"Заголовка немає у локальному кеші, увімкнено режим «лише кешування». Не "
-"вдалося звантажити %s"
+msgstr "Заголовка немає у локальному кеші, увімкнено режим «лише кешування». Не вдалося звантажити %s"
 
-#: ../yum/__init__.py:2147
+#: ../yum/__init__.py:2471
 #, python-format
 msgid "Public key for %s is not installed"
 msgstr "Відкритий ключ для %s не встановлено"
 
-#: ../yum/__init__.py:2151
+#: ../yum/__init__.py:2475
 #, python-format
 msgid "Problem opening package %s"
 msgstr "Проблеми з відкриттям пакунка %s"
 
-#: ../yum/__init__.py:2159
+#: ../yum/__init__.py:2483
 #, python-format
 msgid "Public key for %s is not trusted"
 msgstr "Відкритий ключ %s не є надійним"
 
-#: ../yum/__init__.py:2163
+#: ../yum/__init__.py:2487
 #, python-format
 msgid "Package %s is not signed"
 msgstr "Пакунок %s не підписано"
 
-#: ../yum/__init__.py:2202
+#: ../yum/__init__.py:2529
 #, python-format
 msgid "Cannot remove %s"
 msgstr "Не вдалося вилучити %s"
 
-#: ../yum/__init__.py:2206
+#: ../yum/__init__.py:2533
 #, python-format
 msgid "%s removed"
 msgstr "%s вилучено"
 
-#: ../yum/__init__.py:2252
+#: ../yum/__init__.py:2594
 #, python-format
 msgid "Cannot remove %s file %s"
 msgstr "Не вдалося вилучити файл %s, %s"
 
-#: ../yum/__init__.py:2256
+#: ../yum/__init__.py:2598
 #, python-format
 msgid "%s file %s removed"
 msgstr "Файл %s, %s, вилучено"
 
-#: ../yum/__init__.py:2258
+#: ../yum/__init__.py:2600
 #, python-format
-msgid "%d %s files removed"
-msgstr "Вилучено %d файлів %s"
+msgid "%d %s file removed"
+msgid_plural "%d %s files removed"
+msgstr[0] "%d файл %s вилучено"
+msgstr[1] "Вилучено %d файлів %s"
+msgstr[2] "Вилучено %d файлів %s"
 
-#: ../yum/__init__.py:2327
+#: ../yum/__init__.py:2712
 #, python-format
 msgid "More than one identical match in sack for %s"
 msgstr "У наборі для %s знайдено декілька ідентичних відповідників"
 
-#: ../yum/__init__.py:2333
+#: ../yum/__init__.py:2718
 #, python-format
 msgid "Nothing matches %s.%s %s:%s-%s from update"
 msgstr "Немає відповідників %s.%s %s:%s-%s з оновлення"
 
-#: ../yum/__init__.py:2632
+#: ../yum/__init__.py:3096
 msgid ""
 "searchPackages() will go away in a future version of Yum."
 "                      Use searchGenerator() instead. \n"
-msgstr ""
-"searchPackages() буде усунуто у майбутніх версіях Yum.                      "
-"Використовуйте краще searchGenerator(). \n"
+msgstr "searchPackages() буде усунуто у майбутніх версіях Yum.                      Використовуйте краще searchGenerator(). \n"
 
-#: ../yum/__init__.py:2675
+#: ../yum/__init__.py:3149
 #, python-format
-msgid "Searching %d packages"
-msgstr "Пошук %d пакунків"
+msgid "Searching %d package"
+msgid_plural "Searching %d packages"
+msgstr[0] "Пошук %d пакунка"
+msgstr[1] "Пошук %d пакунків"
+msgstr[2] "Пошук %d пакунків"
 
-#: ../yum/__init__.py:2679
+#: ../yum/__init__.py:3153
 #, python-format
 msgid "searching package %s"
 msgstr "пошук пакунка %s"
 
-#: ../yum/__init__.py:2691
+#: ../yum/__init__.py:3165
 msgid "searching in file entries"
 msgstr "пошук серед файлів"
 
-#: ../yum/__init__.py:2698
+#: ../yum/__init__.py:3172
 msgid "searching in provides entries"
 msgstr "пошук у супутніх записах"
 
-#: ../yum/__init__.py:2777
+#: ../yum/__init__.py:3369
 msgid "No group data available for configured repositories"
 msgstr "Для налаштованих сховищ дані груп недоступні"
 
-#: ../yum/__init__.py:2808 ../yum/__init__.py:2827 ../yum/__init__.py:2858
-#: ../yum/__init__.py:2864 ../yum/__init__.py:2953 ../yum/__init__.py:2957
-#: ../yum/__init__.py:3339
+#: ../yum/__init__.py:3466 ../yum/__init__.py:3500 ../yum/__init__.py:3576
+#: ../yum/__init__.py:3582 ../yum/__init__.py:3719 ../yum/__init__.py:3723
+#: ../yum/__init__.py:4298
 #, python-format
 msgid "No Group named %s exists"
 msgstr "Групи з назвою %s не існує"
 
-#: ../yum/__init__.py:2839 ../yum/__init__.py:2973
+#: ../yum/__init__.py:3512 ../yum/__init__.py:3740
 #, python-format
 msgid "package %s was not marked in group %s"
 msgstr "пакунок %s було позначено у групі %s"
 
-#: ../yum/__init__.py:2887
+#. (upgrade and igroup_data[pkg] == 'available')):
+#: ../yum/__init__.py:3622
+#, python-format
+msgid "Skipping package %s from group %s"
+msgstr "Пропускаємо пакунок %s з групи %s"
+
+#: ../yum/__init__.py:3628
 #, python-format
 msgid "Adding package %s from group %s"
 msgstr "Додавання пакунка %s з групи %s"
 
-#: ../yum/__init__.py:2891
+#: ../yum/__init__.py:3649
 #, python-format
 msgid "No package named %s available to be installed"
 msgstr "Не вдалося знайти пакунок з назвою %s для встановлення"
 
-#: ../yum/__init__.py:2941
+#: ../yum/__init__.py:3702
 #, python-format
-msgid "Warning: Group %s does not have any packages."
-msgstr "Попередження: у групі %s немає жодного пакунка."
+msgid "Warning: Group %s does not have any packages to install."
+msgstr "Попередження: у групі %s немає жодного пакунка для встановлення."
 
-#: ../yum/__init__.py:2943
+#: ../yum/__init__.py:3704
 #, python-format
 msgid "Group %s does have %u conditional packages, which may get installed."
 msgstr "У групі %s %u необов’язкових пакунки, які може бути встановлено."
 
+#: ../yum/__init__.py:3794
+#, python-format
+msgid "Skipping group %s from environment %s"
+msgstr "Пропускаємо групу %s з середовища %s"
+
 #. This can happen due to excludes after .up has
 #. happened.
-#: ../yum/__init__.py:3002
+#: ../yum/__init__.py:3858
 #, python-format
 msgid "Package tuple %s could not be found in packagesack"
 msgstr "У наборі пакунків не вдалося знайти кортеж пакунків %s"
 
-#: ../yum/__init__.py:3022
+#: ../yum/__init__.py:3886
 #, python-format
 msgid "Package tuple %s could not be found in rpmdb"
 msgstr "У базі даних RPM не вдалося знайти кортеж пакунків %s"
 
-#: ../yum/__init__.py:3079 ../yum/__init__.py:3129
+#: ../yum/__init__.py:3949 ../yum/__init__.py:4012
 #, python-format
 msgid "Invalid version flag from: %s"
 msgstr "Некоректний прапорець версії від: %s"
 
-#: ../yum/__init__.py:3096 ../yum/__init__.py:3101
+#: ../yum/__init__.py:3973 ../yum/__init__.py:3979 ../yum/__init__.py:4036
+#: ../yum/__init__.py:4042
 #, python-format
 msgid "No Package found for %s"
 msgstr "Пакунків з %s не знайдено"
 
-#: ../yum/__init__.py:3401
+#: ../yum/__init__.py:4245 ../yum/__init__.py:4274
+#, python-format
+msgid "Warning: Environment Group %s does not exist."
+msgstr "Попередження: групи середовища з назвою %s не існує."
+
+#: ../yum/__init__.py:4397
+#, python-format
+msgid "Package: %s - can't co-install with %s"
+msgstr "Пакунок: %s не можна встановлювати одночасно з %s"
+
+#: ../yum/__init__.py:4437
 msgid "Package Object was not a package object instance"
 msgstr "Об’єкт пакунка не був екземпляром об’єкта пакунка"
 
-#: ../yum/__init__.py:3405
+#: ../yum/__init__.py:4441
 msgid "Nothing specified to install"
 msgstr "Список встановлення порожній"
 
-#: ../yum/__init__.py:3424 ../yum/__init__.py:4283
+#: ../yum/__init__.py:4465 ../yum/__init__.py:5410
 #, python-format
 msgid "Checking for virtual provide or file-provide for %s"
 msgstr "Пошук віртуальних супутніх пакунків або файлів для %s"
 
-#: ../yum/__init__.py:3430 ../yum/__init__.py:3775 ../yum/__init__.py:3969
-#: ../yum/__init__.py:4289
-#, python-format
-msgid "No Match for argument: %s"
-msgstr "Відповідника параметра не знайдено: %s"
-
-#: ../yum/__init__.py:3507
+#: ../yum/__init__.py:4542
 #, python-format
 msgid "Package %s installed and not available"
 msgstr "Пакунок %s вже встановлено, його не можна позначити"
 
-#: ../yum/__init__.py:3510
+#: ../yum/__init__.py:4545
 msgid "No package(s) available to install"
 msgstr "Немає доступних для встановлення пакунків"
 
-#: ../yum/__init__.py:3522
+#: ../yum/__init__.py:4557
 #, python-format
 msgid "Package: %s  - already in transaction set"
 msgstr "Пакунок: %s  — вже у наборі операцій"
 
-#: ../yum/__init__.py:3550
+#: ../yum/__init__.py:4589
 #, python-format
 msgid "Package %s is obsoleted by %s which is already installed"
 msgstr "Пакунок %s став застарілим після встановлення %s"
 
-#: ../yum/__init__.py:3555
+#: ../yum/__init__.py:4594
 #, python-format
 msgid ""
 "Package %s is obsoleted by %s, but obsoleting package does not provide for "
 "requirements"
-msgstr ""
-"Пакунок %s став застарілим після встановлення %s, але застарілий пакунок не "
-"містить вимог до інших пакунків"
+msgstr "Пакунок %s став застарілим після встановлення %s, але застарілий пакунок не містить вимог до інших пакунків"
 
-#: ../yum/__init__.py:3558
+#: ../yum/__init__.py:4597
 #, python-format
 msgid "Package %s is obsoleted by %s, trying to install %s instead"
-msgstr ""
-"Пакунок %s став застарілим після встановлення %s, спробуємо встановити "
-"замість нього %s"
+msgstr "Пакунок %s став застарілим після встановлення %s, спробуємо встановити замість нього %s"
 
-#: ../yum/__init__.py:3566
+#: ../yum/__init__.py:4605
 #, python-format
 msgid "Package %s already installed and latest version"
 msgstr "Пакунок %s вже встановлено, його версія є найсвіжішою"
 
-#: ../yum/__init__.py:3580
+#: ../yum/__init__.py:4619
 #, python-format
 msgid "Package matching %s already installed. Checking for update."
 msgstr "Відповідник пакунка %s вже встановлено. Перевірка існування оновлень."
 
 #. update everything (the easy case)
-#: ../yum/__init__.py:3684
+#: ../yum/__init__.py:4751
 msgid "Updating Everything"
 msgstr "Повне оновлення"
 
-#: ../yum/__init__.py:3708 ../yum/__init__.py:3849 ../yum/__init__.py:3879
-#: ../yum/__init__.py:3915
+#: ../yum/__init__.py:4775 ../yum/__init__.py:4930 ../yum/__init__.py:4975
+#: ../yum/__init__.py:5011
 #, python-format
 msgid "Not Updating Package that is already obsoleted: %s.%s %s:%s-%s"
 msgstr "Неоновлюваний пакунок, який вже застарів: %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3753 ../yum/__init__.py:3965
+#: ../yum/__init__.py:4830 ../yum/__init__.py:5072
 #, python-format
 msgid "%s"
 msgstr "%s"
 
-#: ../yum/__init__.py:3838
+#: ../yum/__init__.py:4854 ../yum/__init__.py:5080 ../yum/__init__.py:5416
+#, python-format
+msgid "No Match for argument: %s"
+msgstr "Відповідника параметра не знайдено: %s"
+
+#: ../yum/__init__.py:4872
+#, python-format
+msgid "No package matched to upgrade: %s"
+msgstr "Відповідного пакунка для оновлення не знайдено: %s"
+
+#: ../yum/__init__.py:4919
 #, python-format
 msgid "Package is already obsoleted: %s.%s %s:%s-%s"
 msgstr "Пакунок вже застарілий: %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3874
+#: ../yum/__init__.py:4970
 #, python-format
 msgid "Not Updating Package that is obsoleted: %s"
 msgstr "Неоновлюваний пакунок, який застарів: %s"
 
-#: ../yum/__init__.py:3883 ../yum/__init__.py:3919
+#: ../yum/__init__.py:4979 ../yum/__init__.py:5015
 #, python-format
 msgid "Not Updating Package that is already updated: %s.%s %s:%s-%s"
 msgstr "Неоновлюваний пакунок, який було оновлено раніше: %s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3982
-msgid "No package matched to remove"
-msgstr "Відповідного пакунка для вилучення не знайдено"
+#: ../yum/__init__.py:5093
+#, python-format
+msgid "No package matched to remove: %s"
+msgstr "Відповідного пакунка для вилучення не знайдено: %s"
 
-#: ../yum/__init__.py:3988
+#: ../yum/__init__.py:5099
 #, python-format
 msgid "Skipping the running kernel: %s"
 msgstr "Пропущено поточне робоче ядро: %s"
 
-#: ../yum/__init__.py:3994
+#: ../yum/__init__.py:5105
 #, python-format
 msgid "Removing %s from the transaction"
 msgstr "Вилучення %s з запису операції"
 
-#: ../yum/__init__.py:4029
+#: ../yum/__init__.py:5142
 #, python-format
 msgid "Cannot open: %s. Skipping."
 msgstr "Не вдалося відкрити: %s. Пропускаємо."
 
-#: ../yum/__init__.py:4032 ../yum/__init__.py:4150 ../yum/__init__.py:4226
+#: ../yum/__init__.py:5145 ../yum/__init__.py:5262 ../yum/__init__.py:5347
 #, python-format
 msgid "Examining %s: %s"
 msgstr "Перевірка %s: %s"
 
-#: ../yum/__init__.py:4036
+#: ../yum/__init__.py:5149
 #, python-format
 msgid "Cannot localinstall deltarpm: %s. Skipping."
 msgstr "Не вдалося виконати локальне встановлення deltarpm: %s. Пропущено."
 
-#: ../yum/__init__.py:4045 ../yum/__init__.py:4153 ../yum/__init__.py:4229
+#: ../yum/__init__.py:5158 ../yum/__init__.py:5265 ../yum/__init__.py:5350
 #, python-format
 msgid ""
 "Cannot add package %s to transaction. Not a compatible architecture: %s"
 msgstr "Не вдалося додати пакунок %s до операції. Несумісна архітектура: %s"
 
-#: ../yum/__init__.py:4051
+#: ../yum/__init__.py:5164
 #, python-format
 msgid "Cannot install package %s. It is obsoleted by installed package %s"
-msgstr ""
-"Не вдалося встановити пакунок %s. Він є застарілим після встановлення "
-"пакунка %s"
+msgstr "Не вдалося встановити пакунок %s. Він є застарілим після встановлення пакунка %s"
 
-#: ../yum/__init__.py:4059
+#: ../yum/__init__.py:5172
 #, python-format
 msgid ""
 "Package %s not installed, cannot update it. Run yum install to install it "
 "instead."
-msgstr ""
-"Пакунок %s не встановлено, не вдалося оновити його. Віддайте команду yum "
-"install, щоб встановити цей пакунок."
+msgstr "Пакунок %s не встановлено, не вдалося оновити його. Віддайте команду yum install, щоб встановити цей пакунок."
 
-#: ../yum/__init__.py:4078 ../yum/__init__.py:4085
+#: ../yum/__init__.py:5191 ../yum/__init__.py:5198
 #, python-format
 msgid ""
 "Package %s.%s not installed, cannot update it. Run yum install to install it"
 " instead."
-msgstr ""
-"Пакунок %s.%s не встановлено, його не можна оновити. Вам слід скористатися "
-"командою «yum install» для його встановлення."
+msgstr "Пакунок %s.%s не встановлено, його не можна оновити. Вам слід скористатися командою «yum install» для його встановлення."
 
-#: ../yum/__init__.py:4094 ../yum/__init__.py:4158 ../yum/__init__.py:4234
+#: ../yum/__init__.py:5207 ../yum/__init__.py:5270 ../yum/__init__.py:5355
 #, python-format
 msgid "Excluding %s"
 msgstr "Виключення %s"
 
-#: ../yum/__init__.py:4099
+#: ../yum/__init__.py:5212
 #, python-format
 msgid "Marking %s to be installed"
 msgstr "Позначення %s для встановлення"
 
-#: ../yum/__init__.py:4105
+#: ../yum/__init__.py:5218
 #, python-format
 msgid "Marking %s as an update to %s"
 msgstr "Позначення %s як оновлення %s"
 
-#: ../yum/__init__.py:4112
+#: ../yum/__init__.py:5225
 #, python-format
 msgid "%s: does not update installed package."
 msgstr "%s: не оновлює встановлений пакунок."
 
-#: ../yum/__init__.py:4147 ../yum/__init__.py:4223
+#: ../yum/__init__.py:5259 ../yum/__init__.py:5344
 #, python-format
 msgid "Cannot open file: %s. Skipping."
 msgstr "Не вдалося відкрити файл %s. Пропускаємо."
 
-#: ../yum/__init__.py:4177
+#: ../yum/__init__.py:5299
 msgid "Problem in reinstall: no package matched to remove"
 msgstr "Проблема з перевстановленням: не виявлено пакунків для вилучення"
 
-#: ../yum/__init__.py:4203
+#: ../yum/__init__.py:5325
 #, python-format
 msgid "Problem in reinstall: no package %s matched to install"
-msgstr ""
-"Проблема з перевстановленням: не виявлено відповідного пакунка %s для "
-"встановлення"
+msgstr "Проблема з перевстановленням: не виявлено відповідного пакунка %s для встановлення"
 
-#: ../yum/__init__.py:4311
+#: ../yum/__init__.py:5438
 msgid "No package(s) available to downgrade"
 msgstr "Немає доступних для зниження версії пакунків"
 
-#: ../yum/__init__.py:4319
+#: ../yum/__init__.py:5446
 #, python-format
 msgid "Package %s is allowed multiple installs, skipping"
-msgstr ""
-"Пакунок %s можна встановлювати паралельно з іншими версіями, пропускаємо"
+msgstr "Пакунок %s можна встановлювати паралельно з іншими версіями, пропускаємо"
 
-#: ../yum/__init__.py:4365
+#: ../yum/__init__.py:5496
 #, python-format
 msgid "No Match for available package: %s"
 msgstr "Немає відповідників для доступного пакунка: %s"
 
-#: ../yum/__init__.py:4372
+#: ../yum/__init__.py:5506
 #, python-format
 msgid "Only Upgrade available on package: %s"
 msgstr "Для пакунка доступне лише оновлення: %s"
 
-#: ../yum/__init__.py:4442 ../yum/__init__.py:4479
+#: ../yum/__init__.py:5619 ../yum/__init__.py:5686
 #, python-format
 msgid "Failed to downgrade: %s"
 msgstr "Не вдалося знизити версію: %s"
 
-#: ../yum/__init__.py:4516
+#: ../yum/__init__.py:5636 ../yum/__init__.py:5692
+#, python-format
+msgid "Failed to upgrade: %s"
+msgstr "Не вдалося оновити: %s"
+
+#: ../yum/__init__.py:5725
 #, python-format
 msgid "Retrieving key from %s"
 msgstr "Отримання ключа з %s"
 
-#: ../yum/__init__.py:4534
+#: ../yum/__init__.py:5743
 msgid "GPG key retrieval failed: "
 msgstr "Невдала спроба отримання ключа GPG: "
 
 #. if we decide we want to check, even though the sig failed
 #. here is where we would do that
-#: ../yum/__init__.py:4557
+#: ../yum/__init__.py:5766
 #, python-format
 msgid "GPG key signature on key %s does not match CA Key for repo: %s"
 msgstr "Ключ підпису GPG ключа %s не збігається з ключем CA сховища: %s"
 
-#: ../yum/__init__.py:4559
+#: ../yum/__init__.py:5768
 msgid "GPG key signature verified against CA Key(s)"
 msgstr "Перевірено відповідність підпису ключа GPG ключам CA"
 
-#: ../yum/__init__.py:4567
+#: ../yum/__init__.py:5776
 #, python-format
 msgid "Invalid GPG Key from %s: %s"
 msgstr "Некоректний ключ GPG з %s: %s"
 
-#: ../yum/__init__.py:4576
+#: ../yum/__init__.py:5785
 #, python-format
 msgid "GPG key parsing failed: key does not have value %s"
 msgstr "Помилка обробник ключа GPG: у ключі немає значення %s"
 
-#: ../yum/__init__.py:4592
+#: ../yum/__init__.py:5801
 #, python-format
 msgid ""
 "Importing %s key 0x%s:\n"
-" Userid : %s\n"
-" Package: %s (%s)\n"
-" From   : %s"
-msgstr ""
-"Імпортування ключа %s 0x%s:\n"
-" Ідентифікатор: «%s»\n"
-" Пакунок      : %s (%s)\n"
-" Джерело      : %s"
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" Package    : %s (%s)\n"
+" From       : %s"
+msgstr "Імпортування ключа %s 0x%s:\n Ід. корист.: «%s»\n Відбиток   : %s\n Пакунок    : %s (%s)\n Походження : %s"
 
-#: ../yum/__init__.py:4600
+#: ../yum/__init__.py:5811
 #, python-format
 msgid ""
 "Importing %s key 0x%s:\n"
-" Userid: \"%s\"\n"
-" From  : %s"
-msgstr ""
-"Імпортування ключа %s 0x%s:\n"
-" Ідентифікатор: «%s»\n"
-" Джерело      : %s"
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" From       : %s"
+msgstr "Імпортування ключа %s 0x%s:\n Ід. корист.: «%s»\n Відбиток   : %s\n Походження : %s"
+
+#: ../yum/__init__.py:5839
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" Failing package is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr "\n\n\n Пакунок, який не вдалося обробити: %s\n Ключі GPG налаштовано так: %s\n"
 
-#: ../yum/__init__.py:4634
+#: ../yum/__init__.py:5853
 #, python-format
 msgid "GPG key at %s (0x%s) is already installed"
 msgstr "Ключ GPG у %s (0x%s) вже встановлено"
 
-#: ../yum/__init__.py:4671
+#: ../yum/__init__.py:5891
 #, python-format
 msgid "Key import failed (code %d)"
 msgstr "Помилка імпортування ключа (код %d)"
 
-#: ../yum/__init__.py:4672 ../yum/__init__.py:4755
+#: ../yum/__init__.py:5893 ../yum/__init__.py:5994
 msgid "Key imported successfully"
 msgstr "Ключ успішно імпортовано"
 
-#: ../yum/__init__.py:4676
+#: ../yum/__init__.py:5897
 msgid "Didn't install any keys"
 msgstr "Не встановлено жодного ключа"
 
-#: ../yum/__init__.py:4680
+#: ../yum/__init__.py:5900
 #, python-format
 msgid ""
 "The GPG keys listed for the \"%s\" repository are already installed but they are not correct for this package.\n"
 "Check that the correct key URLs are configured for this repository."
-msgstr ""
-"Ключі GPG зі списку сховища «%s» вже встановлено, але вони є некоректними для цього пакунка.\n"
-"Перевірте, чи правильно вказано адреси URL для цього сховища."
+msgstr "Ключі GPG зі списку сховища «%s» вже встановлено, але вони є некоректними для цього пакунка.\nПеревірте, чи правильно вказано адреси URL для цього сховища."
 
-#: ../yum/__init__.py:4689
+#: ../yum/__init__.py:5910
 msgid "Import of key(s) didn't help, wrong key(s)?"
 msgstr "Імпортування ключів не допомогло, помилкові ключі?"
 
-#: ../yum/__init__.py:4713
+#: ../yum/__init__.py:5932
+msgid "No"
+msgstr "Ні"
+
+#: ../yum/__init__.py:5934
+msgid "Yes"
+msgstr "Так"
+
+#: ../yum/__init__.py:5935
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" CA Key: %s\n"
+" Failing repo is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr "\n\n\n Ключ CA: %s\n Сховище, яке не вдалося обробити: %s\n Ключі GPG налаштовано так: %s\n"
+
+#: ../yum/__init__.py:5948
 #, python-format
 msgid "GPG key at %s (0x%s) is already imported"
 msgstr "Ключ GPG у %s (0x%s) вже імпортовано"
 
-#: ../yum/__init__.py:4754
-msgid "Key import failed"
-msgstr "Помилка імпортування ключа"
+#: ../yum/__init__.py:5992
+#, python-format
+msgid "Key %s import failed"
+msgstr "Помилка під час імпортування ключа %s"
 
-#: ../yum/__init__.py:4770
+#: ../yum/__init__.py:6009
 #, python-format
 msgid "Didn't install any keys for repo %s"
 msgstr "Не встановлено жодного ключа для сховища %s"
 
-#: ../yum/__init__.py:4774
+#: ../yum/__init__.py:6014
 #, python-format
 msgid ""
 "The GPG keys listed for the \"%s\" repository are already installed but they are not correct.\n"
 "Check that the correct key URLs are configured for this repository."
-msgstr ""
-"Ключі GPG зі списку сховища «%s» вже встановлено, але вони є некоректними.\n"
-"Перевірте, чи правильно вказано адреси URL для цього сховища."
+msgstr "Ключі GPG зі списку сховища «%s» вже встановлено, але вони є некоректними.\nПеревірте, чи правильно вказано адреси URL для цього сховища."
 
-#: ../yum/__init__.py:4924
+#: ../yum/__init__.py:6172
 msgid "Unable to find a suitable mirror."
 msgstr "Не вдалося знайти відповідного дзеркала."
 
-#: ../yum/__init__.py:4926
+#: ../yum/__init__.py:6174
 msgid "Errors were encountered while downloading packages."
 msgstr "Під час спроби звантаження пакунків сталися помилки."
 
-#: ../yum/__init__.py:4981
+#: ../yum/__init__.py:6229
 #, python-format
 msgid "Please report this error at %s"
 msgstr "Повідомте про цю помилку за адресою %s"
 
-#: ../yum/__init__.py:4998
+#: ../yum/__init__.py:6246
 msgid "Test Transaction Errors: "
 msgstr "Помилки під час тестування: "
 
-#: ../yum/__init__.py:5098
+#: ../yum/__init__.py:6358
 #, python-format
 msgid "Could not set cachedir: %s"
 msgstr "Не вдалося визначити теку кешування: %s"
 
-#: ../yum/__init__.py:5148 ../yum/__init__.py:5150
+#: ../yum/__init__.py:6420 ../yum/__init__.py:6422
 msgid "Dependencies not solved. Will not save unresolved transaction."
-msgstr ""
-"Залежності не розв’язано. Запис операції з нерозв’язаними залежностями не "
-"буде збережено."
+msgstr "Залежності не розв’язано. Запис операції з нерозв’язаними залежностями не буде збережено."
 
-#: ../yum/__init__.py:5179 ../yum/__init__.py:5181
+#: ../yum/__init__.py:6455 ../yum/__init__.py:6457
 #, python-format
 msgid "Could not save transaction file %s: %s"
 msgstr "Не вдалося зберегти файл операцій %s: %s"
 
-#: ../yum/__init__.py:5195
+#: ../yum/__init__.py:6483
 #, python-format
 msgid "Could not access/read saved transaction %s : %s"
-msgstr ""
-"Не вдалося отримати доступ або прочитати збережений запис операції %s: %s"
+msgstr "Не вдалося отримати доступ або прочитати збережений запис операції %s: %s"
 
-#: ../yum/__init__.py:5214
-msgid "rpmdb ver mismatched saved transaction version, "
-msgstr "версія rpmdb не відповідає збереженим даним щодо версії у операції, "
-
-#: ../yum/__init__.py:5216
-msgid " ignoring, as requested."
-msgstr " ігнорується у відповідь на запит."
+#: ../yum/__init__.py:6521
+msgid "rpmdb ver mismatched saved transaction version,"
+msgstr "версія rpmdb не відповідає збереженим даним щодо версії у операції,"
 
-#: ../yum/__init__.py:5219 ../yum/__init__.py:5354
-msgid " aborting."
-msgstr " завершення роботи."
-
-#: ../yum/__init__.py:5228
+#: ../yum/__init__.py:6535
 msgid "cannot find tsflags or tsflags not integer."
 msgstr "не вдалося знайти tsflags або tsflags не є цілим числом."
 
-#: ../yum/__init__.py:5267
+#: ../yum/__init__.py:6584
 #, python-format
 msgid "Found txmbr in unknown current state: %s"
 msgstr "Знайдено txmbr у невідомому поточному стані: %s"
 
-#: ../yum/__init__.py:5271
+#: ../yum/__init__.py:6588
 #, python-format
 msgid "Could not find txmbr: %s in state %s"
 msgstr "Не вдалося знайти txmbr: %s у стані %s"
 
-#: ../yum/__init__.py:5307 ../yum/__init__.py:5324
+#: ../yum/__init__.py:6625 ../yum/__init__.py:6642
 #, python-format
 msgid "Could not find txmbr: %s from origin: %s"
 msgstr "Не вдалося знайти txmbr: %s з джерела: %s"
 
-#: ../yum/__init__.py:5349
+#: ../yum/__init__.py:6667
 msgid "Transaction members, relations are missing or ts has been modified,"
 msgstr "Не вистачає дій операції, зв’язків або ts було змінено,"
 
-#: ../yum/__init__.py:5351
+#: ../yum/__init__.py:6670
 msgid " ignoring, as requested. You must redepsolve!"
-msgstr ""
-" ігнорується у відповідь на запит. Вам слід повторно виконати розв’язання "
-"залежностей!"
+msgstr " ігнорується у відповідь на запит. Вам слід повторно виконати розв’язання залежностей!"
+
+#. Debugging output
+#: ../yum/__init__.py:6738 ../yum/__init__.py:6757
+#, python-format
+msgid "%s has been visited already and cannot be removed."
+msgstr "%s вже було перевірено, його не можна вилучати."
+
+#. Debugging output
+#: ../yum/__init__.py:6741
+#, python-format
+msgid "Examining revdeps of %s"
+msgstr "Перевірка залежностей версій %s"
+
+#. Debugging output
+#: ../yum/__init__.py:6762
+#, python-format
+msgid "%s has revdep %s which was user-installed."
+msgstr "%s має залежність від версії %s, яку було встановлено користувачем."
+
+#: ../yum/__init__.py:6773 ../yum/__init__.py:6779
+#, python-format
+msgid "%s is needed by a package to be installed."
+msgstr "%s потрібен пакунку, який має бути встановлено."
+
+#. Debugging output
+#: ../yum/__init__.py:6793
+#, python-format
+msgid "%s has no user-installed revdeps."
+msgstr "%s немає залежностей від версій, встановлених користувачем."
 
 #. Mostly copied from YumOutput._outKeyValFill()
-#: ../yum/plugins.py:209
+#: ../yum/plugins.py:212
 msgid "Loaded plugins: "
 msgstr "Завантажені додатки: "
 
-#: ../yum/plugins.py:223 ../yum/plugins.py:229
+#: ../yum/plugins.py:226 ../yum/plugins.py:232
 #, python-format
 msgid "No plugin match for: %s"
 msgstr "Не виявлено відповідника додатка %s"
 
-#: ../yum/plugins.py:259
+#: ../yum/plugins.py:262
 #, python-format
 msgid "Not loading \"%s\" plugin, as it is disabled"
 msgstr "Додаток «%s» не завантажується, оскільки його вимкнено"
 
 #. Give full backtrace:
-#: ../yum/plugins.py:271
+#: ../yum/plugins.py:274
 #, python-format
 msgid "Plugin \"%s\" can't be imported"
 msgstr "Додаток «%s» не можна імпортувати"
 
-#: ../yum/plugins.py:278
+#: ../yum/plugins.py:281
 #, python-format
 msgid "Plugin \"%s\" doesn't specify required API version"
 msgstr "Додаток «%s» не визначає потрібної версії API"
 
-#: ../yum/plugins.py:283
+#: ../yum/plugins.py:286
 #, python-format
 msgid "Plugin \"%s\" requires API %s. Supported API is %s."
 msgstr "Для додатка «%s» потрібна версія API %s. Поточна версія API — %s."
 
-#: ../yum/plugins.py:316
+#: ../yum/plugins.py:319
 #, python-format
 msgid "Loading \"%s\" plugin"
 msgstr "Завантаження додатка «%s»"
 
-#: ../yum/plugins.py:323
+#: ../yum/plugins.py:326
 #, python-format
 msgid "Two or more plugins with the name \"%s\" exist in the plugin search path"
 msgstr "За адресою пошуку додатків виявлено декілька додатків з назвою «%s»"
 
-#: ../yum/plugins.py:343
+#: ../yum/plugins.py:346
 #, python-format
 msgid "Configuration file %s not found"
 msgstr "Файл налаштувань %s не знайдено"
 
 #. for
 #. Configuration files for the plugin not found
-#: ../yum/plugins.py:346
+#: ../yum/plugins.py:349
 #, python-format
 msgid "Unable to find configuration file for plugin %s"
 msgstr "Не вдалося знайти файл налаштувань для додатка %s"
 
-#: ../yum/plugins.py:508
+#: ../yum/plugins.py:553
 msgid "registration of commands not supported"
 msgstr "підтримки реєстрації команд не передбачено"
 
-#: ../yum/rpmsack.py:148
+#: ../yum/rpmsack.py:159
 msgid "has missing requires of"
 msgstr "не має потрібних залежностей"
 
-#: ../yum/rpmsack.py:151
+#: ../yum/rpmsack.py:162
 msgid "has installed conflicts"
 msgstr "конфліктує зі встановленими пакунками"
 
-#: ../yum/rpmsack.py:160
+#: ../yum/rpmsack.py:171
 #, python-format
 msgid "%s is a duplicate with %s"
 msgstr "%s є дублікатом з %s"
 
-#: ../yum/rpmsack.py:168
+#: ../yum/rpmsack.py:179
 #, python-format
 msgid "%s is obsoleted by %s"
 msgstr "%s є застарілим після встановлення %s"
 
-#: ../yum/rpmsack.py:176
+#: ../yum/rpmsack.py:187
 #, python-format
 msgid "%s provides %s but it cannot be found"
 msgstr "%s містить %s, але його не вдалося знайти"
@@ -3176,6 +3476,23 @@ msgstr "%s містить %s, але його не вдалося знайти"
 msgid "Repackaging"
 msgstr "Перепакування"
 
+#: ../yum/rpmtrans.py:149
+#, python-format
+msgid "Verify: %u/%u: %s"
+msgstr "Перевірка: %u/%u: %s"
+
+#: ../yum/yumRepo.py:919
+#, python-format
+msgid ""
+"Insufficient space in download directory %s\n"
+"    * free   %s\n"
+"    * needed %s"
+msgstr "Недостатньо місця у каталозі для звантажень %s\n    * вільно   %s\n    * потрібно %s"
+
+#: ../yum/yumRepo.py:986
+msgid "Package does not match intended download."
+msgstr "Пакунок не відповідає тому, який програма має намір звантажити."
+
 #: ../rpmUtils/oldUtils.py:33
 #, python-format
 msgid "Header cannot be opened or does not match %s, %s."
@@ -3188,9 +3505,7 @@ msgstr "RPM %s не пройшов перевірки на md5"
 
 #: ../rpmUtils/oldUtils.py:151
 msgid "Could not open RPM database for reading. Perhaps it is already in use?"
-msgstr ""
-"Не вдалося відкрити базу даних RPM для читання. Можливо, цю базу вже "
-"використовує інша програма?"
+msgstr "Не вдалося відкрити базу даних RPM для читання. Можливо, цю базу вже використовує інша програма?"
 
 #: ../rpmUtils/oldUtils.py:183
 msgid "Got an empty Header, something has gone wrong"
@@ -3206,5 +3521,3 @@ msgstr "Пошкоджений заголовок %s"
 #, python-format
 msgid "Error opening rpm %s - error %s"
 msgstr "Помилка під час відкриття rpm %s — помилка %s"
-
-
diff --git a/po/ur.po b/po/ur.po
index 40bd619..562ed0a 100644
--- a/po/ur.po
+++ b/po/ur.po
@@ -2,427 +2,506 @@
 # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
 # This file is distributed under the same license as the PACKAGE package.
 # 
+# Translators:
 msgid ""
 msgstr ""
 "Project-Id-Version: Yum\n"
-"Report-Msgid-Bugs-To: http://yum.baseurl.org/\n"
-"POT-Creation-Date: 2011-06-06 10:21-0400\n"
-"PO-Revision-Date: 2011-06-06 14:21+0000\n"
-"Last-Translator: skvidal <skvidal@fedoraproject.org>\n"
-"Language-Team: Urdu (http://www.transifex.net/projects/p/yum/team/ur/)\n"
+"Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
+"POT-Creation-Date: 2013-01-30 09:08-0500\n"
+"PO-Revision-Date: 2013-01-30 14:08+0000\n"
+"Last-Translator: james <james@fedoraproject.org>\n"
+"Language-Team: Urdu (http://www.transifex.com/projects/p/yum/language/ur/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Language: ur\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: ../callback.py:48 ../output.py:1037 ../yum/rpmtrans.py:73
+#: ../callback.py:45 ../output.py:1502 ../yum/rpmtrans.py:73
 msgid "Updating"
 msgstr ""
 
-#: ../callback.py:49 ../yum/rpmtrans.py:74
+#: ../callback.py:46 ../yum/rpmtrans.py:74
 msgid "Erasing"
 msgstr ""
 
-#: ../callback.py:50 ../callback.py:51 ../callback.py:53 ../output.py:1036
-#: ../output.py:2218 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
+#: ../callback.py:47 ../callback.py:48 ../callback.py:50 ../output.py:1501
+#: ../output.py:2922 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
 #: ../yum/rpmtrans.py:78
 msgid "Installing"
 msgstr ""
 
-#: ../callback.py:52 ../callback.py:58 ../output.py:1840 ../yum/rpmtrans.py:77
+#: ../callback.py:49 ../callback.py:55 ../output.py:2379 ../yum/rpmtrans.py:77
 msgid "Obsoleted"
 msgstr ""
 
-#: ../callback.py:54 ../output.py:1169 ../output.py:1686 ../output.py:1847
+#: ../callback.py:51 ../output.py:1670 ../output.py:2222 ../output.py:2386
 msgid "Updated"
 msgstr ""
 
-#: ../callback.py:55 ../output.py:1685
+#: ../callback.py:52 ../output.py:2221
 msgid "Erased"
 msgstr ""
 
-#: ../callback.py:56 ../callback.py:57 ../callback.py:59 ../output.py:1167
-#: ../output.py:1685 ../output.py:1687 ../output.py:2190
+#: ../callback.py:53 ../callback.py:54 ../callback.py:56 ../output.py:1668
+#: ../output.py:2221 ../output.py:2223 ../output.py:2894
 msgid "Installed"
 msgstr ""
 
-#: ../callback.py:130
+#: ../callback.py:142
 msgid "No header - huh?"
 msgstr ""
 
-#: ../callback.py:168
+#: ../callback.py:180
 msgid "Repackage"
 msgstr ""
 
-#: ../callback.py:189
+#: ../callback.py:201
 #, python-format
 msgid "Error: invalid output state: %s for %s"
 msgstr ""
 
-#: ../callback.py:212
+#: ../callback.py:224
 #, python-format
 msgid "Erased: %s"
 msgstr ""
 
-#: ../callback.py:217 ../output.py:1038 ../output.py:2193
+#: ../callback.py:229 ../output.py:1503 ../output.py:2897
 msgid "Removing"
 msgstr ""
 
-#: ../callback.py:219 ../yum/rpmtrans.py:79
+#: ../callback.py:231 ../yum/rpmtrans.py:79
 msgid "Cleanup"
 msgstr ""
 
-#: ../cli.py:115
+#: ../cli.py:122
 #, python-format
 msgid "Command \"%s\" already defined"
 msgstr ""
 
-#: ../cli.py:127
+#: ../cli.py:137
 msgid "Setting up repositories"
 msgstr ""
 
-#: ../cli.py:138
+#: ../cli.py:148
 msgid "Reading repository metadata in from local files"
 msgstr ""
 
-#: ../cli.py:245 ../utils.py:281
+#: ../cli.py:273 ../cli.py:277 ../utils.py:320
 #, python-format
 msgid "Config Error: %s"
 msgstr ""
 
-#: ../cli.py:248 ../cli.py:1584 ../utils.py:284
+#: ../cli.py:280 ../cli.py:2206 ../utils.py:323
 #, python-format
 msgid "Options Error: %s"
 msgstr ""
 
-#: ../cli.py:293
+#: ../cli.py:327
 #, python-format
 msgid "  Installed: %s-%s at %s"
 msgstr ""
 
-#: ../cli.py:295
+#: ../cli.py:329
 #, python-format
 msgid "  Built    : %s at %s"
 msgstr ""
 
-#: ../cli.py:297
+#: ../cli.py:331
 #, python-format
 msgid "  Committed: %s at %s"
 msgstr ""
 
-#: ../cli.py:336
+#: ../cli.py:372
 msgid "You need to give some command"
 msgstr ""
 
-#: ../cli.py:350
+#: ../cli.py:386
 #, python-format
 msgid "No such command: %s. Please use %s --help"
 msgstr ""
 
-#: ../cli.py:400
+#: ../cli.py:444
 msgid "Disk Requirements:\n"
 msgstr ""
 
-#: ../cli.py:402
+#: ../cli.py:446
 #, python-format
 msgid "  At least %dMB more space needed on the %s filesystem.\n"
-msgstr ""
+msgid_plural "  At least %dMB more space needed on the %s filesystem.\n"
+msgstr[0] ""
+msgstr[1] ""
 
 #. TODO: simplify the dependency errors?
 #. Fixup the summary
-#: ../cli.py:407
+#: ../cli.py:451
 msgid ""
 "Error Summary\n"
 "-------------\n"
 msgstr ""
 
-#: ../cli.py:450
+#: ../cli.py:472
+msgid "Can't create lock file; exiting"
+msgstr ""
+
+#: ../cli.py:479
+msgid ""
+"Another app is currently holding the yum lock; exiting as configured by "
+"exit_on_lock"
+msgstr ""
+
+#: ../cli.py:532
 msgid "Trying to run the transaction but nothing to do. Exiting."
 msgstr ""
 
-#: ../cli.py:497
+#: ../cli.py:577
+msgid "future rpmdb ver mismatched saved transaction version,"
+msgstr ""
+
+#: ../cli.py:579 ../yum/__init__.py:6523
+msgid " ignoring, as requested."
+msgstr ""
+
+#: ../cli.py:582 ../yum/__init__.py:6526 ../yum/__init__.py:6673
+msgid " aborting."
+msgstr ""
+
+#: ../cli.py:588
 msgid "Exiting on user Command"
 msgstr ""
 
-#: ../cli.py:501
+#: ../cli.py:592
 msgid "Downloading Packages:"
 msgstr ""
 
-#: ../cli.py:506
+#: ../cli.py:597
 msgid "Error Downloading Packages:\n"
 msgstr ""
 
-#: ../cli.py:525 ../yum/__init__.py:4967
+#: ../cli.py:616 ../yum/__init__.py:6215
 msgid "Running Transaction Check"
 msgstr ""
 
-#: ../cli.py:534 ../yum/__init__.py:4976
+#: ../cli.py:625 ../yum/__init__.py:6224
 msgid "ERROR You need to update rpm to handle:"
 msgstr ""
 
-#: ../cli.py:536 ../yum/__init__.py:4979
+#: ../cli.py:627 ../yum/__init__.py:6227
 msgid "ERROR with transaction check vs depsolve:"
 msgstr ""
 
-#: ../cli.py:542
+#: ../cli.py:633
 msgid "RPM needs to be updated"
 msgstr ""
 
-#: ../cli.py:543
+#: ../cli.py:634
 #, python-format
 msgid "Please report this error in %s"
 msgstr ""
 
-#: ../cli.py:549
+#: ../cli.py:640
 msgid "Running Transaction Test"
 msgstr ""
 
-#: ../cli.py:561
+#: ../cli.py:652
 msgid "Transaction Check Error:\n"
 msgstr ""
 
-#: ../cli.py:568
+#: ../cli.py:659
 msgid "Transaction Test Succeeded"
 msgstr ""
 
-#: ../cli.py:600
+#: ../cli.py:691
 msgid "Running Transaction"
 msgstr ""
 
-#: ../cli.py:630
+#: ../cli.py:724
 msgid ""
 "Refusing to automatically import keys when running unattended.\n"
 "Use \"-y\" to override."
 msgstr ""
 
-#: ../cli.py:649 ../cli.py:692
+#: ../cli.py:743 ../cli.py:786
 msgid "  * Maybe you meant: "
 msgstr ""
 
-#: ../cli.py:675 ../cli.py:683
+#: ../cli.py:769 ../cli.py:777
 #, python-format
 msgid "Package(s) %s%s%s available, but not installed."
 msgstr ""
 
-#: ../cli.py:689 ../cli.py:722 ../cli.py:908
+#: ../cli.py:783 ../cli.py:891 ../cli.py:1158
 #, python-format
 msgid "No package %s%s%s available."
 msgstr ""
 
-#: ../cli.py:729 ../cli.py:973
-msgid "Package(s) to install"
+#: ../cli.py:871 ../cli.py:881 ../cli.py:1101 ../cli.py:1111
+#, python-format
+msgid "Bad %s argument %s."
 msgstr ""
 
-#: ../cli.py:732 ../cli.py:733 ../cli.py:914 ../cli.py:948 ../cli.py:974
-#: ../yumcommands.py:190
+#: ../cli.py:900 ../yumcommands.py:3331
+#, python-format
+msgid "%d package to install"
+msgid_plural "%d packages to install"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../cli.py:903 ../cli.py:904 ../cli.py:1169 ../cli.py:1170 ../cli.py:1224
+#: ../cli.py:1225 ../cli.py:1260 ../yumcommands.py:323 ../yumcommands.py:3419
 msgid "Nothing to do"
 msgstr ""
 
-#: ../cli.py:767
+#: ../cli.py:953
 #, python-format
-msgid "%d packages marked for Update"
-msgstr ""
+msgid "%d package marked for Update"
+msgid_plural "%d packages marked for Update"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:770
+#: ../cli.py:955
 msgid "No Packages marked for Update"
 msgstr ""
 
-#: ../cli.py:866
+#: ../cli.py:1067
 #, python-format
-msgid "%d packages marked for Distribution Synchronization"
-msgstr ""
+msgid "%d package marked for Distribution Synchronization"
+msgid_plural "%d packages marked for Distribution Synchronization"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:869
+#: ../cli.py:1069
 msgid "No Packages marked for Distribution Synchronization"
 msgstr ""
 
-#: ../cli.py:885
+#: ../cli.py:1124
 #, python-format
-msgid "%d packages marked for removal"
-msgstr ""
+msgid "%d package marked for removal"
+msgid_plural "%d packages marked for removal"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:888
+#: ../cli.py:1126
 msgid "No Packages marked for removal"
 msgstr ""
 
-#: ../cli.py:913
-msgid "Package(s) to downgrade"
-msgstr ""
+#: ../cli.py:1166
+#, python-format
+msgid "%d package to downgrade"
+msgid_plural "%d packages to downgrade"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:938
+#: ../cli.py:1207
 #, python-format
 msgid " (from %s)"
 msgstr ""
 
-#: ../cli.py:939
+#: ../cli.py:1208
 #, python-format
 msgid "Installed package %s%s%s%s not available."
 msgstr ""
 
-#: ../cli.py:947
-msgid "Package(s) to reinstall"
-msgstr ""
+#: ../cli.py:1221
+#, python-format
+msgid "%d package to reinstall"
+msgid_plural "%d packages to reinstall"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:960
+#: ../cli.py:1246
 msgid "No Packages Provided"
 msgstr ""
 
-#: ../cli.py:1058
+#: ../cli.py:1259
+msgid "Package(s) to install"
+msgstr ""
+
+#: ../cli.py:1367
 #, python-format
 msgid "N/S Matched: %s"
 msgstr ""
 
-#: ../cli.py:1075
+#: ../cli.py:1384
 #, python-format
 msgid "  Name and summary matches %sonly%s, use \"search all\" for everything."
 msgstr ""
 
-#: ../cli.py:1077
+#: ../cli.py:1386
 #, python-format
 msgid ""
 "  Full name and summary matches %sonly%s, use \"search all\" for everything."
 msgstr ""
 
-#: ../cli.py:1095
+#: ../cli.py:1404
 #, python-format
 msgid "Matched: %s"
 msgstr ""
 
-#: ../cli.py:1102
+#: ../cli.py:1411
 #, python-format
 msgid "  Name and summary matches %smostly%s, use \"search all\" for everything."
 msgstr ""
 
-#: ../cli.py:1106
+#: ../cli.py:1415
 #, python-format
 msgid "Warning: No matches found for: %s"
 msgstr ""
 
-#: ../cli.py:1109
+#: ../cli.py:1418
 msgid "No Matches found"
 msgstr ""
 
-#: ../cli.py:1174
+#: ../cli.py:1536
 #, python-format
-msgid "No Package Found for %s"
+msgid ""
+"Error: No Packages found for:\n"
+"  %s"
 msgstr ""
 
-#: ../cli.py:1184
+#: ../cli.py:1572
 msgid "Cleaning repos: "
 msgstr ""
 
-#: ../cli.py:1189
+#: ../cli.py:1577
 msgid "Cleaning up Everything"
 msgstr ""
 
-#: ../cli.py:1205
+#: ../cli.py:1593
 msgid "Cleaning up Headers"
 msgstr ""
 
-#: ../cli.py:1208
+#: ../cli.py:1596
 msgid "Cleaning up Packages"
 msgstr ""
 
-#: ../cli.py:1211
+#: ../cli.py:1599
 msgid "Cleaning up xml metadata"
 msgstr ""
 
-#: ../cli.py:1214
+#: ../cli.py:1602
 msgid "Cleaning up database cache"
 msgstr ""
 
-#: ../cli.py:1217
+#: ../cli.py:1605
 msgid "Cleaning up expire-cache metadata"
 msgstr ""
 
-#: ../cli.py:1220
+#: ../cli.py:1608
 msgid "Cleaning up cached rpmdb data"
 msgstr ""
 
-#: ../cli.py:1223
+#: ../cli.py:1611
 msgid "Cleaning up plugins"
 msgstr ""
 
-#: ../cli.py:1247
-#, python-format
-msgid "Warning: No groups match: %s"
+#: ../cli.py:1727
+msgid "Installed Environment Groups:"
+msgstr ""
+
+#: ../cli.py:1728
+msgid "Available Environment Groups:"
 msgstr ""
 
-#: ../cli.py:1264
+#: ../cli.py:1735
 msgid "Installed Groups:"
 msgstr ""
 
-#: ../cli.py:1270
+#: ../cli.py:1742
 msgid "Installed Language Groups:"
 msgstr ""
 
-#: ../cli.py:1276
+#: ../cli.py:1749
 msgid "Available Groups:"
 msgstr ""
 
-#: ../cli.py:1282
+#: ../cli.py:1756
 msgid "Available Language Groups:"
 msgstr ""
 
-#: ../cli.py:1285
+#: ../cli.py:1759
+#, python-format
+msgid "Warning: No Environments/Groups match: %s"
+msgstr ""
+
+#: ../cli.py:1763
 msgid "Done"
 msgstr ""
 
-#: ../cli.py:1296 ../cli.py:1314 ../cli.py:1320 ../yum/__init__.py:3313
+#: ../cli.py:1818
+#, python-format
+msgid "Warning: Group/Environment %s does not exist."
+msgstr ""
+
+#: ../cli.py:1859
+#, python-format
+msgid "Warning: Environment %s does not exist."
+msgstr ""
+
+#: ../cli.py:1873 ../cli.py:1879 ../yum/__init__.py:4254
 #, python-format
 msgid "Warning: Group %s does not exist."
 msgstr ""
 
-#: ../cli.py:1324
+#: ../cli.py:1883
 msgid "No packages in any requested group available to install or update"
 msgstr ""
 
-#: ../cli.py:1326
+#: ../cli.py:1885
 #, python-format
-msgid "%d Package(s) to Install"
+msgid "%d package to Install"
+msgid_plural "%d packages to Install"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../cli.py:1919 ../yum/__init__.py:3536 ../yum/__init__.py:3766
+#: ../yum/__init__.py:3824
+#, python-format
+msgid "No Environment named %s exists"
 msgstr ""
 
-#: ../cli.py:1336 ../yum/__init__.py:3325
+#: ../cli.py:1935 ../yum/__init__.py:4282
 #, python-format
 msgid "No group named %s exists"
 msgstr ""
 
-#: ../cli.py:1342
+#: ../cli.py:1945
 msgid "No packages to remove from groups"
 msgstr ""
 
-#: ../cli.py:1344
+#: ../cli.py:1947 ../yumcommands.py:3351
 #, python-format
-msgid "%d Package(s) to remove"
-msgstr ""
+msgid "%d package to remove"
+msgid_plural "%d packages to remove"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:1386
+#: ../cli.py:1988
 #, python-format
 msgid "Package %s is already installed, skipping"
 msgstr ""
 
-#: ../cli.py:1397
+#: ../cli.py:1999
 #, python-format
 msgid "Discarding non-comparable pkg %s.%s"
 msgstr ""
 
 #. we've not got any installed that match n or n+a
-#: ../cli.py:1423
+#: ../cli.py:2025
 #, python-format
 msgid "No other %s installed, adding to list for potential install"
 msgstr ""
 
-#: ../cli.py:1443
+#: ../cli.py:2045
 msgid "Plugin Options"
 msgstr ""
 
-#: ../cli.py:1451
+#: ../cli.py:2057
 #, python-format
 msgid "Command line error: %s"
 msgstr ""
 
-#: ../cli.py:1467
+#: ../cli.py:2079
 #, python-format
 msgid ""
 "\n"
@@ -430,438 +509,484 @@ msgid ""
 "%s: %s option requires an argument"
 msgstr ""
 
-#: ../cli.py:1521
+#: ../cli.py:2147
 msgid "--color takes one of: auto, always, never"
 msgstr ""
 
 #. We have a relative installroot ... haha
-#: ../cli.py:1596
+#: ../cli.py:2218
 #, python-format
 msgid "--installroot must be an absolute path: %s"
 msgstr ""
 
-#: ../cli.py:1642
+#: ../cli.py:2272
 msgid "show this help message and exit"
 msgstr ""
 
-#: ../cli.py:1646
+#: ../cli.py:2276
 msgid "be tolerant of errors"
 msgstr ""
 
-#: ../cli.py:1649
+#: ../cli.py:2279
 msgid "run entirely from system cache, don't update cache"
 msgstr ""
 
-#: ../cli.py:1652
+#: ../cli.py:2282
 msgid "config file location"
 msgstr ""
 
-#: ../cli.py:1655
+#: ../cli.py:2285
 msgid "maximum command wait time"
 msgstr ""
 
-#: ../cli.py:1657
+#: ../cli.py:2287
 msgid "debugging output level"
 msgstr ""
 
-#: ../cli.py:1661
+#: ../cli.py:2291
 msgid "show duplicates, in repos, in list/search commands"
 msgstr ""
 
-#: ../cli.py:1663
+#: ../cli.py:2296
 msgid "error output level"
 msgstr ""
 
-#: ../cli.py:1666
+#: ../cli.py:2299
 msgid "debugging output level for rpm"
 msgstr ""
 
-#: ../cli.py:1669
+#: ../cli.py:2302
 msgid "quiet operation"
 msgstr ""
 
-#: ../cli.py:1671
+#: ../cli.py:2304
 msgid "verbose operation"
 msgstr ""
 
-#: ../cli.py:1673
+#: ../cli.py:2306
 msgid "answer yes for all questions"
 msgstr ""
 
-#: ../cli.py:1675
+#: ../cli.py:2308
+msgid "answer no for all questions"
+msgstr ""
+
+#: ../cli.py:2312
 msgid "show Yum version and exit"
 msgstr ""
 
-#: ../cli.py:1676
+#: ../cli.py:2313
 msgid "set install root"
 msgstr ""
 
-#: ../cli.py:1680
+#: ../cli.py:2317
 msgid "enable one or more repositories (wildcards allowed)"
 msgstr ""
 
-#: ../cli.py:1684
+#: ../cli.py:2321
 msgid "disable one or more repositories (wildcards allowed)"
 msgstr ""
 
-#: ../cli.py:1687
+#: ../cli.py:2324
 msgid "exclude package(s) by name or glob"
 msgstr ""
 
-#: ../cli.py:1689
+#: ../cli.py:2326
 msgid "disable exclude from main, for a repo or for everything"
 msgstr ""
 
-#: ../cli.py:1692
+#: ../cli.py:2329
 msgid "enable obsoletes processing during updates"
 msgstr ""
 
-#: ../cli.py:1694
+#: ../cli.py:2331
 msgid "disable Yum plugins"
 msgstr ""
 
-#: ../cli.py:1696
+#: ../cli.py:2333
 msgid "disable gpg signature checking"
 msgstr ""
 
-#: ../cli.py:1698
+#: ../cli.py:2335
 msgid "disable plugins by name"
 msgstr ""
 
-#: ../cli.py:1701
+#: ../cli.py:2338
 msgid "enable plugins by name"
 msgstr ""
 
-#: ../cli.py:1704
+#: ../cli.py:2341
 msgid "skip packages with depsolving problems"
 msgstr ""
 
-#: ../cli.py:1706
+#: ../cli.py:2343
 msgid "control whether color is used"
 msgstr ""
 
-#: ../cli.py:1708
+#: ../cli.py:2345
 msgid "set value of $releasever in yum config and repo files"
 msgstr ""
 
-#: ../cli.py:1710
+#: ../cli.py:2347
+msgid "don't update, just download"
+msgstr ""
+
+#: ../cli.py:2349
+msgid "specifies an alternate directory to store packages"
+msgstr ""
+
+#: ../cli.py:2351
 msgid "set arbitrary config and repo options"
 msgstr ""
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Jan"
 msgstr ""
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Feb"
 msgstr ""
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Mar"
 msgstr ""
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Apr"
 msgstr ""
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "May"
 msgstr ""
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Jun"
 msgstr ""
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Jul"
 msgstr ""
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Aug"
 msgstr ""
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Sep"
 msgstr ""
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Oct"
 msgstr ""
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Nov"
 msgstr ""
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Dec"
 msgstr ""
 
-#: ../output.py:318
+#: ../output.py:473
 msgid "Trying other mirror."
 msgstr ""
 
-#: ../output.py:581
+#: ../output.py:816
 #, python-format
 msgid "Name        : %s%s%s"
 msgstr ""
 
-#: ../output.py:582
+#: ../output.py:817
 #, python-format
 msgid "Arch        : %s"
 msgstr ""
 
-#: ../output.py:584
+#: ../output.py:819
 #, python-format
 msgid "Epoch       : %s"
 msgstr ""
 
-#: ../output.py:585
+#: ../output.py:820
 #, python-format
 msgid "Version     : %s"
 msgstr ""
 
-#: ../output.py:586
+#: ../output.py:821
 #, python-format
 msgid "Release     : %s"
 msgstr ""
 
-#: ../output.py:587
+#: ../output.py:822
 #, python-format
 msgid "Size        : %s"
 msgstr ""
 
-#: ../output.py:588 ../output.py:900
+#: ../output.py:823 ../output.py:1329
 #, python-format
 msgid "Repo        : %s"
 msgstr ""
 
-#: ../output.py:590
+#: ../output.py:825
 #, python-format
 msgid "From repo   : %s"
 msgstr ""
 
-#: ../output.py:592
+#: ../output.py:827
 #, python-format
 msgid "Committer   : %s"
 msgstr ""
 
-#: ../output.py:593
+#: ../output.py:828
 #, python-format
 msgid "Committime  : %s"
 msgstr ""
 
-#: ../output.py:594
+#: ../output.py:829
 #, python-format
 msgid "Buildtime   : %s"
 msgstr ""
 
-#: ../output.py:596
+#: ../output.py:831
 #, python-format
 msgid "Install time: %s"
 msgstr ""
 
-#: ../output.py:604
+#: ../output.py:839
 #, python-format
 msgid "Installed by: %s"
 msgstr ""
 
-#: ../output.py:611
+#: ../output.py:846
 #, python-format
 msgid "Changed by  : %s"
 msgstr ""
 
-#: ../output.py:612
+#: ../output.py:847
 msgid "Summary     : "
 msgstr ""
 
-#: ../output.py:614 ../output.py:913
+#: ../output.py:849 ../output.py:1345
 #, python-format
 msgid "URL         : %s"
 msgstr ""
 
-#: ../output.py:615
+#: ../output.py:850
 msgid "License     : "
 msgstr ""
 
-#: ../output.py:616 ../output.py:910
+#: ../output.py:851 ../output.py:1342
 msgid "Description : "
 msgstr ""
 
-#: ../output.py:684
+#: ../output.py:969
 msgid "y"
 msgstr ""
 
-#: ../output.py:684
+#: ../output.py:969
 msgid "yes"
 msgstr ""
 
-#: ../output.py:685
+#: ../output.py:970
 msgid "n"
 msgstr ""
 
-#: ../output.py:685
+#: ../output.py:970
 msgid "no"
 msgstr ""
 
-#: ../output.py:689
+#: ../output.py:974
 msgid "Is this ok [y/N]: "
 msgstr ""
 
-#: ../output.py:777
+#: ../output.py:1097
 #, python-format
 msgid ""
 "\n"
 "Group: %s"
 msgstr ""
 
-#: ../output.py:781
+#: ../output.py:1101
 #, python-format
 msgid " Group-Id: %s"
 msgstr ""
 
-#: ../output.py:786
+#: ../output.py:1122 ../output.py:1169
 #, python-format
 msgid " Description: %s"
 msgstr ""
 
-#: ../output.py:788
+#: ../output.py:1124
 #, python-format
 msgid " Language: %s"
 msgstr ""
 
-#: ../output.py:790
+#: ../output.py:1126
 msgid " Mandatory Packages:"
 msgstr ""
 
-#: ../output.py:791
+#: ../output.py:1127
 msgid " Default Packages:"
 msgstr ""
 
-#: ../output.py:792
+#: ../output.py:1128
 msgid " Optional Packages:"
 msgstr ""
 
-#: ../output.py:793
+#: ../output.py:1129
 msgid " Conditional Packages:"
 msgstr ""
 
-#: ../output.py:814
+#: ../output.py:1147
+msgid " Installed Packages:"
+msgstr ""
+
+#: ../output.py:1157
+#, python-format
+msgid ""
+"\n"
+"Environment Group: %s"
+msgstr ""
+
+#: ../output.py:1158
+#, python-format
+msgid " Environment-Id: %s"
+msgstr ""
+
+#: ../output.py:1191
+msgid " Mandatory Groups:"
+msgstr ""
+
+#: ../output.py:1192
+msgid " Optional Groups:"
+msgstr ""
+
+#: ../output.py:1205
+msgid " Installed Groups:"
+msgstr ""
+
+#: ../output.py:1217
 #, python-format
 msgid "package: %s"
 msgstr ""
 
-#: ../output.py:816
+#: ../output.py:1219
 msgid "  No dependencies for this package"
 msgstr ""
 
-#: ../output.py:821
+#: ../output.py:1224
 #, python-format
 msgid "  dependency: %s"
 msgstr ""
 
-#: ../output.py:823
+#: ../output.py:1226
 msgid "   Unsatisfied dependency"
 msgstr ""
 
-#: ../output.py:901
+#: ../output.py:1337
 msgid "Matched from:"
 msgstr ""
 
-#: ../output.py:916
+#: ../output.py:1348
 #, python-format
 msgid "License     : %s"
 msgstr ""
 
-#: ../output.py:919
+#: ../output.py:1351
 #, python-format
 msgid "Filename    : %s"
 msgstr ""
 
-#: ../output.py:923
+#: ../output.py:1360
+msgid "Provides    : "
+msgstr ""
+
+#: ../output.py:1363
 msgid "Other       : "
 msgstr ""
 
-#: ../output.py:966
+#: ../output.py:1426
 msgid "There was an error calculating total download size"
 msgstr ""
 
-#: ../output.py:971
+#: ../output.py:1431
 #, python-format
 msgid "Total size: %s"
 msgstr ""
 
-#: ../output.py:974
+#: ../output.py:1433
 #, python-format
 msgid "Total download size: %s"
 msgstr ""
 
-#: ../output.py:978 ../output.py:998
+#: ../output.py:1436 ../output.py:1459 ../output.py:1463
 #, python-format
 msgid "Installed size: %s"
 msgstr ""
 
-#: ../output.py:994
+#: ../output.py:1454
 msgid "There was an error calculating installed size"
 msgstr ""
 
-#: ../output.py:1039
+#: ../output.py:1504
 msgid "Reinstalling"
 msgstr ""
 
-#: ../output.py:1040
+#: ../output.py:1505
 msgid "Downgrading"
 msgstr ""
 
-#: ../output.py:1041
+#: ../output.py:1506
 msgid "Installing for dependencies"
 msgstr ""
 
-#: ../output.py:1042
+#: ../output.py:1507
 msgid "Updating for dependencies"
 msgstr ""
 
-#: ../output.py:1043
+#: ../output.py:1508
 msgid "Removing for dependencies"
 msgstr ""
 
-#: ../output.py:1050 ../output.py:1171
+#: ../output.py:1515 ../output.py:1576 ../output.py:1672
 msgid "Skipped (dependency problems)"
 msgstr ""
 
-#: ../output.py:1052 ../output.py:1687
+#: ../output.py:1517 ../output.py:1577 ../output.py:2223
 msgid "Not installed"
 msgstr ""
 
-#: ../output.py:1053
+#: ../output.py:1518 ../output.py:1578
 msgid "Not available"
 msgstr ""
 
-#: ../output.py:1075 ../output.py:2024
+#: ../output.py:1540 ../output.py:1588 ../output.py:1604 ../output.py:2581
 msgid "Package"
-msgstr ""
+msgid_plural "Packages"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../output.py:1075
+#: ../output.py:1540
 msgid "Arch"
 msgstr ""
 
-#: ../output.py:1076
+#: ../output.py:1541
 msgid "Version"
 msgstr ""
 
-#: ../output.py:1076
+#: ../output.py:1541
 msgid "Repository"
 msgstr ""
 
-#: ../output.py:1077
+#: ../output.py:1542
 msgid "Size"
 msgstr ""
 
-#: ../output.py:1089
+#: ../output.py:1554
 #, python-format
 msgid "     replacing  %s%s%s.%s %s\n"
 msgstr ""
 
-#: ../output.py:1098
+#: ../output.py:1563
 #, python-format
 msgid ""
 "\n"
@@ -869,65 +994,66 @@ msgid ""
 "%s\n"
 msgstr ""
 
-#: ../output.py:1109
-#, python-format
-msgid "Install   %5.5s Package(s)\n"
+#: ../output.py:1568 ../output.py:2376 ../output.py:2377
+msgid "Install"
 msgstr ""
 
-#: ../output.py:1113
-#, python-format
-msgid "Upgrade   %5.5s Package(s)\n"
+#: ../output.py:1570
+msgid "Upgrade"
 msgstr ""
 
-#: ../output.py:1117
-#, python-format
-msgid "Remove    %5.5s Package(s)\n"
+#: ../output.py:1572
+msgid "Remove"
 msgstr ""
 
-#: ../output.py:1121
-#, python-format
-msgid "Reinstall %5.5s Package(s)\n"
+#: ../output.py:1574 ../output.py:2382
+msgid "Reinstall"
 msgstr ""
 
-#: ../output.py:1125
-#, python-format
-msgid "Downgrade %5.5s Package(s)\n"
+#: ../output.py:1575 ../output.py:2383
+msgid "Downgrade"
 msgstr ""
 
-#: ../output.py:1165
+#: ../output.py:1606
+msgid "Dependent package"
+msgid_plural "Dependent packages"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../output.py:1666
 msgid "Removed"
 msgstr ""
 
-#: ../output.py:1166
+#: ../output.py:1667
 msgid "Dependency Removed"
 msgstr ""
 
-#: ../output.py:1168
+#: ../output.py:1669
 msgid "Dependency Installed"
 msgstr ""
 
-#: ../output.py:1170
+#: ../output.py:1671
 msgid "Dependency Updated"
 msgstr ""
 
-#: ../output.py:1172
+#: ../output.py:1673
 msgid "Replaced"
 msgstr ""
 
-#: ../output.py:1173
+#: ../output.py:1674
 msgid "Failed"
 msgstr ""
 
 #. Delta between C-c's so we treat as exit
-#: ../output.py:1260
+#: ../output.py:1764
 msgid "two"
 msgstr ""
 
 #. For translators: This is output like:
 #. Current download cancelled, interrupt (ctrl-c) again within two seconds
 #. to exit.
-#. Where "interupt (ctrl-c) again" and "two" are highlighted.
-#: ../output.py:1271
+#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
+#: ../output.py:1775
 #, python-format
 msgid ""
 "\n"
@@ -935,484 +1061,542 @@ msgid ""
 "to exit.\n"
 msgstr ""
 
-#: ../output.py:1282
+#: ../output.py:1786
 msgid "user interrupt"
 msgstr ""
 
-#: ../output.py:1300
+#: ../output.py:1812
 msgid "Total"
 msgstr ""
 
-#: ../output.py:1322
+#: ../output.py:1834
 msgid "I"
 msgstr ""
 
-#: ../output.py:1323
+#: ../output.py:1835
 msgid "O"
 msgstr ""
 
-#: ../output.py:1324
+#: ../output.py:1836
 msgid "E"
 msgstr ""
 
-#: ../output.py:1325
+#: ../output.py:1837
 msgid "R"
 msgstr ""
 
-#: ../output.py:1326
+#: ../output.py:1838
 msgid "D"
 msgstr ""
 
-#: ../output.py:1327
+#: ../output.py:1839
 msgid "U"
 msgstr ""
 
-#: ../output.py:1341
+#: ../output.py:1853
 msgid "<unset>"
 msgstr ""
 
-#: ../output.py:1342
+#: ../output.py:1854
 msgid "System"
 msgstr ""
 
-#: ../output.py:1411
+#: ../output.py:1923
 #, python-format
 msgid "Skipping merged transaction %d to %d, as it overlaps"
 msgstr ""
 
-#: ../output.py:1421 ../output.py:1592
+#: ../output.py:1933 ../output.py:2125
 msgid "No transactions"
 msgstr ""
 
-#: ../output.py:1446 ../output.py:2013
+#: ../output.py:1958 ../output.py:2570 ../output.py:2660
 msgid "Bad transaction IDs, or package(s), given"
 msgstr ""
 
-#: ../output.py:1484
+#: ../output.py:2007
 msgid "Command line"
 msgstr ""
 
-#: ../output.py:1486 ../output.py:1908
+#: ../output.py:2009 ../output.py:2458
 msgid "Login user"
 msgstr ""
 
 #. REALLY Needs to use columns!
-#: ../output.py:1487 ../output.py:2022
+#: ../output.py:2010 ../output.py:2579
 msgid "ID"
 msgstr ""
 
-#: ../output.py:1489
+#: ../output.py:2012
 msgid "Date and time"
 msgstr ""
 
-#: ../output.py:1490 ../output.py:1910 ../output.py:2023
+#: ../output.py:2013 ../output.py:2460 ../output.py:2580
 msgid "Action(s)"
 msgstr ""
 
-#: ../output.py:1491 ../output.py:1911
+#: ../output.py:2014 ../output.py:2461
 msgid "Altered"
 msgstr ""
 
-#: ../output.py:1538
+#: ../output.py:2061
 msgid "No transaction ID given"
 msgstr ""
 
-#: ../output.py:1564 ../output.py:1972
+#: ../output.py:2087 ../output.py:2526
 msgid "Bad transaction ID given"
 msgstr ""
 
-#: ../output.py:1569
+#: ../output.py:2092
 msgid "Not found given transaction ID"
 msgstr ""
 
-#: ../output.py:1577
+#: ../output.py:2100
 msgid "Found more than one transaction ID!"
 msgstr ""
 
-#: ../output.py:1618 ../output.py:1980
+#: ../output.py:2151 ../output.py:2534
 msgid "No transaction ID, or package, given"
 msgstr ""
 
-#: ../output.py:1686 ../output.py:1845
+#: ../output.py:2222 ../output.py:2384
 msgid "Downgraded"
 msgstr ""
 
-#: ../output.py:1688
+#: ../output.py:2224
 msgid "Older"
 msgstr ""
 
-#: ../output.py:1688
+#: ../output.py:2224
 msgid "Newer"
 msgstr ""
 
-#: ../output.py:1724 ../output.py:1726
+#: ../output.py:2261 ../output.py:2263 ../output.py:2681
 msgid "Transaction ID :"
 msgstr ""
 
-#: ../output.py:1728
+#: ../output.py:2265 ../output.py:2683
 msgid "Begin time     :"
 msgstr ""
 
-#: ../output.py:1731 ../output.py:1733
+#: ../output.py:2268 ../output.py:2270
 msgid "Begin rpmdb    :"
 msgstr ""
 
-#: ../output.py:1749
+#: ../output.py:2286
 #, python-format
 msgid "(%u seconds)"
 msgstr ""
 
-#: ../output.py:1751
+#: ../output.py:2288
 #, python-format
 msgid "(%u minutes)"
 msgstr ""
 
-#: ../output.py:1753
+#: ../output.py:2290
 #, python-format
 msgid "(%u hours)"
 msgstr ""
 
-#: ../output.py:1755
+#: ../output.py:2292
 #, python-format
 msgid "(%u days)"
 msgstr ""
 
-#: ../output.py:1756
+#: ../output.py:2293
 msgid "End time       :"
 msgstr ""
 
-#: ../output.py:1759 ../output.py:1761
+#: ../output.py:2296 ../output.py:2298
 msgid "End rpmdb      :"
 msgstr ""
 
-#: ../output.py:1764 ../output.py:1766
+#: ../output.py:2301 ../output.py:2303
 msgid "User           :"
 msgstr ""
 
-#: ../output.py:1770 ../output.py:1773 ../output.py:1775 ../output.py:1777
-#: ../output.py:1779
+#: ../output.py:2307 ../output.py:2310 ../output.py:2312 ../output.py:2314
+#: ../output.py:2316
 msgid "Return-Code    :"
 msgstr ""
 
-#: ../output.py:1770 ../output.py:1775
+#: ../output.py:2307 ../output.py:2312
 msgid "Aborted"
 msgstr ""
 
-#: ../output.py:1773
+#: ../output.py:2310
 msgid "Failures:"
 msgstr ""
 
-#: ../output.py:1777
+#: ../output.py:2314
 msgid "Failure:"
 msgstr ""
 
-#: ../output.py:1779
+#: ../output.py:2316
 msgid "Success"
 msgstr ""
 
-#: ../output.py:1784 ../output.py:1786
+#: ../output.py:2321 ../output.py:2323 ../output.py:2712
 msgid "Command Line   :"
 msgstr ""
 
-#: ../output.py:1795
+#: ../output.py:2332
 #, python-format
 msgid "Additional non-default information stored: %d"
 msgstr ""
 
 #. This is _possible_, but not common
-#: ../output.py:1800
+#: ../output.py:2337
 msgid "Transaction performed with:"
 msgstr ""
 
-#: ../output.py:1804
+#: ../output.py:2341
 msgid "Packages Altered:"
 msgstr ""
 
-#: ../output.py:1808
+#: ../output.py:2345
 msgid "Packages Skipped:"
 msgstr ""
 
-#: ../output.py:1814
+#: ../output.py:2353
 msgid "Rpmdb Problems:"
 msgstr ""
 
-#: ../output.py:1825
+#: ../output.py:2364
 msgid "Scriptlet output:"
 msgstr ""
 
-#: ../output.py:1831
+#: ../output.py:2370
 msgid "Errors:"
 msgstr ""
 
-#: ../output.py:1837 ../output.py:1838
-msgid "Install"
-msgstr ""
-
-#: ../output.py:1839
+#: ../output.py:2378
 msgid "Dep-Install"
 msgstr ""
 
-#: ../output.py:1841
+#: ../output.py:2380
 msgid "Obsoleting"
 msgstr ""
 
-#: ../output.py:1842
+#: ../output.py:2381
 msgid "Erase"
 msgstr ""
 
-#: ../output.py:1843
-msgid "Reinstall"
-msgstr ""
-
-#: ../output.py:1844
-msgid "Downgrade"
-msgstr ""
-
-#: ../output.py:1846
+#: ../output.py:2385
 msgid "Update"
 msgstr ""
 
-#: ../output.py:1909
+#: ../output.py:2459
 msgid "Time"
 msgstr ""
 
-#: ../output.py:1935
+#: ../output.py:2485
 msgid "Last day"
 msgstr ""
 
-#: ../output.py:1936
+#: ../output.py:2486
 msgid "Last week"
 msgstr ""
 
-#: ../output.py:1937
+#: ../output.py:2487
 msgid "Last 2 weeks"
 msgstr ""
 
 #. US default :p
-#: ../output.py:1938
+#: ../output.py:2488
 msgid "Last 3 months"
 msgstr ""
 
-#: ../output.py:1939
+#: ../output.py:2489
 msgid "Last 6 months"
 msgstr ""
 
-#: ../output.py:1940
+#: ../output.py:2490
 msgid "Last year"
 msgstr ""
 
-#: ../output.py:1941
+#: ../output.py:2491
 msgid "Over a year ago"
 msgstr ""
 
-#: ../output.py:1984
+#: ../output.py:2538
 #, python-format
 msgid "No Transaction %s found"
 msgstr ""
 
-#: ../output.py:1990
+#: ../output.py:2544
 msgid "Transaction ID:"
 msgstr ""
 
-#: ../output.py:1991
+#: ../output.py:2545
 msgid "Available additional history information:"
 msgstr ""
 
-#: ../output.py:2003
+#: ../output.py:2558
 #, python-format
 msgid "%s: No additional data found by this name"
 msgstr ""
 
-#: ../output.py:2106
+#: ../output.py:2684
+msgid "Package        :"
+msgstr ""
+
+#: ../output.py:2685
+msgid "State          :"
+msgstr ""
+
+#: ../output.py:2688
+msgid "Size           :"
+msgstr ""
+
+#: ../output.py:2690
+msgid "Build host     :"
+msgstr ""
+
+#: ../output.py:2693
+msgid "Build time     :"
+msgstr ""
+
+#: ../output.py:2695
+msgid "Packager       :"
+msgstr ""
+
+#: ../output.py:2697
+msgid "Vendor         :"
+msgstr ""
+
+#: ../output.py:2699
+msgid "License        :"
+msgstr ""
+
+#: ../output.py:2701
+msgid "URL            :"
+msgstr ""
+
+#: ../output.py:2703
+msgid "Source RPM     :"
+msgstr ""
+
+#: ../output.py:2706
+msgid "Commit Time    :"
+msgstr ""
+
+#: ../output.py:2708
+msgid "Committer      :"
+msgstr ""
+
+#: ../output.py:2710
+msgid "Reason         :"
+msgstr ""
+
+#: ../output.py:2714
+msgid "From repo      :"
+msgstr ""
+
+#: ../output.py:2718
+msgid "Installed by   :"
+msgstr ""
+
+#: ../output.py:2722
+msgid "Changed by     :"
+msgstr ""
+
+#: ../output.py:2767
 msgid "installed"
 msgstr ""
 
-#: ../output.py:2107
+#: ../output.py:2768
 msgid "an update"
 msgstr ""
 
-#: ../output.py:2108
+#: ../output.py:2769
 msgid "erased"
 msgstr ""
 
-#: ../output.py:2109
+#: ../output.py:2770
 msgid "reinstalled"
 msgstr ""
 
-#: ../output.py:2110
+#: ../output.py:2771
 msgid "a downgrade"
 msgstr ""
 
-#: ../output.py:2111
+#: ../output.py:2772
 msgid "obsoleting"
 msgstr ""
 
-#: ../output.py:2112
+#: ../output.py:2773
 msgid "updated"
 msgstr ""
 
-#: ../output.py:2113
+#: ../output.py:2774
 msgid "obsoleted"
 msgstr ""
 
-#: ../output.py:2117
+#: ../output.py:2778
 #, python-format
 msgid "---> Package %s.%s %s:%s-%s will be %s"
 msgstr ""
 
-#: ../output.py:2124
+#: ../output.py:2789
 msgid "--> Running transaction check"
 msgstr ""
 
-#: ../output.py:2129
+#: ../output.py:2795
 msgid "--> Restarting Dependency Resolution with new changes."
 msgstr ""
 
-#: ../output.py:2134
+#: ../output.py:2801
 msgid "--> Finished Dependency Resolution"
 msgstr ""
 
-#: ../output.py:2139 ../output.py:2144
+#: ../output.py:2814 ../output.py:2827
 #, python-format
 msgid "--> Processing Dependency: %s for package: %s"
 msgstr ""
 
-#: ../output.py:2149
+#: ../output.py:2841
 #, python-format
-msgid "---> Keeping package: %s"
+msgid "---> Keeping package: %s due to %s"
 msgstr ""
 
-#: ../output.py:2152
+#: ../output.py:2850
 #, python-format
 msgid "--> Unresolved Dependency: %s"
 msgstr ""
 
-#: ../output.py:2163
+#: ../output.py:2867
 #, python-format
 msgid "Package: %s"
 msgstr ""
 
-#: ../output.py:2165
+#: ../output.py:2869
 #, python-format
 msgid ""
 "\n"
 "    Requires: %s"
 msgstr ""
 
-#: ../output.py:2174
+#: ../output.py:2878
 #, python-format
 msgid ""
 "\n"
 "    %s: %s (%s)"
 msgstr ""
 
-#: ../output.py:2179
+#: ../output.py:2883
 #, python-format
 msgid ""
 "\n"
 "        %s"
 msgstr ""
 
-#: ../output.py:2181
+#: ../output.py:2885
 msgid ""
 "\n"
 "        Not found"
 msgstr ""
 
 #. These should be the only three things we care about:
-#: ../output.py:2196
+#: ../output.py:2900
 msgid "Updated By"
 msgstr ""
 
-#: ../output.py:2197
+#: ../output.py:2901
 msgid "Downgraded By"
 msgstr ""
 
-#: ../output.py:2198
+#: ../output.py:2902
 msgid "Obsoleted By"
 msgstr ""
 
-#: ../output.py:2216
+#: ../output.py:2920
 msgid "Available"
 msgstr ""
 
-#: ../output.py:2243 ../output.py:2248
+#: ../output.py:2955 ../output.py:2968
 #, python-format
 msgid "--> Processing Conflict: %s conflicts %s"
 msgstr ""
 
-#: ../output.py:2252
+#: ../output.py:2974
 msgid "--> Populating transaction set with selected packages. Please wait."
 msgstr ""
 
-#: ../output.py:2256
+#: ../output.py:2983
 #, python-format
 msgid "---> Downloading header for %s to pack into transaction set."
 msgstr ""
 
-#: ../utils.py:99
+#. self.event(txmbr.name, count, len(base.tsInfo), count, )
+#. (te_current*100L)/te_total
+#: ../output.py:3248
+msgid "Verifying"
+msgstr ""
+
+#: ../utils.py:123
 msgid "Running"
 msgstr ""
 
-#: ../utils.py:100
+#: ../utils.py:124
 msgid "Sleeping"
 msgstr ""
 
-#: ../utils.py:101
+#: ../utils.py:125
 msgid "Uninterruptible"
 msgstr ""
 
-#: ../utils.py:102
+#: ../utils.py:126
 msgid "Zombie"
 msgstr ""
 
-#: ../utils.py:103
+#: ../utils.py:127
 msgid "Traced/Stopped"
 msgstr ""
 
-#: ../utils.py:104 ../yumcommands.py:994
+#: ../utils.py:128 ../yumcommands.py:2193
 msgid "Unknown"
 msgstr ""
 
-#: ../utils.py:115
+#: ../utils.py:153
 msgid "  The other application is: PackageKit"
 msgstr ""
 
-#: ../utils.py:117
+#: ../utils.py:155
 #, python-format
 msgid "  The other application is: %s"
 msgstr ""
 
-#: ../utils.py:120
+#: ../utils.py:158
 #, python-format
 msgid "    Memory : %5s RSS (%5sB VSZ)"
 msgstr ""
 
-#: ../utils.py:125
+#: ../utils.py:163
 #, python-format
 msgid "    Started: %s - %s ago"
 msgstr ""
 
-#: ../utils.py:127
+#: ../utils.py:165
 #, python-format
 msgid "    State  : %s, pid: %d"
 msgstr ""
 
-#: ../utils.py:170 ../yummain.py:43
+#: ../utils.py:194 ../yummain.py:43
 msgid ""
 "\n"
 "\n"
 "Exiting on user cancel"
 msgstr ""
 
-#: ../utils.py:176 ../yummain.py:49
+#: ../utils.py:206 ../yummain.py:49
 msgid ""
 "\n"
 "\n"
 "Exiting on Broken Pipe"
 msgstr ""
 
-#: ../utils.py:178 ../yummain.py:51
+#: ../utils.py:208 ../yummain.py:51
 #, python-format
 msgid ""
 "\n"
@@ -1420,47 +1604,41 @@ msgid ""
 "%s"
 msgstr ""
 
-#: ../utils.py:228 ../yummain.py:123
-msgid ""
-"Another app is currently holding the yum lock; exiting as configured by "
-"exit_on_lock"
-msgstr ""
-
-#: ../utils.py:287
+#: ../utils.py:326
 #, python-format
 msgid "PluginExit Error: %s"
 msgstr ""
 
-#: ../utils.py:290
+#: ../utils.py:329
 #, python-format
 msgid "Yum Error: %s"
 msgstr ""
 
-#: ../utils.py:342 ../yummain.py:150 ../yummain.py:189
+#: ../utils.py:387 ../yummain.py:147 ../yummain.py:186
 #, python-format
 msgid "Error: %s"
 msgstr ""
 
-#: ../utils.py:346 ../yummain.py:194
+#: ../utils.py:391 ../yummain.py:191
 msgid " You could try using --skip-broken to work around the problem"
 msgstr ""
 
-#: ../utils.py:348 ../yummain.py:87
+#: ../utils.py:393 ../yummain.py:87
 msgid " You could try running: rpm -Va --nofiles --nodigest"
 msgstr ""
 
-#: ../utils.py:355 ../yummain.py:160 ../yummain.py:202
+#: ../utils.py:400 ../yummain.py:157 ../yummain.py:199
 #, python-format
 msgid "Unknown Error(s): Exit Code: %d:"
 msgstr ""
 
-#: ../utils.py:361 ../yummain.py:208
+#: ../utils.py:406 ../yummain.py:205
 msgid ""
 "\n"
 "Dependencies Resolved"
 msgstr ""
 
-#: ../utils.py:376 ../yummain.py:234
+#: ../utils.py:422 ../yummain.py:237
 msgid "Complete!"
 msgstr ""
 
@@ -1472,7 +1650,7 @@ msgstr ""
 msgid "You need to be root to perform this command."
 msgstr ""
 
-#: ../yumcommands.py:59
+#: ../yumcommands.py:67
 msgid ""
 "\n"
 "You have enabled checking of packages via GPG keys. This is a good thing. \n"
@@ -1489,555 +1667,648 @@ msgid ""
 "For more information contact your distribution or package provider.\n"
 msgstr ""
 
-#: ../yumcommands.py:74
+#: ../yumcommands.py:82
 #, python-format
 msgid "Problem repository: %s"
 msgstr ""
 
-#: ../yumcommands.py:80
+#: ../yumcommands.py:96
 #, python-format
 msgid "Error: Need to pass a list of pkgs to %s"
 msgstr ""
 
-#: ../yumcommands.py:86
+#: ../yumcommands.py:114
+#, python-format
+msgid "Error: Need at least two packages to %s"
+msgstr ""
+
+#: ../yumcommands.py:129
+#, python-format
+msgid "Error: Need to pass a repoid. and command to %s"
+msgstr ""
+
+#: ../yumcommands.py:136 ../yumcommands.py:142
+#, python-format
+msgid "Error: Need to pass a single valid repoid. to %s"
+msgstr ""
+
+#: ../yumcommands.py:147
+#, python-format
+msgid "Error: Repo %s is not enabled"
+msgstr ""
+
+#: ../yumcommands.py:164
 msgid "Error: Need an item to match"
 msgstr ""
 
-#: ../yumcommands.py:92
+#: ../yumcommands.py:178
 msgid "Error: Need a group or list of groups"
 msgstr ""
 
-#: ../yumcommands.py:101
+#: ../yumcommands.py:195
 #, python-format
 msgid "Error: clean requires an option: %s"
 msgstr ""
 
-#: ../yumcommands.py:106
+#: ../yumcommands.py:201
 #, python-format
 msgid "Error: invalid clean argument: %r"
 msgstr ""
 
-#: ../yumcommands.py:119
+#: ../yumcommands.py:216
 msgid "No argument to shell"
 msgstr ""
 
-#: ../yumcommands.py:121
+#: ../yumcommands.py:218
 #, python-format
 msgid "Filename passed to shell: %s"
 msgstr ""
 
-#: ../yumcommands.py:125
+#: ../yumcommands.py:222
 #, python-format
 msgid "File %s given as argument to shell does not exist."
 msgstr ""
 
-#: ../yumcommands.py:131
+#: ../yumcommands.py:228
 msgid "Error: more than one file given as argument to shell."
 msgstr ""
 
-#: ../yumcommands.py:148
+#: ../yumcommands.py:247
 msgid ""
 "There are no enabled repos.\n"
 " Run \"yum repolist all\" to see the repos you have.\n"
 " You can enable repos with yum-config-manager --enable <repo>"
 msgstr ""
 
-#: ../yumcommands.py:200
+#: ../yumcommands.py:383
 msgid "PACKAGE..."
 msgstr ""
 
-#: ../yumcommands.py:203
+#: ../yumcommands.py:390
 msgid "Install a package or packages on your system"
 msgstr ""
 
-#: ../yumcommands.py:212
+#: ../yumcommands.py:421
 msgid "Setting up Install Process"
 msgstr ""
 
-#: ../yumcommands.py:223 ../yumcommands.py:245
+#: ../yumcommands.py:447 ../yumcommands.py:507
 msgid "[PACKAGE...]"
 msgstr ""
 
-#: ../yumcommands.py:226
+#: ../yumcommands.py:454
 msgid "Update a package or packages on your system"
 msgstr ""
 
-#: ../yumcommands.py:234
+#: ../yumcommands.py:483
 msgid "Setting up Update Process"
 msgstr ""
 
-#: ../yumcommands.py:248
+#: ../yumcommands.py:514
 msgid "Synchronize installed packages to the latest available versions"
 msgstr ""
 
-#: ../yumcommands.py:256
+#: ../yumcommands.py:543
 msgid "Setting up Distribution Synchronization Process"
 msgstr ""
 
-#: ../yumcommands.py:299
+#: ../yumcommands.py:603
 msgid "Display details about a package or group of packages"
 msgstr ""
 
-#: ../yumcommands.py:348
+#: ../yumcommands.py:672
 msgid "Installed Packages"
 msgstr ""
 
-#: ../yumcommands.py:356
+#: ../yumcommands.py:682
 msgid "Available Packages"
 msgstr ""
 
-#: ../yumcommands.py:360
+#: ../yumcommands.py:687
 msgid "Extra Packages"
 msgstr ""
 
-#: ../yumcommands.py:364
+#: ../yumcommands.py:691
 msgid "Updated Packages"
 msgstr ""
 
 #. This only happens in verbose mode
-#: ../yumcommands.py:372 ../yumcommands.py:379 ../yumcommands.py:667
+#: ../yumcommands.py:699 ../yumcommands.py:706 ../yumcommands.py:1539
 msgid "Obsoleting Packages"
 msgstr ""
 
-#: ../yumcommands.py:381
+#: ../yumcommands.py:708
 msgid "Recently Added Packages"
 msgstr ""
 
-#: ../yumcommands.py:388
+#: ../yumcommands.py:715
 msgid "No matching Packages to list"
 msgstr ""
 
-#: ../yumcommands.py:402
+#: ../yumcommands.py:766
 msgid "List a package or groups of packages"
 msgstr ""
 
-#: ../yumcommands.py:414
+#: ../yumcommands.py:797
 msgid "Remove a package or packages from your system"
 msgstr ""
 
-#: ../yumcommands.py:421
+#: ../yumcommands.py:845
 msgid "Setting up Remove Process"
 msgstr ""
 
-#: ../yumcommands.py:435
-msgid "Setting up Group Process"
+#: ../yumcommands.py:906
+msgid "Display, or use, the groups information"
 msgstr ""
 
-#: ../yumcommands.py:441
-msgid "No Groups on which to run command"
+#: ../yumcommands.py:909
+msgid "Setting up Group Process"
 msgstr ""
 
-#: ../yumcommands.py:454
-msgid "List available package groups"
+#: ../yumcommands.py:915
+msgid "No Groups on which to run command"
 msgstr ""
 
-#: ../yumcommands.py:474
-msgid "Install the packages in a group on your system"
+#: ../yumcommands.py:985
+#, python-format
+msgid "Invalid groups sub-command, use: %s."
 msgstr ""
 
-#: ../yumcommands.py:497
-msgid "Remove the packages in a group from your system"
+#: ../yumcommands.py:992
+msgid "There is no installed groups file."
 msgstr ""
 
-#: ../yumcommands.py:525
-msgid "Display details about a package group"
+#: ../yumcommands.py:994
+msgid "You don't have access to the groups DB."
 msgstr ""
 
-#: ../yumcommands.py:550
+#: ../yumcommands.py:1256
 msgid "Generate the metadata cache"
 msgstr ""
 
-#: ../yumcommands.py:556
+#: ../yumcommands.py:1282
 msgid "Making cache files for all metadata files."
 msgstr ""
 
-#: ../yumcommands.py:557
+#: ../yumcommands.py:1283
 msgid "This may take a while depending on the speed of this computer"
 msgstr ""
 
-#: ../yumcommands.py:578
+#: ../yumcommands.py:1312
 msgid "Metadata Cache Created"
 msgstr ""
 
-#: ../yumcommands.py:592
+#: ../yumcommands.py:1350
 msgid "Remove cached data"
 msgstr ""
 
-#: ../yumcommands.py:613
+#: ../yumcommands.py:1417
 msgid "Find what package provides the given value"
 msgstr ""
 
-#: ../yumcommands.py:633
+#: ../yumcommands.py:1485
 msgid "Check for available package updates"
 msgstr ""
 
-#: ../yumcommands.py:687
+#: ../yumcommands.py:1587
 msgid "Search package details for the given string"
 msgstr ""
 
-#: ../yumcommands.py:693
+#: ../yumcommands.py:1613
 msgid "Searching Packages: "
 msgstr ""
 
-#: ../yumcommands.py:710
+#: ../yumcommands.py:1666
 msgid "Update packages taking obsoletes into account"
 msgstr ""
 
-#: ../yumcommands.py:719
+#: ../yumcommands.py:1696
 msgid "Setting up Upgrade Process"
 msgstr ""
 
-#: ../yumcommands.py:737
+#: ../yumcommands.py:1731
 msgid "Install a local RPM"
 msgstr ""
 
-#: ../yumcommands.py:745
+#: ../yumcommands.py:1761
 msgid "Setting up Local Package Process"
 msgstr ""
 
-#: ../yumcommands.py:764
-msgid "Determine which package provides the given dependency"
-msgstr ""
-
-#: ../yumcommands.py:767
+#: ../yumcommands.py:1825
 msgid "Searching Packages for Dependency:"
 msgstr ""
 
-#: ../yumcommands.py:781
+#: ../yumcommands.py:1867
 msgid "Run an interactive yum shell"
 msgstr ""
 
-#: ../yumcommands.py:787
+#: ../yumcommands.py:1893
 msgid "Setting up Yum Shell"
 msgstr ""
 
-#: ../yumcommands.py:805
+#: ../yumcommands.py:1936
 msgid "List a package's dependencies"
 msgstr ""
 
-#: ../yumcommands.py:811
+#: ../yumcommands.py:1963
 msgid "Finding dependencies: "
 msgstr ""
 
-#: ../yumcommands.py:827
+#: ../yumcommands.py:2005
 msgid "Display the configured software repositories"
 msgstr ""
 
-#: ../yumcommands.py:893 ../yumcommands.py:894
+#: ../yumcommands.py:2094 ../yumcommands.py:2095
 msgid "enabled"
 msgstr ""
 
-#: ../yumcommands.py:920 ../yumcommands.py:921
+#: ../yumcommands.py:2121 ../yumcommands.py:2122
 msgid "disabled"
 msgstr ""
 
-#: ../yumcommands.py:937
+#: ../yumcommands.py:2137
 msgid "Repo-id      : "
 msgstr ""
 
-#: ../yumcommands.py:938
+#: ../yumcommands.py:2138
 msgid "Repo-name    : "
 msgstr ""
 
-#: ../yumcommands.py:941
+#: ../yumcommands.py:2141
 msgid "Repo-status  : "
 msgstr ""
 
-#: ../yumcommands.py:944
+#: ../yumcommands.py:2144
 msgid "Repo-revision: "
 msgstr ""
 
-#: ../yumcommands.py:948
+#: ../yumcommands.py:2148
 msgid "Repo-tags    : "
 msgstr ""
 
-#: ../yumcommands.py:954
+#: ../yumcommands.py:2154
 msgid "Repo-distro-tags: "
 msgstr ""
 
-#: ../yumcommands.py:959
+#: ../yumcommands.py:2159
 msgid "Repo-updated : "
 msgstr ""
 
-#: ../yumcommands.py:961
+#: ../yumcommands.py:2161
 msgid "Repo-pkgs    : "
 msgstr ""
 
-#: ../yumcommands.py:962
+#: ../yumcommands.py:2162
 msgid "Repo-size    : "
 msgstr ""
 
-#: ../yumcommands.py:969 ../yumcommands.py:990
+#: ../yumcommands.py:2169 ../yumcommands.py:2190
 msgid "Repo-baseurl : "
 msgstr ""
 
-#: ../yumcommands.py:977
+#: ../yumcommands.py:2177
 msgid "Repo-metalink: "
 msgstr ""
 
-#: ../yumcommands.py:981
+#: ../yumcommands.py:2181
 msgid "  Updated    : "
 msgstr ""
 
-#: ../yumcommands.py:984
+#: ../yumcommands.py:2184
 msgid "Repo-mirrors : "
 msgstr ""
 
-#: ../yumcommands.py:1000
+#: ../yumcommands.py:2199
 #, python-format
 msgid "Never (last: %s)"
 msgstr ""
 
-#: ../yumcommands.py:1002
+#: ../yumcommands.py:2201
 #, python-format
 msgid "Instant (last: %s)"
 msgstr ""
 
-#: ../yumcommands.py:1005
+#: ../yumcommands.py:2204
 #, python-format
 msgid "%s second(s) (last: %s)"
 msgstr ""
 
-#: ../yumcommands.py:1007
+#: ../yumcommands.py:2206
 msgid "Repo-expire  : "
 msgstr ""
 
-#: ../yumcommands.py:1010
+#: ../yumcommands.py:2209
 msgid "Repo-exclude : "
 msgstr ""
 
-#: ../yumcommands.py:1014
+#: ../yumcommands.py:2213
 msgid "Repo-include : "
 msgstr ""
 
-#: ../yumcommands.py:1018
+#: ../yumcommands.py:2217
 msgid "Repo-excluded: "
 msgstr ""
 
-#: ../yumcommands.py:1022
+#: ../yumcommands.py:2221
 msgid "Repo-filename: "
 msgstr ""
 
 #. Work out the first (id) and last (enabled/disalbed/count),
 #. then chop the middle (name)...
-#: ../yumcommands.py:1032 ../yumcommands.py:1061
+#: ../yumcommands.py:2230 ../yumcommands.py:2259
 msgid "repo id"
 msgstr ""
 
-#: ../yumcommands.py:1049 ../yumcommands.py:1050 ../yumcommands.py:1068
+#: ../yumcommands.py:2247 ../yumcommands.py:2248 ../yumcommands.py:2266
 msgid "status"
 msgstr ""
 
-#: ../yumcommands.py:1062
+#: ../yumcommands.py:2260
 msgid "repo name"
 msgstr ""
 
-#: ../yumcommands.py:1099
+#: ../yumcommands.py:2332
 msgid "Display a helpful usage message"
 msgstr ""
 
-#: ../yumcommands.py:1133
+#: ../yumcommands.py:2374
 #, python-format
 msgid "No help available for %s"
 msgstr ""
 
-#: ../yumcommands.py:1138
+#: ../yumcommands.py:2379
 msgid ""
 "\n"
 "\n"
 "aliases: "
 msgstr ""
 
-#: ../yumcommands.py:1140
+#: ../yumcommands.py:2381
 msgid ""
 "\n"
 "\n"
 "alias: "
 msgstr ""
 
-#: ../yumcommands.py:1168
+#: ../yumcommands.py:2466
 msgid "Setting up Reinstall Process"
 msgstr ""
 
-#: ../yumcommands.py:1176
+#: ../yumcommands.py:2478
 msgid "reinstall a package"
 msgstr ""
 
-#: ../yumcommands.py:1195
+#: ../yumcommands.py:2541
 msgid "Setting up Downgrade Process"
 msgstr ""
 
-#: ../yumcommands.py:1202
+#: ../yumcommands.py:2552
 msgid "downgrade a package"
 msgstr ""
 
-#: ../yumcommands.py:1216
+#: ../yumcommands.py:2591
 msgid "Display a version for the machine and/or available repos."
 msgstr ""
 
-#: ../yumcommands.py:1255
+#: ../yumcommands.py:2643
 msgid " Yum version groups:"
 msgstr ""
 
-#: ../yumcommands.py:1265
+#: ../yumcommands.py:2653
 msgid " Group   :"
 msgstr ""
 
-#: ../yumcommands.py:1266
+#: ../yumcommands.py:2654
 msgid " Packages:"
 msgstr ""
 
-#: ../yumcommands.py:1295
+#: ../yumcommands.py:2683
 msgid "Installed:"
 msgstr ""
 
-#: ../yumcommands.py:1303
+#: ../yumcommands.py:2691
 msgid "Group-Installed:"
 msgstr ""
 
-#: ../yumcommands.py:1312
+#: ../yumcommands.py:2700
 msgid "Available:"
 msgstr ""
 
-#: ../yumcommands.py:1321
+#: ../yumcommands.py:2709
 msgid "Group-Available:"
 msgstr ""
 
-#: ../yumcommands.py:1360
+#: ../yumcommands.py:2783
 msgid "Display, or use, the transaction history"
 msgstr ""
 
-#: ../yumcommands.py:1432
+#: ../yumcommands.py:2876 ../yumcommands.py:2880
+msgid "Transactions:"
+msgstr ""
+
+#: ../yumcommands.py:2881
+msgid "Begin time  :"
+msgstr ""
+
+#: ../yumcommands.py:2882
+msgid "End time    :"
+msgstr ""
+
+#: ../yumcommands.py:2883
+msgid "Counts      :"
+msgstr ""
+
+#: ../yumcommands.py:2884
+msgid "  NEVRAC :"
+msgstr ""
+
+#: ../yumcommands.py:2885
+msgid "  NEVRA  :"
+msgstr ""
+
+#: ../yumcommands.py:2886
+msgid "  NA     :"
+msgstr ""
+
+#: ../yumcommands.py:2887
+msgid "  NEVR   :"
+msgstr ""
+
+#: ../yumcommands.py:2888
+msgid "  rpm DB :"
+msgstr ""
+
+#: ../yumcommands.py:2889
+msgid "  yum DB :"
+msgstr ""
+
+#: ../yumcommands.py:2922
 #, python-format
 msgid "Invalid history sub-command, use: %s."
 msgstr ""
 
-#: ../yumcommands.py:1439
+#: ../yumcommands.py:2929
 msgid "You don't have access to the history DB."
 msgstr ""
 
-#: ../yumcommands.py:1487
+#: ../yumcommands.py:3036
 msgid "Check for problems in the rpmdb"
 msgstr ""
 
-#: ../yumcommands.py:1514
+#: ../yumcommands.py:3102
 msgid "load a saved transaction from filename"
 msgstr ""
 
-#: ../yumcommands.py:1518
+#: ../yumcommands.py:3119
 msgid "No saved transaction file specified."
 msgstr ""
 
-#: ../yumcommands.py:1522
+#: ../yumcommands.py:3123
 #, python-format
 msgid "loading transaction from %s"
 msgstr ""
 
-#: ../yumcommands.py:1528
+#: ../yumcommands.py:3129
 #, python-format
 msgid "Transaction loaded from %s with %s members"
 msgstr ""
 
+#: ../yumcommands.py:3169
+msgid "Simple way to swap packages, isntead of using shell"
+msgstr ""
+
+#: ../yumcommands.py:3264
+msgid ""
+"Treat a repo. as a group of packages, so we can install/remove all of them"
+msgstr ""
+
+#: ../yumcommands.py:3341
+#, python-format
+msgid "%d package to update"
+msgid_plural "%d packages to update"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../yumcommands.py:3370
+#, python-format
+msgid "%d package to remove/reinstall"
+msgid_plural "%d packages to remove/reinstall"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../yumcommands.py:3413
+#, python-format
+msgid "%d package to remove/sync"
+msgid_plural "%d packages to remove/sync"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../yumcommands.py:3417
+#, python-format
+msgid "Not a valid sub-command of %s"
+msgstr ""
+
 #. This is mainly for PackageSackError from rpmdb.
 #: ../yummain.py:84
 #, python-format
 msgid " Yum checks failed: %s"
 msgstr ""
 
-#: ../yummain.py:114
-msgid ""
-"Another app is currently holding the yum lock; waiting for it to exit..."
+#: ../yummain.py:98
+msgid "No read/execute access in current directory, moving to /"
 msgstr ""
 
-#: ../yummain.py:120
-msgid "Can't create lock file; exiting"
+#: ../yummain.py:106
+msgid "No getcwd() access in current directory, moving to /"
 msgstr ""
 
 #. Depsolve stage
-#: ../yummain.py:167
+#: ../yummain.py:164
 msgid "Resolving Dependencies"
 msgstr ""
 
-#: ../yummain.py:230
+#: ../yummain.py:227 ../yummain.py:235
 #, python-format
-msgid "Your transaction was saved, rerun it with: yum load-transaction %s"
+msgid ""
+"Your transaction was saved, rerun it with:\n"
+" yum load-transaction %s"
 msgstr ""
 
-#: ../yummain.py:288
+#: ../yummain.py:312
 msgid ""
 "\n"
 "\n"
 "Exiting on user cancel."
 msgstr ""
 
-#: ../yum/depsolve.py:84
+#: ../yum/depsolve.py:127
 msgid "doTsSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/depsolve.py:99
+#: ../yum/depsolve.py:143
 msgid "Setting up TransactionSets before config class is up"
 msgstr ""
 
-#: ../yum/depsolve.py:153
+#: ../yum/depsolve.py:200
 #, python-format
 msgid "Invalid tsflag in config file: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:164
+#: ../yum/depsolve.py:218
 #, python-format
 msgid "Searching pkgSack for dep: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:207
+#: ../yum/depsolve.py:269
 #, python-format
 msgid "Member: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:221 ../yum/depsolve.py:793
+#: ../yum/depsolve.py:283 ../yum/depsolve.py:937
 #, python-format
 msgid "%s converted to install"
 msgstr ""
 
-#: ../yum/depsolve.py:233
+#: ../yum/depsolve.py:295
 #, python-format
 msgid "Adding Package %s in mode %s"
 msgstr ""
 
-#: ../yum/depsolve.py:249
+#: ../yum/depsolve.py:311
 #, python-format
 msgid "Removing Package %s"
 msgstr ""
 
-#: ../yum/depsolve.py:271
+#: ../yum/depsolve.py:333
 #, python-format
 msgid "%s requires: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:312
+#: ../yum/depsolve.py:374
 #, python-format
 msgid "%s requires %s"
 msgstr ""
 
-#: ../yum/depsolve.py:339
+#: ../yum/depsolve.py:401
 msgid "Needed Require has already been looked up, cheating"
 msgstr ""
 
-#: ../yum/depsolve.py:349
+#: ../yum/depsolve.py:411
 #, python-format
 msgid "Needed Require is not a package name. Looking up: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:357
+#: ../yum/depsolve.py:419
 #, python-format
 msgid "Potential Provider: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:380
+#: ../yum/depsolve.py:442
 #, python-format
 msgid "Mode is %s for provider of %s: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:384
+#: ../yum/depsolve.py:446
 #, python-format
 msgid "Mode for pkg providing %s: %s"
 msgstr ""
@@ -2045,991 +2316,1140 @@ msgstr ""
 #. the thing it needs is being updated or obsoleted away
 #. try to update the requiring package in hopes that all this problem goes
 #. away :(
-#: ../yum/depsolve.py:389 ../yum/depsolve.py:406
+#: ../yum/depsolve.py:451 ../yum/depsolve.py:486
 #, python-format
 msgid "Trying to update %s to resolve dep"
 msgstr ""
 
-#: ../yum/depsolve.py:400 ../yum/depsolve.py:410
+#: ../yum/depsolve.py:480
 #, python-format
 msgid "No update paths found for %s. Failure!"
 msgstr ""
 
-#: ../yum/depsolve.py:416
+#: ../yum/depsolve.py:491
+#, python-format
+msgid "No update paths found for %s. Failure due to requirement: %s!"
+msgstr ""
+
+#: ../yum/depsolve.py:507
+#, python-format
+msgid "Update for %s. Doesn't fix requirement: %s!"
+msgstr ""
+
+#: ../yum/depsolve.py:514
 #, python-format
 msgid "TSINFO: %s package requiring %s marked as erase"
 msgstr ""
 
-#: ../yum/depsolve.py:429
+#: ../yum/depsolve.py:527
 #, python-format
 msgid "TSINFO: Obsoleting %s with %s to resolve dep."
 msgstr ""
 
-#: ../yum/depsolve.py:432
+#: ../yum/depsolve.py:530
 #, python-format
 msgid "TSINFO: Updating %s to resolve dep."
 msgstr ""
 
-#: ../yum/depsolve.py:440
+#: ../yum/depsolve.py:538
 #, python-format
 msgid "Cannot find an update path for dep for: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:471
+#: ../yum/depsolve.py:569
 #, python-format
 msgid "Quick matched %s to require for %s"
 msgstr ""
 
 #. is it already installed?
-#: ../yum/depsolve.py:513
+#: ../yum/depsolve.py:611
 #, python-format
 msgid "%s is in providing packages but it is already installed, removing."
 msgstr ""
 
-#: ../yum/depsolve.py:529
+#: ../yum/depsolve.py:627
 #, python-format
 msgid "Potential resolving package %s has newer instance in ts."
 msgstr ""
 
-#: ../yum/depsolve.py:540
+#: ../yum/depsolve.py:638
 #, python-format
 msgid "Potential resolving package %s has newer instance installed."
 msgstr ""
 
-#: ../yum/depsolve.py:558
+#: ../yum/depsolve.py:656
 #, python-format
 msgid "%s already in ts, skipping this one"
 msgstr ""
 
-#: ../yum/depsolve.py:607
+#: ../yum/depsolve.py:705
 #, python-format
 msgid "TSINFO: Marking %s as update for %s"
 msgstr ""
 
-#: ../yum/depsolve.py:616
+#: ../yum/depsolve.py:714
 #, python-format
 msgid "TSINFO: Marking %s as install for %s"
 msgstr ""
 
-#: ../yum/depsolve.py:727 ../yum/depsolve.py:819
+#: ../yum/depsolve.py:849 ../yum/depsolve.py:967
 msgid "Success - empty transaction"
 msgstr ""
 
-#: ../yum/depsolve.py:767 ../yum/depsolve.py:783
+#: ../yum/depsolve.py:889 ../yum/depsolve.py:927
 msgid "Restarting Loop"
 msgstr ""
 
-#: ../yum/depsolve.py:799
+#: ../yum/depsolve.py:947
 msgid "Dependency Process ending"
 msgstr ""
 
-#: ../yum/depsolve.py:821
+#: ../yum/depsolve.py:969
 msgid "Success - deps resolved"
 msgstr ""
 
-#: ../yum/depsolve.py:845
+#: ../yum/depsolve.py:993
 #, python-format
 msgid "Checking deps for %s"
 msgstr ""
 
-#: ../yum/depsolve.py:931
+#: ../yum/depsolve.py:1082
 #, python-format
 msgid "looking for %s as a requirement of %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1169
+#: ../yum/depsolve.py:1349
 #, python-format
 msgid "Running compare_providers() for %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1196 ../yum/depsolve.py:1202
+#: ../yum/depsolve.py:1376 ../yum/depsolve.py:1382
 #, python-format
 msgid "better arch in po %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1298
+#: ../yum/depsolve.py:1496
 #, python-format
 msgid "%s obsoletes %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1310
+#: ../yum/depsolve.py:1508
 #, python-format
 msgid ""
 "archdist compared %s to %s on %s\n"
 "  Winner: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1318
+#: ../yum/depsolve.py:1516
 #, python-format
 msgid "common sourcerpm %s and %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1322
+#: ../yum/depsolve.py:1520
 #, python-format
 msgid "base package %s is installed for %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1328
+#: ../yum/depsolve.py:1526
 #, python-format
 msgid "common prefix of %s between %s and %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1359
+#: ../yum/depsolve.py:1543
 #, python-format
-msgid "requires minimal: %d"
+msgid "provides vercmp: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1363
+#: ../yum/depsolve.py:1547 ../yum/depsolve.py:1581
 #, python-format
 msgid " Winner: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1368
+#: ../yum/depsolve.py:1577
+#, python-format
+msgid "requires minimal: %d"
+msgstr ""
+
+#: ../yum/depsolve.py:1586
 #, python-format
 msgid " Loser(with %d): %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1384
+#: ../yum/depsolve.py:1602
 #, python-format
 msgid "Best Order: %s"
 msgstr ""
 
-#: ../yum/__init__.py:234
+#: ../yum/__init__.py:274
 msgid "doConfigSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/__init__.py:482
+#: ../yum/__init__.py:553
+#, python-format
+msgid "Skipping unreadable repository %s"
+msgstr ""
+
+#: ../yum/__init__.py:572
 #, python-format
 msgid "Repository %r: Error parsing config: %s"
 msgstr ""
 
-#: ../yum/__init__.py:488
+#: ../yum/__init__.py:578
 #, python-format
 msgid "Repository %r is missing name in configuration, using id"
 msgstr ""
 
-#: ../yum/__init__.py:526
+#: ../yum/__init__.py:618
 msgid "plugins already initialised"
 msgstr ""
 
-#: ../yum/__init__.py:533
+#: ../yum/__init__.py:627
 msgid "doRpmDBSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/__init__.py:544
+#: ../yum/__init__.py:638
 msgid "Reading Local RPMDB"
 msgstr ""
 
-#: ../yum/__init__.py:567
+#: ../yum/__init__.py:668
 msgid "doRepoSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/__init__.py:630
+#: ../yum/__init__.py:722
 msgid "doSackSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/__init__.py:660
+#: ../yum/__init__.py:752
 msgid "Setting up Package Sacks"
 msgstr ""
 
-#: ../yum/__init__.py:705
+#: ../yum/__init__.py:797
 #, python-format
 msgid "repo object for repo %s lacks a _resetSack method\n"
 msgstr ""
 
-#: ../yum/__init__.py:706
+#: ../yum/__init__.py:798
 msgid "therefore this repo cannot be reset.\n"
 msgstr ""
 
-#: ../yum/__init__.py:711
+#: ../yum/__init__.py:806
 msgid "doUpdateSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/__init__.py:723
+#: ../yum/__init__.py:818
 msgid "Building updates object"
 msgstr ""
 
-#: ../yum/__init__.py:765
+#: ../yum/__init__.py:862
 msgid "doGroupSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/__init__.py:790
+#: ../yum/__init__.py:887
 msgid "Getting group metadata"
 msgstr ""
 
-#: ../yum/__init__.py:816
+#: ../yum/__init__.py:915
 #, python-format
 msgid "Adding group file from repository: %s"
 msgstr ""
 
-#: ../yum/__init__.py:827
+#: ../yum/__init__.py:918
+#, python-format
+msgid "Failed to retrieve group file for repository: %s"
+msgstr ""
+
+#: ../yum/__init__.py:924
 #, python-format
 msgid "Failed to add groups file for repository: %s - %s"
 msgstr ""
 
-#: ../yum/__init__.py:833
+#: ../yum/__init__.py:930
 msgid "No Groups Available in any repository"
 msgstr ""
 
-#: ../yum/__init__.py:845
+#: ../yum/__init__.py:945
 msgid "Getting pkgtags metadata"
 msgstr ""
 
-#: ../yum/__init__.py:855
+#: ../yum/__init__.py:955
 #, python-format
 msgid "Adding tags from repository: %s"
 msgstr ""
 
-#: ../yum/__init__.py:866
+#: ../yum/__init__.py:966
 #, python-format
 msgid "Failed to add Pkg Tags for repository: %s - %s"
 msgstr ""
 
-#: ../yum/__init__.py:944
+#: ../yum/__init__.py:1059
 msgid "Importing additional filelist information"
 msgstr ""
 
-#: ../yum/__init__.py:958
+#: ../yum/__init__.py:1077
 #, python-format
 msgid "The program %s%s%s is found in the yum-utils package."
 msgstr ""
 
-#: ../yum/__init__.py:966
+#: ../yum/__init__.py:1094
 msgid ""
 "There are unfinished transactions remaining. You might consider running yum-"
 "complete-transaction first to finish them."
 msgstr ""
 
-#: ../yum/__init__.py:983
+#: ../yum/__init__.py:1111
 msgid "--> Finding unneeded leftover dependencies"
 msgstr ""
 
-#: ../yum/__init__.py:1041
+#: ../yum/__init__.py:1169
 #, python-format
 msgid "Protected multilib versions: %s != %s"
 msgstr ""
 
-#: ../yum/__init__.py:1096
+#. People are confused about protected mutilib ... so give
+#. them a nicer message.
+#: ../yum/__init__.py:1173
+#, python-format
+msgid ""
+" Multilib version problems found. This often means that the root\n"
+"cause is something else and multilib version checking is just\n"
+"pointing out that there is a problem. Eg.:\n"
+"\n"
+"  1. You have an upgrade for %(name)s which is missing some\n"
+"     dependency that another package requires. Yum is trying to\n"
+"     solve this by installing an older version of %(name)s of the\n"
+"     different architecture. If you exclude the bad architecture\n"
+"     yum will tell you what the root cause is (which package\n"
+"     requires what). You can try redoing the upgrade with\n"
+"     --exclude %(name)s.otherarch ... this should give you an error\n"
+"     message showing the root cause of the problem.\n"
+"\n"
+"  2. You have multiple architectures of %(name)s installed, but\n"
+"     yum can only see an upgrade for one of those arcitectures.\n"
+"     If you don't want/need both architectures anymore then you\n"
+"     can remove the one with the missing update and everything\n"
+"     will work.\n"
+"\n"
+"  3. You have duplicate versions of %(name)s installed already.\n"
+"     You can use \"yum check\" to get yum show these errors.\n"
+"\n"
+"...you can also use --setopt=protected_multilib=false to remove\n"
+"this checking, however this is almost never the correct thing to\n"
+"do as something else is very likely to go wrong (often causing\n"
+"much more problems).\n"
+"\n"
+msgstr ""
+
+#: ../yum/__init__.py:1257
 #, python-format
 msgid "Trying to remove \"%s\", which is protected"
 msgstr ""
 
-#: ../yum/__init__.py:1217
+#: ../yum/__init__.py:1378
 msgid ""
 "\n"
 "Packages skipped because of dependency problems:"
 msgstr ""
 
-#: ../yum/__init__.py:1221
+#: ../yum/__init__.py:1382
 #, python-format
 msgid "    %s from %s"
 msgstr ""
 
 #. FIXME: _N()
-#: ../yum/__init__.py:1391
+#: ../yum/__init__.py:1556
 #, python-format
 msgid "** Found %d pre-existing rpmdb problem(s), 'yum check' output follows:"
 msgstr ""
 
-#: ../yum/__init__.py:1395
+#: ../yum/__init__.py:1560
 msgid "Warning: RPMDB altered outside of yum."
 msgstr ""
 
-#: ../yum/__init__.py:1407
+#: ../yum/__init__.py:1572
 msgid "missing requires"
 msgstr ""
 
-#: ../yum/__init__.py:1408
+#: ../yum/__init__.py:1573
 msgid "installed conflict"
 msgstr ""
 
-#: ../yum/__init__.py:1525
+#: ../yum/__init__.py:1709
 msgid ""
 "Warning: scriptlet or other non-fatal errors occurred during transaction."
 msgstr ""
 
-#: ../yum/__init__.py:1535
+#: ../yum/__init__.py:1719
 msgid "Transaction couldn't start:"
 msgstr ""
 
 #. should this be 'to_unicoded'?
-#: ../yum/__init__.py:1538
+#: ../yum/__init__.py:1722
 msgid "Could not run transaction."
 msgstr ""
 
-#: ../yum/__init__.py:1552
+#: ../yum/__init__.py:1736
 #, python-format
 msgid "Failed to remove transaction file %s"
 msgstr ""
 
 #. maybe a file log here, too
 #. but raising an exception is not going to do any good
-#: ../yum/__init__.py:1590
+#: ../yum/__init__.py:1792
 #, python-format
 msgid "%s was supposed to be installed but is not!"
 msgstr ""
 
 #. maybe a file log here, too
 #. but raising an exception is not going to do any good
-#: ../yum/__init__.py:1651
+#. Note: This actually triggers atm. because we can't
+#. always find the erased txmbr to set it when
+#. we should.
+#: ../yum/__init__.py:1869
 #, python-format
 msgid "%s was supposed to be removed but is not!"
 msgstr ""
 
-#: ../yum/__init__.py:1768
+#. Another copy seems to be running.
+#: ../yum/__init__.py:2004
 #, python-format
-msgid "Could not open lock %s: %s"
+msgid "Existing lock %s: another copy is running as pid %s."
 msgstr ""
 
 #. Whoa. What the heck happened?
-#: ../yum/__init__.py:1785
+#: ../yum/__init__.py:2053
 #, python-format
-msgid "Unable to check if PID %s is active"
+msgid "Could not create lock at %s: %s "
 msgstr ""
 
-#. Another copy seems to be running.
-#: ../yum/__init__.py:1789
+#: ../yum/__init__.py:2065
 #, python-format
-msgid "Existing lock %s: another copy is running as pid %s."
+msgid "Could not open lock %s: %s"
 msgstr ""
 
+#. The pid doesn't exist
 #. Whoa. What the heck happened?
-#: ../yum/__init__.py:1830
+#: ../yum/__init__.py:2082
 #, python-format
-msgid "Could not create lock at %s: %s "
+msgid "Unable to check if PID %s is active"
 msgstr ""
 
-#: ../yum/__init__.py:1875
+#: ../yum/__init__.py:2132
 #, python-format
 msgid ""
 "Package does not match intended download. Suggestion: run yum "
 "--enablerepo=%s clean metadata"
 msgstr ""
 
-#: ../yum/__init__.py:1891
+#: ../yum/__init__.py:2155
 msgid "Could not perform checksum"
 msgstr ""
 
-#: ../yum/__init__.py:1894
+#: ../yum/__init__.py:2158
 msgid "Package does not match checksum"
 msgstr ""
 
-#: ../yum/__init__.py:1946
+#: ../yum/__init__.py:2222
 #, python-format
 msgid "package fails checksum but caching is enabled for %s"
 msgstr ""
 
-#: ../yum/__init__.py:1949 ../yum/__init__.py:1979
+#: ../yum/__init__.py:2225 ../yum/__init__.py:2268
 #, python-format
 msgid "using local copy of %s"
 msgstr ""
 
-#: ../yum/__init__.py:1991
-#, python-format
-msgid ""
-"Insufficient space in download directory %s\n"
-"    * free   %s\n"
-"    * needed %s"
+#. caller handles errors
+#: ../yum/__init__.py:2342
+msgid "exiting because --downloadonly specified"
 msgstr ""
 
-#: ../yum/__init__.py:2052
+#: ../yum/__init__.py:2371
 msgid "Header is not complete."
 msgstr ""
 
-#: ../yum/__init__.py:2089
+#: ../yum/__init__.py:2411
 #, python-format
 msgid ""
 "Header not in local cache and caching-only mode enabled. Cannot download %s"
 msgstr ""
 
-#: ../yum/__init__.py:2147
+#: ../yum/__init__.py:2471
 #, python-format
 msgid "Public key for %s is not installed"
 msgstr ""
 
-#: ../yum/__init__.py:2151
+#: ../yum/__init__.py:2475
 #, python-format
 msgid "Problem opening package %s"
 msgstr ""
 
-#: ../yum/__init__.py:2159
+#: ../yum/__init__.py:2483
 #, python-format
 msgid "Public key for %s is not trusted"
 msgstr ""
 
-#: ../yum/__init__.py:2163
+#: ../yum/__init__.py:2487
 #, python-format
 msgid "Package %s is not signed"
 msgstr ""
 
-#: ../yum/__init__.py:2202
+#: ../yum/__init__.py:2529
 #, python-format
 msgid "Cannot remove %s"
 msgstr ""
 
-#: ../yum/__init__.py:2206
+#: ../yum/__init__.py:2533
 #, python-format
 msgid "%s removed"
 msgstr ""
 
-#: ../yum/__init__.py:2252
+#: ../yum/__init__.py:2594
 #, python-format
 msgid "Cannot remove %s file %s"
 msgstr ""
 
-#: ../yum/__init__.py:2256
+#: ../yum/__init__.py:2598
 #, python-format
 msgid "%s file %s removed"
 msgstr ""
 
-#: ../yum/__init__.py:2258
+#: ../yum/__init__.py:2600
 #, python-format
-msgid "%d %s files removed"
-msgstr ""
+msgid "%d %s file removed"
+msgid_plural "%d %s files removed"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../yum/__init__.py:2327
+#: ../yum/__init__.py:2712
 #, python-format
 msgid "More than one identical match in sack for %s"
 msgstr ""
 
-#: ../yum/__init__.py:2333
+#: ../yum/__init__.py:2718
 #, python-format
 msgid "Nothing matches %s.%s %s:%s-%s from update"
 msgstr ""
 
-#: ../yum/__init__.py:2632
+#: ../yum/__init__.py:3096
 msgid ""
 "searchPackages() will go away in a future version of Yum."
 "                      Use searchGenerator() instead. \n"
 msgstr ""
 
-#: ../yum/__init__.py:2675
+#: ../yum/__init__.py:3149
 #, python-format
-msgid "Searching %d packages"
-msgstr ""
+msgid "Searching %d package"
+msgid_plural "Searching %d packages"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../yum/__init__.py:2679
+#: ../yum/__init__.py:3153
 #, python-format
 msgid "searching package %s"
 msgstr ""
 
-#: ../yum/__init__.py:2691
+#: ../yum/__init__.py:3165
 msgid "searching in file entries"
 msgstr ""
 
-#: ../yum/__init__.py:2698
+#: ../yum/__init__.py:3172
 msgid "searching in provides entries"
 msgstr ""
 
-#: ../yum/__init__.py:2777
+#: ../yum/__init__.py:3369
 msgid "No group data available for configured repositories"
 msgstr ""
 
-#: ../yum/__init__.py:2808 ../yum/__init__.py:2827 ../yum/__init__.py:2858
-#: ../yum/__init__.py:2864 ../yum/__init__.py:2953 ../yum/__init__.py:2957
-#: ../yum/__init__.py:3339
+#: ../yum/__init__.py:3466 ../yum/__init__.py:3500 ../yum/__init__.py:3576
+#: ../yum/__init__.py:3582 ../yum/__init__.py:3719 ../yum/__init__.py:3723
+#: ../yum/__init__.py:4298
 #, python-format
 msgid "No Group named %s exists"
 msgstr ""
 
-#: ../yum/__init__.py:2839 ../yum/__init__.py:2973
+#: ../yum/__init__.py:3512 ../yum/__init__.py:3740
 #, python-format
 msgid "package %s was not marked in group %s"
 msgstr ""
 
-#: ../yum/__init__.py:2887
+#. (upgrade and igroup_data[pkg] == 'available')):
+#: ../yum/__init__.py:3622
+#, python-format
+msgid "Skipping package %s from group %s"
+msgstr ""
+
+#: ../yum/__init__.py:3628
 #, python-format
 msgid "Adding package %s from group %s"
 msgstr ""
 
-#: ../yum/__init__.py:2891
+#: ../yum/__init__.py:3649
 #, python-format
 msgid "No package named %s available to be installed"
 msgstr ""
 
-#: ../yum/__init__.py:2941
+#: ../yum/__init__.py:3702
 #, python-format
-msgid "Warning: Group %s does not have any packages."
+msgid "Warning: Group %s does not have any packages to install."
 msgstr ""
 
-#: ../yum/__init__.py:2943
+#: ../yum/__init__.py:3704
 #, python-format
 msgid "Group %s does have %u conditional packages, which may get installed."
 msgstr ""
 
+#: ../yum/__init__.py:3794
+#, python-format
+msgid "Skipping group %s from environment %s"
+msgstr ""
+
 #. This can happen due to excludes after .up has
 #. happened.
-#: ../yum/__init__.py:3002
+#: ../yum/__init__.py:3858
 #, python-format
 msgid "Package tuple %s could not be found in packagesack"
 msgstr ""
 
-#: ../yum/__init__.py:3022
+#: ../yum/__init__.py:3886
 #, python-format
 msgid "Package tuple %s could not be found in rpmdb"
 msgstr ""
 
-#: ../yum/__init__.py:3079 ../yum/__init__.py:3129
+#: ../yum/__init__.py:3949 ../yum/__init__.py:4012
 #, python-format
 msgid "Invalid version flag from: %s"
 msgstr ""
 
-#: ../yum/__init__.py:3096 ../yum/__init__.py:3101
+#: ../yum/__init__.py:3973 ../yum/__init__.py:3979 ../yum/__init__.py:4036
+#: ../yum/__init__.py:4042
 #, python-format
 msgid "No Package found for %s"
 msgstr ""
 
-#: ../yum/__init__.py:3401
+#: ../yum/__init__.py:4245 ../yum/__init__.py:4274
+#, python-format
+msgid "Warning: Environment Group %s does not exist."
+msgstr ""
+
+#: ../yum/__init__.py:4397
+#, python-format
+msgid "Package: %s - can't co-install with %s"
+msgstr ""
+
+#: ../yum/__init__.py:4437
 msgid "Package Object was not a package object instance"
 msgstr ""
 
-#: ../yum/__init__.py:3405
+#: ../yum/__init__.py:4441
 msgid "Nothing specified to install"
 msgstr ""
 
-#: ../yum/__init__.py:3424 ../yum/__init__.py:4283
+#: ../yum/__init__.py:4465 ../yum/__init__.py:5410
 #, python-format
 msgid "Checking for virtual provide or file-provide for %s"
 msgstr ""
 
-#: ../yum/__init__.py:3430 ../yum/__init__.py:3775 ../yum/__init__.py:3969
-#: ../yum/__init__.py:4289
-#, python-format
-msgid "No Match for argument: %s"
-msgstr ""
-
-#: ../yum/__init__.py:3507
+#: ../yum/__init__.py:4542
 #, python-format
 msgid "Package %s installed and not available"
 msgstr ""
 
-#: ../yum/__init__.py:3510
+#: ../yum/__init__.py:4545
 msgid "No package(s) available to install"
 msgstr ""
 
-#: ../yum/__init__.py:3522
+#: ../yum/__init__.py:4557
 #, python-format
 msgid "Package: %s  - already in transaction set"
 msgstr ""
 
-#: ../yum/__init__.py:3550
+#: ../yum/__init__.py:4589
 #, python-format
 msgid "Package %s is obsoleted by %s which is already installed"
 msgstr ""
 
-#: ../yum/__init__.py:3555
+#: ../yum/__init__.py:4594
 #, python-format
 msgid ""
 "Package %s is obsoleted by %s, but obsoleting package does not provide for "
 "requirements"
 msgstr ""
 
-#: ../yum/__init__.py:3558
+#: ../yum/__init__.py:4597
 #, python-format
 msgid "Package %s is obsoleted by %s, trying to install %s instead"
 msgstr ""
 
-#: ../yum/__init__.py:3566
+#: ../yum/__init__.py:4605
 #, python-format
 msgid "Package %s already installed and latest version"
 msgstr ""
 
-#: ../yum/__init__.py:3580
+#: ../yum/__init__.py:4619
 #, python-format
 msgid "Package matching %s already installed. Checking for update."
 msgstr ""
 
 #. update everything (the easy case)
-#: ../yum/__init__.py:3684
+#: ../yum/__init__.py:4751
 msgid "Updating Everything"
 msgstr ""
 
-#: ../yum/__init__.py:3708 ../yum/__init__.py:3849 ../yum/__init__.py:3879
-#: ../yum/__init__.py:3915
+#: ../yum/__init__.py:4775 ../yum/__init__.py:4930 ../yum/__init__.py:4975
+#: ../yum/__init__.py:5011
 #, python-format
 msgid "Not Updating Package that is already obsoleted: %s.%s %s:%s-%s"
 msgstr ""
 
-#: ../yum/__init__.py:3753 ../yum/__init__.py:3965
+#: ../yum/__init__.py:4830 ../yum/__init__.py:5072
 #, python-format
 msgid "%s"
 msgstr ""
 
-#: ../yum/__init__.py:3838
+#: ../yum/__init__.py:4854 ../yum/__init__.py:5080 ../yum/__init__.py:5416
+#, python-format
+msgid "No Match for argument: %s"
+msgstr ""
+
+#: ../yum/__init__.py:4872
+#, python-format
+msgid "No package matched to upgrade: %s"
+msgstr ""
+
+#: ../yum/__init__.py:4919
 #, python-format
 msgid "Package is already obsoleted: %s.%s %s:%s-%s"
 msgstr ""
 
-#: ../yum/__init__.py:3874
+#: ../yum/__init__.py:4970
 #, python-format
 msgid "Not Updating Package that is obsoleted: %s"
 msgstr ""
 
-#: ../yum/__init__.py:3883 ../yum/__init__.py:3919
+#: ../yum/__init__.py:4979 ../yum/__init__.py:5015
 #, python-format
 msgid "Not Updating Package that is already updated: %s.%s %s:%s-%s"
 msgstr ""
 
-#: ../yum/__init__.py:3982
-msgid "No package matched to remove"
+#: ../yum/__init__.py:5093
+#, python-format
+msgid "No package matched to remove: %s"
 msgstr ""
 
-#: ../yum/__init__.py:3988
+#: ../yum/__init__.py:5099
 #, python-format
 msgid "Skipping the running kernel: %s"
 msgstr ""
 
-#: ../yum/__init__.py:3994
+#: ../yum/__init__.py:5105
 #, python-format
 msgid "Removing %s from the transaction"
 msgstr ""
 
-#: ../yum/__init__.py:4029
+#: ../yum/__init__.py:5142
 #, python-format
 msgid "Cannot open: %s. Skipping."
 msgstr ""
 
-#: ../yum/__init__.py:4032 ../yum/__init__.py:4150 ../yum/__init__.py:4226
+#: ../yum/__init__.py:5145 ../yum/__init__.py:5262 ../yum/__init__.py:5347
 #, python-format
 msgid "Examining %s: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4036
+#: ../yum/__init__.py:5149
 #, python-format
 msgid "Cannot localinstall deltarpm: %s. Skipping."
 msgstr ""
 
-#: ../yum/__init__.py:4045 ../yum/__init__.py:4153 ../yum/__init__.py:4229
+#: ../yum/__init__.py:5158 ../yum/__init__.py:5265 ../yum/__init__.py:5350
 #, python-format
 msgid ""
 "Cannot add package %s to transaction. Not a compatible architecture: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4051
+#: ../yum/__init__.py:5164
 #, python-format
 msgid "Cannot install package %s. It is obsoleted by installed package %s"
 msgstr ""
 
-#: ../yum/__init__.py:4059
+#: ../yum/__init__.py:5172
 #, python-format
 msgid ""
 "Package %s not installed, cannot update it. Run yum install to install it "
 "instead."
 msgstr ""
 
-#: ../yum/__init__.py:4078 ../yum/__init__.py:4085
+#: ../yum/__init__.py:5191 ../yum/__init__.py:5198
 #, python-format
 msgid ""
 "Package %s.%s not installed, cannot update it. Run yum install to install it"
 " instead."
 msgstr ""
 
-#: ../yum/__init__.py:4094 ../yum/__init__.py:4158 ../yum/__init__.py:4234
+#: ../yum/__init__.py:5207 ../yum/__init__.py:5270 ../yum/__init__.py:5355
 #, python-format
 msgid "Excluding %s"
 msgstr ""
 
-#: ../yum/__init__.py:4099
+#: ../yum/__init__.py:5212
 #, python-format
 msgid "Marking %s to be installed"
 msgstr ""
 
-#: ../yum/__init__.py:4105
+#: ../yum/__init__.py:5218
 #, python-format
 msgid "Marking %s as an update to %s"
 msgstr ""
 
-#: ../yum/__init__.py:4112
+#: ../yum/__init__.py:5225
 #, python-format
 msgid "%s: does not update installed package."
 msgstr ""
 
-#: ../yum/__init__.py:4147 ../yum/__init__.py:4223
+#: ../yum/__init__.py:5259 ../yum/__init__.py:5344
 #, python-format
 msgid "Cannot open file: %s. Skipping."
 msgstr ""
 
-#: ../yum/__init__.py:4177
+#: ../yum/__init__.py:5299
 msgid "Problem in reinstall: no package matched to remove"
 msgstr ""
 
-#: ../yum/__init__.py:4203
+#: ../yum/__init__.py:5325
 #, python-format
 msgid "Problem in reinstall: no package %s matched to install"
 msgstr ""
 
-#: ../yum/__init__.py:4311
+#: ../yum/__init__.py:5438
 msgid "No package(s) available to downgrade"
 msgstr ""
 
-#: ../yum/__init__.py:4319
+#: ../yum/__init__.py:5446
 #, python-format
 msgid "Package %s is allowed multiple installs, skipping"
 msgstr ""
 
-#: ../yum/__init__.py:4365
+#: ../yum/__init__.py:5496
 #, python-format
 msgid "No Match for available package: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4372
+#: ../yum/__init__.py:5506
 #, python-format
 msgid "Only Upgrade available on package: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4442 ../yum/__init__.py:4479
+#: ../yum/__init__.py:5619 ../yum/__init__.py:5686
 #, python-format
 msgid "Failed to downgrade: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4516
+#: ../yum/__init__.py:5636 ../yum/__init__.py:5692
+#, python-format
+msgid "Failed to upgrade: %s"
+msgstr ""
+
+#: ../yum/__init__.py:5725
 #, python-format
 msgid "Retrieving key from %s"
 msgstr ""
 
-#: ../yum/__init__.py:4534
+#: ../yum/__init__.py:5743
 msgid "GPG key retrieval failed: "
 msgstr ""
 
 #. if we decide we want to check, even though the sig failed
 #. here is where we would do that
-#: ../yum/__init__.py:4557
+#: ../yum/__init__.py:5766
 #, python-format
 msgid "GPG key signature on key %s does not match CA Key for repo: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4559
+#: ../yum/__init__.py:5768
 msgid "GPG key signature verified against CA Key(s)"
 msgstr ""
 
-#: ../yum/__init__.py:4567
+#: ../yum/__init__.py:5776
 #, python-format
 msgid "Invalid GPG Key from %s: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4576
+#: ../yum/__init__.py:5785
 #, python-format
 msgid "GPG key parsing failed: key does not have value %s"
 msgstr ""
 
-#: ../yum/__init__.py:4592
+#: ../yum/__init__.py:5801
 #, python-format
 msgid ""
 "Importing %s key 0x%s:\n"
-" Userid : %s\n"
-" Package: %s (%s)\n"
-" From   : %s"
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" Package    : %s (%s)\n"
+" From       : %s"
 msgstr ""
 
-#: ../yum/__init__.py:4600
+#: ../yum/__init__.py:5811
 #, python-format
 msgid ""
 "Importing %s key 0x%s:\n"
-" Userid: \"%s\"\n"
-" From  : %s"
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" From       : %s"
 msgstr ""
 
-#: ../yum/__init__.py:4634
+#: ../yum/__init__.py:5839
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" Failing package is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr ""
+
+#: ../yum/__init__.py:5853
 #, python-format
 msgid "GPG key at %s (0x%s) is already installed"
 msgstr ""
 
-#: ../yum/__init__.py:4671
+#: ../yum/__init__.py:5891
 #, python-format
 msgid "Key import failed (code %d)"
 msgstr ""
 
-#: ../yum/__init__.py:4672 ../yum/__init__.py:4755
+#: ../yum/__init__.py:5893 ../yum/__init__.py:5994
 msgid "Key imported successfully"
 msgstr ""
 
-#: ../yum/__init__.py:4676
+#: ../yum/__init__.py:5897
 msgid "Didn't install any keys"
 msgstr ""
 
-#: ../yum/__init__.py:4680
+#: ../yum/__init__.py:5900
 #, python-format
 msgid ""
 "The GPG keys listed for the \"%s\" repository are already installed but they are not correct for this package.\n"
 "Check that the correct key URLs are configured for this repository."
 msgstr ""
 
-#: ../yum/__init__.py:4689
+#: ../yum/__init__.py:5910
 msgid "Import of key(s) didn't help, wrong key(s)?"
 msgstr ""
 
-#: ../yum/__init__.py:4713
+#: ../yum/__init__.py:5932
+msgid "No"
+msgstr ""
+
+#: ../yum/__init__.py:5934
+msgid "Yes"
+msgstr ""
+
+#: ../yum/__init__.py:5935
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" CA Key: %s\n"
+" Failing repo is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr ""
+
+#: ../yum/__init__.py:5948
 #, python-format
 msgid "GPG key at %s (0x%s) is already imported"
 msgstr ""
 
-#: ../yum/__init__.py:4754
-msgid "Key import failed"
+#: ../yum/__init__.py:5992
+#, python-format
+msgid "Key %s import failed"
 msgstr ""
 
-#: ../yum/__init__.py:4770
+#: ../yum/__init__.py:6009
 #, python-format
 msgid "Didn't install any keys for repo %s"
 msgstr ""
 
-#: ../yum/__init__.py:4774
+#: ../yum/__init__.py:6014
 #, python-format
 msgid ""
 "The GPG keys listed for the \"%s\" repository are already installed but they are not correct.\n"
 "Check that the correct key URLs are configured for this repository."
 msgstr ""
 
-#: ../yum/__init__.py:4924
+#: ../yum/__init__.py:6172
 msgid "Unable to find a suitable mirror."
 msgstr ""
 
-#: ../yum/__init__.py:4926
+#: ../yum/__init__.py:6174
 msgid "Errors were encountered while downloading packages."
 msgstr ""
 
-#: ../yum/__init__.py:4981
+#: ../yum/__init__.py:6229
 #, python-format
 msgid "Please report this error at %s"
 msgstr ""
 
-#: ../yum/__init__.py:4998
+#: ../yum/__init__.py:6246
 msgid "Test Transaction Errors: "
 msgstr ""
 
-#: ../yum/__init__.py:5098
+#: ../yum/__init__.py:6358
 #, python-format
 msgid "Could not set cachedir: %s"
 msgstr ""
 
-#: ../yum/__init__.py:5148 ../yum/__init__.py:5150
+#: ../yum/__init__.py:6420 ../yum/__init__.py:6422
 msgid "Dependencies not solved. Will not save unresolved transaction."
 msgstr ""
 
-#: ../yum/__init__.py:5179 ../yum/__init__.py:5181
+#: ../yum/__init__.py:6455 ../yum/__init__.py:6457
 #, python-format
 msgid "Could not save transaction file %s: %s"
 msgstr ""
 
-#: ../yum/__init__.py:5195
+#: ../yum/__init__.py:6483
 #, python-format
 msgid "Could not access/read saved transaction %s : %s"
 msgstr ""
 
-#: ../yum/__init__.py:5214
-msgid "rpmdb ver mismatched saved transaction version, "
-msgstr ""
-
-#: ../yum/__init__.py:5216
-msgid " ignoring, as requested."
-msgstr ""
-
-#: ../yum/__init__.py:5219 ../yum/__init__.py:5354
-msgid " aborting."
+#: ../yum/__init__.py:6521
+msgid "rpmdb ver mismatched saved transaction version,"
 msgstr ""
 
-#: ../yum/__init__.py:5228
+#: ../yum/__init__.py:6535
 msgid "cannot find tsflags or tsflags not integer."
 msgstr ""
 
-#: ../yum/__init__.py:5267
+#: ../yum/__init__.py:6584
 #, python-format
 msgid "Found txmbr in unknown current state: %s"
 msgstr ""
 
-#: ../yum/__init__.py:5271
+#: ../yum/__init__.py:6588
 #, python-format
 msgid "Could not find txmbr: %s in state %s"
 msgstr ""
 
-#: ../yum/__init__.py:5307 ../yum/__init__.py:5324
+#: ../yum/__init__.py:6625 ../yum/__init__.py:6642
 #, python-format
 msgid "Could not find txmbr: %s from origin: %s"
 msgstr ""
 
-#: ../yum/__init__.py:5349
+#: ../yum/__init__.py:6667
 msgid "Transaction members, relations are missing or ts has been modified,"
 msgstr ""
 
-#: ../yum/__init__.py:5351
+#: ../yum/__init__.py:6670
 msgid " ignoring, as requested. You must redepsolve!"
 msgstr ""
 
+#. Debugging output
+#: ../yum/__init__.py:6738 ../yum/__init__.py:6757
+#, python-format
+msgid "%s has been visited already and cannot be removed."
+msgstr ""
+
+#. Debugging output
+#: ../yum/__init__.py:6741
+#, python-format
+msgid "Examining revdeps of %s"
+msgstr ""
+
+#. Debugging output
+#: ../yum/__init__.py:6762
+#, python-format
+msgid "%s has revdep %s which was user-installed."
+msgstr ""
+
+#: ../yum/__init__.py:6773 ../yum/__init__.py:6779
+#, python-format
+msgid "%s is needed by a package to be installed."
+msgstr ""
+
+#. Debugging output
+#: ../yum/__init__.py:6793
+#, python-format
+msgid "%s has no user-installed revdeps."
+msgstr ""
+
 #. Mostly copied from YumOutput._outKeyValFill()
-#: ../yum/plugins.py:209
+#: ../yum/plugins.py:212
 msgid "Loaded plugins: "
 msgstr ""
 
-#: ../yum/plugins.py:223 ../yum/plugins.py:229
+#: ../yum/plugins.py:226 ../yum/plugins.py:232
 #, python-format
 msgid "No plugin match for: %s"
 msgstr ""
 
-#: ../yum/plugins.py:259
+#: ../yum/plugins.py:262
 #, python-format
 msgid "Not loading \"%s\" plugin, as it is disabled"
 msgstr ""
 
 #. Give full backtrace:
-#: ../yum/plugins.py:271
+#: ../yum/plugins.py:274
 #, python-format
 msgid "Plugin \"%s\" can't be imported"
 msgstr ""
 
-#: ../yum/plugins.py:278
+#: ../yum/plugins.py:281
 #, python-format
 msgid "Plugin \"%s\" doesn't specify required API version"
 msgstr ""
 
-#: ../yum/plugins.py:283
+#: ../yum/plugins.py:286
 #, python-format
 msgid "Plugin \"%s\" requires API %s. Supported API is %s."
 msgstr ""
 
-#: ../yum/plugins.py:316
+#: ../yum/plugins.py:319
 #, python-format
 msgid "Loading \"%s\" plugin"
 msgstr ""
 
-#: ../yum/plugins.py:323
+#: ../yum/plugins.py:326
 #, python-format
 msgid "Two or more plugins with the name \"%s\" exist in the plugin search path"
 msgstr ""
 
-#: ../yum/plugins.py:343
+#: ../yum/plugins.py:346
 #, python-format
 msgid "Configuration file %s not found"
 msgstr ""
 
 #. for
 #. Configuration files for the plugin not found
-#: ../yum/plugins.py:346
+#: ../yum/plugins.py:349
 #, python-format
 msgid "Unable to find configuration file for plugin %s"
 msgstr ""
 
-#: ../yum/plugins.py:508
+#: ../yum/plugins.py:553
 msgid "registration of commands not supported"
 msgstr ""
 
-#: ../yum/rpmsack.py:148
+#: ../yum/rpmsack.py:159
 msgid "has missing requires of"
 msgstr ""
 
-#: ../yum/rpmsack.py:151
+#: ../yum/rpmsack.py:162
 msgid "has installed conflicts"
 msgstr ""
 
-#: ../yum/rpmsack.py:160
+#: ../yum/rpmsack.py:171
 #, python-format
 msgid "%s is a duplicate with %s"
 msgstr ""
 
-#: ../yum/rpmsack.py:168
+#: ../yum/rpmsack.py:179
 #, python-format
 msgid "%s is obsoleted by %s"
 msgstr ""
 
-#: ../yum/rpmsack.py:176
+#: ../yum/rpmsack.py:187
 #, python-format
 msgid "%s provides %s but it cannot be found"
 msgstr ""
@@ -3038,6 +3458,23 @@ msgstr ""
 msgid "Repackaging"
 msgstr ""
 
+#: ../yum/rpmtrans.py:149
+#, python-format
+msgid "Verify: %u/%u: %s"
+msgstr ""
+
+#: ../yum/yumRepo.py:919
+#, python-format
+msgid ""
+"Insufficient space in download directory %s\n"
+"    * free   %s\n"
+"    * needed %s"
+msgstr ""
+
+#: ../yum/yumRepo.py:986
+msgid "Package does not match intended download."
+msgstr ""
+
 #: ../rpmUtils/oldUtils.py:33
 #, python-format
 msgid "Header cannot be opened or does not match %s, %s."
@@ -3066,5 +3503,3 @@ msgstr ""
 #, python-format
 msgid "Error opening rpm %s - error %s"
 msgstr ""
-
-
diff --git a/po/yum.pot b/po/yum.pot
index 97ae91a..27dd693 100644
--- a/po/yum.pot
+++ b/po/yum.pot
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-06-06 10:21-0400\n"
+"POT-Creation-Date: 2013-03-06 16:02-0500\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"
@@ -16,415 +16,493 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=CHARSET\n"
 "Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
 
-#: ../callback.py:48 ../output.py:1037 ../yum/rpmtrans.py:73
+#: ../callback.py:45 ../output.py:1502 ../yum/rpmtrans.py:73
 msgid "Updating"
 msgstr ""
 
-#: ../callback.py:49 ../yum/rpmtrans.py:74
+#: ../callback.py:46 ../yum/rpmtrans.py:74
 msgid "Erasing"
 msgstr ""
 
-#: ../callback.py:50 ../callback.py:51 ../callback.py:53 ../output.py:1036
-#: ../output.py:2218 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
+#: ../callback.py:47 ../callback.py:48 ../callback.py:50 ../output.py:1501
+#: ../output.py:2922 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
 #: ../yum/rpmtrans.py:78
 msgid "Installing"
 msgstr ""
 
-#: ../callback.py:52 ../callback.py:58 ../output.py:1840 ../yum/rpmtrans.py:77
+#: ../callback.py:49 ../callback.py:55 ../output.py:2379 ../yum/rpmtrans.py:77
 msgid "Obsoleted"
 msgstr ""
 
-#: ../callback.py:54 ../output.py:1169 ../output.py:1686 ../output.py:1847
+#: ../callback.py:51 ../output.py:1670 ../output.py:2222 ../output.py:2386
 msgid "Updated"
 msgstr ""
 
-#: ../callback.py:55 ../output.py:1685
+#: ../callback.py:52 ../output.py:2221
 msgid "Erased"
 msgstr ""
 
-#: ../callback.py:56 ../callback.py:57 ../callback.py:59 ../output.py:1167
-#: ../output.py:1685 ../output.py:1687 ../output.py:2190
+#: ../callback.py:53 ../callback.py:54 ../callback.py:56 ../output.py:1668
+#: ../output.py:2221 ../output.py:2223 ../output.py:2894
 msgid "Installed"
 msgstr ""
 
-#: ../callback.py:130
+#: ../callback.py:142
 msgid "No header - huh?"
 msgstr ""
 
-#: ../callback.py:168
+#: ../callback.py:180
 msgid "Repackage"
 msgstr ""
 
-#: ../callback.py:189
+#: ../callback.py:201
 #, python-format
 msgid "Error: invalid output state: %s for %s"
 msgstr ""
 
-#: ../callback.py:212
+#: ../callback.py:224
 #, python-format
 msgid "Erased: %s"
 msgstr ""
 
-#: ../callback.py:217 ../output.py:1038 ../output.py:2193
+#: ../callback.py:229 ../output.py:1503 ../output.py:2897
 msgid "Removing"
 msgstr ""
 
-#: ../callback.py:219 ../yum/rpmtrans.py:79
+#: ../callback.py:231 ../yum/rpmtrans.py:79
 msgid "Cleanup"
 msgstr ""
 
-#: ../cli.py:115
+#: ../cli.py:122
 #, python-format
 msgid "Command \"%s\" already defined"
 msgstr ""
 
-#: ../cli.py:127
+#: ../cli.py:137
 msgid "Setting up repositories"
 msgstr ""
 
-#: ../cli.py:138
+#: ../cli.py:148
 msgid "Reading repository metadata in from local files"
 msgstr ""
 
-#: ../cli.py:245 ../utils.py:281
+#: ../cli.py:273 ../cli.py:277
 #, python-format
-msgid "Config Error: %s"
+msgid "Config error: %s"
 msgstr ""
 
-#: ../cli.py:248 ../cli.py:1584 ../utils.py:284
+#: ../cli.py:280 ../cli.py:2211
 #, python-format
-msgid "Options Error: %s"
+msgid "Options error: %s"
 msgstr ""
 
-#: ../cli.py:293
+#: ../cli.py:327
 #, python-format
 msgid "  Installed: %s-%s at %s"
 msgstr ""
 
-#: ../cli.py:295
+#: ../cli.py:329
 #, python-format
 msgid "  Built    : %s at %s"
 msgstr ""
 
-#: ../cli.py:297
+#: ../cli.py:331
 #, python-format
 msgid "  Committed: %s at %s"
 msgstr ""
 
-#: ../cli.py:336
+#: ../cli.py:372
 msgid "You need to give some command"
 msgstr ""
 
-#: ../cli.py:350
+#: ../cli.py:386
 #, python-format
 msgid "No such command: %s. Please use %s --help"
 msgstr ""
 
-#: ../cli.py:400
+#: ../cli.py:444
 msgid "Disk Requirements:\n"
 msgstr ""
 
-#: ../cli.py:402
+#: ../cli.py:446
 #, python-format
 msgid "  At least %dMB more space needed on the %s filesystem.\n"
-msgstr ""
+msgid_plural "  At least %dMB more space needed on the %s filesystem.\n"
+msgstr[0] ""
+msgstr[1] ""
 
 #. TODO: simplify the dependency errors?
 #. Fixup the summary
-#: ../cli.py:407
+#: ../cli.py:451
 msgid ""
 "Error Summary\n"
 "-------------\n"
 msgstr ""
 
-#: ../cli.py:450
+#: ../cli.py:472
+msgid "Can't create lock file; exiting"
+msgstr ""
+
+#: ../cli.py:479
+msgid ""
+"Another app is currently holding the yum lock; exiting as configured by "
+"exit_on_lock"
+msgstr ""
+
+#: ../cli.py:532
 msgid "Trying to run the transaction but nothing to do. Exiting."
 msgstr ""
 
-#: ../cli.py:497
-msgid "Exiting on user Command"
+#: ../cli.py:577
+msgid "future rpmdb ver mismatched saved transaction version,"
+msgstr ""
+
+#: ../cli.py:579 ../yum/__init__.py:6601
+msgid " ignoring, as requested."
+msgstr ""
+
+#: ../cli.py:582 ../yum/__init__.py:6604 ../yum/__init__.py:6751
+msgid " aborting."
 msgstr ""
 
-#: ../cli.py:501
-msgid "Downloading Packages:"
+#: ../cli.py:588
+msgid "Exiting on user command"
 msgstr ""
 
-#: ../cli.py:506
-msgid "Error Downloading Packages:\n"
+#: ../cli.py:592
+msgid "Downloading packages:"
 msgstr ""
 
-#: ../cli.py:525 ../yum/__init__.py:4967
-msgid "Running Transaction Check"
+#: ../cli.py:597
+msgid "Error downloading packages:\n"
 msgstr ""
 
-#: ../cli.py:534 ../yum/__init__.py:4976
+#: ../cli.py:616
+msgid "Running transaction check"
+msgstr ""
+
+#: ../cli.py:626 ../yum/__init__.py:6291
 msgid "ERROR You need to update rpm to handle:"
 msgstr ""
 
-#: ../cli.py:536 ../yum/__init__.py:4979
+#: ../cli.py:628 ../yum/__init__.py:6294
 msgid "ERROR with transaction check vs depsolve:"
 msgstr ""
 
-#: ../cli.py:542
+#: ../cli.py:635
 msgid "RPM needs to be updated"
 msgstr ""
 
-#: ../cli.py:543
+#: ../cli.py:639
 #, python-format
 msgid "Please report this error in %s"
 msgstr ""
 
-#: ../cli.py:549
-msgid "Running Transaction Test"
+#: ../cli.py:645
+msgid "Running transaction test"
 msgstr ""
 
-#: ../cli.py:561
-msgid "Transaction Check Error:\n"
+#: ../cli.py:657
+msgid "Transaction check error:\n"
 msgstr ""
 
-#: ../cli.py:568
-msgid "Transaction Test Succeeded"
+#: ../cli.py:664
+msgid "Transaction test succeeded"
 msgstr ""
 
-#: ../cli.py:600
-msgid "Running Transaction"
+#: ../cli.py:696
+msgid "Running transaction"
 msgstr ""
 
-#: ../cli.py:630
+#: ../cli.py:729
 msgid ""
 "Refusing to automatically import keys when running unattended.\n"
 "Use \"-y\" to override."
 msgstr ""
 
-#: ../cli.py:649 ../cli.py:692
+#: ../cli.py:748 ../cli.py:791
 msgid "  * Maybe you meant: "
 msgstr ""
 
-#: ../cli.py:675 ../cli.py:683
+#: ../cli.py:774 ../cli.py:782
 #, python-format
 msgid "Package(s) %s%s%s available, but not installed."
 msgstr ""
 
-#: ../cli.py:689 ../cli.py:722 ../cli.py:908
+#: ../cli.py:788 ../cli.py:896 ../cli.py:1163
 #, python-format
 msgid "No package %s%s%s available."
 msgstr ""
 
-#: ../cli.py:729 ../cli.py:973
-msgid "Package(s) to install"
+#: ../cli.py:876 ../cli.py:886 ../cli.py:1106 ../cli.py:1116
+#, python-format
+msgid "Bad %s argument %s."
 msgstr ""
 
-#: ../cli.py:732 ../cli.py:733 ../cli.py:914 ../cli.py:948 ../cli.py:974
-#: ../yumcommands.py:190
+#: ../cli.py:905 ../yumcommands.py:3464
+#, python-format
+msgid "%d package to install"
+msgid_plural "%d packages to install"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../cli.py:908 ../cli.py:909 ../cli.py:1174 ../cli.py:1175 ../cli.py:1229
+#: ../cli.py:1230 ../cli.py:1265 ../yumcommands.py:325 ../yumcommands.py:3618
 msgid "Nothing to do"
 msgstr ""
 
-#: ../cli.py:767
+#: ../cli.py:958
 #, python-format
-msgid "%d packages marked for Update"
-msgstr ""
+msgid "%d package marked for update"
+msgid_plural "%d packages marked for update"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:770
-msgid "No Packages marked for Update"
+#: ../cli.py:960
+msgid "No packages marked for update"
 msgstr ""
 
-#: ../cli.py:866
+#: ../cli.py:1072
 #, python-format
-msgid "%d packages marked for Distribution Synchronization"
-msgstr ""
+msgid "%d package marked for distribution synchronization"
+msgid_plural "%d packages marked for distribution synchronization"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:869
-msgid "No Packages marked for Distribution Synchronization"
+#: ../cli.py:1074
+msgid "No packages marked for distribution synchronization"
 msgstr ""
 
-#: ../cli.py:885
+#: ../cli.py:1129
 #, python-format
-msgid "%d packages marked for removal"
-msgstr ""
+msgid "%d package marked for removal"
+msgid_plural "%d packages marked for removal"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:888
+#: ../cli.py:1131
 msgid "No Packages marked for removal"
 msgstr ""
 
-#: ../cli.py:913
-msgid "Package(s) to downgrade"
-msgstr ""
+#: ../cli.py:1171
+#, python-format
+msgid "%d package to downgrade"
+msgid_plural "%d packages to downgrade"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:938
+#: ../cli.py:1212
 #, python-format
 msgid " (from %s)"
 msgstr ""
 
-#: ../cli.py:939
+#: ../cli.py:1213
 #, python-format
 msgid "Installed package %s%s%s%s not available."
 msgstr ""
 
-#: ../cli.py:947
-msgid "Package(s) to reinstall"
+#: ../cli.py:1226 ../yumcommands.py:3494 ../yumcommands.py:3529
+#, python-format
+msgid "%d package to reinstall"
+msgid_plural "%d packages to reinstall"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../cli.py:1251
+msgid "No packages provided"
 msgstr ""
 
-#: ../cli.py:960
-msgid "No Packages Provided"
+#: ../cli.py:1264
+msgid "Package(s) to install"
 msgstr ""
 
-#: ../cli.py:1058
+#: ../cli.py:1372
 #, python-format
-msgid "N/S Matched: %s"
+msgid "N/S matched: %s"
 msgstr ""
 
-#: ../cli.py:1075
+#: ../cli.py:1389
 #, python-format
 msgid "  Name and summary matches %sonly%s, use \"search all\" for everything."
 msgstr ""
 
-#: ../cli.py:1077
+#: ../cli.py:1391
 #, python-format
 msgid ""
 "  Full name and summary matches %sonly%s, use \"search all\" for everything."
 msgstr ""
 
-#: ../cli.py:1095
+#: ../cli.py:1409
 #, python-format
 msgid "Matched: %s"
 msgstr ""
 
-#: ../cli.py:1102
+#: ../cli.py:1416
 #, python-format
 msgid ""
 "  Name and summary matches %smostly%s, use \"search all\" for everything."
 msgstr ""
 
-#: ../cli.py:1106
+#: ../cli.py:1420
 #, python-format
 msgid "Warning: No matches found for: %s"
 msgstr ""
 
-#: ../cli.py:1109
-msgid "No Matches found"
+#: ../cli.py:1423
+msgid "No matches found"
 msgstr ""
 
-#: ../cli.py:1174
+#: ../cli.py:1541
 #, python-format
-msgid "No Package Found for %s"
+msgid ""
+"Error: No packages found for:\n"
+"  %s"
 msgstr ""
 
-#: ../cli.py:1184
+#: ../cli.py:1577
 msgid "Cleaning repos: "
 msgstr ""
 
-#: ../cli.py:1189
-msgid "Cleaning up Everything"
+#: ../cli.py:1582
+msgid "Cleaning up everything"
 msgstr ""
 
-#: ../cli.py:1205
-msgid "Cleaning up Headers"
+#: ../cli.py:1598
+msgid "Cleaning up headers"
 msgstr ""
 
-#: ../cli.py:1208
-msgid "Cleaning up Packages"
+#: ../cli.py:1601
+msgid "Cleaning up packages"
 msgstr ""
 
-#: ../cli.py:1211
+#: ../cli.py:1604
 msgid "Cleaning up xml metadata"
 msgstr ""
 
-#: ../cli.py:1214
+#: ../cli.py:1607
 msgid "Cleaning up database cache"
 msgstr ""
 
-#: ../cli.py:1217
+#: ../cli.py:1610
 msgid "Cleaning up expire-cache metadata"
 msgstr ""
 
-#: ../cli.py:1220
+#: ../cli.py:1613
 msgid "Cleaning up cached rpmdb data"
 msgstr ""
 
-#: ../cli.py:1223
+#: ../cli.py:1616
 msgid "Cleaning up plugins"
 msgstr ""
 
-#: ../cli.py:1247
-#, python-format
-msgid "Warning: No groups match: %s"
+#: ../cli.py:1732
+msgid "Installed environment groups:"
 msgstr ""
 
-#: ../cli.py:1264
-msgid "Installed Groups:"
+#: ../cli.py:1733
+msgid "Available environment groups:"
 msgstr ""
 
-#: ../cli.py:1270
-msgid "Installed Language Groups:"
+#: ../cli.py:1740
+msgid "Installed groups:"
 msgstr ""
 
-#: ../cli.py:1276
+#: ../cli.py:1747
+msgid "Installed language groups:"
+msgstr ""
+
+#: ../cli.py:1754
 msgid "Available Groups:"
 msgstr ""
 
-#: ../cli.py:1282
-msgid "Available Language Groups:"
+#: ../cli.py:1761
+msgid "Available language groups:"
+msgstr ""
+
+#: ../cli.py:1764
+#, python-format
+msgid "Warning: no environments/groups match: %s"
 msgstr ""
 
-#: ../cli.py:1285
+#: ../cli.py:1768
 msgid "Done"
 msgstr ""
 
-#: ../cli.py:1296 ../cli.py:1314 ../cli.py:1320 ../yum/__init__.py:3313
+#: ../cli.py:1823
 #, python-format
-msgid "Warning: Group %s does not exist."
+msgid "Warning: group/environment %s does not exist."
+msgstr ""
+
+#: ../cli.py:1864
+#, python-format
+msgid "Warning: environment %s does not exist."
 msgstr ""
 
-#: ../cli.py:1324
+#: ../cli.py:1878 ../cli.py:1884
+#, python-format
+msgid "Warning: group %s does not exist."
+msgstr ""
+
+#: ../cli.py:1888
 msgid "No packages in any requested group available to install or update"
 msgstr ""
 
-#: ../cli.py:1326
+#: ../cli.py:1890
 #, python-format
-msgid "%d Package(s) to Install"
+msgid "%d package to Install"
+msgid_plural "%d packages to Install"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../cli.py:1924
+#, python-format
+msgid "No environment named %s exists"
 msgstr ""
 
-#: ../cli.py:1336 ../yum/__init__.py:3325
+#: ../cli.py:1940 ../yum/__init__.py:4336
 #, python-format
 msgid "No group named %s exists"
 msgstr ""
 
-#: ../cli.py:1342
+#: ../cli.py:1950
 msgid "No packages to remove from groups"
 msgstr ""
 
-#: ../cli.py:1344
+#: ../cli.py:1952 ../yumcommands.py:3550
 #, python-format
-msgid "%d Package(s) to remove"
-msgstr ""
+msgid "%d package to remove"
+msgid_plural "%d packages to remove"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../cli.py:1386
+#: ../cli.py:1993
 #, python-format
 msgid "Package %s is already installed, skipping"
 msgstr ""
 
-#: ../cli.py:1397
+#: ../cli.py:2004
 #, python-format
 msgid "Discarding non-comparable pkg %s.%s"
 msgstr ""
 
 #. we've not got any installed that match n or n+a
-#: ../cli.py:1423
+#: ../cli.py:2030
 #, python-format
 msgid "No other %s installed, adding to list for potential install"
 msgstr ""
 
-#: ../cli.py:1443
+#: ../cli.py:2050
 msgid "Plugin Options"
 msgstr ""
 
-#: ../cli.py:1451
+#: ../cli.py:2062
 #, python-format
 msgid "Command line error: %s"
 msgstr ""
 
-#: ../cli.py:1467
+#: ../cli.py:2084
 #, python-format
 msgid ""
 "\n"
@@ -432,438 +510,484 @@ msgid ""
 "%s: %s option requires an argument"
 msgstr ""
 
-#: ../cli.py:1521
+#: ../cli.py:2152
 msgid "--color takes one of: auto, always, never"
 msgstr ""
 
 #. We have a relative installroot ... haha
-#: ../cli.py:1596
+#: ../cli.py:2223
 #, python-format
 msgid "--installroot must be an absolute path: %s"
 msgstr ""
 
-#: ../cli.py:1642
+#: ../cli.py:2277
 msgid "show this help message and exit"
 msgstr ""
 
-#: ../cli.py:1646
+#: ../cli.py:2281
 msgid "be tolerant of errors"
 msgstr ""
 
-#: ../cli.py:1649
+#: ../cli.py:2284
 msgid "run entirely from system cache, don't update cache"
 msgstr ""
 
-#: ../cli.py:1652
+#: ../cli.py:2287
 msgid "config file location"
 msgstr ""
 
-#: ../cli.py:1655
+#: ../cli.py:2290
 msgid "maximum command wait time"
 msgstr ""
 
-#: ../cli.py:1657
+#: ../cli.py:2292
 msgid "debugging output level"
 msgstr ""
 
-#: ../cli.py:1661
+#: ../cli.py:2296
 msgid "show duplicates, in repos, in list/search commands"
 msgstr ""
 
-#: ../cli.py:1663
+#: ../cli.py:2301
 msgid "error output level"
 msgstr ""
 
-#: ../cli.py:1666
+#: ../cli.py:2304
 msgid "debugging output level for rpm"
 msgstr ""
 
-#: ../cli.py:1669
+#: ../cli.py:2307
 msgid "quiet operation"
 msgstr ""
 
-#: ../cli.py:1671
+#: ../cli.py:2309
 msgid "verbose operation"
 msgstr ""
 
-#: ../cli.py:1673
+#: ../cli.py:2311
 msgid "answer yes for all questions"
 msgstr ""
 
-#: ../cli.py:1675
+#: ../cli.py:2313
+msgid "answer no for all questions"
+msgstr ""
+
+#: ../cli.py:2317
 msgid "show Yum version and exit"
 msgstr ""
 
-#: ../cli.py:1676
+#: ../cli.py:2318
 msgid "set install root"
 msgstr ""
 
-#: ../cli.py:1680
+#: ../cli.py:2322
 msgid "enable one or more repositories (wildcards allowed)"
 msgstr ""
 
-#: ../cli.py:1684
+#: ../cli.py:2326
 msgid "disable one or more repositories (wildcards allowed)"
 msgstr ""
 
-#: ../cli.py:1687
+#: ../cli.py:2329
 msgid "exclude package(s) by name or glob"
 msgstr ""
 
-#: ../cli.py:1689
+#: ../cli.py:2331
 msgid "disable exclude from main, for a repo or for everything"
 msgstr ""
 
-#: ../cli.py:1692
+#: ../cli.py:2334
 msgid "enable obsoletes processing during updates"
 msgstr ""
 
-#: ../cli.py:1694
+#: ../cli.py:2336
 msgid "disable Yum plugins"
 msgstr ""
 
-#: ../cli.py:1696
+#: ../cli.py:2338
 msgid "disable gpg signature checking"
 msgstr ""
 
-#: ../cli.py:1698
+#: ../cli.py:2340
 msgid "disable plugins by name"
 msgstr ""
 
-#: ../cli.py:1701
+#: ../cli.py:2343
 msgid "enable plugins by name"
 msgstr ""
 
-#: ../cli.py:1704
+#: ../cli.py:2346
 msgid "skip packages with depsolving problems"
 msgstr ""
 
-#: ../cli.py:1706
+#: ../cli.py:2348
 msgid "control whether color is used"
 msgstr ""
 
-#: ../cli.py:1708
+#: ../cli.py:2350
 msgid "set value of $releasever in yum config and repo files"
 msgstr ""
 
-#: ../cli.py:1710
+#: ../cli.py:2352
+msgid "don't update, just download"
+msgstr ""
+
+#: ../cli.py:2354
+msgid "specifies an alternate directory to store packages"
+msgstr ""
+
+#: ../cli.py:2356
 msgid "set arbitrary config and repo options"
 msgstr ""
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Jan"
 msgstr ""
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Feb"
 msgstr ""
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Mar"
 msgstr ""
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Apr"
 msgstr ""
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "May"
 msgstr ""
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Jun"
 msgstr ""
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Jul"
 msgstr ""
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Aug"
 msgstr ""
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Sep"
 msgstr ""
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Oct"
 msgstr ""
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Nov"
 msgstr ""
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Dec"
 msgstr ""
 
-#: ../output.py:318
+#: ../output.py:473
 msgid "Trying other mirror."
 msgstr ""
 
-#: ../output.py:581
+#: ../output.py:816
 #, python-format
 msgid "Name        : %s%s%s"
 msgstr ""
 
-#: ../output.py:582
+#: ../output.py:817
 #, python-format
 msgid "Arch        : %s"
 msgstr ""
 
-#: ../output.py:584
+#: ../output.py:819
 #, python-format
 msgid "Epoch       : %s"
 msgstr ""
 
-#: ../output.py:585
+#: ../output.py:820
 #, python-format
 msgid "Version     : %s"
 msgstr ""
 
-#: ../output.py:586
+#: ../output.py:821
 #, python-format
 msgid "Release     : %s"
 msgstr ""
 
-#: ../output.py:587
+#: ../output.py:822
 #, python-format
 msgid "Size        : %s"
 msgstr ""
 
-#: ../output.py:588 ../output.py:900
+#: ../output.py:823 ../output.py:1329
 #, python-format
 msgid "Repo        : %s"
 msgstr ""
 
-#: ../output.py:590
+#: ../output.py:825
 #, python-format
 msgid "From repo   : %s"
 msgstr ""
 
-#: ../output.py:592
+#: ../output.py:827
 #, python-format
 msgid "Committer   : %s"
 msgstr ""
 
-#: ../output.py:593
+#: ../output.py:828
 #, python-format
 msgid "Committime  : %s"
 msgstr ""
 
-#: ../output.py:594
+#: ../output.py:829
 #, python-format
 msgid "Buildtime   : %s"
 msgstr ""
 
-#: ../output.py:596
+#: ../output.py:831
 #, python-format
 msgid "Install time: %s"
 msgstr ""
 
-#: ../output.py:604
+#: ../output.py:839
 #, python-format
 msgid "Installed by: %s"
 msgstr ""
 
-#: ../output.py:611
+#: ../output.py:846
 #, python-format
 msgid "Changed by  : %s"
 msgstr ""
 
-#: ../output.py:612
+#: ../output.py:847
 msgid "Summary     : "
 msgstr ""
 
-#: ../output.py:614 ../output.py:913
+#: ../output.py:849 ../output.py:1345
 #, python-format
 msgid "URL         : %s"
 msgstr ""
 
-#: ../output.py:615
+#: ../output.py:850
 msgid "License     : "
 msgstr ""
 
-#: ../output.py:616 ../output.py:910
+#: ../output.py:851 ../output.py:1342
 msgid "Description : "
 msgstr ""
 
-#: ../output.py:684
+#: ../output.py:969 ../yumcommands.py:3199
 msgid "y"
 msgstr ""
 
-#: ../output.py:684
+#: ../output.py:969
 msgid "yes"
 msgstr ""
 
-#: ../output.py:685
+#: ../output.py:970
 msgid "n"
 msgstr ""
 
-#: ../output.py:685
+#: ../output.py:970
 msgid "no"
 msgstr ""
 
-#: ../output.py:689
+#: ../output.py:974
 msgid "Is this ok [y/N]: "
 msgstr ""
 
-#: ../output.py:777
+#: ../output.py:1097
 #, python-format
 msgid ""
 "\n"
 "Group: %s"
 msgstr ""
 
-#: ../output.py:781
+#: ../output.py:1101
 #, python-format
 msgid " Group-Id: %s"
 msgstr ""
 
-#: ../output.py:786
+#: ../output.py:1122 ../output.py:1169
 #, python-format
 msgid " Description: %s"
 msgstr ""
 
-#: ../output.py:788
+#: ../output.py:1124
 #, python-format
 msgid " Language: %s"
 msgstr ""
 
-#: ../output.py:790
+#: ../output.py:1126
 msgid " Mandatory Packages:"
 msgstr ""
 
-#: ../output.py:791
+#: ../output.py:1127
 msgid " Default Packages:"
 msgstr ""
 
-#: ../output.py:792
+#: ../output.py:1128
 msgid " Optional Packages:"
 msgstr ""
 
-#: ../output.py:793
+#: ../output.py:1129
 msgid " Conditional Packages:"
 msgstr ""
 
-#: ../output.py:814
+#: ../output.py:1147
+msgid " Installed Packages:"
+msgstr ""
+
+#: ../output.py:1157
+#, python-format
+msgid ""
+"\n"
+"Environment Group: %s"
+msgstr ""
+
+#: ../output.py:1158
+#, python-format
+msgid " Environment-Id: %s"
+msgstr ""
+
+#: ../output.py:1191
+msgid " Mandatory Groups:"
+msgstr ""
+
+#: ../output.py:1192
+msgid " Optional Groups:"
+msgstr ""
+
+#: ../output.py:1205
+msgid " Installed Groups:"
+msgstr ""
+
+#: ../output.py:1217
 #, python-format
 msgid "package: %s"
 msgstr ""
 
-#: ../output.py:816
+#: ../output.py:1219
 msgid "  No dependencies for this package"
 msgstr ""
 
-#: ../output.py:821
+#: ../output.py:1224
 #, python-format
 msgid "  dependency: %s"
 msgstr ""
 
-#: ../output.py:823
+#: ../output.py:1226
 msgid "   Unsatisfied dependency"
 msgstr ""
 
-#: ../output.py:901
+#: ../output.py:1337
 msgid "Matched from:"
 msgstr ""
 
-#: ../output.py:916
+#: ../output.py:1348
 #, python-format
 msgid "License     : %s"
 msgstr ""
 
-#: ../output.py:919
+#: ../output.py:1351
 #, python-format
 msgid "Filename    : %s"
 msgstr ""
 
-#: ../output.py:923
+#: ../output.py:1360
+msgid "Provides    : "
+msgstr ""
+
+#: ../output.py:1363
 msgid "Other       : "
 msgstr ""
 
-#: ../output.py:966
+#: ../output.py:1426
 msgid "There was an error calculating total download size"
 msgstr ""
 
-#: ../output.py:971
+#: ../output.py:1431
 #, python-format
 msgid "Total size: %s"
 msgstr ""
 
-#: ../output.py:974
+#: ../output.py:1433
 #, python-format
 msgid "Total download size: %s"
 msgstr ""
 
-#: ../output.py:978 ../output.py:998
+#: ../output.py:1436 ../output.py:1459 ../output.py:1463
 #, python-format
 msgid "Installed size: %s"
 msgstr ""
 
-#: ../output.py:994
+#: ../output.py:1454
 msgid "There was an error calculating installed size"
 msgstr ""
 
-#: ../output.py:1039
+#: ../output.py:1504
 msgid "Reinstalling"
 msgstr ""
 
-#: ../output.py:1040
+#: ../output.py:1505
 msgid "Downgrading"
 msgstr ""
 
-#: ../output.py:1041
+#: ../output.py:1506
 msgid "Installing for dependencies"
 msgstr ""
 
-#: ../output.py:1042
+#: ../output.py:1507
 msgid "Updating for dependencies"
 msgstr ""
 
-#: ../output.py:1043
+#: ../output.py:1508
 msgid "Removing for dependencies"
 msgstr ""
 
-#: ../output.py:1050 ../output.py:1171
+#: ../output.py:1515 ../output.py:1576 ../output.py:1672
 msgid "Skipped (dependency problems)"
 msgstr ""
 
-#: ../output.py:1052 ../output.py:1687
+#: ../output.py:1517 ../output.py:1577 ../output.py:2223
 msgid "Not installed"
 msgstr ""
 
-#: ../output.py:1053
+#: ../output.py:1518 ../output.py:1578
 msgid "Not available"
 msgstr ""
 
-#: ../output.py:1075 ../output.py:2024
+#: ../output.py:1540 ../output.py:1588 ../output.py:1604 ../output.py:2581
 msgid "Package"
-msgstr ""
+msgid_plural "Packages"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../output.py:1075
+#: ../output.py:1540
 msgid "Arch"
 msgstr ""
 
-#: ../output.py:1076
+#: ../output.py:1541
 msgid "Version"
 msgstr ""
 
-#: ../output.py:1076
+#: ../output.py:1541
 msgid "Repository"
 msgstr ""
 
-#: ../output.py:1077
+#: ../output.py:1542
 msgid "Size"
 msgstr ""
 
-#: ../output.py:1089
+#: ../output.py:1554
 #, python-format
 msgid "     replacing  %s%s%s.%s %s\n"
 msgstr ""
 
-#: ../output.py:1098
+#: ../output.py:1563
 #, python-format
 msgid ""
 "\n"
@@ -871,57 +995,58 @@ msgid ""
 "%s\n"
 msgstr ""
 
-#: ../output.py:1109
-#, python-format
-msgid "Install   %5.5s Package(s)\n"
+#: ../output.py:1568 ../output.py:2376 ../output.py:2377
+msgid "Install"
 msgstr ""
 
-#: ../output.py:1113
-#, python-format
-msgid "Upgrade   %5.5s Package(s)\n"
+#: ../output.py:1570
+msgid "Upgrade"
 msgstr ""
 
-#: ../output.py:1117
-#, python-format
-msgid "Remove    %5.5s Package(s)\n"
+#: ../output.py:1572
+msgid "Remove"
 msgstr ""
 
-#: ../output.py:1121
-#, python-format
-msgid "Reinstall %5.5s Package(s)\n"
+#: ../output.py:1574 ../output.py:2382
+msgid "Reinstall"
 msgstr ""
 
-#: ../output.py:1125
-#, python-format
-msgid "Downgrade %5.5s Package(s)\n"
+#: ../output.py:1575 ../output.py:2383
+msgid "Downgrade"
 msgstr ""
 
-#: ../output.py:1165
+#: ../output.py:1606
+msgid "Dependent package"
+msgid_plural "Dependent packages"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../output.py:1666
 msgid "Removed"
 msgstr ""
 
-#: ../output.py:1166
+#: ../output.py:1667
 msgid "Dependency Removed"
 msgstr ""
 
-#: ../output.py:1168
+#: ../output.py:1669
 msgid "Dependency Installed"
 msgstr ""
 
-#: ../output.py:1170
+#: ../output.py:1671
 msgid "Dependency Updated"
 msgstr ""
 
-#: ../output.py:1172
+#: ../output.py:1673
 msgid "Replaced"
 msgstr ""
 
-#: ../output.py:1173
+#: ../output.py:1674
 msgid "Failed"
 msgstr ""
 
 #. Delta between C-c's so we treat as exit
-#: ../output.py:1260
+#: ../output.py:1764
 msgid "two"
 msgstr ""
 
@@ -929,7 +1054,7 @@ msgstr ""
 #. Current download cancelled, interrupt (ctrl-c) again within two seconds
 #. to exit.
 #. Where "interupt (ctrl-c) again" and "two" are highlighted.
-#: ../output.py:1271
+#: ../output.py:1775
 #, python-format
 msgid ""
 "\n"
@@ -938,484 +1063,542 @@ msgid ""
 "to exit.\n"
 msgstr ""
 
-#: ../output.py:1282
+#: ../output.py:1786
 msgid "user interrupt"
 msgstr ""
 
-#: ../output.py:1300
+#: ../output.py:1812
 msgid "Total"
 msgstr ""
 
-#: ../output.py:1322
+#: ../output.py:1834
 msgid "I"
 msgstr ""
 
-#: ../output.py:1323
+#: ../output.py:1835
 msgid "O"
 msgstr ""
 
-#: ../output.py:1324
+#: ../output.py:1836
 msgid "E"
 msgstr ""
 
-#: ../output.py:1325
+#: ../output.py:1837
 msgid "R"
 msgstr ""
 
-#: ../output.py:1326
+#: ../output.py:1838
 msgid "D"
 msgstr ""
 
-#: ../output.py:1327
+#: ../output.py:1839
 msgid "U"
 msgstr ""
 
-#: ../output.py:1341
+#: ../output.py:1853
 msgid "<unset>"
 msgstr ""
 
-#: ../output.py:1342
+#: ../output.py:1854
 msgid "System"
 msgstr ""
 
-#: ../output.py:1411
+#: ../output.py:1923
 #, python-format
 msgid "Skipping merged transaction %d to %d, as it overlaps"
 msgstr ""
 
-#: ../output.py:1421 ../output.py:1592
+#: ../output.py:1933 ../output.py:2125
 msgid "No transactions"
 msgstr ""
 
-#: ../output.py:1446 ../output.py:2013
+#: ../output.py:1958 ../output.py:2570 ../output.py:2660
 msgid "Bad transaction IDs, or package(s), given"
 msgstr ""
 
-#: ../output.py:1484
+#: ../output.py:2007
 msgid "Command line"
 msgstr ""
 
-#: ../output.py:1486 ../output.py:1908
+#: ../output.py:2009 ../output.py:2458
 msgid "Login user"
 msgstr ""
 
 #. REALLY Needs to use columns!
-#: ../output.py:1487 ../output.py:2022
+#: ../output.py:2010 ../output.py:2579
 msgid "ID"
 msgstr ""
 
-#: ../output.py:1489
+#: ../output.py:2012
 msgid "Date and time"
 msgstr ""
 
-#: ../output.py:1490 ../output.py:1910 ../output.py:2023
+#: ../output.py:2013 ../output.py:2460 ../output.py:2580
 msgid "Action(s)"
 msgstr ""
 
-#: ../output.py:1491 ../output.py:1911
+#: ../output.py:2014 ../output.py:2461
 msgid "Altered"
 msgstr ""
 
-#: ../output.py:1538
+#: ../output.py:2061
 msgid "No transaction ID given"
 msgstr ""
 
-#: ../output.py:1564 ../output.py:1972
+#: ../output.py:2087 ../output.py:2526
 msgid "Bad transaction ID given"
 msgstr ""
 
-#: ../output.py:1569
+#: ../output.py:2092
 msgid "Not found given transaction ID"
 msgstr ""
 
-#: ../output.py:1577
+#: ../output.py:2100
 msgid "Found more than one transaction ID!"
 msgstr ""
 
-#: ../output.py:1618 ../output.py:1980
+#: ../output.py:2151 ../output.py:2534
 msgid "No transaction ID, or package, given"
 msgstr ""
 
-#: ../output.py:1686 ../output.py:1845
+#: ../output.py:2222 ../output.py:2384
 msgid "Downgraded"
 msgstr ""
 
-#: ../output.py:1688
+#: ../output.py:2224
 msgid "Older"
 msgstr ""
 
-#: ../output.py:1688
+#: ../output.py:2224
 msgid "Newer"
 msgstr ""
 
-#: ../output.py:1724 ../output.py:1726
+#: ../output.py:2261 ../output.py:2263 ../output.py:2681
 msgid "Transaction ID :"
 msgstr ""
 
-#: ../output.py:1728
+#: ../output.py:2265 ../output.py:2683
 msgid "Begin time     :"
 msgstr ""
 
-#: ../output.py:1731 ../output.py:1733
+#: ../output.py:2268 ../output.py:2270
 msgid "Begin rpmdb    :"
 msgstr ""
 
-#: ../output.py:1749
+#: ../output.py:2286
 #, python-format
 msgid "(%u seconds)"
 msgstr ""
 
-#: ../output.py:1751
+#: ../output.py:2288
 #, python-format
 msgid "(%u minutes)"
 msgstr ""
 
-#: ../output.py:1753
+#: ../output.py:2290
 #, python-format
 msgid "(%u hours)"
 msgstr ""
 
-#: ../output.py:1755
+#: ../output.py:2292
 #, python-format
 msgid "(%u days)"
 msgstr ""
 
-#: ../output.py:1756
+#: ../output.py:2293
 msgid "End time       :"
 msgstr ""
 
-#: ../output.py:1759 ../output.py:1761
+#: ../output.py:2296 ../output.py:2298
 msgid "End rpmdb      :"
 msgstr ""
 
-#: ../output.py:1764 ../output.py:1766
+#: ../output.py:2301 ../output.py:2303
 msgid "User           :"
 msgstr ""
 
-#: ../output.py:1770 ../output.py:1773 ../output.py:1775 ../output.py:1777
-#: ../output.py:1779
+#: ../output.py:2307 ../output.py:2310 ../output.py:2312 ../output.py:2314
+#: ../output.py:2316
 msgid "Return-Code    :"
 msgstr ""
 
-#: ../output.py:1770 ../output.py:1775
+#: ../output.py:2307 ../output.py:2312
 msgid "Aborted"
 msgstr ""
 
-#: ../output.py:1773
+#: ../output.py:2310
 msgid "Failures:"
 msgstr ""
 
-#: ../output.py:1777
+#: ../output.py:2314
 msgid "Failure:"
 msgstr ""
 
-#: ../output.py:1779
+#: ../output.py:2316
 msgid "Success"
 msgstr ""
 
-#: ../output.py:1784 ../output.py:1786
+#: ../output.py:2321 ../output.py:2323 ../output.py:2712
 msgid "Command Line   :"
 msgstr ""
 
-#: ../output.py:1795
+#: ../output.py:2332
 #, python-format
 msgid "Additional non-default information stored: %d"
 msgstr ""
 
 #. This is _possible_, but not common
-#: ../output.py:1800
+#: ../output.py:2337
 msgid "Transaction performed with:"
 msgstr ""
 
-#: ../output.py:1804
+#: ../output.py:2341
 msgid "Packages Altered:"
 msgstr ""
 
-#: ../output.py:1808
+#: ../output.py:2345
 msgid "Packages Skipped:"
 msgstr ""
 
-#: ../output.py:1814
+#: ../output.py:2353
 msgid "Rpmdb Problems:"
 msgstr ""
 
-#: ../output.py:1825
+#: ../output.py:2364
 msgid "Scriptlet output:"
 msgstr ""
 
-#: ../output.py:1831
+#: ../output.py:2370
 msgid "Errors:"
 msgstr ""
 
-#: ../output.py:1837 ../output.py:1838
-msgid "Install"
-msgstr ""
-
-#: ../output.py:1839
+#: ../output.py:2378
 msgid "Dep-Install"
 msgstr ""
 
-#: ../output.py:1841
+#: ../output.py:2380
 msgid "Obsoleting"
 msgstr ""
 
-#: ../output.py:1842
+#: ../output.py:2381
 msgid "Erase"
 msgstr ""
 
-#: ../output.py:1843
-msgid "Reinstall"
-msgstr ""
-
-#: ../output.py:1844
-msgid "Downgrade"
-msgstr ""
-
-#: ../output.py:1846
+#: ../output.py:2385
 msgid "Update"
 msgstr ""
 
-#: ../output.py:1909
+#: ../output.py:2459
 msgid "Time"
 msgstr ""
 
-#: ../output.py:1935
+#: ../output.py:2485
 msgid "Last day"
 msgstr ""
 
-#: ../output.py:1936
+#: ../output.py:2486
 msgid "Last week"
 msgstr ""
 
-#: ../output.py:1937
+#: ../output.py:2487
 msgid "Last 2 weeks"
 msgstr ""
 
 #. US default :p
-#: ../output.py:1938
+#: ../output.py:2488
 msgid "Last 3 months"
 msgstr ""
 
-#: ../output.py:1939
+#: ../output.py:2489
 msgid "Last 6 months"
 msgstr ""
 
-#: ../output.py:1940
+#: ../output.py:2490
 msgid "Last year"
 msgstr ""
 
-#: ../output.py:1941
+#: ../output.py:2491
 msgid "Over a year ago"
 msgstr ""
 
-#: ../output.py:1984
+#: ../output.py:2538
 #, python-format
 msgid "No Transaction %s found"
 msgstr ""
 
-#: ../output.py:1990
+#: ../output.py:2544
 msgid "Transaction ID:"
 msgstr ""
 
-#: ../output.py:1991
+#: ../output.py:2545
 msgid "Available additional history information:"
 msgstr ""
 
-#: ../output.py:2003
+#: ../output.py:2558
 #, python-format
 msgid "%s: No additional data found by this name"
 msgstr ""
 
-#: ../output.py:2106
+#: ../output.py:2684
+msgid "Package        :"
+msgstr ""
+
+#: ../output.py:2685
+msgid "State          :"
+msgstr ""
+
+#: ../output.py:2688
+msgid "Size           :"
+msgstr ""
+
+#: ../output.py:2690
+msgid "Build host     :"
+msgstr ""
+
+#: ../output.py:2693
+msgid "Build time     :"
+msgstr ""
+
+#: ../output.py:2695
+msgid "Packager       :"
+msgstr ""
+
+#: ../output.py:2697
+msgid "Vendor         :"
+msgstr ""
+
+#: ../output.py:2699
+msgid "License        :"
+msgstr ""
+
+#: ../output.py:2701
+msgid "URL            :"
+msgstr ""
+
+#: ../output.py:2703
+msgid "Source RPM     :"
+msgstr ""
+
+#: ../output.py:2706
+msgid "Commit Time    :"
+msgstr ""
+
+#: ../output.py:2708
+msgid "Committer      :"
+msgstr ""
+
+#: ../output.py:2710
+msgid "Reason         :"
+msgstr ""
+
+#: ../output.py:2714
+msgid "From repo      :"
+msgstr ""
+
+#: ../output.py:2718
+msgid "Installed by   :"
+msgstr ""
+
+#: ../output.py:2722
+msgid "Changed by     :"
+msgstr ""
+
+#: ../output.py:2767
 msgid "installed"
 msgstr ""
 
-#: ../output.py:2107
+#: ../output.py:2768
 msgid "an update"
 msgstr ""
 
-#: ../output.py:2108
+#: ../output.py:2769
 msgid "erased"
 msgstr ""
 
-#: ../output.py:2109
+#: ../output.py:2770
 msgid "reinstalled"
 msgstr ""
 
-#: ../output.py:2110
+#: ../output.py:2771
 msgid "a downgrade"
 msgstr ""
 
-#: ../output.py:2111
+#: ../output.py:2772
 msgid "obsoleting"
 msgstr ""
 
-#: ../output.py:2112
+#: ../output.py:2773
 msgid "updated"
 msgstr ""
 
-#: ../output.py:2113
+#: ../output.py:2774
 msgid "obsoleted"
 msgstr ""
 
-#: ../output.py:2117
+#: ../output.py:2778
 #, python-format
 msgid "---> Package %s.%s %s:%s-%s will be %s"
 msgstr ""
 
-#: ../output.py:2124
+#: ../output.py:2789
 msgid "--> Running transaction check"
 msgstr ""
 
-#: ../output.py:2129
+#: ../output.py:2795
 msgid "--> Restarting Dependency Resolution with new changes."
 msgstr ""
 
-#: ../output.py:2134
+#: ../output.py:2801
 msgid "--> Finished Dependency Resolution"
 msgstr ""
 
-#: ../output.py:2139 ../output.py:2144
+#: ../output.py:2814 ../output.py:2827
 #, python-format
 msgid "--> Processing Dependency: %s for package: %s"
 msgstr ""
 
-#: ../output.py:2149
+#: ../output.py:2841
 #, python-format
-msgid "---> Keeping package: %s"
+msgid "---> Keeping package: %s due to %s"
 msgstr ""
 
-#: ../output.py:2152
+#: ../output.py:2850
 #, python-format
 msgid "--> Unresolved Dependency: %s"
 msgstr ""
 
-#: ../output.py:2163
+#: ../output.py:2867
 #, python-format
 msgid "Package: %s"
 msgstr ""
 
-#: ../output.py:2165
+#: ../output.py:2869
 #, python-format
 msgid ""
 "\n"
 "    Requires: %s"
 msgstr ""
 
-#: ../output.py:2174
+#: ../output.py:2878
 #, python-format
 msgid ""
 "\n"
 "    %s: %s (%s)"
 msgstr ""
 
-#: ../output.py:2179
+#: ../output.py:2883
 #, python-format
 msgid ""
 "\n"
 "        %s"
 msgstr ""
 
-#: ../output.py:2181
+#: ../output.py:2885
 msgid ""
 "\n"
 "        Not found"
 msgstr ""
 
 #. These should be the only three things we care about:
-#: ../output.py:2196
+#: ../output.py:2900
 msgid "Updated By"
 msgstr ""
 
-#: ../output.py:2197
+#: ../output.py:2901
 msgid "Downgraded By"
 msgstr ""
 
-#: ../output.py:2198
+#: ../output.py:2902
 msgid "Obsoleted By"
 msgstr ""
 
-#: ../output.py:2216
+#: ../output.py:2920
 msgid "Available"
 msgstr ""
 
-#: ../output.py:2243 ../output.py:2248
+#: ../output.py:2955 ../output.py:2968
 #, python-format
 msgid "--> Processing Conflict: %s conflicts %s"
 msgstr ""
 
-#: ../output.py:2252
+#: ../output.py:2974
 msgid "--> Populating transaction set with selected packages. Please wait."
 msgstr ""
 
-#: ../output.py:2256
+#: ../output.py:2983
 #, python-format
 msgid "---> Downloading header for %s to pack into transaction set."
 msgstr ""
 
-#: ../utils.py:99
+#. self.event(txmbr.name, count, len(base.tsInfo), count, )
+#. (te_current*100L)/te_total
+#: ../output.py:3248
+msgid "Verifying"
+msgstr ""
+
+#: ../utils.py:123
 msgid "Running"
 msgstr ""
 
-#: ../utils.py:100
+#: ../utils.py:124
 msgid "Sleeping"
 msgstr ""
 
-#: ../utils.py:101
+#: ../utils.py:125
 msgid "Uninterruptible"
 msgstr ""
 
-#: ../utils.py:102
+#: ../utils.py:126
 msgid "Zombie"
 msgstr ""
 
-#: ../utils.py:103
+#: ../utils.py:127
 msgid "Traced/Stopped"
 msgstr ""
 
-#: ../utils.py:104 ../yumcommands.py:994
+#: ../utils.py:128 ../yumcommands.py:2224
 msgid "Unknown"
 msgstr ""
 
-#: ../utils.py:115
+#: ../utils.py:153
 msgid "  The other application is: PackageKit"
 msgstr ""
 
-#: ../utils.py:117
+#: ../utils.py:155
 #, python-format
 msgid "  The other application is: %s"
 msgstr ""
 
-#: ../utils.py:120
+#: ../utils.py:158
 #, python-format
 msgid "    Memory : %5s RSS (%5sB VSZ)"
 msgstr ""
 
-#: ../utils.py:125
+#: ../utils.py:163
 #, python-format
 msgid "    Started: %s - %s ago"
 msgstr ""
 
-#: ../utils.py:127
+#: ../utils.py:165
 #, python-format
 msgid "    State  : %s, pid: %d"
 msgstr ""
 
-#: ../utils.py:170 ../yummain.py:43
+#: ../utils.py:194 ../yummain.py:43
 msgid ""
 "\n"
 "\n"
 "Exiting on user cancel"
 msgstr ""
 
-#: ../utils.py:176 ../yummain.py:49
+#: ../utils.py:206 ../yummain.py:49
 msgid ""
 "\n"
 "\n"
 "Exiting on Broken Pipe"
 msgstr ""
 
-#: ../utils.py:178 ../yummain.py:51
+#: ../utils.py:208 ../yummain.py:51
 #, python-format
 msgid ""
 "\n"
@@ -1423,59 +1606,63 @@ msgid ""
 "%s"
 msgstr ""
 
-#: ../utils.py:228 ../yummain.py:123
-msgid ""
-"Another app is currently holding the yum lock; exiting as configured by "
-"exit_on_lock"
+#: ../utils.py:320
+#, python-format
+msgid "Config Error: %s"
 msgstr ""
 
-#: ../utils.py:287
+#: ../utils.py:323
+#, python-format
+msgid "Options Error: %s"
+msgstr ""
+
+#: ../utils.py:326
 #, python-format
 msgid "PluginExit Error: %s"
 msgstr ""
 
-#: ../utils.py:290
+#: ../utils.py:329
 #, python-format
 msgid "Yum Error: %s"
 msgstr ""
 
-#: ../utils.py:342 ../yummain.py:150 ../yummain.py:189
+#: ../utils.py:387 ../yummain.py:152 ../yummain.py:196
 #, python-format
 msgid "Error: %s"
 msgstr ""
 
-#: ../utils.py:346 ../yummain.py:194
+#: ../utils.py:391 ../yummain.py:201
 msgid " You could try using --skip-broken to work around the problem"
 msgstr ""
 
-#: ../utils.py:348 ../yummain.py:87
+#: ../utils.py:393 ../yummain.py:87
 msgid " You could try running: rpm -Va --nofiles --nodigest"
 msgstr ""
 
-#: ../utils.py:355 ../yummain.py:160 ../yummain.py:202
+#: ../utils.py:400 ../yummain.py:162 ../yummain.py:209
 #, python-format
 msgid "Unknown Error(s): Exit Code: %d:"
 msgstr ""
 
-#: ../utils.py:361 ../yummain.py:208
+#: ../utils.py:406 ../yummain.py:215
 msgid ""
 "\n"
 "Dependencies Resolved"
 msgstr ""
 
-#: ../utils.py:376 ../yummain.py:234
+#: ../utils.py:422 ../yummain.py:252
 msgid "Complete!"
 msgstr ""
 
-#: ../yumcommands.py:42
+#: ../yumcommands.py:44
 msgid " Mini usage:\n"
 msgstr ""
 
-#: ../yumcommands.py:52
+#: ../yumcommands.py:54
 msgid "You need to be root to perform this command."
 msgstr ""
 
-#: ../yumcommands.py:59
+#: ../yumcommands.py:69
 msgid ""
 "\n"
 "You have enabled checking of packages via GPG keys. This is a good thing. \n"
@@ -1493,1363 +1680,1617 @@ msgid ""
 "For more information contact your distribution or package provider.\n"
 msgstr ""
 
-#: ../yumcommands.py:74
+#: ../yumcommands.py:84
 #, python-format
 msgid "Problem repository: %s"
 msgstr ""
 
-#: ../yumcommands.py:80
+#: ../yumcommands.py:98
 #, python-format
 msgid "Error: Need to pass a list of pkgs to %s"
 msgstr ""
 
-#: ../yumcommands.py:86
+#: ../yumcommands.py:116
+#, python-format
+msgid "Error: Need at least two packages to %s"
+msgstr ""
+
+#: ../yumcommands.py:131
+#, python-format
+msgid "Error: Need to pass a repoid. and command to %s"
+msgstr ""
+
+#: ../yumcommands.py:138 ../yumcommands.py:144
+#, python-format
+msgid "Error: Need to pass a single valid repoid. to %s"
+msgstr ""
+
+#: ../yumcommands.py:149
+#, python-format
+msgid "Error: Repo %s is not enabled"
+msgstr ""
+
+#: ../yumcommands.py:166
 msgid "Error: Need an item to match"
 msgstr ""
 
-#: ../yumcommands.py:92
+#: ../yumcommands.py:180
 msgid "Error: Need a group or list of groups"
 msgstr ""
 
-#: ../yumcommands.py:101
+#: ../yumcommands.py:197
 #, python-format
 msgid "Error: clean requires an option: %s"
 msgstr ""
 
-#: ../yumcommands.py:106
+#: ../yumcommands.py:203
 #, python-format
 msgid "Error: invalid clean argument: %r"
 msgstr ""
 
-#: ../yumcommands.py:119
+#: ../yumcommands.py:218
 msgid "No argument to shell"
 msgstr ""
 
-#: ../yumcommands.py:121
+#: ../yumcommands.py:220
 #, python-format
 msgid "Filename passed to shell: %s"
 msgstr ""
 
-#: ../yumcommands.py:125
+#: ../yumcommands.py:224
 #, python-format
 msgid "File %s given as argument to shell does not exist."
 msgstr ""
 
-#: ../yumcommands.py:131
+#: ../yumcommands.py:230
 msgid "Error: more than one file given as argument to shell."
 msgstr ""
 
-#: ../yumcommands.py:148
+#: ../yumcommands.py:249
 msgid ""
 "There are no enabled repos.\n"
 " Run \"yum repolist all\" to see the repos you have.\n"
 " You can enable repos with yum-config-manager --enable <repo>"
 msgstr ""
 
-#: ../yumcommands.py:200
+#: ../yumcommands.py:385
 msgid "PACKAGE..."
 msgstr ""
 
-#: ../yumcommands.py:203
+#: ../yumcommands.py:392
 msgid "Install a package or packages on your system"
 msgstr ""
 
-#: ../yumcommands.py:212
+#: ../yumcommands.py:423
 msgid "Setting up Install Process"
 msgstr ""
 
-#: ../yumcommands.py:223 ../yumcommands.py:245
+#: ../yumcommands.py:449 ../yumcommands.py:509
 msgid "[PACKAGE...]"
 msgstr ""
 
-#: ../yumcommands.py:226
+#: ../yumcommands.py:456
 msgid "Update a package or packages on your system"
 msgstr ""
 
-#: ../yumcommands.py:234
+#: ../yumcommands.py:485
 msgid "Setting up Update Process"
 msgstr ""
 
-#: ../yumcommands.py:248
+#: ../yumcommands.py:516
 msgid "Synchronize installed packages to the latest available versions"
 msgstr ""
 
-#: ../yumcommands.py:256
+#: ../yumcommands.py:545
 msgid "Setting up Distribution Synchronization Process"
 msgstr ""
 
-#: ../yumcommands.py:299
+#: ../yumcommands.py:605
 msgid "Display details about a package or group of packages"
 msgstr ""
 
-#: ../yumcommands.py:348
+#: ../yumcommands.py:674
 msgid "Installed Packages"
 msgstr ""
 
-#: ../yumcommands.py:356
+#: ../yumcommands.py:684
 msgid "Available Packages"
 msgstr ""
 
-#: ../yumcommands.py:360
+#: ../yumcommands.py:689
 msgid "Extra Packages"
 msgstr ""
 
-#: ../yumcommands.py:364
+#: ../yumcommands.py:693
 msgid "Updated Packages"
 msgstr ""
 
 #. This only happens in verbose mode
-#: ../yumcommands.py:372 ../yumcommands.py:379 ../yumcommands.py:667
+#: ../yumcommands.py:701 ../yumcommands.py:708 ../yumcommands.py:1570
 msgid "Obsoleting Packages"
 msgstr ""
 
-#: ../yumcommands.py:381
+#: ../yumcommands.py:710
 msgid "Recently Added Packages"
 msgstr ""
 
-#: ../yumcommands.py:388
+#: ../yumcommands.py:717
 msgid "No matching Packages to list"
 msgstr ""
 
-#: ../yumcommands.py:402
+#: ../yumcommands.py:768
 msgid "List a package or groups of packages"
 msgstr ""
 
-#: ../yumcommands.py:414
+#: ../yumcommands.py:800
 msgid "Remove a package or packages from your system"
 msgstr ""
 
-#: ../yumcommands.py:421
+#: ../yumcommands.py:850
 msgid "Setting up Remove Process"
 msgstr ""
 
-#: ../yumcommands.py:435
-msgid "Setting up Group Process"
+#: ../yumcommands.py:911
+msgid "Display, or use, the groups information"
 msgstr ""
 
-#: ../yumcommands.py:441
-msgid "No Groups on which to run command"
+#: ../yumcommands.py:914
+msgid "Setting up Group Process"
 msgstr ""
 
-#: ../yumcommands.py:454
-msgid "List available package groups"
+#: ../yumcommands.py:920
+msgid "No Groups on which to run command"
 msgstr ""
 
-#: ../yumcommands.py:474
-msgid "Install the packages in a group on your system"
+#: ../yumcommands.py:990
+#, python-format
+msgid "Invalid groups sub-command, use: %s."
 msgstr ""
 
-#: ../yumcommands.py:497
-msgid "Remove the packages in a group from your system"
+#: ../yumcommands.py:997
+msgid "There is no installed groups file."
 msgstr ""
 
-#: ../yumcommands.py:525
-msgid "Display details about a package group"
+#: ../yumcommands.py:999
+msgid "You don't have access to the groups DB."
 msgstr ""
 
-#: ../yumcommands.py:550
+#: ../yumcommands.py:1261
 msgid "Generate the metadata cache"
 msgstr ""
 
-#: ../yumcommands.py:556
+#: ../yumcommands.py:1287
 msgid "Making cache files for all metadata files."
 msgstr ""
 
-#: ../yumcommands.py:557
+#: ../yumcommands.py:1288
 msgid "This may take a while depending on the speed of this computer"
 msgstr ""
 
-#: ../yumcommands.py:578
+#: ../yumcommands.py:1332
 msgid "Metadata Cache Created"
 msgstr ""
 
-#: ../yumcommands.py:592
+#: ../yumcommands.py:1370
 msgid "Remove cached data"
 msgstr ""
 
-#: ../yumcommands.py:613
+#: ../yumcommands.py:1448
 msgid "Find what package provides the given value"
 msgstr ""
 
-#: ../yumcommands.py:633
+#: ../yumcommands.py:1516
 msgid "Check for available package updates"
 msgstr ""
 
-#: ../yumcommands.py:687
+#: ../yumcommands.py:1618
 msgid "Search package details for the given string"
 msgstr ""
 
-#: ../yumcommands.py:693
+#: ../yumcommands.py:1644
 msgid "Searching Packages: "
 msgstr ""
 
-#: ../yumcommands.py:710
+#: ../yumcommands.py:1697
 msgid "Update packages taking obsoletes into account"
 msgstr ""
 
-#: ../yumcommands.py:719
+#: ../yumcommands.py:1727
 msgid "Setting up Upgrade Process"
 msgstr ""
 
-#: ../yumcommands.py:737
+#: ../yumcommands.py:1762
 msgid "Install a local RPM"
 msgstr ""
 
-#: ../yumcommands.py:745
+#: ../yumcommands.py:1792
 msgid "Setting up Local Package Process"
 msgstr ""
 
-#: ../yumcommands.py:764
-msgid "Determine which package provides the given dependency"
-msgstr ""
-
-#: ../yumcommands.py:767
+#: ../yumcommands.py:1856
 msgid "Searching Packages for Dependency:"
 msgstr ""
 
-#: ../yumcommands.py:781
+#: ../yumcommands.py:1898
 msgid "Run an interactive yum shell"
 msgstr ""
 
-#: ../yumcommands.py:787
+#: ../yumcommands.py:1924
 msgid "Setting up Yum Shell"
 msgstr ""
 
-#: ../yumcommands.py:805
+#: ../yumcommands.py:1967
 msgid "List a package's dependencies"
 msgstr ""
 
-#: ../yumcommands.py:811
+#: ../yumcommands.py:1994
 msgid "Finding dependencies: "
 msgstr ""
 
-#: ../yumcommands.py:827
+#: ../yumcommands.py:2036
 msgid "Display the configured software repositories"
 msgstr ""
 
-#: ../yumcommands.py:893 ../yumcommands.py:894
+#: ../yumcommands.py:2125 ../yumcommands.py:2126
 msgid "enabled"
 msgstr ""
 
-#: ../yumcommands.py:920 ../yumcommands.py:921
+#: ../yumcommands.py:2152 ../yumcommands.py:2153
 msgid "disabled"
 msgstr ""
 
-#: ../yumcommands.py:937
+#: ../yumcommands.py:2168
 msgid "Repo-id      : "
 msgstr ""
 
-#: ../yumcommands.py:938
+#: ../yumcommands.py:2169
 msgid "Repo-name    : "
 msgstr ""
 
-#: ../yumcommands.py:941
+#: ../yumcommands.py:2172
 msgid "Repo-status  : "
 msgstr ""
 
-#: ../yumcommands.py:944
+#: ../yumcommands.py:2175
 msgid "Repo-revision: "
 msgstr ""
 
-#: ../yumcommands.py:948
+#: ../yumcommands.py:2179
 msgid "Repo-tags    : "
 msgstr ""
 
-#: ../yumcommands.py:954
+#: ../yumcommands.py:2185
 msgid "Repo-distro-tags: "
 msgstr ""
 
-#: ../yumcommands.py:959
+#: ../yumcommands.py:2190
 msgid "Repo-updated : "
 msgstr ""
 
-#: ../yumcommands.py:961
+#: ../yumcommands.py:2192
 msgid "Repo-pkgs    : "
 msgstr ""
 
-#: ../yumcommands.py:962
+#: ../yumcommands.py:2193
 msgid "Repo-size    : "
 msgstr ""
 
-#: ../yumcommands.py:969 ../yumcommands.py:990
+#: ../yumcommands.py:2200 ../yumcommands.py:2221
 msgid "Repo-baseurl : "
 msgstr ""
 
-#: ../yumcommands.py:977
+#: ../yumcommands.py:2208
 msgid "Repo-metalink: "
 msgstr ""
 
-#: ../yumcommands.py:981
+#: ../yumcommands.py:2212
 msgid "  Updated    : "
 msgstr ""
 
-#: ../yumcommands.py:984
+#: ../yumcommands.py:2215
 msgid "Repo-mirrors : "
 msgstr ""
 
-#: ../yumcommands.py:1000
+#: ../yumcommands.py:2230
 #, python-format
 msgid "Never (last: %s)"
 msgstr ""
 
-#: ../yumcommands.py:1002
+#: ../yumcommands.py:2232
 #, python-format
 msgid "Instant (last: %s)"
 msgstr ""
 
-#: ../yumcommands.py:1005
+#: ../yumcommands.py:2235
 #, python-format
 msgid "%s second(s) (last: %s)"
 msgstr ""
 
-#: ../yumcommands.py:1007
+#: ../yumcommands.py:2237
 msgid "Repo-expire  : "
 msgstr ""
 
-#: ../yumcommands.py:1010
+#: ../yumcommands.py:2240
 msgid "Repo-exclude : "
 msgstr ""
 
-#: ../yumcommands.py:1014
+#: ../yumcommands.py:2244
 msgid "Repo-include : "
 msgstr ""
 
-#: ../yumcommands.py:1018
+#: ../yumcommands.py:2248
 msgid "Repo-excluded: "
 msgstr ""
 
-#: ../yumcommands.py:1022
+#: ../yumcommands.py:2252
 msgid "Repo-filename: "
 msgstr ""
 
 #. Work out the first (id) and last (enabled/disalbed/count),
 #. then chop the middle (name)...
-#: ../yumcommands.py:1032 ../yumcommands.py:1061
+#: ../yumcommands.py:2261 ../yumcommands.py:2290
 msgid "repo id"
 msgstr ""
 
-#: ../yumcommands.py:1049 ../yumcommands.py:1050 ../yumcommands.py:1068
+#: ../yumcommands.py:2278 ../yumcommands.py:2279 ../yumcommands.py:2297
 msgid "status"
 msgstr ""
 
-#: ../yumcommands.py:1062
+#: ../yumcommands.py:2291
 msgid "repo name"
 msgstr ""
 
-#: ../yumcommands.py:1099
+#: ../yumcommands.py:2363
 msgid "Display a helpful usage message"
 msgstr ""
 
-#: ../yumcommands.py:1133
+#: ../yumcommands.py:2405
 #, python-format
 msgid "No help available for %s"
 msgstr ""
 
-#: ../yumcommands.py:1138
+#: ../yumcommands.py:2410
 msgid ""
 "\n"
 "\n"
 "aliases: "
 msgstr ""
 
-#: ../yumcommands.py:1140
+#: ../yumcommands.py:2412
 msgid ""
 "\n"
 "\n"
 "alias: "
 msgstr ""
 
-#: ../yumcommands.py:1168
+#: ../yumcommands.py:2497
 msgid "Setting up Reinstall Process"
 msgstr ""
 
-#: ../yumcommands.py:1176
+#: ../yumcommands.py:2509
 msgid "reinstall a package"
 msgstr ""
 
-#: ../yumcommands.py:1195
+#: ../yumcommands.py:2572
 msgid "Setting up Downgrade Process"
 msgstr ""
 
-#: ../yumcommands.py:1202
+#: ../yumcommands.py:2583
 msgid "downgrade a package"
 msgstr ""
 
-#: ../yumcommands.py:1216
+#: ../yumcommands.py:2622
 msgid "Display a version for the machine and/or available repos."
 msgstr ""
 
-#: ../yumcommands.py:1255
+#: ../yumcommands.py:2674
 msgid " Yum version groups:"
 msgstr ""
 
-#: ../yumcommands.py:1265
+#: ../yumcommands.py:2684
 msgid " Group   :"
 msgstr ""
 
-#: ../yumcommands.py:1266
+#: ../yumcommands.py:2685
 msgid " Packages:"
 msgstr ""
 
-#: ../yumcommands.py:1295
+#: ../yumcommands.py:2714
 msgid "Installed:"
 msgstr ""
 
-#: ../yumcommands.py:1303
+#: ../yumcommands.py:2722
 msgid "Group-Installed:"
 msgstr ""
 
-#: ../yumcommands.py:1312
+#: ../yumcommands.py:2731
 msgid "Available:"
 msgstr ""
 
-#: ../yumcommands.py:1321
+#: ../yumcommands.py:2740
 msgid "Group-Available:"
 msgstr ""
 
-#: ../yumcommands.py:1360
+#: ../yumcommands.py:2814
 msgid "Display, or use, the transaction history"
 msgstr ""
 
-#: ../yumcommands.py:1432
+#: ../yumcommands.py:2907 ../yumcommands.py:2911
+msgid "Transactions:"
+msgstr ""
+
+#: ../yumcommands.py:2912
+msgid "Begin time  :"
+msgstr ""
+
+#: ../yumcommands.py:2913
+msgid "End time    :"
+msgstr ""
+
+#: ../yumcommands.py:2914
+msgid "Counts      :"
+msgstr ""
+
+#: ../yumcommands.py:2915
+msgid "  NEVRAC :"
+msgstr ""
+
+#: ../yumcommands.py:2916
+msgid "  NEVRA  :"
+msgstr ""
+
+#: ../yumcommands.py:2917
+msgid "  NA     :"
+msgstr ""
+
+#: ../yumcommands.py:2918
+msgid "  NEVR   :"
+msgstr ""
+
+#: ../yumcommands.py:2919
+msgid "  rpm DB :"
+msgstr ""
+
+#: ../yumcommands.py:2920
+msgid "  yum DB :"
+msgstr ""
+
+#: ../yumcommands.py:2953
 #, python-format
 msgid "Invalid history sub-command, use: %s."
 msgstr ""
 
-#: ../yumcommands.py:1439
+#: ../yumcommands.py:2960
 msgid "You don't have access to the history DB."
 msgstr ""
 
-#: ../yumcommands.py:1487
+#: ../yumcommands.py:3067
 msgid "Check for problems in the rpmdb"
 msgstr ""
 
-#: ../yumcommands.py:1514
+#: ../yumcommands.py:3143
 msgid "load a saved transaction from filename"
 msgstr ""
 
-#: ../yumcommands.py:1518
-msgid "No saved transaction file specified."
+#: ../yumcommands.py:3184
+#, python-format
+msgid "showing transaction files from %s"
+msgstr ""
+
+#: ../yumcommands.py:3224
+msgid "Members"
+msgstr ""
+
+#: ../yumcommands.py:3229
+msgid "Filename"
+msgstr ""
+
+#: ../yumcommands.py:3235
+#, python-format
+msgid "Saved transactions from %s; looked at %u files"
 msgstr ""
 
-#: ../yumcommands.py:1522
+#: ../yumcommands.py:3238
 #, python-format
 msgid "loading transaction from %s"
 msgstr ""
 
-#: ../yumcommands.py:1528
+#: ../yumcommands.py:3244
 #, python-format
 msgid "Transaction loaded from %s with %s members"
 msgstr ""
 
+#: ../yumcommands.py:3300
+msgid "Simple way to swap packages, instead of using shell"
+msgstr ""
+
+#: ../yumcommands.py:3395
+msgid ""
+"Treat a repo. as a group of packages, so we can install/remove all of them"
+msgstr ""
+
+#: ../yumcommands.py:3474
+#, python-format
+msgid "%d package to update"
+msgid_plural "%d packages to update"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../yumcommands.py:3509 ../yumcommands.py:3540
+#, python-format
+msgid "%d package to move to"
+msgid_plural "%d packages to move to"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../yumcommands.py:3569
+#, python-format
+msgid "%d package to remove/reinstall"
+msgid_plural "%d packages to remove/reinstall"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../yumcommands.py:3612
+#, python-format
+msgid "%d package to remove/sync"
+msgid_plural "%d packages to remove/sync"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../yumcommands.py:3616
+#, python-format
+msgid "Not a valid sub-command of %s"
+msgstr ""
+
 #. This is mainly for PackageSackError from rpmdb.
 #: ../yummain.py:84
 #, python-format
 msgid " Yum checks failed: %s"
 msgstr ""
 
-#: ../yummain.py:114
-msgid ""
-"Another app is currently holding the yum lock; waiting for it to exit..."
+#: ../yummain.py:98
+msgid "No read/execute access in current directory, moving to /"
 msgstr ""
 
-#: ../yummain.py:120
-msgid "Can't create lock file; exiting"
+#: ../yummain.py:106
+msgid "No getcwd() access in current directory, moving to /"
 msgstr ""
 
 #. Depsolve stage
-#: ../yummain.py:167
+#: ../yummain.py:169
 msgid "Resolving Dependencies"
 msgstr ""
 
-#: ../yummain.py:230
+#: ../yummain.py:242 ../yummain.py:250
 #, python-format
-msgid "Your transaction was saved, rerun it with: yum load-transaction %s"
+msgid ""
+"Your transaction was saved, rerun it with:\n"
+" yum load-transaction %s"
 msgstr ""
 
-#: ../yummain.py:288
+#: ../yummain.py:327
 msgid ""
 "\n"
 "\n"
 "Exiting on user cancel."
 msgstr ""
 
-#: ../yum/depsolve.py:84
+#: ../yum/depsolve.py:127
 msgid "doTsSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/depsolve.py:99
+#: ../yum/depsolve.py:143
 msgid "Setting up TransactionSets before config class is up"
 msgstr ""
 
-#: ../yum/depsolve.py:153
+#: ../yum/depsolve.py:200
 #, python-format
 msgid "Invalid tsflag in config file: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:164
+#: ../yum/depsolve.py:218
 #, python-format
 msgid "Searching pkgSack for dep: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:207
+#: ../yum/depsolve.py:269
 #, python-format
 msgid "Member: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:221 ../yum/depsolve.py:793
+#: ../yum/depsolve.py:283 ../yum/depsolve.py:945
 #, python-format
 msgid "%s converted to install"
 msgstr ""
 
-#: ../yum/depsolve.py:233
+#: ../yum/depsolve.py:295
 #, python-format
 msgid "Adding Package %s in mode %s"
 msgstr ""
 
-#: ../yum/depsolve.py:249
+#: ../yum/depsolve.py:311
 #, python-format
 msgid "Removing Package %s"
 msgstr ""
 
-#: ../yum/depsolve.py:271
+#: ../yum/depsolve.py:333
 #, python-format
 msgid "%s requires: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:312
+#: ../yum/depsolve.py:374
 #, python-format
 msgid "%s requires %s"
 msgstr ""
 
-#: ../yum/depsolve.py:339
+#: ../yum/depsolve.py:401
 msgid "Needed Require has already been looked up, cheating"
 msgstr ""
 
-#: ../yum/depsolve.py:349
+#: ../yum/depsolve.py:411
 #, python-format
 msgid "Needed Require is not a package name. Looking up: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:357
+#: ../yum/depsolve.py:419
 #, python-format
 msgid "Potential Provider: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:380
+#: ../yum/depsolve.py:442
 #, python-format
 msgid "Mode is %s for provider of %s: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:384
+#: ../yum/depsolve.py:446
 #, python-format
 msgid "Mode for pkg providing %s: %s"
 msgstr ""
 
 #. the thing it needs is being updated or obsoleted away
 #. try to update the requiring package in hopes that all this problem goes away :(
-#: ../yum/depsolve.py:389 ../yum/depsolve.py:406
+#: ../yum/depsolve.py:451 ../yum/depsolve.py:486
 #, python-format
 msgid "Trying to update %s to resolve dep"
 msgstr ""
 
-#: ../yum/depsolve.py:400 ../yum/depsolve.py:410
+#: ../yum/depsolve.py:480
 #, python-format
 msgid "No update paths found for %s. Failure!"
 msgstr ""
 
-#: ../yum/depsolve.py:416
+#: ../yum/depsolve.py:491
+#, python-format
+msgid "No update paths found for %s. Failure due to requirement: %s!"
+msgstr ""
+
+#: ../yum/depsolve.py:507
+#, python-format
+msgid "Update for %s. Doesn't fix requirement: %s!"
+msgstr ""
+
+#: ../yum/depsolve.py:514
 #, python-format
 msgid "TSINFO: %s package requiring %s marked as erase"
 msgstr ""
 
-#: ../yum/depsolve.py:429
+#: ../yum/depsolve.py:527
 #, python-format
 msgid "TSINFO: Obsoleting %s with %s to resolve dep."
 msgstr ""
 
-#: ../yum/depsolve.py:432
+#: ../yum/depsolve.py:530
 #, python-format
 msgid "TSINFO: Updating %s to resolve dep."
 msgstr ""
 
-#: ../yum/depsolve.py:440
+#: ../yum/depsolve.py:538
 #, python-format
 msgid "Cannot find an update path for dep for: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:471
+#: ../yum/depsolve.py:569
 #, python-format
 msgid "Quick matched %s to require for %s"
 msgstr ""
 
 #. is it already installed?
-#: ../yum/depsolve.py:513
+#: ../yum/depsolve.py:611
 #, python-format
 msgid "%s is in providing packages but it is already installed, removing."
 msgstr ""
 
-#: ../yum/depsolve.py:529
+#: ../yum/depsolve.py:627
 #, python-format
 msgid "Potential resolving package %s has newer instance in ts."
 msgstr ""
 
-#: ../yum/depsolve.py:540
+#: ../yum/depsolve.py:638
 #, python-format
 msgid "Potential resolving package %s has newer instance installed."
 msgstr ""
 
-#: ../yum/depsolve.py:558
+#: ../yum/depsolve.py:656
 #, python-format
 msgid "%s already in ts, skipping this one"
 msgstr ""
 
-#: ../yum/depsolve.py:607
+#: ../yum/depsolve.py:705
 #, python-format
 msgid "TSINFO: Marking %s as update for %s"
 msgstr ""
 
-#: ../yum/depsolve.py:616
+#: ../yum/depsolve.py:714
 #, python-format
 msgid "TSINFO: Marking %s as install for %s"
 msgstr ""
 
-#: ../yum/depsolve.py:727 ../yum/depsolve.py:819
+#: ../yum/depsolve.py:849 ../yum/depsolve.py:975
 msgid "Success - empty transaction"
 msgstr ""
 
-#: ../yum/depsolve.py:767 ../yum/depsolve.py:783
+#: ../yum/depsolve.py:889 ../yum/depsolve.py:935
 msgid "Restarting Loop"
 msgstr ""
 
-#: ../yum/depsolve.py:799
+#. No callback?
+#: ../yum/depsolve.py:922
+#, python-format
+msgid "Removing %s due to obsoletes from %s"
+msgstr ""
+
+#: ../yum/depsolve.py:955
 msgid "Dependency Process ending"
 msgstr ""
 
-#: ../yum/depsolve.py:821
+#: ../yum/depsolve.py:977
 msgid "Success - deps resolved"
 msgstr ""
 
-#: ../yum/depsolve.py:845
+#: ../yum/depsolve.py:1001
 #, python-format
 msgid "Checking deps for %s"
 msgstr ""
 
-#: ../yum/depsolve.py:931
+#: ../yum/depsolve.py:1090
 #, python-format
 msgid "looking for %s as a requirement of %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1169
+#: ../yum/depsolve.py:1357
 #, python-format
 msgid "Running compare_providers() for %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1196 ../yum/depsolve.py:1202
+#: ../yum/depsolve.py:1384 ../yum/depsolve.py:1390
 #, python-format
 msgid "better arch in po %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1298
+#: ../yum/depsolve.py:1504
 #, python-format
 msgid "%s obsoletes %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1310
+#: ../yum/depsolve.py:1516
 #, python-format
 msgid ""
 "archdist compared %s to %s on %s\n"
 "  Winner: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1318
+#: ../yum/depsolve.py:1524
 #, python-format
 msgid "common sourcerpm %s and %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1322
+#: ../yum/depsolve.py:1528
 #, python-format
 msgid "base package %s is installed for %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1328
+#: ../yum/depsolve.py:1534
 #, python-format
 msgid "common prefix of %s between %s and %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1359
+#: ../yum/depsolve.py:1551
 #, python-format
-msgid "requires minimal: %d"
+msgid "provides vercmp: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1363
+#: ../yum/depsolve.py:1555 ../yum/depsolve.py:1589
 #, python-format
 msgid " Winner: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1368
+#: ../yum/depsolve.py:1585
+#, python-format
+msgid "requires minimal: %d"
+msgstr ""
+
+#: ../yum/depsolve.py:1594
 #, python-format
 msgid " Loser(with %d): %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1384
+#: ../yum/depsolve.py:1610
 #, python-format
 msgid "Best Order: %s"
 msgstr ""
 
-#: ../yum/__init__.py:234
+#: ../yum/__init__.py:275
 msgid "doConfigSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/__init__.py:482
+#: ../yum/__init__.py:554
+#, python-format
+msgid "Skipping unreadable repository %s"
+msgstr ""
+
+#: ../yum/__init__.py:573
 #, python-format
 msgid "Repository %r: Error parsing config: %s"
 msgstr ""
 
-#: ../yum/__init__.py:488
+#: ../yum/__init__.py:579
 #, python-format
 msgid "Repository %r is missing name in configuration, using id"
 msgstr ""
 
-#: ../yum/__init__.py:526
+#: ../yum/__init__.py:619
 msgid "plugins already initialised"
 msgstr ""
 
-#: ../yum/__init__.py:533
+#: ../yum/__init__.py:628
 msgid "doRpmDBSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/__init__.py:544
+#: ../yum/__init__.py:639
 msgid "Reading Local RPMDB"
 msgstr ""
 
-#: ../yum/__init__.py:567
+#: ../yum/__init__.py:669
 msgid "doRepoSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/__init__.py:630
+#: ../yum/__init__.py:723
 msgid "doSackSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/__init__.py:660
+#: ../yum/__init__.py:753
 msgid "Setting up Package Sacks"
 msgstr ""
 
-#: ../yum/__init__.py:705
+#: ../yum/__init__.py:798
 #, python-format
 msgid "repo object for repo %s lacks a _resetSack method\n"
 msgstr ""
 
-#: ../yum/__init__.py:706
+#: ../yum/__init__.py:799
 msgid "therefore this repo cannot be reset.\n"
 msgstr ""
 
-#: ../yum/__init__.py:711
+#: ../yum/__init__.py:807
 msgid "doUpdateSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/__init__.py:723
+#: ../yum/__init__.py:819
 msgid "Building updates object"
 msgstr ""
 
-#: ../yum/__init__.py:765
+#: ../yum/__init__.py:863
 msgid "doGroupSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/__init__.py:790
+#: ../yum/__init__.py:888
 msgid "Getting group metadata"
 msgstr ""
 
-#: ../yum/__init__.py:816
+#: ../yum/__init__.py:916
 #, python-format
 msgid "Adding group file from repository: %s"
 msgstr ""
 
-#: ../yum/__init__.py:827
+#: ../yum/__init__.py:919
+#, python-format
+msgid "Failed to retrieve group file for repository: %s"
+msgstr ""
+
+#: ../yum/__init__.py:925
 #, python-format
 msgid "Failed to add groups file for repository: %s - %s"
 msgstr ""
 
-#: ../yum/__init__.py:833
+#: ../yum/__init__.py:931
 msgid "No Groups Available in any repository"
 msgstr ""
 
-#: ../yum/__init__.py:845
+#: ../yum/__init__.py:946
 msgid "Getting pkgtags metadata"
 msgstr ""
 
-#: ../yum/__init__.py:855
+#: ../yum/__init__.py:956
 #, python-format
 msgid "Adding tags from repository: %s"
 msgstr ""
 
-#: ../yum/__init__.py:866
+#: ../yum/__init__.py:967
 #, python-format
 msgid "Failed to add Pkg Tags for repository: %s - %s"
 msgstr ""
 
-#: ../yum/__init__.py:944
+#: ../yum/__init__.py:1060
 msgid "Importing additional filelist information"
 msgstr ""
 
-#: ../yum/__init__.py:958
+#: ../yum/__init__.py:1078
 #, python-format
 msgid "The program %s%s%s is found in the yum-utils package."
 msgstr ""
 
-#: ../yum/__init__.py:966
+#: ../yum/__init__.py:1095
 msgid ""
 "There are unfinished transactions remaining. You might consider running yum-"
 "complete-transaction first to finish them."
 msgstr ""
 
-#: ../yum/__init__.py:983
+#: ../yum/__init__.py:1112
 msgid "--> Finding unneeded leftover dependencies"
 msgstr ""
 
-#: ../yum/__init__.py:1041
+#: ../yum/__init__.py:1170
 #, python-format
 msgid "Protected multilib versions: %s != %s"
 msgstr ""
 
-#: ../yum/__init__.py:1096
+#. People are confused about protected mutilib ... so give
+#. them a nicer message.
+#: ../yum/__init__.py:1174
+#, python-format
+msgid ""
+" Multilib version problems found. This often means that the root\n"
+"cause is something else and multilib version checking is just\n"
+"pointing out that there is a problem. Eg.:\n"
+"\n"
+"  1. You have an upgrade for %(name)s which is missing some\n"
+"     dependency that another package requires. Yum is trying to\n"
+"     solve this by installing an older version of %(name)s of the\n"
+"     different architecture. If you exclude the bad architecture\n"
+"     yum will tell you what the root cause is (which package\n"
+"     requires what). You can try redoing the upgrade with\n"
+"     --exclude %(name)s.otherarch ... this should give you an error\n"
+"     message showing the root cause of the problem.\n"
+"\n"
+"  2. You have multiple architectures of %(name)s installed, but\n"
+"     yum can only see an upgrade for one of those architectures.\n"
+"     If you don't want/need both architectures anymore then you\n"
+"     can remove the one with the missing update and everything\n"
+"     will work.\n"
+"\n"
+"  3. You have duplicate versions of %(name)s installed already.\n"
+"     You can use \"yum check\" to get yum show these errors.\n"
+"\n"
+"...you can also use --setopt=protected_multilib=false to remove\n"
+"this checking, however this is almost never the correct thing to\n"
+"do as something else is very likely to go wrong (often causing\n"
+"much more problems).\n"
+"\n"
+msgstr ""
+
+#: ../yum/__init__.py:1258
 #, python-format
 msgid "Trying to remove \"%s\", which is protected"
 msgstr ""
 
-#: ../yum/__init__.py:1217
+#: ../yum/__init__.py:1379
 msgid ""
 "\n"
 "Packages skipped because of dependency problems:"
 msgstr ""
 
-#: ../yum/__init__.py:1221
+#: ../yum/__init__.py:1383
 #, python-format
 msgid "    %s from %s"
 msgstr ""
 
 #. FIXME: _N()
-#: ../yum/__init__.py:1391
+#: ../yum/__init__.py:1565
 #, python-format
 msgid "** Found %d pre-existing rpmdb problem(s), 'yum check' output follows:"
 msgstr ""
 
-#: ../yum/__init__.py:1395
+#: ../yum/__init__.py:1569
 msgid "Warning: RPMDB altered outside of yum."
 msgstr ""
 
-#: ../yum/__init__.py:1407
+#: ../yum/__init__.py:1581
 msgid "missing requires"
 msgstr ""
 
-#: ../yum/__init__.py:1408
+#: ../yum/__init__.py:1582
 msgid "installed conflict"
 msgstr ""
 
-#: ../yum/__init__.py:1525
+#: ../yum/__init__.py:1718
 msgid ""
 "Warning: scriptlet or other non-fatal errors occurred during transaction."
 msgstr ""
 
-#: ../yum/__init__.py:1535
+#: ../yum/__init__.py:1728
 msgid "Transaction couldn't start:"
 msgstr ""
 
 #. should this be 'to_unicoded'?
-#: ../yum/__init__.py:1538
+#: ../yum/__init__.py:1731
 msgid "Could not run transaction."
 msgstr ""
 
-#: ../yum/__init__.py:1552
+#: ../yum/__init__.py:1745
 #, python-format
 msgid "Failed to remove transaction file %s"
 msgstr ""
 
 #. maybe a file log here, too
 #. but raising an exception is not going to do any good
-#: ../yum/__init__.py:1590
+#: ../yum/__init__.py:1801
 #, python-format
 msgid "%s was supposed to be installed but is not!"
 msgstr ""
 
 #. maybe a file log here, too
 #. but raising an exception is not going to do any good
-#: ../yum/__init__.py:1651
+#. Note: This actually triggers atm. because we can't
+#. always find the erased txmbr to set it when
+#. we should.
+#: ../yum/__init__.py:1882
 #, python-format
 msgid "%s was supposed to be removed but is not!"
 msgstr ""
 
-#: ../yum/__init__.py:1768
+#. Another copy seems to be running.
+#: ../yum/__init__.py:2017
 #, python-format
-msgid "Could not open lock %s: %s"
+msgid "Existing lock %s: another copy is running as pid %s."
 msgstr ""
 
 #. Whoa. What the heck happened?
-#: ../yum/__init__.py:1785
+#: ../yum/__init__.py:2066
 #, python-format
-msgid "Unable to check if PID %s is active"
+msgid "Could not create lock at %s: %s "
 msgstr ""
 
-#. Another copy seems to be running.
-#: ../yum/__init__.py:1789
+#: ../yum/__init__.py:2078
 #, python-format
-msgid "Existing lock %s: another copy is running as pid %s."
+msgid "Could not open lock %s: %s"
 msgstr ""
 
+#. The pid doesn't exist
 #. Whoa. What the heck happened?
-#: ../yum/__init__.py:1830
+#: ../yum/__init__.py:2095
 #, python-format
-msgid "Could not create lock at %s: %s "
+msgid "Unable to check if PID %s is active"
 msgstr ""
 
-#: ../yum/__init__.py:1875
+#: ../yum/__init__.py:2145
 #, python-format
 msgid ""
 "Package does not match intended download. Suggestion: run yum --enablerepo="
 "%s clean metadata"
 msgstr ""
 
-#: ../yum/__init__.py:1891
+#: ../yum/__init__.py:2168
 msgid "Could not perform checksum"
 msgstr ""
 
-#: ../yum/__init__.py:1894
+#: ../yum/__init__.py:2171
 msgid "Package does not match checksum"
 msgstr ""
 
-#: ../yum/__init__.py:1946
+#. This is definitely a depsolver bug.  Make it fatal?
+#: ../yum/__init__.py:2230
 #, python-format
-msgid "package fails checksum but caching is enabled for %s"
+msgid "ignoring a dupe of %s"
 msgstr ""
 
-#: ../yum/__init__.py:1949 ../yum/__init__.py:1979
+#: ../yum/__init__.py:2235
 #, python-format
 msgid "using local copy of %s"
 msgstr ""
 
-#: ../yum/__init__.py:1991
+#: ../yum/__init__.py:2238
 #, python-format
-msgid ""
-"Insufficient space in download directory %s\n"
-"    * free   %s\n"
-"    * needed %s"
+msgid "package fails checksum but caching is enabled for %s"
 msgstr ""
 
-#: ../yum/__init__.py:2052
+#: ../yum/__init__.py:2274
+#, python-format
+msgid "Delta RPMs reduced %s of updates to %s (%d%% saved)"
+msgstr ""
+
+#: ../yum/__init__.py:2375
+msgid "Some delta RPMs failed to download or rebuild. Retrying.."
+msgstr ""
+
+#. caller handles errors
+#: ../yum/__init__.py:2386
+msgid "exiting because --downloadonly specified"
+msgstr ""
+
+#: ../yum/__init__.py:2415
 msgid "Header is not complete."
 msgstr ""
 
-#: ../yum/__init__.py:2089
+#: ../yum/__init__.py:2455
 #, python-format
 msgid ""
 "Header not in local cache and caching-only mode enabled. Cannot download %s"
 msgstr ""
 
-#: ../yum/__init__.py:2147
+#: ../yum/__init__.py:2515
 #, python-format
 msgid "Public key for %s is not installed"
 msgstr ""
 
-#: ../yum/__init__.py:2151
+#: ../yum/__init__.py:2519
 #, python-format
 msgid "Problem opening package %s"
 msgstr ""
 
-#: ../yum/__init__.py:2159
+#: ../yum/__init__.py:2527
 #, python-format
 msgid "Public key for %s is not trusted"
 msgstr ""
 
-#: ../yum/__init__.py:2163
+#: ../yum/__init__.py:2531
 #, python-format
 msgid "Package %s is not signed"
 msgstr ""
 
-#: ../yum/__init__.py:2202
+#: ../yum/__init__.py:2573
 #, python-format
 msgid "Cannot remove %s"
 msgstr ""
 
-#: ../yum/__init__.py:2206
+#: ../yum/__init__.py:2577
 #, python-format
 msgid "%s removed"
 msgstr ""
 
-#: ../yum/__init__.py:2252
+#: ../yum/__init__.py:2638
 #, python-format
 msgid "Cannot remove %s file %s"
 msgstr ""
 
-#: ../yum/__init__.py:2256
+#: ../yum/__init__.py:2642
 #, python-format
 msgid "%s file %s removed"
 msgstr ""
 
-#: ../yum/__init__.py:2258
+#: ../yum/__init__.py:2644
 #, python-format
-msgid "%d %s files removed"
-msgstr ""
+msgid "%d %s file removed"
+msgid_plural "%d %s files removed"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../yum/__init__.py:2327
+#: ../yum/__init__.py:2756
 #, python-format
 msgid "More than one identical match in sack for %s"
 msgstr ""
 
-#: ../yum/__init__.py:2333
+#: ../yum/__init__.py:2762
 #, python-format
 msgid "Nothing matches %s.%s %s:%s-%s from update"
 msgstr ""
 
-#: ../yum/__init__.py:2632
+#: ../yum/__init__.py:3150
 msgid ""
 "searchPackages() will go away in a future version of "
 "Yum.                      Use searchGenerator() instead. \n"
 msgstr ""
 
-#: ../yum/__init__.py:2675
+#: ../yum/__init__.py:3203
 #, python-format
-msgid "Searching %d packages"
-msgstr ""
+msgid "Searching %d package"
+msgid_plural "Searching %d packages"
+msgstr[0] ""
+msgstr[1] ""
 
-#: ../yum/__init__.py:2679
+#: ../yum/__init__.py:3207
 #, python-format
 msgid "searching package %s"
 msgstr ""
 
-#: ../yum/__init__.py:2691
+#: ../yum/__init__.py:3219
 msgid "searching in file entries"
 msgstr ""
 
-#: ../yum/__init__.py:2698
+#: ../yum/__init__.py:3226
 msgid "searching in provides entries"
 msgstr ""
 
-#: ../yum/__init__.py:2777
+#: ../yum/__init__.py:3423
 msgid "No group data available for configured repositories"
 msgstr ""
 
-#: ../yum/__init__.py:2808 ../yum/__init__.py:2827 ../yum/__init__.py:2858
-#: ../yum/__init__.py:2864 ../yum/__init__.py:2953 ../yum/__init__.py:2957
-#: ../yum/__init__.py:3339
+#: ../yum/__init__.py:3520 ../yum/__init__.py:3554 ../yum/__init__.py:3630
+#: ../yum/__init__.py:3636 ../yum/__init__.py:3773 ../yum/__init__.py:3777
+#: ../yum/__init__.py:4352
 #, python-format
 msgid "No Group named %s exists"
 msgstr ""
 
-#: ../yum/__init__.py:2839 ../yum/__init__.py:2973
+#: ../yum/__init__.py:3566 ../yum/__init__.py:3794
 #, python-format
 msgid "package %s was not marked in group %s"
 msgstr ""
 
-#: ../yum/__init__.py:2887
+#: ../yum/__init__.py:3590 ../yum/__init__.py:3820 ../yum/__init__.py:3878
+#, python-format
+msgid "No Environment named %s exists"
+msgstr ""
+
+#. (upgrade and igroup_data[pkg] == 'available')):
+#: ../yum/__init__.py:3676
+#, python-format
+msgid "Skipping package %s from group %s"
+msgstr ""
+
+#: ../yum/__init__.py:3682
 #, python-format
 msgid "Adding package %s from group %s"
 msgstr ""
 
-#: ../yum/__init__.py:2891
+#: ../yum/__init__.py:3703
 #, python-format
 msgid "No package named %s available to be installed"
 msgstr ""
 
-#: ../yum/__init__.py:2941
+#: ../yum/__init__.py:3756
 #, python-format
-msgid "Warning: Group %s does not have any packages."
+msgid "Warning: Group %s does not have any packages to install."
 msgstr ""
 
-#: ../yum/__init__.py:2943
+#: ../yum/__init__.py:3758
 #, python-format
 msgid "Group %s does have %u conditional packages, which may get installed."
 msgstr ""
 
+#: ../yum/__init__.py:3848
+#, python-format
+msgid "Skipping group %s from environment %s"
+msgstr ""
+
 #. This can happen due to excludes after .up has
 #. happened.
-#: ../yum/__init__.py:3002
+#: ../yum/__init__.py:3912
 #, python-format
 msgid "Package tuple %s could not be found in packagesack"
 msgstr ""
 
-#: ../yum/__init__.py:3022
+#: ../yum/__init__.py:3940
 #, python-format
 msgid "Package tuple %s could not be found in rpmdb"
 msgstr ""
 
-#: ../yum/__init__.py:3079 ../yum/__init__.py:3129
+#: ../yum/__init__.py:4003 ../yum/__init__.py:4066
 #, python-format
 msgid "Invalid version flag from: %s"
 msgstr ""
 
-#: ../yum/__init__.py:3096 ../yum/__init__.py:3101
+#: ../yum/__init__.py:4027 ../yum/__init__.py:4033 ../yum/__init__.py:4090
+#: ../yum/__init__.py:4096
 #, python-format
 msgid "No Package found for %s"
 msgstr ""
 
-#: ../yum/__init__.py:3401
-msgid "Package Object was not a package object instance"
+#: ../yum/__init__.py:4299 ../yum/__init__.py:4328
+#, python-format
+msgid "Warning: Environment Group %s does not exist."
 msgstr ""
 
-#: ../yum/__init__.py:3405
-msgid "Nothing specified to install"
+#: ../yum/__init__.py:4308
+#, python-format
+msgid "Warning: Group %s does not exist."
 msgstr ""
 
-#: ../yum/__init__.py:3424 ../yum/__init__.py:4283
+#: ../yum/__init__.py:4451
 #, python-format
-msgid "Checking for virtual provide or file-provide for %s"
+msgid "Package: %s - can't co-install with %s"
+msgstr ""
+
+#: ../yum/__init__.py:4491
+msgid "Package Object was not a package object instance"
+msgstr ""
+
+#: ../yum/__init__.py:4495
+msgid "Nothing specified to install"
 msgstr ""
 
-#: ../yum/__init__.py:3430 ../yum/__init__.py:3775 ../yum/__init__.py:3969
-#: ../yum/__init__.py:4289
+#: ../yum/__init__.py:4519 ../yum/__init__.py:5477
 #, python-format
-msgid "No Match for argument: %s"
+msgid "Checking for virtual provide or file-provide for %s"
 msgstr ""
 
-#: ../yum/__init__.py:3507
+#: ../yum/__init__.py:4596
 #, python-format
 msgid "Package %s installed and not available"
 msgstr ""
 
-#: ../yum/__init__.py:3510
+#: ../yum/__init__.py:4599
 msgid "No package(s) available to install"
 msgstr ""
 
-#: ../yum/__init__.py:3522
+#: ../yum/__init__.py:4611
 #, python-format
 msgid "Package: %s  - already in transaction set"
 msgstr ""
 
-#: ../yum/__init__.py:3550
+#: ../yum/__init__.py:4643
 #, python-format
 msgid "Package %s is obsoleted by %s which is already installed"
 msgstr ""
 
-#: ../yum/__init__.py:3555
+#: ../yum/__init__.py:4648
 #, python-format
 msgid ""
 "Package %s is obsoleted by %s, but obsoleting package does not provide for "
 "requirements"
 msgstr ""
 
-#: ../yum/__init__.py:3558
+#: ../yum/__init__.py:4651
 #, python-format
 msgid "Package %s is obsoleted by %s, trying to install %s instead"
 msgstr ""
 
-#: ../yum/__init__.py:3566
+#: ../yum/__init__.py:4659
 #, python-format
 msgid "Package %s already installed and latest version"
 msgstr ""
 
-#: ../yum/__init__.py:3580
+#: ../yum/__init__.py:4673
 #, python-format
 msgid "Package matching %s already installed. Checking for update."
 msgstr ""
 
 #. update everything (the easy case)
-#: ../yum/__init__.py:3684
+#: ../yum/__init__.py:4805
 msgid "Updating Everything"
 msgstr ""
 
-#: ../yum/__init__.py:3708 ../yum/__init__.py:3849 ../yum/__init__.py:3879
-#: ../yum/__init__.py:3915
+#: ../yum/__init__.py:4829 ../yum/__init__.py:4987 ../yum/__init__.py:5035
+#: ../yum/__init__.py:5071
 #, python-format
 msgid "Not Updating Package that is already obsoleted: %s.%s %s:%s-%s"
 msgstr ""
 
-#: ../yum/__init__.py:3753 ../yum/__init__.py:3965
+#: ../yum/__init__.py:4884 ../yum/__init__.py:5132
 #, python-format
 msgid "%s"
 msgstr ""
 
-#: ../yum/__init__.py:3838
+#: ../yum/__init__.py:4911 ../yum/__init__.py:5140 ../yum/__init__.py:5483
+#, python-format
+msgid "No Match for argument: %s"
+msgstr ""
+
+#: ../yum/__init__.py:4929
+#, python-format
+msgid "No package matched to upgrade: %s"
+msgstr ""
+
+#: ../yum/__init__.py:4976
 #, python-format
 msgid "Package is already obsoleted: %s.%s %s:%s-%s"
 msgstr ""
 
-#: ../yum/__init__.py:3874
+#. Meh.
+#: ../yum/__init__.py:5030
 #, python-format
 msgid "Not Updating Package that is obsoleted: %s"
 msgstr ""
 
-#: ../yum/__init__.py:3883 ../yum/__init__.py:3919
+#: ../yum/__init__.py:5039 ../yum/__init__.py:5075
 #, python-format
 msgid "Not Updating Package that is already updated: %s.%s %s:%s-%s"
 msgstr ""
 
-#: ../yum/__init__.py:3982
-msgid "No package matched to remove"
+#: ../yum/__init__.py:5153
+#, python-format
+msgid "No package matched to remove: %s"
 msgstr ""
 
-#: ../yum/__init__.py:3988
+#: ../yum/__init__.py:5159
 #, python-format
 msgid "Skipping the running kernel: %s"
 msgstr ""
 
-#: ../yum/__init__.py:3994
+#: ../yum/__init__.py:5165
 #, python-format
 msgid "Removing %s from the transaction"
 msgstr ""
 
-#: ../yum/__init__.py:4029
+#: ../yum/__init__.py:5202
 #, python-format
 msgid "Cannot open: %s. Skipping."
 msgstr ""
 
-#: ../yum/__init__.py:4032 ../yum/__init__.py:4150 ../yum/__init__.py:4226
+#: ../yum/__init__.py:5205 ../yum/__init__.py:5322 ../yum/__init__.py:5414
 #, python-format
 msgid "Examining %s: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4036
+#: ../yum/__init__.py:5209
 #, python-format
 msgid "Cannot localinstall deltarpm: %s. Skipping."
 msgstr ""
 
-#: ../yum/__init__.py:4045 ../yum/__init__.py:4153 ../yum/__init__.py:4229
+#: ../yum/__init__.py:5218 ../yum/__init__.py:5325 ../yum/__init__.py:5417
 #, python-format
 msgid "Cannot add package %s to transaction. Not a compatible architecture: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4051
+#: ../yum/__init__.py:5224
 #, python-format
 msgid "Cannot install package %s. It is obsoleted by installed package %s"
 msgstr ""
 
-#: ../yum/__init__.py:4059
+#: ../yum/__init__.py:5232
 #, python-format
 msgid ""
 "Package %s not installed, cannot update it. Run yum install to install it "
 "instead."
 msgstr ""
 
-#: ../yum/__init__.py:4078 ../yum/__init__.py:4085
+#: ../yum/__init__.py:5251 ../yum/__init__.py:5258
 #, python-format
 msgid ""
 "Package %s.%s not installed, cannot update it. Run yum install to install it "
 "instead."
 msgstr ""
 
-#: ../yum/__init__.py:4094 ../yum/__init__.py:4158 ../yum/__init__.py:4234
+#: ../yum/__init__.py:5267 ../yum/__init__.py:5330 ../yum/__init__.py:5422
 #, python-format
 msgid "Excluding %s"
 msgstr ""
 
-#: ../yum/__init__.py:4099
+#: ../yum/__init__.py:5272
 #, python-format
 msgid "Marking %s to be installed"
 msgstr ""
 
-#: ../yum/__init__.py:4105
+#: ../yum/__init__.py:5278
 #, python-format
 msgid "Marking %s as an update to %s"
 msgstr ""
 
-#: ../yum/__init__.py:4112
+#: ../yum/__init__.py:5285
 #, python-format
 msgid "%s: does not update installed package."
 msgstr ""
 
-#: ../yum/__init__.py:4147 ../yum/__init__.py:4223
+#: ../yum/__init__.py:5319 ../yum/__init__.py:5411
 #, python-format
 msgid "Cannot open file: %s. Skipping."
 msgstr ""
 
-#: ../yum/__init__.py:4177
+#: ../yum/__init__.py:5365
 msgid "Problem in reinstall: no package matched to remove"
 msgstr ""
 
-#: ../yum/__init__.py:4203
+#: ../yum/__init__.py:5392
 #, python-format
 msgid "Problem in reinstall: no package %s matched to install"
 msgstr ""
 
-#: ../yum/__init__.py:4311
+#: ../yum/__init__.py:5505
 msgid "No package(s) available to downgrade"
 msgstr ""
 
-#: ../yum/__init__.py:4319
+#: ../yum/__init__.py:5513
 #, python-format
 msgid "Package %s is allowed multiple installs, skipping"
 msgstr ""
 
-#: ../yum/__init__.py:4365
+#: ../yum/__init__.py:5563
 #, python-format
 msgid "No Match for available package: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4372
+#: ../yum/__init__.py:5573
 #, python-format
 msgid "Only Upgrade available on package: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4442 ../yum/__init__.py:4479
+#: ../yum/__init__.py:5686 ../yum/__init__.py:5753
 #, python-format
 msgid "Failed to downgrade: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4516
+#: ../yum/__init__.py:5703 ../yum/__init__.py:5759
+#, python-format
+msgid "Failed to upgrade: %s"
+msgstr ""
+
+#: ../yum/__init__.py:5792
 #, python-format
 msgid "Retrieving key from %s"
 msgstr ""
 
-#: ../yum/__init__.py:4534
+#: ../yum/__init__.py:5810
 msgid "GPG key retrieval failed: "
 msgstr ""
 
 #. if we decide we want to check, even though the sig failed
 #. here is where we would do that
-#: ../yum/__init__.py:4557
+#: ../yum/__init__.py:5833
 #, python-format
 msgid "GPG key signature on key %s does not match CA Key for repo: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4559
+#: ../yum/__init__.py:5835
 msgid "GPG key signature verified against CA Key(s)"
 msgstr ""
 
-#: ../yum/__init__.py:4567
+#: ../yum/__init__.py:5843
 #, python-format
 msgid "Invalid GPG Key from %s: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4576
+#: ../yum/__init__.py:5852
 #, python-format
 msgid "GPG key parsing failed: key does not have value %s"
 msgstr ""
 
-#: ../yum/__init__.py:4592
+#: ../yum/__init__.py:5868
 #, python-format
 msgid ""
 "Importing %s key 0x%s:\n"
-" Userid : %s\n"
-" Package: %s (%s)\n"
-" From   : %s"
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" Package    : %s (%s)\n"
+" From       : %s"
 msgstr ""
 
-#: ../yum/__init__.py:4600
+#: ../yum/__init__.py:5878
 #, python-format
 msgid ""
 "Importing %s key 0x%s:\n"
-" Userid: \"%s\"\n"
-" From  : %s"
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" From       : %s"
 msgstr ""
 
-#: ../yum/__init__.py:4634
+#: ../yum/__init__.py:5906
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" Failing package is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr ""
+
+#: ../yum/__init__.py:5920
 #, python-format
 msgid "GPG key at %s (0x%s) is already installed"
 msgstr ""
 
-#: ../yum/__init__.py:4671
+#: ../yum/__init__.py:5958
 #, python-format
 msgid "Key import failed (code %d)"
 msgstr ""
 
-#: ../yum/__init__.py:4672 ../yum/__init__.py:4755
+#: ../yum/__init__.py:5960 ../yum/__init__.py:6061
 msgid "Key imported successfully"
 msgstr ""
 
-#: ../yum/__init__.py:4676
+#: ../yum/__init__.py:5964
 msgid "Didn't install any keys"
 msgstr ""
 
-#: ../yum/__init__.py:4680
+#: ../yum/__init__.py:5967
 #, python-format
 msgid ""
 "The GPG keys listed for the \"%s\" repository are already installed but they "
@@ -2857,25 +3298,45 @@ msgid ""
 "Check that the correct key URLs are configured for this repository."
 msgstr ""
 
-#: ../yum/__init__.py:4689
+#: ../yum/__init__.py:5977
 msgid "Import of key(s) didn't help, wrong key(s)?"
 msgstr ""
 
-#: ../yum/__init__.py:4713
+#: ../yum/__init__.py:5999
+msgid "No"
+msgstr ""
+
+#: ../yum/__init__.py:6001
+msgid "Yes"
+msgstr ""
+
+#: ../yum/__init__.py:6002
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" CA Key: %s\n"
+" Failing repo is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr ""
+
+#: ../yum/__init__.py:6015
 #, python-format
 msgid "GPG key at %s (0x%s) is already imported"
 msgstr ""
 
-#: ../yum/__init__.py:4754
-msgid "Key import failed"
+#: ../yum/__init__.py:6059
+#, python-format
+msgid "Key %s import failed"
 msgstr ""
 
-#: ../yum/__init__.py:4770
+#: ../yum/__init__.py:6076
 #, python-format
 msgid "Didn't install any keys for repo %s"
 msgstr ""
 
-#: ../yum/__init__.py:4774
+#: ../yum/__init__.py:6081
 #, python-format
 msgid ""
 "The GPG keys listed for the \"%s\" repository are already installed but they "
@@ -2883,158 +3344,186 @@ msgid ""
 "Check that the correct key URLs are configured for this repository."
 msgstr ""
 
-#: ../yum/__init__.py:4924
+#: ../yum/__init__.py:6239
 msgid "Unable to find a suitable mirror."
 msgstr ""
 
-#: ../yum/__init__.py:4926
+#: ../yum/__init__.py:6241
 msgid "Errors were encountered while downloading packages."
 msgstr ""
 
-#: ../yum/__init__.py:4981
-#, python-format
-msgid "Please report this error at %s"
+#: ../yum/__init__.py:6282
+msgid "Running Transaction Check"
 msgstr ""
 
-#: ../yum/__init__.py:4998
+#: ../yum/__init__.py:6313
 msgid "Test Transaction Errors: "
 msgstr ""
 
-#: ../yum/__init__.py:5098
+#: ../yum/__init__.py:6425
 #, python-format
 msgid "Could not set cachedir: %s"
 msgstr ""
 
-#: ../yum/__init__.py:5148 ../yum/__init__.py:5150
+#: ../yum/__init__.py:6487 ../yum/__init__.py:6489
 msgid "Dependencies not solved. Will not save unresolved transaction."
 msgstr ""
 
-#: ../yum/__init__.py:5179 ../yum/__init__.py:5181
+#: ../yum/__init__.py:6522 ../yum/__init__.py:6524
 #, python-format
 msgid "Could not save transaction file %s: %s"
 msgstr ""
 
-#: ../yum/__init__.py:5195
-#, python-format
-msgid "Could not access/read saved transaction %s : %s"
-msgstr ""
-
-#: ../yum/__init__.py:5214
-msgid "rpmdb ver mismatched saved transaction version, "
+#: ../yum/__init__.py:6534
+msgid "File is empty."
 msgstr ""
 
-#: ../yum/__init__.py:5216
-msgid " ignoring, as requested."
+#: ../yum/__init__.py:6571
+#, python-format
+msgid "Could not access/read saved transaction %s : %s"
 msgstr ""
 
-#: ../yum/__init__.py:5219 ../yum/__init__.py:5354
-msgid " aborting."
+#: ../yum/__init__.py:6599
+msgid "rpmdb ver mismatched saved transaction version,"
 msgstr ""
 
-#: ../yum/__init__.py:5228
+#: ../yum/__init__.py:6613
 msgid "cannot find tsflags or tsflags not integer."
 msgstr ""
 
-#: ../yum/__init__.py:5267
+#: ../yum/__init__.py:6662
 #, python-format
 msgid "Found txmbr in unknown current state: %s"
 msgstr ""
 
-#: ../yum/__init__.py:5271
+#: ../yum/__init__.py:6666
 #, python-format
 msgid "Could not find txmbr: %s in state %s"
 msgstr ""
 
-#: ../yum/__init__.py:5307 ../yum/__init__.py:5324
+#: ../yum/__init__.py:6703 ../yum/__init__.py:6720
 #, python-format
 msgid "Could not find txmbr: %s from origin: %s"
 msgstr ""
 
-#: ../yum/__init__.py:5349
+#: ../yum/__init__.py:6745
 msgid "Transaction members, relations are missing or ts has been modified,"
 msgstr ""
 
-#: ../yum/__init__.py:5351
+#: ../yum/__init__.py:6748
 msgid " ignoring, as requested. You must redepsolve!"
 msgstr ""
 
+#. Debugging output
+#: ../yum/__init__.py:6816 ../yum/__init__.py:6835
+#, python-format
+msgid "%s has been visited already and cannot be removed."
+msgstr ""
+
+#. Debugging output
+#: ../yum/__init__.py:6819
+#, python-format
+msgid "Examining revdeps of %s"
+msgstr ""
+
+#. Debugging output
+#: ../yum/__init__.py:6840
+#, python-format
+msgid "%s has revdep %s which was user-installed."
+msgstr ""
+
+#: ../yum/__init__.py:6851 ../yum/__init__.py:6857
+#, python-format
+msgid "%s is needed by a package to be installed."
+msgstr ""
+
+#. Debugging output
+#: ../yum/__init__.py:6871
+#, python-format
+msgid "%s has no user-installed revdeps."
+msgstr ""
+
 #. Mostly copied from YumOutput._outKeyValFill()
-#: ../yum/plugins.py:209
+#: ../yum/plugins.py:212
 msgid "Loaded plugins: "
 msgstr ""
 
-#: ../yum/plugins.py:223 ../yum/plugins.py:229
+#: ../yum/plugins.py:226 ../yum/plugins.py:232
 #, python-format
 msgid "No plugin match for: %s"
 msgstr ""
 
-#: ../yum/plugins.py:259
+#: ../yum/plugins.py:262
 #, python-format
 msgid "Not loading \"%s\" plugin, as it is disabled"
 msgstr ""
 
 #. Give full backtrace:
-#: ../yum/plugins.py:271
+#: ../yum/plugins.py:274
 #, python-format
 msgid "Plugin \"%s\" can't be imported"
 msgstr ""
 
-#: ../yum/plugins.py:278
+#: ../yum/plugins.py:281
 #, python-format
 msgid "Plugin \"%s\" doesn't specify required API version"
 msgstr ""
 
-#: ../yum/plugins.py:283
+#: ../yum/plugins.py:286
 #, python-format
 msgid "Plugin \"%s\" requires API %s. Supported API is %s."
 msgstr ""
 
-#: ../yum/plugins.py:316
+#: ../yum/plugins.py:319
 #, python-format
 msgid "Loading \"%s\" plugin"
 msgstr ""
 
-#: ../yum/plugins.py:323
+#: ../yum/plugins.py:326
 #, python-format
 msgid ""
 "Two or more plugins with the name \"%s\" exist in the plugin search path"
 msgstr ""
 
-#: ../yum/plugins.py:343
+#: ../yum/plugins.py:346
 #, python-format
 msgid "Configuration file %s not found"
 msgstr ""
 
 #. for
 #. Configuration files for the plugin not found
-#: ../yum/plugins.py:346
+#: ../yum/plugins.py:349
 #, python-format
 msgid "Unable to find configuration file for plugin %s"
 msgstr ""
 
-#: ../yum/plugins.py:508
+#: ../yum/plugins.py:553
 msgid "registration of commands not supported"
 msgstr ""
 
-#: ../yum/rpmsack.py:148
+#: ../yum/rpmsack.py:159
 msgid "has missing requires of"
 msgstr ""
 
-#: ../yum/rpmsack.py:151
+#: ../yum/rpmsack.py:163
+msgid "has installed obsoletes"
+msgstr ""
+
+#: ../yum/rpmsack.py:167
 msgid "has installed conflicts"
 msgstr ""
 
-#: ../yum/rpmsack.py:160
+#: ../yum/rpmsack.py:176
 #, python-format
 msgid "%s is a duplicate with %s"
 msgstr ""
 
-#: ../yum/rpmsack.py:168
+#: ../yum/rpmsack.py:184
 #, python-format
 msgid "%s is obsoleted by %s"
 msgstr ""
 
-#: ../yum/rpmsack.py:176
+#: ../yum/rpmsack.py:192
 #, python-format
 msgid "%s provides %s but it cannot be found"
 msgstr ""
@@ -3043,6 +3532,23 @@ msgstr ""
 msgid "Repackaging"
 msgstr ""
 
+#: ../yum/rpmtrans.py:149
+#, python-format
+msgid "Verify: %u/%u: %s"
+msgstr ""
+
+#: ../yum/yumRepo.py:956
+#, python-format
+msgid ""
+"Insufficient space in download directory %s\n"
+"    * free   %s\n"
+"    * needed %s"
+msgstr ""
+
+#: ../yum/yumRepo.py:1022
+msgid "Package does not match intended download."
+msgstr ""
+
 #: ../rpmUtils/oldUtils.py:33
 #, python-format
 msgid "Header cannot be opened or does not match %s, %s."
diff --git a/po/zh_CN.po b/po/zh_CN.po
index 9fe1a5c..d0a0ab9 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -2,1513 +2,1651 @@
 # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
 # This file is distributed under the same license as the PACKAGE package.
 # 
-# Mike Ma <zhtx10@gmail.com>, 2011
-# lovenemesis <lovenemesis@gmail.com>, 2011
+# Translators:
+# Christopher Meng <cickumqt@gmail.com>, 2012-2013.
+#   <dd331@163.com>, 2012.
+# lovenemesis <lovenemesis@gmail.com>, 2011.
+# Mike Manilone <zhtx10@gmail.com>, 2012.
+# Mike Ma <zhtx10@gmail.com>, 2011.
+#   <qinghao1@foxmail.com>, 2012.
+# Tommy He <lovenemesis@gmail.com>, 2012-2013.
 msgid ""
 msgstr ""
 "Project-Id-Version: Yum\n"
-"Report-Msgid-Bugs-To: http://yum.baseurl.org/\n"
-"POT-Creation-Date: 2011-06-06 10:21-0400\n"
-"PO-Revision-Date: 2011-06-06 14:21+0000\n"
-"Last-Translator: skvidal <skvidal@fedoraproject.org>\n"
-"Language-Team: Chinese (China) (http://www.transifex.net/projects/p/yum/team/zh_CN/)\n"
+"Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
+"POT-Creation-Date: 2013-01-30 09:08-0500\n"
+"PO-Revision-Date: 2013-02-27 00:10+0000\n"
+"Last-Translator: Christopher Meng <cickumqt@gmail.com>\n"
+"Language-Team: Chinese (China) (http://www.transifex.com/projects/p/yum/language/zh_CN/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Language: zh_CN\n"
-"Plural-Forms: nplurals=1; plural=0\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
 
-#: ../callback.py:48 ../output.py:1037 ../yum/rpmtrans.py:73
+#: ../callback.py:45 ../output.py:1502 ../yum/rpmtrans.py:73
 msgid "Updating"
-msgstr "正在升级"
+msgstr "正在更新"
 
-#: ../callback.py:49 ../yum/rpmtrans.py:74
+#: ../callback.py:46 ../yum/rpmtrans.py:74
 msgid "Erasing"
 msgstr "正在删除"
 
-#: ../callback.py:50 ../callback.py:51 ../callback.py:53 ../output.py:1036
-#: ../output.py:2218 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
+#: ../callback.py:47 ../callback.py:48 ../callback.py:50 ../output.py:1501
+#: ../output.py:2922 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
 #: ../yum/rpmtrans.py:78
 msgid "Installing"
 msgstr "正在安装"
 
-#: ../callback.py:52 ../callback.py:58 ../output.py:1840 ../yum/rpmtrans.py:77
+#: ../callback.py:49 ../callback.py:55 ../output.py:2379 ../yum/rpmtrans.py:77
 msgid "Obsoleted"
-msgstr "被取代"
+msgstr "已废弃"
 
-#: ../callback.py:54 ../output.py:1169 ../output.py:1686 ../output.py:1847
+#: ../callback.py:51 ../output.py:1670 ../output.py:2222 ../output.py:2386
 msgid "Updated"
 msgstr "更新完毕"
 
-#: ../callback.py:55 ../output.py:1685
+#: ../callback.py:52 ../output.py:2221
 msgid "Erased"
 msgstr "已删除"
 
-#: ../callback.py:56 ../callback.py:57 ../callback.py:59 ../output.py:1167
-#: ../output.py:1685 ../output.py:1687 ../output.py:2190
+#: ../callback.py:53 ../callback.py:54 ../callback.py:56 ../output.py:1668
+#: ../output.py:2221 ../output.py:2223 ../output.py:2894
 msgid "Installed"
 msgstr "已安装"
 
-#: ../callback.py:130
+#: ../callback.py:142
 msgid "No header - huh?"
 msgstr "没有文件头 - 怎么回事？"
 
-#: ../callback.py:168
+#: ../callback.py:180
 msgid "Repackage"
 msgstr "重新打包"
 
-#: ../callback.py:189
+#: ../callback.py:201
 #, python-format
 msgid "Error: invalid output state: %s for %s"
-msgstr "错误：%s 输出状态不对：%s"
+msgstr "错误：%s 输出状态无效：%s"
 
-#: ../callback.py:212
+#: ../callback.py:224
 #, python-format
 msgid "Erased: %s"
 msgstr "已删除：%s"
 
-#: ../callback.py:217 ../output.py:1038 ../output.py:2193
+#: ../callback.py:229 ../output.py:1503 ../output.py:2897
 msgid "Removing"
 msgstr "正在删除"
 
-#: ../callback.py:219 ../yum/rpmtrans.py:79
+#: ../callback.py:231 ../yum/rpmtrans.py:79
 msgid "Cleanup"
 msgstr "清理"
 
-#: ../cli.py:115
+#: ../cli.py:122
 #, python-format
 msgid "Command \"%s\" already defined"
 msgstr "命令 \"%s\" 已有定义"
 
-#: ../cli.py:127
+#: ../cli.py:137
 msgid "Setting up repositories"
-msgstr "设置仓库"
+msgstr "正在设置更新源"
 
-#: ../cli.py:138
+#: ../cli.py:148
 msgid "Reading repository metadata in from local files"
-msgstr "从本地文件读入仓库元数据"
+msgstr "正在从本地文件读取源元数据"
 
-#: ../cli.py:245 ../utils.py:281
+#: ../cli.py:273 ../cli.py:277 ../utils.py:320
 #, python-format
 msgid "Config Error: %s"
 msgstr "配置错误：%s"
 
-#: ../cli.py:248 ../cli.py:1584 ../utils.py:284
+#: ../cli.py:280 ../cli.py:2206 ../utils.py:323
 #, python-format
 msgid "Options Error: %s"
-msgstr "属性错误：%s"
+msgstr "选项错误：%s"
 
-#: ../cli.py:293
+#: ../cli.py:327
 #, python-format
 msgid "  Installed: %s-%s at %s"
 msgstr "  已安装： %s-%s 在 %s"
 
-#: ../cli.py:295
+#: ../cli.py:329
 #, python-format
 msgid "  Built    : %s at %s"
 msgstr "  构建    ：%s 在 %s"
 
-#: ../cli.py:297
+#: ../cli.py:331
 #, python-format
 msgid "  Committed: %s at %s"
-msgstr "  已经提交：%s ，共 %s "
+msgstr "  已提交：%s ，共 %s "
 
-#: ../cli.py:336
+#: ../cli.py:372
 msgid "You need to give some command"
-msgstr "你需要给出命令"
+msgstr "您需要给出命令"
 
-#: ../cli.py:350
+#: ../cli.py:386
 #, python-format
 msgid "No such command: %s. Please use %s --help"
-msgstr "没有命令: %s。请使用 %s --help"
+msgstr "没有该命令：%s。请使用 %s --help"
 
-#: ../cli.py:400
+#: ../cli.py:444
 msgid "Disk Requirements:\n"
-msgstr "磁盘要求：\n"
+msgstr "空间需求：\n"
 
-#: ../cli.py:402
+#: ../cli.py:446
 #, python-format
 msgid "  At least %dMB more space needed on the %s filesystem.\n"
-msgstr "  至少需要 %d MB 以上的空间在文件系统 %s 上。\n"
+msgid_plural "  At least %dMB more space needed on the %s filesystem.\n"
+msgstr[0] " %d MB 以上的空间至少需要在文件系统 %s 上。\n"
 
 #. TODO: simplify the dependency errors?
 #. Fixup the summary
-#: ../cli.py:407
+#: ../cli.py:451
 msgid ""
 "Error Summary\n"
 "-------------\n"
-msgstr ""
-"出错情况\n"
-"-------------\n"
+msgstr "错误概要\n-------------\n"
+
+#: ../cli.py:472
+msgid "Can't create lock file; exiting"
+msgstr "无法创建锁文件，正在退出"
+
+#: ../cli.py:479
+msgid ""
+"Another app is currently holding the yum lock; exiting as configured by "
+"exit_on_lock"
+msgstr "另外一个程序锁定了 yum；遵循 exit_on_lock 设置退出"
 
-#: ../cli.py:450
+#: ../cli.py:532
 msgid "Trying to run the transaction but nothing to do. Exiting."
-msgstr "尝试执行事务但无须任何处理。现在退出。"
+msgstr "无须任何处理。正在退出。"
+
+#: ../cli.py:577
+msgid "future rpmdb ver mismatched saved transaction version,"
+msgstr "新的 RPM 数据库版本与已保存事务中的版本不匹配，"
+
+#: ../cli.py:579 ../yum/__init__.py:6523
+msgid " ignoring, as requested."
+msgstr " 忽略，作为请求。"
 
-#: ../cli.py:497
+#: ../cli.py:582 ../yum/__init__.py:6526 ../yum/__init__.py:6673
+msgid " aborting."
+msgstr " 终止。"
+
+#: ../cli.py:588
 msgid "Exiting on user Command"
-msgstr "在用户的命令下退出"
+msgstr "由于用户命令正在退出"
 
-#: ../cli.py:501
+#: ../cli.py:592
 msgid "Downloading Packages:"
-msgstr "下载软件包："
+msgstr "正在下载软件包："
 
-#: ../cli.py:506
+#: ../cli.py:597
 msgid "Error Downloading Packages:\n"
-msgstr "下载软件包出错：\n"
+msgstr "下载软件包时出错：\n"
 
-#: ../cli.py:525 ../yum/__init__.py:4967
+#: ../cli.py:616 ../yum/__init__.py:6215
 msgid "Running Transaction Check"
-msgstr ""
+msgstr "正在执行事务检查"
 
-#: ../cli.py:534 ../yum/__init__.py:4976
+#: ../cli.py:625 ../yum/__init__.py:6224
 msgid "ERROR You need to update rpm to handle:"
-msgstr "错误：您需要更新 rpm 以处理："
+msgstr "错误：您需要更新 RPM 以处理："
 
-#: ../cli.py:536 ../yum/__init__.py:4979
+#: ../cli.py:627 ../yum/__init__.py:6227
 msgid "ERROR with transaction check vs depsolve:"
-msgstr ""
+msgstr "事务检查与依赖解决错误："
 
-#: ../cli.py:542
+#: ../cli.py:633
 msgid "RPM needs to be updated"
 msgstr "RPM 需要更新"
 
-#: ../cli.py:543
+#: ../cli.py:634
 #, python-format
 msgid "Please report this error in %s"
-msgstr "请在%s报告此错误"
+msgstr "请在 %s 报告此错误"
 
-#: ../cli.py:549
+#: ../cli.py:640
 msgid "Running Transaction Test"
-msgstr "执行事务测试"
+msgstr "正在执行事务检查"
 
-#: ../cli.py:561
+#: ../cli.py:652
 msgid "Transaction Check Error:\n"
-msgstr "事务检验出错：\n"
+msgstr "事务检查出错：\n"
 
-#: ../cli.py:568
+#: ../cli.py:659
 msgid "Transaction Test Succeeded"
-msgstr "事务测试成功"
+msgstr "事务测试完成"
 
-#: ../cli.py:600
+#: ../cli.py:691
 msgid "Running Transaction"
-msgstr "执行事务"
+msgstr "正在执行事务"
 
-#: ../cli.py:630
+#: ../cli.py:724
 msgid ""
 "Refusing to automatically import keys when running unattended.\n"
 "Use \"-y\" to override."
-msgstr ""
-"如果不加干预，拒绝自动导入密钥。\n"
-"指定 \"-y\" 改变这个行为。"
+msgstr "如果不加干预，拒绝自动导入密钥。\n指定 \"-y\" 改变这个行为。"
 
-#: ../cli.py:649 ../cli.py:692
+#: ../cli.py:743 ../cli.py:786
 msgid "  * Maybe you meant: "
-msgstr "  * 也许您希望："
+msgstr "  * 也许您想要："
 
-#: ../cli.py:675 ../cli.py:683
+#: ../cli.py:769 ../cli.py:777
 #, python-format
 msgid "Package(s) %s%s%s available, but not installed."
-msgstr "包 %s%s%s 可用，但未安装。"
+msgstr "软件包 %s%s%s 可用，但尚未安装。"
 
-#: ../cli.py:689 ../cli.py:722 ../cli.py:908
+#: ../cli.py:783 ../cli.py:891 ../cli.py:1158
 #, python-format
 msgid "No package %s%s%s available."
-msgstr "没有可用的包 %s%s%s。"
+msgstr "没有可用软件包 %s%s%s。"
 
-#: ../cli.py:729 ../cli.py:973
-msgid "Package(s) to install"
-msgstr "将安装的软件包"
+#: ../cli.py:871 ../cli.py:881 ../cli.py:1101 ../cli.py:1111
+#, python-format
+msgid "Bad %s argument %s."
+msgstr "错误 %s 参数 %s。"
+
+#: ../cli.py:900 ../yumcommands.py:3331
+#, python-format
+msgid "%d package to install"
+msgid_plural "%d packages to install"
+msgstr[0] "%d 个软件包将被安装"
 
-#: ../cli.py:732 ../cli.py:733 ../cli.py:914 ../cli.py:948 ../cli.py:974
-#: ../yumcommands.py:190
+#: ../cli.py:903 ../cli.py:904 ../cli.py:1169 ../cli.py:1170 ../cli.py:1224
+#: ../cli.py:1225 ../cli.py:1260 ../yumcommands.py:323 ../yumcommands.py:3419
 msgid "Nothing to do"
 msgstr "无须任何处理"
 
-#: ../cli.py:767
+#: ../cli.py:953
 #, python-format
-msgid "%d packages marked for Update"
-msgstr "升级 %d 个软件包"
+msgid "%d package marked for Update"
+msgid_plural "%d packages marked for Update"
+msgstr[0] "%d 个软件包标记为更新"
 
-#: ../cli.py:770
+#: ../cli.py:955
 msgid "No Packages marked for Update"
-msgstr "不升级任何软件包"
+msgstr "不更新任何软件包"
 
-#: ../cli.py:866
+#: ../cli.py:1067
 #, python-format
-msgid "%d packages marked for Distribution Synchronization"
-msgstr "已标记的欲分布同步的%d个包"
+msgid "%d package marked for Distribution Synchronization"
+msgid_plural "%d packages marked for Distribution Synchronization"
+msgstr[0] "%d 个软件包标记为发行版同步"
 
-#: ../cli.py:869
+#: ../cli.py:1069
 msgid "No Packages marked for Distribution Synchronization"
-msgstr "没有已标记的欲分布同步的包"
+msgstr "没有发行版同步软件包"
 
-#: ../cli.py:885
+#: ../cli.py:1124
 #, python-format
-msgid "%d packages marked for removal"
-msgstr "删除 %d 个软件包"
+msgid "%d package marked for removal"
+msgid_plural "%d packages marked for removal"
+msgstr[0] "%d 个软件包标记为移除"
 
-#: ../cli.py:888
+#: ../cli.py:1126
 msgid "No Packages marked for removal"
 msgstr "不删除任何软件包"
 
-#: ../cli.py:913
-msgid "Package(s) to downgrade"
-msgstr "要降级的包"
+#: ../cli.py:1166
+#, python-format
+msgid "%d package to downgrade"
+msgid_plural "%d packages to downgrade"
+msgstr[0] "%d 个软件包要降级"
 
-#: ../cli.py:938
+#: ../cli.py:1207
 #, python-format
 msgid " (from %s)"
 msgstr "（来自 %s）"
 
-#: ../cli.py:939
+#: ../cli.py:1208
 #, python-format
 msgid "Installed package %s%s%s%s not available."
-msgstr "安装的包 %s%s%s%s 不可用。"
+msgstr "已安装的软件包 %s%s%s%s 不可用。"
 
-#: ../cli.py:947
-msgid "Package(s) to reinstall"
-msgstr "重装的包"
+#: ../cli.py:1221
+#, python-format
+msgid "%d package to reinstall"
+msgid_plural "%d packages to reinstall"
+msgstr[0] "%d 个软件包要重新安装"
 
-#: ../cli.py:960
+#: ../cli.py:1246
 msgid "No Packages Provided"
 msgstr "未指定软件包"
 
-#: ../cli.py:1058
+#: ../cli.py:1259
+msgid "Package(s) to install"
+msgstr "将安装的软件包"
+
+#: ../cli.py:1367
 #, python-format
 msgid "N/S Matched: %s"
-msgstr ""
+msgstr "N/S 匹配：%s"
 
-#: ../cli.py:1075
+#: ../cli.py:1384
 #, python-format
 msgid "  Name and summary matches %sonly%s, use \"search all\" for everything."
-msgstr ""
+msgstr "  名称和简介匹配 %sonly%s，使用“search all”试试。"
 
-#: ../cli.py:1077
+#: ../cli.py:1386
 #, python-format
 msgid ""
 "  Full name and summary matches %sonly%s, use \"search all\" for everything."
-msgstr ""
+msgstr "  全名和简介匹配 %sonly%s，使用“search all”试试。"
 
-#: ../cli.py:1095
+#: ../cli.py:1404
 #, python-format
 msgid "Matched: %s"
 msgstr "匹配：%s"
 
-#: ../cli.py:1102
+#: ../cli.py:1411
 #, python-format
 msgid "  Name and summary matches %smostly%s, use \"search all\" for everything."
-msgstr ""
+msgstr "  名称和简介匹配 %smonstly%s，使用“search all”试试。"
 
-#: ../cli.py:1106
+#: ../cli.py:1415
 #, python-format
 msgid "Warning: No matches found for: %s"
 msgstr "警告：没有匹配 %s 的软件包"
 
-#: ../cli.py:1109
+#: ../cli.py:1418
 msgid "No Matches found"
-msgstr "没有找到匹配的软件包"
+msgstr "未找到匹配的软件包"
 
-#: ../cli.py:1174
+#: ../cli.py:1536
 #, python-format
-msgid "No Package Found for %s"
-msgstr "没有找到 %s 软件包"
+msgid ""
+"Error: No Packages found for:\n"
+"  %s"
+msgstr "错误：未找到软件包：\n  %s"
 
-#: ../cli.py:1184
+#: ../cli.py:1572
 msgid "Cleaning repos: "
-msgstr "正在清理仓库： "
+msgstr "正在清理软件源： "
 
-#: ../cli.py:1189
+#: ../cli.py:1577
 msgid "Cleaning up Everything"
-msgstr "清理一切"
+msgstr "清除全部"
 
-#: ../cli.py:1205
+#: ../cli.py:1593
 msgid "Cleaning up Headers"
-msgstr "清理文件头缓存"
+msgstr "清除文件头缓存"
 
-#: ../cli.py:1208
+#: ../cli.py:1596
 msgid "Cleaning up Packages"
-msgstr "清理软件包"
+msgstr "清除软件包缓存"
 
-#: ../cli.py:1211
+#: ../cli.py:1599
 msgid "Cleaning up xml metadata"
-msgstr "清理 XML 元数据"
+msgstr "清除 XML 元数据"
 
-#: ../cli.py:1214
+#: ../cli.py:1602
 msgid "Cleaning up database cache"
-msgstr "清理数据库缓存"
+msgstr "清除数据库缓存"
 
-#: ../cli.py:1217
+#: ../cli.py:1605
 msgid "Cleaning up expire-cache metadata"
-msgstr "清理过期缓存元数据"
+msgstr "清除过期的缓存元数据"
 
-#: ../cli.py:1220
+#: ../cli.py:1608
 msgid "Cleaning up cached rpmdb data"
-msgstr "正在清理缓存rpmdb数据"
+msgstr "正在清除 RPM 数据库缓存"
 
-#: ../cli.py:1223
+#: ../cli.py:1611
 msgid "Cleaning up plugins"
-msgstr "清理插件"
+msgstr "清除插件缓存"
 
-#: ../cli.py:1247
-#, python-format
-msgid "Warning: No groups match: %s"
-msgstr ""
+#: ../cli.py:1727
+msgid "Installed Environment Groups:"
+msgstr "已安装环境分组："
+
+#: ../cli.py:1728
+msgid "Available Environment Groups:"
+msgstr "可用的环境分组："
 
-#: ../cli.py:1264
+#: ../cli.py:1735
 msgid "Installed Groups:"
 msgstr "已安装的组："
 
-#: ../cli.py:1270
+#: ../cli.py:1742
 msgid "Installed Language Groups:"
-msgstr ""
+msgstr "已安装的语言组："
 
-#: ../cli.py:1276
+#: ../cli.py:1749
 msgid "Available Groups:"
-msgstr "有效的组:"
+msgstr "可用组："
 
-#: ../cli.py:1282
+#: ../cli.py:1756
 msgid "Available Language Groups:"
-msgstr ""
+msgstr "可用语言组："
+
+#: ../cli.py:1759
+#, python-format
+msgid "Warning: No Environments/Groups match: %s"
+msgstr "警告：没有环境/分组匹配：%s"
 
-#: ../cli.py:1285
+#: ../cli.py:1763
 msgid "Done"
 msgstr "完成"
 
-#: ../cli.py:1296 ../cli.py:1314 ../cli.py:1320 ../yum/__init__.py:3313
+#: ../cli.py:1818
+#, python-format
+msgid "Warning: Group/Environment %s does not exist."
+msgstr "警告：分组/环境 %s 不存在。"
+
+#: ../cli.py:1859
+#, python-format
+msgid "Warning: Environment %s does not exist."
+msgstr "警告：环境 %s 不存在。"
+
+#: ../cli.py:1873 ../cli.py:1879 ../yum/__init__.py:4254
 #, python-format
 msgid "Warning: Group %s does not exist."
 msgstr "警告：组 %s 不存在。"
 
-#: ../cli.py:1324
+#: ../cli.py:1883
 msgid "No packages in any requested group available to install or update"
 msgstr "指定组中没有可安装或升级的软件包"
 
-#: ../cli.py:1326
+#: ../cli.py:1885
 #, python-format
-msgid "%d Package(s) to Install"
-msgstr "安装 %d 个软件包"
+msgid "%d package to Install"
+msgid_plural "%d packages to Install"
+msgstr[0] "%d 个软件包要安装"
 
-#: ../cli.py:1336 ../yum/__init__.py:3325
+#: ../cli.py:1919 ../yum/__init__.py:3536 ../yum/__init__.py:3766
+#: ../yum/__init__.py:3824
+#, python-format
+msgid "No Environment named %s exists"
+msgstr "没有名为 %s 的环境存在。"
+
+#: ../cli.py:1935 ../yum/__init__.py:4282
 #, python-format
 msgid "No group named %s exists"
 msgstr "没有名为 %s 的组"
 
-#: ../cli.py:1342
+#: ../cli.py:1945
 msgid "No packages to remove from groups"
-msgstr "指定组中没有要删除的软件包"
+msgstr "指定组中没有要移除的软件包"
 
-#: ../cli.py:1344
+#: ../cli.py:1947 ../yumcommands.py:3351
 #, python-format
-msgid "%d Package(s) to remove"
-msgstr "删除 %d 个软件包"
+msgid "%d package to remove"
+msgid_plural "%d packages to remove"
+msgstr[0] "%d 个软件包要移除"
 
-#: ../cli.py:1386
+#: ../cli.py:1988
 #, python-format
 msgid "Package %s is already installed, skipping"
 msgstr "略过已安装的 %s 软件包"
 
-#: ../cli.py:1397
+#: ../cli.py:1999
 #, python-format
 msgid "Discarding non-comparable pkg %s.%s"
 msgstr "丢弃不可比较的软件包 %s.%s"
 
 #. we've not got any installed that match n or n+a
-#: ../cli.py:1423
+#: ../cli.py:2025
 #, python-format
 msgid "No other %s installed, adding to list for potential install"
 msgstr "%s 未安装，加入列表以备安装"
 
-#: ../cli.py:1443
+#: ../cli.py:2045
 msgid "Plugin Options"
 msgstr "插件选项"
 
-#: ../cli.py:1451
+#: ../cli.py:2057
 #, python-format
 msgid "Command line error: %s"
 msgstr "命令行错误：%s"
 
-#: ../cli.py:1467
+#: ../cli.py:2079
 #, python-format
 msgid ""
 "\n"
 "\n"
 "%s: %s option requires an argument"
-msgstr ""
-"\n"
-"\n"
-"%s: %s 选项需要参数"
+msgstr "\n\n%s: %s 选项需要参数"
 
-#: ../cli.py:1521
+#: ../cli.py:2147
 msgid "--color takes one of: auto, always, never"
 msgstr "--color 需要参数：auto, always, never"
 
 #. We have a relative installroot ... haha
-#: ../cli.py:1596
+#: ../cli.py:2218
 #, python-format
 msgid "--installroot must be an absolute path: %s"
-msgstr ""
+msgstr "-- 安装根必须是绝对路径：%s"
 
-#: ../cli.py:1642
+#: ../cli.py:2272
 msgid "show this help message and exit"
 msgstr "显示此帮助消息并退出"
 
-#: ../cli.py:1646
+#: ../cli.py:2276
 msgid "be tolerant of errors"
-msgstr "容忍错误"
+msgstr "忽略错误"
 
-#: ../cli.py:1649
+#: ../cli.py:2279
 msgid "run entirely from system cache, don't update cache"
 msgstr "完全从系统缓存运行，不升级缓存"
 
-#: ../cli.py:1652
+#: ../cli.py:2282
 msgid "config file location"
 msgstr "配置文件路径"
 
-#: ../cli.py:1655
+#: ../cli.py:2285
 msgid "maximum command wait time"
 msgstr "命令最长等待时间"
 
-#: ../cli.py:1657
+#: ../cli.py:2287
 msgid "debugging output level"
 msgstr "调试输出级别"
 
-#: ../cli.py:1661
+#: ../cli.py:2291
 msgid "show duplicates, in repos, in list/search commands"
-msgstr "在 list/search 命令下，显示仓库里重复的条目"
+msgstr "在 list/search 命令下，显示源里重复的条目"
 
-#: ../cli.py:1663
+#: ../cli.py:2296
 msgid "error output level"
 msgstr "错误输出级别"
 
-#: ../cli.py:1666
+#: ../cli.py:2299
 msgid "debugging output level for rpm"
-msgstr "rpm调试输出等级"
+msgstr "RPM 调试输出级别"
 
-#: ../cli.py:1669
+#: ../cli.py:2302
 msgid "quiet operation"
-msgstr "安静的操作"
+msgstr "静默执行"
 
-#: ../cli.py:1671
+#: ../cli.py:2304
 msgid "verbose operation"
 msgstr "详尽的操作过程"
 
-#: ../cli.py:1673
+#: ../cli.py:2306
 msgid "answer yes for all questions"
-msgstr "回答所有的问题为是"
+msgstr "回答全部问题为是"
+
+#: ../cli.py:2308
+msgid "answer no for all questions"
+msgstr "回答全部问题为否"
 
-#: ../cli.py:1675
+#: ../cli.py:2312
 msgid "show Yum version and exit"
-msgstr "显示 Yum 版本信息并退出"
+msgstr "显示 Yum 版本然后退出"
 
-#: ../cli.py:1676
+#: ../cli.py:2313
 msgid "set install root"
-msgstr "设置目标根目录"
+msgstr "设置安装根目录"
 
-#: ../cli.py:1680
+#: ../cli.py:2317
 msgid "enable one or more repositories (wildcards allowed)"
-msgstr "启用一个或多个仓库(支持通配符)"
+msgstr "启用一个或多个软件源(支持通配符)"
 
-#: ../cli.py:1684
+#: ../cli.py:2321
 msgid "disable one or more repositories (wildcards allowed)"
-msgstr "禁用一个或多个仓库(支持通配符)"
+msgstr "禁用一个或多个软件源(支持通配符)"
 
-#: ../cli.py:1687
+#: ../cli.py:2324
 msgid "exclude package(s) by name or glob"
-msgstr "用全名或通配符排除软件包"
+msgstr "采用全名或通配符排除软件包"
 
-#: ../cli.py:1689
+#: ../cli.py:2326
 msgid "disable exclude from main, for a repo or for everything"
-msgstr "禁止从主配置，从仓库或者从任何位置排除"
+msgstr "禁止从主配置，从源或者从任何位置排除"
 
-#: ../cli.py:1692
+#: ../cli.py:2329
 msgid "enable obsoletes processing during updates"
-msgstr "升级时考虑软件包取代关系"
+msgstr "更新时处理软件包取代关系"
 
-#: ../cli.py:1694
+#: ../cli.py:2331
 msgid "disable Yum plugins"
 msgstr "禁用 Yum 插件"
 
-#: ../cli.py:1696
+#: ../cli.py:2333
 msgid "disable gpg signature checking"
-msgstr "禁用 gpg 签名检测"
+msgstr "禁用 GPG 签名检查"
 
-#: ../cli.py:1698
+#: ../cli.py:2335
 msgid "disable plugins by name"
 msgstr "禁用指定名称的插件"
 
-#: ../cli.py:1701
+#: ../cli.py:2338
 msgid "enable plugins by name"
-msgstr "由名称启用插件"
+msgstr "启用指定名称的插件"
 
-#: ../cli.py:1704
+#: ../cli.py:2341
 msgid "skip packages with depsolving problems"
-msgstr "跳过有依赖问题的软件包"
+msgstr "忽略存在依赖关系问题的软件包"
 
-#: ../cli.py:1706
+#: ../cli.py:2343
 msgid "control whether color is used"
 msgstr "配置是否使用颜色"
 
-#: ../cli.py:1708
+#: ../cli.py:2345
 msgid "set value of $releasever in yum config and repo files"
-msgstr "在yum配置和repo文件里设置$releasever的值"
+msgstr "在 yum 配置和 repo 文件里设置 $releasever 的值"
+
+#: ../cli.py:2347
+msgid "don't update, just download"
+msgstr "仅下载而不更新"
 
-#: ../cli.py:1710
+#: ../cli.py:2349
+msgid "specifies an alternate directory to store packages"
+msgstr "指定一个其他文件夹用于保存软件包"
+
+#: ../cli.py:2351
 msgid "set arbitrary config and repo options"
-msgstr "设置任意配置和仓库选项"
+msgstr "设置任意配置和源选项"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Jan"
 msgstr "一月"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Feb"
 msgstr "二月"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Mar"
 msgstr "三月"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Apr"
 msgstr "四月"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "May"
 msgstr "五月"
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Jun"
 msgstr "六月"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Jul"
 msgstr "七月"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Aug"
 msgstr "八月"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Sep"
 msgstr "九月"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Oct"
 msgstr "十月"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Nov"
 msgstr "十一月"
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Dec"
 msgstr "十二月"
 
-#: ../output.py:318
+#: ../output.py:473
 msgid "Trying other mirror."
-msgstr "尝试其他镜像。"
+msgstr "正在尝试其它镜像。"
 
-#: ../output.py:581
+#: ../output.py:816
 #, python-format
 msgid "Name        : %s%s%s"
-msgstr "名称        ：%s%s%s"
+msgstr "名称    ：%s%s%s"
 
-#: ../output.py:582
+#: ../output.py:817
 #, python-format
 msgid "Arch        : %s"
-msgstr "构架        :%s"
+msgstr "架构    ：%s"
 
-#: ../output.py:584
+#: ../output.py:819
 #, python-format
 msgid "Epoch       : %s"
-msgstr "时期       : %s"
+msgstr "时期       ：%s"
 
-#: ../output.py:585
+#: ../output.py:820
 #, python-format
 msgid "Version     : %s"
-msgstr "版本     ：%s"
+msgstr "版本    ：%s"
 
-#: ../output.py:586
+#: ../output.py:821
 #, python-format
 msgid "Release     : %s"
-msgstr "发布     ：%s"
+msgstr "发布    ：%s"
 
-#: ../output.py:587
+#: ../output.py:822
 #, python-format
 msgid "Size        : %s"
-msgstr "大小        ：%s"
+msgstr "大小    ：%s"
 
-#: ../output.py:588 ../output.py:900
+#: ../output.py:823 ../output.py:1329
 #, python-format
 msgid "Repo        : %s"
-msgstr "仓库        ：%s"
+msgstr "源    ：%s"
 
-#: ../output.py:590
+#: ../output.py:825
 #, python-format
 msgid "From repo   : %s"
-msgstr "来自仓库   ：%s"
+msgstr "来自源：%s"
 
-#: ../output.py:592
+#: ../output.py:827
 #, python-format
 msgid "Committer   : %s"
 msgstr "提交者   ：%s"
 
-#: ../output.py:593
+#: ../output.py:828
 #, python-format
 msgid "Committime  : %s"
 msgstr "提交时间  ：%s"
 
-#: ../output.py:594
+#: ../output.py:829
 #, python-format
 msgid "Buildtime   : %s"
 msgstr "构建时间：%s"
 
-#: ../output.py:596
+#: ../output.py:831
 #, python-format
 msgid "Install time: %s"
 msgstr "安装时间：%s"
 
-#: ../output.py:604
+#: ../output.py:839
 #, python-format
 msgid "Installed by: %s"
-msgstr "由 %s 安装"
+msgstr "由 %s 安装："
 
-#: ../output.py:611
+#: ../output.py:846
 #, python-format
 msgid "Changed by  : %s"
 msgstr "由 %s 修改"
 
-#: ../output.py:612
+#: ../output.py:847
 msgid "Summary     : "
-msgstr "简介     ： "
+msgstr "简介    ： "
 
-#: ../output.py:614 ../output.py:913
+#: ../output.py:849 ../output.py:1345
 #, python-format
 msgid "URL         : %s"
-msgstr "网址         ：%s"
+msgstr "网址    ：%s"
 
-#: ../output.py:615
+#: ../output.py:850
 msgid "License     : "
-msgstr "协议     ： "
+msgstr "协议    ： "
 
-#: ../output.py:616 ../output.py:910
+#: ../output.py:851 ../output.py:1342
 msgid "Description : "
-msgstr "描述： "
+msgstr "描述    ： "
 
-#: ../output.py:684
+#: ../output.py:969
 msgid "y"
 msgstr "y"
 
-#: ../output.py:684
+#: ../output.py:969
 msgid "yes"
 msgstr "是"
 
-#: ../output.py:685
+#: ../output.py:970
 msgid "n"
 msgstr "n"
 
-#: ../output.py:685
+#: ../output.py:970
 msgid "no"
 msgstr "否"
 
-#: ../output.py:689
+#: ../output.py:974
 msgid "Is this ok [y/N]: "
-msgstr "确定吗？[y/N]："
+msgstr "是否继续？[y/N]："
 
-#: ../output.py:777
+#: ../output.py:1097
 #, python-format
 msgid ""
 "\n"
 "Group: %s"
-msgstr ""
-"\n"
-"组：%s"
+msgstr "\n组：%s"
 
-#: ../output.py:781
+#: ../output.py:1101
 #, python-format
 msgid " Group-Id: %s"
 msgstr " 组编号：%s"
 
-#: ../output.py:786
+#: ../output.py:1122 ../output.py:1169
 #, python-format
 msgid " Description: %s"
 msgstr " 描述：%s"
 
-#: ../output.py:788
+#: ../output.py:1124
 #, python-format
 msgid " Language: %s"
-msgstr ""
+msgstr " 语言：%s"
 
-#: ../output.py:790
+#: ../output.py:1126
 msgid " Mandatory Packages:"
 msgstr " 必要的软件包："
 
-#: ../output.py:791
+#: ../output.py:1127
 msgid " Default Packages:"
 msgstr " 默认的软件包："
 
-#: ../output.py:792
+#: ../output.py:1128
 msgid " Optional Packages:"
 msgstr " 可选的软件包："
 
-#: ../output.py:793
+#: ../output.py:1129
 msgid " Conditional Packages:"
 msgstr " 可能的软件包："
 
-#: ../output.py:814
+#: ../output.py:1147
+msgid " Installed Packages:"
+msgstr " 已安装的软件包："
+
+#: ../output.py:1157
+#, python-format
+msgid ""
+"\n"
+"Environment Group: %s"
+msgstr "\n环境分组：%s"
+
+#: ../output.py:1158
+#, python-format
+msgid " Environment-Id: %s"
+msgstr "环境 ID：%s"
+
+#: ../output.py:1191
+msgid " Mandatory Groups:"
+msgstr "必备组："
+
+#: ../output.py:1192
+msgid " Optional Groups:"
+msgstr "可选组："
+
+#: ../output.py:1205
+msgid " Installed Groups:"
+msgstr "已安装组："
+
+#: ../output.py:1217
 #, python-format
 msgid "package: %s"
 msgstr "软件包：%s"
 
-#: ../output.py:816
+#: ../output.py:1219
 msgid "  No dependencies for this package"
 msgstr " 此软件包无依赖关系"
 
-#: ../output.py:821
+#: ../output.py:1224
 #, python-format
 msgid "  dependency: %s"
-msgstr "   依赖: %s"
+msgstr "   依赖：%s"
 
-#: ../output.py:823
+#: ../output.py:1226
 msgid "   Unsatisfied dependency"
-msgstr " 不满足的依赖关系"
+msgstr " 不良依赖关系"
 
-#: ../output.py:901
+#: ../output.py:1337
 msgid "Matched from:"
-msgstr "匹配来自于:"
+msgstr "匹配来源："
 
-#: ../output.py:916
+#: ../output.py:1348
 #, python-format
 msgid "License     : %s"
-msgstr "协议     ：%s"
+msgstr "协议    ：%s"
 
-#: ../output.py:919
+#: ../output.py:1351
 #, python-format
 msgid "Filename    : %s"
 msgstr "文件名    ：%s"
 
-#: ../output.py:923
+#: ../output.py:1360
+msgid "Provides    : "
+msgstr "提供    ："
+
+#: ../output.py:1363
 msgid "Other       : "
 msgstr "其他       ： "
 
-#: ../output.py:966
+#: ../output.py:1426
 msgid "There was an error calculating total download size"
 msgstr "计算总下载量时出错"
 
-#: ../output.py:971
+#: ../output.py:1431
 #, python-format
 msgid "Total size: %s"
-msgstr "总文件大小：%s"
+msgstr "总计：%s"
 
-#: ../output.py:974
+#: ../output.py:1433
 #, python-format
 msgid "Total download size: %s"
 msgstr "总下载量：%s"
 
-#: ../output.py:978 ../output.py:998
+#: ../output.py:1436 ../output.py:1459 ../output.py:1463
 #, python-format
 msgid "Installed size: %s"
 msgstr "安装大小：%s"
 
-#: ../output.py:994
+#: ../output.py:1454
 msgid "There was an error calculating installed size"
-msgstr "有一个错误计算安装大小"
+msgstr "计算安装大小时出错"
 
-#: ../output.py:1039
+#: ../output.py:1504
 msgid "Reinstalling"
 msgstr "重新安装"
 
-#: ../output.py:1040
+#: ../output.py:1505
 msgid "Downgrading"
 msgstr "正在降级"
 
-#: ../output.py:1041
+#: ../output.py:1506
 msgid "Installing for dependencies"
 msgstr "为依赖而安装"
 
-#: ../output.py:1042
+#: ../output.py:1507
 msgid "Updating for dependencies"
 msgstr "为依赖而更新"
 
-#: ../output.py:1043
+#: ../output.py:1508
 msgid "Removing for dependencies"
 msgstr "为依赖而移除"
 
-#: ../output.py:1050 ../output.py:1171
+#: ../output.py:1515 ../output.py:1576 ../output.py:1672
 msgid "Skipped (dependency problems)"
 msgstr "跳过（依赖问题）"
 
-#: ../output.py:1052 ../output.py:1687
+#: ../output.py:1517 ../output.py:1577 ../output.py:2223
 msgid "Not installed"
 msgstr "未安装"
 
-#: ../output.py:1053
+#: ../output.py:1518 ../output.py:1578
 msgid "Not available"
-msgstr ""
+msgstr "不可用"
 
-#: ../output.py:1075 ../output.py:2024
+#: ../output.py:1540 ../output.py:1588 ../output.py:1604 ../output.py:2581
 msgid "Package"
-msgstr "软件包"
+msgid_plural "Packages"
+msgstr[0] "软件包"
 
-#: ../output.py:1075
+#: ../output.py:1540
 msgid "Arch"
 msgstr "架构"
 
-#: ../output.py:1076
+#: ../output.py:1541
 msgid "Version"
 msgstr "版本"
 
-#: ../output.py:1076
+#: ../output.py:1541
 msgid "Repository"
-msgstr "仓库"
+msgstr "源"
 
-#: ../output.py:1077
+#: ../output.py:1542
 msgid "Size"
 msgstr "大小"
 
-#: ../output.py:1089
+#: ../output.py:1554
 #, python-format
 msgid "     replacing  %s%s%s.%s %s\n"
 msgstr "      替换  %s%s%s.%s %s\n"
 
-#: ../output.py:1098
+#: ../output.py:1563
 #, python-format
 msgid ""
 "\n"
 "Transaction Summary\n"
 "%s\n"
-msgstr ""
-"\n"
-"事务概要\n"
-"%s\n"
+msgstr "\n事务概要\n%s\n"
 
-#: ../output.py:1109
-#, python-format
-msgid "Install   %5.5s Package(s)\n"
-msgstr "安装   %5.5s 个包\n"
+#: ../output.py:1568 ../output.py:2376 ../output.py:2377
+msgid "Install"
+msgstr "安装"
 
-#: ../output.py:1113
-#, python-format
-msgid "Upgrade   %5.5s Package(s)\n"
-msgstr "升级   %5.5s 个包\n"
+#: ../output.py:1570
+msgid "Upgrade"
+msgstr "升级"
 
-#: ../output.py:1117
-#, python-format
-msgid "Remove    %5.5s Package(s)\n"
-msgstr "移除    %5.5s 个包\n"
+#: ../output.py:1572
+msgid "Remove"
+msgstr "移除"
 
-#: ../output.py:1121
-#, python-format
-msgid "Reinstall %5.5s Package(s)\n"
-msgstr "重新安装 %5.5s 个包\n"
+#: ../output.py:1574 ../output.py:2382
+msgid "Reinstall"
+msgstr "重新安装"
 
-#: ../output.py:1125
-#, python-format
-msgid "Downgrade %5.5s Package(s)\n"
-msgstr "降级 %5.5s 个包\n"
+#: ../output.py:1575 ../output.py:2383
+msgid "Downgrade"
+msgstr "降级"
+
+#: ../output.py:1606
+msgid "Dependent package"
+msgid_plural "Dependent packages"
+msgstr[0] "依赖软件包"
 
-#: ../output.py:1165
+#: ../output.py:1666
 msgid "Removed"
 msgstr "删除"
 
-#: ../output.py:1166
+#: ../output.py:1667
 msgid "Dependency Removed"
 msgstr "作为依赖被删除"
 
-#: ../output.py:1168
+#: ../output.py:1669
 msgid "Dependency Installed"
 msgstr "作为依赖被安装"
 
-#: ../output.py:1170
+#: ../output.py:1671
 msgid "Dependency Updated"
 msgstr "作为依赖被升级"
 
-#: ../output.py:1172
+#: ../output.py:1673
 msgid "Replaced"
 msgstr "替代"
 
-#: ../output.py:1173
+#: ../output.py:1674
 msgid "Failed"
 msgstr "失败"
 
 #. Delta between C-c's so we treat as exit
-#: ../output.py:1260
+#: ../output.py:1764
 msgid "two"
 msgstr "二"
 
 #. For translators: This is output like:
 #. Current download cancelled, interrupt (ctrl-c) again within two seconds
 #. to exit.
-#. Where "interupt (ctrl-c) again" and "two" are highlighted.
-#: ../output.py:1271
+#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
+#: ../output.py:1775
 #, python-format
 msgid ""
 "\n"
 " Current download cancelled, %sinterrupt (ctrl-c) again%s within %s%s%s seconds\n"
 "to exit.\n"
-msgstr ""
-"\n"
-" 当前下载已取消，再次输入%s个中断(ctrl-c)%s于 %s%s%s 秒内\n"
-"以退出。\n"
+msgstr "\n 当前下载已被取消，再次输入 %s 个中断请求(ctrl-c) %s 于 %s%s%s 秒内\n将会退出。\n"
 
-#: ../output.py:1282
+#: ../output.py:1786
 msgid "user interrupt"
 msgstr "用户中断"
 
-#: ../output.py:1300
+#: ../output.py:1812
 msgid "Total"
 msgstr "总计"
 
-#: ../output.py:1322
+#: ../output.py:1834
 msgid "I"
 msgstr "I"
 
-#: ../output.py:1323
+#: ../output.py:1835
 msgid "O"
 msgstr "O"
 
-#: ../output.py:1324
+#: ../output.py:1836
 msgid "E"
 msgstr "E"
 
-#: ../output.py:1325
+#: ../output.py:1837
 msgid "R"
 msgstr "R"
 
-#: ../output.py:1326
+#: ../output.py:1838
 msgid "D"
 msgstr "D"
 
-#: ../output.py:1327
+#: ../output.py:1839
 msgid "U"
 msgstr "U"
 
-#: ../output.py:1341
+#: ../output.py:1853
 msgid "<unset>"
 msgstr "<空>"
 
-#: ../output.py:1342
+#: ../output.py:1854
 msgid "System"
 msgstr "系统"
 
-#: ../output.py:1411
+#: ../output.py:1923
 #, python-format
 msgid "Skipping merged transaction %d to %d, as it overlaps"
-msgstr ""
+msgstr "由于重叠，忽略合并事务 %d 至 %d"
 
-#: ../output.py:1421 ../output.py:1592
+#: ../output.py:1933 ../output.py:2125
 msgid "No transactions"
-msgstr ""
+msgstr "没有事务"
 
-#: ../output.py:1446 ../output.py:2013
+#: ../output.py:1958 ../output.py:2570 ../output.py:2660
 msgid "Bad transaction IDs, or package(s), given"
 msgstr "错误的事务 ID 或软件包"
 
-#: ../output.py:1484
+#: ../output.py:2007
 msgid "Command line"
-msgstr ""
+msgstr "命令行"
 
-#: ../output.py:1486 ../output.py:1908
+#: ../output.py:2009 ../output.py:2458
 msgid "Login user"
-msgstr "登陆用户"
+msgstr "登录用户"
 
 #. REALLY Needs to use columns!
-#: ../output.py:1487 ../output.py:2022
+#: ../output.py:2010 ../output.py:2579
 msgid "ID"
 msgstr "ID"
 
-#: ../output.py:1489
+#: ../output.py:2012
 msgid "Date and time"
 msgstr "日期和时间"
 
-#: ../output.py:1490 ../output.py:1910 ../output.py:2023
+#: ../output.py:2013 ../output.py:2460 ../output.py:2580
 msgid "Action(s)"
 msgstr "操作"
 
-#: ../output.py:1491 ../output.py:1911
+#: ../output.py:2014 ../output.py:2461
 msgid "Altered"
-msgstr "更改"
+msgstr "变更数量"
 
-#: ../output.py:1538
+#: ../output.py:2061
 msgid "No transaction ID given"
-msgstr "没有事务 ID"
+msgstr "未指定事务 ID"
 
-#: ../output.py:1564 ../output.py:1972
+#: ../output.py:2087 ../output.py:2526
 msgid "Bad transaction ID given"
 msgstr "错误的事务 ID"
 
-#: ../output.py:1569
+#: ../output.py:2092
 msgid "Not found given transaction ID"
-msgstr "未能找到指定事务 ID"
+msgstr "未找到指定的事务 ID"
 
-#: ../output.py:1577
+#: ../output.py:2100
 msgid "Found more than one transaction ID!"
-msgstr "找到多个事务 ID!"
+msgstr "找到多个事务 ID！"
 
-#: ../output.py:1618 ../output.py:1980
+#: ../output.py:2151 ../output.py:2534
 msgid "No transaction ID, or package, given"
-msgstr "未指定事务 ID、或者软件包"
+msgstr "未指定事务 ID 或软件包"
 
-#: ../output.py:1686 ../output.py:1845
+#: ../output.py:2222 ../output.py:2384
 msgid "Downgraded"
 msgstr "降级"
 
-#: ../output.py:1688
+#: ../output.py:2224
 msgid "Older"
 msgstr "较老的"
 
-#: ../output.py:1688
+#: ../output.py:2224
 msgid "Newer"
 msgstr "较早的"
 
-#: ../output.py:1724 ../output.py:1726
+#: ../output.py:2261 ../output.py:2263 ../output.py:2681
 msgid "Transaction ID :"
 msgstr "事务 ID："
 
-#: ../output.py:1728
+#: ../output.py:2265 ../output.py:2683
 msgid "Begin time     :"
 msgstr "起始时间    ："
 
-#: ../output.py:1731 ../output.py:1733
+#: ../output.py:2268 ../output.py:2270
 msgid "Begin rpmdb    :"
-msgstr "启动 rpmdb     ："
+msgstr "启动 RPM 数据库     ："
 
-#: ../output.py:1749
+#: ../output.py:2286
 #, python-format
 msgid "(%u seconds)"
-msgstr ""
+msgstr "（%u 秒）"
 
-#: ../output.py:1751
+#: ../output.py:2288
 #, python-format
 msgid "(%u minutes)"
-msgstr ""
+msgstr "（%u 分钟）"
 
-#: ../output.py:1753
+#: ../output.py:2290
 #, python-format
 msgid "(%u hours)"
-msgstr ""
+msgstr "（%u 小时）"
 
-#: ../output.py:1755
+#: ../output.py:2292
 #, python-format
 msgid "(%u days)"
-msgstr ""
+msgstr "（%u 天）"
 
-#: ../output.py:1756
+#: ../output.py:2293
 msgid "End time       :"
 msgstr "结束时间       ："
 
-#: ../output.py:1759 ../output.py:1761
+#: ../output.py:2296 ../output.py:2298
 msgid "End rpmdb      :"
-msgstr "结束 rpmdb      :"
+msgstr "结束 RPM 数据库      ："
 
-#: ../output.py:1764 ../output.py:1766
+#: ../output.py:2301 ../output.py:2303
 msgid "User           :"
 msgstr "用户           ："
 
-#: ../output.py:1770 ../output.py:1773 ../output.py:1775 ../output.py:1777
-#: ../output.py:1779
+#: ../output.py:2307 ../output.py:2310 ../output.py:2312 ../output.py:2314
+#: ../output.py:2316
 msgid "Return-Code    :"
 msgstr "返回码    ："
 
-#: ../output.py:1770 ../output.py:1775
+#: ../output.py:2307 ../output.py:2312
 msgid "Aborted"
 msgstr "已终止"
 
-#: ../output.py:1773
+#: ../output.py:2310
 msgid "Failures:"
-msgstr ""
+msgstr "失败："
 
-#: ../output.py:1777
+#: ../output.py:2314
 msgid "Failure:"
 msgstr "失败："
 
-#: ../output.py:1779
+#: ../output.py:2316
 msgid "Success"
 msgstr "成功"
 
-#: ../output.py:1784 ../output.py:1786
+#: ../output.py:2321 ../output.py:2323 ../output.py:2712
 msgid "Command Line   :"
 msgstr "命令行   ："
 
-#: ../output.py:1795
+#: ../output.py:2332
 #, python-format
 msgid "Additional non-default information stored: %d"
-msgstr "其他非默认信息已保存：%d"
+msgstr "其它非默认信息已保存：%d"
 
 #. This is _possible_, but not common
-#: ../output.py:1800
+#: ../output.py:2337
 msgid "Transaction performed with:"
-msgstr "事务完成由："
+msgstr "事务完成属主："
 
-#: ../output.py:1804
+#: ../output.py:2341
 msgid "Packages Altered:"
-msgstr "已改变的包："
+msgstr "已变更的包："
 
-#: ../output.py:1808
+#: ../output.py:2345
 msgid "Packages Skipped:"
 msgstr "已跳过的包："
 
-#: ../output.py:1814
+#: ../output.py:2353
 msgid "Rpmdb Problems:"
-msgstr "Rpmdb 问题："
+msgstr "RPM 数据库问题："
 
-#: ../output.py:1825
+#: ../output.py:2364
 msgid "Scriptlet output:"
 msgstr "Scriptlet 输出："
 
-#: ../output.py:1831
+#: ../output.py:2370
 msgid "Errors:"
 msgstr "错误："
 
-#: ../output.py:1837 ../output.py:1838
-msgid "Install"
-msgstr "安装"
-
-#: ../output.py:1839
+#: ../output.py:2378
 msgid "Dep-Install"
 msgstr "依赖安装"
 
-#: ../output.py:1841
+#: ../output.py:2380
 msgid "Obsoleting"
 msgstr "取代中"
 
-#: ../output.py:1842
+#: ../output.py:2381
 msgid "Erase"
-msgstr "抹去"
-
-#: ../output.py:1843
-msgid "Reinstall"
-msgstr "重新安装"
-
-#: ../output.py:1844
-msgid "Downgrade"
-msgstr "降级"
+msgstr "删除"
 
-#: ../output.py:1846
+#: ../output.py:2385
 msgid "Update"
 msgstr "更新"
 
-#: ../output.py:1909
+#: ../output.py:2459
 msgid "Time"
 msgstr "时间"
 
-#: ../output.py:1935
+#: ../output.py:2485
 msgid "Last day"
 msgstr "最近一天"
 
-#: ../output.py:1936
+#: ../output.py:2486
 msgid "Last week"
 msgstr "最近一周"
 
-#: ../output.py:1937
+#: ../output.py:2487
 msgid "Last 2 weeks"
 msgstr "最近2周"
 
 #. US default :p
-#: ../output.py:1938
+#: ../output.py:2488
 msgid "Last 3 months"
 msgstr "最近3个月"
 
-#: ../output.py:1939
+#: ../output.py:2489
 msgid "Last 6 months"
 msgstr "最近6个月"
 
-#: ../output.py:1940
+#: ../output.py:2490
 msgid "Last year"
 msgstr "最近一年"
 
-#: ../output.py:1941
+#: ../output.py:2491
 msgid "Over a year ago"
 msgstr "一年以前"
 
-#: ../output.py:1984
+#: ../output.py:2538
 #, python-format
 msgid "No Transaction %s found"
 msgstr "未找到事务 %s"
 
-#: ../output.py:1990
+#: ../output.py:2544
 msgid "Transaction ID:"
 msgstr "事务 ID："
 
-#: ../output.py:1991
+#: ../output.py:2545
 msgid "Available additional history information:"
 msgstr "可用的额外历史信息："
 
-#: ../output.py:2003
+#: ../output.py:2558
 #, python-format
 msgid "%s: No additional data found by this name"
-msgstr "%s: 未找到符合该名称的额外数据"
+msgstr "%s：未找到符合该名称的额外数据"
+
+#: ../output.py:2684
+msgid "Package        :"
+msgstr "包        ："
 
-#: ../output.py:2106
+#: ../output.py:2685
+msgid "State          :"
+msgstr "状态          ："
+
+#: ../output.py:2688
+msgid "Size           :"
+msgstr "大小           ："
+
+#: ../output.py:2690
+msgid "Build host     :"
+msgstr "构建主机     ："
+
+#: ../output.py:2693
+msgid "Build time     :"
+msgstr "构建时间     ："
+
+#: ../output.py:2695
+msgid "Packager       :"
+msgstr "打包者       ："
+
+#: ../output.py:2697
+msgid "Vendor         :"
+msgstr "供应商         ："
+
+#: ../output.py:2699
+msgid "License        :"
+msgstr "许可协议        ："
+
+#: ../output.py:2701
+msgid "URL            :"
+msgstr "URL            ："
+
+#: ../output.py:2703
+msgid "Source RPM     :"
+msgstr "源代码 RPM     ："
+
+#: ../output.py:2706
+msgid "Commit Time    :"
+msgstr "提交时间    ："
+
+#: ../output.py:2708
+msgid "Committer      :"
+msgstr "提交者      :"
+
+#: ../output.py:2710
+msgid "Reason         :"
+msgstr "原因         ："
+
+#: ../output.py:2714
+msgid "From repo      :"
+msgstr "来自源      :"
+
+#: ../output.py:2718
+msgid "Installed by   :"
+msgstr "安装者   :"
+
+#: ../output.py:2722
+msgid "Changed by     :"
+msgstr "修改者     :"
+
+#: ../output.py:2767
 msgid "installed"
 msgstr "安装"
 
-#: ../output.py:2107
+#: ../output.py:2768
 msgid "an update"
-msgstr ""
+msgstr "更新"
 
-#: ../output.py:2108
+#: ../output.py:2769
 msgid "erased"
 msgstr "删除"
 
-#: ../output.py:2109
+#: ../output.py:2770
 msgid "reinstalled"
 msgstr "已重新安装"
 
-#: ../output.py:2110
+#: ../output.py:2771
 msgid "a downgrade"
-msgstr ""
+msgstr "降级"
 
-#: ../output.py:2111
+#: ../output.py:2772
 msgid "obsoleting"
-msgstr ""
+msgstr "舍弃"
 
-#: ../output.py:2112
+#: ../output.py:2773
 msgid "updated"
 msgstr "升级"
 
-#: ../output.py:2113
+#: ../output.py:2774
 msgid "obsoleted"
 msgstr "取代"
 
-#: ../output.py:2117
+#: ../output.py:2778
 #, python-format
 msgid "---> Package %s.%s %s:%s-%s will be %s"
-msgstr ""
+msgstr "---> 软件包 %s.%s.%s.%s-%s 将被 %s"
 
-#: ../output.py:2124
+#: ../output.py:2789
 msgid "--> Running transaction check"
-msgstr "--> 执行事务检查"
+msgstr "--> 正在检查事务"
 
-#: ../output.py:2129
+#: ../output.py:2795
 msgid "--> Restarting Dependency Resolution with new changes."
-msgstr "--> 使用新的信息重新计算依赖关系。"
+msgstr "--> 正在使用新的信息重新解决依赖关系"
 
-#: ../output.py:2134
+#: ../output.py:2801
 msgid "--> Finished Dependency Resolution"
-msgstr "--> 完成依赖关系计算"
+msgstr "--> 解决依赖关系完成"
 
-#: ../output.py:2139 ../output.py:2144
+#: ../output.py:2814 ../output.py:2827
 #, python-format
 msgid "--> Processing Dependency: %s for package: %s"
-msgstr "--> 处理依赖关系 %s，它被软件包 %s 需要"
+msgstr "--> 正在处理依赖关系 %s，它被软件包 %s 需要"
 
-#: ../output.py:2149
+#: ../output.py:2841
 #, python-format
-msgid "---> Keeping package: %s"
-msgstr "---> 保留软件包： %s"
+msgid "---> Keeping package: %s due to %s"
+msgstr "---> 保留软件包：%s 由于 %s"
 
-#: ../output.py:2152
+#: ../output.py:2850
 #, python-format
 msgid "--> Unresolved Dependency: %s"
-msgstr "--> 无法解决的依赖：%s"
+msgstr "--> 未能解决依赖：%s"
 
-#: ../output.py:2163
+#: ../output.py:2867
 #, python-format
 msgid "Package: %s"
 msgstr "软件包：%s"
 
-#: ../output.py:2165
+#: ../output.py:2869
 #, python-format
 msgid ""
 "\n"
 "    Requires: %s"
-msgstr ""
-"\n"
-"    需要：%s"
+msgstr "\n    需要：%s"
 
-#: ../output.py:2174
+#: ../output.py:2878
 #, python-format
 msgid ""
 "\n"
 "    %s: %s (%s)"
-msgstr ""
-"\n"
-"    %s: %s (%s)"
+msgstr "\n    %s: %s (%s)"
 
-#: ../output.py:2179
+#: ../output.py:2883
 #, python-format
 msgid ""
 "\n"
 "        %s"
-msgstr ""
-"\n"
-"        %s"
+msgstr "\n        %s"
 
-#: ../output.py:2181
+#: ../output.py:2885
 msgid ""
 "\n"
 "        Not found"
-msgstr ""
-"\n"
-"        未找到"
+msgstr "\n        未找到"
 
 #. These should be the only three things we care about:
-#: ../output.py:2196
+#: ../output.py:2900
 msgid "Updated By"
 msgstr "更新，由"
 
-#: ../output.py:2197
+#: ../output.py:2901
 msgid "Downgraded By"
 msgstr "降级，由"
 
-#: ../output.py:2198
+#: ../output.py:2902
 msgid "Obsoleted By"
 msgstr "取代，由"
 
-#: ../output.py:2216
+#: ../output.py:2920
 msgid "Available"
 msgstr "可用"
 
-#: ../output.py:2243 ../output.py:2248
+#: ../output.py:2955 ../output.py:2968
 #, python-format
 msgid "--> Processing Conflict: %s conflicts %s"
 msgstr "--> 处理 %s 与 %s 的冲突"
 
-#: ../output.py:2252
+#: ../output.py:2974
 msgid "--> Populating transaction set with selected packages. Please wait."
-msgstr "--> 根据指定的软件包创建事务，请等待。"
+msgstr "--> 请稍候，正在根据指定的软件包创建事务。"
 
-#: ../output.py:2256
+#: ../output.py:2983
 #, python-format
 msgid "---> Downloading header for %s to pack into transaction set."
-msgstr "---> 下载 %s 的文件头作为事务的一部分。"
+msgstr "---> 正在下载 %s 的文件头，它是事务的一部分。"
+
+#. self.event(txmbr.name, count, len(base.tsInfo), count, )
+#. (te_current*100L)/te_total
+#: ../output.py:3248
+msgid "Verifying"
+msgstr "验证中"
 
-#: ../utils.py:99
+#: ../utils.py:123
 msgid "Running"
 msgstr "运行中"
 
-#: ../utils.py:100
+#: ../utils.py:124
 msgid "Sleeping"
 msgstr "睡眠中"
 
-#: ../utils.py:101
+#: ../utils.py:125
 msgid "Uninterruptible"
 msgstr "不可中断"
 
-#: ../utils.py:102
+#: ../utils.py:126
 msgid "Zombie"
 msgstr "僵死"
 
-#: ../utils.py:103
+#: ../utils.py:127
 msgid "Traced/Stopped"
 msgstr "跟踪/停止"
 
-#: ../utils.py:104 ../yumcommands.py:994
+#: ../utils.py:128 ../yumcommands.py:2193
 msgid "Unknown"
 msgstr "未知"
 
-#: ../utils.py:115
+#: ../utils.py:153
 msgid "  The other application is: PackageKit"
 msgstr "  另一个应用程序是：PackageKit"
 
-#: ../utils.py:117
+#: ../utils.py:155
 #, python-format
 msgid "  The other application is: %s"
 msgstr "  另一个应用程序是：%s"
 
-#: ../utils.py:120
+#: ../utils.py:158
 #, python-format
 msgid "    Memory : %5s RSS (%5sB VSZ)"
 msgstr "    内存：%5s RSS （%5sB VSZ）"
 
-#: ../utils.py:125
+#: ../utils.py:163
 #, python-format
 msgid "    Started: %s - %s ago"
 msgstr "    已启动： %s - %s之前"
 
-#: ../utils.py:127
+#: ../utils.py:165
 #, python-format
 msgid "    State  : %s, pid: %d"
 msgstr "    状态  ：%s，进程ID：%d"
 
-#: ../utils.py:170 ../yummain.py:43
+#: ../utils.py:194 ../yummain.py:43
 msgid ""
 "\n"
 "\n"
 "Exiting on user cancel"
-msgstr ""
-"\n"
-"\n"
-"由于用户取消而退出"
+msgstr "\n\n由于用户取消而退出"
 
-#: ../utils.py:176 ../yummain.py:49
+#: ../utils.py:206 ../yummain.py:49
 msgid ""
 "\n"
 "\n"
 "Exiting on Broken Pipe"
-msgstr ""
-"\n"
-"\n"
-"由于管道被破坏而退出"
+msgstr "\n\n由于管道被破坏而退出"
 
-#: ../utils.py:178 ../yummain.py:51
+#: ../utils.py:208 ../yummain.py:51
 #, python-format
 msgid ""
 "\n"
 "\n"
 "%s"
-msgstr ""
-"\n"
-"\n"
-"%s"
+msgstr "\n\n%s"
 
-#: ../utils.py:228 ../yummain.py:123
-msgid ""
-"Another app is currently holding the yum lock; exiting as configured by "
-"exit_on_lock"
-msgstr "另外一个程序锁定了 yum；遵循 exit_on_lock 设置退出"
-
-#: ../utils.py:287
+#: ../utils.py:326
 #, python-format
 msgid "PluginExit Error: %s"
 msgstr "插件退出错误：%s"
 
-#: ../utils.py:290
+#: ../utils.py:329
 #, python-format
 msgid "Yum Error: %s"
 msgstr "Yum 错误：%s"
 
-#: ../utils.py:342 ../yummain.py:150 ../yummain.py:189
+#: ../utils.py:387 ../yummain.py:147 ../yummain.py:186
 #, python-format
 msgid "Error: %s"
 msgstr "错误：%s"
 
-#: ../utils.py:346 ../yummain.py:194
+#: ../utils.py:391 ../yummain.py:191
 msgid " You could try using --skip-broken to work around the problem"
-msgstr " 您可以尝试用 --skip-broken 来解决该问题"
+msgstr " 您可以尝试添加 --skip-broken 选项来解决该问题"
 
-#: ../utils.py:348 ../yummain.py:87
+#: ../utils.py:393 ../yummain.py:87
 msgid " You could try running: rpm -Va --nofiles --nodigest"
-msgstr " 您可以尝试运行： rpm -Va --nofiles --nodigest"
+msgstr " 您可以尝试执行：rpm -Va --nofiles --nodigest"
 
-#: ../utils.py:355 ../yummain.py:160 ../yummain.py:202
+#: ../utils.py:400 ../yummain.py:157 ../yummain.py:199
 #, python-format
 msgid "Unknown Error(s): Exit Code: %d:"
-msgstr "未知错误：退出码 %d："
+msgstr "未知错误：退出码：%d："
 
-#: ../utils.py:361 ../yummain.py:208
+#: ../utils.py:406 ../yummain.py:205
 msgid ""
 "\n"
 "Dependencies Resolved"
-msgstr ""
-"\n"
-"依赖关系解决"
+msgstr "\n依赖关系解决"
 
-#: ../utils.py:376 ../yummain.py:234
+#: ../utils.py:422 ../yummain.py:237
 msgid "Complete!"
 msgstr "完毕！"
 
 #: ../yumcommands.py:42
 msgid " Mini usage:\n"
-msgstr ""
+msgstr "简单用法：\n"
 
 #: ../yumcommands.py:52
 msgid "You need to be root to perform this command."
-msgstr "你需要以 root 身份执行此命令。"
+msgstr "您需要 root 权限执行此命令。"
 
-#: ../yumcommands.py:59
+#: ../yumcommands.py:67
 msgid ""
 "\n"
 "You have enabled checking of packages via GPG keys. This is a good thing. \n"
@@ -1523,577 +1661,647 @@ msgid ""
 "will install it for you.\n"
 "\n"
 "For more information contact your distribution or package provider.\n"
-msgstr ""
-"\n"
-"您启用了软件包 GPG 签名检测，这样很好。但是，您尚未安装任何 GPG 公钥。请下载您希望安装的软件的签名公钥并安装。假设公钥已下载，安装命令是：\n"
-"    rpm --import public.gpg.key\n"
-"\n"
-"\n"
-"或者，在仓库配置中，使用 'gpgkey' 选项指定仓库使用的公钥的 URL，这样 yum 会自动安装它。\n"
-"\n"
-"详情请联系您的发行版或软件包制作人。\n"
+msgstr "\n您已启用软件包 GPG 签名检查，这样很好。不过您尚未安装任何 GPG 公钥。请下载您希望安装的软件签名公钥并安装。假设公钥已下载，安装命令是：\n    rpm --import public.gpg.key\n\n\n或者，在软件源配置中，使用 'gpgkey' 选项指定软件源使用的公钥 URL，这样 yum 会自动安装它。\n\n详情请联系发行版或软件包制作人。\n"
 
-#: ../yumcommands.py:74
+#: ../yumcommands.py:82
 #, python-format
 msgid "Problem repository: %s"
-msgstr ""
+msgstr "问题源：%s"
 
-#: ../yumcommands.py:80
+#: ../yumcommands.py:96
 #, python-format
 msgid "Error: Need to pass a list of pkgs to %s"
 msgstr "错误：需要为 %s 指定软件包列表"
 
-#: ../yumcommands.py:86
+#: ../yumcommands.py:114
+#, python-format
+msgid "Error: Need at least two packages to %s"
+msgstr "错误：需要至少两个软件包用于 %s"
+
+#: ../yumcommands.py:129
+#, python-format
+msgid "Error: Need to pass a repoid. and command to %s"
+msgstr "错误：需要传递 repoid. 和命令至 %s"
+
+#: ../yumcommands.py:136 ../yumcommands.py:142
+#, python-format
+msgid "Error: Need to pass a single valid repoid. to %s"
+msgstr "错误：需要传递一个有效的 repoid. 至 %s"
+
+#: ../yumcommands.py:147
+#, python-format
+msgid "Error: Repo %s is not enabled"
+msgstr "错误：源 %s 尚未启用"
+
+#: ../yumcommands.py:164
 msgid "Error: Need an item to match"
 msgstr "错误：需要指定匹配模式"
 
-#: ../yumcommands.py:92
+#: ../yumcommands.py:178
 msgid "Error: Need a group or list of groups"
 msgstr "错误：需要组或组的列表"
 
-#: ../yumcommands.py:101
+#: ../yumcommands.py:195
 #, python-format
 msgid "Error: clean requires an option: %s"
 msgstr "错误：清理命令需要参数：%s"
 
-#: ../yumcommands.py:106
+#: ../yumcommands.py:201
 #, python-format
 msgid "Error: invalid clean argument: %r"
 msgstr "错误：清理命令参数不正确：%r"
 
-#: ../yumcommands.py:119
+#: ../yumcommands.py:216
 msgid "No argument to shell"
-msgstr "没有给外壳指定参数"
+msgstr "没有给 shell 指定参数"
 
-#: ../yumcommands.py:121
+#: ../yumcommands.py:218
 #, python-format
 msgid "Filename passed to shell: %s"
-msgstr "传给外壳的文件名：%s"
+msgstr "传给 shell 的文件名：%s"
 
-#: ../yumcommands.py:125
+#: ../yumcommands.py:222
 #, python-format
 msgid "File %s given as argument to shell does not exist."
-msgstr "作为参数传给外壳的文件 %s 不存在。"
+msgstr "作为参数传给 shell 的文件 %s 不存在。"
 
-#: ../yumcommands.py:131
+#: ../yumcommands.py:228
 msgid "Error: more than one file given as argument to shell."
-msgstr "错误：作为参数传给外壳超过一个文件。"
+msgstr "错误：作为参数传给 shell 的文件超过一个。"
 
-#: ../yumcommands.py:148
+#: ../yumcommands.py:247
 msgid ""
 "There are no enabled repos.\n"
 " Run \"yum repolist all\" to see the repos you have.\n"
 " You can enable repos with yum-config-manager --enable <repo>"
-msgstr ""
-"没有已启用的仓库。\n"
-"执行 \"yum repolist all\" 查看您拥有的仓库。\n"
-"您可以用 yum-config-manager --enable &lt;仓库名&gt; 来启用仓库"
+msgstr "没有已启用的源。\n执行 \"yum repolist all\" 查看您拥有的源。\n您可以用 yum-config-manager --enable &lt;源名&gt; 来启用源"
 
-#: ../yumcommands.py:200
+#: ../yumcommands.py:383
 msgid "PACKAGE..."
 msgstr "软件包……"
 
-#: ../yumcommands.py:203
+#: ../yumcommands.py:390
 msgid "Install a package or packages on your system"
 msgstr "向系统中安装一个或多个软件包"
 
-#: ../yumcommands.py:212
+#: ../yumcommands.py:421
 msgid "Setting up Install Process"
 msgstr "设置安装进程"
 
-#: ../yumcommands.py:223 ../yumcommands.py:245
+#: ../yumcommands.py:447 ../yumcommands.py:507
 msgid "[PACKAGE...]"
 msgstr "[软件包……]"
 
-#: ../yumcommands.py:226
+#: ../yumcommands.py:454
 msgid "Update a package or packages on your system"
 msgstr "更新系统中的一个或多个软件包"
 
-#: ../yumcommands.py:234
+#: ../yumcommands.py:483
 msgid "Setting up Update Process"
 msgstr "设置更新进程"
 
-#: ../yumcommands.py:248
+#: ../yumcommands.py:514
 msgid "Synchronize installed packages to the latest available versions"
 msgstr "已同步软件包到最新可用版本"
 
-#: ../yumcommands.py:256
+#: ../yumcommands.py:543
 msgid "Setting up Distribution Synchronization Process"
 msgstr "正在设置发行版同步进程"
 
-#: ../yumcommands.py:299
+#: ../yumcommands.py:603
 msgid "Display details about a package or group of packages"
 msgstr "显示关于软件包或组的详细信息"
 
-#: ../yumcommands.py:348
+#: ../yumcommands.py:672
 msgid "Installed Packages"
 msgstr "已安装的软件包"
 
-#: ../yumcommands.py:356
+#: ../yumcommands.py:682
 msgid "Available Packages"
 msgstr "可安装的软件包"
 
-#: ../yumcommands.py:360
+#: ../yumcommands.py:687
 msgid "Extra Packages"
-msgstr "更多软件包"
+msgstr "额外的软件包"
 
-#: ../yumcommands.py:364
+#: ../yumcommands.py:691
 msgid "Updated Packages"
 msgstr "更新的软件包"
 
 #. This only happens in verbose mode
-#: ../yumcommands.py:372 ../yumcommands.py:379 ../yumcommands.py:667
+#: ../yumcommands.py:699 ../yumcommands.py:706 ../yumcommands.py:1539
 msgid "Obsoleting Packages"
 msgstr "取代的软件包"
 
-#: ../yumcommands.py:381
+#: ../yumcommands.py:708
 msgid "Recently Added Packages"
 msgstr "最近添加的软件包"
 
-#: ../yumcommands.py:388
+#: ../yumcommands.py:715
 msgid "No matching Packages to list"
 msgstr "没有匹配的软件包可以列出"
 
-#: ../yumcommands.py:402
+#: ../yumcommands.py:766
 msgid "List a package or groups of packages"
 msgstr "列出一个或一组软件包"
 
-#: ../yumcommands.py:414
+#: ../yumcommands.py:797
 msgid "Remove a package or packages from your system"
 msgstr "从系统中移除一个或多个软件包"
 
-#: ../yumcommands.py:421
+#: ../yumcommands.py:845
 msgid "Setting up Remove Process"
-msgstr "设置移除进程"
+msgstr "正在设置移除进程"
 
-#: ../yumcommands.py:435
+#: ../yumcommands.py:906
+msgid "Display, or use, the groups information"
+msgstr "显示或使用、组信息"
+
+#: ../yumcommands.py:909
 msgid "Setting up Group Process"
 msgstr "设置组进程"
 
-#: ../yumcommands.py:441
+#: ../yumcommands.py:915
 msgid "No Groups on which to run command"
 msgstr "没有指定要处理的组"
 
-#: ../yumcommands.py:454
-msgid "List available package groups"
-msgstr "列出可安装的组"
-
-#: ../yumcommands.py:474
-msgid "Install the packages in a group on your system"
-msgstr "向系统中安装一组软件包"
+#: ../yumcommands.py:985
+#, python-format
+msgid "Invalid groups sub-command, use: %s."
+msgstr "无效的组子命令，使用：%s"
 
-#: ../yumcommands.py:497
-msgid "Remove the packages in a group from your system"
-msgstr "从系统中移除一组软件包"
+#: ../yumcommands.py:992
+msgid "There is no installed groups file."
+msgstr "没有安装组信息文件"
 
-#: ../yumcommands.py:525
-msgid "Display details about a package group"
-msgstr "显示组的详细信息"
+#: ../yumcommands.py:994
+msgid "You don't have access to the groups DB."
+msgstr "您没有权限访问组信息数据库。"
 
-#: ../yumcommands.py:550
+#: ../yumcommands.py:1256
 msgid "Generate the metadata cache"
 msgstr "创建元数据缓存"
 
-#: ../yumcommands.py:556
+#: ../yumcommands.py:1282
 msgid "Making cache files for all metadata files."
 msgstr "为元数据文件生成缓存文件。"
 
-#: ../yumcommands.py:557
+#: ../yumcommands.py:1283
 msgid "This may take a while depending on the speed of this computer"
 msgstr "这需要一段时间，取决于这台计算机的速度"
 
-#: ../yumcommands.py:578
+#: ../yumcommands.py:1312
 msgid "Metadata Cache Created"
 msgstr "元数据缓存已建立"
 
-#: ../yumcommands.py:592
+#: ../yumcommands.py:1350
 msgid "Remove cached data"
-msgstr "删除缓存的数据"
+msgstr "删除缓存数据"
 
-#: ../yumcommands.py:613
+#: ../yumcommands.py:1417
 msgid "Find what package provides the given value"
 msgstr "查找提供指定内容的软件包"
 
-#: ../yumcommands.py:633
+#: ../yumcommands.py:1485
 msgid "Check for available package updates"
-msgstr "检查是否有软件包更新"
+msgstr "检查是否有可用的软件包更新"
 
-#: ../yumcommands.py:687
+#: ../yumcommands.py:1587
 msgid "Search package details for the given string"
 msgstr "在软件包详细信息中搜索指定字符串"
 
-#: ../yumcommands.py:693
+#: ../yumcommands.py:1613
 msgid "Searching Packages: "
 msgstr "搜索软件包："
 
-#: ../yumcommands.py:710
+#: ../yumcommands.py:1666
 msgid "Update packages taking obsoletes into account"
 msgstr "更新软件包同时考虑软件包取代关系"
 
-#: ../yumcommands.py:719
+#: ../yumcommands.py:1696
 msgid "Setting up Upgrade Process"
-msgstr "设置升级进程"
+msgstr "正在配置升级进程"
 
-#: ../yumcommands.py:737
+#: ../yumcommands.py:1731
 msgid "Install a local RPM"
-msgstr "安装本地的 RPM"
+msgstr "安装本地 RPM"
 
-#: ../yumcommands.py:745
+#: ../yumcommands.py:1761
 msgid "Setting up Local Package Process"
-msgstr "设置本地安装进程"
+msgstr "正在设置本地安装进程"
 
-#: ../yumcommands.py:764
-msgid "Determine which package provides the given dependency"
-msgstr "判断哪个包提供了指定的依赖"
-
-#: ../yumcommands.py:767
+#: ../yumcommands.py:1825
 msgid "Searching Packages for Dependency:"
 msgstr "查找依赖的软件包："
 
-#: ../yumcommands.py:781
+#: ../yumcommands.py:1867
 msgid "Run an interactive yum shell"
-msgstr "运行交互式的 yum 外壳"
+msgstr "运行交互式的 yum shell"
 
-#: ../yumcommands.py:787
+#: ../yumcommands.py:1893
 msgid "Setting up Yum Shell"
-msgstr "设置 Yum 外壳"
+msgstr "设置 Yum Shell"
 
-#: ../yumcommands.py:805
+#: ../yumcommands.py:1936
 msgid "List a package's dependencies"
 msgstr "列出软件包的依赖关系"
 
-#: ../yumcommands.py:811
+#: ../yumcommands.py:1963
 msgid "Finding dependencies: "
-msgstr "查找依赖："
+msgstr "正在查找依赖："
 
-#: ../yumcommands.py:827
+#: ../yumcommands.py:2005
 msgid "Display the configured software repositories"
-msgstr "显示已配置的仓库"
+msgstr "显示已配置的源"
 
-#: ../yumcommands.py:893 ../yumcommands.py:894
+#: ../yumcommands.py:2094 ../yumcommands.py:2095
 msgid "enabled"
 msgstr "启用"
 
-#: ../yumcommands.py:920 ../yumcommands.py:921
+#: ../yumcommands.py:2121 ../yumcommands.py:2122
 msgid "disabled"
 msgstr "禁用"
 
-#: ../yumcommands.py:937
+#: ../yumcommands.py:2137
 msgid "Repo-id      : "
-msgstr "仓库ID     ： "
+msgstr "源ID     ： "
 
-#: ../yumcommands.py:938
+#: ../yumcommands.py:2138
 msgid "Repo-name    : "
-msgstr "仓库名    ： "
+msgstr "源名    ： "
 
-#: ../yumcommands.py:941
+#: ../yumcommands.py:2141
 msgid "Repo-status  : "
-msgstr "仓库状态  ： "
+msgstr "源状态  ： "
 
-#: ../yumcommands.py:944
+#: ../yumcommands.py:2144
 msgid "Repo-revision: "
-msgstr "仓库版本： "
+msgstr "源版本： "
 
-#: ../yumcommands.py:948
+#: ../yumcommands.py:2148
 msgid "Repo-tags    : "
-msgstr "仓库标志    ： "
+msgstr "源标志    ： "
 
-#: ../yumcommands.py:954
+#: ../yumcommands.py:2154
 msgid "Repo-distro-tags: "
-msgstr "仓库发行版标签： "
+msgstr "源发行版标签： "
 
-#: ../yumcommands.py:959
+#: ../yumcommands.py:2159
 msgid "Repo-updated : "
-msgstr "仓库更新： "
+msgstr "源更新： "
 
-#: ../yumcommands.py:961
+#: ../yumcommands.py:2161
 msgid "Repo-pkgs    : "
-msgstr "仓库包    ： "
+msgstr "源软件包    ： "
 
-#: ../yumcommands.py:962
+#: ../yumcommands.py:2162
 msgid "Repo-size    : "
-msgstr "仓库大小    ： "
+msgstr "源大小    ： "
 
-#: ../yumcommands.py:969 ../yumcommands.py:990
+#: ../yumcommands.py:2169 ../yumcommands.py:2190
 msgid "Repo-baseurl : "
-msgstr "仓库基本地址： "
+msgstr "源基本地址： "
 
-#: ../yumcommands.py:977
+#: ../yumcommands.py:2177
 msgid "Repo-metalink: "
-msgstr "仓库元链接："
+msgstr "源元链接："
 
-#: ../yumcommands.py:981
+#: ../yumcommands.py:2181
 msgid "  Updated    : "
-msgstr "更新："
+msgstr "  已更新    ： "
 
-#: ../yumcommands.py:984
+#: ../yumcommands.py:2184
 msgid "Repo-mirrors : "
-msgstr "仓库镜像："
+msgstr "源镜像："
 
-#: ../yumcommands.py:1000
+#: ../yumcommands.py:2199
 #, python-format
 msgid "Never (last: %s)"
-msgstr "从不 （最后 %s）"
+msgstr "从不（已持续：%s）"
 
-#: ../yumcommands.py:1002
+#: ../yumcommands.py:2201
 #, python-format
 msgid "Instant (last: %s)"
-msgstr "瞬间（最后%s）"
+msgstr "瞬间（已持续：%s）"
 
-#: ../yumcommands.py:1005
+#: ../yumcommands.py:2204
 #, python-format
 msgid "%s second(s) (last: %s)"
-msgstr "%s 秒 （最后 %s）"
+msgstr "%s 秒（已持续：%s）"
 
-#: ../yumcommands.py:1007
+#: ../yumcommands.py:2206
 msgid "Repo-expire  : "
-msgstr "仓库到期："
+msgstr "源到期："
 
-#: ../yumcommands.py:1010
+#: ../yumcommands.py:2209
 msgid "Repo-exclude : "
-msgstr "仓库排除："
+msgstr "源排除："
 
-#: ../yumcommands.py:1014
+#: ../yumcommands.py:2213
 msgid "Repo-include : "
-msgstr "仓库包括："
+msgstr "包含的源："
 
-#: ../yumcommands.py:1018
+#: ../yumcommands.py:2217
 msgid "Repo-excluded: "
-msgstr "仓库除外："
+msgstr "排除的源："
 
-#: ../yumcommands.py:1022
+#: ../yumcommands.py:2221
 msgid "Repo-filename: "
-msgstr ""
+msgstr "源文件名："
 
 #. Work out the first (id) and last (enabled/disalbed/count),
 #. then chop the middle (name)...
-#: ../yumcommands.py:1032 ../yumcommands.py:1061
+#: ../yumcommands.py:2230 ../yumcommands.py:2259
 msgid "repo id"
-msgstr "仓库标识"
+msgstr "源标识"
 
-#: ../yumcommands.py:1049 ../yumcommands.py:1050 ../yumcommands.py:1068
+#: ../yumcommands.py:2247 ../yumcommands.py:2248 ../yumcommands.py:2266
 msgid "status"
 msgstr "状态"
 
-#: ../yumcommands.py:1062
+#: ../yumcommands.py:2260
 msgid "repo name"
-msgstr "仓库名称"
+msgstr "源名称"
 
-#: ../yumcommands.py:1099
+#: ../yumcommands.py:2332
 msgid "Display a helpful usage message"
-msgstr "显示用法信息"
+msgstr "显示用法提示"
 
-#: ../yumcommands.py:1133
+#: ../yumcommands.py:2374
 #, python-format
 msgid "No help available for %s"
 msgstr "没有关于 %s 的帮助"
 
-#: ../yumcommands.py:1138
+#: ../yumcommands.py:2379
 msgid ""
 "\n"
 "\n"
 "aliases: "
-msgstr ""
-"\n"
-"\n"
-"别名："
+msgstr "\n\n别名："
 
-#: ../yumcommands.py:1140
+#: ../yumcommands.py:2381
 msgid ""
 "\n"
 "\n"
 "alias: "
-msgstr ""
-"\n"
-"\n"
-"别名："
+msgstr "\n\n别名："
 
-#: ../yumcommands.py:1168
+#: ../yumcommands.py:2466
 msgid "Setting up Reinstall Process"
-msgstr "设置覆盖安装进程"
+msgstr "正在设置覆盖安装进程"
 
-#: ../yumcommands.py:1176
+#: ../yumcommands.py:2478
 msgid "reinstall a package"
-msgstr "覆盖安装一个包"
+msgstr "覆盖安装软件包"
 
-#: ../yumcommands.py:1195
+#: ../yumcommands.py:2541
 msgid "Setting up Downgrade Process"
-msgstr "设置降级过程"
+msgstr "正在设置降级进程"
 
-#: ../yumcommands.py:1202
+#: ../yumcommands.py:2552
 msgid "downgrade a package"
-msgstr "降级包"
+msgstr "降级软件包"
 
-#: ../yumcommands.py:1216
+#: ../yumcommands.py:2591
 msgid "Display a version for the machine and/or available repos."
-msgstr "显示机器和/或可用的仓库版本。"
+msgstr "显示机器和/或可用的源版本。"
 
-#: ../yumcommands.py:1255
+#: ../yumcommands.py:2643
 msgid " Yum version groups:"
-msgstr " Yum版本组："
+msgstr " Yum 版本组："
 
-#: ../yumcommands.py:1265
+#: ../yumcommands.py:2653
 msgid " Group   :"
 msgstr " 组   ："
 
-#: ../yumcommands.py:1266
+#: ../yumcommands.py:2654
 msgid " Packages:"
 msgstr " 包："
 
-#: ../yumcommands.py:1295
+#: ../yumcommands.py:2683
 msgid "Installed:"
 msgstr "已安装："
 
-#: ../yumcommands.py:1303
+#: ../yumcommands.py:2691
 msgid "Group-Installed:"
 msgstr "组已安装："
 
-#: ../yumcommands.py:1312
+#: ../yumcommands.py:2700
 msgid "Available:"
 msgstr "可用："
 
-#: ../yumcommands.py:1321
+#: ../yumcommands.py:2709
 msgid "Group-Available:"
 msgstr "组内现有："
 
-#: ../yumcommands.py:1360
+#: ../yumcommands.py:2783
 msgid "Display, or use, the transaction history"
 msgstr "显示或使用事务历史"
 
-#: ../yumcommands.py:1432
+#: ../yumcommands.py:2876 ../yumcommands.py:2880
+msgid "Transactions:"
+msgstr "事务："
+
+#: ../yumcommands.py:2881
+msgid "Begin time  :"
+msgstr "开始于  :"
+
+#: ../yumcommands.py:2882
+msgid "End time    :"
+msgstr "结束于    :"
+
+#: ../yumcommands.py:2883
+msgid "Counts      :"
+msgstr "计数      :"
+
+#: ../yumcommands.py:2884
+msgid "  NEVRAC :"
+msgstr "  NEVRAC :"
+
+#: ../yumcommands.py:2885
+msgid "  NEVRA  :"
+msgstr "  NEVRA  :"
+
+#: ../yumcommands.py:2886
+msgid "  NA     :"
+msgstr "  NA     :"
+
+#: ../yumcommands.py:2887
+msgid "  NEVR   :"
+msgstr "  NEVR   :"
+
+#: ../yumcommands.py:2888
+msgid "  rpm DB :"
+msgstr "  RPM 数据库："
+
+#: ../yumcommands.py:2889
+msgid "  yum DB :"
+msgstr "  yum 数据库："
+
+#: ../yumcommands.py:2922
 #, python-format
 msgid "Invalid history sub-command, use: %s."
 msgstr "无效的历史子命令，使用：%s。"
 
-#: ../yumcommands.py:1439
+#: ../yumcommands.py:2929
 msgid "You don't have access to the history DB."
-msgstr "你没有权限到历史数据。"
+msgstr "您没有权限访问历史数据。"
 
-#: ../yumcommands.py:1487
+#: ../yumcommands.py:3036
 msgid "Check for problems in the rpmdb"
-msgstr "检查rpmdb里的问题"
+msgstr "检查 RPM 数据库问题"
 
-#: ../yumcommands.py:1514
+#: ../yumcommands.py:3102
 msgid "load a saved transaction from filename"
-msgstr ""
+msgstr "从文件名中加载一个已存事务"
 
-#: ../yumcommands.py:1518
+#: ../yumcommands.py:3119
 msgid "No saved transaction file specified."
-msgstr ""
+msgstr "指定文件中没有已存事务。"
 
-#: ../yumcommands.py:1522
+#: ../yumcommands.py:3123
 #, python-format
 msgid "loading transaction from %s"
-msgstr ""
+msgstr "正在从 %s 中加载事务"
 
-#: ../yumcommands.py:1528
+#: ../yumcommands.py:3129
 #, python-format
 msgid "Transaction loaded from %s with %s members"
-msgstr ""
+msgstr "事务已从 %s 载入，还有 %s 位成员。"
+
+#: ../yumcommands.py:3169
+msgid "Simple way to swap packages, isntead of using shell"
+msgstr "交换软件包的简单方式，无需 Shell 操作"
+
+#: ../yumcommands.py:3264
+msgid ""
+"Treat a repo. as a group of packages, so we can install/remove all of them"
+msgstr "将一个源当作一个软件包组，这样我们就可以一次性安装/移除全部软件包。"
+
+#: ../yumcommands.py:3341
+#, python-format
+msgid "%d package to update"
+msgid_plural "%d packages to update"
+msgstr[0] "%d 软件包将被更新"
+
+#: ../yumcommands.py:3370
+#, python-format
+msgid "%d package to remove/reinstall"
+msgid_plural "%d packages to remove/reinstall"
+msgstr[0] "%d 个软件包将被移除/重安装"
+
+#: ../yumcommands.py:3413
+#, python-format
+msgid "%d package to remove/sync"
+msgid_plural "%d packages to remove/sync"
+msgstr[0] "%d 个软件包将被移除/同步"
+
+#: ../yumcommands.py:3417
+#, python-format
+msgid "Not a valid sub-command of %s"
+msgstr "不是 %s 的有效子命令"
 
 #. This is mainly for PackageSackError from rpmdb.
 #: ../yummain.py:84
 #, python-format
 msgid " Yum checks failed: %s"
-msgstr ""
+msgstr " Yum 检查失败：%s"
 
-#: ../yummain.py:114
-msgid ""
-"Another app is currently holding the yum lock; waiting for it to exit..."
-msgstr "另外一个程序锁定了 yum；等待它退出……"
+#: ../yummain.py:98
+msgid "No read/execute access in current directory, moving to /"
+msgstr "没有当前目录的读、执行权限，正在移动至 /"
 
-#: ../yummain.py:120
-msgid "Can't create lock file; exiting"
-msgstr ""
+#: ../yummain.py:106
+msgid "No getcwd() access in current directory, moving to /"
+msgstr "当前目录没有 getcwd() 权限，移动到/"
 
 #. Depsolve stage
-#: ../yummain.py:167
+#: ../yummain.py:164
 msgid "Resolving Dependencies"
-msgstr "解决依赖关系"
+msgstr "正在解决依赖关系"
 
-#: ../yummain.py:230
+#: ../yummain.py:227 ../yummain.py:235
 #, python-format
-msgid "Your transaction was saved, rerun it with: yum load-transaction %s"
-msgstr ""
+msgid ""
+"Your transaction was saved, rerun it with:\n"
+" yum load-transaction %s"
+msgstr "您的事务已保存，请执行：\n yum load-transaction %s 重新执行该事务"
 
-#: ../yummain.py:288
+#: ../yummain.py:312
 msgid ""
 "\n"
 "\n"
 "Exiting on user cancel."
-msgstr ""
-"\n"
-"\n"
-"由于用户取消而退出。"
+msgstr "\n\n由于用户取消而退出。"
 
-#: ../yum/depsolve.py:84
+#: ../yum/depsolve.py:127
 msgid "doTsSetup() will go away in a future version of Yum.\n"
 msgstr "doTsSetup() 将从未来版本的 Yum 中去掉。\n"
 
-#: ../yum/depsolve.py:99
+#: ../yum/depsolve.py:143
 msgid "Setting up TransactionSets before config class is up"
-msgstr "在配置可用前设置事务集"
+msgstr "正在配置可用前设置事务集"
 
-#: ../yum/depsolve.py:153
+#: ../yum/depsolve.py:200
 #, python-format
 msgid "Invalid tsflag in config file: %s"
 msgstr "配置文件 %s 中使用 tsflag 是错误的"
 
-#: ../yum/depsolve.py:164
+#: ../yum/depsolve.py:218
 #, python-format
 msgid "Searching pkgSack for dep: %s"
 msgstr "搜索群集中 %s 的依赖关系"
 
-#: ../yum/depsolve.py:207
+#: ../yum/depsolve.py:269
 #, python-format
 msgid "Member: %s"
 msgstr "成员：%s"
 
-#: ../yum/depsolve.py:221 ../yum/depsolve.py:793
+#: ../yum/depsolve.py:283 ../yum/depsolve.py:937
 #, python-format
 msgid "%s converted to install"
 msgstr "%s 转为安装"
 
-#: ../yum/depsolve.py:233
+#: ../yum/depsolve.py:295
 #, python-format
 msgid "Adding Package %s in mode %s"
 msgstr "添加软件包 %s 到 %s 模式"
 
-#: ../yum/depsolve.py:249
+#: ../yum/depsolve.py:311
 #, python-format
 msgid "Removing Package %s"
 msgstr "正在删除软件包 %s"
 
-#: ../yum/depsolve.py:271
+#: ../yum/depsolve.py:333
 #, python-format
 msgid "%s requires: %s"
 msgstr "%s 需要：%s"
 
-#: ../yum/depsolve.py:312
+#: ../yum/depsolve.py:374
 #, python-format
 msgid "%s requires %s"
 msgstr "%s 需要 %s"
 
-#: ../yum/depsolve.py:339
+#: ../yum/depsolve.py:401
 msgid "Needed Require has already been looked up, cheating"
 msgstr "已查询过所需的依赖关系，跳过"
 
-#: ../yum/depsolve.py:349
+#: ../yum/depsolve.py:411
 #, python-format
 msgid "Needed Require is not a package name. Looking up: %s"
 msgstr "所需的依赖关系并非软件包名称。搜索：%s"
 
-#: ../yum/depsolve.py:357
+#: ../yum/depsolve.py:419
 #, python-format
 msgid "Potential Provider: %s"
-msgstr " 可能的提供者：%s"
+msgstr " 可能提供者：%s"
 
-#: ../yum/depsolve.py:380
+#: ../yum/depsolve.py:442
 #, python-format
 msgid "Mode is %s for provider of %s: %s"
 msgstr "模式 %s 被用于提供 %s 的软件包：%s"
 
-#: ../yum/depsolve.py:384
+#: ../yum/depsolve.py:446
 #, python-format
 msgid "Mode for pkg providing %s: %s"
 msgstr "提供 %s 的软件包使用的模式：%s"
@@ -2101,1007 +2309,1162 @@ msgstr "提供 %s 的软件包使用的模式：%s"
 #. the thing it needs is being updated or obsoleted away
 #. try to update the requiring package in hopes that all this problem goes
 #. away :(
-#: ../yum/depsolve.py:389 ../yum/depsolve.py:406
+#: ../yum/depsolve.py:451 ../yum/depsolve.py:486
 #, python-format
 msgid "Trying to update %s to resolve dep"
-msgstr ""
+msgstr "尝试升级 %s 来解决依赖"
 
-#: ../yum/depsolve.py:400 ../yum/depsolve.py:410
+#: ../yum/depsolve.py:480
 #, python-format
 msgid "No update paths found for %s. Failure!"
-msgstr ""
+msgstr "失败！未找到 %s 的更新路径。"
 
-#: ../yum/depsolve.py:416
+#: ../yum/depsolve.py:491
+#, python-format
+msgid "No update paths found for %s. Failure due to requirement: %s!"
+msgstr "未找到适用于 %s 的更新途径。无法满足需求：%s！"
+
+#: ../yum/depsolve.py:507
+#, python-format
+msgid "Update for %s. Doesn't fix requirement: %s!"
+msgstr "适用于 %s 的更新。未满足需求：%s ！"
+
+#: ../yum/depsolve.py:514
 #, python-format
 msgid "TSINFO: %s package requiring %s marked as erase"
-msgstr "事务：%s 软件包要求删除 %s"
+msgstr "事务信息：%s 要求删除 %s"
 
-#: ../yum/depsolve.py:429
+#: ../yum/depsolve.py:527
 #, python-format
 msgid "TSINFO: Obsoleting %s with %s to resolve dep."
-msgstr "事务：令 %s 被 %s 取代以解决依赖关系。"
+msgstr "事务信息：令 %s 被 %s 取代以解决依赖关系。"
 
-#: ../yum/depsolve.py:432
+#: ../yum/depsolve.py:530
 #, python-format
 msgid "TSINFO: Updating %s to resolve dep."
-msgstr "事务：更新 %s 以解决依赖。"
+msgstr "事务信息：更新 %s 以解决依赖关系。"
 
-#: ../yum/depsolve.py:440
+#: ../yum/depsolve.py:538
 #, python-format
 msgid "Cannot find an update path for dep for: %s"
 msgstr "无法找到 %s 依赖的更新路径"
 
-#: ../yum/depsolve.py:471
+#: ../yum/depsolve.py:569
 #, python-format
 msgid "Quick matched %s to require for %s"
 msgstr "快速匹配 %s 到 %s 的需求"
 
 #. is it already installed?
-#: ../yum/depsolve.py:513
+#: ../yum/depsolve.py:611
 #, python-format
 msgid "%s is in providing packages but it is already installed, removing."
 msgstr "提供 %s 的软件包存在而且已被安装，不再检测。"
 
-#: ../yum/depsolve.py:529
+#: ../yum/depsolve.py:627
 #, python-format
 msgid "Potential resolving package %s has newer instance in ts."
-msgstr "可能解决依赖的 %s 软件包已经有更新的版本存在于事务中了。"
+msgstr "可能解决依赖的 %s 软件包已经有较新的版本存在于事务中。"
 
-#: ../yum/depsolve.py:540
+#: ../yum/depsolve.py:638
 #, python-format
 msgid "Potential resolving package %s has newer instance installed."
 msgstr "可能解决依赖的 %s 软件包已经有更新的版本安装过了。"
 
-#: ../yum/depsolve.py:558
+#: ../yum/depsolve.py:656
 #, python-format
 msgid "%s already in ts, skipping this one"
 msgstr "%s 已包含在事务中，不再重复"
 
-#: ../yum/depsolve.py:607
+#: ../yum/depsolve.py:705
 #, python-format
 msgid "TSINFO: Marking %s as update for %s"
-msgstr "事务：将 %s 作为 %s 的更新"
+msgstr "事务信息：正在将 %s 标记为 %s 的更新"
 
-#: ../yum/depsolve.py:616
+#: ../yum/depsolve.py:714
 #, python-format
 msgid "TSINFO: Marking %s as install for %s"
-msgstr "事务：将 %s 作为 %s 安装"
+msgstr "事务信息：正在将 %s 标记为 %s 的安装依赖"
 
-#: ../yum/depsolve.py:727 ../yum/depsolve.py:819
+#: ../yum/depsolve.py:849 ../yum/depsolve.py:967
 msgid "Success - empty transaction"
-msgstr "成功 - 空的事务"
+msgstr "成功 - 空事务"
 
-#: ../yum/depsolve.py:767 ../yum/depsolve.py:783
+#: ../yum/depsolve.py:889 ../yum/depsolve.py:927
 msgid "Restarting Loop"
 msgstr "重新开始循环"
 
-#: ../yum/depsolve.py:799
+#: ../yum/depsolve.py:947
 msgid "Dependency Process ending"
 msgstr "依赖进程即将完成"
 
-#: ../yum/depsolve.py:821
+#: ../yum/depsolve.py:969
 msgid "Success - deps resolved"
 msgstr "成功 - 依赖关系解决"
 
-#: ../yum/depsolve.py:845
+#: ../yum/depsolve.py:993
 #, python-format
 msgid "Checking deps for %s"
-msgstr "检查 %s 的依赖关系"
+msgstr "正在检查 %s 的依赖关系"
 
-#: ../yum/depsolve.py:931
+#: ../yum/depsolve.py:1082
 #, python-format
 msgid "looking for %s as a requirement of %s"
-msgstr "搜索 %s 作为 %s 的依赖关系"
+msgstr "正在查找 %s 作为 %s 的依赖关系"
 
-#: ../yum/depsolve.py:1169
+#: ../yum/depsolve.py:1349
 #, python-format
 msgid "Running compare_providers() for %s"
-msgstr "为 %s 运行 compare_providers()"
+msgstr "正在为 %s 运行 compare_providers()"
 
-#: ../yum/depsolve.py:1196 ../yum/depsolve.py:1202
+#: ../yum/depsolve.py:1376 ../yum/depsolve.py:1382
 #, python-format
 msgid "better arch in po %s"
 msgstr "%s 提供了更好的架构选择"
 
-#: ../yum/depsolve.py:1298
+#: ../yum/depsolve.py:1496
 #, python-format
 msgid "%s obsoletes %s"
 msgstr "%s 取代 %s"
 
-#: ../yum/depsolve.py:1310
+#: ../yum/depsolve.py:1508
 #, python-format
 msgid ""
 "archdist compared %s to %s on %s\n"
 "  Winner: %s"
-msgstr ""
-"比较 %s 与 %s 架构差异，在 %s\n"
-"  胜者：%s"
+msgstr "比较 %s 与 %s 架构差异，在 %s\n  最终选择：%s"
 
-#: ../yum/depsolve.py:1318
+#: ../yum/depsolve.py:1516
 #, python-format
 msgid "common sourcerpm %s and %s"
-msgstr "%s 和 %s 具有共同的源代码 rpm"
+msgstr "%s 和 %s 具有共同的源代码 RPM"
 
-#: ../yum/depsolve.py:1322
+#: ../yum/depsolve.py:1520
 #, python-format
 msgid "base package %s is installed for %s"
 msgstr "基础软件包 %s 由于 %s 已经安装"
 
-#: ../yum/depsolve.py:1328
+#: ../yum/depsolve.py:1526
 #, python-format
 msgid "common prefix of %s between %s and %s"
 msgstr "共同的前缀 %s 存在于 %s 和 %s 之间"
 
-#: ../yum/depsolve.py:1359
+#: ../yum/depsolve.py:1543
 #, python-format
-msgid "requires minimal: %d"
-msgstr "最小需求： %d"
+msgid "provides vercmp: %s"
+msgstr "提供 vercmp: %s"
 
-#: ../yum/depsolve.py:1363
+#: ../yum/depsolve.py:1547 ../yum/depsolve.py:1581
 #, python-format
 msgid " Winner: %s"
-msgstr " 胜者：%s"
+msgstr " 最终选择：%s"
 
-#: ../yum/depsolve.py:1368
+#: ../yum/depsolve.py:1577
+#, python-format
+msgid "requires minimal: %d"
+msgstr "最小需求：%d"
+
+#: ../yum/depsolve.py:1586
 #, python-format
 msgid " Loser(with %d): %s"
 msgstr " 负者( %d)：%s"
 
-#: ../yum/depsolve.py:1384
+#: ../yum/depsolve.py:1602
 #, python-format
 msgid "Best Order: %s"
 msgstr "最佳顺序：%s"
 
-#: ../yum/__init__.py:234
+#: ../yum/__init__.py:274
 msgid "doConfigSetup() will go away in a future version of Yum.\n"
 msgstr "doConfigSetup() 将从未来版本的 Yum 中去掉。\n"
 
-#: ../yum/__init__.py:482
+#: ../yum/__init__.py:553
+#, python-format
+msgid "Skipping unreadable repository %s"
+msgstr "跳过不可读源 %s"
+
+#: ../yum/__init__.py:572
 #, python-format
 msgid "Repository %r: Error parsing config: %s"
-msgstr "软件仓库 %r：传递配置出错： %s"
+msgstr "软件源 %r：传递配置出错： %s"
 
-#: ../yum/__init__.py:488
+#: ../yum/__init__.py:578
 #, python-format
 msgid "Repository %r is missing name in configuration, using id"
-msgstr "仓库 %r 在配置文件中未指定名字，使用标识代替"
+msgstr "源 %r 在配置文件中未指定名字，使用标识代替"
 
-#: ../yum/__init__.py:526
+#: ../yum/__init__.py:618
 msgid "plugins already initialised"
 msgstr "插件已初始化"
 
-#: ../yum/__init__.py:533
+#: ../yum/__init__.py:627
 msgid "doRpmDBSetup() will go away in a future version of Yum.\n"
 msgstr "doRpmDBSetup() 将从未来版本的 Yum 中去掉。\n"
 
-#: ../yum/__init__.py:544
+#: ../yum/__init__.py:638
 msgid "Reading Local RPMDB"
-msgstr "读入本地 RPMDB"
+msgstr "正在读取本地 RPM 数据库"
 
-#: ../yum/__init__.py:567
+#: ../yum/__init__.py:668
 msgid "doRepoSetup() will go away in a future version of Yum.\n"
 msgstr "doRepoSetup() 将从未来版本的 Yum 中去掉。\n"
 
-#: ../yum/__init__.py:630
+#: ../yum/__init__.py:722
 msgid "doSackSetup() will go away in a future version of Yum.\n"
 msgstr "doSackSetup() 将从未来版本的 Yum 中去掉。\n"
 
-#: ../yum/__init__.py:660
+#: ../yum/__init__.py:752
 msgid "Setting up Package Sacks"
 msgstr "设置软件包群集"
 
-#: ../yum/__init__.py:705
+#: ../yum/__init__.py:797
 #, python-format
 msgid "repo object for repo %s lacks a _resetSack method\n"
-msgstr "仓库 %s 的对象缺少 _resetSack 方法\n"
+msgstr "源 %s 的对象缺少 _resetSack 方法\n"
 
-#: ../yum/__init__.py:706
+#: ../yum/__init__.py:798
 msgid "therefore this repo cannot be reset.\n"
-msgstr "因此仓库无法复位。\n"
+msgstr "因此源无法复位。\n"
 
-#: ../yum/__init__.py:711
+#: ../yum/__init__.py:806
 msgid "doUpdateSetup() will go away in a future version of Yum.\n"
 msgstr "doUpdateSetup() 将从未来版本的 Yum 中去掉。\n"
 
-#: ../yum/__init__.py:723
+#: ../yum/__init__.py:818
 msgid "Building updates object"
-msgstr "建立升级对象"
+msgstr "正在建立升级对象"
 
-#: ../yum/__init__.py:765
+#: ../yum/__init__.py:862
 msgid "doGroupSetup() will go away in a future version of Yum.\n"
 msgstr "doGroupSetup() 将从未来版本的 Yum 中去掉。\n"
 
-#: ../yum/__init__.py:790
+#: ../yum/__init__.py:887
 msgid "Getting group metadata"
-msgstr "获取组的元数据"
+msgstr "正在获取组的元数据"
 
-#: ../yum/__init__.py:816
+#: ../yum/__init__.py:915
 #, python-format
 msgid "Adding group file from repository: %s"
-msgstr "从仓库 %s 中添加组文件"
+msgstr "正在从源 %s 中添加组文件"
+
+#: ../yum/__init__.py:918
+#, python-format
+msgid "Failed to retrieve group file for repository: %s"
+msgstr "从源获取分组文件失败：%s"
 
-#: ../yum/__init__.py:827
+#: ../yum/__init__.py:924
 #, python-format
 msgid "Failed to add groups file for repository: %s - %s"
-msgstr "为仓库 %s 添加组文件时失败：%s"
+msgstr "为源 %s 添加组文件时失败：%s"
 
-#: ../yum/__init__.py:833
+#: ../yum/__init__.py:930
 msgid "No Groups Available in any repository"
-msgstr "在现有的仓库中没有提供组"
+msgstr "目前所有源中没有可用的组"
 
-#: ../yum/__init__.py:845
+#: ../yum/__init__.py:945
 msgid "Getting pkgtags metadata"
-msgstr "获取软件包标签元数据"
+msgstr "正在获取软件包标签元数据"
 
-#: ../yum/__init__.py:855
+#: ../yum/__init__.py:955
 #, python-format
 msgid "Adding tags from repository: %s"
-msgstr "从软件仓库添加标签：%s"
+msgstr "正在从软件源添加标签：%s"
 
-#: ../yum/__init__.py:866
+#: ../yum/__init__.py:966
 #, python-format
 msgid "Failed to add Pkg Tags for repository: %s - %s"
-msgstr "从软件仓库添加软件包标签失败：%s - %s"
+msgstr "从软件源添加软件包标签失败：%s - %s"
 
-#: ../yum/__init__.py:944
+#: ../yum/__init__.py:1059
 msgid "Importing additional filelist information"
 msgstr "正在导入额外的文件列表信息"
 
-#: ../yum/__init__.py:958
+#: ../yum/__init__.py:1077
 #, python-format
 msgid "The program %s%s%s is found in the yum-utils package."
-msgstr "程序 %s%s%s 位于 yum-utils 软件包。"
+msgstr "程序 %s%s%s 在 yum-utils 软件包中。"
 
-#: ../yum/__init__.py:966
+#: ../yum/__init__.py:1094
 msgid ""
 "There are unfinished transactions remaining. You might consider running yum-"
 "complete-transaction first to finish them."
 msgstr "存在未完成的操作。您或许需要先运行 yum-complete-transaction 来完成。"
 
-#: ../yum/__init__.py:983
+#: ../yum/__init__.py:1111
 msgid "--> Finding unneeded leftover dependencies"
-msgstr ""
+msgstr "--> 正在查找剩下不需要的依赖"
 
-#: ../yum/__init__.py:1041
+#: ../yum/__init__.py:1169
 #, python-format
 msgid "Protected multilib versions: %s != %s"
+msgstr "保护多库版本：%s != %s"
+
+#. People are confused about protected mutilib ... so give
+#. them a nicer message.
+#: ../yum/__init__.py:1173
+#, python-format
+msgid ""
+" Multilib version problems found. This often means that the root\n"
+"cause is something else and multilib version checking is just\n"
+"pointing out that there is a problem. Eg.:\n"
+"\n"
+"  1. You have an upgrade for %(name)s which is missing some\n"
+"     dependency that another package requires. Yum is trying to\n"
+"     solve this by installing an older version of %(name)s of the\n"
+"     different architecture. If you exclude the bad architecture\n"
+"     yum will tell you what the root cause is (which package\n"
+"     requires what). You can try redoing the upgrade with\n"
+"     --exclude %(name)s.otherarch ... this should give you an error\n"
+"     message showing the root cause of the problem.\n"
+"\n"
+"  2. You have multiple architectures of %(name)s installed, but\n"
+"     yum can only see an upgrade for one of those arcitectures.\n"
+"     If you don't want/need both architectures anymore then you\n"
+"     can remove the one with the missing update and everything\n"
+"     will work.\n"
+"\n"
+"  3. You have duplicate versions of %(name)s installed already.\n"
+"     You can use \"yum check\" to get yum show these errors.\n"
+"\n"
+"...you can also use --setopt=protected_multilib=false to remove\n"
+"this checking, however this is almost never the correct thing to\n"
+"do as something else is very likely to go wrong (often causing\n"
+"much more problems).\n"
+"\n"
 msgstr ""
 
-#: ../yum/__init__.py:1096
+#: ../yum/__init__.py:1257
 #, python-format
 msgid "Trying to remove \"%s\", which is protected"
 msgstr "尝试移除受保护的 \"%s\""
 
-#: ../yum/__init__.py:1217
+#: ../yum/__init__.py:1378
 msgid ""
 "\n"
 "Packages skipped because of dependency problems:"
-msgstr ""
-"\n"
-"因为依赖关系问题而跳过的软件包："
+msgstr "\n因为依赖关系问题而跳过的软件包："
 
-#: ../yum/__init__.py:1221
+#: ../yum/__init__.py:1382
 #, python-format
 msgid "    %s from %s"
 msgstr "    %s 来自 %s"
 
 #. FIXME: _N()
-#: ../yum/__init__.py:1391
+#: ../yum/__init__.py:1556
 #, python-format
 msgid "** Found %d pre-existing rpmdb problem(s), 'yum check' output follows:"
-msgstr "** 发现 %d 个已存在的 rpmdb 问题， 'yum check' 输出如下："
+msgstr "** 发现 %d 个已存在的 RPM 数据库问题， 'yum check' 输出如下："
 
-#: ../yum/__init__.py:1395
+#: ../yum/__init__.py:1560
 msgid "Warning: RPMDB altered outside of yum."
-msgstr "警告：RPMDB 在 yum 以外被修改。"
+msgstr "警告：RPM 数据库已被非 yum 程序修改。"
 
-#: ../yum/__init__.py:1407
+#: ../yum/__init__.py:1572
 msgid "missing requires"
 msgstr "缺失的需求"
 
-#: ../yum/__init__.py:1408
+#: ../yum/__init__.py:1573
 msgid "installed conflict"
 msgstr "安装冲突"
 
-#: ../yum/__init__.py:1525
+#: ../yum/__init__.py:1709
 msgid ""
 "Warning: scriptlet or other non-fatal errors occurred during transaction."
 msgstr "警告：事务过程中出现 scriptlet 或其他非致命性错误。"
 
-#: ../yum/__init__.py:1535
+#: ../yum/__init__.py:1719
 msgid "Transaction couldn't start:"
 msgstr "事务无法启动："
 
 #. should this be 'to_unicoded'?
-#: ../yum/__init__.py:1538
+#: ../yum/__init__.py:1722
 msgid "Could not run transaction."
-msgstr "不能执行事务。"
+msgstr "无法执行事务。"
 
-#: ../yum/__init__.py:1552
+#: ../yum/__init__.py:1736
 #, python-format
 msgid "Failed to remove transaction file %s"
 msgstr "移除事务文件 %s 失败"
 
 #. maybe a file log here, too
 #. but raising an exception is not going to do any good
-#: ../yum/__init__.py:1590
+#: ../yum/__init__.py:1792
 #, python-format
 msgid "%s was supposed to be installed but is not!"
 msgstr "%s 假定被安装但并非这样！"
 
 #. maybe a file log here, too
 #. but raising an exception is not going to do any good
-#: ../yum/__init__.py:1651
+#. Note: This actually triggers atm. because we can't
+#. always find the erased txmbr to set it when
+#. we should.
+#: ../yum/__init__.py:1869
 #, python-format
 msgid "%s was supposed to be removed but is not!"
 msgstr "%s 假定被移除但并非这样！"
 
-#: ../yum/__init__.py:1768
+#. Another copy seems to be running.
+#: ../yum/__init__.py:2004
 #, python-format
-msgid "Could not open lock %s: %s"
-msgstr "不能打开锁 %s ： %s"
+msgid "Existing lock %s: another copy is running as pid %s."
+msgstr "%s 已被锁定，PID 为 %s 的另一个程序正在运行。"
 
 #. Whoa. What the heck happened?
-#: ../yum/__init__.py:1785
+#: ../yum/__init__.py:2053
 #, python-format
-msgid "Unable to check if PID %s is active"
-msgstr "无法检测 PID %s 是否激活"
+msgid "Could not create lock at %s: %s "
+msgstr "无法在 %s 中创建锁：%s"
 
-#. Another copy seems to be running.
-#: ../yum/__init__.py:1789
+#: ../yum/__init__.py:2065
 #, python-format
-msgid "Existing lock %s: another copy is running as pid %s."
-msgstr "%s 已被锁定，PID 为 %s 的另一个程序正在运行。"
+msgid "Could not open lock %s: %s"
+msgstr "无法打开锁 %s ： %s"
 
+#. The pid doesn't exist
 #. Whoa. What the heck happened?
-#: ../yum/__init__.py:1830
+#: ../yum/__init__.py:2082
 #, python-format
-msgid "Could not create lock at %s: %s "
-msgstr "无法在 %s 创建锁：%s"
+msgid "Unable to check if PID %s is active"
+msgstr "无法检测 PID %s 是否为活动"
 
-#: ../yum/__init__.py:1875
+#: ../yum/__init__.py:2132
 #, python-format
 msgid ""
 "Package does not match intended download. Suggestion: run yum "
 "--enablerepo=%s clean metadata"
 msgstr "软件包与预期下载的不符。建议：运行 yum --enablerepo=%s clean metadata"
 
-#: ../yum/__init__.py:1891
+#: ../yum/__init__.py:2155
 msgid "Could not perform checksum"
 msgstr "无法执行校验和"
 
-#: ../yum/__init__.py:1894
+#: ../yum/__init__.py:2158
 msgid "Package does not match checksum"
-msgstr "软件包校验和不匹配"
+msgstr "软件包校验不匹配"
 
-#: ../yum/__init__.py:1946
+#: ../yum/__init__.py:2222
 #, python-format
 msgid "package fails checksum but caching is enabled for %s"
 msgstr "软件包校验和失败但是 %s 已启用缓存"
 
-#: ../yum/__init__.py:1949 ../yum/__init__.py:1979
+#: ../yum/__init__.py:2225 ../yum/__init__.py:2268
 #, python-format
 msgid "using local copy of %s"
 msgstr "使用本地的 %s 副本"
 
-#: ../yum/__init__.py:1991
-#, python-format
-msgid ""
-"Insufficient space in download directory %s\n"
-"    * free   %s\n"
-"    * needed %s"
-msgstr ""
-"下载目录 %s 空间不足\n"
-"    * 空闲   %s\n"
-"    * 需要 %s"
+#. caller handles errors
+#: ../yum/__init__.py:2342
+msgid "exiting because --downloadonly specified"
+msgstr "正在退出，因为指定了 --downloadonly"
 
-#: ../yum/__init__.py:2052
+#: ../yum/__init__.py:2371
 msgid "Header is not complete."
 msgstr "文件头不完整。"
 
-#: ../yum/__init__.py:2089
+#: ../yum/__init__.py:2411
 #, python-format
 msgid ""
 "Header not in local cache and caching-only mode enabled. Cannot download %s"
-msgstr "文件头不在本地缓存中，但是因为处于只使用缓存的模式，无法下载 %s"
+msgstr "文件头不在本地缓存中，由于处于只使用缓存模式，无法下载 %s"
 
-#: ../yum/__init__.py:2147
+#: ../yum/__init__.py:2471
 #, python-format
 msgid "Public key for %s is not installed"
-msgstr "%s 的公钥没有安装"
+msgstr "%s 的公钥尚未安装"
 
-#: ../yum/__init__.py:2151
+#: ../yum/__init__.py:2475
 #, python-format
 msgid "Problem opening package %s"
 msgstr "打开软件包 %s 出现问题"
 
-#: ../yum/__init__.py:2159
+#: ../yum/__init__.py:2483
 #, python-format
 msgid "Public key for %s is not trusted"
 msgstr "%s 的公钥不可信任"
 
-#: ../yum/__init__.py:2163
+#: ../yum/__init__.py:2487
 #, python-format
 msgid "Package %s is not signed"
 msgstr "软件包 %s 没有签名"
 
-#: ../yum/__init__.py:2202
+#: ../yum/__init__.py:2529
 #, python-format
 msgid "Cannot remove %s"
 msgstr "无法删除 %s"
 
-#: ../yum/__init__.py:2206
+#: ../yum/__init__.py:2533
 #, python-format
 msgid "%s removed"
 msgstr "%s 已删除"
 
-#: ../yum/__init__.py:2252
+#: ../yum/__init__.py:2594
 #, python-format
 msgid "Cannot remove %s file %s"
 msgstr "无法删除 %s 文件 %s"
 
-#: ../yum/__init__.py:2256
+#: ../yum/__init__.py:2598
 #, python-format
 msgid "%s file %s removed"
 msgstr "%s 文件 %s 已删除"
 
-#: ../yum/__init__.py:2258
+#: ../yum/__init__.py:2600
 #, python-format
-msgid "%d %s files removed"
-msgstr "%d %s 文件已删除"
+msgid "%d %s file removed"
+msgid_plural "%d %s files removed"
+msgstr[0] "%d %s 文件已移除"
 
-#: ../yum/__init__.py:2327
+#: ../yum/__init__.py:2712
 #, python-format
 msgid "More than one identical match in sack for %s"
 msgstr "群集中有超过一个相同的匹配 %s"
 
-#: ../yum/__init__.py:2333
+#: ../yum/__init__.py:2718
 #, python-format
 msgid "Nothing matches %s.%s %s:%s-%s from update"
 msgstr "更新不包括匹配 %s.%s %s:%s-%s 的内容"
 
-#: ../yum/__init__.py:2632
+#: ../yum/__init__.py:3096
 msgid ""
 "searchPackages() will go away in a future version of Yum."
 "                      Use searchGenerator() instead. \n"
 msgstr "searchPackages() 将从未来版本的 Yum 中去掉，被searchGenerator() 替代。\n"
 
-#: ../yum/__init__.py:2675
+#: ../yum/__init__.py:3149
 #, python-format
-msgid "Searching %d packages"
-msgstr "搜索 %d 个软件包"
+msgid "Searching %d package"
+msgid_plural "Searching %d packages"
+msgstr[0] "正在搜索，已搜索 %d 个软件包"
 
-#: ../yum/__init__.py:2679
+#: ../yum/__init__.py:3153
 #, python-format
 msgid "searching package %s"
 msgstr "搜索 %s 软件包"
 
-#: ../yum/__init__.py:2691
+#: ../yum/__init__.py:3165
 msgid "searching in file entries"
 msgstr "在文件中搜索"
 
-#: ../yum/__init__.py:2698
+#: ../yum/__init__.py:3172
 msgid "searching in provides entries"
 msgstr "在可提供的依赖中搜索"
 
-#: ../yum/__init__.py:2777
+#: ../yum/__init__.py:3369
 msgid "No group data available for configured repositories"
-msgstr "配置的软件仓库不包含组数据"
+msgstr "配置的软件源不包含组数据"
 
-#: ../yum/__init__.py:2808 ../yum/__init__.py:2827 ../yum/__init__.py:2858
-#: ../yum/__init__.py:2864 ../yum/__init__.py:2953 ../yum/__init__.py:2957
-#: ../yum/__init__.py:3339
+#: ../yum/__init__.py:3466 ../yum/__init__.py:3500 ../yum/__init__.py:3576
+#: ../yum/__init__.py:3582 ../yum/__init__.py:3719 ../yum/__init__.py:3723
+#: ../yum/__init__.py:4298
 #, python-format
 msgid "No Group named %s exists"
 msgstr "不存在 %s 组"
 
-#: ../yum/__init__.py:2839 ../yum/__init__.py:2973
+#: ../yum/__init__.py:3512 ../yum/__init__.py:3740
 #, python-format
 msgid "package %s was not marked in group %s"
 msgstr "软件包 %s 没有包含在 %s 组中"
 
-#: ../yum/__init__.py:2887
+#. (upgrade and igroup_data[pkg] == 'available')):
+#: ../yum/__init__.py:3622
+#, python-format
+msgid "Skipping package %s from group %s"
+msgstr "跳过 %s 软件包，它是 %s 组的"
+
+#: ../yum/__init__.py:3628
 #, python-format
 msgid "Adding package %s from group %s"
 msgstr "添加包 %s 从组 %s 中"
 
-#: ../yum/__init__.py:2891
+#: ../yum/__init__.py:3649
 #, python-format
 msgid "No package named %s available to be installed"
 msgstr "找不到名为 %s 的软件包来安装"
 
-#: ../yum/__init__.py:2941
+#: ../yum/__init__.py:3702
 #, python-format
-msgid "Warning: Group %s does not have any packages."
-msgstr ""
+msgid "Warning: Group %s does not have any packages to install."
+msgstr "警告：分组 %s 不包含任何可安装软件包。"
 
-#: ../yum/__init__.py:2943
+#: ../yum/__init__.py:3704
 #, python-format
 msgid "Group %s does have %u conditional packages, which may get installed."
-msgstr ""
+msgstr "组 %s 拥有 %u 有条件的包可能安装。"
+
+#: ../yum/__init__.py:3794
+#, python-format
+msgid "Skipping group %s from environment %s"
+msgstr "跳过分组 %s，来自环境 %s 中"
 
 #. This can happen due to excludes after .up has
 #. happened.
-#: ../yum/__init__.py:3002
+#: ../yum/__init__.py:3858
 #, python-format
 msgid "Package tuple %s could not be found in packagesack"
 msgstr "群集中找不到软件包 %s"
 
-#: ../yum/__init__.py:3022
+#: ../yum/__init__.py:3886
 #, python-format
 msgid "Package tuple %s could not be found in rpmdb"
-msgstr "rpmdb 中找不到软件包元组 %s"
+msgstr "RPM 数据库中找不到软件包元组 %s"
 
-#: ../yum/__init__.py:3079 ../yum/__init__.py:3129
+#: ../yum/__init__.py:3949 ../yum/__init__.py:4012
 #, python-format
 msgid "Invalid version flag from: %s"
-msgstr ""
+msgstr "来自 %s 的无效版本标识"
 
-#: ../yum/__init__.py:3096 ../yum/__init__.py:3101
+#: ../yum/__init__.py:3973 ../yum/__init__.py:3979 ../yum/__init__.py:4036
+#: ../yum/__init__.py:4042
 #, python-format
 msgid "No Package found for %s"
-msgstr "找不到 %s 软件包"
+msgstr "找不到软件包 %s"
+
+#: ../yum/__init__.py:4245 ../yum/__init__.py:4274
+#, python-format
+msgid "Warning: Environment Group %s does not exist."
+msgstr "警告：环境分组 %s 不存在。"
 
-#: ../yum/__init__.py:3401
+#: ../yum/__init__.py:4397
+#, python-format
+msgid "Package: %s - can't co-install with %s"
+msgstr "软件包： %s - 无法与 %s 同时安装"
+
+#: ../yum/__init__.py:4437
 msgid "Package Object was not a package object instance"
-msgstr "不是一个软件包对象的实例"
+msgstr "不是一个软件包对象实例"
 
-#: ../yum/__init__.py:3405
+#: ../yum/__init__.py:4441
 msgid "Nothing specified to install"
 msgstr "没有指定要安装的内容"
 
-#: ../yum/__init__.py:3424 ../yum/__init__.py:4283
+#: ../yum/__init__.py:4465 ../yum/__init__.py:5410
 #, python-format
 msgid "Checking for virtual provide or file-provide for %s"
 msgstr "检测 %s 提供的依赖或文件"
 
-#: ../yum/__init__.py:3430 ../yum/__init__.py:3775 ../yum/__init__.py:3969
-#: ../yum/__init__.py:4289
-#, python-format
-msgid "No Match for argument: %s"
-msgstr "参数 %s 没有匹配"
-
-#: ../yum/__init__.py:3507
+#: ../yum/__init__.py:4542
 #, python-format
 msgid "Package %s installed and not available"
-msgstr "包 %s 已安装且不可用"
+msgstr "软件包 %s 已安装但不可用"
 
-#: ../yum/__init__.py:3510
+#: ../yum/__init__.py:4545
 msgid "No package(s) available to install"
-msgstr "没有包可供安装"
+msgstr "没有软件包可供安装"
 
-#: ../yum/__init__.py:3522
+#: ../yum/__init__.py:4557
 #, python-format
 msgid "Package: %s  - already in transaction set"
-msgstr "软件包 %s 已包含在事务中"
+msgstr "软件包：%s - 已包含在事务集中"
 
-#: ../yum/__init__.py:3550
+#: ../yum/__init__.py:4589
 #, python-format
 msgid "Package %s is obsoleted by %s which is already installed"
 msgstr "软件包 %s 被已安装的 %s 取代"
 
-#: ../yum/__init__.py:3555
+#: ../yum/__init__.py:4594
 #, python-format
 msgid ""
 "Package %s is obsoleted by %s, but obsoleting package does not provide for "
 "requirements"
 msgstr "软件包 %s 已经被 %s 取代，但是取代的软件包并未满足需求"
 
-#: ../yum/__init__.py:3558
+#: ../yum/__init__.py:4597
 #, python-format
 msgid "Package %s is obsoleted by %s, trying to install %s instead"
 msgstr "软件包 %s 已经被 %s 取代，改为尝试安装 %s"
 
-#: ../yum/__init__.py:3566
+#: ../yum/__init__.py:4605
 #, python-format
 msgid "Package %s already installed and latest version"
-msgstr "包 %s 已安装并且是最新版本"
+msgstr "软件包 %s 已安装并且是最新版本"
 
-#: ../yum/__init__.py:3580
+#: ../yum/__init__.py:4619
 #, python-format
 msgid "Package matching %s already installed. Checking for update."
-msgstr "匹配 %s 的软件包已经安装。检查更新。"
+msgstr "匹配 %s 的软件包已经安装。正在检查更新。"
 
 #. update everything (the easy case)
-#: ../yum/__init__.py:3684
+#: ../yum/__init__.py:4751
 msgid "Updating Everything"
-msgstr "全部升级"
+msgstr "更新全部"
 
-#: ../yum/__init__.py:3708 ../yum/__init__.py:3849 ../yum/__init__.py:3879
-#: ../yum/__init__.py:3915
+#: ../yum/__init__.py:4775 ../yum/__init__.py:4930 ../yum/__init__.py:4975
+#: ../yum/__init__.py:5011
 #, python-format
 msgid "Not Updating Package that is already obsoleted: %s.%s %s:%s-%s"
 msgstr "不更新已被取代的软件包：%s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3753 ../yum/__init__.py:3965
+#: ../yum/__init__.py:4830 ../yum/__init__.py:5072
 #, python-format
 msgid "%s"
 msgstr "%s"
 
-#: ../yum/__init__.py:3838
+#: ../yum/__init__.py:4854 ../yum/__init__.py:5080 ../yum/__init__.py:5416
+#, python-format
+msgid "No Match for argument: %s"
+msgstr "参数 %s 没有匹配"
+
+#: ../yum/__init__.py:4872
+#, python-format
+msgid "No package matched to upgrade: %s"
+msgstr "没有匹配的可升级软件包：%s"
+
+#: ../yum/__init__.py:4919
 #, python-format
 msgid "Package is already obsoleted: %s.%s %s:%s-%s"
-msgstr "包已被取代：%s.%s %s:%s-%s"
+msgstr "软件包已被取代：%s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3874
+#: ../yum/__init__.py:4970
 #, python-format
 msgid "Not Updating Package that is obsoleted: %s"
 msgstr "未更新已被废除的软件包：%s"
 
-#: ../yum/__init__.py:3883 ../yum/__init__.py:3919
+#: ../yum/__init__.py:4979 ../yum/__init__.py:5015
 #, python-format
 msgid "Not Updating Package that is already updated: %s.%s %s:%s-%s"
-msgstr "未更新已被更新的软件包：%s.%s %s:%s-%s"
+msgstr "未更新已是最新的软件包：%s.%s %s:%s-%s"
 
-#: ../yum/__init__.py:3982
-msgid "No package matched to remove"
-msgstr "没有匹配的要删除的包"
+#: ../yum/__init__.py:5093
+#, python-format
+msgid "No package matched to remove: %s"
+msgstr "没有匹配的可移除软件包：%s"
 
-#: ../yum/__init__.py:3988
+#: ../yum/__init__.py:5099
 #, python-format
 msgid "Skipping the running kernel: %s"
 msgstr "跳过正在运行的内核：%ss"
 
-#: ../yum/__init__.py:3994
+#: ../yum/__init__.py:5105
 #, python-format
 msgid "Removing %s from the transaction"
 msgstr "从操作中移除 %s"
 
-#: ../yum/__init__.py:4029
+#: ../yum/__init__.py:5142
 #, python-format
 msgid "Cannot open: %s. Skipping."
 msgstr "无法打开 %s ，跳过。"
 
-#: ../yum/__init__.py:4032 ../yum/__init__.py:4150 ../yum/__init__.py:4226
+#: ../yum/__init__.py:5145 ../yum/__init__.py:5262 ../yum/__init__.py:5347
 #, python-format
 msgid "Examining %s: %s"
-msgstr "诊断 %s: %s"
+msgstr "正在检查 %s: %s"
 
-#: ../yum/__init__.py:4036
+#: ../yum/__init__.py:5149
 #, python-format
 msgid "Cannot localinstall deltarpm: %s. Skipping."
-msgstr "无法本地安装 deltarpm %s ，跳过。"
+msgstr "无法本地安装 delta RPM：%s ，跳过。"
 
-#: ../yum/__init__.py:4045 ../yum/__init__.py:4153 ../yum/__init__.py:4229
+#: ../yum/__init__.py:5158 ../yum/__init__.py:5265 ../yum/__init__.py:5350
 #, python-format
 msgid ""
 "Cannot add package %s to transaction. Not a compatible architecture: %s"
-msgstr "无法添加软件包 %s 到操作中。不属于可兼容的架构：%s"
+msgstr "无法添加软件包 %s 至操作中。不属于任何可兼容的架构：%s"
 
-#: ../yum/__init__.py:4051
+#: ../yum/__init__.py:5164
 #, python-format
 msgid "Cannot install package %s. It is obsoleted by installed package %s"
-msgstr "无法安装软件包 %s 。被已安装软件包 %s 标识为废除"
+msgstr "无法安装软件包 %s 。被已安装软件包 %s 标记为废除"
 
-#: ../yum/__init__.py:4059
+#: ../yum/__init__.py:5172
 #, python-format
 msgid ""
 "Package %s not installed, cannot update it. Run yum install to install it "
 "instead."
 msgstr "软件包 %s 没有安装，不能更新。运行 yum install 安装它。"
 
-#: ../yum/__init__.py:4078 ../yum/__init__.py:4085
+#: ../yum/__init__.py:5191 ../yum/__init__.py:5198
 #, python-format
 msgid ""
 "Package %s.%s not installed, cannot update it. Run yum install to install it"
 " instead."
-msgstr ""
+msgstr "软件包 %s.%s 未被安装，不能更新它。请通过运行 yum install 来完成安装。"
 
-#: ../yum/__init__.py:4094 ../yum/__init__.py:4158 ../yum/__init__.py:4234
+#: ../yum/__init__.py:5207 ../yum/__init__.py:5270 ../yum/__init__.py:5355
 #, python-format
 msgid "Excluding %s"
 msgstr "排除 %s"
 
-#: ../yum/__init__.py:4099
+#: ../yum/__init__.py:5212
 #, python-format
 msgid "Marking %s to be installed"
 msgstr "%s 将被安装"
 
-#: ../yum/__init__.py:4105
+#: ../yum/__init__.py:5218
 #, python-format
 msgid "Marking %s as an update to %s"
 msgstr "%s 将作为 %s 的更新"
 
-#: ../yum/__init__.py:4112
+#: ../yum/__init__.py:5225
 #, python-format
 msgid "%s: does not update installed package."
 msgstr "%s：不更新已安装的软件包。"
 
-#: ../yum/__init__.py:4147 ../yum/__init__.py:4223
+#: ../yum/__init__.py:5259 ../yum/__init__.py:5344
 #, python-format
 msgid "Cannot open file: %s. Skipping."
 msgstr "无法打开文件：%s。跳过。"
 
-#: ../yum/__init__.py:4177
+#: ../yum/__init__.py:5299
 msgid "Problem in reinstall: no package matched to remove"
 msgstr "覆盖安装出错：没有匹配的要删除的软件包"
 
-#: ../yum/__init__.py:4203
+#: ../yum/__init__.py:5325
 #, python-format
 msgid "Problem in reinstall: no package %s matched to install"
 msgstr "重新安装出错：没有匹配的软件包 %s 来安装"
 
-#: ../yum/__init__.py:4311
+#: ../yum/__init__.py:5438
 msgid "No package(s) available to downgrade"
 msgstr "没有可供降级的软件包"
 
-#: ../yum/__init__.py:4319
+#: ../yum/__init__.py:5446
 #, python-format
 msgid "Package %s is allowed multiple installs, skipping"
 msgstr "软件包 %s 允许同时安装多个版本，跳过"
 
-#: ../yum/__init__.py:4365
+#: ../yum/__init__.py:5496
 #, python-format
 msgid "No Match for available package: %s"
 msgstr "未找到匹配的可用软件包：%s"
 
-#: ../yum/__init__.py:4372
+#: ../yum/__init__.py:5506
 #, python-format
 msgid "Only Upgrade available on package: %s"
-msgstr "只更新可用软件包：%s"
+msgstr "只升级可用软件包：%s"
 
-#: ../yum/__init__.py:4442 ../yum/__init__.py:4479
+#: ../yum/__init__.py:5619 ../yum/__init__.py:5686
 #, python-format
 msgid "Failed to downgrade: %s"
 msgstr "降级失败：%s"
 
-#: ../yum/__init__.py:4516
+#: ../yum/__init__.py:5636 ../yum/__init__.py:5692
+#, python-format
+msgid "Failed to upgrade: %s"
+msgstr "升级失败：%s"
+
+#: ../yum/__init__.py:5725
 #, python-format
 msgid "Retrieving key from %s"
-msgstr ""
+msgstr "从 %s 检索密钥"
 
-#: ../yum/__init__.py:4534
+#: ../yum/__init__.py:5743
 msgid "GPG key retrieval failed: "
 msgstr "获取 GPG 密钥失败："
 
 #. if we decide we want to check, even though the sig failed
 #. here is where we would do that
-#: ../yum/__init__.py:4557
+#: ../yum/__init__.py:5766
 #, python-format
 msgid "GPG key signature on key %s does not match CA Key for repo: %s"
-msgstr ""
+msgstr "密钥 %s 上的 GPG 密钥签名与 %s 源的 CA 密钥不匹配"
 
-#: ../yum/__init__.py:4559
+#: ../yum/__init__.py:5768
 msgid "GPG key signature verified against CA Key(s)"
-msgstr ""
+msgstr "GPG 密钥签名验证与 CA 密钥冲突"
 
-#: ../yum/__init__.py:4567
+#: ../yum/__init__.py:5776
 #, python-format
 msgid "Invalid GPG Key from %s: %s"
-msgstr "来自 %s 的不可用 GPG 密钥：%s"
+msgstr "来自 %s 的无效 GPG 密钥：%s"
 
-#: ../yum/__init__.py:4576
+#: ../yum/__init__.py:5785
 #, python-format
 msgid "GPG key parsing failed: key does not have value %s"
 msgstr "GPG 密钥传递失败：密钥未包含值 %s"
 
-#: ../yum/__init__.py:4592
+#: ../yum/__init__.py:5801
 #, python-format
 msgid ""
 "Importing %s key 0x%s:\n"
-" Userid : %s\n"
-" Package: %s (%s)\n"
-" From   : %s"
-msgstr ""
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" Package    : %s (%s)\n"
+" From       : %s"
+msgstr "导入 %s key 0x%s:\n 用户ID     : \"%s\"\n 指纹       : %s\n 软件包     : %s (%s)\n 来自       : %s"
 
-#: ../yum/__init__.py:4600
+#: ../yum/__init__.py:5811
 #, python-format
 msgid ""
 "Importing %s key 0x%s:\n"
-" Userid: \"%s\"\n"
-" From  : %s"
-msgstr ""
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" From       : %s"
+msgstr "导入 %s key 0x%s:\n 用户ID     : \"%s\"\n 指纹       : %s\n 来自       : %s"
 
-#: ../yum/__init__.py:4634
+#: ../yum/__init__.py:5839
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" Failing package is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr "\n\n\n 失败的软件包是：%s\n GPG  密钥配置为：%s\n"
+
+#: ../yum/__init__.py:5853
 #, python-format
 msgid "GPG key at %s (0x%s) is already installed"
 msgstr "%s 的 GPG 密钥(0x%s)已安装"
 
-#: ../yum/__init__.py:4671
+#: ../yum/__init__.py:5891
 #, python-format
 msgid "Key import failed (code %d)"
-msgstr "导入密钥失败(代码 %d)"
+msgstr "导入密钥失败(错误代码 %d)"
 
-#: ../yum/__init__.py:4672 ../yum/__init__.py:4755
+#: ../yum/__init__.py:5893 ../yum/__init__.py:5994
 msgid "Key imported successfully"
 msgstr "导入密钥成功"
 
-#: ../yum/__init__.py:4676
+#: ../yum/__init__.py:5897
 msgid "Didn't install any keys"
-msgstr ""
+msgstr "尚未安装任何密钥"
 
-#: ../yum/__init__.py:4680
+#: ../yum/__init__.py:5900
 #, python-format
 msgid ""
 "The GPG keys listed for the \"%s\" repository are already installed but they are not correct for this package.\n"
 "Check that the correct key URLs are configured for this repository."
-msgstr "仓库 \"%s\" 的 GPG 密钥已安装，但是不适用于此软件包。请检查仓库的公钥 URL 是否配置正确。"
+msgstr "源 \"%s\" 的 GPG 密钥已安装，但是不适用于此软件包。请检查源的公钥 URL 是否配置正确。"
 
-#: ../yum/__init__.py:4689
+#: ../yum/__init__.py:5910
 msgid "Import of key(s) didn't help, wrong key(s)?"
 msgstr "导入的密钥没有用处，错误的密钥?"
 
-#: ../yum/__init__.py:4713
+#: ../yum/__init__.py:5932
+msgid "No"
+msgstr "否"
+
+#: ../yum/__init__.py:5934
+msgid "Yes"
+msgstr "是"
+
+#: ../yum/__init__.py:5935
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" CA Key: %s\n"
+" Failing repo is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr "\n\n\n CA 密钥：%s\n失败的源是：%s\n GPG 密钥配置为：%s\n"
+
+#: ../yum/__init__.py:5948
 #, python-format
 msgid "GPG key at %s (0x%s) is already imported"
 msgstr "位于 %s 的 GPG 密钥 （0x%s） 已经导入"
 
-#: ../yum/__init__.py:4754
-msgid "Key import failed"
-msgstr "导入密钥失败"
+#: ../yum/__init__.py:5992
+#, python-format
+msgid "Key %s import failed"
+msgstr "密钥 %s 导入失败"
 
-#: ../yum/__init__.py:4770
+#: ../yum/__init__.py:6009
 #, python-format
 msgid "Didn't install any keys for repo %s"
-msgstr ""
+msgstr "没有安装 %s 源的任何密钥"
 
-#: ../yum/__init__.py:4774
+#: ../yum/__init__.py:6014
 #, python-format
 msgid ""
 "The GPG keys listed for the \"%s\" repository are already installed but they are not correct.\n"
 "Check that the correct key URLs are configured for this repository."
-msgstr ""
-"\"%s\" 仓库列出的 GPG 密钥已经安装但并不正确。\n"
-"请检查此仓库正确的密钥 URL 配置。"
+msgstr "\"%s\" 源列出的 GPG 密钥已经安装但并不正确。\n请检查此源正确的密钥 URL 配置。"
 
-#: ../yum/__init__.py:4924
+#: ../yum/__init__.py:6172
 msgid "Unable to find a suitable mirror."
-msgstr "不能发现合适的镜像。"
+msgstr "无法发现合适的镜像。"
 
-#: ../yum/__init__.py:4926
+#: ../yum/__init__.py:6174
 msgid "Errors were encountered while downloading packages."
 msgstr "下载软件包时出错。"
 
-#: ../yum/__init__.py:4981
+#: ../yum/__init__.py:6229
 #, python-format
 msgid "Please report this error at %s"
 msgstr "请在 %s 报告这个错误"
 
-#: ../yum/__init__.py:4998
+#: ../yum/__init__.py:6246
 msgid "Test Transaction Errors: "
 msgstr "事务测试出错："
 
-#: ../yum/__init__.py:5098
+#: ../yum/__init__.py:6358
 #, python-format
 msgid "Could not set cachedir: %s"
 msgstr "不能置缓存目录：%s"
 
-#: ../yum/__init__.py:5148 ../yum/__init__.py:5150
+#: ../yum/__init__.py:6420 ../yum/__init__.py:6422
 msgid "Dependencies not solved. Will not save unresolved transaction."
-msgstr ""
+msgstr "尚未解决依赖关系。将不会保存未解决事务。"
 
-#: ../yum/__init__.py:5179 ../yum/__init__.py:5181
+#: ../yum/__init__.py:6455 ../yum/__init__.py:6457
 #, python-format
 msgid "Could not save transaction file %s: %s"
-msgstr ""
+msgstr "不能保存事务文件 %s：%s"
 
-#: ../yum/__init__.py:5195
+#: ../yum/__init__.py:6483
 #, python-format
 msgid "Could not access/read saved transaction %s : %s"
-msgstr ""
-
-#: ../yum/__init__.py:5214
-msgid "rpmdb ver mismatched saved transaction version, "
-msgstr ""
-
-#: ../yum/__init__.py:5216
-msgid " ignoring, as requested."
-msgstr ""
+msgstr "不能访问或读取事务 %s：%s"
 
-#: ../yum/__init__.py:5219 ../yum/__init__.py:5354
-msgid " aborting."
-msgstr ""
+#: ../yum/__init__.py:6521
+msgid "rpmdb ver mismatched saved transaction version,"
+msgstr "RPM 数据库版本与已保存事务中的版本不匹配，"
 
-#: ../yum/__init__.py:5228
+#: ../yum/__init__.py:6535
 msgid "cannot find tsflags or tsflags not integer."
-msgstr ""
+msgstr "不能找到 tsflags 或 tsflags 非整数。"
 
-#: ../yum/__init__.py:5267
+#: ../yum/__init__.py:6584
 #, python-format
 msgid "Found txmbr in unknown current state: %s"
-msgstr ""
+msgstr "在未知当前状态找到 txmbr：%s"
 
-#: ../yum/__init__.py:5271
+#: ../yum/__init__.py:6588
 #, python-format
 msgid "Could not find txmbr: %s in state %s"
-msgstr ""
+msgstr "不能找到 txmbr：在 %s 状态中 %s"
 
-#: ../yum/__init__.py:5307 ../yum/__init__.py:5324
+#: ../yum/__init__.py:6625 ../yum/__init__.py:6642
 #, python-format
 msgid "Could not find txmbr: %s from origin: %s"
-msgstr ""
+msgstr "不能找到 txmbr：来自原始 %s 的 %s"
 
-#: ../yum/__init__.py:5349
+#: ../yum/__init__.py:6667
 msgid "Transaction members, relations are missing or ts has been modified,"
-msgstr ""
+msgstr "事务成员、关系缺失或本身已被修改，"
 
-#: ../yum/__init__.py:5351
+#: ../yum/__init__.py:6670
 msgid " ignoring, as requested. You must redepsolve!"
-msgstr ""
+msgstr " 由于请求正在忽略。您必须重新解决依赖！"
+
+#. Debugging output
+#: ../yum/__init__.py:6738 ../yum/__init__.py:6757
+#, python-format
+msgid "%s has been visited already and cannot be removed."
+msgstr "%s 已经被访问过了，不能删除。"
+
+#. Debugging output
+#: ../yum/__init__.py:6741
+#, python-format
+msgid "Examining revdeps of %s"
+msgstr "正在检查 %s 的 revdeps"
+
+#. Debugging output
+#: ../yum/__init__.py:6762
+#, python-format
+msgid "%s has revdep %s which was user-installed."
+msgstr "%s 的revdep %s 是用户安装的。"
+
+#: ../yum/__init__.py:6773 ../yum/__init__.py:6779
+#, python-format
+msgid "%s is needed by a package to be installed."
+msgstr "%s 由于某软件包的需要将被安装"
+
+#. Debugging output
+#: ../yum/__init__.py:6793
+#, python-format
+msgid "%s has no user-installed revdeps."
+msgstr "%s 没有用户安装的 revdeps。"
 
 #. Mostly copied from YumOutput._outKeyValFill()
-#: ../yum/plugins.py:209
+#: ../yum/plugins.py:212
 msgid "Loaded plugins: "
 msgstr "已加载插件："
 
-#: ../yum/plugins.py:223 ../yum/plugins.py:229
+#: ../yum/plugins.py:226 ../yum/plugins.py:232
 #, python-format
 msgid "No plugin match for: %s"
 msgstr "没有匹配 %s 的插件"
 
-#: ../yum/plugins.py:259
+#: ../yum/plugins.py:262
 #, python-format
 msgid "Not loading \"%s\" plugin, as it is disabled"
-msgstr "\"%s\" 插件被禁用，因此未加载它"
+msgstr "\"%s\" 插件已被禁用，因此未加载"
 
 #. Give full backtrace:
-#: ../yum/plugins.py:271
+#: ../yum/plugins.py:274
 #, python-format
 msgid "Plugin \"%s\" can't be imported"
 msgstr "插件 \"%s\" 不能被导入"
 
-#: ../yum/plugins.py:278
+#: ../yum/plugins.py:281
 #, python-format
 msgid "Plugin \"%s\" doesn't specify required API version"
 msgstr "插件 \"%s\" 没有指定必要的 API 版本"
 
-#: ../yum/plugins.py:283
+#: ../yum/plugins.py:286
 #, python-format
 msgid "Plugin \"%s\" requires API %s. Supported API is %s."
 msgstr "插件 \"%s\" 需要 API %s。支持的 API 为 %s。"
 
-#: ../yum/plugins.py:316
+#: ../yum/plugins.py:319
 #, python-format
 msgid "Loading \"%s\" plugin"
 msgstr "加载 \"%s\" 插件"
 
-#: ../yum/plugins.py:323
+#: ../yum/plugins.py:326
 #, python-format
 msgid "Two or more plugins with the name \"%s\" exist in the plugin search path"
 msgstr "搜索路径中存在两个或多个重名插件 \"%s\""
 
-#: ../yum/plugins.py:343
+#: ../yum/plugins.py:346
 #, python-format
 msgid "Configuration file %s not found"
 msgstr "找不到配置文件 %s"
 
 #. for
 #. Configuration files for the plugin not found
-#: ../yum/plugins.py:346
+#: ../yum/plugins.py:349
 #, python-format
 msgid "Unable to find configuration file for plugin %s"
 msgstr "找不到插件 %s 的配置文件 "
 
-#: ../yum/plugins.py:508
+#: ../yum/plugins.py:553
 msgid "registration of commands not supported"
 msgstr "不支持注册命令"
 
-#: ../yum/rpmsack.py:148
+#: ../yum/rpmsack.py:159
 msgid "has missing requires of"
 msgstr "有缺少的需求"
 
-#: ../yum/rpmsack.py:151
+#: ../yum/rpmsack.py:162
 msgid "has installed conflicts"
 msgstr "有已安装冲突"
 
-#: ../yum/rpmsack.py:160
+#: ../yum/rpmsack.py:171
 #, python-format
 msgid "%s is a duplicate with %s"
 msgstr "%s 是 %s 的副本"
 
-#: ../yum/rpmsack.py:168
+#: ../yum/rpmsack.py:179
 #, python-format
 msgid "%s is obsoleted by %s"
 msgstr "%s 被 %s 取代"
 
-#: ../yum/rpmsack.py:176
+#: ../yum/rpmsack.py:187
 #, python-format
 msgid "%s provides %s but it cannot be found"
 msgstr "%s 提供 %s 但不能被找到"
 
 #: ../yum/rpmtrans.py:80
 msgid "Repackaging"
-msgstr "正在重新包装"
+msgstr "正在重新打包"
+
+#: ../yum/rpmtrans.py:149
+#, python-format
+msgid "Verify: %u/%u: %s"
+msgstr "验证: %u/%u: %s"
+
+#: ../yum/yumRepo.py:919
+#, python-format
+msgid ""
+"Insufficient space in download directory %s\n"
+"    * free   %s\n"
+"    * needed %s"
+msgstr "下载目录 %s 空间不足\n    * 空闲   %s\n    * 需要 %s"
+
+#: ../yum/yumRepo.py:986
+msgid "Package does not match intended download."
+msgstr "软件包与预期下载的不符。"
 
 #: ../rpmUtils/oldUtils.py:33
 #, python-format
@@ -3115,11 +3478,11 @@ msgstr "RPM %s md5 校验失败"
 
 #: ../rpmUtils/oldUtils.py:151
 msgid "Could not open RPM database for reading. Perhaps it is already in use?"
-msgstr "无法打开 RPM 数据库以读取。也许它已在使用中？"
+msgstr "无法打开并读取 RPM 数据库。也许它正在被使用？"
 
 #: ../rpmUtils/oldUtils.py:183
 msgid "Got an empty Header, something has gone wrong"
-msgstr "下载到空的文件头，有错误发生"
+msgstr "有错误产生，获得文件头为空"
 
 #: ../rpmUtils/oldUtils.py:253 ../rpmUtils/oldUtils.py:260
 #: ../rpmUtils/oldUtils.py:263 ../rpmUtils/oldUtils.py:266
@@ -3130,6 +3493,4 @@ msgstr "损坏的文件头 %s"
 #: ../rpmUtils/oldUtils.py:281
 #, python-format
 msgid "Error opening rpm %s - error %s"
-msgstr "打开 RPM %s 错误 - 错误 %s"
-
-
+msgstr "打开 RPM %s 发生错误 - 错误 %s"
diff --git a/po/zh_TW.po b/po/zh_TW.po
index 704a726..2ab6a67 100644
--- a/po/zh_TW.po
+++ b/po/zh_TW.po
@@ -2,427 +2,497 @@
 # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
 # This file is distributed under the same license as the PACKAGE package.
 # 
+# Translators:
 msgid ""
 msgstr ""
 "Project-Id-Version: Yum\n"
-"Report-Msgid-Bugs-To: http://yum.baseurl.org/\n"
-"POT-Creation-Date: 2011-06-06 10:21-0400\n"
-"PO-Revision-Date: 2011-06-06 14:21+0000\n"
-"Last-Translator: skvidal <skvidal@fedoraproject.org>\n"
-"Language-Team: Chinese (Taiwan) (http://www.transifex.net/projects/p/yum/team/zh_TW/)\n"
+"Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
+"POT-Creation-Date: 2013-01-30 09:08-0500\n"
+"PO-Revision-Date: 2013-01-30 14:08+0000\n"
+"Last-Translator: james <james@fedoraproject.org>\n"
+"Language-Team: Chinese (Taiwan) (http://www.transifex.com/projects/p/yum/language/zh_TW/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Language: zh_TW\n"
-"Plural-Forms: nplurals=1; plural=0\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
 
-#: ../callback.py:48 ../output.py:1037 ../yum/rpmtrans.py:73
+#: ../callback.py:45 ../output.py:1502 ../yum/rpmtrans.py:73
 msgid "Updating"
 msgstr ""
 
-#: ../callback.py:49 ../yum/rpmtrans.py:74
+#: ../callback.py:46 ../yum/rpmtrans.py:74
 msgid "Erasing"
 msgstr ""
 
-#: ../callback.py:50 ../callback.py:51 ../callback.py:53 ../output.py:1036
-#: ../output.py:2218 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
+#: ../callback.py:47 ../callback.py:48 ../callback.py:50 ../output.py:1501
+#: ../output.py:2922 ../yum/rpmtrans.py:75 ../yum/rpmtrans.py:76
 #: ../yum/rpmtrans.py:78
 msgid "Installing"
 msgstr ""
 
-#: ../callback.py:52 ../callback.py:58 ../output.py:1840 ../yum/rpmtrans.py:77
+#: ../callback.py:49 ../callback.py:55 ../output.py:2379 ../yum/rpmtrans.py:77
 msgid "Obsoleted"
 msgstr ""
 
-#: ../callback.py:54 ../output.py:1169 ../output.py:1686 ../output.py:1847
+#: ../callback.py:51 ../output.py:1670 ../output.py:2222 ../output.py:2386
 msgid "Updated"
 msgstr ""
 
-#: ../callback.py:55 ../output.py:1685
+#: ../callback.py:52 ../output.py:2221
 msgid "Erased"
 msgstr ""
 
-#: ../callback.py:56 ../callback.py:57 ../callback.py:59 ../output.py:1167
-#: ../output.py:1685 ../output.py:1687 ../output.py:2190
+#: ../callback.py:53 ../callback.py:54 ../callback.py:56 ../output.py:1668
+#: ../output.py:2221 ../output.py:2223 ../output.py:2894
 msgid "Installed"
 msgstr ""
 
-#: ../callback.py:130
+#: ../callback.py:142
 msgid "No header - huh?"
 msgstr ""
 
-#: ../callback.py:168
+#: ../callback.py:180
 msgid "Repackage"
 msgstr ""
 
-#: ../callback.py:189
+#: ../callback.py:201
 #, python-format
 msgid "Error: invalid output state: %s for %s"
 msgstr ""
 
-#: ../callback.py:212
+#: ../callback.py:224
 #, python-format
 msgid "Erased: %s"
 msgstr ""
 
-#: ../callback.py:217 ../output.py:1038 ../output.py:2193
+#: ../callback.py:229 ../output.py:1503 ../output.py:2897
 msgid "Removing"
 msgstr ""
 
-#: ../callback.py:219 ../yum/rpmtrans.py:79
+#: ../callback.py:231 ../yum/rpmtrans.py:79
 msgid "Cleanup"
 msgstr ""
 
-#: ../cli.py:115
+#: ../cli.py:122
 #, python-format
 msgid "Command \"%s\" already defined"
 msgstr ""
 
-#: ../cli.py:127
+#: ../cli.py:137
 msgid "Setting up repositories"
 msgstr ""
 
-#: ../cli.py:138
+#: ../cli.py:148
 msgid "Reading repository metadata in from local files"
 msgstr ""
 
-#: ../cli.py:245 ../utils.py:281
+#: ../cli.py:273 ../cli.py:277 ../utils.py:320
 #, python-format
 msgid "Config Error: %s"
 msgstr ""
 
-#: ../cli.py:248 ../cli.py:1584 ../utils.py:284
+#: ../cli.py:280 ../cli.py:2206 ../utils.py:323
 #, python-format
 msgid "Options Error: %s"
 msgstr ""
 
-#: ../cli.py:293
+#: ../cli.py:327
 #, python-format
 msgid "  Installed: %s-%s at %s"
 msgstr ""
 
-#: ../cli.py:295
+#: ../cli.py:329
 #, python-format
 msgid "  Built    : %s at %s"
 msgstr ""
 
-#: ../cli.py:297
+#: ../cli.py:331
 #, python-format
 msgid "  Committed: %s at %s"
 msgstr ""
 
-#: ../cli.py:336
+#: ../cli.py:372
 msgid "You need to give some command"
 msgstr ""
 
-#: ../cli.py:350
+#: ../cli.py:386
 #, python-format
 msgid "No such command: %s. Please use %s --help"
 msgstr ""
 
-#: ../cli.py:400
+#: ../cli.py:444
 msgid "Disk Requirements:\n"
 msgstr ""
 
-#: ../cli.py:402
+#: ../cli.py:446
 #, python-format
 msgid "  At least %dMB more space needed on the %s filesystem.\n"
-msgstr ""
+msgid_plural "  At least %dMB more space needed on the %s filesystem.\n"
+msgstr[0] ""
 
 #. TODO: simplify the dependency errors?
 #. Fixup the summary
-#: ../cli.py:407
+#: ../cli.py:451
 msgid ""
 "Error Summary\n"
 "-------------\n"
 msgstr ""
 
-#: ../cli.py:450
+#: ../cli.py:472
+msgid "Can't create lock file; exiting"
+msgstr ""
+
+#: ../cli.py:479
+msgid ""
+"Another app is currently holding the yum lock; exiting as configured by "
+"exit_on_lock"
+msgstr ""
+
+#: ../cli.py:532
 msgid "Trying to run the transaction but nothing to do. Exiting."
 msgstr ""
 
-#: ../cli.py:497
+#: ../cli.py:577
+msgid "future rpmdb ver mismatched saved transaction version,"
+msgstr ""
+
+#: ../cli.py:579 ../yum/__init__.py:6523
+msgid " ignoring, as requested."
+msgstr ""
+
+#: ../cli.py:582 ../yum/__init__.py:6526 ../yum/__init__.py:6673
+msgid " aborting."
+msgstr ""
+
+#: ../cli.py:588
 msgid "Exiting on user Command"
 msgstr ""
 
-#: ../cli.py:501
+#: ../cli.py:592
 msgid "Downloading Packages:"
 msgstr ""
 
-#: ../cli.py:506
+#: ../cli.py:597
 msgid "Error Downloading Packages:\n"
 msgstr ""
 
-#: ../cli.py:525 ../yum/__init__.py:4967
+#: ../cli.py:616 ../yum/__init__.py:6215
 msgid "Running Transaction Check"
 msgstr ""
 
-#: ../cli.py:534 ../yum/__init__.py:4976
+#: ../cli.py:625 ../yum/__init__.py:6224
 msgid "ERROR You need to update rpm to handle:"
 msgstr ""
 
-#: ../cli.py:536 ../yum/__init__.py:4979
+#: ../cli.py:627 ../yum/__init__.py:6227
 msgid "ERROR with transaction check vs depsolve:"
 msgstr ""
 
-#: ../cli.py:542
+#: ../cli.py:633
 msgid "RPM needs to be updated"
 msgstr ""
 
-#: ../cli.py:543
+#: ../cli.py:634
 #, python-format
 msgid "Please report this error in %s"
 msgstr ""
 
-#: ../cli.py:549
+#: ../cli.py:640
 msgid "Running Transaction Test"
 msgstr ""
 
-#: ../cli.py:561
+#: ../cli.py:652
 msgid "Transaction Check Error:\n"
 msgstr ""
 
-#: ../cli.py:568
+#: ../cli.py:659
 msgid "Transaction Test Succeeded"
 msgstr ""
 
-#: ../cli.py:600
+#: ../cli.py:691
 msgid "Running Transaction"
 msgstr ""
 
-#: ../cli.py:630
+#: ../cli.py:724
 msgid ""
 "Refusing to automatically import keys when running unattended.\n"
 "Use \"-y\" to override."
 msgstr ""
 
-#: ../cli.py:649 ../cli.py:692
+#: ../cli.py:743 ../cli.py:786
 msgid "  * Maybe you meant: "
 msgstr ""
 
-#: ../cli.py:675 ../cli.py:683
+#: ../cli.py:769 ../cli.py:777
 #, python-format
 msgid "Package(s) %s%s%s available, but not installed."
 msgstr ""
 
-#: ../cli.py:689 ../cli.py:722 ../cli.py:908
+#: ../cli.py:783 ../cli.py:891 ../cli.py:1158
 #, python-format
 msgid "No package %s%s%s available."
 msgstr ""
 
-#: ../cli.py:729 ../cli.py:973
-msgid "Package(s) to install"
+#: ../cli.py:871 ../cli.py:881 ../cli.py:1101 ../cli.py:1111
+#, python-format
+msgid "Bad %s argument %s."
 msgstr ""
 
-#: ../cli.py:732 ../cli.py:733 ../cli.py:914 ../cli.py:948 ../cli.py:974
-#: ../yumcommands.py:190
+#: ../cli.py:900 ../yumcommands.py:3331
+#, python-format
+msgid "%d package to install"
+msgid_plural "%d packages to install"
+msgstr[0] ""
+
+#: ../cli.py:903 ../cli.py:904 ../cli.py:1169 ../cli.py:1170 ../cli.py:1224
+#: ../cli.py:1225 ../cli.py:1260 ../yumcommands.py:323 ../yumcommands.py:3419
 msgid "Nothing to do"
 msgstr ""
 
-#: ../cli.py:767
+#: ../cli.py:953
 #, python-format
-msgid "%d packages marked for Update"
-msgstr ""
+msgid "%d package marked for Update"
+msgid_plural "%d packages marked for Update"
+msgstr[0] ""
 
-#: ../cli.py:770
+#: ../cli.py:955
 msgid "No Packages marked for Update"
 msgstr ""
 
-#: ../cli.py:866
+#: ../cli.py:1067
 #, python-format
-msgid "%d packages marked for Distribution Synchronization"
-msgstr ""
+msgid "%d package marked for Distribution Synchronization"
+msgid_plural "%d packages marked for Distribution Synchronization"
+msgstr[0] ""
 
-#: ../cli.py:869
+#: ../cli.py:1069
 msgid "No Packages marked for Distribution Synchronization"
 msgstr ""
 
-#: ../cli.py:885
+#: ../cli.py:1124
 #, python-format
-msgid "%d packages marked for removal"
-msgstr ""
+msgid "%d package marked for removal"
+msgid_plural "%d packages marked for removal"
+msgstr[0] ""
 
-#: ../cli.py:888
+#: ../cli.py:1126
 msgid "No Packages marked for removal"
 msgstr ""
 
-#: ../cli.py:913
-msgid "Package(s) to downgrade"
-msgstr ""
+#: ../cli.py:1166
+#, python-format
+msgid "%d package to downgrade"
+msgid_plural "%d packages to downgrade"
+msgstr[0] ""
 
-#: ../cli.py:938
+#: ../cli.py:1207
 #, python-format
 msgid " (from %s)"
 msgstr ""
 
-#: ../cli.py:939
+#: ../cli.py:1208
 #, python-format
 msgid "Installed package %s%s%s%s not available."
 msgstr ""
 
-#: ../cli.py:947
-msgid "Package(s) to reinstall"
-msgstr ""
+#: ../cli.py:1221
+#, python-format
+msgid "%d package to reinstall"
+msgid_plural "%d packages to reinstall"
+msgstr[0] ""
 
-#: ../cli.py:960
+#: ../cli.py:1246
 msgid "No Packages Provided"
 msgstr ""
 
-#: ../cli.py:1058
+#: ../cli.py:1259
+msgid "Package(s) to install"
+msgstr ""
+
+#: ../cli.py:1367
 #, python-format
 msgid "N/S Matched: %s"
 msgstr ""
 
-#: ../cli.py:1075
+#: ../cli.py:1384
 #, python-format
 msgid "  Name and summary matches %sonly%s, use \"search all\" for everything."
 msgstr ""
 
-#: ../cli.py:1077
+#: ../cli.py:1386
 #, python-format
 msgid ""
 "  Full name and summary matches %sonly%s, use \"search all\" for everything."
 msgstr ""
 
-#: ../cli.py:1095
+#: ../cli.py:1404
 #, python-format
 msgid "Matched: %s"
 msgstr ""
 
-#: ../cli.py:1102
+#: ../cli.py:1411
 #, python-format
 msgid "  Name and summary matches %smostly%s, use \"search all\" for everything."
 msgstr ""
 
-#: ../cli.py:1106
+#: ../cli.py:1415
 #, python-format
 msgid "Warning: No matches found for: %s"
 msgstr ""
 
-#: ../cli.py:1109
+#: ../cli.py:1418
 msgid "No Matches found"
 msgstr ""
 
-#: ../cli.py:1174
+#: ../cli.py:1536
 #, python-format
-msgid "No Package Found for %s"
+msgid ""
+"Error: No Packages found for:\n"
+"  %s"
 msgstr ""
 
-#: ../cli.py:1184
+#: ../cli.py:1572
 msgid "Cleaning repos: "
 msgstr ""
 
-#: ../cli.py:1189
+#: ../cli.py:1577
 msgid "Cleaning up Everything"
 msgstr ""
 
-#: ../cli.py:1205
+#: ../cli.py:1593
 msgid "Cleaning up Headers"
 msgstr ""
 
-#: ../cli.py:1208
+#: ../cli.py:1596
 msgid "Cleaning up Packages"
 msgstr ""
 
-#: ../cli.py:1211
+#: ../cli.py:1599
 msgid "Cleaning up xml metadata"
 msgstr ""
 
-#: ../cli.py:1214
+#: ../cli.py:1602
 msgid "Cleaning up database cache"
 msgstr ""
 
-#: ../cli.py:1217
+#: ../cli.py:1605
 msgid "Cleaning up expire-cache metadata"
 msgstr ""
 
-#: ../cli.py:1220
+#: ../cli.py:1608
 msgid "Cleaning up cached rpmdb data"
 msgstr ""
 
-#: ../cli.py:1223
+#: ../cli.py:1611
 msgid "Cleaning up plugins"
 msgstr ""
 
-#: ../cli.py:1247
-#, python-format
-msgid "Warning: No groups match: %s"
+#: ../cli.py:1727
+msgid "Installed Environment Groups:"
+msgstr ""
+
+#: ../cli.py:1728
+msgid "Available Environment Groups:"
 msgstr ""
 
-#: ../cli.py:1264
+#: ../cli.py:1735
 msgid "Installed Groups:"
 msgstr ""
 
-#: ../cli.py:1270
+#: ../cli.py:1742
 msgid "Installed Language Groups:"
 msgstr ""
 
-#: ../cli.py:1276
+#: ../cli.py:1749
 msgid "Available Groups:"
 msgstr ""
 
-#: ../cli.py:1282
+#: ../cli.py:1756
 msgid "Available Language Groups:"
 msgstr ""
 
-#: ../cli.py:1285
+#: ../cli.py:1759
+#, python-format
+msgid "Warning: No Environments/Groups match: %s"
+msgstr ""
+
+#: ../cli.py:1763
 msgid "Done"
 msgstr ""
 
-#: ../cli.py:1296 ../cli.py:1314 ../cli.py:1320 ../yum/__init__.py:3313
+#: ../cli.py:1818
+#, python-format
+msgid "Warning: Group/Environment %s does not exist."
+msgstr ""
+
+#: ../cli.py:1859
+#, python-format
+msgid "Warning: Environment %s does not exist."
+msgstr ""
+
+#: ../cli.py:1873 ../cli.py:1879 ../yum/__init__.py:4254
 #, python-format
 msgid "Warning: Group %s does not exist."
 msgstr ""
 
-#: ../cli.py:1324
+#: ../cli.py:1883
 msgid "No packages in any requested group available to install or update"
 msgstr ""
 
-#: ../cli.py:1326
+#: ../cli.py:1885
 #, python-format
-msgid "%d Package(s) to Install"
+msgid "%d package to Install"
+msgid_plural "%d packages to Install"
+msgstr[0] ""
+
+#: ../cli.py:1919 ../yum/__init__.py:3536 ../yum/__init__.py:3766
+#: ../yum/__init__.py:3824
+#, python-format
+msgid "No Environment named %s exists"
 msgstr ""
 
-#: ../cli.py:1336 ../yum/__init__.py:3325
+#: ../cli.py:1935 ../yum/__init__.py:4282
 #, python-format
 msgid "No group named %s exists"
 msgstr ""
 
-#: ../cli.py:1342
+#: ../cli.py:1945
 msgid "No packages to remove from groups"
 msgstr ""
 
-#: ../cli.py:1344
+#: ../cli.py:1947 ../yumcommands.py:3351
 #, python-format
-msgid "%d Package(s) to remove"
-msgstr ""
+msgid "%d package to remove"
+msgid_plural "%d packages to remove"
+msgstr[0] ""
 
-#: ../cli.py:1386
+#: ../cli.py:1988
 #, python-format
 msgid "Package %s is already installed, skipping"
 msgstr ""
 
-#: ../cli.py:1397
+#: ../cli.py:1999
 #, python-format
 msgid "Discarding non-comparable pkg %s.%s"
 msgstr ""
 
 #. we've not got any installed that match n or n+a
-#: ../cli.py:1423
+#: ../cli.py:2025
 #, python-format
 msgid "No other %s installed, adding to list for potential install"
 msgstr ""
 
-#: ../cli.py:1443
+#: ../cli.py:2045
 msgid "Plugin Options"
 msgstr ""
 
-#: ../cli.py:1451
+#: ../cli.py:2057
 #, python-format
 msgid "Command line error: %s"
 msgstr ""
 
-#: ../cli.py:1467
+#: ../cli.py:2079
 #, python-format
 msgid ""
 "\n"
@@ -430,438 +500,483 @@ msgid ""
 "%s: %s option requires an argument"
 msgstr ""
 
-#: ../cli.py:1521
+#: ../cli.py:2147
 msgid "--color takes one of: auto, always, never"
 msgstr ""
 
 #. We have a relative installroot ... haha
-#: ../cli.py:1596
+#: ../cli.py:2218
 #, python-format
 msgid "--installroot must be an absolute path: %s"
 msgstr ""
 
-#: ../cli.py:1642
+#: ../cli.py:2272
 msgid "show this help message and exit"
 msgstr ""
 
-#: ../cli.py:1646
+#: ../cli.py:2276
 msgid "be tolerant of errors"
 msgstr ""
 
-#: ../cli.py:1649
+#: ../cli.py:2279
 msgid "run entirely from system cache, don't update cache"
 msgstr ""
 
-#: ../cli.py:1652
+#: ../cli.py:2282
 msgid "config file location"
 msgstr ""
 
-#: ../cli.py:1655
+#: ../cli.py:2285
 msgid "maximum command wait time"
 msgstr ""
 
-#: ../cli.py:1657
+#: ../cli.py:2287
 msgid "debugging output level"
 msgstr ""
 
-#: ../cli.py:1661
+#: ../cli.py:2291
 msgid "show duplicates, in repos, in list/search commands"
 msgstr ""
 
-#: ../cli.py:1663
+#: ../cli.py:2296
 msgid "error output level"
 msgstr ""
 
-#: ../cli.py:1666
+#: ../cli.py:2299
 msgid "debugging output level for rpm"
 msgstr ""
 
-#: ../cli.py:1669
+#: ../cli.py:2302
 msgid "quiet operation"
 msgstr ""
 
-#: ../cli.py:1671
+#: ../cli.py:2304
 msgid "verbose operation"
 msgstr ""
 
-#: ../cli.py:1673
+#: ../cli.py:2306
 msgid "answer yes for all questions"
 msgstr ""
 
-#: ../cli.py:1675
+#: ../cli.py:2308
+msgid "answer no for all questions"
+msgstr ""
+
+#: ../cli.py:2312
 msgid "show Yum version and exit"
 msgstr ""
 
-#: ../cli.py:1676
+#: ../cli.py:2313
 msgid "set install root"
 msgstr ""
 
-#: ../cli.py:1680
+#: ../cli.py:2317
 msgid "enable one or more repositories (wildcards allowed)"
 msgstr ""
 
-#: ../cli.py:1684
+#: ../cli.py:2321
 msgid "disable one or more repositories (wildcards allowed)"
 msgstr ""
 
-#: ../cli.py:1687
+#: ../cli.py:2324
 msgid "exclude package(s) by name or glob"
 msgstr ""
 
-#: ../cli.py:1689
+#: ../cli.py:2326
 msgid "disable exclude from main, for a repo or for everything"
 msgstr ""
 
-#: ../cli.py:1692
+#: ../cli.py:2329
 msgid "enable obsoletes processing during updates"
 msgstr ""
 
-#: ../cli.py:1694
+#: ../cli.py:2331
 msgid "disable Yum plugins"
 msgstr ""
 
-#: ../cli.py:1696
+#: ../cli.py:2333
 msgid "disable gpg signature checking"
 msgstr ""
 
-#: ../cli.py:1698
+#: ../cli.py:2335
 msgid "disable plugins by name"
 msgstr ""
 
-#: ../cli.py:1701
+#: ../cli.py:2338
 msgid "enable plugins by name"
 msgstr ""
 
-#: ../cli.py:1704
+#: ../cli.py:2341
 msgid "skip packages with depsolving problems"
 msgstr ""
 
-#: ../cli.py:1706
+#: ../cli.py:2343
 msgid "control whether color is used"
 msgstr ""
 
-#: ../cli.py:1708
+#: ../cli.py:2345
 msgid "set value of $releasever in yum config and repo files"
 msgstr ""
 
-#: ../cli.py:1710
+#: ../cli.py:2347
+msgid "don't update, just download"
+msgstr ""
+
+#: ../cli.py:2349
+msgid "specifies an alternate directory to store packages"
+msgstr ""
+
+#: ../cli.py:2351
 msgid "set arbitrary config and repo options"
 msgstr ""
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Jan"
 msgstr ""
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Feb"
 msgstr ""
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Mar"
 msgstr ""
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Apr"
 msgstr ""
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "May"
 msgstr ""
 
-#: ../output.py:307
+#: ../output.py:458
 msgid "Jun"
 msgstr ""
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Jul"
 msgstr ""
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Aug"
 msgstr ""
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Sep"
 msgstr ""
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Oct"
 msgstr ""
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Nov"
 msgstr ""
 
-#: ../output.py:308
+#: ../output.py:459
 msgid "Dec"
 msgstr ""
 
-#: ../output.py:318
+#: ../output.py:473
 msgid "Trying other mirror."
 msgstr ""
 
-#: ../output.py:581
+#: ../output.py:816
 #, python-format
 msgid "Name        : %s%s%s"
 msgstr ""
 
-#: ../output.py:582
+#: ../output.py:817
 #, python-format
 msgid "Arch        : %s"
 msgstr ""
 
-#: ../output.py:584
+#: ../output.py:819
 #, python-format
 msgid "Epoch       : %s"
 msgstr ""
 
-#: ../output.py:585
+#: ../output.py:820
 #, python-format
 msgid "Version     : %s"
 msgstr ""
 
-#: ../output.py:586
+#: ../output.py:821
 #, python-format
 msgid "Release     : %s"
 msgstr ""
 
-#: ../output.py:587
+#: ../output.py:822
 #, python-format
 msgid "Size        : %s"
 msgstr ""
 
-#: ../output.py:588 ../output.py:900
+#: ../output.py:823 ../output.py:1329
 #, python-format
 msgid "Repo        : %s"
 msgstr ""
 
-#: ../output.py:590
+#: ../output.py:825
 #, python-format
 msgid "From repo   : %s"
 msgstr ""
 
-#: ../output.py:592
+#: ../output.py:827
 #, python-format
 msgid "Committer   : %s"
 msgstr ""
 
-#: ../output.py:593
+#: ../output.py:828
 #, python-format
 msgid "Committime  : %s"
 msgstr ""
 
-#: ../output.py:594
+#: ../output.py:829
 #, python-format
 msgid "Buildtime   : %s"
 msgstr ""
 
-#: ../output.py:596
+#: ../output.py:831
 #, python-format
 msgid "Install time: %s"
 msgstr ""
 
-#: ../output.py:604
+#: ../output.py:839
 #, python-format
 msgid "Installed by: %s"
 msgstr ""
 
-#: ../output.py:611
+#: ../output.py:846
 #, python-format
 msgid "Changed by  : %s"
 msgstr ""
 
-#: ../output.py:612
+#: ../output.py:847
 msgid "Summary     : "
 msgstr ""
 
-#: ../output.py:614 ../output.py:913
+#: ../output.py:849 ../output.py:1345
 #, python-format
 msgid "URL         : %s"
 msgstr ""
 
-#: ../output.py:615
+#: ../output.py:850
 msgid "License     : "
 msgstr ""
 
-#: ../output.py:616 ../output.py:910
+#: ../output.py:851 ../output.py:1342
 msgid "Description : "
 msgstr ""
 
-#: ../output.py:684
+#: ../output.py:969
 msgid "y"
 msgstr ""
 
-#: ../output.py:684
+#: ../output.py:969
 msgid "yes"
 msgstr ""
 
-#: ../output.py:685
+#: ../output.py:970
 msgid "n"
 msgstr ""
 
-#: ../output.py:685
+#: ../output.py:970
 msgid "no"
 msgstr ""
 
-#: ../output.py:689
+#: ../output.py:974
 msgid "Is this ok [y/N]: "
 msgstr ""
 
-#: ../output.py:777
+#: ../output.py:1097
 #, python-format
 msgid ""
 "\n"
 "Group: %s"
 msgstr ""
 
-#: ../output.py:781
+#: ../output.py:1101
 #, python-format
 msgid " Group-Id: %s"
 msgstr ""
 
-#: ../output.py:786
+#: ../output.py:1122 ../output.py:1169
 #, python-format
 msgid " Description: %s"
 msgstr ""
 
-#: ../output.py:788
+#: ../output.py:1124
 #, python-format
 msgid " Language: %s"
 msgstr ""
 
-#: ../output.py:790
+#: ../output.py:1126
 msgid " Mandatory Packages:"
 msgstr ""
 
-#: ../output.py:791
+#: ../output.py:1127
 msgid " Default Packages:"
 msgstr ""
 
-#: ../output.py:792
+#: ../output.py:1128
 msgid " Optional Packages:"
 msgstr ""
 
-#: ../output.py:793
+#: ../output.py:1129
 msgid " Conditional Packages:"
 msgstr ""
 
-#: ../output.py:814
+#: ../output.py:1147
+msgid " Installed Packages:"
+msgstr ""
+
+#: ../output.py:1157
+#, python-format
+msgid ""
+"\n"
+"Environment Group: %s"
+msgstr ""
+
+#: ../output.py:1158
+#, python-format
+msgid " Environment-Id: %s"
+msgstr ""
+
+#: ../output.py:1191
+msgid " Mandatory Groups:"
+msgstr ""
+
+#: ../output.py:1192
+msgid " Optional Groups:"
+msgstr ""
+
+#: ../output.py:1205
+msgid " Installed Groups:"
+msgstr ""
+
+#: ../output.py:1217
 #, python-format
 msgid "package: %s"
 msgstr ""
 
-#: ../output.py:816
+#: ../output.py:1219
 msgid "  No dependencies for this package"
 msgstr ""
 
-#: ../output.py:821
+#: ../output.py:1224
 #, python-format
 msgid "  dependency: %s"
 msgstr ""
 
-#: ../output.py:823
+#: ../output.py:1226
 msgid "   Unsatisfied dependency"
 msgstr ""
 
-#: ../output.py:901
+#: ../output.py:1337
 msgid "Matched from:"
 msgstr ""
 
-#: ../output.py:916
+#: ../output.py:1348
 #, python-format
 msgid "License     : %s"
 msgstr ""
 
-#: ../output.py:919
+#: ../output.py:1351
 #, python-format
 msgid "Filename    : %s"
 msgstr ""
 
-#: ../output.py:923
+#: ../output.py:1360
+msgid "Provides    : "
+msgstr ""
+
+#: ../output.py:1363
 msgid "Other       : "
 msgstr ""
 
-#: ../output.py:966
+#: ../output.py:1426
 msgid "There was an error calculating total download size"
 msgstr ""
 
-#: ../output.py:971
+#: ../output.py:1431
 #, python-format
 msgid "Total size: %s"
 msgstr ""
 
-#: ../output.py:974
+#: ../output.py:1433
 #, python-format
 msgid "Total download size: %s"
 msgstr ""
 
-#: ../output.py:978 ../output.py:998
+#: ../output.py:1436 ../output.py:1459 ../output.py:1463
 #, python-format
 msgid "Installed size: %s"
 msgstr ""
 
-#: ../output.py:994
+#: ../output.py:1454
 msgid "There was an error calculating installed size"
 msgstr ""
 
-#: ../output.py:1039
+#: ../output.py:1504
 msgid "Reinstalling"
 msgstr ""
 
-#: ../output.py:1040
+#: ../output.py:1505
 msgid "Downgrading"
 msgstr ""
 
-#: ../output.py:1041
+#: ../output.py:1506
 msgid "Installing for dependencies"
 msgstr ""
 
-#: ../output.py:1042
+#: ../output.py:1507
 msgid "Updating for dependencies"
 msgstr ""
 
-#: ../output.py:1043
+#: ../output.py:1508
 msgid "Removing for dependencies"
 msgstr ""
 
-#: ../output.py:1050 ../output.py:1171
+#: ../output.py:1515 ../output.py:1576 ../output.py:1672
 msgid "Skipped (dependency problems)"
 msgstr ""
 
-#: ../output.py:1052 ../output.py:1687
+#: ../output.py:1517 ../output.py:1577 ../output.py:2223
 msgid "Not installed"
 msgstr ""
 
-#: ../output.py:1053
+#: ../output.py:1518 ../output.py:1578
 msgid "Not available"
 msgstr ""
 
-#: ../output.py:1075 ../output.py:2024
+#: ../output.py:1540 ../output.py:1588 ../output.py:1604 ../output.py:2581
 msgid "Package"
-msgstr ""
+msgid_plural "Packages"
+msgstr[0] ""
 
-#: ../output.py:1075
+#: ../output.py:1540
 msgid "Arch"
 msgstr ""
 
-#: ../output.py:1076
+#: ../output.py:1541
 msgid "Version"
 msgstr ""
 
-#: ../output.py:1076
+#: ../output.py:1541
 msgid "Repository"
 msgstr ""
 
-#: ../output.py:1077
+#: ../output.py:1542
 msgid "Size"
 msgstr ""
 
-#: ../output.py:1089
+#: ../output.py:1554
 #, python-format
 msgid "     replacing  %s%s%s.%s %s\n"
 msgstr ""
 
-#: ../output.py:1098
+#: ../output.py:1563
 #, python-format
 msgid ""
 "\n"
@@ -869,65 +984,65 @@ msgid ""
 "%s\n"
 msgstr ""
 
-#: ../output.py:1109
-#, python-format
-msgid "Install   %5.5s Package(s)\n"
+#: ../output.py:1568 ../output.py:2376 ../output.py:2377
+msgid "Install"
 msgstr ""
 
-#: ../output.py:1113
-#, python-format
-msgid "Upgrade   %5.5s Package(s)\n"
+#: ../output.py:1570
+msgid "Upgrade"
 msgstr ""
 
-#: ../output.py:1117
-#, python-format
-msgid "Remove    %5.5s Package(s)\n"
+#: ../output.py:1572
+msgid "Remove"
 msgstr ""
 
-#: ../output.py:1121
-#, python-format
-msgid "Reinstall %5.5s Package(s)\n"
+#: ../output.py:1574 ../output.py:2382
+msgid "Reinstall"
 msgstr ""
 
-#: ../output.py:1125
-#, python-format
-msgid "Downgrade %5.5s Package(s)\n"
+#: ../output.py:1575 ../output.py:2383
+msgid "Downgrade"
 msgstr ""
 
-#: ../output.py:1165
+#: ../output.py:1606
+msgid "Dependent package"
+msgid_plural "Dependent packages"
+msgstr[0] ""
+
+#: ../output.py:1666
 msgid "Removed"
 msgstr ""
 
-#: ../output.py:1166
+#: ../output.py:1667
 msgid "Dependency Removed"
 msgstr ""
 
-#: ../output.py:1168
+#: ../output.py:1669
 msgid "Dependency Installed"
 msgstr ""
 
-#: ../output.py:1170
+#: ../output.py:1671
 msgid "Dependency Updated"
 msgstr ""
 
-#: ../output.py:1172
+#: ../output.py:1673
 msgid "Replaced"
 msgstr ""
 
-#: ../output.py:1173
+#: ../output.py:1674
 msgid "Failed"
 msgstr ""
 
 #. Delta between C-c's so we treat as exit
-#: ../output.py:1260
+#: ../output.py:1764
 msgid "two"
 msgstr ""
 
 #. For translators: This is output like:
 #. Current download cancelled, interrupt (ctrl-c) again within two seconds
 #. to exit.
-#. Where "interupt (ctrl-c) again" and "two" are highlighted.
-#: ../output.py:1271
+#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
+#: ../output.py:1775
 #, python-format
 msgid ""
 "\n"
@@ -935,484 +1050,542 @@ msgid ""
 "to exit.\n"
 msgstr ""
 
-#: ../output.py:1282
+#: ../output.py:1786
 msgid "user interrupt"
 msgstr ""
 
-#: ../output.py:1300
+#: ../output.py:1812
 msgid "Total"
 msgstr ""
 
-#: ../output.py:1322
+#: ../output.py:1834
 msgid "I"
 msgstr ""
 
-#: ../output.py:1323
+#: ../output.py:1835
 msgid "O"
 msgstr ""
 
-#: ../output.py:1324
+#: ../output.py:1836
 msgid "E"
 msgstr ""
 
-#: ../output.py:1325
+#: ../output.py:1837
 msgid "R"
 msgstr ""
 
-#: ../output.py:1326
+#: ../output.py:1838
 msgid "D"
 msgstr ""
 
-#: ../output.py:1327
+#: ../output.py:1839
 msgid "U"
 msgstr ""
 
-#: ../output.py:1341
+#: ../output.py:1853
 msgid "<unset>"
 msgstr ""
 
-#: ../output.py:1342
+#: ../output.py:1854
 msgid "System"
 msgstr ""
 
-#: ../output.py:1411
+#: ../output.py:1923
 #, python-format
 msgid "Skipping merged transaction %d to %d, as it overlaps"
 msgstr ""
 
-#: ../output.py:1421 ../output.py:1592
+#: ../output.py:1933 ../output.py:2125
 msgid "No transactions"
 msgstr ""
 
-#: ../output.py:1446 ../output.py:2013
+#: ../output.py:1958 ../output.py:2570 ../output.py:2660
 msgid "Bad transaction IDs, or package(s), given"
 msgstr ""
 
-#: ../output.py:1484
+#: ../output.py:2007
 msgid "Command line"
 msgstr ""
 
-#: ../output.py:1486 ../output.py:1908
+#: ../output.py:2009 ../output.py:2458
 msgid "Login user"
 msgstr ""
 
 #. REALLY Needs to use columns!
-#: ../output.py:1487 ../output.py:2022
+#: ../output.py:2010 ../output.py:2579
 msgid "ID"
 msgstr ""
 
-#: ../output.py:1489
+#: ../output.py:2012
 msgid "Date and time"
 msgstr ""
 
-#: ../output.py:1490 ../output.py:1910 ../output.py:2023
+#: ../output.py:2013 ../output.py:2460 ../output.py:2580
 msgid "Action(s)"
 msgstr ""
 
-#: ../output.py:1491 ../output.py:1911
+#: ../output.py:2014 ../output.py:2461
 msgid "Altered"
 msgstr ""
 
-#: ../output.py:1538
+#: ../output.py:2061
 msgid "No transaction ID given"
 msgstr ""
 
-#: ../output.py:1564 ../output.py:1972
+#: ../output.py:2087 ../output.py:2526
 msgid "Bad transaction ID given"
 msgstr ""
 
-#: ../output.py:1569
+#: ../output.py:2092
 msgid "Not found given transaction ID"
 msgstr ""
 
-#: ../output.py:1577
+#: ../output.py:2100
 msgid "Found more than one transaction ID!"
 msgstr ""
 
-#: ../output.py:1618 ../output.py:1980
+#: ../output.py:2151 ../output.py:2534
 msgid "No transaction ID, or package, given"
 msgstr ""
 
-#: ../output.py:1686 ../output.py:1845
+#: ../output.py:2222 ../output.py:2384
 msgid "Downgraded"
 msgstr ""
 
-#: ../output.py:1688
+#: ../output.py:2224
 msgid "Older"
 msgstr ""
 
-#: ../output.py:1688
+#: ../output.py:2224
 msgid "Newer"
 msgstr ""
 
-#: ../output.py:1724 ../output.py:1726
+#: ../output.py:2261 ../output.py:2263 ../output.py:2681
 msgid "Transaction ID :"
 msgstr ""
 
-#: ../output.py:1728
+#: ../output.py:2265 ../output.py:2683
 msgid "Begin time     :"
 msgstr ""
 
-#: ../output.py:1731 ../output.py:1733
+#: ../output.py:2268 ../output.py:2270
 msgid "Begin rpmdb    :"
 msgstr ""
 
-#: ../output.py:1749
+#: ../output.py:2286
 #, python-format
 msgid "(%u seconds)"
 msgstr ""
 
-#: ../output.py:1751
+#: ../output.py:2288
 #, python-format
 msgid "(%u minutes)"
 msgstr ""
 
-#: ../output.py:1753
+#: ../output.py:2290
 #, python-format
 msgid "(%u hours)"
 msgstr ""
 
-#: ../output.py:1755
+#: ../output.py:2292
 #, python-format
 msgid "(%u days)"
 msgstr ""
 
-#: ../output.py:1756
+#: ../output.py:2293
 msgid "End time       :"
 msgstr ""
 
-#: ../output.py:1759 ../output.py:1761
+#: ../output.py:2296 ../output.py:2298
 msgid "End rpmdb      :"
 msgstr ""
 
-#: ../output.py:1764 ../output.py:1766
+#: ../output.py:2301 ../output.py:2303
 msgid "User           :"
 msgstr ""
 
-#: ../output.py:1770 ../output.py:1773 ../output.py:1775 ../output.py:1777
-#: ../output.py:1779
+#: ../output.py:2307 ../output.py:2310 ../output.py:2312 ../output.py:2314
+#: ../output.py:2316
 msgid "Return-Code    :"
 msgstr ""
 
-#: ../output.py:1770 ../output.py:1775
+#: ../output.py:2307 ../output.py:2312
 msgid "Aborted"
 msgstr ""
 
-#: ../output.py:1773
+#: ../output.py:2310
 msgid "Failures:"
 msgstr ""
 
-#: ../output.py:1777
+#: ../output.py:2314
 msgid "Failure:"
 msgstr ""
 
-#: ../output.py:1779
+#: ../output.py:2316
 msgid "Success"
 msgstr ""
 
-#: ../output.py:1784 ../output.py:1786
+#: ../output.py:2321 ../output.py:2323 ../output.py:2712
 msgid "Command Line   :"
 msgstr ""
 
-#: ../output.py:1795
+#: ../output.py:2332
 #, python-format
 msgid "Additional non-default information stored: %d"
 msgstr ""
 
 #. This is _possible_, but not common
-#: ../output.py:1800
+#: ../output.py:2337
 msgid "Transaction performed with:"
 msgstr ""
 
-#: ../output.py:1804
+#: ../output.py:2341
 msgid "Packages Altered:"
 msgstr ""
 
-#: ../output.py:1808
+#: ../output.py:2345
 msgid "Packages Skipped:"
 msgstr ""
 
-#: ../output.py:1814
+#: ../output.py:2353
 msgid "Rpmdb Problems:"
 msgstr ""
 
-#: ../output.py:1825
+#: ../output.py:2364
 msgid "Scriptlet output:"
 msgstr ""
 
-#: ../output.py:1831
+#: ../output.py:2370
 msgid "Errors:"
 msgstr ""
 
-#: ../output.py:1837 ../output.py:1838
-msgid "Install"
-msgstr ""
-
-#: ../output.py:1839
+#: ../output.py:2378
 msgid "Dep-Install"
 msgstr ""
 
-#: ../output.py:1841
+#: ../output.py:2380
 msgid "Obsoleting"
 msgstr ""
 
-#: ../output.py:1842
+#: ../output.py:2381
 msgid "Erase"
 msgstr ""
 
-#: ../output.py:1843
-msgid "Reinstall"
-msgstr ""
-
-#: ../output.py:1844
-msgid "Downgrade"
-msgstr ""
-
-#: ../output.py:1846
+#: ../output.py:2385
 msgid "Update"
 msgstr ""
 
-#: ../output.py:1909
+#: ../output.py:2459
 msgid "Time"
 msgstr ""
 
-#: ../output.py:1935
+#: ../output.py:2485
 msgid "Last day"
 msgstr ""
 
-#: ../output.py:1936
+#: ../output.py:2486
 msgid "Last week"
 msgstr ""
 
-#: ../output.py:1937
+#: ../output.py:2487
 msgid "Last 2 weeks"
 msgstr ""
 
 #. US default :p
-#: ../output.py:1938
+#: ../output.py:2488
 msgid "Last 3 months"
 msgstr ""
 
-#: ../output.py:1939
+#: ../output.py:2489
 msgid "Last 6 months"
 msgstr ""
 
-#: ../output.py:1940
+#: ../output.py:2490
 msgid "Last year"
 msgstr ""
 
-#: ../output.py:1941
+#: ../output.py:2491
 msgid "Over a year ago"
 msgstr ""
 
-#: ../output.py:1984
+#: ../output.py:2538
 #, python-format
 msgid "No Transaction %s found"
 msgstr ""
 
-#: ../output.py:1990
+#: ../output.py:2544
 msgid "Transaction ID:"
 msgstr ""
 
-#: ../output.py:1991
+#: ../output.py:2545
 msgid "Available additional history information:"
 msgstr ""
 
-#: ../output.py:2003
+#: ../output.py:2558
 #, python-format
 msgid "%s: No additional data found by this name"
 msgstr ""
 
-#: ../output.py:2106
+#: ../output.py:2684
+msgid "Package        :"
+msgstr ""
+
+#: ../output.py:2685
+msgid "State          :"
+msgstr ""
+
+#: ../output.py:2688
+msgid "Size           :"
+msgstr ""
+
+#: ../output.py:2690
+msgid "Build host     :"
+msgstr ""
+
+#: ../output.py:2693
+msgid "Build time     :"
+msgstr ""
+
+#: ../output.py:2695
+msgid "Packager       :"
+msgstr ""
+
+#: ../output.py:2697
+msgid "Vendor         :"
+msgstr ""
+
+#: ../output.py:2699
+msgid "License        :"
+msgstr ""
+
+#: ../output.py:2701
+msgid "URL            :"
+msgstr ""
+
+#: ../output.py:2703
+msgid "Source RPM     :"
+msgstr ""
+
+#: ../output.py:2706
+msgid "Commit Time    :"
+msgstr ""
+
+#: ../output.py:2708
+msgid "Committer      :"
+msgstr ""
+
+#: ../output.py:2710
+msgid "Reason         :"
+msgstr ""
+
+#: ../output.py:2714
+msgid "From repo      :"
+msgstr ""
+
+#: ../output.py:2718
+msgid "Installed by   :"
+msgstr ""
+
+#: ../output.py:2722
+msgid "Changed by     :"
+msgstr ""
+
+#: ../output.py:2767
 msgid "installed"
 msgstr ""
 
-#: ../output.py:2107
+#: ../output.py:2768
 msgid "an update"
 msgstr ""
 
-#: ../output.py:2108
+#: ../output.py:2769
 msgid "erased"
 msgstr ""
 
-#: ../output.py:2109
+#: ../output.py:2770
 msgid "reinstalled"
 msgstr ""
 
-#: ../output.py:2110
+#: ../output.py:2771
 msgid "a downgrade"
 msgstr ""
 
-#: ../output.py:2111
+#: ../output.py:2772
 msgid "obsoleting"
 msgstr ""
 
-#: ../output.py:2112
+#: ../output.py:2773
 msgid "updated"
 msgstr ""
 
-#: ../output.py:2113
+#: ../output.py:2774
 msgid "obsoleted"
 msgstr ""
 
-#: ../output.py:2117
+#: ../output.py:2778
 #, python-format
 msgid "---> Package %s.%s %s:%s-%s will be %s"
 msgstr ""
 
-#: ../output.py:2124
+#: ../output.py:2789
 msgid "--> Running transaction check"
 msgstr ""
 
-#: ../output.py:2129
+#: ../output.py:2795
 msgid "--> Restarting Dependency Resolution with new changes."
 msgstr ""
 
-#: ../output.py:2134
+#: ../output.py:2801
 msgid "--> Finished Dependency Resolution"
 msgstr ""
 
-#: ../output.py:2139 ../output.py:2144
+#: ../output.py:2814 ../output.py:2827
 #, python-format
 msgid "--> Processing Dependency: %s for package: %s"
 msgstr ""
 
-#: ../output.py:2149
+#: ../output.py:2841
 #, python-format
-msgid "---> Keeping package: %s"
+msgid "---> Keeping package: %s due to %s"
 msgstr ""
 
-#: ../output.py:2152
+#: ../output.py:2850
 #, python-format
 msgid "--> Unresolved Dependency: %s"
 msgstr ""
 
-#: ../output.py:2163
+#: ../output.py:2867
 #, python-format
 msgid "Package: %s"
 msgstr ""
 
-#: ../output.py:2165
+#: ../output.py:2869
 #, python-format
 msgid ""
 "\n"
 "    Requires: %s"
 msgstr ""
 
-#: ../output.py:2174
+#: ../output.py:2878
 #, python-format
 msgid ""
 "\n"
 "    %s: %s (%s)"
 msgstr ""
 
-#: ../output.py:2179
+#: ../output.py:2883
 #, python-format
 msgid ""
 "\n"
 "        %s"
 msgstr ""
 
-#: ../output.py:2181
+#: ../output.py:2885
 msgid ""
 "\n"
 "        Not found"
 msgstr ""
 
 #. These should be the only three things we care about:
-#: ../output.py:2196
+#: ../output.py:2900
 msgid "Updated By"
 msgstr ""
 
-#: ../output.py:2197
+#: ../output.py:2901
 msgid "Downgraded By"
 msgstr ""
 
-#: ../output.py:2198
+#: ../output.py:2902
 msgid "Obsoleted By"
 msgstr ""
 
-#: ../output.py:2216
+#: ../output.py:2920
 msgid "Available"
 msgstr ""
 
-#: ../output.py:2243 ../output.py:2248
+#: ../output.py:2955 ../output.py:2968
 #, python-format
 msgid "--> Processing Conflict: %s conflicts %s"
 msgstr ""
 
-#: ../output.py:2252
+#: ../output.py:2974
 msgid "--> Populating transaction set with selected packages. Please wait."
 msgstr ""
 
-#: ../output.py:2256
+#: ../output.py:2983
 #, python-format
 msgid "---> Downloading header for %s to pack into transaction set."
 msgstr ""
 
-#: ../utils.py:99
+#. self.event(txmbr.name, count, len(base.tsInfo), count, )
+#. (te_current*100L)/te_total
+#: ../output.py:3248
+msgid "Verifying"
+msgstr ""
+
+#: ../utils.py:123
 msgid "Running"
 msgstr ""
 
-#: ../utils.py:100
+#: ../utils.py:124
 msgid "Sleeping"
 msgstr ""
 
-#: ../utils.py:101
+#: ../utils.py:125
 msgid "Uninterruptible"
 msgstr ""
 
-#: ../utils.py:102
+#: ../utils.py:126
 msgid "Zombie"
 msgstr ""
 
-#: ../utils.py:103
+#: ../utils.py:127
 msgid "Traced/Stopped"
 msgstr ""
 
-#: ../utils.py:104 ../yumcommands.py:994
+#: ../utils.py:128 ../yumcommands.py:2193
 msgid "Unknown"
 msgstr ""
 
-#: ../utils.py:115
+#: ../utils.py:153
 msgid "  The other application is: PackageKit"
 msgstr ""
 
-#: ../utils.py:117
+#: ../utils.py:155
 #, python-format
 msgid "  The other application is: %s"
 msgstr ""
 
-#: ../utils.py:120
+#: ../utils.py:158
 #, python-format
 msgid "    Memory : %5s RSS (%5sB VSZ)"
 msgstr ""
 
-#: ../utils.py:125
+#: ../utils.py:163
 #, python-format
 msgid "    Started: %s - %s ago"
 msgstr ""
 
-#: ../utils.py:127
+#: ../utils.py:165
 #, python-format
 msgid "    State  : %s, pid: %d"
 msgstr ""
 
-#: ../utils.py:170 ../yummain.py:43
+#: ../utils.py:194 ../yummain.py:43
 msgid ""
 "\n"
 "\n"
 "Exiting on user cancel"
 msgstr ""
 
-#: ../utils.py:176 ../yummain.py:49
+#: ../utils.py:206 ../yummain.py:49
 msgid ""
 "\n"
 "\n"
 "Exiting on Broken Pipe"
 msgstr ""
 
-#: ../utils.py:178 ../yummain.py:51
+#: ../utils.py:208 ../yummain.py:51
 #, python-format
 msgid ""
 "\n"
@@ -1420,47 +1593,41 @@ msgid ""
 "%s"
 msgstr ""
 
-#: ../utils.py:228 ../yummain.py:123
-msgid ""
-"Another app is currently holding the yum lock; exiting as configured by "
-"exit_on_lock"
-msgstr ""
-
-#: ../utils.py:287
+#: ../utils.py:326
 #, python-format
 msgid "PluginExit Error: %s"
 msgstr ""
 
-#: ../utils.py:290
+#: ../utils.py:329
 #, python-format
 msgid "Yum Error: %s"
 msgstr ""
 
-#: ../utils.py:342 ../yummain.py:150 ../yummain.py:189
+#: ../utils.py:387 ../yummain.py:147 ../yummain.py:186
 #, python-format
 msgid "Error: %s"
 msgstr ""
 
-#: ../utils.py:346 ../yummain.py:194
+#: ../utils.py:391 ../yummain.py:191
 msgid " You could try using --skip-broken to work around the problem"
 msgstr ""
 
-#: ../utils.py:348 ../yummain.py:87
+#: ../utils.py:393 ../yummain.py:87
 msgid " You could try running: rpm -Va --nofiles --nodigest"
 msgstr ""
 
-#: ../utils.py:355 ../yummain.py:160 ../yummain.py:202
+#: ../utils.py:400 ../yummain.py:157 ../yummain.py:199
 #, python-format
 msgid "Unknown Error(s): Exit Code: %d:"
 msgstr ""
 
-#: ../utils.py:361 ../yummain.py:208
+#: ../utils.py:406 ../yummain.py:205
 msgid ""
 "\n"
 "Dependencies Resolved"
 msgstr ""
 
-#: ../utils.py:376 ../yummain.py:234
+#: ../utils.py:422 ../yummain.py:237
 msgid "Complete!"
 msgstr ""
 
@@ -1472,7 +1639,7 @@ msgstr ""
 msgid "You need to be root to perform this command."
 msgstr ""
 
-#: ../yumcommands.py:59
+#: ../yumcommands.py:67
 msgid ""
 "\n"
 "You have enabled checking of packages via GPG keys. This is a good thing. \n"
@@ -1489,555 +1656,645 @@ msgid ""
 "For more information contact your distribution or package provider.\n"
 msgstr ""
 
-#: ../yumcommands.py:74
+#: ../yumcommands.py:82
 #, python-format
 msgid "Problem repository: %s"
 msgstr ""
 
-#: ../yumcommands.py:80
+#: ../yumcommands.py:96
 #, python-format
 msgid "Error: Need to pass a list of pkgs to %s"
 msgstr ""
 
-#: ../yumcommands.py:86
+#: ../yumcommands.py:114
+#, python-format
+msgid "Error: Need at least two packages to %s"
+msgstr ""
+
+#: ../yumcommands.py:129
+#, python-format
+msgid "Error: Need to pass a repoid. and command to %s"
+msgstr ""
+
+#: ../yumcommands.py:136 ../yumcommands.py:142
+#, python-format
+msgid "Error: Need to pass a single valid repoid. to %s"
+msgstr ""
+
+#: ../yumcommands.py:147
+#, python-format
+msgid "Error: Repo %s is not enabled"
+msgstr ""
+
+#: ../yumcommands.py:164
 msgid "Error: Need an item to match"
 msgstr ""
 
-#: ../yumcommands.py:92
+#: ../yumcommands.py:178
 msgid "Error: Need a group or list of groups"
 msgstr ""
 
-#: ../yumcommands.py:101
+#: ../yumcommands.py:195
 #, python-format
 msgid "Error: clean requires an option: %s"
 msgstr ""
 
-#: ../yumcommands.py:106
+#: ../yumcommands.py:201
 #, python-format
 msgid "Error: invalid clean argument: %r"
 msgstr ""
 
-#: ../yumcommands.py:119
+#: ../yumcommands.py:216
 msgid "No argument to shell"
 msgstr ""
 
-#: ../yumcommands.py:121
+#: ../yumcommands.py:218
 #, python-format
 msgid "Filename passed to shell: %s"
 msgstr ""
 
-#: ../yumcommands.py:125
+#: ../yumcommands.py:222
 #, python-format
 msgid "File %s given as argument to shell does not exist."
 msgstr ""
 
-#: ../yumcommands.py:131
+#: ../yumcommands.py:228
 msgid "Error: more than one file given as argument to shell."
 msgstr ""
 
-#: ../yumcommands.py:148
+#: ../yumcommands.py:247
 msgid ""
 "There are no enabled repos.\n"
 " Run \"yum repolist all\" to see the repos you have.\n"
 " You can enable repos with yum-config-manager --enable <repo>"
 msgstr ""
 
-#: ../yumcommands.py:200
+#: ../yumcommands.py:383
 msgid "PACKAGE..."
 msgstr ""
 
-#: ../yumcommands.py:203
+#: ../yumcommands.py:390
 msgid "Install a package or packages on your system"
 msgstr ""
 
-#: ../yumcommands.py:212
+#: ../yumcommands.py:421
 msgid "Setting up Install Process"
 msgstr ""
 
-#: ../yumcommands.py:223 ../yumcommands.py:245
+#: ../yumcommands.py:447 ../yumcommands.py:507
 msgid "[PACKAGE...]"
 msgstr ""
 
-#: ../yumcommands.py:226
+#: ../yumcommands.py:454
 msgid "Update a package or packages on your system"
 msgstr ""
 
-#: ../yumcommands.py:234
+#: ../yumcommands.py:483
 msgid "Setting up Update Process"
 msgstr ""
 
-#: ../yumcommands.py:248
+#: ../yumcommands.py:514
 msgid "Synchronize installed packages to the latest available versions"
 msgstr ""
 
-#: ../yumcommands.py:256
+#: ../yumcommands.py:543
 msgid "Setting up Distribution Synchronization Process"
 msgstr ""
 
-#: ../yumcommands.py:299
+#: ../yumcommands.py:603
 msgid "Display details about a package or group of packages"
 msgstr ""
 
-#: ../yumcommands.py:348
+#: ../yumcommands.py:672
 msgid "Installed Packages"
 msgstr ""
 
-#: ../yumcommands.py:356
+#: ../yumcommands.py:682
 msgid "Available Packages"
 msgstr ""
 
-#: ../yumcommands.py:360
+#: ../yumcommands.py:687
 msgid "Extra Packages"
 msgstr ""
 
-#: ../yumcommands.py:364
+#: ../yumcommands.py:691
 msgid "Updated Packages"
 msgstr ""
 
 #. This only happens in verbose mode
-#: ../yumcommands.py:372 ../yumcommands.py:379 ../yumcommands.py:667
+#: ../yumcommands.py:699 ../yumcommands.py:706 ../yumcommands.py:1539
 msgid "Obsoleting Packages"
 msgstr ""
 
-#: ../yumcommands.py:381
+#: ../yumcommands.py:708
 msgid "Recently Added Packages"
 msgstr ""
 
-#: ../yumcommands.py:388
+#: ../yumcommands.py:715
 msgid "No matching Packages to list"
 msgstr ""
 
-#: ../yumcommands.py:402
+#: ../yumcommands.py:766
 msgid "List a package or groups of packages"
 msgstr ""
 
-#: ../yumcommands.py:414
+#: ../yumcommands.py:797
 msgid "Remove a package or packages from your system"
 msgstr ""
 
-#: ../yumcommands.py:421
+#: ../yumcommands.py:845
 msgid "Setting up Remove Process"
 msgstr ""
 
-#: ../yumcommands.py:435
-msgid "Setting up Group Process"
+#: ../yumcommands.py:906
+msgid "Display, or use, the groups information"
 msgstr ""
 
-#: ../yumcommands.py:441
-msgid "No Groups on which to run command"
+#: ../yumcommands.py:909
+msgid "Setting up Group Process"
 msgstr ""
 
-#: ../yumcommands.py:454
-msgid "List available package groups"
+#: ../yumcommands.py:915
+msgid "No Groups on which to run command"
 msgstr ""
 
-#: ../yumcommands.py:474
-msgid "Install the packages in a group on your system"
+#: ../yumcommands.py:985
+#, python-format
+msgid "Invalid groups sub-command, use: %s."
 msgstr ""
 
-#: ../yumcommands.py:497
-msgid "Remove the packages in a group from your system"
+#: ../yumcommands.py:992
+msgid "There is no installed groups file."
 msgstr ""
 
-#: ../yumcommands.py:525
-msgid "Display details about a package group"
+#: ../yumcommands.py:994
+msgid "You don't have access to the groups DB."
 msgstr ""
 
-#: ../yumcommands.py:550
+#: ../yumcommands.py:1256
 msgid "Generate the metadata cache"
 msgstr ""
 
-#: ../yumcommands.py:556
+#: ../yumcommands.py:1282
 msgid "Making cache files for all metadata files."
 msgstr ""
 
-#: ../yumcommands.py:557
+#: ../yumcommands.py:1283
 msgid "This may take a while depending on the speed of this computer"
 msgstr ""
 
-#: ../yumcommands.py:578
+#: ../yumcommands.py:1312
 msgid "Metadata Cache Created"
 msgstr ""
 
-#: ../yumcommands.py:592
+#: ../yumcommands.py:1350
 msgid "Remove cached data"
 msgstr ""
 
-#: ../yumcommands.py:613
+#: ../yumcommands.py:1417
 msgid "Find what package provides the given value"
 msgstr ""
 
-#: ../yumcommands.py:633
+#: ../yumcommands.py:1485
 msgid "Check for available package updates"
 msgstr ""
 
-#: ../yumcommands.py:687
+#: ../yumcommands.py:1587
 msgid "Search package details for the given string"
 msgstr ""
 
-#: ../yumcommands.py:693
+#: ../yumcommands.py:1613
 msgid "Searching Packages: "
 msgstr ""
 
-#: ../yumcommands.py:710
+#: ../yumcommands.py:1666
 msgid "Update packages taking obsoletes into account"
 msgstr ""
 
-#: ../yumcommands.py:719
+#: ../yumcommands.py:1696
 msgid "Setting up Upgrade Process"
 msgstr ""
 
-#: ../yumcommands.py:737
+#: ../yumcommands.py:1731
 msgid "Install a local RPM"
 msgstr ""
 
-#: ../yumcommands.py:745
+#: ../yumcommands.py:1761
 msgid "Setting up Local Package Process"
 msgstr ""
 
-#: ../yumcommands.py:764
-msgid "Determine which package provides the given dependency"
-msgstr ""
-
-#: ../yumcommands.py:767
+#: ../yumcommands.py:1825
 msgid "Searching Packages for Dependency:"
 msgstr ""
 
-#: ../yumcommands.py:781
+#: ../yumcommands.py:1867
 msgid "Run an interactive yum shell"
 msgstr ""
 
-#: ../yumcommands.py:787
+#: ../yumcommands.py:1893
 msgid "Setting up Yum Shell"
 msgstr ""
 
-#: ../yumcommands.py:805
+#: ../yumcommands.py:1936
 msgid "List a package's dependencies"
 msgstr ""
 
-#: ../yumcommands.py:811
+#: ../yumcommands.py:1963
 msgid "Finding dependencies: "
 msgstr ""
 
-#: ../yumcommands.py:827
+#: ../yumcommands.py:2005
 msgid "Display the configured software repositories"
 msgstr ""
 
-#: ../yumcommands.py:893 ../yumcommands.py:894
+#: ../yumcommands.py:2094 ../yumcommands.py:2095
 msgid "enabled"
 msgstr ""
 
-#: ../yumcommands.py:920 ../yumcommands.py:921
+#: ../yumcommands.py:2121 ../yumcommands.py:2122
 msgid "disabled"
 msgstr ""
 
-#: ../yumcommands.py:937
+#: ../yumcommands.py:2137
 msgid "Repo-id      : "
 msgstr ""
 
-#: ../yumcommands.py:938
+#: ../yumcommands.py:2138
 msgid "Repo-name    : "
 msgstr ""
 
-#: ../yumcommands.py:941
+#: ../yumcommands.py:2141
 msgid "Repo-status  : "
 msgstr ""
 
-#: ../yumcommands.py:944
+#: ../yumcommands.py:2144
 msgid "Repo-revision: "
 msgstr ""
 
-#: ../yumcommands.py:948
+#: ../yumcommands.py:2148
 msgid "Repo-tags    : "
 msgstr ""
 
-#: ../yumcommands.py:954
+#: ../yumcommands.py:2154
 msgid "Repo-distro-tags: "
 msgstr ""
 
-#: ../yumcommands.py:959
+#: ../yumcommands.py:2159
 msgid "Repo-updated : "
 msgstr ""
 
-#: ../yumcommands.py:961
+#: ../yumcommands.py:2161
 msgid "Repo-pkgs    : "
 msgstr ""
 
-#: ../yumcommands.py:962
+#: ../yumcommands.py:2162
 msgid "Repo-size    : "
 msgstr ""
 
-#: ../yumcommands.py:969 ../yumcommands.py:990
+#: ../yumcommands.py:2169 ../yumcommands.py:2190
 msgid "Repo-baseurl : "
 msgstr ""
 
-#: ../yumcommands.py:977
+#: ../yumcommands.py:2177
 msgid "Repo-metalink: "
 msgstr ""
 
-#: ../yumcommands.py:981
+#: ../yumcommands.py:2181
 msgid "  Updated    : "
 msgstr ""
 
-#: ../yumcommands.py:984
+#: ../yumcommands.py:2184
 msgid "Repo-mirrors : "
 msgstr ""
 
-#: ../yumcommands.py:1000
+#: ../yumcommands.py:2199
 #, python-format
 msgid "Never (last: %s)"
 msgstr ""
 
-#: ../yumcommands.py:1002
+#: ../yumcommands.py:2201
 #, python-format
 msgid "Instant (last: %s)"
 msgstr ""
 
-#: ../yumcommands.py:1005
+#: ../yumcommands.py:2204
 #, python-format
 msgid "%s second(s) (last: %s)"
 msgstr ""
 
-#: ../yumcommands.py:1007
+#: ../yumcommands.py:2206
 msgid "Repo-expire  : "
 msgstr ""
 
-#: ../yumcommands.py:1010
+#: ../yumcommands.py:2209
 msgid "Repo-exclude : "
 msgstr ""
 
-#: ../yumcommands.py:1014
+#: ../yumcommands.py:2213
 msgid "Repo-include : "
 msgstr ""
 
-#: ../yumcommands.py:1018
+#: ../yumcommands.py:2217
 msgid "Repo-excluded: "
 msgstr ""
 
-#: ../yumcommands.py:1022
+#: ../yumcommands.py:2221
 msgid "Repo-filename: "
 msgstr ""
 
 #. Work out the first (id) and last (enabled/disalbed/count),
 #. then chop the middle (name)...
-#: ../yumcommands.py:1032 ../yumcommands.py:1061
+#: ../yumcommands.py:2230 ../yumcommands.py:2259
 msgid "repo id"
 msgstr ""
 
-#: ../yumcommands.py:1049 ../yumcommands.py:1050 ../yumcommands.py:1068
+#: ../yumcommands.py:2247 ../yumcommands.py:2248 ../yumcommands.py:2266
 msgid "status"
 msgstr ""
 
-#: ../yumcommands.py:1062
+#: ../yumcommands.py:2260
 msgid "repo name"
 msgstr ""
 
-#: ../yumcommands.py:1099
+#: ../yumcommands.py:2332
 msgid "Display a helpful usage message"
 msgstr ""
 
-#: ../yumcommands.py:1133
+#: ../yumcommands.py:2374
 #, python-format
 msgid "No help available for %s"
 msgstr ""
 
-#: ../yumcommands.py:1138
+#: ../yumcommands.py:2379
 msgid ""
 "\n"
 "\n"
 "aliases: "
 msgstr ""
 
-#: ../yumcommands.py:1140
+#: ../yumcommands.py:2381
 msgid ""
 "\n"
 "\n"
 "alias: "
 msgstr ""
 
-#: ../yumcommands.py:1168
+#: ../yumcommands.py:2466
 msgid "Setting up Reinstall Process"
 msgstr ""
 
-#: ../yumcommands.py:1176
+#: ../yumcommands.py:2478
 msgid "reinstall a package"
 msgstr ""
 
-#: ../yumcommands.py:1195
+#: ../yumcommands.py:2541
 msgid "Setting up Downgrade Process"
 msgstr ""
 
-#: ../yumcommands.py:1202
+#: ../yumcommands.py:2552
 msgid "downgrade a package"
 msgstr ""
 
-#: ../yumcommands.py:1216
+#: ../yumcommands.py:2591
 msgid "Display a version for the machine and/or available repos."
 msgstr ""
 
-#: ../yumcommands.py:1255
+#: ../yumcommands.py:2643
 msgid " Yum version groups:"
 msgstr ""
 
-#: ../yumcommands.py:1265
+#: ../yumcommands.py:2653
 msgid " Group   :"
 msgstr ""
 
-#: ../yumcommands.py:1266
+#: ../yumcommands.py:2654
 msgid " Packages:"
 msgstr ""
 
-#: ../yumcommands.py:1295
+#: ../yumcommands.py:2683
 msgid "Installed:"
 msgstr ""
 
-#: ../yumcommands.py:1303
+#: ../yumcommands.py:2691
 msgid "Group-Installed:"
 msgstr ""
 
-#: ../yumcommands.py:1312
+#: ../yumcommands.py:2700
 msgid "Available:"
 msgstr ""
 
-#: ../yumcommands.py:1321
+#: ../yumcommands.py:2709
 msgid "Group-Available:"
 msgstr ""
 
-#: ../yumcommands.py:1360
+#: ../yumcommands.py:2783
 msgid "Display, or use, the transaction history"
 msgstr ""
 
-#: ../yumcommands.py:1432
+#: ../yumcommands.py:2876 ../yumcommands.py:2880
+msgid "Transactions:"
+msgstr ""
+
+#: ../yumcommands.py:2881
+msgid "Begin time  :"
+msgstr ""
+
+#: ../yumcommands.py:2882
+msgid "End time    :"
+msgstr ""
+
+#: ../yumcommands.py:2883
+msgid "Counts      :"
+msgstr ""
+
+#: ../yumcommands.py:2884
+msgid "  NEVRAC :"
+msgstr ""
+
+#: ../yumcommands.py:2885
+msgid "  NEVRA  :"
+msgstr ""
+
+#: ../yumcommands.py:2886
+msgid "  NA     :"
+msgstr ""
+
+#: ../yumcommands.py:2887
+msgid "  NEVR   :"
+msgstr ""
+
+#: ../yumcommands.py:2888
+msgid "  rpm DB :"
+msgstr ""
+
+#: ../yumcommands.py:2889
+msgid "  yum DB :"
+msgstr ""
+
+#: ../yumcommands.py:2922
 #, python-format
 msgid "Invalid history sub-command, use: %s."
 msgstr ""
 
-#: ../yumcommands.py:1439
+#: ../yumcommands.py:2929
 msgid "You don't have access to the history DB."
 msgstr ""
 
-#: ../yumcommands.py:1487
+#: ../yumcommands.py:3036
 msgid "Check for problems in the rpmdb"
 msgstr ""
 
-#: ../yumcommands.py:1514
+#: ../yumcommands.py:3102
 msgid "load a saved transaction from filename"
 msgstr ""
 
-#: ../yumcommands.py:1518
+#: ../yumcommands.py:3119
 msgid "No saved transaction file specified."
 msgstr ""
 
-#: ../yumcommands.py:1522
+#: ../yumcommands.py:3123
 #, python-format
 msgid "loading transaction from %s"
 msgstr ""
 
-#: ../yumcommands.py:1528
+#: ../yumcommands.py:3129
 #, python-format
 msgid "Transaction loaded from %s with %s members"
 msgstr ""
 
+#: ../yumcommands.py:3169
+msgid "Simple way to swap packages, isntead of using shell"
+msgstr ""
+
+#: ../yumcommands.py:3264
+msgid ""
+"Treat a repo. as a group of packages, so we can install/remove all of them"
+msgstr ""
+
+#: ../yumcommands.py:3341
+#, python-format
+msgid "%d package to update"
+msgid_plural "%d packages to update"
+msgstr[0] ""
+
+#: ../yumcommands.py:3370
+#, python-format
+msgid "%d package to remove/reinstall"
+msgid_plural "%d packages to remove/reinstall"
+msgstr[0] ""
+
+#: ../yumcommands.py:3413
+#, python-format
+msgid "%d package to remove/sync"
+msgid_plural "%d packages to remove/sync"
+msgstr[0] ""
+
+#: ../yumcommands.py:3417
+#, python-format
+msgid "Not a valid sub-command of %s"
+msgstr ""
+
 #. This is mainly for PackageSackError from rpmdb.
 #: ../yummain.py:84
 #, python-format
 msgid " Yum checks failed: %s"
 msgstr ""
 
-#: ../yummain.py:114
-msgid ""
-"Another app is currently holding the yum lock; waiting for it to exit..."
+#: ../yummain.py:98
+msgid "No read/execute access in current directory, moving to /"
 msgstr ""
 
-#: ../yummain.py:120
-msgid "Can't create lock file; exiting"
+#: ../yummain.py:106
+msgid "No getcwd() access in current directory, moving to /"
 msgstr ""
 
 #. Depsolve stage
-#: ../yummain.py:167
+#: ../yummain.py:164
 msgid "Resolving Dependencies"
 msgstr ""
 
-#: ../yummain.py:230
+#: ../yummain.py:227 ../yummain.py:235
 #, python-format
-msgid "Your transaction was saved, rerun it with: yum load-transaction %s"
+msgid ""
+"Your transaction was saved, rerun it with:\n"
+" yum load-transaction %s"
 msgstr ""
 
-#: ../yummain.py:288
+#: ../yummain.py:312
 msgid ""
 "\n"
 "\n"
 "Exiting on user cancel."
 msgstr ""
 
-#: ../yum/depsolve.py:84
+#: ../yum/depsolve.py:127
 msgid "doTsSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/depsolve.py:99
+#: ../yum/depsolve.py:143
 msgid "Setting up TransactionSets before config class is up"
 msgstr ""
 
-#: ../yum/depsolve.py:153
+#: ../yum/depsolve.py:200
 #, python-format
 msgid "Invalid tsflag in config file: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:164
+#: ../yum/depsolve.py:218
 #, python-format
 msgid "Searching pkgSack for dep: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:207
+#: ../yum/depsolve.py:269
 #, python-format
 msgid "Member: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:221 ../yum/depsolve.py:793
+#: ../yum/depsolve.py:283 ../yum/depsolve.py:937
 #, python-format
 msgid "%s converted to install"
 msgstr ""
 
-#: ../yum/depsolve.py:233
+#: ../yum/depsolve.py:295
 #, python-format
 msgid "Adding Package %s in mode %s"
 msgstr ""
 
-#: ../yum/depsolve.py:249
+#: ../yum/depsolve.py:311
 #, python-format
 msgid "Removing Package %s"
 msgstr ""
 
-#: ../yum/depsolve.py:271
+#: ../yum/depsolve.py:333
 #, python-format
 msgid "%s requires: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:312
+#: ../yum/depsolve.py:374
 #, python-format
 msgid "%s requires %s"
 msgstr ""
 
-#: ../yum/depsolve.py:339
+#: ../yum/depsolve.py:401
 msgid "Needed Require has already been looked up, cheating"
 msgstr ""
 
-#: ../yum/depsolve.py:349
+#: ../yum/depsolve.py:411
 #, python-format
 msgid "Needed Require is not a package name. Looking up: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:357
+#: ../yum/depsolve.py:419
 #, python-format
 msgid "Potential Provider: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:380
+#: ../yum/depsolve.py:442
 #, python-format
 msgid "Mode is %s for provider of %s: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:384
+#: ../yum/depsolve.py:446
 #, python-format
 msgid "Mode for pkg providing %s: %s"
 msgstr ""
@@ -2045,991 +2302,1138 @@ msgstr ""
 #. the thing it needs is being updated or obsoleted away
 #. try to update the requiring package in hopes that all this problem goes
 #. away :(
-#: ../yum/depsolve.py:389 ../yum/depsolve.py:406
+#: ../yum/depsolve.py:451 ../yum/depsolve.py:486
 #, python-format
 msgid "Trying to update %s to resolve dep"
 msgstr ""
 
-#: ../yum/depsolve.py:400 ../yum/depsolve.py:410
+#: ../yum/depsolve.py:480
 #, python-format
 msgid "No update paths found for %s. Failure!"
 msgstr ""
 
-#: ../yum/depsolve.py:416
+#: ../yum/depsolve.py:491
+#, python-format
+msgid "No update paths found for %s. Failure due to requirement: %s!"
+msgstr ""
+
+#: ../yum/depsolve.py:507
+#, python-format
+msgid "Update for %s. Doesn't fix requirement: %s!"
+msgstr ""
+
+#: ../yum/depsolve.py:514
 #, python-format
 msgid "TSINFO: %s package requiring %s marked as erase"
 msgstr ""
 
-#: ../yum/depsolve.py:429
+#: ../yum/depsolve.py:527
 #, python-format
 msgid "TSINFO: Obsoleting %s with %s to resolve dep."
 msgstr ""
 
-#: ../yum/depsolve.py:432
+#: ../yum/depsolve.py:530
 #, python-format
 msgid "TSINFO: Updating %s to resolve dep."
 msgstr ""
 
-#: ../yum/depsolve.py:440
+#: ../yum/depsolve.py:538
 #, python-format
 msgid "Cannot find an update path for dep for: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:471
+#: ../yum/depsolve.py:569
 #, python-format
 msgid "Quick matched %s to require for %s"
 msgstr ""
 
 #. is it already installed?
-#: ../yum/depsolve.py:513
+#: ../yum/depsolve.py:611
 #, python-format
 msgid "%s is in providing packages but it is already installed, removing."
 msgstr ""
 
-#: ../yum/depsolve.py:529
+#: ../yum/depsolve.py:627
 #, python-format
 msgid "Potential resolving package %s has newer instance in ts."
 msgstr ""
 
-#: ../yum/depsolve.py:540
+#: ../yum/depsolve.py:638
 #, python-format
 msgid "Potential resolving package %s has newer instance installed."
 msgstr ""
 
-#: ../yum/depsolve.py:558
+#: ../yum/depsolve.py:656
 #, python-format
 msgid "%s already in ts, skipping this one"
 msgstr ""
 
-#: ../yum/depsolve.py:607
+#: ../yum/depsolve.py:705
 #, python-format
 msgid "TSINFO: Marking %s as update for %s"
 msgstr ""
 
-#: ../yum/depsolve.py:616
+#: ../yum/depsolve.py:714
 #, python-format
 msgid "TSINFO: Marking %s as install for %s"
 msgstr ""
 
-#: ../yum/depsolve.py:727 ../yum/depsolve.py:819
+#: ../yum/depsolve.py:849 ../yum/depsolve.py:967
 msgid "Success - empty transaction"
 msgstr ""
 
-#: ../yum/depsolve.py:767 ../yum/depsolve.py:783
+#: ../yum/depsolve.py:889 ../yum/depsolve.py:927
 msgid "Restarting Loop"
 msgstr ""
 
-#: ../yum/depsolve.py:799
+#: ../yum/depsolve.py:947
 msgid "Dependency Process ending"
 msgstr ""
 
-#: ../yum/depsolve.py:821
+#: ../yum/depsolve.py:969
 msgid "Success - deps resolved"
 msgstr ""
 
-#: ../yum/depsolve.py:845
+#: ../yum/depsolve.py:993
 #, python-format
 msgid "Checking deps for %s"
 msgstr ""
 
-#: ../yum/depsolve.py:931
+#: ../yum/depsolve.py:1082
 #, python-format
 msgid "looking for %s as a requirement of %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1169
+#: ../yum/depsolve.py:1349
 #, python-format
 msgid "Running compare_providers() for %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1196 ../yum/depsolve.py:1202
+#: ../yum/depsolve.py:1376 ../yum/depsolve.py:1382
 #, python-format
 msgid "better arch in po %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1298
+#: ../yum/depsolve.py:1496
 #, python-format
 msgid "%s obsoletes %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1310
+#: ../yum/depsolve.py:1508
 #, python-format
 msgid ""
 "archdist compared %s to %s on %s\n"
 "  Winner: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1318
+#: ../yum/depsolve.py:1516
 #, python-format
 msgid "common sourcerpm %s and %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1322
+#: ../yum/depsolve.py:1520
 #, python-format
 msgid "base package %s is installed for %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1328
+#: ../yum/depsolve.py:1526
 #, python-format
 msgid "common prefix of %s between %s and %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1359
+#: ../yum/depsolve.py:1543
 #, python-format
-msgid "requires minimal: %d"
+msgid "provides vercmp: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1363
+#: ../yum/depsolve.py:1547 ../yum/depsolve.py:1581
 #, python-format
 msgid " Winner: %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1368
+#: ../yum/depsolve.py:1577
+#, python-format
+msgid "requires minimal: %d"
+msgstr ""
+
+#: ../yum/depsolve.py:1586
 #, python-format
 msgid " Loser(with %d): %s"
 msgstr ""
 
-#: ../yum/depsolve.py:1384
+#: ../yum/depsolve.py:1602
 #, python-format
 msgid "Best Order: %s"
 msgstr ""
 
-#: ../yum/__init__.py:234
+#: ../yum/__init__.py:274
 msgid "doConfigSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/__init__.py:482
+#: ../yum/__init__.py:553
+#, python-format
+msgid "Skipping unreadable repository %s"
+msgstr ""
+
+#: ../yum/__init__.py:572
 #, python-format
 msgid "Repository %r: Error parsing config: %s"
 msgstr ""
 
-#: ../yum/__init__.py:488
+#: ../yum/__init__.py:578
 #, python-format
 msgid "Repository %r is missing name in configuration, using id"
 msgstr ""
 
-#: ../yum/__init__.py:526
+#: ../yum/__init__.py:618
 msgid "plugins already initialised"
 msgstr ""
 
-#: ../yum/__init__.py:533
+#: ../yum/__init__.py:627
 msgid "doRpmDBSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/__init__.py:544
+#: ../yum/__init__.py:638
 msgid "Reading Local RPMDB"
 msgstr ""
 
-#: ../yum/__init__.py:567
+#: ../yum/__init__.py:668
 msgid "doRepoSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/__init__.py:630
+#: ../yum/__init__.py:722
 msgid "doSackSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/__init__.py:660
+#: ../yum/__init__.py:752
 msgid "Setting up Package Sacks"
 msgstr ""
 
-#: ../yum/__init__.py:705
+#: ../yum/__init__.py:797
 #, python-format
 msgid "repo object for repo %s lacks a _resetSack method\n"
 msgstr ""
 
-#: ../yum/__init__.py:706
+#: ../yum/__init__.py:798
 msgid "therefore this repo cannot be reset.\n"
 msgstr ""
 
-#: ../yum/__init__.py:711
+#: ../yum/__init__.py:806
 msgid "doUpdateSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/__init__.py:723
+#: ../yum/__init__.py:818
 msgid "Building updates object"
 msgstr ""
 
-#: ../yum/__init__.py:765
+#: ../yum/__init__.py:862
 msgid "doGroupSetup() will go away in a future version of Yum.\n"
 msgstr ""
 
-#: ../yum/__init__.py:790
+#: ../yum/__init__.py:887
 msgid "Getting group metadata"
 msgstr ""
 
-#: ../yum/__init__.py:816
+#: ../yum/__init__.py:915
 #, python-format
 msgid "Adding group file from repository: %s"
 msgstr ""
 
-#: ../yum/__init__.py:827
+#: ../yum/__init__.py:918
+#, python-format
+msgid "Failed to retrieve group file for repository: %s"
+msgstr ""
+
+#: ../yum/__init__.py:924
 #, python-format
 msgid "Failed to add groups file for repository: %s - %s"
 msgstr ""
 
-#: ../yum/__init__.py:833
+#: ../yum/__init__.py:930
 msgid "No Groups Available in any repository"
 msgstr ""
 
-#: ../yum/__init__.py:845
+#: ../yum/__init__.py:945
 msgid "Getting pkgtags metadata"
 msgstr ""
 
-#: ../yum/__init__.py:855
+#: ../yum/__init__.py:955
 #, python-format
 msgid "Adding tags from repository: %s"
 msgstr ""
 
-#: ../yum/__init__.py:866
+#: ../yum/__init__.py:966
 #, python-format
 msgid "Failed to add Pkg Tags for repository: %s - %s"
 msgstr ""
 
-#: ../yum/__init__.py:944
+#: ../yum/__init__.py:1059
 msgid "Importing additional filelist information"
 msgstr ""
 
-#: ../yum/__init__.py:958
+#: ../yum/__init__.py:1077
 #, python-format
 msgid "The program %s%s%s is found in the yum-utils package."
 msgstr ""
 
-#: ../yum/__init__.py:966
+#: ../yum/__init__.py:1094
 msgid ""
 "There are unfinished transactions remaining. You might consider running yum-"
 "complete-transaction first to finish them."
 msgstr ""
 
-#: ../yum/__init__.py:983
+#: ../yum/__init__.py:1111
 msgid "--> Finding unneeded leftover dependencies"
 msgstr ""
 
-#: ../yum/__init__.py:1041
+#: ../yum/__init__.py:1169
 #, python-format
 msgid "Protected multilib versions: %s != %s"
 msgstr ""
 
-#: ../yum/__init__.py:1096
+#. People are confused about protected mutilib ... so give
+#. them a nicer message.
+#: ../yum/__init__.py:1173
+#, python-format
+msgid ""
+" Multilib version problems found. This often means that the root\n"
+"cause is something else and multilib version checking is just\n"
+"pointing out that there is a problem. Eg.:\n"
+"\n"
+"  1. You have an upgrade for %(name)s which is missing some\n"
+"     dependency that another package requires. Yum is trying to\n"
+"     solve this by installing an older version of %(name)s of the\n"
+"     different architecture. If you exclude the bad architecture\n"
+"     yum will tell you what the root cause is (which package\n"
+"     requires what). You can try redoing the upgrade with\n"
+"     --exclude %(name)s.otherarch ... this should give you an error\n"
+"     message showing the root cause of the problem.\n"
+"\n"
+"  2. You have multiple architectures of %(name)s installed, but\n"
+"     yum can only see an upgrade for one of those arcitectures.\n"
+"     If you don't want/need both architectures anymore then you\n"
+"     can remove the one with the missing update and everything\n"
+"     will work.\n"
+"\n"
+"  3. You have duplicate versions of %(name)s installed already.\n"
+"     You can use \"yum check\" to get yum show these errors.\n"
+"\n"
+"...you can also use --setopt=protected_multilib=false to remove\n"
+"this checking, however this is almost never the correct thing to\n"
+"do as something else is very likely to go wrong (often causing\n"
+"much more problems).\n"
+"\n"
+msgstr ""
+
+#: ../yum/__init__.py:1257
 #, python-format
 msgid "Trying to remove \"%s\", which is protected"
 msgstr ""
 
-#: ../yum/__init__.py:1217
+#: ../yum/__init__.py:1378
 msgid ""
 "\n"
 "Packages skipped because of dependency problems:"
 msgstr ""
 
-#: ../yum/__init__.py:1221
+#: ../yum/__init__.py:1382
 #, python-format
 msgid "    %s from %s"
 msgstr ""
 
 #. FIXME: _N()
-#: ../yum/__init__.py:1391
+#: ../yum/__init__.py:1556
 #, python-format
 msgid "** Found %d pre-existing rpmdb problem(s), 'yum check' output follows:"
 msgstr ""
 
-#: ../yum/__init__.py:1395
+#: ../yum/__init__.py:1560
 msgid "Warning: RPMDB altered outside of yum."
 msgstr ""
 
-#: ../yum/__init__.py:1407
+#: ../yum/__init__.py:1572
 msgid "missing requires"
 msgstr ""
 
-#: ../yum/__init__.py:1408
+#: ../yum/__init__.py:1573
 msgid "installed conflict"
 msgstr ""
 
-#: ../yum/__init__.py:1525
+#: ../yum/__init__.py:1709
 msgid ""
 "Warning: scriptlet or other non-fatal errors occurred during transaction."
 msgstr ""
 
-#: ../yum/__init__.py:1535
+#: ../yum/__init__.py:1719
 msgid "Transaction couldn't start:"
 msgstr ""
 
 #. should this be 'to_unicoded'?
-#: ../yum/__init__.py:1538
+#: ../yum/__init__.py:1722
 msgid "Could not run transaction."
 msgstr ""
 
-#: ../yum/__init__.py:1552
+#: ../yum/__init__.py:1736
 #, python-format
 msgid "Failed to remove transaction file %s"
 msgstr ""
 
 #. maybe a file log here, too
 #. but raising an exception is not going to do any good
-#: ../yum/__init__.py:1590
+#: ../yum/__init__.py:1792
 #, python-format
 msgid "%s was supposed to be installed but is not!"
 msgstr ""
 
 #. maybe a file log here, too
 #. but raising an exception is not going to do any good
-#: ../yum/__init__.py:1651
+#. Note: This actually triggers atm. because we can't
+#. always find the erased txmbr to set it when
+#. we should.
+#: ../yum/__init__.py:1869
 #, python-format
 msgid "%s was supposed to be removed but is not!"
 msgstr ""
 
-#: ../yum/__init__.py:1768
+#. Another copy seems to be running.
+#: ../yum/__init__.py:2004
 #, python-format
-msgid "Could not open lock %s: %s"
+msgid "Existing lock %s: another copy is running as pid %s."
 msgstr ""
 
 #. Whoa. What the heck happened?
-#: ../yum/__init__.py:1785
+#: ../yum/__init__.py:2053
 #, python-format
-msgid "Unable to check if PID %s is active"
+msgid "Could not create lock at %s: %s "
 msgstr ""
 
-#. Another copy seems to be running.
-#: ../yum/__init__.py:1789
+#: ../yum/__init__.py:2065
 #, python-format
-msgid "Existing lock %s: another copy is running as pid %s."
+msgid "Could not open lock %s: %s"
 msgstr ""
 
+#. The pid doesn't exist
 #. Whoa. What the heck happened?
-#: ../yum/__init__.py:1830
+#: ../yum/__init__.py:2082
 #, python-format
-msgid "Could not create lock at %s: %s "
+msgid "Unable to check if PID %s is active"
 msgstr ""
 
-#: ../yum/__init__.py:1875
+#: ../yum/__init__.py:2132
 #, python-format
 msgid ""
 "Package does not match intended download. Suggestion: run yum "
 "--enablerepo=%s clean metadata"
 msgstr ""
 
-#: ../yum/__init__.py:1891
+#: ../yum/__init__.py:2155
 msgid "Could not perform checksum"
 msgstr ""
 
-#: ../yum/__init__.py:1894
+#: ../yum/__init__.py:2158
 msgid "Package does not match checksum"
 msgstr ""
 
-#: ../yum/__init__.py:1946
+#: ../yum/__init__.py:2222
 #, python-format
 msgid "package fails checksum but caching is enabled for %s"
 msgstr ""
 
-#: ../yum/__init__.py:1949 ../yum/__init__.py:1979
+#: ../yum/__init__.py:2225 ../yum/__init__.py:2268
 #, python-format
 msgid "using local copy of %s"
 msgstr ""
 
-#: ../yum/__init__.py:1991
-#, python-format
-msgid ""
-"Insufficient space in download directory %s\n"
-"    * free   %s\n"
-"    * needed %s"
+#. caller handles errors
+#: ../yum/__init__.py:2342
+msgid "exiting because --downloadonly specified"
 msgstr ""
 
-#: ../yum/__init__.py:2052
+#: ../yum/__init__.py:2371
 msgid "Header is not complete."
 msgstr ""
 
-#: ../yum/__init__.py:2089
+#: ../yum/__init__.py:2411
 #, python-format
 msgid ""
 "Header not in local cache and caching-only mode enabled. Cannot download %s"
 msgstr ""
 
-#: ../yum/__init__.py:2147
+#: ../yum/__init__.py:2471
 #, python-format
 msgid "Public key for %s is not installed"
 msgstr ""
 
-#: ../yum/__init__.py:2151
+#: ../yum/__init__.py:2475
 #, python-format
 msgid "Problem opening package %s"
 msgstr ""
 
-#: ../yum/__init__.py:2159
+#: ../yum/__init__.py:2483
 #, python-format
 msgid "Public key for %s is not trusted"
 msgstr ""
 
-#: ../yum/__init__.py:2163
+#: ../yum/__init__.py:2487
 #, python-format
 msgid "Package %s is not signed"
 msgstr ""
 
-#: ../yum/__init__.py:2202
+#: ../yum/__init__.py:2529
 #, python-format
 msgid "Cannot remove %s"
 msgstr ""
 
-#: ../yum/__init__.py:2206
+#: ../yum/__init__.py:2533
 #, python-format
 msgid "%s removed"
 msgstr ""
 
-#: ../yum/__init__.py:2252
+#: ../yum/__init__.py:2594
 #, python-format
 msgid "Cannot remove %s file %s"
 msgstr ""
 
-#: ../yum/__init__.py:2256
+#: ../yum/__init__.py:2598
 #, python-format
 msgid "%s file %s removed"
 msgstr ""
 
-#: ../yum/__init__.py:2258
+#: ../yum/__init__.py:2600
 #, python-format
-msgid "%d %s files removed"
-msgstr ""
+msgid "%d %s file removed"
+msgid_plural "%d %s files removed"
+msgstr[0] ""
 
-#: ../yum/__init__.py:2327
+#: ../yum/__init__.py:2712
 #, python-format
 msgid "More than one identical match in sack for %s"
 msgstr ""
 
-#: ../yum/__init__.py:2333
+#: ../yum/__init__.py:2718
 #, python-format
 msgid "Nothing matches %s.%s %s:%s-%s from update"
 msgstr ""
 
-#: ../yum/__init__.py:2632
+#: ../yum/__init__.py:3096
 msgid ""
 "searchPackages() will go away in a future version of Yum."
 "                      Use searchGenerator() instead. \n"
 msgstr ""
 
-#: ../yum/__init__.py:2675
+#: ../yum/__init__.py:3149
 #, python-format
-msgid "Searching %d packages"
-msgstr ""
+msgid "Searching %d package"
+msgid_plural "Searching %d packages"
+msgstr[0] ""
 
-#: ../yum/__init__.py:2679
+#: ../yum/__init__.py:3153
 #, python-format
 msgid "searching package %s"
 msgstr ""
 
-#: ../yum/__init__.py:2691
+#: ../yum/__init__.py:3165
 msgid "searching in file entries"
 msgstr ""
 
-#: ../yum/__init__.py:2698
+#: ../yum/__init__.py:3172
 msgid "searching in provides entries"
 msgstr ""
 
-#: ../yum/__init__.py:2777
+#: ../yum/__init__.py:3369
 msgid "No group data available for configured repositories"
 msgstr ""
 
-#: ../yum/__init__.py:2808 ../yum/__init__.py:2827 ../yum/__init__.py:2858
-#: ../yum/__init__.py:2864 ../yum/__init__.py:2953 ../yum/__init__.py:2957
-#: ../yum/__init__.py:3339
+#: ../yum/__init__.py:3466 ../yum/__init__.py:3500 ../yum/__init__.py:3576
+#: ../yum/__init__.py:3582 ../yum/__init__.py:3719 ../yum/__init__.py:3723
+#: ../yum/__init__.py:4298
 #, python-format
 msgid "No Group named %s exists"
 msgstr ""
 
-#: ../yum/__init__.py:2839 ../yum/__init__.py:2973
+#: ../yum/__init__.py:3512 ../yum/__init__.py:3740
 #, python-format
 msgid "package %s was not marked in group %s"
 msgstr ""
 
-#: ../yum/__init__.py:2887
+#. (upgrade and igroup_data[pkg] == 'available')):
+#: ../yum/__init__.py:3622
+#, python-format
+msgid "Skipping package %s from group %s"
+msgstr ""
+
+#: ../yum/__init__.py:3628
 #, python-format
 msgid "Adding package %s from group %s"
 msgstr ""
 
-#: ../yum/__init__.py:2891
+#: ../yum/__init__.py:3649
 #, python-format
 msgid "No package named %s available to be installed"
 msgstr ""
 
-#: ../yum/__init__.py:2941
+#: ../yum/__init__.py:3702
 #, python-format
-msgid "Warning: Group %s does not have any packages."
+msgid "Warning: Group %s does not have any packages to install."
 msgstr ""
 
-#: ../yum/__init__.py:2943
+#: ../yum/__init__.py:3704
 #, python-format
 msgid "Group %s does have %u conditional packages, which may get installed."
 msgstr ""
 
+#: ../yum/__init__.py:3794
+#, python-format
+msgid "Skipping group %s from environment %s"
+msgstr ""
+
 #. This can happen due to excludes after .up has
 #. happened.
-#: ../yum/__init__.py:3002
+#: ../yum/__init__.py:3858
 #, python-format
 msgid "Package tuple %s could not be found in packagesack"
 msgstr ""
 
-#: ../yum/__init__.py:3022
+#: ../yum/__init__.py:3886
 #, python-format
 msgid "Package tuple %s could not be found in rpmdb"
 msgstr ""
 
-#: ../yum/__init__.py:3079 ../yum/__init__.py:3129
+#: ../yum/__init__.py:3949 ../yum/__init__.py:4012
 #, python-format
 msgid "Invalid version flag from: %s"
 msgstr ""
 
-#: ../yum/__init__.py:3096 ../yum/__init__.py:3101
+#: ../yum/__init__.py:3973 ../yum/__init__.py:3979 ../yum/__init__.py:4036
+#: ../yum/__init__.py:4042
 #, python-format
 msgid "No Package found for %s"
 msgstr ""
 
-#: ../yum/__init__.py:3401
+#: ../yum/__init__.py:4245 ../yum/__init__.py:4274
+#, python-format
+msgid "Warning: Environment Group %s does not exist."
+msgstr ""
+
+#: ../yum/__init__.py:4397
+#, python-format
+msgid "Package: %s - can't co-install with %s"
+msgstr ""
+
+#: ../yum/__init__.py:4437
 msgid "Package Object was not a package object instance"
 msgstr ""
 
-#: ../yum/__init__.py:3405
+#: ../yum/__init__.py:4441
 msgid "Nothing specified to install"
 msgstr ""
 
-#: ../yum/__init__.py:3424 ../yum/__init__.py:4283
+#: ../yum/__init__.py:4465 ../yum/__init__.py:5410
 #, python-format
 msgid "Checking for virtual provide or file-provide for %s"
 msgstr ""
 
-#: ../yum/__init__.py:3430 ../yum/__init__.py:3775 ../yum/__init__.py:3969
-#: ../yum/__init__.py:4289
-#, python-format
-msgid "No Match for argument: %s"
-msgstr ""
-
-#: ../yum/__init__.py:3507
+#: ../yum/__init__.py:4542
 #, python-format
 msgid "Package %s installed and not available"
 msgstr ""
 
-#: ../yum/__init__.py:3510
+#: ../yum/__init__.py:4545
 msgid "No package(s) available to install"
 msgstr ""
 
-#: ../yum/__init__.py:3522
+#: ../yum/__init__.py:4557
 #, python-format
 msgid "Package: %s  - already in transaction set"
 msgstr ""
 
-#: ../yum/__init__.py:3550
+#: ../yum/__init__.py:4589
 #, python-format
 msgid "Package %s is obsoleted by %s which is already installed"
 msgstr ""
 
-#: ../yum/__init__.py:3555
+#: ../yum/__init__.py:4594
 #, python-format
 msgid ""
 "Package %s is obsoleted by %s, but obsoleting package does not provide for "
 "requirements"
 msgstr ""
 
-#: ../yum/__init__.py:3558
+#: ../yum/__init__.py:4597
 #, python-format
 msgid "Package %s is obsoleted by %s, trying to install %s instead"
 msgstr ""
 
-#: ../yum/__init__.py:3566
+#: ../yum/__init__.py:4605
 #, python-format
 msgid "Package %s already installed and latest version"
 msgstr ""
 
-#: ../yum/__init__.py:3580
+#: ../yum/__init__.py:4619
 #, python-format
 msgid "Package matching %s already installed. Checking for update."
 msgstr ""
 
 #. update everything (the easy case)
-#: ../yum/__init__.py:3684
+#: ../yum/__init__.py:4751
 msgid "Updating Everything"
 msgstr ""
 
-#: ../yum/__init__.py:3708 ../yum/__init__.py:3849 ../yum/__init__.py:3879
-#: ../yum/__init__.py:3915
+#: ../yum/__init__.py:4775 ../yum/__init__.py:4930 ../yum/__init__.py:4975
+#: ../yum/__init__.py:5011
 #, python-format
 msgid "Not Updating Package that is already obsoleted: %s.%s %s:%s-%s"
 msgstr ""
 
-#: ../yum/__init__.py:3753 ../yum/__init__.py:3965
+#: ../yum/__init__.py:4830 ../yum/__init__.py:5072
 #, python-format
 msgid "%s"
 msgstr ""
 
-#: ../yum/__init__.py:3838
+#: ../yum/__init__.py:4854 ../yum/__init__.py:5080 ../yum/__init__.py:5416
+#, python-format
+msgid "No Match for argument: %s"
+msgstr ""
+
+#: ../yum/__init__.py:4872
+#, python-format
+msgid "No package matched to upgrade: %s"
+msgstr ""
+
+#: ../yum/__init__.py:4919
 #, python-format
 msgid "Package is already obsoleted: %s.%s %s:%s-%s"
 msgstr ""
 
-#: ../yum/__init__.py:3874
+#: ../yum/__init__.py:4970
 #, python-format
 msgid "Not Updating Package that is obsoleted: %s"
 msgstr ""
 
-#: ../yum/__init__.py:3883 ../yum/__init__.py:3919
+#: ../yum/__init__.py:4979 ../yum/__init__.py:5015
 #, python-format
 msgid "Not Updating Package that is already updated: %s.%s %s:%s-%s"
 msgstr ""
 
-#: ../yum/__init__.py:3982
-msgid "No package matched to remove"
+#: ../yum/__init__.py:5093
+#, python-format
+msgid "No package matched to remove: %s"
 msgstr ""
 
-#: ../yum/__init__.py:3988
+#: ../yum/__init__.py:5099
 #, python-format
 msgid "Skipping the running kernel: %s"
 msgstr ""
 
-#: ../yum/__init__.py:3994
+#: ../yum/__init__.py:5105
 #, python-format
 msgid "Removing %s from the transaction"
 msgstr ""
 
-#: ../yum/__init__.py:4029
+#: ../yum/__init__.py:5142
 #, python-format
 msgid "Cannot open: %s. Skipping."
 msgstr ""
 
-#: ../yum/__init__.py:4032 ../yum/__init__.py:4150 ../yum/__init__.py:4226
+#: ../yum/__init__.py:5145 ../yum/__init__.py:5262 ../yum/__init__.py:5347
 #, python-format
 msgid "Examining %s: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4036
+#: ../yum/__init__.py:5149
 #, python-format
 msgid "Cannot localinstall deltarpm: %s. Skipping."
 msgstr ""
 
-#: ../yum/__init__.py:4045 ../yum/__init__.py:4153 ../yum/__init__.py:4229
+#: ../yum/__init__.py:5158 ../yum/__init__.py:5265 ../yum/__init__.py:5350
 #, python-format
 msgid ""
 "Cannot add package %s to transaction. Not a compatible architecture: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4051
+#: ../yum/__init__.py:5164
 #, python-format
 msgid "Cannot install package %s. It is obsoleted by installed package %s"
 msgstr ""
 
-#: ../yum/__init__.py:4059
+#: ../yum/__init__.py:5172
 #, python-format
 msgid ""
 "Package %s not installed, cannot update it. Run yum install to install it "
 "instead."
 msgstr ""
 
-#: ../yum/__init__.py:4078 ../yum/__init__.py:4085
+#: ../yum/__init__.py:5191 ../yum/__init__.py:5198
 #, python-format
 msgid ""
 "Package %s.%s not installed, cannot update it. Run yum install to install it"
 " instead."
 msgstr ""
 
-#: ../yum/__init__.py:4094 ../yum/__init__.py:4158 ../yum/__init__.py:4234
+#: ../yum/__init__.py:5207 ../yum/__init__.py:5270 ../yum/__init__.py:5355
 #, python-format
 msgid "Excluding %s"
 msgstr ""
 
-#: ../yum/__init__.py:4099
+#: ../yum/__init__.py:5212
 #, python-format
 msgid "Marking %s to be installed"
 msgstr ""
 
-#: ../yum/__init__.py:4105
+#: ../yum/__init__.py:5218
 #, python-format
 msgid "Marking %s as an update to %s"
 msgstr ""
 
-#: ../yum/__init__.py:4112
+#: ../yum/__init__.py:5225
 #, python-format
 msgid "%s: does not update installed package."
 msgstr ""
 
-#: ../yum/__init__.py:4147 ../yum/__init__.py:4223
+#: ../yum/__init__.py:5259 ../yum/__init__.py:5344
 #, python-format
 msgid "Cannot open file: %s. Skipping."
 msgstr ""
 
-#: ../yum/__init__.py:4177
+#: ../yum/__init__.py:5299
 msgid "Problem in reinstall: no package matched to remove"
 msgstr ""
 
-#: ../yum/__init__.py:4203
+#: ../yum/__init__.py:5325
 #, python-format
 msgid "Problem in reinstall: no package %s matched to install"
 msgstr ""
 
-#: ../yum/__init__.py:4311
+#: ../yum/__init__.py:5438
 msgid "No package(s) available to downgrade"
 msgstr ""
 
-#: ../yum/__init__.py:4319
+#: ../yum/__init__.py:5446
 #, python-format
 msgid "Package %s is allowed multiple installs, skipping"
 msgstr ""
 
-#: ../yum/__init__.py:4365
+#: ../yum/__init__.py:5496
 #, python-format
 msgid "No Match for available package: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4372
+#: ../yum/__init__.py:5506
 #, python-format
 msgid "Only Upgrade available on package: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4442 ../yum/__init__.py:4479
+#: ../yum/__init__.py:5619 ../yum/__init__.py:5686
 #, python-format
 msgid "Failed to downgrade: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4516
+#: ../yum/__init__.py:5636 ../yum/__init__.py:5692
+#, python-format
+msgid "Failed to upgrade: %s"
+msgstr ""
+
+#: ../yum/__init__.py:5725
 #, python-format
 msgid "Retrieving key from %s"
 msgstr ""
 
-#: ../yum/__init__.py:4534
+#: ../yum/__init__.py:5743
 msgid "GPG key retrieval failed: "
 msgstr ""
 
 #. if we decide we want to check, even though the sig failed
 #. here is where we would do that
-#: ../yum/__init__.py:4557
+#: ../yum/__init__.py:5766
 #, python-format
 msgid "GPG key signature on key %s does not match CA Key for repo: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4559
+#: ../yum/__init__.py:5768
 msgid "GPG key signature verified against CA Key(s)"
 msgstr ""
 
-#: ../yum/__init__.py:4567
+#: ../yum/__init__.py:5776
 #, python-format
 msgid "Invalid GPG Key from %s: %s"
 msgstr ""
 
-#: ../yum/__init__.py:4576
+#: ../yum/__init__.py:5785
 #, python-format
 msgid "GPG key parsing failed: key does not have value %s"
 msgstr ""
 
-#: ../yum/__init__.py:4592
+#: ../yum/__init__.py:5801
 #, python-format
 msgid ""
 "Importing %s key 0x%s:\n"
-" Userid : %s\n"
-" Package: %s (%s)\n"
-" From   : %s"
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" Package    : %s (%s)\n"
+" From       : %s"
 msgstr ""
 
-#: ../yum/__init__.py:4600
+#: ../yum/__init__.py:5811
 #, python-format
 msgid ""
 "Importing %s key 0x%s:\n"
-" Userid: \"%s\"\n"
-" From  : %s"
+" Userid     : \"%s\"\n"
+" Fingerprint: %s\n"
+" From       : %s"
 msgstr ""
 
-#: ../yum/__init__.py:4634
+#: ../yum/__init__.py:5839
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" Failing package is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr ""
+
+#: ../yum/__init__.py:5853
 #, python-format
 msgid "GPG key at %s (0x%s) is already installed"
 msgstr ""
 
-#: ../yum/__init__.py:4671
+#: ../yum/__init__.py:5891
 #, python-format
 msgid "Key import failed (code %d)"
 msgstr ""
 
-#: ../yum/__init__.py:4672 ../yum/__init__.py:4755
+#: ../yum/__init__.py:5893 ../yum/__init__.py:5994
 msgid "Key imported successfully"
 msgstr ""
 
-#: ../yum/__init__.py:4676
+#: ../yum/__init__.py:5897
 msgid "Didn't install any keys"
 msgstr ""
 
-#: ../yum/__init__.py:4680
+#: ../yum/__init__.py:5900
 #, python-format
 msgid ""
 "The GPG keys listed for the \"%s\" repository are already installed but they are not correct for this package.\n"
 "Check that the correct key URLs are configured for this repository."
 msgstr ""
 
-#: ../yum/__init__.py:4689
+#: ../yum/__init__.py:5910
 msgid "Import of key(s) didn't help, wrong key(s)?"
 msgstr ""
 
-#: ../yum/__init__.py:4713
+#: ../yum/__init__.py:5932
+msgid "No"
+msgstr ""
+
+#: ../yum/__init__.py:5934
+msgid "Yes"
+msgstr ""
+
+#: ../yum/__init__.py:5935
+#, python-format
+msgid ""
+"\n"
+"\n"
+"\n"
+" CA Key: %s\n"
+" Failing repo is: %s\n"
+" GPG Keys are configured as: %s\n"
+msgstr ""
+
+#: ../yum/__init__.py:5948
 #, python-format
 msgid "GPG key at %s (0x%s) is already imported"
 msgstr ""
 
-#: ../yum/__init__.py:4754
-msgid "Key import failed"
+#: ../yum/__init__.py:5992
+#, python-format
+msgid "Key %s import failed"
 msgstr ""
 
-#: ../yum/__init__.py:4770
+#: ../yum/__init__.py:6009
 #, python-format
 msgid "Didn't install any keys for repo %s"
 msgstr ""
 
-#: ../yum/__init__.py:4774
+#: ../yum/__init__.py:6014
 #, python-format
 msgid ""
 "The GPG keys listed for the \"%s\" repository are already installed but they are not correct.\n"
 "Check that the correct key URLs are configured for this repository."
 msgstr ""
 
-#: ../yum/__init__.py:4924
+#: ../yum/__init__.py:6172
 msgid "Unable to find a suitable mirror."
 msgstr ""
 
-#: ../yum/__init__.py:4926
+#: ../yum/__init__.py:6174
 msgid "Errors were encountered while downloading packages."
 msgstr ""
 
-#: ../yum/__init__.py:4981
+#: ../yum/__init__.py:6229
 #, python-format
 msgid "Please report this error at %s"
 msgstr ""
 
-#: ../yum/__init__.py:4998
+#: ../yum/__init__.py:6246
 msgid "Test Transaction Errors: "
 msgstr ""
 
-#: ../yum/__init__.py:5098
+#: ../yum/__init__.py:6358
 #, python-format
 msgid "Could not set cachedir: %s"
 msgstr ""
 
-#: ../yum/__init__.py:5148 ../yum/__init__.py:5150
+#: ../yum/__init__.py:6420 ../yum/__init__.py:6422
 msgid "Dependencies not solved. Will not save unresolved transaction."
 msgstr ""
 
-#: ../yum/__init__.py:5179 ../yum/__init__.py:5181
+#: ../yum/__init__.py:6455 ../yum/__init__.py:6457
 #, python-format
 msgid "Could not save transaction file %s: %s"
 msgstr ""
 
-#: ../yum/__init__.py:5195
+#: ../yum/__init__.py:6483
 #, python-format
 msgid "Could not access/read saved transaction %s : %s"
 msgstr ""
 
-#: ../yum/__init__.py:5214
-msgid "rpmdb ver mismatched saved transaction version, "
-msgstr ""
-
-#: ../yum/__init__.py:5216
-msgid " ignoring, as requested."
-msgstr ""
-
-#: ../yum/__init__.py:5219 ../yum/__init__.py:5354
-msgid " aborting."
+#: ../yum/__init__.py:6521
+msgid "rpmdb ver mismatched saved transaction version,"
 msgstr ""
 
-#: ../yum/__init__.py:5228
+#: ../yum/__init__.py:6535
 msgid "cannot find tsflags or tsflags not integer."
 msgstr ""
 
-#: ../yum/__init__.py:5267
+#: ../yum/__init__.py:6584
 #, python-format
 msgid "Found txmbr in unknown current state: %s"
 msgstr ""
 
-#: ../yum/__init__.py:5271
+#: ../yum/__init__.py:6588
 #, python-format
 msgid "Could not find txmbr: %s in state %s"
 msgstr ""
 
-#: ../yum/__init__.py:5307 ../yum/__init__.py:5324
+#: ../yum/__init__.py:6625 ../yum/__init__.py:6642
 #, python-format
 msgid "Could not find txmbr: %s from origin: %s"
 msgstr ""
 
-#: ../yum/__init__.py:5349
+#: ../yum/__init__.py:6667
 msgid "Transaction members, relations are missing or ts has been modified,"
 msgstr ""
 
-#: ../yum/__init__.py:5351
+#: ../yum/__init__.py:6670
 msgid " ignoring, as requested. You must redepsolve!"
 msgstr ""
 
+#. Debugging output
+#: ../yum/__init__.py:6738 ../yum/__init__.py:6757
+#, python-format
+msgid "%s has been visited already and cannot be removed."
+msgstr ""
+
+#. Debugging output
+#: ../yum/__init__.py:6741
+#, python-format
+msgid "Examining revdeps of %s"
+msgstr ""
+
+#. Debugging output
+#: ../yum/__init__.py:6762
+#, python-format
+msgid "%s has revdep %s which was user-installed."
+msgstr ""
+
+#: ../yum/__init__.py:6773 ../yum/__init__.py:6779
+#, python-format
+msgid "%s is needed by a package to be installed."
+msgstr ""
+
+#. Debugging output
+#: ../yum/__init__.py:6793
+#, python-format
+msgid "%s has no user-installed revdeps."
+msgstr ""
+
 #. Mostly copied from YumOutput._outKeyValFill()
-#: ../yum/plugins.py:209
+#: ../yum/plugins.py:212
 msgid "Loaded plugins: "
 msgstr ""
 
-#: ../yum/plugins.py:223 ../yum/plugins.py:229
+#: ../yum/plugins.py:226 ../yum/plugins.py:232
 #, python-format
 msgid "No plugin match for: %s"
 msgstr ""
 
-#: ../yum/plugins.py:259
+#: ../yum/plugins.py:262
 #, python-format
 msgid "Not loading \"%s\" plugin, as it is disabled"
 msgstr ""
 
 #. Give full backtrace:
-#: ../yum/plugins.py:271
+#: ../yum/plugins.py:274
 #, python-format
 msgid "Plugin \"%s\" can't be imported"
 msgstr ""
 
-#: ../yum/plugins.py:278
+#: ../yum/plugins.py:281
 #, python-format
 msgid "Plugin \"%s\" doesn't specify required API version"
 msgstr ""
 
-#: ../yum/plugins.py:283
+#: ../yum/plugins.py:286
 #, python-format
 msgid "Plugin \"%s\" requires API %s. Supported API is %s."
 msgstr ""
 
-#: ../yum/plugins.py:316
+#: ../yum/plugins.py:319
 #, python-format
 msgid "Loading \"%s\" plugin"
 msgstr ""
 
-#: ../yum/plugins.py:323
+#: ../yum/plugins.py:326
 #, python-format
 msgid "Two or more plugins with the name \"%s\" exist in the plugin search path"
 msgstr ""
 
-#: ../yum/plugins.py:343
+#: ../yum/plugins.py:346
 #, python-format
 msgid "Configuration file %s not found"
 msgstr ""
 
 #. for
 #. Configuration files for the plugin not found
-#: ../yum/plugins.py:346
+#: ../yum/plugins.py:349
 #, python-format
 msgid "Unable to find configuration file for plugin %s"
 msgstr ""
 
-#: ../yum/plugins.py:508
+#: ../yum/plugins.py:553
 msgid "registration of commands not supported"
 msgstr ""
 
-#: ../yum/rpmsack.py:148
+#: ../yum/rpmsack.py:159
 msgid "has missing requires of"
 msgstr ""
 
-#: ../yum/rpmsack.py:151
+#: ../yum/rpmsack.py:162
 msgid "has installed conflicts"
 msgstr ""
 
-#: ../yum/rpmsack.py:160
+#: ../yum/rpmsack.py:171
 #, python-format
 msgid "%s is a duplicate with %s"
 msgstr ""
 
-#: ../yum/rpmsack.py:168
+#: ../yum/rpmsack.py:179
 #, python-format
 msgid "%s is obsoleted by %s"
 msgstr ""
 
-#: ../yum/rpmsack.py:176
+#: ../yum/rpmsack.py:187
 #, python-format
 msgid "%s provides %s but it cannot be found"
 msgstr ""
@@ -3038,6 +3442,23 @@ msgstr ""
 msgid "Repackaging"
 msgstr ""
 
+#: ../yum/rpmtrans.py:149
+#, python-format
+msgid "Verify: %u/%u: %s"
+msgstr ""
+
+#: ../yum/yumRepo.py:919
+#, python-format
+msgid ""
+"Insufficient space in download directory %s\n"
+"    * free   %s\n"
+"    * needed %s"
+msgstr ""
+
+#: ../yum/yumRepo.py:986
+msgid "Package does not match intended download."
+msgstr ""
+
 #: ../rpmUtils/oldUtils.py:33
 #, python-format
 msgid "Header cannot be opened or does not match %s, %s."
@@ -3066,5 +3487,3 @@ msgstr ""
 #, python-format
 msgid "Error opening rpm %s - error %s"
 msgstr ""
-
-
diff --git a/rpmUtils/arch.py b/rpmUtils/arch.py
index 6082005..54fa189 100644
--- a/rpmUtils/arch.py
+++ b/rpmUtils/arch.py
@@ -2,6 +2,11 @@
 #
 
 import os
+import rpm
+import ctypes
+import struct
+
+_ppc64_native_is_best = False
 
 # dict mapping arch -> ( multicompat, best personality, biarch personality )
 multilibArches = { "x86_64":  ( "athlon", "x86_64", "athlon" ),
@@ -10,6 +15,8 @@ multilibArches = { "x86_64":  ( "athlon", "x86_64", "athlon" ),
                    "ppc64":   ( "ppc", "ppc", "ppc64" ),
                    "s390x":   ( "s390", "s390x", "s390" ),
                    }
+if _ppc64_native_is_best:
+    multilibArches["ppc64"] = ( "ppc", "ppc64", "ppc64" )
 
 arches = {
     # ia32
@@ -24,8 +31,12 @@ arches = {
     "x86_64": "athlon",
     "amd64": "x86_64",
     "ia32e": "x86_64",
-    
+
+    #ppc64le
+    "ppc64le":  "noarch",
+
     # ppc
+    "ppc64p7": "ppc64",
     "ppc64pseries": "ppc64",
     "ppc64iseries": "ppc64",    
     "ppc64": "ppc",
@@ -61,6 +72,13 @@ arches = {
     "armv5tejl": "armv5tel",
     "armv5tel": "noarch",
 
+    #arm hardware floating point
+    "armv7hnl": "armv7hl",
+    "armv7hl": "noarch",
+
+    # arm64
+    "arm64": "noarch",
+
     # super-h 
     "sh4a": "sh4",
     "sh4": "noarch",
@@ -70,6 +88,13 @@ arches = {
     "ia64": "noarch",
     }
 
+#  Will contain information parsed from /proc/self/auxv via _parse_auxv().
+# Should move into rpm really.
+_aux_vector = {
+    "platform": "",
+    "hwcap": 0,
+    }
+
 def legitMultiArchesInSameLib(arch=None):
     # this is completely crackrock - if anyone has a better way I
     # am all ears
@@ -80,7 +105,7 @@ def legitMultiArchesInSameLib(arch=None):
          
     results = [arch]
    
-    if arch == 'x86_64' or arch.startswith('sparcv9'):
+    if arch in ('x86_64', 'ppc64') or arch.startswith('sparcv9'):
         for (k, v) in arches.items():
             if v == arch:
                 results.append(k)
@@ -205,17 +230,44 @@ def _try_read_cpuinfo():
     """ Try to read /proc/cpuinfo ... if we can't ignore errors (ie. proc not
         mounted). """
     try:
-        lines = open("/proc/cpuinfo", "r").readlines()
-        return lines
+        return open("/proc/cpuinfo", "r")
     except:
         return []
 
+def _parse_auxv():
+    """ Read /proc/self/auxv and parse it into global dict for easier access
+        later on, very similar to what rpm does. """
+    # In case we can't open and read /proc/self/auxv, just return
+    try:
+        data = open("/proc/self/auxv", "rb").read()
+    except:
+        return
+
+    # Define values from /usr/include/elf.h
+    AT_PLATFORM = 15
+    AT_HWCAP = 16
+    fmtlen = struct.calcsize("LL")
+    offset = 0
+    platform = ctypes.c_char_p()
+
+    # Parse the data and fill in _aux_vector dict
+    while offset <= len(data) - fmtlen:
+        at_type, at_val = struct.unpack_from("LL", data, offset)
+        if at_type == AT_PLATFORM:
+            platform.value = at_val
+            _aux_vector["platform"] = platform.value
+        if at_type == AT_HWCAP:
+            _aux_vector["hwcap"] = at_val
+        offset = offset + fmtlen
+
 def getCanonX86Arch(arch):
     # 
     if arch == "i586":
         for line in _try_read_cpuinfo():
-            if line.startswith("model name") and line.find("Geode(TM)") != -1:
-                return "geode"
+            if line.startswith("model name"):
+                if line.find("Geode(TM)") != -1:
+                    return "geode"
+                break
         return arch
     # only athlon vs i686 isn't handled with uname currently
     if arch != "i686":
@@ -226,9 +278,18 @@ def getCanonX86Arch(arch):
         if line.startswith("vendor") and line.find("AuthenticAMD") != -1:
             return "athlon"
         # i686 doesn't guarantee cmov, but we depend on it
-        elif line.startswith("flags") and line.find("cmov") == -1:
-            return "i586"
+        elif line.startswith("flags"):
+            if line.find("cmov") == -1:
+                return "i586"
+            break
+
+    return arch
 
+def getCanonARMArch(arch):
+    # the %{_target_arch} macro in rpm will let us know the abi we are using 
+    target = rpm.expandMacro('%{_target_cpu}')
+    if target.startswith('armv7h'):
+        return target
     return arch
 
 def getCanonPPCArch(arch):
@@ -241,6 +302,17 @@ def getCanonPPCArch(arch):
         if line.find("machine") != -1:
             machine = line.split(':')[1]
             break
+
+    platform = _aux_vector["platform"]
+    if machine is None and not platform:
+        return arch
+
+    try:
+        if platform.startswith("power") and int(platform[5:].rstrip('+')) >= 7:
+            return "ppc64p7"
+    except:
+        pass
+
     if machine is None:
         return arch
 
@@ -305,9 +377,13 @@ def getCanonArch(skipRpmPlatform = 0):
         
     arch = os.uname()[4]
 
+    _parse_auxv()
+
     if (len(arch) == 4 and arch[0] == "i" and arch[2:4] == "86"):
         return getCanonX86Arch(arch)
 
+    if arch.startswith("arm"):
+        return getCanonARMArch(arch)
     if arch.startswith("ppc"):
         return getCanonPPCArch(arch)
     if arch.startswith("sparc"):
@@ -339,7 +415,7 @@ def getBestArch(myarch=None):
     if arch.startswith("sparc64"):
         arch = multilibArches[arch][1]
 
-    if arch.startswith("ppc64"):
+    if arch.startswith("ppc64") and not _ppc64_native_is_best and arch != "ppc64le":
         arch = 'ppc'
 
     return arch
@@ -357,8 +433,14 @@ def getBaseArch(myarch=None):
 
     if myarch.startswith("sparc64"):
         return "sparc"
-    elif myarch.startswith("ppc64"):
+    elif myarch == "ppc64le":
+        return "ppc64le"
+    elif myarch.startswith("ppc64") and not _ppc64_native_is_best:
         return "ppc"
+    elif myarch.startswith("arm64"):
+        return "arm64"
+    elif myarch.startswith("armv7h"):
+        return "armhfp"
     elif myarch.startswith("arm"):
         return "arm"
         
@@ -394,7 +476,7 @@ class ArchStorage(object):
         if arch:
             self.canonarch = arch
         else:
-            self.canonarch = getCanonArch()
+            self.canonarch = canonArch
         
         self.basearch = getBaseArch(myarch=self.canonarch)
         self.archlist = getArchList(thisarch=self.canonarch)
diff --git a/rpmUtils/transaction.py b/rpmUtils/transaction.py
index 121ad5b..778ed2d 100644
--- a/rpmUtils/transaction.py
+++ b/rpmUtils/transaction.py
@@ -114,7 +114,8 @@ class TransactionWrapper:
         # FIXME GARBAGE - remove once this is reimplemented elsehwere
         # KEEPING FOR API COMPLIANCE ONLY
         if conf.get('diskspacecheck') == 0:
-            self.ts.setProbFilter(rpm.RPMPROB_FILTER_DISKSPACE)
+            self.ts.setProbFilter(rpm.RPMPROB_FILTER_DISKSPACE|
+                                  rpm.RPMPROB_FILTER_DISKNODES)
         tserrors = self.ts.run(cb.callback, '')
         self.ts.setFlags(origflags)
     
diff --git a/shell.py b/shell.py
index 999bffc..00b6896 100644
--- a/shell.py
+++ b/shell.py
@@ -26,13 +26,11 @@ import logging
 from yum import Errors
 from yum.constants import *
 import yum.logginglevels as logginglevels
-
+from yum.i18n import to_utf8
+import __builtin__
 
 class YumShell(cmd.Cmd):
-
-    """
-    Interactive yum shell.
-    """
+    """A class to implement an interactive yum shell."""
 
     def __init__(self, base):
         cmd.Cmd.__init__(self)
@@ -75,8 +73,39 @@ class YumShell(cmd.Cmd):
                 raise Errors.YumBaseError, "Fatal error in script, exiting"
         
         return inputs
-        
+
+    def cmdloop(self, *args, **kwargs):
+        """ Sick hack for readline. """
+
+        oraw_input = raw_input
+        owriter    = sys.stdout
+        _ostdout   = owriter.stream
+
+        def _sick_hack_raw_input(prompt):
+            sys.stdout = _ostdout
+            rret = oraw_input(to_utf8(prompt))
+            sys.stdout = owriter
+
+            return rret
+
+        __builtin__.raw_input = _sick_hack_raw_input
+
+        try:
+            cret = cmd.Cmd.cmdloop(self, *args, **kwargs)
+        except:
+            __builtin__.raw_input  = oraw_input
+            raise
+
+        __builtin__.raw_input = oraw_input
+
+        return cret
+
     def script(self):
+        """Execute a script file in the yum shell.  The location of
+        the script file is supplied by the :class:`cli.YumBaseCli`
+        object that is passed as a parameter to the :class:`YumShell`
+        object when it is created.
+        """
         try:
             fd = open(self.file, 'r')
         except IOError:
@@ -90,6 +119,13 @@ class YumShell(cmd.Cmd):
         return True
             
     def default(self, line):
+        """Handle the next line of input if there is not a dedicated
+        method of :class:`YumShell` to handle it.  This method will
+        handle yum commands that are not unique to the shell, such as
+        install, erase, etc.
+
+        :param line: the next line of input
+        """
         if len(line) > 0 and line.strip()[0] == '#':
             pass
         else:
@@ -117,9 +153,15 @@ class YumShell(cmd.Cmd):
                 self.base.doCommands()
     
     def emptyline(self):
+        """Do nothing on an empty line of input."""
         pass
 
     def completenames(self, text, line, begidx, endidx):
+        """Return a list of possible completions of a command.
+
+        :param text: the command to be completed
+        :return: a list of possible completions of the command
+        """
         ret = cmd.Cmd.completenames(self, text, line, begidx, endidx)
         for command in self.base.yum_cli_commands:
             if command.startswith(text) and command != "shell":
@@ -127,6 +169,11 @@ class YumShell(cmd.Cmd):
         return ret
 
     def do_help(self, arg):
+        """Output help information.
+
+        :param arg: the command to output help information about. If
+           *arg* is an empty string, general help will be output.
+        """
         msg = """
     Shell specific arguments:
       config - set config options
@@ -166,21 +213,47 @@ class YumShell(cmd.Cmd):
         self.verbose_logger.info(msg)
         
     def do_EOF(self, line):
+        """Exit the shell when EOF is reached.
+
+        :param line: unused
+        """
         self.resultmsgs = ['Leaving Shell']
         return True
     
     def do_quit(self, line):
+        """Exit the shell.
+
+        :param line: unused
+        """
         self.resultmsgs = ['Leaving Shell']
         return True
     
     def do_exit(self, line):
+        """Exit the shell.
+
+        :param line: unused
+        """
         self.resultmsgs = ['Leaving Shell']
         return True
     
     def do_ts(self, line):
+        """Handle the ts alias of the :func:`do_transaction` method.
+
+        :param line: the remainder of the line, containing the name of
+           a subcommand.  If no subcommand is given, run the list subcommand.
+        """
         self.do_transaction(line)
 
     def do_transaction(self, line):
+        """Execute the given transaction subcommand.  The list
+        subcommand outputs the contents of the transaction, the reset
+        subcommand clears the transaction, the solve subcommand solves
+        dependencies for the transaction, and the run subcommand
+        executes the transaction.
+
+        :param line: the remainder of the line, containing the name of
+           a subcommand.  If no subcommand is given, run the list subcommand.
+        """
         (cmd, args, line) = self.parseline(line)
         if cmd in ['list', None]:
             self.verbose_logger.log(logginglevels.INFO_2,
@@ -210,6 +283,15 @@ class YumShell(cmd.Cmd):
             self.do_help('transaction')
     
     def do_config(self, line):
+        """Configure yum shell options.
+        
+        :param line: the remainder of the line, containing an option,
+           and then optionally a value in the form [option] [value].
+           Valid options are one of the following: debuglevel,
+           errorlevel, obsoletes, gpgcheck, assumeyes, exclude.  If no
+           value is given, print the current value.  If a value is
+           supplied, set the option to the given value.
+        """
         (cmd, args, line) = self.parseline(line)
         # logs
         if cmd in ['debuglevel', 'errorlevel']:
@@ -264,9 +346,23 @@ class YumShell(cmd.Cmd):
             self.do_help('config')
 
     def do_repository(self, line):
+        """Handle the repository alias of the :func:`do_repo` method.
+
+        :param line: the remainder of the line, containing the name of
+           a subcommand.
+        """
         self.do_repo(line)
         
     def do_repo(self, line):
+        """Execute the given repo subcommand.  The list subcommand
+        lists repositories and their statuses, the enable subcommand
+        enables the given repository, and the disable subcommand
+        disables the given repository.
+
+        :param line: the remainder of the line, containing the name of
+           a subcommand and other parameters if required.  If no
+           subcommand is given, run the list subcommand.
+        """
         (cmd, args, line) = self.parseline(line)
         if cmd in ['list', None]:
             # Munge things to run the repolist command
@@ -338,6 +434,10 @@ class YumShell(cmd.Cmd):
         print line
         
     def do_run(self, line):
+        """Run the transaction.
+
+        :param line: unused
+        """
         if len(self.base.tsInfo) > 0:
             try:
                 (code, msgs) = self.base.buildTransaction()
diff --git a/test/check-po-yes-no.py b/test/check-po-yes-no.py
index e22318e..b8f3406 100755
--- a/test/check-po-yes-no.py
+++ b/test/check-po-yes-no.py
@@ -6,7 +6,12 @@
 import sys
 import glob
 
-from yum.misc import to_utf8
+# Don't import from yum, as it isn't there when we are distro. building...
+def to_utf8(obj, errors='replace'):
+    '''convert 'unicode' to an encoded utf-8 byte string '''
+    if isinstance(obj, unicode):
+        obj = obj.encode('utf-8', errors)
+    return obj
 
 def trans(msg, default):
     if msg == 'msgstr ""\n':
@@ -16,6 +21,8 @@ def trans(msg, default):
         msg = msg[:-2]
     return unicode(msg, encoding='utf-8')
 
+allow_plain_yn = True
+
 for fname in glob.glob("po/*.po"):
     next = None
     is_this_ok  = None
@@ -32,7 +39,8 @@ for fname in glob.glob("po/*.po"):
         if next is not None:
             if next == 'is_this_ok':
                 sis_this_ok = line
-                if line == 'msgstr ""\n' or line.find('[y/N]') != -1:
+                if line == 'msgstr ""\n' or (not allow_plain_yn and
+                                             line.find('[y/N]') != -1):
                     is_this_ok = False
                 else:
                     is_this_ok = True
@@ -62,9 +70,9 @@ for fname in glob.glob("po/*.po"):
             next = 'n'
     if (is_this_ok is None or
         yes is None or
-        y   is None or
+        (not allow_plain_yn and y   is None) or
         no  is None or
-        n   is None):
+        (not allow_plain_yn and n   is None)):
         print >>sys.stderr, """\
 ERROR: Can't find all the msg id's in %s
 is_this_ok %s
@@ -96,6 +104,10 @@ n          %5s: %s
        to_utf8(is_this_ok), to_utf8(sis_this_ok),
        to_utf8(yes), to_utf8(syes), to_utf8(y), to_utf8(sy),
        to_utf8(no), to_utf8(sno), to_utf8(n), to_utf8(sn))
+
+    if allow_plain_yn:
+        continue
+
     if syes[0] != sy:
         print >>sys.stderr, """\
 ERROR: yes/y translations don't match in: %s
diff --git a/test/depsolvetests.py b/test/depsolvetests.py
index 7af3f16..ea47b03 100644
--- a/test/depsolvetests.py
+++ b/test/depsolvetests.py
@@ -1130,9 +1130,10 @@ class DepsolveTests(DepsolveTests):
         # FIXME: Does it make sense to ignore the obsoletes here? esp. as we
         # don't ignore the conflicts above? ... I'm guessing ignoring it is
         # by accident too? bah.
-        # self.assertEquals('err', *self.resolveCode())
-        self.assertEquals('ok', *self.resolveCode())
-        self.assertResult((ipo1, po1))
+        self.assertEquals('err', *self.resolveCode())
+        # Old behaviour:
+        # self.assertEquals('ok', *self.resolveCode())
+        # self.assertResult((ipo1, po1))
 
     def testUpdate_so_req_diff_arch(self):
         rpo1 = FakePackage('foozoomer')
diff --git a/test/misc-tests.py b/test/misc-tests.py
index d34c161..11fd041 100644
--- a/test/misc-tests.py
+++ b/test/misc-tests.py
@@ -114,6 +114,55 @@ class MiscTests(DepsolveTests):
         res, msg = solver.buildTransaction()
         return self.res[res], msg
 
+    def testXML(self):
+        import yum.misc
+        for args in (
+
+# valid utf8 and unicode
+('\xc4\x9b\xc5\xa1\xc4\x8d', '\xc4\x9b\xc5\xa1\xc4\x8d'),
+(u'\u011b\u0161\u010d',      '\xc4\x9b\xc5\xa1\xc4\x8d'),
+
+# invalid utf8
+('\xc3\x28', '\xc3\x83\x28'),
+('\xa0\xa1', '\xc2\xa0\xc2\xa1'),
+('Skytt\xe4', 'Skytt\xc3\xa4'),
+
+# entity expansion
+('&<>', '&amp;&lt;&gt;'),
+
+# removal of invalid bytes
+('\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f', '\t\n\r'),
+
+# attr flag
+('&"\'', '&amp;"\''),
+('&"\'', True, '&amp;&quot;&apos;'),
+
+# weirdness
+(None, ''),
+('abc ', 'abc'),
+
+        ):
+            # last item is the expected result
+            args, expected = args[:-1], args[-1]
+            actual = yum.misc.to_xml(*args)
+
+            # actual vs expected
+            self.assertEqual(type(actual), type(expected))
+            self.assertEqual(actual, expected)
+
+    def testOptparse(self):
+        # make 'Usage: %s\n' translated
+        import gettext
+        def dgettext(domain, msg, orig=gettext.dgettext):
+            if domain=='messages' and msg == 'Usage: %s\n':
+                return 'Pou\xc5\xbeit\xc3\xad: %s\n'
+            return orig(domain, msg)
+        gettext.dgettext = dgettext
+        # run "yum --help"
+        from optparse import OptionParser
+        parser = OptionParser(usage=u'\u011b\u0161\u010d')
+        self.assertRaises(SystemExit, parser.parse_args, args=['--help'])
+
 def setup_logging():
     logging.basicConfig()    
     plainformatter = logging.Formatter("%(message)s")    
diff --git a/test/revdepupdatetests.py b/test/revdepupdatetests.py
new file mode 100644
index 0000000..a98341d
--- /dev/null
+++ b/test/revdepupdatetests.py
@@ -0,0 +1,70 @@
+from testbase import *
+
+class RevdepUpdateTests(OperationsTests):
+
+    @staticmethod
+    def buildPkgs(pkgs, *args):
+        """ This test checks that remove_old_deps handles reverse 
+        dependencies properly during yum update. Specifically, 
+        remove_old_deps should remove precisely the packages which are not 
+        required by any package currently installed or pending 
+        installation. Two cases:
+        
+        For packages A, B, we write A -> B if B requires A. Packages 
+        with a dep prefix are dep-installed.
+
+        1) Installed: dep1 -> dep2 -> pkg1 <- dep3 and dep3 -> dep2
+           Update: pkg1, which requires dep2 but no longer requires dep3.
+           Correct outcome: dep1, dep2, dep3, pkg1, since dep2 still 
+           needs dep3.
+
+        2) Installed: dep1 -> dep2 -> pkg1 <- dep3 and dep3 -> dep2
+           Update: pkg1, which now requires only dep1
+           Correct outcome: dep1, pkg1, since dep2 and dep3 are 
+           no longer needed.
+           
+        """
+
+        
+        pkgs.installed_1 = FakePackage('dep1', '1', '0', '0', 'noarch')
+        pkgs.installed_1.yumdb_info.reason = 'dep'
+        
+        pkgs.installed_2 = FakePackage('dep2', '1', '0', '0', 'noarch')
+        pkgs.installed_2.yumdb_info.reason = 'dep'
+        
+        pkgs.installed_3 = FakePackage('pkg1', '1', '0', '0', 'noarch')
+        pkgs.installed_3.yumdb_info.reason = 'user'
+
+        pkgs.installed_4 = FakePackage('dep3', '1', '0', '0', 'noarch')
+        pkgs.installed_4.yumdb_info.reason = 'dep'
+        
+        pkgs.installed_1.addRequiringPkg(pkgs.installed_2)
+        pkgs.installed_2.addRequiringPkg(pkgs.installed_3)
+        pkgs.installed_4.addRequiringPkg(pkgs.installed_2)
+
+        pkgs.installed_2.addRequiresPkg(pkgs.installed_1)
+        pkgs.installed_2.addRequiresPkg(pkgs.installed_4)
+        pkgs.installed_3.addRequiresPkg(pkgs.installed_4)
+        pkgs.installed_3.addRequiresPkg(pkgs.installed_2)
+
+        pkgs.update_2 = FakePackage('dep2', '2', '0', '0', 'noarch')
+        pkgs.update_2.addRequires('dep1', 'EQ', ('0', '1', '0'))
+
+        pkgs.update_3 = FakePackage('pkg1', '2', '0', '0', 'noarch')
+        pkgs.update_3.addRequires('dep2', 'EQ', ('0', '1', '0'))
+
+        pkgs.update_4 = FakePackage('pkg1', '2', '0', '0', 'noarch')
+        pkgs.update_4.addRequires('dep1', 'EQ', ('0', '1', '0'))
+
+    def testUpdate(self):
+        p = self.pkgs
+        res, msg = self.runOperation(['update'], [p.installed_1, p.installed_2, p.installed_3, p.installed_4], [p.update_3])
+        self.assert_(res=='ok', msg)
+        self.assertResult( (p.installed_1, p.installed_2, p.update_3, p.installed_4) )
+    
+    def testUpdate2(self):
+        p = self.pkgs
+        res, msg = self.runOperation(['update'], [p.installed_1, p.installed_2, p.installed_3, p.installed_4], [p.update_4])
+        self.assert_(res=='ok', msg)
+        self.assertResult( (p.installed_1, p.update_4) )
+
diff --git a/test/simpleobsoletestests.py b/test/simpleobsoletestests.py
index 97a9923..6cede1e 100644
--- a/test/simpleobsoletestests.py
+++ b/test/simpleobsoletestests.py
@@ -244,6 +244,40 @@ class SimpleObsoletesTests(OperationsTests):
         self.assert_(res=='ok', msg)
         self.assertResult((p.obsoletes_noarch,))
 
+    def testObsoletesOffPostInst1(self):
+        p = self.pkgs
+        res, msg = self.runOperation(['install', 'zsh'], [p.obsoletes_i386], [p.installed_i386])
+        self.assert_(res=='empty', msg)
+
+    def testObsoletesOffPostInst2(self):
+        p = self.pkgs
+        res, msg = self.runOperation(['install', 'zsh'], [p.obsoletes_i386], [p.installed_i386], {'obsoletes' : False})
+        self.assert_(res=='empty', msg)
+
+    def testObsoletesOffPostAvail1(self):
+        p = self.pkgs
+        res, msg = self.runOperation(['install', 'zsh-ng', 'zsh'], [], [p.obsoletes_i386, p.installed_i386])
+        self.assert_(res=='ok', msg)
+        self.assertResult((p.obsoletes_i386,))
+
+    def testObsoletesOffPostAvail2(self):
+        p = self.pkgs
+        res, msg = self.runOperation(['install', 'zsh-ng', 'zsh'], [], [p.obsoletes_i386, p.installed_i386], {'obsoletes' : False})
+        self.assert_(res=='ok', msg)
+        self.assertResult((p.obsoletes_i386,))
+
+    def testObsoletesOffPostAvail3(self):
+        p = self.pkgs
+        res, msg = self.runOperation(['install', 'zsh', 'zsh-ng'], [], [p.obsoletes_i386, p.installed_i386])
+        self.assert_(res=='ok', msg)
+        self.assertResult((p.obsoletes_i386,))
+
+    def testObsoletesOffPostAvail4(self):
+        p = self.pkgs
+        res, msg = self.runOperation(['install', 'zsh', 'zsh-ng'], [], [p.obsoletes_i386, p.installed_i386], {'obsoletes' : False})
+        self.assert_(res=='ok', msg)
+        self.assertResult((p.obsoletes_i386,))
+
     def _MultiObsHelper(self):
         ret = {'zsh'  : FakePackage('zsh', '1', '1', '0', 'noarch'),
                'ksh'  : FakePackage('ksh', '1', '1', '0', 'noarch'),
@@ -588,6 +622,152 @@ class SimpleObsoletesTests(OperationsTests):
         # self.assert_(res=='err', msg)
         self.assertResult([])
 
+    def testRLOpenSSLMess1(self):
+        osl1  = FakePackage('openssl',      '1.0.0', '1', arch='i386')
+        osl1.addProvides('libssl.1', 'EQ', ('0', '1', '1'))
+        osl2  = FakePackage('openssl',      '1.0.1', '1', arch='i386')
+        osll2 = FakePackage('openssl-libs', '1.0.1', '1', arch='i386')
+        osll2.addProvides('libssl.2', 'EQ', ('0', '2', '1'))
+        osll2.addObsoletes('openssl', 'LT', (None, '1.0.1', None))
+
+        oc1   = FakePackage('openconnect',  '2.0.1', '1', arch='i386')
+        oc1.addRequires('openssl', 'GE', ('0', '0.9.9', '1'))
+        oc2   = FakePackage('openconnect',  '2.0.2', '1', arch='i386')
+        oc2.addRequires('openssl', 'GE', ('0', '0.9.9', '1'))
+
+        res, msg = self.runOperation(['upgrade', 'openssl'],
+                                     [oc1, osl1],
+                                     [oc1, oc2, osl1, osl2, osll2])
+
+        # In theory don't need to upgrade oc1 => oc2
+        self.assertResult((oc2, osl2, osll2))
+
+    def testCircObs1(self):
+        c1 = FakePackage('test-ccc', '0.1', '1')
+        c2 = FakePackage('test-ccc', '0.2', '2')
+        c2.addObsoletes('test-ddd', None, (None, None, None))
+
+        d1 = FakePackage('test-ddd', '0.1', '1')
+        d2 = FakePackage('test-ddd', '0.2', '2')
+        d2.addObsoletes('test-ccc', None, (None, None, None))
+
+        res, msg = self.runOperation(['upgrade'],
+                                     [c1, d1],
+                                     [c1, d1, c2, d2])
+
+        self.assertResult((c2, d2))
+
+    def testCircObs2(self):
+        c1 = FakePackage('test-ccc', '0.1', '1')
+        c2 = FakePackage('test-ccc', '0.2', '2')
+        c2.addObsoletes('test-ddd', None, (None, None, None))
+
+        d1 = FakePackage('test-ddd', '0.1', '1')
+        d2 = FakePackage('test-ddd', '0.2', '2')
+        d2.addObsoletes('test-ccc', None, (None, None, None))
+
+        res, msg = self.runOperation(['upgrade', 'test-ccc', 'test-ddd'],
+                                     [c1, d1],
+                                     [c1, d1, c2, d2])
+
+        self.assertResult((c2, d2))
+
+    def testCircObs3(self):
+        c1 = FakePackage('test-ccc', '0.1', '1')
+        c2 = FakePackage('test-ccc', '0.2', '2')
+        c2.addObsoletes('test-ddd', None, (None, None, None))
+
+        d1 = FakePackage('test-ddd', '0.1', '1')
+        d2 = FakePackage('test-ddd', '0.2', '2')
+        d2.addObsoletes('test-ccc', None, (None, None, None))
+
+        res, msg = self.runOperation(['upgrade', 'test-ccc'],
+                                     [c1, d1],
+                                     [c1, d1, c2, d2])
+
+        # Just c2 is fine too, although less likely what the user wants
+        self.assertResult((c2,d2))
+
+    def testCircObs4(self):
+        c1 = FakePackage('test-ccc', '0.1', '1')
+        c2 = FakePackage('test-ccc', '0.2', '2')
+        c2.addObsoletes('test-ddd', None, (None, None, None))
+
+        d1 = FakePackage('test-ddd', '0.1', '1')
+        d2 = FakePackage('test-ddd', '0.2', '2')
+        d2.addObsoletes('test-ccc', None, (None, None, None))
+
+        res, msg = self.runOperation(['upgrade', 'test-ddd'],
+                                     [c1, d1],
+                                     [c1, d1, c2, d2])
+
+        # Just d2 is fine too, although less likely what the user wants
+        self.assertResult((c2,d2))
+
+    def testRLFileReqTransObs1(self):
+        fr1 = FakePackage('fr1', '1', '1')
+        fr1.addRequires('/foo')
+        fr2 = FakePackage('fr2', '2', '2')
+
+        fp1 = FakePackage('fp1', '1', '2')
+        fp1.addFile('/foo')
+        fp2 = FakePackage('fpl2', '1', '2')
+        fp2.addFile('/foo')
+
+        ob1 = FakePackage('ob1', '1', '3')
+        ob1.addObsoletes('fp1', None, (None, None, None))
+
+        res, msg = self.runOperation(['install', 'ob1', 'fr1'], [],
+                                     [fr1, fr2, fp1, fp2, ob1])
+
+        self.assert_(res=='err', msg)
+        # Should really be:
+        # self.assertResult([ob1, fr1, fp2])
+
+    def testRLFileReqTransObs2(self):
+        fr1 = FakePackage('fr1', '1', '1')
+        fr1.addRequires('/foo')
+        fr2 = FakePackage('fr2', '2', '2')
+        fr2.addRequires('/bar')
+
+        fp1 = FakePackage('fp1', '1', '2')
+        fp1.addFile('/foo')
+        fp2 = FakePackage('fpl2', '1', '2')
+        fp2.addFile('/foo')
+
+        ob1 = FakePackage('ob1', '1', '3')
+        ob1.addObsoletes('fp1', None, (None, None, None))
+        ob1.addFile('/bar')
+
+        res, msg = self.runOperation(['install', 'fr1', 'fr2'], [],
+                                     [fr1, fr2, fp1, fp2, ob1])
+
+        self.assert_(res=='err', msg)
+        # Should really be:
+        # self.assertResult([ob1, fr1, fp2])
+
+    def testRLFileReqInstObs(self):
+        fr1 = FakePackage('fr1', '1', '1')
+        fr1.addRequires('/foo')
+        fr2 = FakePackage('fr2', '2', '2')
+
+        fp1 = FakePackage('fp1', '1', '2')
+        fp1.addFile('/foo')
+        fp2 = FakePackage('fpl2', '1', '2')
+        fp2.addFile('/foo')
+
+        ob1 = FakePackage('ob1', '1', '3')
+        ob1.addObsoletes('fp1', None, (None, None, None))
+
+        res, msg = self.runOperation(['install', 'fr1'], [ob1],
+                                     [fr1, fr2, fp1, fp2, ob1])
+        print "JDBG:", "test:", res, msg
+
+        self.assert_(res=='err', msg)
+        # Should really be:
+        # self.assertResult([ob1, fr1, fp2])
+
+
 class GitMetapackageObsoletesTests(OperationsTests):
 
     @staticmethod
diff --git a/test/simpleupdatetests.py b/test/simpleupdatetests.py
index 6177fb1..ba65e55 100644
--- a/test/simpleupdatetests.py
+++ b/test/simpleupdatetests.py
@@ -990,3 +990,243 @@ class SimpleUpdateTests(OperationsTests):
         # Nothing to do...
         self.assert_(res==0, msg)
 
+    def testUpdateReqFail_1(self):
+        foo11 = FakePackage('foo', '1', '1', '0', 'i386')
+        foo11.addRequires('bar', 'EQ', ('0', '1', '1'))
+        foo12 = FakePackage('foo', '1', '2', '0', 'i386')
+        foo12.addRequires('bar', 'EQ', ('0', '1', '1'))
+
+        bar11 = FakePackage('bar', '1', '1', '0', 'i386')
+        bar12 = FakePackage('bar', '1', '2', '0', 'i386')
+
+        res, msg = self.runOperation(['update', 'bar'],
+                                     [foo11, bar11],
+                                     [foo11, foo12, bar11, bar12])
+        # Should fail...
+        self.assert_(res=='err', msg)
+
+    def testUpdateReqFail_2(self):
+        foo11 = FakePackage('foo', '1', '1', '0', 'i386')
+        foo11.addRequires('bar', 'EQ', ('0', '1', '1'))
+        foo12 = FakePackage('foo', '1', '2', '0', 'i386')
+        foo12.addRequires('bar', 'LE', ('0', '1', '1'))
+
+        bar11 = FakePackage('bar', '1', '1', '0', 'i386')
+        bar12 = FakePackage('bar', '1', '2', '0', 'i386')
+
+        res, msg = self.runOperation(['update', 'bar'],
+                                     [foo11, bar11],
+                                     [foo11, foo12, bar11, bar12])
+        # Should fail...
+        self.assert_(res=='err', msg)
+
+    def testUpdateReqFail_3(self):
+        foo11 = FakePackage('foo', '1', '1', '0', 'i386')
+        foo11.addRequires('bar', 'EQ', ('0', '1', '1'))
+        foo12 = FakePackage('foo', '1', '2', '0', 'i386')
+        foo12.addRequires('bar', 'EQ', ('0', '1', '1'))
+
+        bar11 = FakePackage('bar', '1', '1', '0', 'i386')
+        bar12 = FakePackage('bar', '1', '2', '0', 'i386')
+
+        cbar11 = FakePackage('compat-bar', '1', '1', '0', 'i386')
+        cbar11.addProvides('bar', 'EQ', ('0', '1', '1'))
+
+        res, msg = self.runOperation(['update', 'bar'],
+                                     [foo11, bar11],
+                                     [foo11, foo12, bar11, bar12, cbar11])
+        self.assert_(res=='ok', msg)
+        # Ideal:
+        # self.assertResult((foo11, bar12, cbar11))
+        self.assertResult((foo12, bar12, cbar11))
+
+    def testUpdateReqFail_4(self):
+        foo11 = FakePackage('foo', '1', '1', '0', 'i386')
+        foo11.addRequires('bar', 'EQ', ('0', '1', '1'))
+        foo12 = FakePackage('foo', '1', '2', '0', 'i386')
+        foo12.addRequires('bar', 'LE', ('0', '1', '1'))
+
+        bar11 = FakePackage('bar', '1', '1', '0', 'i386')
+        bar12 = FakePackage('bar', '1', '2', '0', 'i386')
+
+        cbar11 = FakePackage('compat-bar', '1', '1', '0', 'i386')
+        cbar11.addProvides('bar', 'EQ', ('0', '1', '1'))
+
+        res, msg = self.runOperation(['update', 'bar'],
+                                     [foo11, bar11],
+                                     [foo11, foo12, bar11, bar12, cbar11])
+        self.assert_(res=='ok', msg)
+        # Ideal:
+        # self.assertResult((foo11, bar12, cbar11))
+        self.assertResult((foo12, bar12, cbar11))
+
+    def testInstallOtherArch1(self):
+        #  Installing something with dep. on newer version should upgrade older
+        # version with other arch.
+        # Eg. BZ 791326
+        pax1 = FakePackage('inst', '1', '1', '0', 'x86_64')
+        pai1 = FakePackage('inst', '1', '1', '0', 'i686')
+        pax2 = FakePackage('inst', '2', '1', '0', 'x86_64')
+        pax2.addProvides('foo-x', 'EQ', ('0', '2', '1'))
+        pai2 = FakePackage('inst', '2', '1', '0', 'i686')
+        pai2.addProvides('foo-i', 'EQ', ('0', '2', '1'))
+
+        pa2 = FakePackage('bar', '1', '1', '0', 'i386')
+        pa2.addRequires('foo-i', 'EQ', ('0', '2', '1'))
+
+        res, msg = self.runOperation(['install', 'bar'],
+                                     [pax1],
+                                     [pax1, pai1, pax2, pai2, pa2])
+        self.assert_(res=='ok', msg)
+        self.assertResult((pax2, pai2, pa2))
+
+    def testUpdateForDeps0(self):
+        foo11 = FakePackage('foo', '1', '1', '0', 'i386')
+        foo11.addRequires('bar', 'EQ', ('0', '1', '1'))
+
+        foo12 = FakePackage('foo', '1', '2', '0', 'i386')
+        foo12.addRequires('bar', 'EQ', ('0', '1', '2'))
+
+        bar11 = FakePackage('bar', '1', '1', '0', 'i386')
+        bar11.yumdb_info.reason = 'dep'
+        bar12 = FakePackage('bar', '1', '2', '0', 'i386')
+
+        res, msg = self.runOperation(['install', 'foo', 'bar'], [foo11, bar11], [foo12, bar12])
+
+        self.assert_(res=='ok', msg)
+        self.assertResult((foo12, bar12))
+
+        self.tsInfo.makelists()
+        self.assertEquals([], self.tsInfo.depupdated)
+
+    def _pkg2txmbr(self, pkg):
+        for txmbr in self.tsInfo.getMembers(pkg.pkgtup):
+            return txmbr
+        return None
+
+    def _testUpdateForDeps_setup(self):
+        foo11 = FakePackage('foo', '1', '1', '0', 'i386')
+        foo11.addRequires('bar', 'EQ', ('0', '1', '1'))
+
+        foo12 = FakePackage('foo', '1', '2', '0', 'i386')
+        foo12.addRequires('bar', 'EQ', ('0', '1', '2'))
+
+        bar11 = FakePackage('bar', '1', '1', '0', 'i386')
+        bar11.addRequires('foo', 'EQ', ('0', '1', '1'))
+
+        bar12 = FakePackage('bar', '1', '2', '0', 'i386')
+        bar12.addRequires('foo', 'EQ', ('0', '1', '2'))
+
+        return foo11, foo12, bar11, bar12
+
+    def testUpdateForDeps_install_all1(self):
+        foo11, foo12, bar11, bar12 = self._testUpdateForDeps_setup()
+
+        res, msg = self.runOperation(['install', 'foo', 'bar'], [foo11, bar11], [foo12, bar12])
+
+        self.assert_(res=='ok', msg)
+        self.assertResult((foo12, bar12))
+
+        self.tsInfo.makelists()
+        self.assertEquals([], self.tsInfo.depupdated)
+
+    def testUpdateForDeps_upgrade_all2(self):
+        foo11, foo12, bar11, bar12 = self._testUpdateForDeps_setup()
+
+        res, msg = self.runOperation(['upgrade', 'foo', 'bar'], [foo11, bar11], [foo12, bar12])
+
+        self.assert_(res=='ok', msg)
+        self.assertResult((foo12, bar12))
+
+        self.assert_(self._pkg2txmbr(bar12).reason == 'user')
+
+        self.tsInfo.makelists()
+        self.assertEquals([], self.tsInfo.depupdated)
+
+    def testUpdateForDeps_upgrade_all3(self):
+        foo11, foo12, bar11, bar12 = self._testUpdateForDeps_setup()
+        bar11.yumdb_info.reason = 'dep'
+
+        res, msg = self.runOperation(['upgrade', 'foo', 'bar'], [foo11, bar11], [foo12, bar12])
+
+        self.assert_(res=='ok', msg)
+        self.assertResult((foo12, bar12))
+
+        self.assert_(self._pkg2txmbr(bar12).reason == 'dep')
+
+        self.tsInfo.makelists()
+        self.assertEquals([], self.tsInfo.depupdated)
+
+    def testUpdateForDeps_upgrade_foo4(self):
+        foo11, foo12, bar11, bar12 = self._testUpdateForDeps_setup()
+        foo11.yumdb_info.reason = 'user'
+        bar11.yumdb_info.reason = 'dep'
+
+        res, msg = self.runOperation(['upgrade', 'foo'], [foo11, bar11], [foo12, bar12])
+
+        self.assert_(res=='ok', msg)
+        self.assertResult((foo12, bar12))
+
+        print foo12.yumdb_info.reason
+        self.assert_(self._pkg2txmbr(foo12).reason == 'user')
+        self.assert_(self._pkg2txmbr(bar12).reason == 'dep')
+
+        self.tsInfo.makelists()
+        self.assertEquals([bar12], self.tsInfo.depupdated)
+
+    def testUpdateForDeps_upgrade_bar5(self):
+        foo11, foo12, bar11, bar12 = self._testUpdateForDeps_setup()
+        foo11.yumdb_info.reason = 'user'
+        bar11.yumdb_info.reason = 'dep'
+
+        res, msg = self.runOperation(['upgrade', 'bar'], [foo11, bar11], [foo12, bar12])
+
+        self.assert_(res=='ok', msg)
+        self.assertResult((foo12, bar12))
+
+        self.assert_(self._pkg2txmbr(foo12).reason == 'user')
+        self.assert_(self._pkg2txmbr(bar12).reason == 'dep')
+
+        self.tsInfo.makelists()
+        self.assertEquals([foo12], self.tsInfo.depupdated)
+
+    def testUpdateForDeps_install_foo6(self):
+        foo11, foo12, bar11, bar12 = self._testUpdateForDeps_setup()
+
+        res, msg = self.runOperation(['install', 'foo'], [], [foo11, bar11, foo12, bar12])
+
+        self.assert_(res=='ok', msg)
+        self.assertResult((foo12, bar12))
+
+        self.assert_(self._pkg2txmbr(foo12).reason == 'user')
+        self.assert_(self._pkg2txmbr(bar12).reason == 'dep')
+
+        self.tsInfo.makelists()
+        self.assertEquals([bar12], self.tsInfo.depinstalled)
+
+    def testUpdateForDeps_install_bar7(self):
+        foo11, foo12, bar11, bar12 = self._testUpdateForDeps_setup()
+
+        res, msg = self.runOperation(['install', 'bar'], [], [foo11, bar11, foo12, bar12])
+
+        self.assert_(res=='ok', msg)
+        self.assertResult((foo12, bar12))
+
+        self.assert_(self._pkg2txmbr(foo12).reason == 'dep')
+        self.assert_(self._pkg2txmbr(bar12).reason == 'user')
+
+        self.tsInfo.makelists()
+        self.assertEquals([foo12], self.tsInfo.depinstalled)
+
+    def testUpdateForDeps_downgrade_all8(self):
+        foo11, foo12, bar11, bar12 = self._testUpdateForDeps_setup()
+        foo12.yumdb_info.reason = 'user'
+        bar12.yumdb_info.reason = 'blahg'
+
+        res, msg = self.runOperation(['downgrade', 'foo', 'bar'], [foo12, bar12], [foo11, bar11, foo12, bar12])
+
+        self.assert_(res=='ok', msg)
+        self.assertResult((foo11, bar11))
+
+        self.assert_(self._pkg2txmbr(foo11).reason == 'user')
+        self.assert_(self._pkg2txmbr(bar11).reason == 'blahg')
diff --git a/test/skipbroken-tests.py b/test/skipbroken-tests.py
index 812785a..e2abc4c 100644
--- a/test/skipbroken-tests.py
+++ b/test/skipbroken-tests.py
@@ -26,7 +26,7 @@ class SkipBrokenTests(DepsolveTests):
 
     def _pkgstr_to_nevra(self, pkg_str):
         '''
-        Get a nevra from from a epoch:name-version-release.arch string
+        Get a nevra from from an epoch:name-version-release.arch string
         @param pkg_str: package string
         '''
         res = REGEX_PKG.search(pkg_str)
@@ -40,7 +40,7 @@ class SkipBrokenTests(DepsolveTests):
 
     def repoString(self, pkg_str):
         ''' 
-        Add an available package from a epoch:name-version-release.arch string
+        Add an available package from an epoch:name-version-release.arch string
         '''
         (n,e,v,r,a) = self._pkgstr_to_nevra(pkg_str)
         return self.repoPackage(n,v,r,e,a)   
@@ -48,7 +48,7 @@ class SkipBrokenTests(DepsolveTests):
             
     def instString(self, pkg_str):
         ''' 
-        Add an installed package from a epoch:name-version-release.arch string
+        Add an installed package from an epoch:name-version-release.arch string
         '''
         (n,e,v,r,a) = self._pkgstr_to_nevra(pkg_str)
         return self.instPackage(n,v,r,e,a)   
@@ -81,7 +81,7 @@ class SkipBrokenTests(DepsolveTests):
         self.assertResult([])
 
     def testDepWithMissingReqSkip(self):
-        ''' install is skipped, beacuse dep is missing req.  
+        ''' install is skipped, because dep is missing req.  
         foo + foobar is skipped because barfoo is not provided
         bar stays in the transaction
         '''
@@ -119,7 +119,7 @@ class SkipBrokenTests(DepsolveTests):
     def testUpdateRequireOld(self):
         '''update with missing req. is skipped
         The foo-1.0 -> foo-2.0 update fails, because foo-tools-2.0 need by foo-2.0
-        is not provided, the update should be skipped and result in a empty transaction
+        is not provided, the update should be skipped and result in an empty transaction
         '''
         po1 = self.instPackage('foo', '1')
         po1.addRequires('foo-tools', 'EQ', ('0', '1', '0'))
@@ -219,7 +219,7 @@ class SkipBrokenTests(DepsolveTests):
         self.assertResult([ipo, po1])
 
     def testConflictWithInstalledButUpdateExist(self):
-        ''' update fails, because conflict cant be fixed. (req. loop)
+        ''' update fails, because conflict can't be fixed. (req. loop)
         foo 1.0 -> 2.0 update fails, because foo-2.0 conflict with bar-1.0
         bar-1.0 is update to bar-2.0, to solve the conflict but bar-2.0 need foo-1.0
         so the foo & bar updates get skipped and the transaction is empty
@@ -240,7 +240,7 @@ class SkipBrokenTests(DepsolveTests):
         self.assertResult([po1,ipo])
 
     def testConflictWithInstalledButUpdateExist2(self):
-        '''update fails, because conflict cant be fixed. (missing req.)
+        '''update fails, because conflict can't be fixed. (missing req.)
         foo 1.0 -> 2.0 update fails, because foo-2.0 conflict with bar-1.0
         bar-1.0 is update to bar-2.0, to solve the conflict but bar-2.0 need poo-1.0
         there is not provided
@@ -809,7 +809,55 @@ class SkipBrokenTests(DepsolveTests):
         members.append(u1)
         self.assertEquals('ok', *self.resolveCode(skip=True))
         self.assertResult(members)
+
+    def test_skipbroken_004_deps_1(self):
+        ''' 
+        this tries to test that when we have two things depending on Y, and we
+        remove one of them we do not want to remove Y. bz#905899.
+        '''
+        members = []
+        ux0 = self.repoString('1:bar-1.0.0-1.i686')
+        members.append(ux0)
+
+        ux1 = self.repoString('1:foo1-1.0.0-1.i686')
+        ux1.addRequires('bar')
+        ux1.addRequires('blah')
+
+        ux2 = self.repoString('1:foo2-1.0.0-1.i686')
+        ux2.addRequires('bar')
+        members.append(ux2)
+
+        self.tsInfo.addInstall(ux1)
+        self.tsInfo.addInstall(ux2)
+
+        self.assertEquals('ok', *self.resolveCode(skip=True))
+        self.assertResult(members)
     
+    def test_skipbroken_004_deps_2(self):
+        ''' 
+        this tries to test that when we have two things depending on Y, and we
+        remove both then we do want to remove Y again. bz#905899.
+        '''
+        members = []
+        ux0 = self.repoString('1:bar-1.0.0-1.i686')
+
+        ux0 = self.repoString('1:zoom-1.0.0-1.i686')
+        members.append(ux0)
+
+        ux1 = self.repoString('1:foo1-1.0.0-1.i686')
+        ux1.addRequires('bar')
+        ux1.addRequires('blah')
+
+        ux2 = self.repoString('1:foo2-1.0.0-1.i686')
+        ux2.addRequires('bar')
+        ux2.addRequires('baz')
+
+        self.tsInfo.addInstall(ux0)
+        self.tsInfo.addInstall(ux1)
+        self.tsInfo.addInstall(ux2)
+
+        self.assertEquals('ok', *self.resolveCode(skip=True))
+        self.assertResult(members)
     
     def resolveCode(self,skip = False):
         solver = YumBase()
diff --git a/test/testbase.py b/test/testbase.py
index d0f22be..e2a1d05 100644
--- a/test/testbase.py
+++ b/test/testbase.py
@@ -55,6 +55,18 @@ class FakeConf(object):
         self.protected_packages = []
         self.protected_multilib = False
         self.clean_requirements_on_remove = True
+        self.upgrade_requirements_on_install = False
+        self.recheck_installed_requires = False
+        self.group_command = 'compat'
+        self.repopkgsremove_leaf_only = False
+        self.remove_leaf_only = False
+        self.config_file_path = '/dev/null'
+        self.config_file_age = 0
+        self.yumvar = {}
+        self.reposdir = '/tmp/XXXX'
+        self.diskspacecheck = True
+        self.depsolve_loop_limit = 10
+        self.override_install_langs = ''
 
 class FakeSack:
     """ Fake PackageSack to use with FakeRepository"""
@@ -138,6 +150,7 @@ class FakePackage(packages.YumAvailablePackage):
         self.yumdb_info = FakeYumDBInfo()
 
         self.prco['provides'].append((name, 'EQ', (epoch, version, release)))
+        self.prco['strong_requires'] = []
 
         # Just a unique integer
         self.id = self.__hash__()
@@ -149,6 +162,7 @@ class FakePackage(packages.YumAvailablePackage):
         self.prco['provides'].append((name, flag, evr))
     def addRequires(self, name, flag=None, evr=(None, None, None)):
         self.prco['requires'].append((name, flag, evr))
+        self.prco['strong_requires'].append((name, flag, evr))
     def addRequiresPkg(self, pkg):
         self.required_pkgs.append(pkg)
     def addRequiringPkg(self, pkg):
@@ -310,6 +324,12 @@ class FakeRpmDb(packageSack.PackageSack):
             if len(pkg.conflicts):
                 ret.append(pkg)
         return ret
+    def returnObsoletePackages(self):
+        ret = []
+        for pkg in self.returnPackages():
+            if len(pkg.obsoletes):
+                ret.append(pkg)
+        return ret
     def fileRequiresData(self):
         installedFileRequires = {}
         installedUnresolvedFileRequires = set()
@@ -344,6 +364,8 @@ class FakeRpmDb(packageSack.PackageSack):
         return
     def transactionCacheConflictPackages(self, pkgs):
         return
+    def transactionCacheObsoletePackages(self, pkgs):
+        return
     def transactionResultVersion(self, rpmdbv):
         return
     def transactionReset(self):
@@ -381,7 +403,7 @@ class FakeRpmDb(packageSack.PackageSack):
 #######################################################################
 
 class DepsolveTests(_DepsolveTestsBase):
-    """Run depsolver on an manually  set up transaction.
+    """Run depsolver on a manually set up transaction.
     You can add pkgs to self.rpmdb or self.tsInfo. See
     yum/transactioninfo.py for details.
     A typical test case looks like:
diff --git a/test/yum-leak-test.py b/test/yum-leak-test.py
index 760b770..dd64483 100755
--- a/test/yum-leak-test.py
+++ b/test/yum-leak-test.py
@@ -33,6 +33,13 @@ def _leak_tst_yb():
     yb.repos.setCacheDir(yum.misc.getCacheDir())
     yb.rpmdb.returnPackages()
     yb.pkgSack.returnPackages()
+    yb.tsInfo
+    yb.ts
+    yb.up
+    yb.comps
+    yb.history
+    yb.igroups
+    yb.pkgtags
     out_mem(os.getpid())
     time.sleep(4)
 
diff --git a/test/yum-pylintrc b/test/yum-pylintrc
index fa3e57c..d0cf2a6 100644
--- a/test/yum-pylintrc
+++ b/test/yum-pylintrc
@@ -1,11 +1,3 @@
-# lint Python modules using external checkers.
-# 
-# This is the main checker controling the other ones and the reports
-# generation. It is itself both a raw checker and an astng checker in order
-# to:
-# * handle message activation / deactivation at the module level
-# * handle some basic but necessary stats'data (number of classes, methods...)
-# 
 [MASTER]
 
 # Specify a configuration file.
@@ -13,7 +5,7 @@
 
 # Python code to execute, usually for sys.path manipulation such as
 # pygtk.require().
-#init-hook=="execfile('test/pylint-setup.py')"
+#init-hook=
 
 # Profiled execution.
 profile=no
@@ -25,9 +17,6 @@ ignore=CVS
 # Pickle collected data for later comparisons.
 persistent=yes
 
-# Set the cache size for astng objects.
-cache-size=500
-
 # List of plugins (as comma separated values of python modules names) to load,
 # usually to register additional checkers.
 load-plugins=
@@ -35,25 +24,16 @@ load-plugins=
 
 [MESSAGES CONTROL]
 
-# Enable only checker(s) with the given id(s). This option conflicts with the
-# disable-checker option
-#enable-checker=
-
-# Enable all checker(s) except those with the given id(s). This option
-# conflicts with the enable-checker option
-#disable-checker=
-
-# Enable all messages in the listed categories.
-#enable-msg-cat=
-
-# Disable all messages in the listed categories.
-disable-msg-cat=C,R
+# Enable the message, report, category or checker with the given id(s). You can
+# either give multiple identifier separated by comma (,) or put this option
+# multiple time.
+#enable=
 
-# Enable the message(s) with the given id(s).
-#enable-msg=
+# Disable the message, report, category or checker with the given id(s). You
+# can either give multiple identifier separated by comma (,) or put this option
+# multiple time.
 
-# Disable the message(s) with the given id(s).
-# E1101: *%s %r has no %r member* (The init-hook for do sys.path manipulation don't, so we cant find the utils module)
+# E1101: *%s %r has no %r member* (The init-hook for do sys.path manipulation don't, so we can't find the utils module)
 # F0401: *Unable to import %r (%s)* (See above)
 # W0704: *Except doesn't do anything* ( Except xxxxxx,e : pass is ok)
 # W0612: *Unused variable %r* ( dont care if x,y,z = f() and y,z is not used) 
@@ -83,12 +63,13 @@ disable-msg-cat=C,R
 # W0710: *Exception doesn't inherit from standard "Exception" class* (give false positives on ex. KeyboardInterrupt)
 # W0631: *Using possibly undefined loop variable %r* (Gives to many false positives)
 # E1103: *%s %r has no %r member (but some types could not be inferred)*
-disable-msg=E1101,F0401,W0704,W0612,W0212,W0613,W0602,W0511,W0401,W0614,W0232,W0201,W0603,W0621,W0142,W0102,W0105,W0702,W0231,E0202,W0622,W0403,W0223,W0104,W1001,W0221,W0703,W0710,W0631,E1103
+
+disable=C,R,I,E1101,F0401,W0704,W0612,W0212,W0613,W0602,W0511,W0401,W0614,W0232,W0201,W0603,W0621,W0142,W0102,W0105,W0702,W0231,E0202,W0622,W0403,W0223,W0104,W1001,W0221,W0703,W0710,W0631,E1103
 
 
 [REPORTS]
 
-# set the output format. Available formats are text, parseable, colorized, msvs
+# Set the output format. Available formats are text, parseable, colorized, msvs
 # (visual studio) and html
 output-format=colorized
 
@@ -100,12 +81,12 @@ include-ids=yes
 # written in a file name "pylint_global.[txt|html]".
 files-output=no
 
-# Tells wether to display a full report or only the messages
+# Tells whether to display a full report or only the messages
 reports=yes
 
 # Python expression which should return a note less than 10 (10 is the highest
-# note).You have access to the variables errors warning, statement which
-# respectivly contain the number of errors / warnings messages and the total
+# note). You have access to the variables errors warning, statement which
+# respectively contain the number of errors / warnings messages and the total
 # number of statements analyzed. This is used by the global evaluation report
 # (R0004).
 evaluation=10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10)
@@ -114,79 +95,94 @@ evaluation=10.0 - ((float(5 * error + warning + refactor + convention) / stateme
 # evaluation report (R0004).
 comment=no
 
-# Enable the report(s) with the given id(s).
-#enable-report=
 
-# Disable the report(s) with the given id(s).
-#disable-report=
+[MISCELLANEOUS]
+
+# List of note tags to take in consideration, separated by a comma.
+notes=FIXME,XXX,TODO
+
+
+[TYPECHECK]
+
+# Tells whether missing members accessed in mixin class should be ignored. A
+# mixin class is detected if its name ends with "mixin" (case insensitive).
+ignore-mixin-members=yes
+
+# List of classes names for which member attributes should not be checked
+# (useful for classes with attributes dynamically set).
+ignored-classes=SQLObject
+
+# When zope mode is activated, add a predefined set of Zope acquired attributes
+# to generated-members.
+zope=no
+
+# List of members which are set dynamically and missed by pylint inference
+# system, and so shouldn't trigger E0201 when accessed.
+generated-members=REQUEST,acl_users,aq_parent
 
 
-# checks for :
-# * doc strings
-# * modules / classes / functions / methods / arguments / variables name
-# * number of arguments, local variables, branchs, returns and statements in
-# functions, methods
-# * required module attributes
-# * dangerous default values as arguments
-# * redefinition of function / method / class
-# * uses of the global statement
-# 
 [BASIC]
 
 # Required attributes for module, separated by a comma
 required-attributes=
 
-# Regular expression which should only match functions or classes name which do
-# not require a docstring
-no-docstring-rgx=__.*__
+# List of builtins function names that should not be used, separated by a comma
+bad-functions=input
 
 # Regular expression which should only match correct module names
-module-rgx=(([a-z_][a-z0-9_\-]*)|([A-Z][a-zA-Z0-9]+))$
+module-rgx=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+))$
 
 # Regular expression which should only match correct module level names
-const-rgx=(([A-Z_a-z][A-Z1-9_a-z]*)|(__.*__))$
+const-rgx=(([A-Z_][A-Z0-9_]*)|(__.*__))$
 
 # Regular expression which should only match correct class names
 class-rgx=[A-Z_][a-zA-Z0-9]+$
 
 # Regular expression which should only match correct function names
-function-rgx=[a-z_][a-z0-9_A-Z]{2,30}$
+function-rgx=[a-z_][a-z0-9_]{2,30}$
 
 # Regular expression which should only match correct method names
-method-rgx=[a-z_][a-z0-9_A-Z]{2,30}$
+method-rgx=[a-z_][a-z0-9_]{2,30}$
 
 # Regular expression which should only match correct instance attribute names
-attr-rgx=[a-z_][a-z0-9_A-Z]{2,30}$
+attr-rgx=[a-z_][a-z0-9_]{2,30}$
 
 # Regular expression which should only match correct argument names
-argument-rgx=[a-z_][a-z0-9_A-Z]{0,30}$
+argument-rgx=[a-z_][a-z0-9_]{2,30}$
 
 # Regular expression which should only match correct variable names
-variable-rgx=[a-z_][a-z0-9_A-Z]{0,30}$
+variable-rgx=[a-z_][a-z0-9_]{2,30}$
 
 # Regular expression which should only match correct list comprehension /
 # generator expression variable names
 inlinevar-rgx=[A-Za-z_][A-Za-z0-9_]*$
 
 # Good variable names which should always be accepted, separated by a comma
-good-names=i,j,k,ex,Run,_,n,e,r,v,a,po,f,m,u,h,l
+good-names=i,j,k,ex,Run,_
 
 # Bad variable names which should always be refused, separated by a comma
 bad-names=foo,bar,baz,toto,tutu,tata
 
-# List of builtins function names that should not be used, separated by a comma
-bad-functions=input
+# Regular expression which should only match functions or classes name which do
+# not require a docstring
+no-docstring-rgx=__.*__
+
+
+[SIMILARITIES]
+
+# Minimum lines number of a similarity.
+min-similarity-lines=4
+
+# Ignore comments when computing similarities.
+ignore-comments=yes
+
+# Ignore docstrings when computing similarities.
+ignore-docstrings=yes
 
 
-# checks for
-# * unused variables / imports
-# * undefined variables
-# * redefinition of variable from builtins or from an outer scope
-# * use of variable before assigment
-# 
 [VARIABLES]
 
-# Tells wether we should check for unused import in __init__ files.
+# Tells whether we should check for unused import in __init__ files.
 init-import=no
 
 # A regular expression matching names used for dummy variables (i.e. not used).
@@ -197,89 +193,67 @@ dummy-variables-rgx=_|dummy
 additional-builtins=
 
 
-# try to find bugs in the code using type inference
-# 
-[TYPECHECK]
+[FORMAT]
 
-# Tells wether missing members accessed in mixin class should be ignored. A
-# mixin class is detected if its name ends with "mixin" (case insensitive).
-ignore-mixin-members=yes
+# Maximum number of characters on a single line.
+max-line-length=80
 
-# List of classes names for which member attributes should not be checked
-# (useful for classes with attributes dynamicaly set).
-ignored-classes=SQLObject,NullTranslations
+# Maximum number of lines in a module
+max-module-lines=1000
 
-# When zope mode is activated, consider the acquired-members option to ignore
-# access to some undefined attributes.
-zope=no
+# String used as indentation unit. This is usually " " (4 spaces) or "\t" (1
+# tab).
+indent-string='    '
 
-# List of members which are usually get through zope's acquisition mecanism and
-# so shouldn't trigger E0201 when accessed (need zope=yes to be considered).
-acquired-members=REQUEST,acl_users,aq_parent
+
+[CLASSES]
+
+# List of interface methods to ignore, separated by a comma. This is used for
+# instance to not check methods defines in Zope's Interface base class.
+ignore-iface-methods=isImplementedBy,deferred,extends,names,namesAndDescriptions,queryDescriptionFor,getBases,getDescriptionFor,getDoc,getName,getTaggedValue,getTaggedValueTags,isEqualOrExtendedBy,setTaggedValue,isImplementedByInstancesOf,adaptWith,is_implemented_by
+
+# List of method names used to declare (i.e. assign) instance attributes.
+defining-attr-methods=__init__,__new__,setUp
 
 
-# checks for
-# * external modules dependencies
-# * relative / wildcard imports
-# * cyclic imports
-# * uses of deprecated modules
-# 
 [IMPORTS]
 
 # Deprecated modules which should not be used, separated by a comma
 deprecated-modules=regsub,TERMIOS,Bastion,rexec
 
 # Create a graph of every (i.e. internal and external) dependencies in the
-# given file (report R0402 must not be disabled)
+# given file (report RP0402 must not be disabled)
 import-graph=
 
-# Create a graph of external dependencies in the given file (report R0402 must
+# Create a graph of external dependencies in the given file (report RP0402 must
 # not be disabled)
 ext-import-graph=
 
-# Create a graph of internal dependencies in the given file (report R0402 must
+# Create a graph of internal dependencies in the given file (report RP0402 must
 # not be disabled)
 int-import-graph=
 
 
-# checks for :
-# * methods without self as first argument
-# * overridden methods signature
-# * access only to existant members via self
-# * attributes not defined in the __init__ method
-# * supported interfaces implementation
-# * unreachable code
-# 
-[CLASSES]
-
-# List of interface methods to ignore, separated by a comma. This is used for
-# instance to not check methods defines in Zope's Interface base class.
-ignore-iface-methods=interrupt_callback
-
-# List of method names used to declare (i.e. assign) instance attributes.
-defining-attr-methods=__init__,__new__,setUp
-
-
-# checks for sign of poor/misdesign:
-# * number of methods, attributes, local variables...
-# * size, complexity of functions, methods
-# 
 [DESIGN]
 
 # Maximum number of arguments for function / method
 max-args=5
 
+# Argument names that match this expression will be ignored. Default to name
+# with leading underscore
+ignored-argument-names=_.*
+
 # Maximum number of locals for function / method body
-max-locals=30
+max-locals=15
 
 # Maximum number of return / yield for function / method body
-max-returns=10
+max-returns=6
 
 # Maximum number of branch for function / method body
-max-branchs=25
+max-branchs=12
 
 # Maximum number of statements in function / method body
-max-statements=100
+max-statements=50
 
 # Maximum number of parents for a class (see R0901).
 max-parents=7
@@ -291,49 +265,4 @@ max-attributes=7
 min-public-methods=2
 
 # Maximum number of public methods for a class (see R0904).
-max-public-methods=100
-
-
-# checks for :
-# * unauthorized constructions
-# * strict indentation
-# * line length
-# * use of <> instead of !=
-# 
-[FORMAT]
-
-# Maximum number of characters on a single line.
-max-line-length=80
-
-# Maximum number of lines in a module
-max-module-lines=1000
-
-# String used as indentation unit. This is usually " " (4 spaces) or "\t" (1
-# tab).
-indent-string='    '
-
-
-# checks for similarities and duplicated code. This computation may be
-# memory / CPU intensive, so you should disable it if you experiments some
-# problems.
-# 
-[SIMILARITIES]
-
-# Minimum lines number of a similarity.
-min-similarity-lines=4
-
-# Ignore comments when computing similarities.
-ignore-comments=yes
-
-# Ignore docstrings when computing similarities.
-ignore-docstrings=yes
-
-
-# checks for:
-# * warning notes in the code like FIXME, XXX
-# * PEP 263: source code with non ascii character but no encoding declaration
-# 
-[MISCELLANEOUS]
-
-# List of note tags to take in consideration, separated by a comma.
-notes=FIXME,XXX,TODO
+max-public-methods=20
diff --git a/test/yum-release-test.sh b/test/yum-release-test.sh
index fba02c5..a9270e2 100755
--- a/test/yum-release-test.sh
+++ b/test/yum-release-test.sh
@@ -73,7 +73,7 @@ if [ ! -d $WORKDIR/usr/bin ]; then
   "${RPM[@]}" -q vim-minimal > /dev/null
   if [ "X$?" == "X0" ] ; then echo " OK"; else echo " FAILED"; fi
 else
-  echo Ommiting base install
+  echo Omitting base install
 fi
 
 #"${YUMUPDATES[@]}" list updates
diff --git a/utils.py b/utils.py
old mode 100644
new mode 100755
index ced6ba0..dbcd605
--- a/utils.py
+++ b/utils.py
@@ -13,6 +13,9 @@
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
+"""Various utility functions, and a utility class."""
+
+import os
 import sys
 import time
 import exceptions
@@ -21,14 +24,23 @@ import yum
 from cli import *
 from yum import Errors
 from yum import _
-from yum.i18n import utf8_width
+from yum.i18n import utf8_width, exception2msg
 from yum import logginglevels
 from optparse import OptionGroup
 
 import yum.plugins as plugins
 from urlgrabber.progress import format_number
 
+try:
+    _USER_HZ = os.sysconf(os.sysconf_names['SC_CLK_TCK'])
+except (AttributeError, KeyError):
+    # Huh, non-Unix platform? Or just really old?
+    _USER_HZ = 100
+
 def suppress_keyboard_interrupt_message():
+    """Change settings so that nothing will be printed to the
+    terminal after an uncaught :class:`exceptions.KeyboardInterrupt`.
+    """
     old_excepthook = sys.excepthook
 
     def new_hook(type, value, traceback):
@@ -40,10 +52,22 @@ def suppress_keyboard_interrupt_message():
     sys.excepthook = new_hook
 
 def jiffies_to_seconds(jiffies):
-    Hertz = 100 # FIXME: Hack, need to get this, AT_CLKTCK elf note *sigh*
-    return int(jiffies) / Hertz
+    """Convert a number of jiffies to seconds. How many jiffies are in a second
+    is system-dependent, e.g. 100 jiffies = 1 second is common.
+
+    :param jiffies: a number of jiffies
+    :return: the equivalent number of seconds
+    """
+    return int(jiffies) / _USER_HZ
 
 def seconds_to_ui_time(seconds):
+    """Return a human-readable string representation of the length of
+    a time interval given in seconds.
+
+    :param seconds: the length of the time interval in seconds
+    :return: a human-readable string representation of the length of
+    the time interval
+    """
     if seconds >= 60 * 60 * 24:
         return "%d day(s) %d:%02d:%02d" % (seconds / (60 * 60 * 24),
                                            (seconds / (60 * 60)) % 24,
@@ -55,6 +79,12 @@ def seconds_to_ui_time(seconds):
     return "%02d:%02d" % ((seconds / 60), seconds % 60)
 
 def get_process_info(pid):
+    """Return information about a process taken from
+    /proc/*pid*/status, /proc/stat/, and /proc/*pid*/stat.
+
+    :param pid: the process id number
+    :return: a dictionary containing information about the process
+    """
     if not pid:
         return
 
@@ -63,12 +93,6 @@ def get_process_info(pid):
     except ValueError, e:
         return
         
-    # Maybe true if /proc isn't mounted, or not Linux ... or something.
-    if (not os.path.exists("/proc/%d/status" % pid) or
-        not os.path.exists("/proc/stat") or
-        not os.path.exists("/proc/%d/stat" % pid)):
-        return
-
     ps = {}
     for line in open("/proc/%d/status" % pid):
         if line[-1] != '\n':
@@ -83,30 +107,54 @@ def get_process_info(pid):
         return
     if 'vmsize' not in ps:
         return
-    boot_time = None
-    for line in open("/proc/stat"):
-        if line.startswith("btime "):
-            boot_time = int(line[len("btime "):-1])
-            break
+    boot_time = get_boot_time()
     if boot_time is None:
         return
-    ps_stat = open("/proc/%d/stat" % pid).read().split()
-    ps['utime'] = jiffies_to_seconds(ps_stat[13])
-    ps['stime'] = jiffies_to_seconds(ps_stat[14])
-    ps['cutime'] = jiffies_to_seconds(ps_stat[15])
-    ps['cstime'] = jiffies_to_seconds(ps_stat[16])
-    ps['start_time'] = boot_time + jiffies_to_seconds(ps_stat[21])
+    ps.update(get_process_time(pid, boot_time))
+    return ps
+
+
+def get_boot_time():
+    for line in open("/proc/stat"):
+        if line.startswith("btime "):
+            return int(line[len("btime "):-1])
+
+
+def get_process_time(pid, boot_time):
+    ps = {}
+    ps_stat = open("/proc/%d/stat" % pid).read().strip()
+    # Filename of the executable might contain spaces, so we throw it away
+    ps_stat = ps_stat[ps_stat.rfind(')') + 2:].split()
+    ps['utime'] = jiffies_to_seconds(ps_stat[11])
+    ps['stime'] = jiffies_to_seconds(ps_stat[12])
+    ps['cutime'] = jiffies_to_seconds(ps_stat[13])
+    ps['cstime'] = jiffies_to_seconds(ps_stat[14])
+    ps['start_time'] = boot_time + jiffies_to_seconds(ps_stat[19])
     ps['state'] = {'R' : _('Running'),
                    'S' : _('Sleeping'),
                    'D' : _('Uninterruptible'),
                    'Z' : _('Zombie'),
                    'T' : _('Traced/Stopped')
-                   }.get(ps_stat[2], _('Unknown'))
+                   }.get(ps_stat[0], _('Unknown'))
                    
     return ps
 
 def show_lock_owner(pid, logger):
-    ps = get_process_info(pid)
+    """Output information about another process that is holding the
+    yum lock.
+
+    :param pid: the process id number of the process holding the yum
+       lock
+    :param logger: the logger to output the information to
+    :return: a dictionary containing information about the process.
+       This is the same as the dictionary returned by
+       :func:`get_process_info`.
+    """
+    try:
+        ps = get_process_info(pid)
+    except IOError, e:
+        logger.critical("%s", exception2msg(e))
+        ps = None
     if not ps:
         return None
 
@@ -129,28 +177,9 @@ def show_lock_owner(pid, logger):
     return ps
 
 
-def exception2msg(e):
-    """ DIE python DIE! Which one works:
-        to_unicode(e.value); unicode(e); str(e); 
-        Call this so you don't have to care. """
-    try:
-        return to_unicode(e.value)
-    except:
-        pass
-
-    try:
-        return unicode(e)
-    except:
-        pass
-
-    try:
-        return str(e)
-    except:
-        pass
-    return "<exception failed to convert to text>"
-
-
 class YumUtilBase(YumBaseCli):
+    """A class to extend the yum cli for utilities."""
+    
     def __init__(self,name,ver,usage):
         YumBaseCli.__init__(self)
         self._parser = YumOptionParser(base=self,utils=True,usage=usage)
@@ -167,11 +196,22 @@ class YumUtilBase(YumBaseCli):
             self.run_with_package_names.add("yum-utils")
 
     def exUserCancel(self):
+        """Output a message stating that the operation was cancelled
+        by the user.
+
+        :return: the exit code
+        """
         self.logger.critical(_('\n\nExiting on user cancel'))
         if self.unlock(): return 200
         return 1
 
     def exIOError(self, e):
+        """Output a message stating that the program is exiting due to
+        an IO exception.
+
+        :param e: the IO exception
+        :return: the exit code
+        """
         if e.errno == 32:
             self.logger.critical(_('\n\nExiting on Broken Pipe'))
         else:
@@ -180,10 +220,13 @@ class YumUtilBase(YumBaseCli):
         return 1
 
     def exPluginExit(self, e):
-        '''Called when a plugin raises PluginYumExit.
+        """Called when a plugin raises
+           :class:`yum.plugins.PluginYumExit`.  Log the plugin's exit
+           message if one was supplied.
 
-        Log the plugin's exit message if one was supplied.
-        ''' # ' xemacs hack
+        :param e: the exception
+        :return: the exit code
+        """ # ' xemacs hack
         exitmsg = exception2msg(e)
         if exitmsg:
             self.logger.warn('\n\n%s', exitmsg)
@@ -191,11 +234,20 @@ class YumUtilBase(YumBaseCli):
         return 1
 
     def exFatal(self, e):
+        """Output a message stating that a fatal error has occurred.
+
+        :param e: the exception
+        :return: the exit code
+        """
         self.logger.critical('\n\n%s', exception2msg(e))
         if self.unlock(): return 200
         return 1
         
     def unlock(self):
+        """Release the yum lock.
+
+        :return: the exit code
+        """
         try:
             self.closeRpmDB()
             self.doUnlock()
@@ -205,34 +257,31 @@ class YumUtilBase(YumBaseCli):
         
         
     def getOptionParser(self):
+        """Return the :class:`cli.YumOptionParser` for this object.
+
+        :return: the :class:`cli.YumOptionParser` for this object
+        """
         return self._parser        
 
     def getOptionGroup(self):
-        """ Get an option group to add non inherited options"""
+        """Return an option group to add non inherited options.
+
+        :return: a :class:`optparse.OptionGroup` for adding options
+           that are not inherited from :class:`YumBaseCli`.
+        """
         return self._option_group    
     
-    def waitForLock(self):
-        lockerr = ""
-        while True:
-            try:
-                self.doLock()
-            except Errors.LockError, e:
-                if exception2msg(e) != lockerr:
-                    lockerr = exception2msg(e)
-                    self.logger.critical(lockerr)
-                if not self.conf.exit_on_lock:
-                    self.logger.critical("Another app is currently holding the yum lock; waiting for it to exit...")  
-                    show_lock_owner(e.pid, self.logger)
-                    time.sleep(2)
-                else:
-                    raise Errors.YumBaseError, _("Another app is currently holding the yum lock; exiting as configured by exit_on_lock")
-            else:
-                break
-        
     def _printUtilVersion(self):
         print "%s - %s (yum - %s)" % (self._utilName,self._utilVer,yum.__version__)
         
     def doUtilConfigSetup(self,args = sys.argv[1:],pluginsTypes=(plugins.TYPE_CORE,)):
+        """Parse command line options, and perform configuration.
+
+        :param args: list of arguments to use for configuration
+        :param pluginsTypes: a sequence specifying the types of
+           plugins to load
+        :return: a dictionary containing the values of command line options
+        """
         # Parse only command line options that affect basic yum setup
         opts = self._parser.firstParse(args)
 
@@ -305,8 +354,9 @@ class YumUtilBase(YumBaseCli):
         return opts
 
     def doUtilYumSetup(self):
-        """do a default setup for all the normal/necessary yum components,
-           really just a shorthand for testing"""
+        """Do a default setup for all the normal or necessary yum components;
+           this method is mostly just used for testing.
+        """
         # FIXME - we need another way to do this, I think.
         try:
             self.waitForLock()
@@ -319,6 +369,11 @@ class YumUtilBase(YumBaseCli):
             sys.exit(1)
 
     def doUtilBuildTransaction(self, unfinished_transactions_check=True):
+        """Build the transaction.
+
+        :param unfinished_transactions_check: whether to check if an
+           unfinished transaction has been saved
+        """
         try:
             (result, resultmsgs) = self.buildTransaction(unfinished_transactions_check = unfinished_transactions_check)
         except plugins.PluginYumExit, e:
@@ -361,6 +416,7 @@ class YumUtilBase(YumBaseCli):
         self.verbose_logger.log(logginglevels.INFO_2, _('\nDependencies Resolved'))
         
     def doUtilTransaction(self):
+        """Perform the transaction."""
 
         try:
             return_code = self.doTransaction()
diff --git a/yum-cron/Makefile b/yum-cron/Makefile
new file mode 100644
index 0000000..3997b4a
--- /dev/null
+++ b/yum-cron/Makefile
@@ -0,0 +1,25 @@
+all:
+	echo "Nothing to do"
+
+clean:
+	rm -f *~
+
+install: install-$(INIT)
+
+install-systemd: install-common
+	install -D -m 644 yum-cron.service $(DESTDIR)/$(UNITDIR)/yum-cron.service
+
+install-sysv: install-common
+	install -D -m 755 yum-cron.sysvinit $(DESTDIR)/etc/rc.d/init.d/yum-cron
+
+install-common:
+	mkdir -p $(DESTDIR)/etc/cron.hourly
+	mkdir -p $(DESTDIR)/etc/cron.daily
+	mkdir -p $(DESTDIR)/etc/rc.d/init.d
+	mkdir -p $(DESTDIR)/usr/sbin
+# Install as 0yum-*.cron so it runs before items like
+# manpage update, mlocate, and prelink
+	install -D -m 755 yum-daily.cron.sh $(DESTDIR)/etc/cron.daily/0yum-daily.cron
+	install -D -m 755 yum-security.cron.sh $(DESTDIR)/etc/cron.daily/0yum-security.cron
+	install -D -m 755 yum-hourly.cron.sh $(DESTDIR)/etc/cron.hourly/0yum-hourly.cron
+	install -D -m 755 yum-cron.py $(DESTDIR)/usr/sbin/yum-cron
diff --git a/yum-cron/TODO b/yum-cron/TODO
new file mode 100644
index 0000000..28e1964
--- /dev/null
+++ b/yum-cron/TODO
@@ -0,0 +1,19 @@
+Logging:
+- Add basic syslog support (success or failure; number of updates)
+
+Documentation:
+- Write a man page
+- Write a readme file
+
+Mail:
+- Use a different subject for success and failure mail
+- Make receiving mail when nothing happens optional
+
+General:
+- Break out check-updates and download-updates into their own actions;
+  move that logic to the cron scripts
+- Re-do the lockfile bit so failures can be reported without resorting to
+  relying on cron's output handler.
+- Figure out what to do with systemd
+- Update rpm, glibc, yum, python, specially?
+- Check if we're running as root; exit nicely.
diff --git a/yum-cron/yum-cron.py b/yum-cron/yum-cron.py
new file mode 100755
index 0000000..20911af
--- /dev/null
+++ b/yum-cron/yum-cron.py
@@ -0,0 +1,713 @@
+#!/usr/bin/python -tt
+import os
+import sys
+import gzip
+from socket import gethostname
+
+import yum
+import yum.Errors
+from yum.config import BaseConfig, Option, IntOption, ListOption, BoolOption
+from yum.parser import ConfigPreProcessor
+from ConfigParser import ConfigParser, ParsingError
+from yum.constants import *
+from email.mime.text import MIMEText
+from yum.i18n import to_str, to_utf8, to_unicode, utf8_width, utf8_width_fill, utf8_text_fill
+from yum import  _, P_
+import yum.updateinfo
+import smtplib
+from random import random
+from time import sleep
+from yum.misc import setup_locale
+
+# FIXME: is it really sane to use this from here?
+sys.path.append('/usr/share/yum-cli')
+from output import YumOutput
+import callback
+
+default_config_file = '/etc/yum/yum-cron.conf'
+
+class UpdateEmitter(object):
+    """Abstract class for implementing different types of emitters.
+       Most methods will add certain messages the output list.  Then,
+       the sendMessage method can be overridden in a subclass to
+       combine these messages and transmit them as required.
+    """
+
+    def __init__(self, opts):
+        self.opts  = opts
+        self.output = []
+
+    def updatesAvailable(self, summary):
+        """Appends a message to the output list stating that there are
+        updates available.
+
+        :param summary: A human-readable summary of the transaction.
+        """
+        self.output.append('The following updates are available on %s:' % self.opts.system_name)
+        self.output.append(summary)
+
+    def updatesDownloading(self, summary):
+        """Append a message to the output list stating that
+        downloading updates has started.
+
+        :param summary: A human-readable summary of the transaction.
+        """
+        self.output.append('The following updates will be downloaded on %s:' % self.opts.system_name)
+        self.output.append(summary)
+
+    def updatesDownloaded(self):
+        """Append a message to the output list stating that updates
+        have been downloaded successfully.
+        """
+        self.output.append("Updates downloaded successfully.")
+
+    def updatesInstalling(self, summary):
+        """Append a message to the output list stating that
+        installing updates has started.
+
+        :param summary: A human-readable summary of the transaction.
+        """
+        self.output.append('The following updates will be applied on %s:' % self.opts.system_name)
+        self.output.append(summary)
+
+    def updatesInstalled(self):
+        """Append a message to the output list stating that updates
+        have been installed successfully.
+        """
+        self.output.append('The updates were successfully applied')
+
+    def setupFailed(self, errmsg):
+        """Append a message to the output list stating that setup
+        failed, and then call sendMessages to emit the output.
+
+        :param errmsgs: a string that contains the error message
+        """
+        self.output.append("Plugins failed to initialize with the following error message: \n%s" 
+                           % errmsg)
+        self.sendMessages()
+
+    def checkFailed(self, errmsg):
+        """Append a message to the output stating that checking for
+        updates failed, then call sendMessages to emit the output.
+
+        :param errmsgs: a string that contains the error message
+        """
+        self.output.append("Failed to check for updates with the following error message: \n%s" 
+                           % errmsg)
+        self.sendMessages()
+
+    def groupError(self, errmsg):
+        """Append a message to the output list stating that an error
+        was encountered while checking for group updates.
+
+        :param errmsgs: a string that contains the error message
+        """
+        self.output.append("Error checking for group updates: \n%s" 
+                           % errmsg)
+
+    def groupFailed(self, errmsg):
+        """Append a message to the output list stating that checking
+        for group updates failed, then call sendMessages to emit the output.
+
+        :param errmsgs: a string that contains the error message
+        """
+        self.output.append("Failed to check for updates with the following error message: \n%s" 
+                           % errmsg)
+        self.sendMessages()
+
+    def downloadFailed(self, errmsg):
+        """Append a message to the output list stating that
+        downloading updates failed, then call sendMessages to emit the output.
+
+        :param errmsgs: a string that contains the error message
+        """
+        self.output.append("Updates failed to download with the following error message: \n%s"
+                      % errmsg)
+        self.sendMessages()
+        
+    def updatesFailed(self, errmsg):
+        """Append a message to the output list stating that installing
+        updates failed, then call sendMessages to emit the output.
+
+        :param errmsgs: a string that contains the error message
+        """
+        self.output.append("Updates failed to install with the following error message: \n%s"
+                      % errmsg)
+        self.sendMessages()
+
+    def sendMessages(self):
+        """Send the messages that have been stored.  This should be
+        overridden by inheriting classes to emit the messages
+        according to their individual methods.
+        """
+        pass
+
+
+class EmailEmitter(UpdateEmitter):
+    """Emitter class to send messages via email."""
+
+    def __init__(self, opts, logger):
+        super(EmailEmitter, self).__init__(opts)        
+        self.logger = logger
+        self.subject = ""
+
+    def updatesAvailable(self, summary):
+        """Appends a message to the output list stating that there are
+        updates available, and set an appropriate subject line.
+
+        :param summary: A human-readable summary of the transaction.
+        """
+        super(EmailEmitter, self).updatesAvailable(summary)
+        self.subject = "Yum: Updates Available on %s" % self.opts.system_name
+
+    def updatesDownloaded(self):
+        """Append a message to the output list stating that updates
+        have been downloaded successfully, and set an appropriate
+        subject line.
+        """
+        self.subject = "Yum: Updates downloaded on %s" % self.opts.system_name
+        super(EmailEmitter, self).updatesDownloaded()
+
+    def updatesInstalled(self):
+        """Append a message to the output list stating that updates
+        have been installed successfully, and set an appropriate
+        subject line.
+        """
+        self.subject = "Yum: Updates installed on %s" % self.opts.system_name
+        super(EmailEmitter, self).updatesInstalled()
+
+    def setupFailed(self, errmsg):
+        """Append a message to the output list stating that setup
+        failed, and then call sendMessages to emit the output, and set
+        an appropriate subject line.
+
+        :param errmsgs: a string that contains the error message
+        """
+        self.subject = "Yum: Failed to perform setup on %s" % self.opts.system_name
+        super(EmailEmitter, self).setupFailed(errmsg)
+
+    def checkFailed(self, errmsg):
+        """Append a message to the output stating that checking for
+        updates failed, then call sendMessages to emit the output, and
+        set an appropriate subject line.
+
+        :param errmsgs: a string that contains the error message
+        """
+        self.subject = "Yum: Failed to check for updates on %s" % self.opts.system_name
+        super(EmailEmitter, self).checkFailed(errmsg)
+
+    def downloadFailed(self, errmsg):
+        """Append a message to the output list stating that checking
+        for group updates failed, then call sendMessages to emit the
+        output, and add an appropriate subject line.
+
+        :param errmsgs: a string that contains the error message
+        """
+        self.subject = "Yum: Failed to download updates on %s" % self.opts.system_name
+        super(EmailEmitter, self).downloadFailed(errmsg)
+
+    def updatesFailed(self, errmsg):
+        """Append a message to the output list stating that installing
+        updates failed, then call sendMessages to emit the output, and
+        add an appropriate subject line.
+
+        :param errmsgs: a string that contains the error message
+        """
+        self.subject = "Yum: Failed to install updates on %s" % self.opts.system_name
+        super(EmailEmitter, self).updatesFailed(errmsg)
+
+    def sendMessages(self):
+        """Combine the stored messages that have been stored into a
+        single email message, and send this message.
+        """
+        # Don't send empty emails
+        if not self.output:
+            return
+        # Build up the email to be sent
+        msg = MIMEText(''.join(self.output))
+        msg['Subject'] = self.subject
+        msg['From'] = self.opts.email_from
+        msg['To'] = ",".join(self.opts.email_to)
+
+        # Send the email
+        try:
+            s = smtplib.SMTP()
+            s.connect(self.opts.email_host)
+            s.sendmail(self.opts.email_from, self.opts.email_to, msg.as_string())
+            s.close()
+        except Exception, e:
+            self.logger.error("Failed to send an email to %s: %s" % (self.opts.email_host, e))
+
+
+class StdIOEmitter(UpdateEmitter):
+    """Emitter class to send messages to syslog."""
+
+    def __init__(self, opts):
+        super(StdIOEmitter, self).__init__(opts)
+        
+    def sendMessages(self) :
+        """Combine the stored messages that have been stored into a
+        single email message, and send this message to standard output.
+        """
+        # Don't print blank lines
+        if not self.output:
+            return
+        print "".join(self.output)
+
+
+class YumCronConfig(BaseConfig):
+    """Class to parse configuration information from the config file, and
+    to store this information.
+    """
+    system_name = Option(gethostname())
+    output_width = IntOption(80)
+    random_sleep = IntOption(0)
+    lock_retries = IntOption(5)
+    lock_sleep = IntOption(60)
+    emit_via = ListOption(['email','stdio'])
+    email_to = ListOption(["root"])
+    email_from = Option("root")
+    email_host = Option("localhost")
+    email_port = IntOption(25)
+    update_messages = BoolOption(False)
+    update_cmd = Option("default")
+    apply_updates = BoolOption(False)
+    download_updates = BoolOption(False)
+    yum_config_file = Option("/etc/yum.conf")
+    group_list = ListOption([])
+    group_package_types = ListOption(['mandatory', 'default'])
+
+
+class YumCronBase(yum.YumBase, YumOutput):
+    """Main class to check for and apply the updates."""
+
+    def __init__(self, config_file_name = None):
+        """Create a YumCronBase object, and perform initial setup.
+
+        :param config_file_name: a String specifying the name of the
+           config file to use.
+        """
+        yum.YumBase.__init__(self)
+        YumOutput.__init__(self)
+
+        # Read the config file
+        self.readConfigFile(config_file_name)
+        self.term.reinit(color='never')
+        self.term.columns = self.opts.output_width
+
+
+        # Create the emitters, and add them to the list
+        self.emitters = []
+        if 'email' in self.opts.emit_via:
+            self.emitters.append(EmailEmitter(self.opts, self.logger))
+        if 'stdio' in self.opts.emit_via:
+            self.emitters.append(StdIOEmitter(self.opts))
+
+        self.updateInfo = []
+        self.updateInfoTime = None
+
+    def readConfigFile(self, config_file_name = None):
+        """Reads the given config file, or if none is given, the
+        default config file.
+
+        :param config_file_name: a String specifying the name of the
+           config file to read.
+        """
+        # Create ConfigParser and UDConfig Objects
+        confparser = ConfigParser()
+        self.opts = YumCronConfig()
+
+        #If no config file name is given, fall back to the default
+        if config_file_name == None:
+            config_file_name = default_config_file
+            
+        # Attempt to read the config file.  confparser.read will return a
+        # list of the files that were read successfully, so check that it
+        # contains config_file
+        if config_file_name not in confparser.read(config_file_name):
+            print >> sys.stderr, "Error reading config file:", config_file_name
+            sys.exit(1)
+
+        # Populate the values into  the opts object
+        self.opts.populate(confparser, 'commands')
+        self.opts.populate(confparser, 'emitters')
+        self.opts.populate(confparser, 'email')
+        self.opts.populate(confparser, 'groups')
+        self._confparser = confparser
+
+        #If the system name is not given, set it by getting the hostname
+        if self.opts.system_name == 'None' :
+            self.opts.system_name = gethostname()
+
+        if 'None' in self.opts.group_list:
+            self.opts.group_list = []
+
+
+    def randomSleep(self, duration):
+        """Sleep for a random amount of time up to *duration*.
+        
+        :param duration: the maximum amount of time to sleep, in
+           minutes.  The actual time slept will be between 0 and
+           *duration* minutes
+           """
+        if duration > 0:
+            sleep(random() * 60 * duration)
+
+    def doSetup(self):
+        """Perform set up, including setting up directories and
+        parsing options.
+
+        :return: boolean that indicates whether setup has completed
+           successfully
+        """
+        try :
+            # Set the configuration file
+            self.preconf.fn = self.opts.yum_config_file
+
+            # This needs to be set early, errors are handled later.
+            try: level = int(self._confparser.get('base', 'debuglevel'))
+            except: level = -2
+            self.preconf.debuglevel = level
+            if -4 <= level <= -2:
+                self.preconf.errorlevel = level + 4
+
+            # if we are not root do the special subdir thing
+            if os.geteuid() != 0:
+                self.setCacheDir()
+
+            # override base yum options
+            self.conf.populate(self._confparser, 'base')
+            del self._confparser
+
+        except Exception, e:
+            # If there are any exceptions, send a message about them,
+            # and return False
+            self.emitSetupFailed('%s' % e)
+            sys.exit(1)
+
+    def acquireLock(self):
+        """ Wrapper method around doLock to emit errors correctly."""
+
+        i = 0
+        while True:
+            try: self.doLock(); break
+            except yum.Errors.LockError, e:
+                i += 1
+                if i < self.opts.lock_retries:
+                    sleep(self.opts.lock_sleep)
+                    continue
+            self.logger.warn("Failed to acquire the yum lock: %s", e)
+            sys.exit(1)
+
+    def populateUpdateMetadata(self):
+        """Populate the metadata for the packages in the update."""
+
+        for repo in self.repos.sort():
+            repo.metadata_expire = 0
+            repo.skip_if_unavailable = True
+
+        self.pkgSack # honor skip_if_unavailable
+        self.upinfo
+
+    def refreshUpdates(self):
+        """Check whether updates are available.
+
+        :return: Boolean indicating whether any updates are
+           available
+        """
+        try:
+            #  Just call .update() because it does obsoletes loops, and group
+            # objects. etc.
+
+            update_cmd = self.opts.update_cmd
+            idx = update_cmd.find("security-severity:")
+            if idx != -1:
+                sevs       = update_cmd[idx + len("security-severity:"):]
+                update_cmd = update_cmd[:idx + len("security")]
+                self.updateinfo_filters['sevs'] = sevs.split(",")
+
+
+            if self.opts.update_cmd in ('minimal', 'minimal-security'):
+                if not yum.updateinfo.update_minimal(self):
+                    return False
+                self.updateinfo_filters['bugfix'] = True
+            elif self.opts.update_cmd in ('default', 'security',
+                                          'default-security'):
+                if not self.update():
+                    return False
+            else:
+                # return False ?
+                self.opts.update_cmd = 'default'
+                if not self.update():
+                    return False
+
+            if self.opts.update_cmd.endswith("security"):
+                self.updateinfo_filters['security'] = True
+                yum.updateinfo.remove_txmbrs(self)
+            elif self.opts.update_cmd == 'minimal':
+                self.updateinfo_filters['bugfix'] = True
+                yum.updateinfo.remove_txmbrs(self)
+
+        except Exception, e:
+            self.emitCheckFailed("%s" %(e,))
+            sys.exit(1)
+
+        else:
+            return True
+
+    def refreshGroupUpdates(self):
+        """Check for group updates, and add them to the
+        transaction.
+
+        :return: Boolean indicating whether there are any updates to
+           the group available
+        """
+        if self.conf.group_command == 'objects':
+            return False
+
+        update_available = False
+        try:
+            for group_string in self.opts.group_list:
+                group_matched = False
+                for group in self.comps.return_groups(group_string):
+                    group_matched = True
+                    try:
+                        txmbrs = self.selectGroup(group.groupid,
+                                                  self.opts.group_package_types,
+                                                  upgrade=True)
+                        
+                        # If updates are available from a previous
+                        # group, or there are updates are available
+                        # from this group, set update_available to True
+                        update_available |= (txmbrs != [])
+                        
+                    except yum.Errors.GroupsError:
+                        self.emitGroupError('Warning: Group %s does not exist.' % group_string)
+                        continue
+
+                if not group_matched:
+                    self.emitGroupError('Warning: Group %s does not exist.' % group_string)
+                    continue
+
+        except Exception, e:
+            self.emitGroupFailed("%s" % e)
+            return False
+
+        else:
+            return update_available
+
+    def findDeps(self):
+        """Build the transaction to resolve the dependencies for the update."""
+
+        try:
+            (res, resmsg) = self.buildTransaction()
+        except yum.Errors.RepoError, e:
+            self.emitCheckFailed("%s" %(e,))
+            sys.exit()
+        if res != 2:
+            self.emitCheckFailed("Failed to build transaction: %s" %(str.join("\n", resmsg),))
+            sys.exit(1)
+
+    def downloadUpdates(self, emit):
+        """Download the update.
+
+        :param emit: Boolean indicating whether to emit messages
+           about the download
+        """
+        # Emit a message that that updates will be downloaded
+        if emit :
+            self.emitDownloading()
+        dlpkgs = map(lambda x: x.po, filter(lambda txmbr:
+                                            txmbr.ts_state in ("i", "u"),
+                                            self.tsInfo.getMembers()))
+        try:
+            # Download the updates
+            self.conf.downloadonly = not self.opts.apply_updates
+            self.downloadPkgs(dlpkgs)
+        except Exception, e:
+            self.emitDownloadFailed("%s" % e)
+            sys.exit(1)
+        except SystemExit, e:
+            if e.code == 0:
+                # Emit a message that the packages have been downloaded
+                self.emitDownloaded()
+                self.emitMessages()
+            raise
+
+    def installUpdates(self, emit):
+        """Apply the available updates.
+        
+        :param emit: Boolean indicating whether to emit messages about
+           the installation
+        """
+        # Emit a message  that 
+        if emit :
+            self.emitInstalling()
+
+        dlpkgs = map(lambda x: x.po, filter(lambda txmbr:
+                                            txmbr.ts_state in ("i", "u"),
+                                            self.tsInfo.getMembers()))
+
+        for po in dlpkgs:
+            result, err = self.sigCheckPkg(po)
+            if result == 0:
+                continue
+            elif result == 1:
+                try:
+                    self.getKeyForPackage(po)
+                except yum.Errors.YumBaseError, errmsg:
+                    self.emitUpdateFailed(errmsg)
+                    return False
+            else:
+                self.emitUpdateFailed(err)
+                return False
+
+        del self.ts
+        self.initActionTs() # make a new, blank ts to populate
+        self.populateTs(keepold=0)
+        self.ts.check() #required for ordering
+        self.ts.order() # order
+        cb = callback.RPMInstallCallback(output = 0)
+        cb.filelog = True
+            
+        cb.tsInfo = self.tsInfo
+        try:
+            self.runTransaction(cb=cb)
+        except yum.Errors.YumBaseError, err:
+            self.emitUpdateFailed(err)
+            sys.exit(1)
+
+        if emit :
+            self.emitInstalled()
+        self.emitMessages()
+
+    def updatesCheck(self):
+        """Check to see whether updates are available for any
+        installed packages. If updates are available, install them,
+        download them, or just emit a message, depending on what
+        options are selected in the configuration file.
+        """
+        # Sleep a random time
+        self.randomSleep(self.opts.random_sleep)
+
+        # Perform the initial setup
+        self.doSetup()
+
+        # Acquire the yum lock
+        self.acquireLock()
+
+        self.run_with_package_names.add("yum-cron")
+
+        # Update the metadata
+        self.populateUpdateMetadata()
+
+        # Exit if we don't need to check for updates
+        if not (self.opts.update_messages or self.opts.download_updates or self.opts.apply_updates):
+            sys.exit(0)
+
+        # Check for updates in packages, or groups ... need to run both.
+        pups = self.refreshUpdates()
+        gups = self.refreshGroupUpdates()
+        # If neither have updates, we can just exit.
+        if not (pups or gups):
+            sys.exit(0)
+
+        # Build the transaction to find the additional dependencies
+        self.findDeps()
+
+        # download if set up to do so, else tell about the updates and exit
+        if not self.opts.download_updates:
+            self.emitAvailable()
+            self.emitMessages()
+            self.releaseLocks()
+            sys.exit(0)
+
+        self.downloadUpdates(not self.opts.apply_updates)
+        
+        # now apply if we're set up to do so; else just tell that things are
+        # available
+        if not self.opts.apply_updates:
+            self.releaseLocks()
+            sys.exit(0)
+
+        self.installUpdates(self.opts.update_messages)
+
+        self.releaseLocks()
+        sys.exit(0)
+
+    def releaseLocks(self):
+        """Close the rpm database, and release the yum lock."""
+        self.closeRpmDB()
+        self.doUnlock()
+
+    def emitAvailable(self):
+        """Emit a notice stating whether updates are available."""
+        summary = self.listTransaction()
+        map(lambda x: x.updatesAvailable(summary), self.emitters)
+
+    def emitDownloading(self):
+        """Emit a notice stating that updates are downloading."""
+        summary = self.listTransaction()
+        map(lambda x: x.updatesDownloading(summary), self.emitters)
+
+    def emitDownloaded(self):
+        """Emit a notice stating that updates have downloaded."""
+        map(lambda x: x.updatesDownloaded(), self.emitters)
+
+    def emitInstalling(self):
+        """Emit a notice stating that automatic updates are about to
+        be applied.
+        """
+        summary = self.listTransaction()
+        map(lambda x: x.updatesInstalling(summary), self.emitters)
+
+    def emitInstalled(self):
+        """Emit a notice stating that automatic updates have been applied."""
+        map(lambda x: x.updatesInstalled(), self.emitters)
+
+    def emitSetupFailed(self, error):
+        """Emit a notice stating that checking for updates failed."""
+        map(lambda x: x.setupFailed(error), self.emitters)
+
+    def emitCheckFailed(self, error):
+        """Emit a notice stating that checking for updates failed."""
+        map(lambda x: x.checkFailed(error), self.emitters)
+
+    def emitGroupError(self, error):
+        """Emit a notice stating that there was an error checking for
+        group updates.
+        """
+        map(lambda x: x.groupError(error), self.emitters)
+
+    def emitGroupFailed(self, error):
+        """Emit a notice stating that checking for group updates failed."""
+        map(lambda x: x.groupFailed(error), self.emitters)
+
+    def emitDownloadFailed(self, error):
+        """Emit a notice stating that downloading the updates failed."""
+        map(lambda x: x.downloadFailed(error), self.emitters)
+
+    def emitUpdateFailed(self, errmsg):
+        """Emit a notice stating that automatic updates failed."""
+        map(lambda x: x.updatesFailed(errmsg), self.emitters)
+
+    def emitMessages(self):
+        """Emit the messages from the emitters."""
+        map(lambda x: x.sendMessages(), self.emitters)
+
+
+def main():
+    """Configure and run the update check."""
+    setup_locale(override_time=True)
+    # If a file name was passed in, use it as the config file name.
+    base = None
+    if len(sys.argv) > 1:
+        base = YumCronBase(sys.argv[1])
+    else:
+        base = YumCronBase()
+
+    #Run the update check
+    base.updatesCheck()
+
+if __name__ == "__main__":
+    main()
diff --git a/yum-cron/yum-cron.service b/yum-cron/yum-cron.service
new file mode 100644
index 0000000..82f3e6b
--- /dev/null
+++ b/yum-cron/yum-cron.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Run automatic yum updates as a cron job
+
+[Service]
+Type=oneshot
+RemainAfterExit=yes
+ExecStart=/bin/touch /var/lock/subsys/yum-cron
+ExecStop=/bin/rm -f /var/lock/subsys/yum-cron
+
+[Install]
+WantedBy=multi-user.target
diff --git a/yum-cron/yum-cron.sysvinit b/yum-cron/yum-cron.sysvinit
new file mode 100644
index 0000000..ee531c6
--- /dev/null
+++ b/yum-cron/yum-cron.sysvinit
@@ -0,0 +1,108 @@
+#!/bin/bash
+#
+# yum-cron      Enable or disable scheduled yum system updates.
+#
+# chkconfig:	- 50 01
+#
+# description:  This controls whether yum-cron runs. If this service is \
+#               off, the yum-cron scripts in /etc/cron.daily exit \
+#               immediately; otherwise, they download and/or apply package \
+#               updates as configured in /etc/sysconfig/yum-cron.
+# processname:  yum-cron
+# config: /etc/yum/yum-daily.yum
+#
+
+# source function library
+. /etc/rc.d/init.d/functions
+
+test -f /etc/sysconfig/yum-cron && . /etc/sysconfig/yum-cron
+
+lockfile=/var/lock/subsys/yum-cron
+
+# This is generated by /usr/sbin/yum-cron and will exist when that script
+# is running and not otherwise.
+pidfile=/var/lock/yum-cron.pid
+
+RETVAL=0
+
+start() {
+	echo -n $"Enabling scheduled yum updates: "
+	# The cron script exits silently if this file doesn't exist.
+	touch "$lockfile" && success || failure
+	RETVAL=$?
+	echo
+}
+
+stop() {
+        # Disabling this is just removing the so-called lock file.  But we
+        # also have logic to delay shutdown if a transaction is in-progress.
+        # All that affects is the exit of _this_ script, which may be
+        # waited on by other things in the shutdown process.
+	echo -n $"Disabling scheduled yum updates: "
+	if [ "$SERVICE_WAITS" = "yes" ]; then
+	  # if SERVICE_WAITS is yes, we check for an active pid
+	  # file and recheck in 5 second increments up to 
+	  # SERVICE_WAIT_TIME before continuing.
+          if (set -o noclobber; ! echo "$$" > $pidfile ) 2>/dev/null; then
+            # yum-cron has the lock. Read the pid, and wait and then loop
+            # until it's done.
+            activepid="$(< $pidfile)" 2>/dev/null
+            if [ $? != 0 ]; then 
+              echo; echo -n $"Stale yum-cron lock ignored. "
+            else
+              echo; echo -n $"Waiting for in-progress yum transaction"
+              end=$( expr $( date +%s ) + ${SERVICE_WAIT_TIME:-300} )
+              while checkpid $activepid 2>/dev/null ; do
+                echo -n "."
+                if [ $( date +%s ) -gt $end ]; then
+                  echo -n " Timed out. "
+                  break
+                fi
+                sleep 5
+              done
+            fi
+          else
+            # we got the lock. we don't really want it; remove and move on.
+            rm -f "$pidfile"
+          fi
+	fi
+	rm -f "$lockfile" && success || failure
+	RETVAL=$?
+	echo
+}
+
+restart() {
+	stop
+	start
+}
+
+case "$1" in
+  start)
+	start
+	;;
+  stop) 
+	stop
+	;;
+  restart|force-reload)
+	restart
+	;;
+  reload)
+	;;
+  condrestart)
+	[ -f "$lockfile" ] && restart
+	;;
+  status)
+	if [ -f $lockfile ]; then
+		echo $"Scheduled yum updates are enabled."
+		RETVAL=0
+	else
+		echo $"Scheduled yum updates are disabled."
+		RETVAL=3
+	fi
+	;;
+  *)
+	echo $"Usage: $0 {start|stop|status|restart|reload|force-reload|condrestart}"
+	exit 1
+esac
+
+exit $RETVAL
diff --git a/yum-cron/yum-daily.cron.sh b/yum-cron/yum-daily.cron.sh
new file mode 100755
index 0000000..06dee5f
--- /dev/null
+++ b/yum-cron/yum-daily.cron.sh
@@ -0,0 +1,11 @@
+#!/bin/bash
+
+# Only run if this flag is set. The flag is created by the yum-cron init
+# script when the service is started -- this allows one to use chkconfig and
+# the standard "service stop|start" commands to enable or disable yum-cron.
+if [[ ! -f /var/lock/subsys/yum-cron ]]; then
+  exit 0
+fi
+
+# Action!
+exec /usr/sbin/yum-cron
diff --git a/yum-cron/yum-hourly.cron.sh b/yum-cron/yum-hourly.cron.sh
new file mode 100755
index 0000000..f0b77a9
--- /dev/null
+++ b/yum-cron/yum-hourly.cron.sh
@@ -0,0 +1,11 @@
+#!/bin/bash
+
+# Only run if this flag is set. The flag is created by the yum-cron init
+# script when the service is started -- this allows one to use chkconfig and
+# the standard "service stop|start" commands to enable or disable yum-cron.
+if [[ ! -f /var/lock/subsys/yum-cron ]]; then
+  exit 0
+fi
+
+# Action!
+exec /usr/sbin/yum-cron /etc/yum/yum-cron-hourly.conf
diff --git a/yum-cron/yum-security.cron.sh b/yum-cron/yum-security.cron.sh
new file mode 100644
index 0000000..2937e20
--- /dev/null
+++ b/yum-cron/yum-security.cron.sh
@@ -0,0 +1,11 @@
+#!/bin/bash
+
+# Only run if this flag is set. The flag is created by the yum-cron init
+# script when the service is started -- this allows one to use chkconfig and
+# the standard "service stop|start" commands to enable or disable yum-cron.
+if [[ ! -f /var/lock/subsys/yum-cron ]]; then
+  exit 0
+fi
+
+# Action!
+exec /usr/sbin/yum-cron /etc/yum/yum-cron-security.conf
diff --git a/yum-updatesd.py b/yum-updatesd.py
old mode 100644
new mode 100755
index 1ce4720..2f3f7a3
--- a/yum-updatesd.py
+++ b/yum-updatesd.py
@@ -23,11 +23,16 @@
 # - what to do if we're asked to exit while updates are being applied?
 # - what to do with the lock around downloads/updates
 
-# since it takes me time everytime to figure this out again, here's how to
+# since it takes me time every time to figure this out again, here's how to
 # queue a check with dbus-send.  adjust appropriately for other methods
 # $ dbus-send --system --print-reply --type=method_call \
 #   --dest=edu.duke.linux.yum /Updatesd edu.duke.linux.yum.CheckNow
 
+"""
+Daemon to periodically check for updates to installed packages, and
+associated classes and methods.
+"""
+
 import os
 import sys
 import time
@@ -60,34 +65,78 @@ config_file = '/etc/yum/yum-updatesd.conf'
 initial_directory = os.getcwd()
 
 class UpdateEmitter(object):
-    """Abstract object for implementing different types of emitters."""
+    """Abstract class for implementing different types of
+       emitters.
+    """
+
     def __init__(self):
         pass
     def updatesAvailable(self, updateInfo):
         """Emitted when there are updates available to be installed.
         If not doing the download here, then called immediately on finding
         new updates.  If we do the download here, then called after the
-        updates have been downloaded."""
+        updates have been downloaded.
+
+        :param updateInfo: a list of tuples of dictionaries.  Each
+           dictionary contains information about a package, and each
+           tuple specifies an available upgrade: the second dictionary
+           in the tuple has information about a package that is
+           currently installed, and the first dictionary has
+           information what the package can be upgraded to
+        """
         pass
+
     def updatesDownloading(self, updateInfo):
-        """Emitted to give feedback of update download starting."""
+        """Emitted to give feedback of update download starting.
+
+        :param updateInfo: a list of tuples of dictionaries.  Each
+           dictionary contains information about a package, and each
+           tuple specifies an available upgrade: the second dictionary
+           in the tuple has information about a package that is
+           currently installed, and the first dictionary has
+           information what the package can be upgraded to
+        """
         pass
+
     def updatesApplied(self, updateInfo):
-        """Emitted on successful installation of updates."""
+        """Emitted on successful installation of updates.
+
+        :param updateInfo: a list of tuples of dictionaries.  Each
+           dictionary contains information about a package, and each
+           tuple specifies an available upgrade: the second dictionary
+           in the tuple has information about a package that is
+           currently installed, and the first dictionary has
+           information what the package can be upgraded to
+        """
         pass
+
     def updatesFailed(self, errmsgs):
-        """Emitted when an update has failed to install."""
+        """Emitted when an update has failed to install.
+
+        :param errmsgs: a list of error messages
+        """
         pass
+
     def checkFailed(self, error):
-        """Emitted when checking for updates failed."""
+        """Emitted when checking for updates failed.
+
+        :param error: an error message
+        """
         pass
 
     def setupFailed(self, error, translation_domain):
-        """Emitted when plugin initialization failed."""
+        """Emitted when plugin initialization failed.
+
+        :param error: an error message
+        :param translation_domain: the translation domain supplied by
+           the plugin
+        """
         pass
  
 
 class SyslogUpdateEmitter(UpdateEmitter):
+    """Emitter class to send messages to syslog."""
+
     def __init__(self, syslog_facility, ident = "yum-updatesd",
                  level = "WARN"):
         UpdateEmitter.__init__(self)
@@ -95,6 +144,15 @@ class SyslogUpdateEmitter(UpdateEmitter):
         self.level = level
         
     def updatesAvailable(self, updateInfo):
+        """Emit a message stating that updates are available.
+
+        :param updateInfo: a list of tuples of dictionaries.  Each
+           dictionary contains information about a package, and each
+           tuple specifies an available upgrade: the second dictionary
+           in the tuple has information about a package that is
+           currently installed, and the first dictionary has
+           information what the package can be upgraded to
+        """
         num = len(updateInfo)
         level = self.level
         if num > 1:
@@ -144,12 +202,23 @@ class SyslogUpdateEmitter(UpdateEmitter):
 
 
 class EmailUpdateEmitter(UpdateEmitter):
+    """Emitter class to send messages via email."""
+
     def __init__(self, sender, rcpt):
         UpdateEmitter.__init__(self)        
         self.sender = sender
         self.rcpt = rcpt
 
     def updatesAvailable(self, updateInfo):
+        """Emit a message stating that updates are available.
+
+        :param updateInfo: a list of tuples of dictionaries.  Each
+           dictionary contains information about a package, and each
+           tuple specifies an available upgrade: the second dictionary
+           in the tuple has information about a package that is
+           currently installed, and the first dictionary has
+           information what the package can be upgraded to
+        """
         num = len(updateInfo)
         if num < 1:
             return
@@ -173,6 +242,8 @@ class EmailUpdateEmitter(UpdateEmitter):
         s.close()
 
 class DbusUpdateEmitter(UpdateEmitter):
+    """Emitter class to send messages to the dbus message system."""
+
     def __init__(self):
         UpdateEmitter.__init__(self)        
         bus = dbus.SystemBus()
@@ -181,6 +252,15 @@ class DbusUpdateEmitter(UpdateEmitter):
         self.dbusintf = yum_dbus
 
     def updatesAvailable(self, updateInfo):
+        """Emit a message stating that updates are available.
+
+        :param updateInfo: a list of tuples of dictionaries.  Each
+           dictionary contains information about a package, and each
+           tuple specifies an available upgrade: the second dictionary
+           in the tuple has information about a package that is
+           currently installed, and the first dictionary has
+           information what the package can be upgraded to
+        """
         num = len(updateInfo)
         msg = "%d" %(num,)
         if num > 0:
@@ -189,44 +269,102 @@ class DbusUpdateEmitter(UpdateEmitter):
             self.dbusintf.NoUpdatesAvailableSignal(msg)
 
     def updatesFailed(self, errmsgs):
+        """Emit a message stating that an update has failed to install.
+
+        :param errmsgs: a list of error messages
+        """
         self.dbusintf.UpdatesFailedSignal(errmsgs)
 
     def updatesApplied(self, updinfo):
+        """Emit a message stating that updates were installed
+        successfully.
+
+        :param updinfo: a list of tuples of dictionaries.  Each
+           dictionary contains information about a package, and each
+           tuple specifies an available upgrade: the second dictionary
+           in the tuple has information about a package that is
+           currently installed, and the first dictionary has
+           information what the package can be upgraded to
+        """
         self.dbusintf.UpdatesAppliedSignal(updinfo)
 
     def checkFailed(self, error):
+        """Emit a message stating that checking for updates failed.
+
+        :param error: an error message
+        """
         self.dbusintf.CheckFailedSignal(error)
 
     def setupFailed(self, error, translation_domain):
+        """Emit a message stating that plugin initialization failed.
+
+        :param error: an error message
+        :param translation_domain: the translation domain supplied by
+           the plugin
+        """
         self.dbusintf.SetupFailedSignal(error, translation_domain)
 
 
 class YumDbusInterface(dbus.service.Object):
+    """Interface class for sending signals to the dbus."""
+
     def __init__(self, bus_name, object_path='/UpdatesAvail'):
         dbus.service.Object.__init__(self, bus_name, object_path)
 
     @dbus.service.signal('edu.duke.linux.yum')
     def UpdatesAvailableSignal(self, message):
+        """Send a signal stating that updates are available.
+        
+        :param message: the message to send in the signal
+        """
         pass
 
     @dbus.service.signal('edu.duke.linux.yum')
     def NoUpdatesAvailableSignal(self, message):
+        """Send a signal stating that no updates are available.
+
+        :param message: the message to send in the signal
+        """
         pass
         
     @dbus.service.signal('edu.duke.linux.yum')
     def UpdatesFailedSignal(self, errmsgs):
+        """Send a signal stating that the update has failed.
+
+        :param errmsgs: a list of error messages
+        """
         pass
 
     @dbus.service.signal('edu.duke.linux.yum')
     def UpdatesAppliedSignal(self, updinfo):
+        """Send a signal stating that updates were applied
+        successfully.
+
+        :param updinfo: a list of tuples of dictionaries.  Each
+           dictionary contains information about a package, and each
+           tuple specifies an available upgrade: the second dictionary
+           in the tuple has information about a package that is
+           currently installed, and the first dictionary has
+           information what the package can be upgraded to
+        """
         pass
 
     @dbus.service.signal('edu.duke.linux.yum')
     def CheckFailedSignal(self, message):
+        """Send a signal stating that checking for updates failed.
+
+        :param message: the message to send in the signal
+        """
         pass
 
     @dbus.service.signal('edu.duke.linux.yum')
     def SetupFailedSignal(self, message, translation_domain=""):
+        """Send a signal stating that plugin initialization failed.
+
+        :param message: the message to send in the signal
+        :param translation_domain: the translation domain supplied by
+           the plugin
+        """
         pass
 
 
@@ -249,11 +387,18 @@ class UDConfig(BaseConfig):
 
 
 class UpdateBuildTransactionThread(threading.Thread):
+    """Class to build the update transaction in a new thread."""
+
     def __init__(self, updd, name):
         self.updd = updd
         threading.Thread.__init__(self, name=name)
 
     def run(self):
+        """Build the transaction, and download the packages to be
+        updated.  Finally, call self.processPkgs. This method must be
+        provided by a subclass, and will determine what, if any,
+        action is taken with the packages after they are downloaded.
+        """
         self.updd.tsInfo.makelists()
         try:
             (result, msgs) = self.updd.buildTransaction()
@@ -270,25 +415,41 @@ class UpdateBuildTransactionThread(threading.Thread):
 
 
 class UpdateDownloadThread(UpdateBuildTransactionThread):
+    """Class to download the packages in the update in a new thread."""
+
     def __init__(self, updd):
         UpdateBuildTransactionThread.__init__(self, updd,
             name="UpdateDownloadThread")
 
     def processPkgs(self, dlpkgs):
+        """Output that there are updates available via the emitters,
+        and release the yum locks.
+
+        :param dlpkgs: unused
+        """
         self.updd.emitAvailable()
         self.updd.releaseLocks()
 
 
 class UpdateInstallThread(UpdateBuildTransactionThread):
+    """Class to install updates in a new thread."""
+
     def __init__(self, updd):
         UpdateBuildTransactionThread.__init__(self, updd,
             name="UpdateInstallThread")
 
     def failed(self, msgs):
+        """Output that the update failed via the emitters.
+
+        :param msgs: a list or error messages to emit
+        """
         self.updd.emitUpdateFailed(msgs)
         self.updd.releaseLocks()
 
     def success(self):
+        """Output that the update has completed successfully via the
+        emitters, and perform clean up.
+        """
         self.updd.emitUpdateApplied()
         self.updd.releaseLocks()
 
@@ -296,6 +457,10 @@ class UpdateInstallThread(UpdateBuildTransactionThread):
         self.updd.updateInfoTime = None        
         
     def processPkgs(self, dlpkgs):
+        """Apply the available updates.
+
+        :param dlpkgs: a list of package objecs to update
+        """
         for po in dlpkgs:
             result, err = self.updd.sigCheckPkg(po)
             if result == 0:
@@ -323,6 +488,8 @@ class UpdateInstallThread(UpdateBuildTransactionThread):
         self.success()
 
 class UpdatesDaemon(yum.YumBase):
+    """Class to implement the update checking daemon."""
+
     def __init__(self, opts):
         yum.YumBase.__init__(self)
         self.opts = opts
@@ -343,6 +510,9 @@ class UpdatesDaemon(yum.YumBase):
         self.updateInfoTime = None
 
     def doSetup(self):
+        """Perform set up, including setting up directories and
+        parsing options.
+        """
         # if we are not root do the special subdir thing
         if os.geteuid() != 0:
             if not os.path.exists(self.opts.nonroot_workdir):
@@ -352,6 +522,8 @@ class UpdatesDaemon(yum.YumBase):
         self.doConfigSetup(fn=self.opts.yum_config)
 
     def refreshUpdates(self):
+        """Retrieve information about what updates are available."""
+
         self.doLock()
         try:
             self.doRepoSetup()
@@ -366,6 +538,8 @@ class UpdatesDaemon(yum.YumBase):
         return True
 
     def populateUpdateMetadata(self):
+        """Populate the metadata for the packages in the update."""
+
         self.updateMetadata = UpdateMetadata()
         repos = []
 
@@ -383,6 +557,9 @@ class UpdatesDaemon(yum.YumBase):
                 md.close()
 
     def populateUpdates(self):
+        """Retrieve and set up information about the updates available
+        for installed packages.
+        """
         def getDbusPackageDict(pkg):
             """Returns a dictionary corresponding to the package object
             in the form that we can send over the wire for dbus."""
@@ -425,6 +602,8 @@ class UpdatesDaemon(yum.YumBase):
         self.updateInfoTime = time.time()
 
     def populateTsInfo(self):
+        """Set up information about the update in the tsInfo object."""
+
         # figure out the updates
         for (new, old) in self.up.getUpdatesTuples():
             updating = self.getPackageObject(new)
@@ -442,6 +621,13 @@ class UpdatesDaemon(yum.YumBase):
                 self.tsInfo.addObsoleted(installed, obsoleting)
 
     def updatesCheck(self):
+        """Check to see whether updates are available for any
+        installed packages. If updates are available, install them,
+        download them, or just emit a message, depending on what
+        options are selected in the configuration file.
+ 
+        :return: whether the daemon should continue looping
+        """
         if not self.didSetup:
             try:
                 self.doSetup()
@@ -491,6 +677,18 @@ class UpdatesDaemon(yum.YumBase):
         return True
 
     def getUpdateInfo(self):
+        """Return information about the update.  This may be
+        previously cached information if the configured time interval
+        between update retrievals has not yet elapsed, or there is an
+        error in trying to retrieve the update information.
+
+        :return: a list of tuples of dictionaries.  Each
+           dictionary contains information about a package, and each
+           tuple specifies an available upgrade: the second dictionary
+           in the tuple has information about a package that is
+           currently installed, and the first dictionary has
+           information what the package can be upgraded to        
+        """
         # if we have a cached copy, use it
         if self.updateInfoTime and (time.time() - self.updateInfoTime <
                                     self.opts.updaterefresh):
@@ -522,40 +720,47 @@ class UpdatesDaemon(yum.YumBase):
         return self.updateInfo
 
     def updateCheckSetup(self):
+        """Set up the transaction set, rpm database, and prepare to
+        get updates.
+        """
         self.doTsSetup()
         self.doRpmDBSetup()
         self.doUpdateSetup()
 
     def releaseLocks(self):
+        """Close the rpm database, and release the yum lock."""
         self.closeRpmDB()
         self.doUnlock()
 
     def emitAvailable(self):
-        """method to emit a notice about updates"""
+        """Emit a notice stating whether updates are available."""
         map(lambda x: x.updatesAvailable(self.updateInfo), self.emitters)
 
     def emitDownloading(self):
-        """method to emit a notice about updates downloading"""
+        """Emit a notice stating that updates are downloading."""
         map(lambda x: x.updatesDownloading(self.updateInfo), self.emitters)
 
     def emitUpdateApplied(self):
-        """method to emit a notice when automatic updates applied"""
+        """Emit a notice stating that automatic updates have been applied."""
         map(lambda x: x.updatesApplied(self.updateInfo), self.emitters)
 
     def emitUpdateFailed(self, errmsgs):
-        """method to emit a notice when automatic updates failed"""
+        """Emit a notice stating that automatic updates failed."""
         map(lambda x: x.updatesFailed(errmsgs), self.emitters)
 
     def emitCheckFailed(self, error):
-        """method to emit a notice when checking for updates failed"""
+        """Emit a notice stating that checking for updates failed."""
         map(lambda x: x.checkFailed(error), self.emitters)
 
     def emitSetupFailed(self, error, translation_domain=""):
-        """method to emit a notice when checking for updates failed"""
+        """Emit a notice stating that checking for updates failed."""
         map(lambda x: x.setupFailed(error, translation_domain), self.emitters)
 
 
 class YumDbusListener(dbus.service.Object):
+    """Class to export methods that control the daemon over the
+    dbus.
+    """
     def __init__(self, updd, bus_name, object_path='/Updatesd',
                  allowshutdown = False):
         dbus.service.Object.__init__(self, bus_name, object_path)
@@ -563,11 +768,19 @@ class YumDbusListener(dbus.service.Object):
         self.allowshutdown = allowshutdown
 
     def doCheck(self):
+        """Check whether updates are available.
+
+        :return: False
+        """
         self.updd.updatesCheck()
         return False
 
     @dbus.service.method("edu.duke.linux.yum", in_signature="")
     def CheckNow(self):
+        """Check whether updates are available.
+
+        :return: a message stating that a check has been queued
+        """
         # make updating checking asynchronous since we discover whether
         # or not there are updates via a callback signal anyway
         gobject.idle_add(self.doCheck)
@@ -575,6 +788,11 @@ class YumDbusListener(dbus.service.Object):
 
     @dbus.service.method("edu.duke.linux.yum", in_signature="")
     def ShutDown(self):
+        """Shut down the daemon.
+        
+        :return: whether remote callers have permission to shut down
+           the daemon
+        """
         if not self.allowshutdown:
             return False
         
@@ -585,19 +803,34 @@ class YumDbusListener(dbus.service.Object):
 
     @dbus.service.method("edu.duke.linux.yum", in_signature="", out_signature="a(a{ss}a{ss})")
     def GetUpdateInfo(self):
+        """Return information about the available updates
+
+        :return: a list of tuples of dictionaries.  Each
+           dictionary contains information about a package, and each
+           tuple specifies an available upgrade: the second dictionary
+           in the tuple has information about a package that is
+           currently installed, and the first dictionary has
+           information what the package can be upgraded to        
+        """
         # FIXME: should this be async?
         upds = self.updd.getUpdateInfo()
         return upds
         
 
 def shutDown():
+    """Shut down the daemon."""
+
     sys.exit(0)
 
 def restart():
+    """Restart the daemon, reloading configuration files."""
+
     os.chdir(initial_directory)
     os.execve(sys.argv[0], sys.argv, os.environ)  
 
 def main(options = None):
+    """Configure and start the daemon."""
+
     # we'll be threading for downloads/updates
     gobject.threads_init()
     dbus.glib.threads_init()
diff --git a/yum.spec b/yum.spec
index abd203f..854baf3 100644
--- a/yum.spec
+++ b/yum.spec
@@ -1,24 +1,107 @@
-Summary: RPM installer/updater
+%define move_yum_conf_back 1
+%define auto_sitelib 1
+%define yum_updatesd 0
+%define disable_check 0
+%define yum_cron_systemd 1
+%define yum_makecache_systemd 1
+
+%if 0%{?rhel}
+# If we are building for RHEL ...
+
+%if 0%{?rhel} <= 6
+# rhel-6 doesn't have the systemd stuff...
+%define yum_cron_systemd 0
+%endif
+
+%if 0%{?rhel} <= 7
+# rhel-7 doesn't use systemd timers...
+%define yum_makecache_systemd 0
+%endif
+
+# END OF: If we are building for RHEL ...
+%endif
+
+
+%if 0%{?fedora}
+# If we are building for Fedora ...
+
+# we don't have this as of RHEL-7.0.
+BuildRequires: bash-completion
+
+%if 0%{?fedora} <= 18
+# yum in Fedora <= 18 doesn't use systemd unit files...
+%define yum_cron_systemd 0
+%endif
+
+%if 0%{?fedora} <= 19
+# Don't use .timer's before 20, maybe 19?
+%define yum_makecache_systemd 0
+%endif
+
+# END OF: If we are building for Fedora ...
+%endif
+
+
+%if %{auto_sitelib}
+
+%{!?python_sitelib: %define python_sitelib %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
+
+%else
+%define python_sitelib /usr/lib/python?.?/site-packages
+%endif
+
+# We always used /usr/lib here, even on 64bit ... so it's a bit meh.
+%define yum_pluginslib   /usr/lib/yum-plugins
+%define yum_pluginsshare /usr/share/yum-plugins
+
+# disable broken /usr/lib/rpm/brp-python-bytecompile
+%define __os_install_post %{nil}
+%define compdir %(pkg-config --variable=completionsdir bash-completion)
+%if "%{compdir}" == ""
+%define compdir "/etc/bash_completion.d"
+%endif
+
+Summary: RPM package installer/updater/manager
 Name: yum
-Version: 3.4.2
+Version: 3.4.3
 Release: 0
 License: GPLv2+
 Group: System Environment/Base
 Source: %{name}-%{version}.tar.gz
 URL: http://yum.baseurl.org/
-BuildRoot: %{_tmppath}/%{name}-%{version}root
 BuildArchitectures: noarch
 BuildRequires: python
 BuildRequires: gettext
 BuildRequires: intltool
-
+%if %{yum_makecache_systemd}
+BuildRequires: systemd-units
+%endif
+# This is really CheckRequires ...
+BuildRequires: python-nose
+BuildRequires: python >= 2.4
+BuildRequires: rpm-python, rpm >= 0:4.4.2
+BuildRequires: python-iniparse
+BuildRequires: python-sqlite
+BuildRequires: python-urlgrabber >= 3.9.0-8
+BuildRequires: yum-metadata-parser >= 1.1.0
+BuildRequires: pygpgme
+# End of CheckRequires
+Conflicts: pirut < 1.1.4
 Requires: python >= 2.4
 Requires: rpm-python, rpm >= 0:4.4.2
+Requires: python-iniparse
 Requires: python-sqlite
-Requires: urlgrabber >= 3.9.2
+Requires: python-urlgrabber >= 3.9.0-8
 Requires: yum-metadata-parser >= 1.1.0
-Requires: python-iniparse
 Requires: pygpgme
+# rawhide is >= 0.5.3-7.fc18 ... as this is added.
+Requires: pyliblzma
+# Not really a suggests anymore, due to metadata using it.
+Requires: pyxattr
+# Suggests, needed for yum fs diff
+Requires: diffutils
+Requires: cpio
+
 Conflicts: rpm >= 5-0
 # Zif is a re-implementation of yum in C, however:
 #
@@ -34,18 +117,32 @@ Conflicts: rpm >= 5-0
 # zif experts).
 #
 # ...so we have two sane choices: i) Conflict with it. 2) Stop developing yum.
-Conflicts: zif
+#
+#  Upstream says that #2 will no longer be true after this release.
+Conflicts: zif <= 0.1.3-3.fc15
+
 Obsoletes: yum-skip-broken <= 1.1.18
+Provides: yum-skip-broken = 1.1.18.yum
 Obsoletes: yum-basearchonly <= 1.1.9
+Obsoletes: yum-plugin-basearchonly <= 1.1.9
+Provides: yum-basearchonly = 1.1.9.yum
+Provides: yum-plugin-basearchonly = 1.1.9.yum
 Obsoletes: yum-allow-downgrade < 1.1.20-0
 Obsoletes: yum-plugin-allow-downgrade < 1.1.22-0
+Provides: yum-allow-downgrade = 1.1.20-0.yum
+Provides: yum-plugin-allow-downgrade = 1.1.22-0.yum
 Obsoletes: yum-plugin-protect-packages < 1.1.27-0
-Provides: yum-skip-broken
-Provides: yum-basearchonly
-Provides: yum-allow-downgrade
-Provides: yum-plugin-allow-downgrade
-Provides: yum-protect-packages
-Provides: yum-plugin-protect-packages
+Provides: yum-protect-packages = 1.1.27-0.yum
+Provides: yum-plugin-protect-packages = 1.1.27-0.yum
+Obsoletes: yum-plugin-download-order <= 0.2-2
+Obsoletes: yum-plugin-downloadonly <= 1.1.31-7.fc18
+Provides: yum-plugin-downloadonly = 3.4.3-44.yum
+Obsoletes: yum-presto < 3.4.3-66.yum
+Provides: yum-presto = 3.4.3-66.yum
+Obsoletes: yum-plugin-security < 1.1.32
+Provides: yum-plugin-security = 3.4.3-84.yum
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+
 
 %description
 Yum is a utility that can check for and automatically download and
@@ -58,9 +155,11 @@ Group: Applications/System
 Requires: yum = %{version}-%{release}
 Requires: dbus-python
 Requires: pygobject2
-Requires(preun): /sbin/chkconfig 
+Requires(preun): /sbin/chkconfig
+Requires(post): /sbin/chkconfig
 Requires(preun): /sbin/service
-Requires(postun): /sbin/chkconfig 
+Requires(post): /sbin/service
+Requires(postun): /sbin/chkconfig
 Requires(postun): /sbin/service
 
 
@@ -68,20 +167,69 @@ Requires(postun): /sbin/service
 yum-updatesd provides a daemon which checks for available updates and 
 can notify you when they are available via email, syslog or dbus. 
 
-
 %package cron
-Summary: Files needed to run yum updates as a cron job
+Summary: RPM package installer/updater/manager cron service
 Group: System Environment/Base
-Requires: yum >= 3.0 vixie-cron crontabs yum-plugin-downloadonly findutils
+Requires: yum >= 3.4.3-84 cronie crontabs findutils
+Requires: yum-cron-BE = %{version}-%{release}
+# We'd probably like a suggests for yum-cron-daily here.
+%if %{yum_cron_systemd}
+BuildRequires: systemd-units
+Requires(post): systemd
+Requires(preun): systemd
+Requires(postun): systemd
+%else
 Requires(post): /sbin/chkconfig
 Requires(post): /sbin/service
 Requires(preun): /sbin/chkconfig
 Requires(preun): /sbin/service
 Requires(postun): /sbin/service
+%endif
 
 %description cron
-These are the files needed to run yum updates as a cron job.
-Install this package if you want auto yum updates nightly via cron.
+These are the files needed to run any of the yum-cron update services.
+
+%package cron-daily
+Summary: Files needed to run yum updates as a daily cron job
+Group: System Environment/Base
+Provides: yum-cron-BE = %{version}-%{release}
+Requires: yum-cron > 3.4.3-131
+
+%description cron-daily
+This is the configuration file for the daily yum-cron update service, which
+lives %{_sysconfdir}/yum/yum-cron.conf.
+Install this package if you want auto yum updates nightly via cron (or something
+else, via. changing the configuration).
+By default this just downloads updates and does not apply them.
+
+%package cron-hourly
+Summary: Files needed to run yum updates as an hourly cron job
+Group: System Environment/Base
+Provides: yum-cron-BE = %{version}-%{release}
+Requires: yum-cron > 3.4.3-131
+
+%description cron-hourly
+This is the configuration file for the daily yum-cron update service, which
+lives %{_sysconfdir}/yum/yum-cron-hourly.conf.
+Install this package if you want automatic yum metadata updates hourly via
+cron (or something else, via. changing the configuration).
+
+%package cron-security
+Summary: Files needed to run security yum updates as once a day
+Group: System Environment/Base
+Provides: yum-cron-BE = %{version}-%{release}
+Requires: yum-cron > 3.4.3-131
+
+%description cron-security
+This is the configuration file for the security yum-cron update service, which
+lives here: %{_sysconfdir}/yum/yum-cron-security.conf
+Install this package if you want automatic yum security updates once a day
+via. cron (or something else, via. changing the configuration -- this will be
+confusing if it's not security updates anymore though).
+By default this will download and _apply_ the security updates, unlike
+yum-cron-daily which will just download all updates by default.
+This runs after yum-cron-daily, if that is installed.
+
 
 %prep
 %setup -q
@@ -89,12 +237,46 @@ Install this package if you want auto yum updates nightly via cron.
 %build
 make
 
+%if !%{disable_check}
+%check
+make check
+%endif
+
 
 %install
 [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
-make DESTDIR=$RPM_BUILD_ROOT install
-# install -m 644 %{SOURCE1} $RPM_BUILD_ROOT/etc/yum/yum.conf
-# install -m 755 %{SOURCE2} $RPM_BUILD_ROOT/etc/cron.daily/yum.cron
+
+%if %{yum_cron_systemd}
+INIT=systemd
+%else
+INIT=sysv
+%endif
+
+make DESTDIR=$RPM_BUILD_ROOT UNITDIR=%{_unitdir} INIT=$INIT install
+
+install -m 644 %{SOURCE1} $RPM_BUILD_ROOT/%{_sysconfdir}/yum.conf
+mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/yum/pluginconf.d $RPM_BUILD_ROOT/%{yum_pluginslib}
+mkdir -p $RPM_BUILD_ROOT/%{yum_pluginsshare}
+
+%if %{move_yum_conf_back}
+# for now, move repodir/yum.conf back
+mv $RPM_BUILD_ROOT/%{_sysconfdir}/yum/repos.d $RPM_BUILD_ROOT/%{_sysconfdir}/yum.repos.d
+rm -f $RPM_BUILD_ROOT/%{_sysconfdir}/yum/yum.conf
+%endif
+
+%if %{yum_updatesd}
+echo Keeping local yum-updatesd
+%else
+
+# yum-updatesd has moved to the separate source version
+rm -f $RPM_BUILD_ROOT/%{_sysconfdir}/yum/yum-updatesd.conf 
+rm -f $RPM_BUILD_ROOT/%{_sysconfdir}/rc.d/init.d/yum-updatesd
+rm -f $RPM_BUILD_ROOT/%{_sysconfdir}/dbus-1/system.d/yum-updatesd.conf
+rm -f $RPM_BUILD_ROOT/%{_sbindir}/yum-updatesd
+rm -f $RPM_BUILD_ROOT/%{_mandir}/man*/yum-updatesd*
+rm -f $RPM_BUILD_ROOT/%{_datadir}/yum-cli/yumupd.py*
+
+%endif
 
 # Ghost files:
 mkdir -p $RPM_BUILD_ROOT/var/lib/yum/history
@@ -102,12 +284,31 @@ mkdir -p $RPM_BUILD_ROOT/var/lib/yum/plugins
 mkdir -p $RPM_BUILD_ROOT/var/lib/yum/yumdb
 touch $RPM_BUILD_ROOT/var/lib/yum/uuid
 
+# rpmlint bogus stuff...
+chmod +x $RPM_BUILD_ROOT/%{_datadir}/yum-cli/*.py
+chmod +x $RPM_BUILD_ROOT/%{python_sitelib}/yum/*.py
+chmod +x $RPM_BUILD_ROOT/%{python_sitelib}/rpmUtils/*.py
+
 %find_lang %name
 
+%if %{yum_cron_systemd}
+# Remove the yum-cron sysV stuff to make rpmbuild happy..
+rm -f $RPM_BUILD_ROOT/%{_sysconfdir}/rc.d/init.d/yum-cron
+%else
+# Remove the yum-cron systemd stuff to make rpmbuild happy..
+rm -f $RPM_BUILD_ROOT/%{_unitdir}/yum-cron.service
+%endif
+
+%if %{yum_makecache_systemd}
+cp -a etc/yum-makecache.service $RPM_BUILD_ROOT/%{_unitdir}
+cp -a etc/yum-makecache.timer   $RPM_BUILD_ROOT/%{_unitdir}
+%endif
+
 %clean
 [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
 
 
+%if %{yum_updatesd}
 %post updatesd
 /sbin/chkconfig --add yum-updatesd
 /sbin/service yum-updatesd condrestart >/dev/null 2>&1
@@ -119,9 +320,29 @@ if [ $1 = 0 ]; then
  /sbin/service yum-updatesd stop >/dev/null 2>&1
 fi
 exit 0
-
+%endif
 
 %post cron
+
+%if %{yum_cron_systemd}
+#systemd_post yum-cron.service
+#  Do this manually because it's a fake service for a cronjob, and cronjobs
+# are default on atm. This may change in the future.
+if [ $1 = 1 ]; then
+ systemctl enable yum-cron >/dev/null 2>&1
+else
+#  Note that systemctl preset is being run here ... but _only_ on initial
+# install. So try this...
+
+if [ -f /var/lock/subsys/yum-cron -a -f /etc/rc.d/init.d/yum-cron ]; then
+ systemctl enable yum-cron >/dev/null 2>&1
+fi
+fi
+
+# Also note:
+#  systemctl list-unit-files | fgrep yum-cron
+%else
+# SYSV init post cron
 # Make sure chkconfig knows about the service
 /sbin/chkconfig --add yum-cron
 # if an upgrade:
@@ -144,8 +365,13 @@ if [ "$1" -ge "1" ]; then
  fi
 fi 
 exit 0
+%endif
 
 %preun cron
+%if %{yum_cron_systemd}
+%systemd_preun yum-cron.service
+%else
+# SYSV init preun cron
 # if this will be a complete removeal of yum-cron rather than an upgrade,
 # remove the service from chkconfig control
 if [ $1 = 0 ]; then
@@ -153,33 +379,59 @@ if [ $1 = 0 ]; then
  /sbin/service yum-cron stop 1> /dev/null 2>&1
 fi
 exit 0
+%endif
 
 %postun cron
+%if %{yum_cron_systemd}
+%systemd_postun_with_restart yum-cron.service
+%else
+# SYSV init postun cron
+
 # If there's a yum-cron package left after uninstalling one, do a
 # conditional restart of the service
 if [ "$1" -ge "1" ]; then
  /sbin/service yum-cron condrestart 1> /dev/null 2>&1
 fi
 exit 0
+%endif
 
+%if %{yum_makecache_systemd}
+%post
+%systemd_post yum-makecache.timer
 
+%preun
+%systemd_preun yum-makecache.timer
+
+%postun
+%systemd_postun_with_restart yum-makecache.timer
+%endif
 
 %files -f %{name}.lang
-%defattr(-, root, root)
-%doc README AUTHORS COPYING TODO INSTALL ChangeLog PLUGINS
+%defattr(-, root, root, -)
+%doc README AUTHORS COPYING TODO ChangeLog PLUGINS
+%if %{move_yum_conf_back}
+%config(noreplace) %{_sysconfdir}/yum.conf
+%dir %{_sysconfdir}/yum.repos.d
+%else
 %config(noreplace) %{_sysconfdir}/yum/yum.conf
+%dir %{_sysconfdir}/yum/repos.d
+%endif
 %config(noreplace) %{_sysconfdir}/yum/version-groups.conf
 %dir %{_sysconfdir}/yum
 %dir %{_sysconfdir}/yum/protected.d
-%dir %{_sysconfdir}/yum/repos.d
+%dir %{_sysconfdir}/yum/fssnap.d
 %dir %{_sysconfdir}/yum/vars
-%config %{_sysconfdir}/logrotate.d/%{name}
-%{_sysconfdir}/bash_completion.d
+%config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
+%(dirname %{compdir})
+%dir %{_datadir}/yum-cli
 %{_datadir}/yum-cli/*
+%exclude %{_datadir}/yum-cli/completion-helper.py?
+%if %{yum_updatesd}
 %exclude %{_datadir}/yum-cli/yumupd.py*
+%endif
 %{_bindir}/yum
-/usr/lib/python?.?/site-packages/yum
-/usr/lib/python?.?/site-packages/rpmUtils
+%{python_sitelib}/yum
+%{python_sitelib}/rpmUtils
 %dir /var/cache/yum
 %dir /var/lib/yum
 %ghost /var/lib/yum/uuid
@@ -188,20 +440,46 @@ exit 0
 %ghost /var/lib/yum/yumdb
 %{_mandir}/man*/yum.*
 %{_mandir}/man*/yum-shell*
-
+# plugin stuff
+%dir %{_sysconfdir}/yum/pluginconf.d 
+%dir %{yum_pluginslib}
+%dir %{yum_pluginsshare}
+%if %{yum_makecache_systemd}
+%{_unitdir}/yum-makecache.service
+%{_unitdir}/yum-makecache.timer
+%endif
 
 %files cron
 %defattr(-,root,root)
 %doc COPYING
-%{_sysconfdir}/cron.daily/0yum.cron
-%config(noreplace) %{_sysconfdir}/yum/yum-daily.yum
-%config(noreplace) %{_sysconfdir}/yum/yum-weekly.yum
+%{_sysconfdir}/cron.daily/0yum-daily.cron
+%{_sysconfdir}/cron.hourly/0yum-hourly.cron
+%config(noreplace) %{_sysconfdir}/yum/yum-cron.conf
+%config(noreplace) %{_sysconfdir}/yum/yum-cron-hourly.conf
+%if %{yum_cron_systemd}
+%{_unitdir}/yum-cron.service
+%else
 %{_sysconfdir}/rc.d/init.d/yum-cron
-%config(noreplace) %{_sysconfdir}/sysconfig/yum-cron
+%endif
+%{_sbindir}/yum-cron
+%{_mandir}/man*/yum-cron.*
 
+%files cron-daily
+%defattr(-,root,root)
+%{_sysconfdir}/cron.daily/0yum-daily.cron
+%config(noreplace) %{_sysconfdir}/yum/yum-cron.conf
 
+%files cron-hourly
+%defattr(-,root,root)
+%{_sysconfdir}/cron.hourly/0yum-hourly.cron
+%config(noreplace) %{_sysconfdir}/yum/yum-cron-hourly.conf
 
+%files cron-security
+%defattr(-,root,root)
+%{_sysconfdir}/cron.daily/0yum-security.cron
+%config(noreplace) %{_sysconfdir}/yum/yum-cron-security.conf
 
+%if %{yum_updatesd}
 %files updatesd
 %defattr(-, root, root)
 %config(noreplace) %{_sysconfdir}/yum/yum-updatesd.conf
@@ -210,8 +488,12 @@ exit 0
 %{_datadir}/yum-cli/yumupd.py*
 %{_sbindir}/yum-updatesd
 %{_mandir}/man*/yum-updatesd*
+%endif
 
 %changelog
+* Thu Jul 28 2011 Matthew Miller <mattdm at mattdm.org>
+- reorganize yum-cron to allow more flexible scheduling
+
 * Wed Apr 20 2011 James Antill <james at fedoraproject.org>
 - 3.4.1
 - umask bug fix.
diff --git a/yum/Errors.py b/yum/Errors.py
index c1af4ad..f69c061 100644
--- a/yum/Errors.py
+++ b/yum/Errors.py
@@ -18,7 +18,7 @@
 Exceptions and Errors thrown by yum.
 """
 
-from i18n import to_unicode
+from i18n import to_unicode, to_utf8
 
 class YumBaseError(Exception):
     """
@@ -29,7 +29,7 @@ class YumBaseError(Exception):
         Exception.__init__(self)
         self.value = value
     def __str__(self):
-        return "%s" %(self.value,)
+        return "%s" % to_utf8(self.value)
 
     def __unicode__(self):
         return '%s' % to_unicode(self.value)
@@ -74,14 +74,32 @@ class DepError(YumBaseError):
     pass
     
 class RepoError(YumBaseError):
-    pass
+    def __init__(self, value=None, repo=None):
+        Exception.__init__(self)
+        self.value = value
+        if repo is not None:
+            self.repo = repo
 
 class DuplicateRepoError(RepoError):
     pass
 
+# Have our own custom .value with all the mirror errors.
 class NoMoreMirrorsRepoError(RepoError):
-    pass
-    
+    # Weird backcompat. on argument ordering.
+    def __init__(self, value=None, errors=None, repo=None):
+        Exception.__init__(self)
+        self._value = value
+        self.errors = errors
+        if repo is not None:
+            self.repo = repo
+
+    @property
+    def value(self):
+        ret = self._value
+        for url, msg in self.errors or []:
+            ret += '\n%s: %s' % (url, msg)
+        return ret
+
 class ConfigError(YumBaseError):
     pass
     
@@ -94,6 +112,9 @@ class GroupsError(YumBaseError):
 class InstallError(YumBaseError):
     pass
 
+class GroupInstallError(InstallError):
+    pass
+
 class UpdateError(YumBaseError):
     pass
     
diff --git a/yum/__init__.py b/yum/__init__.py
index 99039e0..bf13f40 100644
--- a/yum/__init__.py
+++ b/yum/__init__.py
@@ -21,6 +21,7 @@ The Yum RPM software updater.
 import os
 import os.path
 import rpm
+import sys
 
 def _rpm_ver_atleast(vertup):
     """ Check if rpm is at least the current vertup. Can return False/True/None
@@ -44,10 +45,16 @@ import logging
 import logging.config
 import operator
 import tempfile
+import shutil
 
 import yum.i18n
-_ = yum.i18n._
-P_ = yum.i18n.P_
+# This is required to make gaftonmode work...
+_wrap_yum_i18n__ = yum.i18n._
+def _(*args, **kwargs):
+    return _wrap_yum_i18n__(*args, **kwargs)
+_wrap_yum_i18n_P_ = yum.i18n.P_
+def P_(*args, **kwargs):
+    return _wrap_yum_i18n_P_(*args, **kwargs)
 
 import config
 from config import ParsingError, ConfigParser
@@ -73,6 +80,9 @@ import logginglevels
 import yumRepo
 import callbacks
 import yum.history
+import yum.fssnapshots
+import yum.igroups
+import update_md
 
 import warnings
 warnings.simplefilter("ignore", Errors.YumFutureDeprecationWarning)
@@ -82,7 +92,8 @@ from packages import YumAvailablePackage, YumLocalPackage, YumInstalledPackage
 from packages import YumUrlPackage, YumNotFoundPackage
 from constants import *
 from yum.rpmtrans import RPMTransaction,SimpleCliCallBack
-from yum.i18n import to_unicode, to_str
+from yum.i18n import to_unicode, to_str, exception2msg
+from yum.drpm import DeltaInfo, DeltaPackage
 
 import string
 import StringIO
@@ -102,10 +113,12 @@ default_grabber.opts.user_agent += " yum/" + __version__
 
 
 class _YumPreBaseConf:
-    """This is the configuration interface for the YumBase configuration.
-       So if you want to change if plugins are on/off, or debuglevel/etc.
-       you tweak it here, and when yb.conf does it's thing ... it happens. """
-
+    """This is the configuration interface for the :class:`YumBase`
+    configuration.  To change configuration settings such as whether
+    plugins are on or off, or the value of debuglevel, change the
+    values here. Later, when :func:`YumBase.conf` is first called, all
+    of the options will be automatically configured.
+    """
     def __init__(self):
         self.fn = '/etc/yum/yum.conf'
         self.root = '/'
@@ -125,12 +138,15 @@ class _YumPreBaseConf:
 
 
 class _YumPreRepoConf:
-    """This is the configuration interface for the repos configuration.
-       So if you want to change callbacks etc. you tweak it here, and when
-       yb.repos does it's thing ... it happens. """
-
+    """This is the configuration interface for the repos configuration
+    configuration.  To change configuration settings such what
+    callbacks are used, change the values here. Later, when
+    :func:`YumBase.repos` is first called, all of the options will be
+    automatically configured.
+    """
     def __init__(self):
         self.progressbar = None
+        self.multi_progressbar = None
         self.callback = None
         self.failure_callback = None
         self.interrupt_callback = None
@@ -164,11 +180,11 @@ class _YumCostExclude:
         return False
 
 class YumBase(depsolve.Depsolve):
-    """This is a primary structure and base class. It houses the objects and
-       methods needed to perform most things in yum. It is almost an abstract
-       class in that you will need to add your own class above it for most
-       real use."""
-    
+    """This is a primary structure and base class. It houses the
+    objects and methods needed to perform most things in yum. It is
+    almost an abstract class in that you will need to add your own
+    class above it for most real use.
+    """
     def __init__(self):
         depsolve.Depsolve.__init__(self)
         self._conf = None
@@ -177,9 +193,12 @@ class YumBase(depsolve.Depsolve):
         self._up = None
         self._comps = None
         self._history = None
+        self._igroups = None
         self._pkgSack = None
         self._lockfile = None
         self._tags = None
+        self._upinfo = None
+        self._fssnap = None
         self._ts_save_file = None
         self.skipped_packages = []   # packages skip by the skip-broken code
         self._not_found_a = {}
@@ -204,6 +223,9 @@ class YumBase(depsolve.Depsolve):
 
         self.run_with_package_names = set()
         self._cleanup = []
+        self.exit_code = 0
+
+        self.updateinfo_filters = {}
 
     def __del__(self):
         self.close()
@@ -213,10 +235,15 @@ class YumBase(depsolve.Depsolve):
         for cb in self._cleanup: cb()
 
     def close(self):
+        """Close the history and repo objects."""
+
         # We don't want to create the object, so we test if it's been created
         if self._history is not None:
             self.history.close()
 
+        if self._igroups is not None:
+            self.igroups.close()
+
         if self._repos:
             self._repos.close()
 
@@ -225,15 +252,33 @@ class YumBase(depsolve.Depsolve):
         return transactioninfo.TransactionData()
 
     def doGenericSetup(self, cache=0):
-        """do a default setup for all the normal/necessary yum components,
-           really just a shorthand for testing"""
+        """Do a default setup for all the normal or necessary yum
+        components.  This function is really just a shorthand for
+        testing purposes.
 
+        :param cache: whether to run in cache only mode, which will
+           run only from the system cache
+        """
         self.preconf.init_plugins = False
         self.conf.cache = cache
 
     def doConfigSetup(self, fn='/etc/yum/yum.conf', root='/', init_plugins=True,
             plugin_types=(plugins.TYPE_CORE,), optparser=None, debuglevel=None,
             errorlevel=None):
+        """Deprecated.  Perform configuration setup.
+
+        :param fn: the name of the configuration file to use
+        :param root: the root directory to use
+        :param init_plugins: whether to initialize plugins before
+           running yum
+        :param plugin_types: a tuple containing the types to plugins
+           to load
+        :param optparser: the option parser to use for configuration
+        :param debuglevel: the minimum debug logging level to output
+           messages from
+        :param errorlevel: the minimum error logging level to output
+           messages from
+        """
         warnings.warn(_('doConfigSetup() will go away in a future version of Yum.\n'),
                 Errors.YumFutureDeprecationWarning, stacklevel=2)
 
@@ -297,15 +342,17 @@ class YumBase(depsolve.Depsolve):
             # Try the old default
             fn = '/etc/yum.conf'
 
-        startupconf = config.readStartupConfig(fn, root)
+        startupconf = config.readStartupConfig(fn, root, releasever)
         startupconf.arch = arch
         startupconf.basearch = self.arch.basearch
         if uuid:
             startupconf.uuid = uuid
         
         if startupconf.gaftonmode:
-            global _
-            _ = yum.i18n.dummy_wrapper
+            global _wrap_yum_i18n__
+            _wrap_yum_i18n__ = yum.i18n.dummy_wrapper
+            global _wrap_yum_i18n_P_
+            _wrap_yum_i18n_P_ = yum.i18n.dummyP_wrapper
 
         if debuglevel != None:
             startupconf.debuglevel = debuglevel
@@ -336,6 +383,12 @@ class YumBase(depsolve.Depsolve):
 
         self._conf = config.readMainConfig(startupconf)
 
+        # update urlgrabber defaults
+        mc = self._conf.max_connections
+        if mc > 0:
+            default_grabber.opts.max_connections = mc
+        default_grabber.opts.timedhosts = self._conf.cachedir + '/timedhosts'
+
         #  We don't want people accessing/altering preconf after it becomes
         # worthless. So we delete it, and thus. it'll raise AttributeError
         del self.preconf
@@ -367,22 +420,36 @@ class YumBase(depsolve.Depsolve):
     def doLoggingSetup(self, debuglevel, errorlevel,
                        syslog_ident=None, syslog_facility=None,
                        syslog_device='/dev/log'):
-        '''
-        Perform logging related setup.
-
-        @param debuglevel: Debug logging level to use.
-        @param errorlevel: Error logging level to use.
-        '''
+        """Perform logging related setup.
+
+        :param debuglevel: the minimum debug logging level to output
+           messages from
+        :param errorlevel: the minimum error logging level to output
+           messages from
+        :param syslog_ident: the ident of the syslog to use
+        :param syslog_facility: the name of the syslog facility to use
+        :param syslog_device: the syslog device to use
+        """
         logginglevels.doLoggingSetup(debuglevel, errorlevel,
                                      syslog_ident, syslog_facility,
                                      syslog_device)
 
     def doFileLogSetup(self, uid, logfile):
+        """Set up the logging file.
+
+        :param uid: the user id of the current user
+        :param logfile: the name of the file to use for logging
+        """
         logginglevels.setFileLog(uid, logfile, self._cleanup)
 
     def getReposFromConfigFile(self, repofn, repo_age=None, validate=None):
-        """read in repositories from a config .repo file"""
+        """Read in repositories from a config .repo file.
 
+        :param repofn: a string specifying the path of the .repo file
+           to read
+        :param repo_age: the last time that the .repo file was
+           modified, in seconds since the epoch
+        """
         if repo_age is None:
             repo_age = os.stat(repofn)[8]
         
@@ -391,8 +458,7 @@ class YumBase(depsolve.Depsolve):
         try:
             parser.readfp(confpp_obj)
         except ParsingError, e:
-            msg = str(e)
-            raise Errors.ConfigError, msg
+            raise Errors.ConfigError(exception2msg(e))
 
         # Check sections in the .repo file that was just slurped up
         for section in parser.sections():
@@ -429,17 +495,41 @@ class YumBase(depsolve.Depsolve):
 
                 thisrepo.base_persistdir = self.conf._repos_persistdir
 
+            # do the wildcard ones first
+            # The keys are in indeterminate order at this point, *sigh*.
+            for i in sorted(self.repo_setopts):
+                #  Skip normal names, as we want to do wildcard matches first
+                # and then override with specific id stuff.
+                if not misc.re_glob(i):
+                    continue
 
+                if fnmatch.fnmatch(thisrepo.id, i):
+                    for opt in self.repo_setopts[i].items:
+                        self._checkOption(opt, thisrepo)
+                        setattr(thisrepo, opt, getattr(self.repo_setopts[i], opt))
+                
             if thisrepo.id in self.repo_setopts:
                 for opt in self.repo_setopts[thisrepo.id].items:
-                    if not hasattr(thisrepo, opt):
-                        msg = "Repo %s did not have a %s attr. before setopt"
-                        self.logger.warning(msg % (thisrepo.id, opt))
+                    self._checkOption(opt, thisrepo)
                     setattr(thisrepo, opt, getattr(self.repo_setopts[thisrepo.id], opt))
                     
             if validate and not validate(thisrepo):
                 continue
                     
+            if thisrepo.ssl_check_cert_permissions:
+                for fn in  (thisrepo.sslcacert,
+                            thisrepo.sslclientcert, thisrepo.sslclientkey):
+                    if not fn:
+                        continue
+                    #  If we can't read the SSL certs. we need to skip the repo.
+                    # if we don't have all the data.
+                    if not os.access(fn, os.R_OK):
+                        msg="Repo %s forced skip_if_unavailable=True due to: %s"
+                        if thisrepo.enabled:
+                            # Don't spam messages for disabled repos.
+                            self.logger.warning(msg % (thisrepo.id, fn))
+                        thisrepo.skip_if_unavailable = True
+
             # Got our list of repo objects, add them to the repos
             # collection
             try:
@@ -447,9 +537,18 @@ class YumBase(depsolve.Depsolve):
             except Errors.RepoError, e:
                 self.logger.warning(e)
         
-    def getReposFromConfig(self):
-        """read in repositories from config main and .repo files"""
+    def _checkOption(self, opt, thisrepo):
+        """Quit if the option is invalid"""
+        if not hasattr(thisrepo, opt):
+            msg = "Invalid option: %s"
+            raise Errors.ConfigError(msg % opt)
 
+    def getReposFromConfig(self):
+        """Read in repositories from the main yum conf file, and from
+        .repo files.  The location of the main yum conf file is given
+        by self.conf.config_file_path, and the location of the
+        directory of .repo files is given by self.conf.reposdir.
+        """
         # Read .repo files from directories specified by the reposdir option
         # (typically /etc/yum/repos.d)
         repo_config_age = self.conf.config_file_age
@@ -463,21 +562,26 @@ class YumBase(depsolve.Depsolve):
             # if we don't do this then anaconda likes to not  work.
             if os.path.exists(self.conf.installroot+'/'+reposdir):
                 reposdir = self.conf.installroot + '/' + reposdir
+            reposdir = os.path.normpath(reposdir)
 
             if os.path.isdir(reposdir):
                 for repofn in sorted(glob.glob('%s/*.repo' % reposdir)):
+                    if not os.access(repofn, os.R_OK):
+                        self.logger.warning(_("Skipping unreadable repository %s"), repr(repofn))
+                        continue
                     thisrepo_age = os.stat(repofn)[8]
                     if thisrepo_age < repo_config_age:
                         thisrepo_age = repo_config_age
                     self.getReposFromConfigFile(repofn, repo_age=thisrepo_age)
 
     def readRepoConfig(self, parser, section):
-        '''Parse an INI file section for a repository.
+        """Parse an INI file section for a repository.
 
-        @param parser: ConfParser or similar to read INI file values from.
-        @param section: INI file section to read.
-        @return: YumRepository instance.
-        '''
+        :param parser: :class:`ConfigParser` or similar object to read
+           INI file values from
+        :param section: INI file section to read
+        :return: :class:`yum.yumRepo.YumRepository` instance
+        """
         repo = yumRepo.YumRepository(section)
         try:
             repo.populate(parser, section, self.conf)
@@ -493,38 +597,40 @@ class YumBase(depsolve.Depsolve):
         repo.name = to_unicode(repo.name)
 
         # Set attributes not from the config file
+        repo.old_base_cache_dir = getattr(self, '_old_cachedir', '')
         repo.basecachedir = self.conf.cachedir
         repo.yumvar.update(self.conf.yumvar)
         repo.cfg = parser
-
+        # Enable parallel downloading
+        repo._async = repo.async
         return repo
 
     def disablePlugins(self):
-        '''Disable yum plugins
-        '''
+        """Disable yum plugins."""
+
         self.plugins = plugins.DummyYumPlugins()
     
     def doPluginSetup(self, optparser=None, plugin_types=None, searchpath=None,
             confpath=None,disabled_plugins=None,enabled_plugins=None):
-        '''Initialise and enable yum plugins. 
-
-        Note: _getConfig() will initialise plugins if instructed to. Only
-        call this method directly if not calling _getConfig() or calling
-        doConfigSetup(init_plugins=False).
-
-        @param optparser: The OptionParser instance for this run (optional)
-        @param plugin_types: A sequence specifying the types of plugins to load.
-            This should be a sequence containing one or more of the
-            yum.plugins.TYPE_...  constants. If None (the default), all plugins
-            will be loaded.
-        @param searchpath: A list of directories to look in for plugins. A
-            default will be used if no value is specified.
-        @param confpath: A list of directories to look in for plugin
-            configuration files. A default will be used if no value is
-            specified.
-        @param disabled_plugins: Plugins to be disabled    
-        @param enabled_plugins: Plugins to be enabled
-        '''
+        """Initialise and enable yum plugins.
+        Note: _getConfig() will also initialise plugins if instructed
+        to. Only call this method directly if not calling _getConfig()
+        or calling doConfigSetup(init_plugins=False).
+
+        :param optparser: the :class:`OptionParser` instance to use
+           for this run
+        :param plugin_types: a sequence specifying the types of plugins to load.
+           This should be a sequence containing one or more of the
+           yum.plugins.TYPE_...  constants. If None (the default), all plugins
+           will be loaded
+        :param searchpath: a list of directories to look in for plugins. A
+           default will be used if no value is specified
+        :param confpath: a list of directories to look in for plugin
+           configuration files. A default will be used if no value is
+           specified
+        :param disabled_plugins: a list of plugins to be disabled    
+        :param enabled_plugins: a list plugins to be enabled
+        """
         if isinstance(self.plugins, plugins.YumPlugins):
             raise RuntimeError(_("plugins already initialised"))
 
@@ -533,6 +639,8 @@ class YumBase(depsolve.Depsolve):
 
     
     def doRpmDBSetup(self):
+        """Deprecated.  Set up the rpm database."""
+
         warnings.warn(_('doRpmDBSetup() will go away in a future version of Yum.\n'),
                 Errors.YumFutureDeprecationWarning, stacklevel=2)
 
@@ -552,7 +660,8 @@ class YumBase(depsolve.Depsolve):
         return self._rpmdb
 
     def closeRpmDB(self):
-        """closes down the instances of the rpmdb we have wangling around"""
+        """Closes down the instances of rpmdb that could be open."""
+
         if self._rpmdb is not None:
             self._rpmdb.ts = None
             self._rpmdb.dropCachedData()
@@ -561,12 +670,19 @@ class YumBase(depsolve.Depsolve):
         self._tsInfo = None
         self._up = None
         self.comps = None
+        self.igroups = None
     
     def _deleteTs(self):
         del self._ts
         self._ts = None
 
     def doRepoSetup(self, thisrepo=None):
+        """Deprecated. Set up the yum repositories.
+
+        :param thisrepo: the repository to set up.  If None, all
+           repositories will be set up
+        :return: the set up repos
+        """
         warnings.warn(_('doRepoSetup() will go away in a future version of Yum.\n'),
                 Errors.YumFutureDeprecationWarning, stacklevel=2)
 
@@ -577,6 +693,12 @@ class YumBase(depsolve.Depsolve):
         if hasattr(self, 'prerepoconf'):
             self.conf # touch the config class first
 
+            if (self.conf.installroot != '/' and
+                not hasattr(self, '_old_cachedir')):
+                # Try loading cache from outside...
+                ir = len(self.conf.installroot)
+                self._old_cachedir = self.conf.cachedir[ir:]
+
             self.getReposFromConfig()
 
         #  For rhnplugin, and in theory other stuff, calling
@@ -588,7 +710,8 @@ class YumBase(depsolve.Depsolve):
             prerepoconf = self.prerepoconf
             del self.prerepoconf
 
-            self.repos.setProgressBar(prerepoconf.progressbar)
+            self.repos.setProgressBar(prerepoconf.progressbar,
+                                      prerepoconf.multi_progressbar)
             self.repos.callback = prerepoconf.callback
             self.repos.setFailureCallback(prerepoconf.failure_callback)
             self.repos.setInterruptCallback(prerepoconf.interrupt_callback)
@@ -602,24 +725,6 @@ class YumBase(depsolve.Depsolve):
 
 
         if doSetup:
-            if (hasattr(urlgrabber, 'grabber') and
-                hasattr(urlgrabber.grabber, 'pycurl')):
-                # Must do basename checking, on cert. files...
-                cert_basenames = {}
-                for repo in self._repos.listEnabled():
-                    if not repo.sslclientcert:
-                        continue
-                    bn = os.path.basename(repo.sslclientcert)
-                    if bn not in cert_basenames:
-                        cert_basenames[bn] = repo
-                        continue
-                    if repo.sslclientcert == cert_basenames[bn].sslclientcert:
-                        # Exactly the same path is fine too
-                        continue
-
-                    msg = 'sslclientcert basename shared between %s and %s'
-                    raise Errors.ConfigError, msg % (repo, cert_basenames[bn])
-
             repo_st = time.time()        
             self._repos.doSetup(thisrepo)
             self.verbose_logger.debug('repo time: %0.3f' % (time.time() - repo_st))        
@@ -630,6 +735,14 @@ class YumBase(depsolve.Depsolve):
         self._repos = RepoStorage(self)
     
     def doSackSetup(self, archlist=None, thisrepo=None):
+        """Deprecated. Populate the package sacks with information
+        from our repositories.
+
+        :param archlist: a list of the names of archs to include.  If
+           None, all arches are set up
+        :param thisrepo: the repository to use.  If None, all enabled
+           repositories are used
+        """
         warnings.warn(_('doSackSetup() will go away in a future version of Yum.\n'),
                 Errors.YumFutureDeprecationWarning, stacklevel=2)
 
@@ -711,6 +824,9 @@ class YumBase(depsolve.Depsolve):
             
            
     def doUpdateSetup(self):
+        """Deprecated. Set up the update object in the base class and populate the
+        updates, obsoletes, and other lists.
+        """
         warnings.warn(_('doUpdateSetup() will go away in a future version of Yum.\n'),
                 Errors.YumFutureDeprecationWarning, stacklevel=2)
 
@@ -765,6 +881,8 @@ class YumBase(depsolve.Depsolve):
         return self._up
     
     def doGroupSetup(self):
+        """Deprecated. Create and populate the groups object."""
+
         warnings.warn(_('doGroupSetup() will go away in a future version of Yum.\n'),
                 Errors.YumFutureDeprecationWarning, stacklevel=2)
 
@@ -776,7 +894,12 @@ class YumBase(depsolve.Depsolve):
             # if we unset the comps object, we need to undo which repos have
             # been added to the group file as well
             if self._repos:
-                for repo in self._repos.listGroupsEnabled():
+                #  Used to do listGroupsEnabled(), which seems fine but requires
+                # calling .listEnalbed() ... which doesn't work on __del__ path
+                # if we haven't already called that (due to
+                # "prelistenabledrepos" plugins). So just blank it for
+                # all repos.
+                for repo in self._repos.sort():
                     repo.groups_added = False
         self._comps = val
     
@@ -801,7 +924,8 @@ class YumBase(depsolve.Depsolve):
                 continue
                 
             if not repo.ready():
-                raise Errors.RepoError, "Repository '%s' not yet setup" % repo
+                raise Errors.RepoError("Repository '%s' not yet setup" % repo,
+                                       repo=repo)
             try:
                 groupremote = repo.getGroupLocation()
             except Errors.RepoMDError, e:
@@ -813,6 +937,21 @@ class YumBase(depsolve.Depsolve):
         overwrite = self.conf.overwrite_groups
         self._comps = comps.Comps(overwrite_groups = overwrite)
 
+        if self.conf.group_command == 'objects':
+            #  Add the ids for installed groups/envs as though sys is a repo.
+            # makes everything easier (comps.return_groups() etc. works)...
+            self._comps.compscount += 1
+            for gid in self.igroups.groups:
+                grp = comps.Group()
+                grp.name = grp.groupid = gid
+                grp._weak = True
+                self._comps.add_group(grp)
+            for evgid in self.igroups.environments:
+                env = comps.Environment()
+                env.name = env.environmentid = evgid
+                env._weak = True
+                self._comps.add_environment(env)
+
         for repo in reposWithGroups:
             if repo.groups_added: # already added the groups from this repo
                 continue
@@ -820,16 +959,14 @@ class YumBase(depsolve.Depsolve):
             self.verbose_logger.log(logginglevels.DEBUG_4,
                 _('Adding group file from repository: %s'), repo)
             groupfile = repo.getGroups()
-            # open it up as a file object so iterparse can cope with our compressed file
-            if groupfile:
-                groupfile = misc.repo_gen_decompress(groupfile, 'groups.xml',
-                                                     cached=repo.cache)
-                # Do we want a RepoError here?
-                
+            if not groupfile:
+                msg = _('Failed to retrieve group file for repository: %s') % repo
+                self.logger.critical(msg)
+                continue
             try:
                 self._comps.add(groupfile)
             except (Errors.GroupsError,Errors.CompsException), e:
-                msg = _('Failed to add groups file for repository: %s - %s') % (repo, str(e))
+                msg = _('Failed to add groups file for repository: %s - %s') % (repo, exception2msg(e))
                 self.logger.critical(msg)
             else:
                 repo.groups_added = True
@@ -837,7 +974,10 @@ class YumBase(depsolve.Depsolve):
         if self._comps.compscount == 0:
             raise Errors.GroupsError, _('No Groups Available in any repository')
 
-        self._comps.compile(self.rpmdb.simplePkgList())
+        #  Note that this means that grp.installed is not usable, when using
+        # groups as objects ... but that's GOOD.
+        if self.conf.group_command != 'objects':
+            self._comps.compile(self.rpmdb.simplePkgList())
         self.verbose_logger.debug('group time: %0.3f' % (time.time() - group_st))                
         return self._comps
 
@@ -868,22 +1008,72 @@ class YumBase(depsolve.Depsolve):
                     # feed it into _tags.add()
                     self._tags.add(repo.id, tag_sqlite)
                 except (Errors.RepoError, Errors.PkgTagsError), e:
-                    msg = _('Failed to add Pkg Tags for repository: %s - %s') % (repo, str(e))
+                    msg = _('Failed to add Pkg Tags for repository: %s - %s') % (repo, exception2msg(e))
                     self.logger.critical(msg)
                     
                 
         self.verbose_logger.debug('tags time: %0.3f' % (time.time() - tag_st))
         return self._tags
         
+
+    def _getUpdateinfo(self):
+        """ create the Update Info object used to search/report the updateinfo
+            metadata"""
+
+        upi_st = time.time()
+        self.verbose_logger.log(logginglevels.DEBUG_4,
+                                _('Getting updateinfo metadata'))
+
+        if self._upinfo is None:
+            logger = logging.getLogger("yum.update_md")
+            vlogger = logging.getLogger("yum.verbose.update_md")
+            self._upinfo = update_md.UpdateMetadata(logger=logger,
+                                                    vlogger=vlogger)
+
+            for repo in self.repos.listEnabled():
+                if 'updateinfo' not in repo.repoXML.fileTypes():
+                    continue
+
+                self.verbose_logger.log(logginglevels.DEBUG_4,
+                    _('Adding Update Info from repository: %s'), repo)
+
+                try:
+                    self._upinfo.add(repo)
+                except Errors.RepoMDError, e:
+                    msg = _('Failed to add Update Info for repository: %s - %s') % (repo, exception2msg(e))
+                    self.logger.critical(msg)
+
+        self.verbose_logger.debug('updateinfo time: %0.3f' %
+                                  (time.time() - upi_st))
+        return self._upinfo
+
     def _getHistory(self):
         """auto create the history object that to access/append the transaction
            history information. """
         if self._history is None:
             pdb_path = self.conf.persistdir + "/history"
             self._history = yum.history.YumHistory(root=self.conf.installroot,
-                                                   db_path=pdb_path)
+                                                   db_path=pdb_path,
+                                                   releasever=self.conf.yumvar['releasever'])
         return self._history
     
+    def _getFSsnap(self):
+        """ create the fssnap object used to query/create snapshots. """
+        if self._fssnap is None:
+            devices = self.conf.fssnap_devices
+            self._fssnap = yum.fssnapshots._FSSnap(root=self.conf.installroot,
+                                                   devices=devices)
+
+        return self._fssnap
+
+    def _getIGroups(self):
+        """auto create the installed groups object that to access/change the
+           installed groups information. """
+        if self._igroups is None:
+            pdb_path = self.conf.persistdir + "/groups"
+            self._igroups = yum.igroups.InstalledGroups(db_path=pdb_path)
+        return self._igroups
+
     # properties so they auto-create themselves with defaults
     repos = property(fget=lambda self: self._getRepos(),
                      fset=lambda self, value: setattr(self, "_repos", value),
@@ -921,16 +1111,31 @@ class YumBase(depsolve.Depsolve):
                        fdel=lambda self: setattr(self, "_history", None),
                        doc="Yum History Object")
 
+    igroups = property(fget=lambda self: self._getIGroups(),
+                       fset=lambda self, value: setattr(self, "_igroups",value),
+                       fdel=lambda self: setattr(self, "_igroups", None),
+                       doc="Yum Installed Groups Object")
+
     pkgtags = property(fget=lambda self: self._getTags(),
                        fset=lambda self, value: setattr(self, "_tags",value),
                        fdel=lambda self: setattr(self, "_tags", None),
                        doc="Yum Package Tags Object")
-    
+
+    upinfo = property(fget=lambda self: self._getUpdateinfo(),
+                      fset=lambda self, value: setattr(self, "_upinfo", value),
+                      fdel=lambda self: setattr(self, "_upinfo", None),
+                      doc="Yum Update Info Object")
+
+    fssnap = property(fget=lambda self: self._getFSsnap(),
+                      fset=lambda self, value: setattr(self, "_fssnap",value),
+                      fdel=lambda self: setattr(self, "_fssnap", None),
+                      doc="Yum FS snapshot Object")
     
     def doSackFilelistPopulate(self):
-        """convenience function to populate the repos with the filelist metadata
-           it also is simply to only emit a log if anything actually gets populated"""
-        
+        """Convenience function to populate the repositories with the
+        filelist metadata, and emit a log message only if new
+        information is actually populated.
+        """
         necessary = False
         
         # I can't think of a nice way of doing this, we have to have the sack here
@@ -951,25 +1156,37 @@ class YumBase(depsolve.Depsolve):
             self.repos.populateSack(mdtype='filelists')
            
     def yumUtilsMsg(self, func, prog):
-        """ Output a message that the tool requires the yum-utils package,
-            if not installed. """
+        """Output a message that the given tool requires the yum-utils
+        package, if it not installed.
+
+        :param func: the function to output the message
+        :param prog: the name of the tool that requires yum-utils
+        """
         if self.rpmdb.contains(name="yum-utils"):
             return
 
-        hibeg, hiend = "", ""
-        if hasattr(self, 'term'):
-            hibeg, hiend = self.term.MODE['bold'], self.term.MODE['normal']
-
-        func(_("The program %s%s%s is found in the yum-utils package.") %
-             (hibeg, prog, hiend))
+        func(_("The program %s is found in the yum-utils package.") % self._try_bold(prog))
 
     def buildTransaction(self, unfinished_transactions_check=True):
-        """go through the packages in the transaction set, find them in the
-           packageSack or rpmdb, and pack up the ts accordingly"""
+        """Go through the packages in the transaction set, find them
+        in the packageSack or rpmdb, and pack up the transaction set
+        accordingly.
+
+        :param unfinished_transactions_check: whether to check for
+           unfinished transactions before building the new transaction
+        """
+        # FIXME: This is horrible, see below and yummain. Maybe create a real
+        #        rescode object? :(
+        self._depsolving_failed = False
+
         if (unfinished_transactions_check and
             misc.find_unfinished_transactions(yumlibpath=self.conf.persistdir)):
             msg = _('There are unfinished transactions remaining. You might ' \
-                    'consider running yum-complete-transaction first to finish them.' )
+                    'consider running yum-complete-transaction, or' \
+                    ' "yum-complete-transaction --cleanup-only" and' \
+                    ' "yum history redo last", first to finish them. If those' \
+                    ' don\'t work you\'ll have to try removing/installing' \
+                    ' packages by hand (maybe package-cleanup can help).')
             self.logger.critical(msg)
             self.yumUtilsMsg(self.logger.critical, "yum-complete-transaction")
             time.sleep(3)
@@ -1004,7 +1221,7 @@ class YumBase(depsolve.Depsolve):
             # If transaction was changed by postresolve plugins then we should run skipbroken again
             (rescode, restring) = self._doSkipBroken(rescode, restring, clear_skipped=False )
 
-        if self.tsInfo.pkgSack is not None: # rm Transactions don't have pkgSack
+        if self.tsInfo._pkgSack is not None: # Transactions have pkgSack?
             self.tsInfo.pkgSack.dropCachedData()
 
         # FIXME: This is horrible, see below and yummain. Maybe create a real
@@ -1044,6 +1261,39 @@ class YumBase(depsolve.Depsolve):
                 if first.verEQ(other):
                     continue
                 msg = _('Protected multilib versions: %s != %s')
+                if not xrestring:
+                    #  People are confused about protected mutilib ... so give
+                    # them a nicer message.
+                    bigmsg = _("""\
+ Multilib version problems found. This often means that the root
+cause is something else and multilib version checking is just
+pointing out that there is a problem. Eg.:
+
+  1. You have an upgrade for %(name)s which is missing some
+     dependency that another package requires. Yum is trying to
+     solve this by installing an older version of %(name)s of the
+     different architecture. If you exclude the bad architecture
+     yum will tell you what the root cause is (which package
+     requires what). You can try redoing the upgrade with
+     --exclude %(name)s.otherarch ... this should give you an error
+     message showing the root cause of the problem.
+
+  2. You have multiple architectures of %(name)s installed, but
+     yum can only see an upgrade for one of those architectures.
+     If you don't want/need both architectures anymore then you
+     can remove the one with the missing update and everything
+     will work.
+
+  3. You have duplicate versions of %(name)s installed already.
+     You can use "yum check" to get yum show these errors.
+
+...you can also use --setopt=protected_multilib=false to remove
+this checking, however this is almost never the correct thing to
+do as something else is very likely to go wrong (often causing
+much more problems).
+
+""") % {'name' : pkgname}
+                    msg = bigmsg + msg
                 xrestring.append(msg % (first, other))
         if xrestring:
             rescode = 1
@@ -1227,7 +1477,7 @@ class YumBase(depsolve.Depsolve):
                 self.verbose_logger.info(msg)
             self.skipped_packages.extend(skipped_list)   # make the skipped packages public
         else:
-            # If we cant solve the problems the show the original error messages.
+            # If we can't solve the problems the show the original error messages.
             self.verbose_logger.info("Skip-broken could not solve problems")
             return 1, orig_restring
         return rescode, restring
@@ -1242,13 +1492,15 @@ class YumBase(depsolve.Depsolve):
         if None in pkgtup:
             return None
         return pkgtup
-    def _add_not_found_a(self, pkgs, nevra_dict):
-        pkgtup = self._add_not_found(pkgs, nevra_dict)
+    def _add_not_found_a(self, pkgs, nevra_dict={}, pkgtup=None):
+        if pkgtup is None and nevra_dict:
+            pkgtup = self._add_not_found(pkgs, nevra_dict)
         if pkgtup is None:
             return
         self._not_found_a[pkgtup] = YumNotFoundPackage(pkgtup)
-    def _add_not_found_i(self, pkgs, nevra_dict):
-        pkgtup = self._add_not_found(pkgs, nevra_dict)
+    def _add_not_found_i(self, pkgs, nevra_dict={}, pkgtup=None):
+        if pkgtup is None and nevra_dict:
+            pkgtup = self._add_not_found(pkgs, nevra_dict)
         if pkgtup is None:
             return
         self._not_found_i[pkgtup] = YumNotFoundPackage(pkgtup)
@@ -1267,7 +1519,7 @@ class YumBase(depsolve.Depsolve):
             for pkg in txmbr.obsoleted_by:
                 # check if the obsoleting txmbr is in the transaction
                 # else remove the obsoleted txmbr
-                # it clean out some really wierd cases
+                # it clean out some really weird cases
                 if not self.tsInfo.exists(pkg.pkgtup):
                     self.verbose_logger.debug('SKIPBROKEN: Remove extra obsoleted %s (%s)' % (txmbr.po,pkg) )
                     self.tsInfo.remove(txmbr.po.pkgtup)
@@ -1275,14 +1527,14 @@ class YumBase(depsolve.Depsolve):
     def _checkUpdatedLeftovers(self):
         """ 
         If multiple packages is updated the same package
-        and this package get removed because of an dep issue
+        and this package get removed because of a dep issue
         then make sure that all the TS_UPDATED get removed.
         """
         for txmbr in self.tsInfo.getMembersWithState(None, [TS_UPDATED]):
             for pkg in txmbr.updated_by:
                 # check if the updating txmbr is in the transaction
                 # else remove the updated txmbr
-                # it clean out some really wierd cases with dupes installed on the system
+                # it clean out some really weird cases with dupes installed on the system
                 if not self.tsInfo.exists(pkg.pkgtup):
                     self.verbose_logger.debug('SKIPBROKEN: Remove extra updated %s (%s)' % (txmbr.po,pkg) )
                     self.tsInfo.remove(txmbr.po.pkgtup)
@@ -1379,9 +1631,19 @@ class YumBase(depsolve.Depsolve):
 
     def _getDepsToRemove(self,po, deptree, toRemove):
         for dep in deptree.get(po, []): # Loop trough all deps of po
+            more_deps = False
             for txmbr in self.tsInfo.getMembers(dep.pkgtup):
+                txmbr.removeDep(po)
+                if txmbr.depends_on:
+                    more_deps = True
+                    break
+
                 for pkg in (txmbr.updates + txmbr.obsoletes):
                     toRemove.add(pkg)
+            if more_deps: # Others depend on this pkg, so leave it. bz#905899
+                continue
+            if dep in toRemove: #  If this is true we inf. recurse, so check
+                continue        # even though it shouldn't happen. bz#874065
             toRemove.add(dep)
             self._getDepsToRemove(dep, deptree, toRemove)
 
@@ -1454,7 +1716,46 @@ class YumBase(depsolve.Depsolve):
         return probs
 
     def runTransaction(self, cb):
-        """takes an rpm callback object, performs the transaction"""
+        """Perform the transaction.
+
+        :param cb: an rpm callback object to use in the transaction
+        :return: a :class:`yum.misc.GenericHolder` containing
+           information about the results of the transaction
+        :raises: :class:`yum.Errors.YumRPMTransError` if there is a
+           transaction cannot be completed
+        """
+        if self.fssnap.available and ((self.conf.fssnap_automatic_pre or
+                                       self.conf.fssnap_automatic_post) and
+                                      self.conf.fssnap_automatic_keep):
+            # Automatically kill old snapshots...
+            snaps = self.fssnap.old_snapshots()
+            snaps = sorted(snaps, key=lambda x: (x['ctime'], x['origin_dev']),
+                           reverse=True)
+            last = '<n/a>'
+            num = 0
+            todel = []
+            for snap in snaps:
+                num += 1
+
+                if last != snap['origin_dev']:
+                    last = snap['origin_dev']
+                    num = 1
+                    continue
+
+                if num > self.conf.fssnap_automatic_keep:
+                    todel.append(snap['dev'])
+            # Display something to the user?
+            self.fssnap.del_snapshots(devices=todel)
+
+        if (self.fssnap.available and
+            (not self.ts.isTsFlagSet(rpm.RPMTRANS_FLAG_TEST) and
+            self.conf.fssnap_automatic_pre)):
+            if not self.fssnap.has_space(self.conf.fssnap_percentage):
+                msg = _("Not enough space to create pre. FS snapshot, aborting transaction.")
+                raise Errors.YumRPMTransError(msg=msg, errors=[])
+            else:
+                tags = {'*': ['reason=automatic']} # FIXME: pre. tags
+                self.fssnap.snapshot(self.conf.fssnap_percentage, tags=tags)
 
         self.plugins.run('pretrans')
 
@@ -1516,10 +1817,23 @@ class YumBase(depsolve.Depsolve):
                 pass
         self._ts_save_file = None
         
+        if self.conf.reset_nice:
+            onice = os.nice(0)
+            if onice:
+                try:
+                    os.nice(-onice)
+                except:
+                    onice = 0
+
         errors = self.ts.run(cb.callback, '')
         # ts.run() exit codes are, hmm, "creative": None means all ok, empty 
         # list means some errors happened in the transaction and non-empty 
         # list that there were errors preventing the ts from starting...
+        if self.conf.reset_nice:
+            try:
+                os.nice(onice)
+            except:
+                pass
         
         # make resultobject - just a plain yumgenericholder object
         resultobject = misc.GenericHolder()
@@ -1544,8 +1858,7 @@ class YumBase(depsolve.Depsolve):
                                           errors=errors)
 
                           
-        if (not self.conf.keepcache and
-            not self.ts.isTsFlagSet(rpm.RPMTRANS_FLAG_TEST)):
+        if not self.ts.isTsFlagSet(rpm.RPMTRANS_FLAG_TEST):
             self.cleanUsedHeadersPackages()
         
         for i in ('ts_all_fn', 'ts_done_fn'):
@@ -1567,13 +1880,35 @@ class YumBase(depsolve.Depsolve):
         self.plugins.run('posttrans')
         # sync up what just happened versus what is in the rpmdb
         if not self.ts.isTsFlagSet(rpm.RPMTRANS_FLAG_TEST):
-            self.verifyTransaction(resultobject)
+            vTcb = None
+            if hasattr(cb, 'verify_txmbr'):
+                vTcb = cb.verify_txmbr
+            self.verifyTransaction(resultobject, vTcb)
+            if self.conf.group_command == 'objects':
+                self.igroups.save()
+
+        if (self.fssnap.available and
+            (not self.ts.isTsFlagSet(rpm.RPMTRANS_FLAG_TEST) and
+            self.conf.fssnap_automatic_post)):
+            if not self.fssnap.has_space(self.conf.fssnap_percentage):
+                msg = _("Not enough space to create post trans FS snapshot.")
+                self.logger.critical(msg)
+            else:
+                tags = {'*': ['reason=automatic']} # FIXME: post tags
+                self.fssnap.snapshot(self.conf.fssnap_percentage, tags=tags)
+
         return resultobject
 
-    def verifyTransaction(self, resultobject=None):
-        """checks that the transaction did what we expected it to do. Also 
-           propagates our external yumdb info"""
-        
+    def verifyTransaction(self, resultobject=None, txmbr_cb=None):
+        """Check that the transaction did what was expected, and 
+        propagate external yumdb information.  Output error messages
+        if the transaction did not do what was expected.
+
+        :param resultobject: the :class:`yum.misc.GenericHolder`
+           object returned from the :func:`runTransaction` call that
+           ran the transaction
+        :param txmbr_cb: the callback for the rpm transaction members
+        """
         # check to see that the rpmdb and the tsInfo roughly matches
         # push package object metadata outside of rpmdb into yumdb
         # delete old yumdb metadata entries
@@ -1584,24 +1919,58 @@ class YumBase(depsolve.Depsolve):
         #    that there is not also an install of this pkg in the tsInfo (reinstall)
         # for any kind of install add from_repo to the yumdb, and the cmdline
         # and the install reason
-        
+
+        def _call_txmbr_cb(txmbr, count):
+            if txmbr_cb is not None:
+                count += 1
+                txmbr_cb(txmbr, count)
+            return count
+        
+        oil = self.conf.override_install_langs
+        if not oil:
+            oil = rpm.expandMacro("%_install_langs")
+        if oil == 'all':
+            oil = ''
+        elif oil:
+            oil = ":".join(sorted(oil.split(':')))
         vt_st = time.time()
         self.plugins.run('preverifytrans')
+        count = 0
         for txmbr in self.tsInfo:
             if txmbr.output_state in TS_INSTALL_STATES:
                 if not self.rpmdb.contains(po=txmbr.po):
                     # maybe a file log here, too
                     # but raising an exception is not going to do any good
                     self.logger.critical(_('%s was supposed to be installed' \
-                                           ' but is not!' % txmbr.po))
+                                           ' but is not!') % txmbr.po)
                     # Note: Get Panu to do te.Failed() so we don't have to
                     txmbr.output_state = TS_FAILED
+                    count = _call_txmbr_cb(txmbr, count)
                     continue
+                count = _call_txmbr_cb(txmbr, count)
                 po = self.getInstalledPackageObject(txmbr.pkgtup)
                 rpo = txmbr.po
                 po.yumdb_info.from_repo = rpo.repoid
                 po.yumdb_info.reason = txmbr.reason
                 po.yumdb_info.releasever = self.conf.yumvar['releasever']
+                for var in self.conf.yumvar: # Store all yum variables.
+                    # Skip some of the variables...
+                    if var == 'releasever': continue
+                    if var == 'basearch': continue # This "never" changes.
+                    if var == 'arch':     continue
+                    if var == 'uuid':     continue
+                    setattr(po.yumdb_info, 'var_' + var, self.conf.yumvar[var])
+                if oil:
+                    po.yumdb_info.ts_install_langs = oil
+                if 'nocontexts' in self.conf.tsflags:
+                    po.yumdb_info.tsflag_nocontexts = 'true'
+                if 'nodocs' in self.conf.tsflags:
+                    po.yumdb_info.tsflag_nodocs = 'true'
+                if 'noscripts' in self.conf.tsflags:
+                    po.yumdb_info.tsflag_noscripts = 'true'
+                if 'notriggers' in self.conf.tsflags:
+                    po.yumdb_info.tsflag_notriggers = 'true'
+
                 if hasattr(self, 'args') and self.args:
                     po.yumdb_info.command_line = ' '.join(self.args)
                 elif hasattr(self, 'cmds') and self.cmds:
@@ -1630,6 +1999,10 @@ class YumBase(depsolve.Depsolve):
                     if md:
                         po.yumdb_info.from_repo_timestamp = str(md.timestamp)
 
+                if hasattr(txmbr, 'group_member'):
+                    # FIXME:
+                    po.yumdb_info.group_member = txmbr.group_member
+
                 loginuid = misc.getloginuid()
                 if txmbr.updates or txmbr.downgrades or txmbr.reinstall:
                     if txmbr.updates:
@@ -1640,11 +2013,16 @@ class YumBase(depsolve.Depsolve):
                         opo = po
                     if 'installed_by' in opo.yumdb_info:
                         po.yumdb_info.installed_by = opo.yumdb_info.installed_by
+                    if 'group_member' in opo.yumdb_info:
+                        po.yumdb_info.group_member = opo.yumdb_info.group_member
                     if loginuid is not None:
                         po.yumdb_info.changed_by = str(loginuid)
                 elif loginuid is not None:
                     po.yumdb_info.installed_by = str(loginuid)
 
+                if self.conf.history_record:
+                    self.history.sync_alldb(po)
+
         # Remove old ones after installing new ones, so we can copy values.
         for txmbr in self.tsInfo:
             if txmbr.output_state in TS_INSTALL_STATES:
@@ -1662,10 +2040,13 @@ class YumBase(depsolve.Depsolve):
                                                ' but is not!' % txmbr.po))
                         # Note: Get Panu to do te.Failed() so we don't have to
                         txmbr.output_state = TS_FAILED
+                        count = _call_txmbr_cb(txmbr, count)
                         continue
+                count = _call_txmbr_cb(txmbr, count)
                 yumdb_item = self.rpmdb.yumdb.get_package(po=txmbr.po)
                 yumdb_item.clean()
             else:
+                count = _call_txmbr_cb(txmbr, count)
                 self.verbose_logger.log(logginglevels.DEBUG_2, 'What is this? %s' % txmbr.po)
 
         self.plugins.run('postverifytrans')
@@ -1680,10 +2061,11 @@ class YumBase(depsolve.Depsolve):
         self.verbose_logger.debug('VerifyTransaction time: %0.3f' % (time.time() - vt_st))
 
     def costExcludePackages(self):
-        """ Create an excluder for repos. with higher cost. Eg.
-            repo-A:cost=1 repo-B:cost=2 ... here we setup an excluder on repo-B
-            that looks for pkgs in repo-B."""
-        
+        """Create an excluder for repositories with higher costs. For
+        example, if repo-A:cost=1 and repo-B:cost=2, this function
+        will set up an excluder on repo-B that looks for packages in
+        repo-B.
+        """
         # if all the repo.costs are equal then don't bother running things
         costs = {}
         for r in self.repos.listEnabled():
@@ -1705,10 +2087,12 @@ class YumBase(depsolve.Depsolve):
             done = True
 
     def excludePackages(self, repo=None):
-        """removes packages from packageSacks based on global exclude lists,
-           command line excludes and per-repository excludes, takes optional 
-           repo object to use."""
+        """Remove packages from packageSacks based on global exclude
+        lists, command line excludes and per-repository excludes.
 
+        :param repo: a repo object to use.  If not given, all
+           repositories are used
+        """
         if "all" in self.conf.disable_excludes:
             return
         
@@ -1735,9 +2119,14 @@ class YumBase(depsolve.Depsolve):
             self.pkgSack.addPackageExcluder(repoid, exid,'exclude.match', match)
 
     def includePackages(self, repo):
-        """removes packages from packageSacks based on list of packages, to include.
-           takes repoid as a mandatory argument."""
-        
+        """Remove packages from packageSacks based on list of
+        packages to include.  
+
+        :param repo: the repository to use
+        """
+        for di in getattr(self.conf, 'disable_includes', []):
+            if di == 'all' or di == repo.id:
+                return
         includelist = repo.getIncludePkgList()
         
         if len(includelist) == 0:
@@ -1757,8 +2146,11 @@ class YumBase(depsolve.Depsolve):
         self.pkgSack.addPackageExcluder(repo.id, exid, 'exclude.marked')
         
     def doLock(self, lockfile = YUM_PID_FILE):
-        """perform the yum locking, raise yum-based exceptions, not OSErrors"""
-        
+        """Acquire the yum lock.
+
+        :param lockfile: the file to use for the lock
+        :raises: :class:`yum.Errors.LockError`
+        """
         if self.conf.uid != 0:
             #  If we are a user, assume we are using the root cache ... so don't
             # bother locking.
@@ -1773,39 +2165,39 @@ class YumBase(depsolve.Depsolve):
         lockfile = os.path.normpath(lockfile) # get rid of silly preceding extra /
         
         mypid=str(os.getpid())    
-        while not self._lock(lockfile, mypid, 0644):
-            try:
-                fd = open(lockfile, 'r')
-            except (IOError, OSError), e:
-                msg = _("Could not open lock %s: %s") % (lockfile, e)
-                raise Errors.LockError(errno.EPERM, msg)
-                
-            try: oldpid = int(fd.readline())
-            except ValueError:
-                # bogus data in the pid file. Throw away.
+        while True:
+            ret = self._lock(lockfile, mypid, 0644)
+            if ret:
+                break
+
+            oldpid = self._get_locker(lockfile)
+            if not oldpid:
+                # Invalid locker: unlink lockfile and retry
                 self._unlock(lockfile)
-            else:
-                if oldpid == os.getpid(): # if we own the lock, we're fine
-                    break
-                try: os.kill(oldpid, 0)
-                except OSError, e:
-                    if e[0] == errno.ESRCH:
-                        # The pid doesn't exist
-                        self._unlock(lockfile)
-                    else:
-                        # Whoa. What the heck happened?
-                        msg = _('Unable to check if PID %s is active') % oldpid
-                        raise Errors.LockError(errno.EPERM, msg, oldpid)
-                else:
-                    # Another copy seems to be running.
-                    msg = _('Existing lock %s: another copy is running as pid %s.') % (lockfile, oldpid)
-                    raise Errors.LockError(0, msg, oldpid)
+                continue
+            if oldpid == os.getpid(): # if we own the lock, we're fine
+                ret = 1
+                break
+            # Another copy seems to be running.
+            msg = _('Existing lock %s: another copy is running as pid %s.') % (lockfile, oldpid)
+            raise Errors.LockError(0, msg, oldpid)
+
+        if ret == 2:
+            #  Means lockdir isn't setup, out of bad options just run without
+            # locks.
+            return
+
+        assert ret == 1
         # We've got the lock, store it so we can auto-unlock on __del__...
         self._lockfile = lockfile
     
     def doUnlock(self, lockfile=None):
-        """do the unlock for yum"""
-        
+        """Release the yum lock.
+
+        :param lockfile: the lock file to use.  If not given, the file
+           that was given as a parameter to the :func:`doLock` call
+           that closed the lock is used
+        """
         # if we're not root then we don't lock - just return nicely
         #  Note that we can get here from __del__, so if we haven't created
         # YumBase.conf we don't want to do so here as creating stuff inside
@@ -1830,31 +2222,74 @@ class YumBase(depsolve.Depsolve):
         self._unlock(lockfile)
         self._lockfile = None
         
-    def _lock(self, filename, contents='', mode=0777):
+    @staticmethod
+    def _lock(filename, contents='', mode=0777):
         lockdir = os.path.dirname(filename)
         try:
             if not os.path.exists(lockdir):
-                os.makedirs(lockdir, mode=0755)
+                #  We used to os.makedirs(lockdir, mode=0755) ... but that
+                # causes problems now due to /var/run being a magic systemd dir.
+                #  So we now just give up and run, hopefully nobody runs N
+                # instances before the magic dir. is activate.
+                return 2
+
             fd = os.open(filename, os.O_EXCL|os.O_CREAT|os.O_WRONLY, mode)    
+            os.write(fd, contents)
+            os.close(fd)
+            return 1
         except OSError, msg:
             if not msg.errno == errno.EEXIST: 
                 # Whoa. What the heck happened?
-                errmsg = _('Could not create lock at %s: %s ') % (filename, str(msg))
+                errmsg = _('Could not create lock at %s: %s ') % (filename, exception2msg(msg))
                 raise Errors.LockError(msg.errno, errmsg, int(contents))
             return 0
-        else:
-            os.write(fd, contents)
-            os.close(fd)
-            return 1
     
-    def _unlock(self, filename):
+    @staticmethod
+    def _unlock(filename):
         misc.unlink_f(filename)
 
+    @staticmethod
+    def _get_locker(lockfile):
+        try: fd = open(lockfile, 'r')
+        except (IOError, OSError), e:
+            msg = _("Could not open lock %s: %s") % (lockfile, e)
+            raise Errors.LockError(errno.EPERM, msg)
+        try: oldpid = int(fd.readline())
+        except ValueError:
+            return None # Bogus pid
+
+        try:
+            stat = open("/proc/%d/stat" % oldpid).readline()
+            if stat.split()[2] == 'Z':
+                return None # The pid is a zombie
+        except IOError:
+            # process dead or /proc not mounted
+            try: os.kill(oldpid, 0)
+            except OSError, e:
+                if e[0] == errno.ESRCH:
+                    return None # The pid doesn't exist
+                # Whoa. What the heck happened?
+                msg = _('Unable to check if PID %s is active') % oldpid
+                raise Errors.LockError(errno.EPERM, msg, oldpid)
+        return oldpid
+
     def verifyPkg(self, fo, po, raiseError):
-        """verifies the package is what we expect it to be
-           raiseError  = defaults to 0 - if 1 then will raise
-           a URLGrabError if the file does not check out.
-           otherwise it returns false for a failure, true for success"""
+        """Check that the checksum of a remote package matches what we
+        expect it to be.  If the checksum of the package file is
+        wrong, and the file is also larger than expected, it cannot be
+        redeemed, so delete it.
+
+        :param fo: the file object of the package
+        :param po: the package object to verify
+        :param raiseError: if *raiseError* is 1, and the package
+           does not check out, a :class:`URLGrabError will be raised.
+           Defaults to 0
+        :return: True if the package is verified successfully.
+           Otherwise, False will be returned, unless *raiseError* is
+           1, in which case a :class:`URLGrabError` will be raised
+        :raises: :class:`URLGrabError` if verification fails, and
+           *raiseError* is 1
+        """
         failed = False
 
         if type(fo) is types.InstanceType:
@@ -1877,10 +2312,10 @@ class YumBase(depsolve.Depsolve):
             cursize = os.stat(fo)[6]
             totsize = long(po.size)
             if cursize >= totsize and not po.repo.cache:
-                # if the path to the file is NOT inside the cachedir then don't
-                # unlink it b/c it is probably a file:// url and possibly
+                # if the path to the file is NOT inside the pkgdir then don't
+                # unlink it b/c it is probably a file:// url and possibly not
                 # unlinkable
-                if fo.startswith(po.repo.cachedir):
+                if fo.startswith(po.repo.pkgdir):
                     os.unlink(fo)
 
             if raiseError:
@@ -1894,9 +2329,16 @@ class YumBase(depsolve.Depsolve):
         
         
     def verifyChecksum(self, fo, checksumType, csum):
-        """Verify the checksum of the file versus the 
-           provided checksum"""
-
+        """Verify that the checksum of the given file matches the
+        given checksum.
+
+        :param fo: the file object to verify the checksum of
+        :param checksumType: the type of checksum to use
+        :parm csum: the checksum to check against
+        :return: 0 if the checksums match
+        :raises: :class:`URLGrabError` if there is an error performing
+           the checksums, or the checksums do not match
+        """
         try:
             filesum = misc.checksum(checksumType, fo)
         except Errors.MiscError, e:
@@ -1908,13 +2350,26 @@ class YumBase(depsolve.Depsolve):
         return 0
 
     def downloadPkgs(self, pkglist, callback=None, callback_total=None):
+        """Download the packages specified by the given list of
+        package objects.
+
+        :param pkglist: a list of package objects specifying the
+           packages to download
+        :param callback: unused
+        :param callback_total: a callback to output messages about the
+           download operation
+        :return: a dictionary containing errors from the downloading process
+        :raises: :class:`URLGrabError`
+        """
         def mediasort(apo, bpo):
             # FIXME: we should probably also use the mediaid; else we
             # could conceivably ping-pong between different disc1's
             a = apo.getDiscNum()
             b = bpo.getDiscNum()
             if a is None and b is None:
-                return cmp(apo, bpo)
+                # deltas first to start rebuilding asap
+                return cmp(isinstance(bpo, DeltaPackage),
+                           isinstance(apo, DeltaPackage)) or cmp(apo, bpo)
             if a is None:
                 return -1
             if b is None:
@@ -1925,12 +2380,11 @@ class YumBase(depsolve.Depsolve):
                 return 1
             return 0
         
-        """download list of package objects handed to you, output based on
-           callback, raise yum.Errors.YumBaseError on problems"""
-
         errors = {}
         def adderror(po, msg):
             errors.setdefault(po, []).append(msg)
+            if po.localpath.endswith('.tmp'):
+                misc.unlink_f(po.localpath) # won't resume this..
 
         #  We close the history DB here because some plugins (presto) use
         # threads. And sqlite really doesn't like threads. And while I don't
@@ -1943,116 +2397,215 @@ class YumBase(depsolve.Depsolve):
         self.history.close()
 
         self.plugins.run('predownload', pkglist=pkglist)
-        repo_cached = False
+        beenthere = set() # only once, please. BZ 468401
+        downloadonly = getattr(self.conf, 'downloadonly', False)
         remote_pkgs = []
         remote_size = 0
+
+        def verify_local(po):
+            local = po.localPkg()
+            if local in beenthere:
+                # This is definitely a depsolver bug.  Make it fatal?
+                self.verbose_logger.warn(_("ignoring a dupe of %s") % po)
+                return True
+            beenthere.add(local)
+            if downloadonly and not os.path.exists(local):
+              # Check before we munge the name...
+              po.repo._preload_pkg_from_system_cache(po)
+            if os.path.exists(local):
+                if self.verifyPkg(local, po, False):
+                    self.verbose_logger.debug(_("using local copy of %s") % po)
+                    return True
+                if po.repo.cache:
+                    adderror(po, _('package fails checksum but caching is '
+                        'enabled for %s') % po.repo.id)
+                    return False
+            if downloadonly:
+                po.localpath += '.%d.tmp' % os.getpid()
+                try: os.rename(local, po.localpath)
+                except OSError: pass
+                po.returnIdSum()
+                po.basepath # prefetch now; fails when repos are closed
+            return False
+
+        pkgs = []
         for po in pkglist:
             if hasattr(po, 'pkgtype') and po.pkgtype == 'local':
                 continue
-                    
-            local = po.localPkg()
-            if os.path.exists(local):
-                if not self.verifyPkg(local, po, False):
-                    if po.repo.cache:
-                        repo_cached = True
-                        adderror(po, _('package fails checksum but caching is '
-                            'enabled for %s') % po.repo.id)
-                else:
-                    self.verbose_logger.debug(_("using local copy of %s") %(po,))
+            if verify_local(po):
+                continue
+            if errors:
+                return errors
+            pkgs.append(po)
+
+        # download presto metadata and use drpms
+        presto = DeltaInfo(self, pkgs, adderror)
+        deltasize = rpmsize = 0
+        for po in pkgs:
+            if isinstance(po, DeltaPackage):
+                if verify_local(po):
+                    # there's .drpm already, use it
+                    presto.rebuild(po)
                     continue
-                        
+                deltasize += po.size
+                rpmsize += po.rpm.size
             remote_pkgs.append(po)
             remote_size += po.size
-            
-            # caching is enabled and the package 
-            # just failed to check out there's no 
-            # way to save this, report the error and return
-            if (self.conf.cache or repo_cached) and errors:
-                return errors
-                
+        if deltasize:
+            self.verbose_logger.info(_('Delta RPMs reduced %s of updates to %s (%d%% saved)'),
+                format_number(rpmsize), format_number(deltasize), 100 - deltasize*100.0/rpmsize)
+
+        if downloadonly:
+            if hasattr(self, '_old_cachedir'):
+              # Try to link/copy them out, if we have somewhere to put them.
+
+              for po in pkglist:
+                if not po.localpath.startswith(self.conf.cachedir):
+                  continue
+
+                end = po.localpath[len(self.conf.cachedir):]
+                try:
+                  os.link(po.localpath, self._old_cachedir + end)
+                except:
+                  try:
+                    shutil.copy2(po.localpath, self._old_cachedir + end)
+                  except:
+                    pass
+
+            # close DBs, unlock
+            self.repos.close()
+            self.closeRpmDB()
+            self.doUnlock()
 
-        remote_pkgs.sort(mediasort)
-        #  This is kind of a hack and does nothing in non-Fedora versions,
-        # we'll fix it one way or anther soon.
-        if (hasattr(urlgrabber.progress, 'text_meter_total_size') and
-            len(remote_pkgs) > 1):
-            urlgrabber.progress.text_meter_total_size(remote_size)
         beg_download = time.time()
-        i = 0
-        local_size = 0
-        done_repos = set()
-        for po in remote_pkgs:
-            #  Recheck if the file is there, works around a couple of weird
-            # edge cases.
-            local = po.localPkg()
-            i += 1
-            if os.path.exists(local):
-                if self.verifyPkg(local, po, False):
-                    self.verbose_logger.debug(_("using local copy of %s") %(po,))
-                    remote_size -= po.size
+        all_remote_pkgs = remote_pkgs
+        all_remote_size = remote_size
+        while True:
+            remote_pkgs.sort(mediasort)
+            #  This is kind of a hack and does nothing in non-Fedora versions,
+            # we'll fix it one way or anther soon.
+            if (hasattr(urlgrabber.progress, 'text_meter_total_size') and
+                len(remote_pkgs) > 1):
+                urlgrabber.progress.text_meter_total_size(remote_size)
+            i = 0
+            local_size = [0]
+            done_repos = set()
+            async = hasattr(urlgrabber.grabber, 'parallel_wait')
+            for po in remote_pkgs:
+                i += 1
+
+                def checkfunc(obj, po=po):
+                    self.verifyPkg(obj, po, 1)
+                    if po.localpath.endswith('.tmp'):
+                        rpmfile = po.localpath.rsplit('.', 2)[0]
+                        os.rename(po.localpath, rpmfile)
+                        po.localpath = rpmfile
+                    local_size[0] += po.size
                     if hasattr(urlgrabber.progress, 'text_meter_total_size'):
                         urlgrabber.progress.text_meter_total_size(remote_size,
-                                                                  local_size)
-                    continue
-                if os.path.getsize(local) >= po.size:
-                    os.unlink(local)
-
-            checkfunc = (self.verifyPkg, (po, 1), {})
-            dirstat = os.statvfs(po.repo.pkgdir)
-            if (dirstat.f_bavail * dirstat.f_bsize) <= long(po.size):
-                adderror(po, _('Insufficient space in download directory %s\n'
-                        "    * free   %s\n"
-                        "    * needed %s") %
-                         (po.repo.pkgdir,
-                          format_number(dirstat.f_bavail * dirstat.f_bsize),
-                          format_number(po.size)))
-                continue
-            
-            try:
-                if i == 1 and not local_size and remote_size == po.size:
-                    text = os.path.basename(po.relativepath)
-                else:
-                    text = '(%s/%s): %s' % (i, len(remote_pkgs),
-                                            os.path.basename(po.relativepath))
-                mylocal = po.repo.getPackage(po,
-                                   checkfunc=checkfunc,
-                                   text=text,
-                                   cache=po.repo.http_caching != 'none',
-                                   )
-                local_size += po.size
-                if hasattr(urlgrabber.progress, 'text_meter_total_size'):
-                    urlgrabber.progress.text_meter_total_size(remote_size,
-                                                              local_size)
-                if po.repoid not in done_repos:
-                    #  Check a single package per. repo. ... to give a hint to
-                    # the user on big downloads.
-                    result, errmsg = self.sigCheckPkg(po)
-                    if result != 0:
-                        self.verbose_logger.warn("%s", errmsg)
-                done_repos.add(po.repoid)
-
-            except Errors.RepoError, e:
-                adderror(po, str(e))
-            else:
-                po.localpath = mylocal
-                if po in errors:
-                    del errors[po]
-
-        if hasattr(urlgrabber.progress, 'text_meter_total_size'):
-            urlgrabber.progress.text_meter_total_size(0)
-        if callback_total is not None and not errors:
-            callback_total(remote_pkgs, remote_size, beg_download)
+                                                                  local_size[0])
+                    if isinstance(po, DeltaPackage):
+                        presto.rebuild(po)
+                        return
+                    else:
+                        presto.dequeue_max()
+
+                    if po.repoid not in done_repos:
+                        done_repos.add(po.repoid)
+                        #  Check a single package per. repo. ... to give a hint to
+                        # the user on big downloads.
+                        result, errmsg = self.sigCheckPkg(po)
+                        if result != 0:
+                            self.verbose_logger.warn("%s", errmsg)
+                    po.localpath = obj.filename
+                    if po in errors:
+                        del errors[po]
+
+                text = os.path.basename(po.relativepath)
+                kwargs = {}
+                if async and po.repo._async:
+                    kwargs['failfunc'] = lambda obj, po=po: adderror(po, exception2msg(obj.exception))
+                    kwargs['async'] = True
+                elif not (i == 1 and not local_size[0] and remote_size == po.size):
+                    text = '(%s/%s): %s' % (i, len(remote_pkgs), text)
+                try:
+                    po.repo.getPackage(po,
+                                       checkfunc=checkfunc,
+                                       text=text,
+                                       cache=po.repo.http_caching != 'none',
+                                       **kwargs
+                                       )
+                except Errors.RepoError, e:
+                    adderror(po, exception2msg(e))
+            if async:
+                try:
+                    urlgrabber.grabber.parallel_wait()
+                except KeyboardInterrupt:
+                    for po in remote_pkgs:
+                        if po.localpath.endswith('.tmp'):
+                            misc.unlink_f(po.localpath)
+                        elif isinstance(po, DeltaPackage) and po.rpm.localpath.endswith('.tmp'):
+                            misc.unlink_f(po.rpm.localpath)
+                    raise
+            presto.dequeue_all()
+            presto.wait()
+
+            if hasattr(urlgrabber.progress, 'text_meter_total_size'):
+                urlgrabber.progress.text_meter_total_size(0)
+
+            fatal = False
+            for po in errors:
+                if not isinstance(po, DeltaPackage):
+                    fatal = True
+                    break
+            if not errors or fatal:
+                break
 
-        self.plugins.run('postdownload', pkglist=pkglist, errors=errors)
+            # there were drpm related errors *only*
+            remote_pkgs = []
+            remote_size = 0
+            for po in errors:
+                po = po.rpm
+                remote_pkgs.append(po)
+                remote_size += po.size
+            # callback_total needs the total pkg count
+            all_remote_pkgs.extend(remote_pkgs)
+            all_remote_size += remote_size
+            errors.clear()
+            self.verbose_logger.warn(_('Some delta RPMs failed to download or rebuild. Retrying..'))
+        if callback_total and not errors:
+            callback_total(all_remote_pkgs, all_remote_size, beg_download)
+
+        if not downloadonly:
+            # XXX: Run unlocked?  Skip this for now..
+            self.plugins.run('postdownload', pkglist=pkglist, errors=errors)
 
         # Close curl object after we've downloaded everything.
         if hasattr(urlgrabber.grabber, 'reset_curl_obj'):
             urlgrabber.grabber.reset_curl_obj()
 
+        if downloadonly and not errors: # caller handles errors
+            self.verbose_logger.info(_('exiting because "Download Only" specified'))
+            sys.exit(self.exit_code)
         return errors
 
     def verifyHeader(self, fo, po, raiseError):
-        """check the header out via it's naevr, internally"""
+        """Check that the header of the given file object and matches
+        the given package.
+
+        :param fo: the file object to check
+        :param po: the package object to check
+        :param raiseError: if *raiseError* is True, a
+           :class:`URLGrabError` will be raised if the header matches
+           the package object, or cannot be read from the file.  If
+           *raiseError* is False, 0 will be returned in the above
+           cases
+        :return: 1 if the header matches the package object, and 0 if
+           they do not match, and *raiseError* is False
+        :raises: :class:`URLGrabError` if *raiseError* is True, and
+           the header does not match the package object or cannot be
+           read from the file
+        """
         if type(fo) is types.InstanceType:
             fo = fo.filename
             
@@ -2076,9 +2629,12 @@ class YumBase(depsolve.Depsolve):
         return 1
         
     def downloadHeader(self, po):
-        """download a header from a package object.
-           output based on callback, raise yum.Errors.YumBaseError on problems"""
+        """Download a header from a package object.
 
+        :param po: the package object to download the header from
+        :raises: :class:`yum.Errors.RepoError` if there are errors
+           obtaining the header
+        """
         if hasattr(po, 'pkgtype') and po.pkgtype == 'local':
             return
                 
@@ -2097,8 +2653,8 @@ class YumBase(depsolve.Depsolve):
                 return
         else:
             if self.conf.cache:
-                raise Errors.RepoError, \
-                _('Header not in local cache and caching-only mode enabled. Cannot download %s') % po.hdrpath
+                raise Errors.RepoError(_('Header not in local cache and caching-only mode enabled. Cannot download %s') % po.hdrpath,
+                                       repo=repo)
         
         if self.dsCallback: self.dsCallback.downloadHeader(po.name)
         
@@ -2122,15 +2678,17 @@ class YumBase(depsolve.Depsolve):
             return
 
     def sigCheckPkg(self, po):
-        '''
-        Take a package object and attempt to verify GPG signature if required
+        """Verify the GPG signature of the given package object.
 
-        Returns (result, error_string) where result is:
-            - 0 - GPG signature verifies ok or verification is not required.
-            - 1 - GPG verification failed but installation of the right GPG key
-                  might help.
-            - 2 - Fatal GPG verification error, give up.
-        '''
+        :param po: the package object to verify the signature of
+        :return: (result, error_string) 
+           where result is::
+
+              0 = GPG signature verifies ok or verification is not required.
+              1 = GPG verification failed but installation of the right GPG key
+                    might help.
+              2 = Fatal GPG verification error, give up.
+        """
         if self._override_sigchecks:
             check = False
             hasgpgkey = 0
@@ -2181,6 +2739,9 @@ class YumBase(depsolve.Depsolve):
         return result, msg
 
     def cleanUsedHeadersPackages(self):
+        """Delete the header and package files used in the
+        transaction from the yum cache.
+        """
         filelist = []
         for txmbr in self.tsInfo:
             if txmbr.po.state not in TS_INSTALL_STATES:
@@ -2189,6 +2750,8 @@ class YumBase(depsolve.Depsolve):
                 continue
             if txmbr.po.repoid not in self.repos.repos:
                 continue
+            if txmbr.po.repo.keepcache:
+                continue
             
             # make sure it's not a local file
             repo = self.repos.repos[txmbr.po.repoid]
@@ -2218,27 +2781,42 @@ class YumBase(depsolve.Depsolve):
                     _('%s removed'), fn)
         
     def cleanHeaders(self):
+        """Delete the header files from the yum cache."""
+
         exts = ['hdr']
         return self._cleanFiles(exts, 'hdrdir', 'header')
 
     def cleanPackages(self):
+        """Delete the package files from the yum cache."""
+
         exts = ['rpm']
         return self._cleanFiles(exts, 'pkgdir', 'package')
 
     def cleanSqlite(self):
-        exts = ['sqlite', 'sqlite.bz2', 'sqlite-journal']
+        """Delete the sqlite files from the yum cache."""
+
+        exts = ['sqlite', 'sqlite.bz2', 'sqlite.gz', 'sqlite.xz',
+                'sqlite-journal']
         return self._cleanFiles(exts, 'cachedir', 'sqlite')
 
     def cleanMetadata(self):
-        exts = ['xml.gz', 'xml', 'cachecookie', 'mirrorlist.txt', 'asc']
+        """Delete the metadata files from the yum cache."""
+
+        exts = ['xml.gz', 'xml', 'cachecookie', 'mirrorlist.txt', 'asc',
+                'xml.bz2', 'xml.xz']
         # Metalink is also here, but is a *.xml file
         return self._cleanFiles(exts, 'cachedir', 'metadata') 
 
     def cleanExpireCache(self):
+        """Delete the local data saying when the metadata and mirror
+           lists were downloaded for each repository."""
+
         exts = ['cachecookie', 'mirrorlist.txt']
         return self._cleanFiles(exts, 'cachedir', 'metadata')
 
     def cleanRpmDB(self):
+        """Delete any cached data from the local rpmdb."""
+
         cachedir = self.conf.persistdir + "/rpmdb-indexes/"
         if not os.path.exists(cachedir):
             filelist = []
@@ -2271,9 +2849,31 @@ class YumBase(depsolve.Depsolve):
         return 0, [msg]
 
     def doPackageLists(self, pkgnarrow='all', patterns=None, showdups=None,
-                       ignore_case=False):
-        """generates lists of packages, un-reduced, based on pkgnarrow option"""
-
+                       ignore_case=False, repoid=None):
+        """Return a :class:`yum.misc.GenericHolder` containing
+        lists of package objects.  The contents of the lists are
+        specified in various ways by the arguments.
+
+        :param pkgnarrow: a string specifying which types of packages
+           lists to produces, such as updates, installed, available,
+           etc.
+        :param patterns: a list of names or wildcards specifying
+           packages to list
+        :param showdups: whether to include duplicate packages in the
+           lists
+        :param ignore_case: whether to ignore case when searching by
+           package names
+        :param repoid: repoid that all pkgs will belong to
+        :return: a :class:`yum.misc.GenericHolder` instance with the
+           following lists defined::
+
+             available = list of packageObjects
+             installed = list of packageObjects
+             updates = tuples of packageObjects (updating, installed)
+             extras = list of packageObjects
+             obsoletes = tuples of packageObjects (obsoleting, installed)
+             recent = list of packageObjects
+        """
         if showdups is None:
             showdups = self.conf.showdupesfromrepos
         ygh = misc.GenericHolder(iter=pkgnarrow)
@@ -2295,6 +2895,8 @@ class YumBase(depsolve.Depsolve):
             ndinst = {} # Newest versions by name.arch
             for po in self.rpmdb.returnPackages(patterns=patterns,
                                                 ignore_case=ic):
+                if not misc.filter_pkgs_repoid([po], repoid):
+                    continue
                 dinst[po.pkgtup] = po
                 if showdups:
                     continue
@@ -2304,8 +2906,13 @@ class YumBase(depsolve.Depsolve):
             installed = dinst.values()
                         
             if showdups:
-                avail = self.pkgSack.returnPackages(patterns=patterns,
+                avail = self.pkgSack.returnPackages(repoid=repoid,
+                                                    patterns=patterns,
                                                     ignore_case=ic)
+            elif repoid:
+                avail = self.pkgSack.sacks[repoid]
+                avail = avail.returnNewestByNameArch(patterns=patterns,
+                                                     ignore_case=ic)
             else:
                 try:
                     avail = self.pkgSack.returnNewestByNameArch(patterns=patterns,
@@ -2323,16 +2930,31 @@ class YumBase(depsolve.Depsolve):
                     key = (pkg.name, pkg.arch)
                     if pkg.pkgtup in dinst:
                         reinstall_available.append(pkg)
-                    elif key not in ndinst or pkg.verGT(ndinst[key]):
-                        available.append(pkg)
                     else:
-                        old_available.append(pkg)
+                        # if (self.allowedMultipleInstalls(pkg) or
+                        #     key not in ndinst):
+                        #  Might be because pattern specified a version, so
+                        # we need to do a search for name/arch to find any
+                        # installed. Alas. calling allowedMultipleInstalls()
+                        # is much slower than calling searchNevra(). *Sigh*
+                        ipkgs = self.rpmdb.searchNevra(pkg.name,
+                                                       arch=pkg.arch)
+                        ipkgs = misc.filter_pkgs_repoid(ipkgs, repoid)
+                        if ipkgs:
+                            ndinst[key] = sorted(ipkgs)[-1]
+
+                        if key not in ndinst or pkg.verGT(ndinst[key]):
+                            available.append(pkg)
+                        else:
+                            old_available.append(pkg)
 
         # produce the updates list of tuples
         elif pkgnarrow == 'updates':
             for (n,a,e,v,r) in self.up.getUpdatesList():
                 matches = self.pkgSack.searchNevra(name=n, arch=a, epoch=e, 
                                                    ver=v, rel=r)
+                # This is kind of wrong, depending on how you look at it.
+                matches = misc.filter_pkgs_repoid(matches, repoid)
                 if len(matches) > 1:
                     updates.append(matches[0])
                     self.verbose_logger.log(logginglevels.DEBUG_1,
@@ -2352,13 +2974,19 @@ class YumBase(depsolve.Depsolve):
         elif pkgnarrow == 'installed':
             installed = self.rpmdb.returnPackages(patterns=patterns,
                                                   ignore_case=ic)
+            installed = misc.filter_pkgs_repoid(installed, repoid)
         
         # available in a repository
         elif pkgnarrow == 'available':
 
             if showdups:
                 avail = self.pkgSack.returnPackages(patterns=patterns,
-                                                    ignore_case=ic)
+                                                    ignore_case=ic,
+                                                    repoid=repoid)
+            elif repoid:
+                avail = self.pkgSack.sacks[repoid]
+                avail = avail.returnNewestByNameArch(patterns=patterns,
+                                                     ignore_case=ic)
             else:
                 try:
                     avail = self.pkgSack.returnNewestByNameArch(patterns=patterns,
@@ -2392,9 +3020,21 @@ class YumBase(depsolve.Depsolve):
             avail = set(avail)
             for po in self.rpmdb.returnPackages(patterns=patterns,
                                                 ignore_case=ic):
+                if not misc.filter_pkgs_repoid([po], repoid):
+                    continue
                 if po.pkgtup not in avail:
                     extras.append(po)
 
+        # not in a repo but installed
+        elif pkgnarrow == 'distro-extras':
+            for po in self.rpmdb.returnPackages(patterns=patterns,
+                                                ignore_case=ic):
+                if not misc.filter_pkgs_repoid([po], repoid):
+                    continue
+                if self.pkgSack.searchNames([po.name]):
+                    continue
+                extras.append(po)
+
         # obsoleting packages (and what they obsolete)
         elif pkgnarrow == 'obsoletes':
             self.conf.obsoletes = 1
@@ -2402,6 +3042,7 @@ class YumBase(depsolve.Depsolve):
             for (pkgtup, instTup) in self.up.getObsoletesTuples():
                 (n,a,e,v,r) = pkgtup
                 pkgs = self.pkgSack.searchNevra(name=n, arch=a, ver=v, rel=r, epoch=e)
+                pkgs = misc.filter_pkgs_repoid(pkgs, repoid)
                 instpo = self.getInstalledPackageObject(instTup)
                 for po in pkgs:
                     obsoletes.append(po)
@@ -2433,7 +3074,12 @@ class YumBase(depsolve.Depsolve):
             recentlimit = now-(self.conf.recent*86400)
             if showdups:
                 avail = self.pkgSack.returnPackages(patterns=patterns,
-                                                    ignore_case=ic)
+                                                    ignore_case=ic,
+                                                    repoid=repoid)
+            elif repoid:
+                avail = self.pkgSack.sacks[repoid]
+                avail = avail.returnNewestByNameArch(patterns=patterns,
+                                                     ignore_case=ic)
             else:
                 try:
                     avail = self.pkgSack.returnNewestByNameArch(patterns=patterns,
@@ -2461,14 +3107,13 @@ class YumBase(depsolve.Depsolve):
 
         
     def findDeps(self, pkgs):
-        """
-        Return the dependencies for a given package object list, as well
-        possible solutions for those dependencies.
+        """Return the dependencies for a given package object list, as well
+        as possible solutions for those dependencies.
            
-        Returns the deps as a dict of dicts::
-            packageobject = [reqs] = [list of satisfying pkgs]
+        :param pkgs: a list of package objects
+        :return: the dependencies as a dictionary of dictionaries:
+           packageobject = [reqs] = [list of satisfying pkgs]
         """
-        
         results = {}
 
         for pkg in pkgs:
@@ -2495,10 +3140,22 @@ class YumBase(depsolve.Depsolve):
     # pre 3.2.10 API used to always showdups, so that's the default atm.
     def searchGenerator(self, fields, criteria, showdups=True, keys=False, 
                                              searchtags=True, searchrpmdb=True):
-        """Generator method to lighten memory load for some searches.
-           This is the preferred search function to use. Setting keys to True
-           will use the search keys that matched in the sorting, and return
-           the search keys in the results. """
+        """Yield the packages that match the given search criteria.
+        This generator method will lighten memory load for some
+        searches, and is the preferred search function to use.
+
+        :param fields: the fields to search
+        :param criteria: a list of strings specifying the criteria to
+           search for
+        :param showdups: whether to yield duplicate packages from
+           different repositories
+        :param keys: setting *keys* to True will use the search keys
+           that matched in the sorting, and return the search keys in
+           the results
+        :param searchtags: whether to search the package tags
+        :param searchrpmdb: whether to search the rmpdb
+           
+        """
         sql_fields = []
         for f in fields:
             sql_fields.append(RPM_TO_SQLITE.get(f, f))
@@ -2614,7 +3271,7 @@ class YumBase(depsolve.Depsolve):
         # ...but without showdups we want to output _just_ #3, which requires
         # we find the newest EVR po for the best "matching value". Without keys
         # it's the same, except we just want the newest EVR.
-        #  If we screw it up it's probably not even noticable most of the time
+        #  If we screw it up it's probably not even noticeable most of the time
         # either, so it's pretty thankless. HTH. HAND.
         # By default just sort using package sorting
         sort_func = operator.itemgetter(0)
@@ -2661,6 +3318,14 @@ class YumBase(depsolve.Depsolve):
                     yield (po, vs)
 
     def searchPackageTags(self, criteria):
+        """Search for and return a list packages that have tags
+        matching the given criteria.
+
+        :param criteria: a list of strings specifying the criteria to
+           search for
+        :return: a list of package objects that have tags matching the
+           given criteria
+        """
         results = {} # name = [(criteria, taglist)]
         for c in criteria:
             c = c.lower()
@@ -2677,11 +3342,16 @@ class YumBase(depsolve.Depsolve):
         return results
         
     def searchPackages(self, fields, criteria, callback=None):
-        """Search specified fields for matches to criteria
-           optional callback specified to print out results
-           as you go. Callback is a simple function of:
-           callback(po, matched values list). It will 
-           just return a dict of dict[po]=matched values list"""
+        """Deprecated.  Search the specified fields for packages that
+        match the given criteria, and return a list of the results.
+
+        :param fields: the fields to search
+        :param criteria: a list of strings specifying the criteria to
+           search for
+        :param callback: a function to print out the results as they
+           are found.  *callback* should have the form callback(po,
+           matched values list)
+        """
         warnings.warn(_('searchPackages() will go away in a future version of Yum.\
                       Use searchGenerator() instead. \n'),
                 Errors.YumFutureDeprecationWarning, stacklevel=2)           
@@ -2700,13 +3370,23 @@ class YumBase(depsolve.Depsolve):
     
     def searchPackageProvides(self, args, callback=None,
                               callback_has_matchfor=False):
+        """Search for and return a list package objects that provide
+        the given files or features.
+
+        :param args: a list of strings specifying the files and
+           features to search for the packages that provide
+        :param callback: a callback function to print out the results
+           as they are found
+        :param callback_has_matchfor: whether the callback function
+           will accept a list of strings to highlight in its output.
+           If this is true, *args* will be passed to *callback* so
+           that the files or features that were searched for can be
+           highlighted
+        """
         def _arg_data(arg):
             if not misc.re_glob(arg):
                 isglob = False
-                if arg[0] != '/':
-                    canBeFile = False
-                else:
-                    canBeFile = True
+                canBeFile = arg.startswith('/')
             else:
                 isglob = True
                 canBeFile = misc.re_filename(arg)
@@ -2723,7 +3403,7 @@ class YumBase(depsolve.Depsolve):
                 where = self.returnPackagesByDep(arg)
             else:
                 usedDepString = False
-                where = self.pkgSack.searchAll(arg, False)
+                where = self.pkgSack.searchProvides(arg)
             self.verbose_logger.log(logginglevels.DEBUG_1,
                P_('Searching %d package', 'Searching %d packages', len(where)), len(where))
             
@@ -2817,29 +3497,170 @@ class YumBase(depsolve.Depsolve):
             
         return matches
 
-    def doGroupLists(self, uservisible=0, patterns=None, ignore_case=True):
-        """returns two lists of groups, installed groups and available groups
-           optional 'uservisible' bool to tell it whether or not to return
-           only groups marked as uservisible"""
-        
-        
-        installed = []
-        available = []
+    def _groupInstalledData(self, group):
+        """ Return a dict of
+             pkg_name =>
+             (installed, available,
+             backlisted-installed, blacklisted-available). """
+        ret = {}
+        if not group or self.conf.group_command != 'objects':
+            return ret
+
+        pkg_names = {}
+        if group.groupid in self.igroups.groups:
+            pkg_names = self.igroups.groups[group.groupid].pkg_names
+
+        all_pkg_names = set(list(pkg_names))
+        if hasattr(group, 'packages'): # If a comps. group, add remote pkgs.
+            all_pkg_names.update(group.packages)
+
+        for pkg_name in all_pkg_names:
+            ipkgs = self.rpmdb.searchNames([pkg_name])
+            if pkg_name not in pkg_names and not ipkgs:
+                ret[pkg_name] = 'available'
+                continue
 
-        if self.comps.compscount == 0:
-            raise Errors.GroupsError, _('No group data available for configured repositories')
-        
-        if patterns is None:
-            grps = self.comps.groups
-        else:
-            grps = self.comps.return_groups(",".join(patterns),
-                                            case_sensitive=not ignore_case)
-        for grp in grps:
-            if grp.installed:
-                if uservisible:
-                    if grp.user_visible:
-                        installed.append(grp)
-                else:
+            if not ipkgs:
+                ret[pkg_name] = 'blacklisted-available'
+                continue
+
+            for ipkg in ipkgs:
+                # Multiarch, if any are installed for the group we count "both"
+                if ipkg.yumdb_info.get('group_member', '') != group.groupid:
+                    continue
+                ret[pkg_name] = 'installed'
+                break
+            else:
+                ret[pkg_name] = 'blacklisted-installed'
+
+        return ret
+
+    def _groupInstalledEnvData(self, evgroup):
+        """ Return a dict of
+             grp_name =>
+             (installed, available,
+             backlisted-installed, blacklisted-available). """
+        ret = {}
+        if not evgroup or self.conf.group_command != 'objects':
+            return ret
+
+        grp_names = {}
+        if evgroup.environmentid in self.igroups.groups:
+            grp_names = self.igroups.environments[evgroup.environmentid]
+            grp_names = grp_names.grp_names
+
+        all_grp_names = set(list(grp_names))
+        if hasattr(evgroup, 'allgroups'): # If a comps. evgroup, add remote grps
+            all_grp_names.update(evgroup.allgroups)
+
+        for grp_name in all_grp_names:
+            igrp = self.igroups.groups.get(grp_name)
+            if grp_name not in grp_names and not igrp:
+                ret[grp_name] = 'available'
+                continue
+
+            if not igrp:
+                ret[grp_name] = 'blacklisted-available'
+                continue
+
+            if igrp.environment == evgroup.environmentid:
+                ret[grp_name] = 'installed'
+            else:
+                ret[grp_name] = 'blacklisted-installed'
+
+        return ret
+
+    def _groupReturnGroups(self, patterns=None, ignore_case=True):
+        igrps = None
+        ievgrps = None
+        if patterns is None:
+            grps = self.comps.groups
+            if self.conf.group_command == 'objects':
+                igrps = self.igroups.groups.values()
+            evgrps = self.comps.environments
+            if self.conf.group_command == 'objects':
+                ievgrps = self.igroups.environments.values()
+            return igrps, grps, ievgrps, evgrps
+
+        gpats = []
+        epats = []
+        for pat in patterns:
+            if pat.startswith('@^'):
+                epats.append(pat[2:])
+            elif pat.startswith('@'):
+                gpats.append(pat[1:])
+            else:
+                epats.append(pat)
+                gpats.append(pat)
+
+        epats = ",".join(epats)
+        gpats = ",".join(gpats)
+
+        cs   = not ignore_case
+        grps = self.comps.return_groups(gpats, case_sensitive=cs)
+        #  Because we want name matches too, and we don't store group names
+        # we need to add the groupid's we've found:
+        if self.conf.group_command == 'objects':
+            gpats = gpats + "," + ",".join([grp.groupid for grp in grps])
+            igrps = self.igroups.return_groups(gpats, case_sensitive=cs)
+
+        evgrps = self.comps.return_environments(epats, case_sensitive=cs)
+        if self.conf.group_command == 'objects':
+            epats = epats+ "," + ",".join([grp.environmentid for grp in evgrps])
+            ievgrps = self.igroups.return_environments(epats, case_sensitive=cs)
+        return igrps, grps, ievgrps, evgrps
+
+    def doGroupLists(self, uservisible=0, patterns=None, ignore_case=True,
+                     return_evgrps=False):
+        """Return two lists of groups: installed groups and available
+        groups.
+
+        :param uservisible: If True, only groups marked as uservisible
+           will be returned. Otherwise, all groups will be returned
+        :param patterns: a list of stings.  If given, only groups
+           with names that match the patterns will be included in the
+           lists.  If not given, all groups will be included
+        :param ignore_case: whether to ignore case when determining
+           whether group names match the strings in *patterns*
+        :param return_evgrps: whether to return environment groups as well as
+           package groups
+        """
+        installed = []
+        available = []
+        einstalled = []
+        eavailable = []
+
+        if self.comps.compscount == 0:
+            raise Errors.GroupsError, _('No group data available for configured repositories')
+        
+        igrps, grps, ievgrps, evgrps = self._groupReturnGroups(patterns,
+                                                               ignore_case)
+
+        if igrps is not None:
+            digrps = {}
+            for igrp in igrps:
+                digrps[igrp.gid] = igrp
+            igrps = digrps
+
+        if ievgrps is not None:
+            digrps = {}
+            for ievgrp in ievgrps:
+                digrps[ievgrp.evgid] = ievgrp
+            ievgrps = digrps
+
+        for grp in grps:
+            if igrps is None:
+                grp_installed = grp.installed
+            else:
+                grp_installed = grp.groupid in igrps
+                if grp_installed:
+                    del igrps[grp.groupid]
+
+            if grp_installed:
+                if uservisible:
+                    if grp.user_visible:
+                        installed.append(grp)
+                else:
                     installed.append(grp)
             else:
                 if uservisible:
@@ -2847,34 +3668,97 @@ class YumBase(depsolve.Depsolve):
                         available.append(grp)
                 else:
                     available.append(grp)
+
+        for evgrp in evgrps:
+            if ievgrps is None:
+                evgrp_installed = evgrp.installed
+            else:
+                evgrp_installed = evgrp.environmentid in ievgrps
+                if evgrp_installed:
+                    del ievgrps[evgrp.environmentid]
+
+            if evgrp_installed:
+                einstalled.append(evgrp)
+            else:
+                eavailable.append(evgrp)
             
+        if igrps is None:
+            igrps = {}
+        if ievgrps is None:
+            ievgrps = {}
+
+        #  Note that we used to get here with igrps/ievgrps that didn't exist
+        # in comps. but we mock them in comps now because it was hard to deal
+        # with that everywhere ... so just to confirm.
+        assert not igrps
+        assert not ievgrps
+
+        for igrp in igrps.values():
+            #  These are installed groups that aren't in comps anymore. so we
+            # create fake comps groups for them.
+            grp = comps.Group()
+            grp.groupid = igrp.gid
+            grp.installed = True
+            grp.name = grp.groupid
+            for pkg_name in igrp.pkg_names:
+                grp.mandatory_packages[pkg_name] = 1
+            installed.append(grp)
+
+        for ievgrp in ievgrps.values():
+            #  These are installed evgroups that aren't in comps anymore. so we
+            # create fake comps evgroups for them.
+            evgrp = comps.Environment()
+            grp.environmentid = ievgrp.evgid
+            evgrp.installed = True
+            evgrp.name = evgrp.environmentid
+            evgrp._groups = list(ievgrp.groups)
+            einstalled.append(evgrp)
+
+        if return_evgrps:
+            return (sorted(installed), sorted(available),
+                    sorted(einstalled), sorted(eavailable))
         return sorted(installed), sorted(available)
     
-    
     def groupRemove(self, grpid):
-        """mark all the packages in this group to be removed"""
-        
+        """Mark all the packages in the given group to be removed.
+
+        :param grpid: the name of the group containing the packages to
+           mark for removal
+        :return: a list of transaction members added to the
+           transaction set by this function
+        """
         txmbrs_used = []
-        
+
         thesegroups = self.comps.return_groups(grpid)
         if not thesegroups:
             raise Errors.GroupsError, _("No Group named %s exists") % to_unicode(grpid)
 
         for thisgroup in thesegroups:
+            igroup_data = self._groupInstalledData(thisgroup)
+
             thisgroup.toremove = True
+
             pkgs = thisgroup.packages
-            for pkg in thisgroup.packages:
+            gid  = thisgroup.groupid
+
+            for pkg in pkgs:
+                if pkg in igroup_data and igroup_data[pkg] != 'installed':
+                    continue
+
                 txmbrs = self.remove(name=pkg, silence_warnings=True)
                 txmbrs_used.extend(txmbrs)
                 for txmbr in txmbrs:
-                    txmbr.groups.append(thisgroup.groupid)
+                    txmbr.groups.append(gid)
+            if igroup_data:
+                self.igroups.del_group(gid)
             
         return txmbrs_used
 
     def groupUnremove(self, grpid):
-        """unmark any packages in the group from being removed"""
-        
+        """Unmark any packages in the given group from being removed.
 
+        :param grpid: the name of the group to unmark the packages of
+        """
         thesegroups = self.comps.return_groups(grpid)
         if not thesegroups:
             raise Errors.GroupsError, _("No Group named %s exists") % to_unicode(grpid)
@@ -2898,18 +3782,53 @@ class YumBase(depsolve.Depsolve):
                             self.tsInfo.remove(txmbr.po.pkgtup)
         
         
-    def selectGroup(self, grpid, group_package_types=[], enable_group_conditionals=None):
-        """mark all the packages in the group to be installed
-           returns a list of transaction members it added to the transaction 
-           set
-           Optionally take:
-           group_package_types=List - overrides self.conf.group_package_types
-           enable_group_conditionals=Bool - overrides self.conf.enable_group_conditionals
+    def environmentRemove(self, evgrpid):
+        """Mark all the packages in the given group to be removed.
+
+        :param evgrpid: the name of the environment containing the groups to
+           mark for removal
+        :return: a list of transaction members added to the
+           transaction set by this function
+        """
+        txmbrs_used = []
+
+        thesegroups = self.comps.return_environments(evgrpid)
+        if not thesegroups:
+            raise Errors.GroupsError, _("No Environment named %s exists") % to_unicode(evgrpid)
+
+        for thisgroup in thesegroups:
+            igroup_data = self._groupInstalledEnvData(thisgroup)
+
+            grps  = thisgroup.allgroups
+            evgid = thisgroup.environmentid
+
+            for grp in grps:
+                if grp in igroup_data and igroup_data[grp] != 'installed':
+                    continue
+
+                txmbrs = self.groupRemove(grp)
+                txmbrs_used.extend(txmbrs)
+                for txmbr in txmbrs:
+                    txmbr.environments.append(evgid)
+            if igroup_data:
+                self.igroups.del_environment(evgid)
+
+        return txmbrs_used
+
+    def selectGroup(self, grpid, group_package_types=[],
+                    enable_group_conditionals=None, upgrade=False, ievgrp=None):
+        """Mark all the packages in the given group to be installed.
+
+        :param grpid: the name of the group containing the packages to
+           mark for installation
+        :param group_package_types: a list of the types of groups to
+           work with.  This overrides self.conf.group_package_types
+        :param enable_group_conditionals: overrides
+           self.conf.enable_group_conditionals
+        :return: a list of transaction members added to the
+           transaction set by this function
         """
 
-        if not self.comps.has_group(grpid):
-            raise Errors.GroupsError, _("No Group named %s exists") % to_unicode(grpid)
-        
         txmbrs_used = []
         thesegroups = self.comps.return_groups(grpid)
      
@@ -2920,12 +3839,18 @@ class YumBase(depsolve.Depsolve):
         if group_package_types:
             package_types = group_package_types
 
+        if self.conf.group_command == 'compat':
+            upgrade = False
+
         for thisgroup in thesegroups:
             if thisgroup.selected:
                 continue
             
             thisgroup.selected = True
             
+            # Can move to upgrade, if installed and calling install
+            lupgrade = upgrade
+
             pkgs = []
             if 'mandatory' in package_types:
                 pkgs.extend(thisgroup.mandatory_packages)
@@ -2934,12 +3859,56 @@ class YumBase(depsolve.Depsolve):
             if 'optional' in package_types:
                 pkgs.extend(thisgroup.optional_packages)
 
+            igroup_data = self._groupInstalledData(thisgroup)
+            igrp = None
+            if igroup_data:
+                if thisgroup.groupid in self.igroups.groups:
+                    igrp = self.igroups.groups[thisgroup.groupid]
+                    lupgrade = True
+                else:
+                    self.igroups.add_group(thisgroup.groupid,
+                                           thisgroup.packages, ievgrp)
+            for pkg in igroup_data:
+                if igroup_data[pkg] == 'installed':
+                    pkgs.append(pkg)
+
             old_txmbrs = len(txmbrs_used)
             for pkg in pkgs:
+                if self.conf.group_command == 'objects':
+                    assert pkg in igroup_data
+                    if (pkg not in igroup_data or
+                        igroup_data[pkg].startswith('blacklisted')):
+                        # (lupgrade and igroup_data[pkg] == 'available')):
+                        msg = _('Skipping package %s from group %s')
+                        self.verbose_logger.log(logginglevels.DEBUG_2,
+                                                msg, pkg, thisgroup.groupid)
+                        continue
+
                 self.verbose_logger.log(logginglevels.DEBUG_2,
                     _('Adding package %s from group %s'), pkg, thisgroup.groupid)
+
+                if igrp is not None:
+                    igrp.pkg_names.add(pkg)
+                    self.igroups.changed = True
+
+                txmbrs = []
                 try:
-                    txmbrs = self.install(name = pkg)
+                    if (lupgrade and
+                        (self.conf.group_command == 'simple' or
+                         (igroup_data and igroup_data[pkg] == 'installed'))):
+                        txmbrs = self.update(name = pkg,
+                                             pkg_warning_level='debug2')
+                    elif igroup_data and igroup_data[pkg] == 'installed':
+                        pass # Don't upgrade on install.
+                    else:
+                        txmbrs = self.install(name = pkg,
+                                              pkg_warning_level='debug2')
+                        for txmbr in txmbrs:
+                            txmbr.group_member = thisgroup.groupid
+                            if lupgrade: # For list transaction.
+                                txmbr._ugroup_member = thisgroup
+                            else:
+                                txmbr._igroup_member = thisgroup
                 except Errors.InstallError, e:
                     self.verbose_logger.debug(_('No package named %s available to be installed'),
                         pkg)
@@ -2953,7 +3922,9 @@ class YumBase(depsolve.Depsolve):
                 group_conditionals = enable_group_conditionals
 
             count_cond_test = 0
-            if group_conditionals:
+            # FIXME: What do we do about group conditionals when group==objects
+            #        or group upgrade for group_command=simple?
+            if not lupgrade and group_conditionals:
                 for condreq, cond in thisgroup.conditional_packages.iteritems():
                     if self.isPackageInstalled(cond):
                         try:
@@ -2990,17 +3961,23 @@ class YumBase(depsolve.Depsolve):
                         if cond not in self.tsInfo.conditionals:
                             self.tsInfo.conditionals[cond] = []
                         self.tsInfo.conditionals[cond].extend(pkgs)
-            if len(txmbrs_used) == old_txmbrs:
-                self.logger.critical(_('Warning: Group %s does not have any packages.'), thisgroup.groupid)
+
+            if not lupgrade and len(txmbrs_used) == old_txmbrs:
+                self.logger.critical(_('Warning: Group %s does not have any packages to install.'), thisgroup.groupid)
                 if count_cond_test:
-                    self.logger.critical(_('Group %s does have %u conditional packages, which may get installed.'), count_cond_test)
+                    self.logger.critical(_('Group %s does have %u conditional packages, which may get installed.'),
+                                         thisgroup.groupid, count_cond_test)
         return txmbrs_used
 
     def deselectGroup(self, grpid, force=False):
-        """ Without the force option set, this removes packages from being
-            installed that were added as part of installing one of the
-            group(s). If the force option is set, then all installing packages
-            in the group(s) are force removed from the transaction. """
+        """Unmark the packages in the given group from being
+        installed.
+
+        :param grpid: the name of the group containing the packages to
+           unmark from installation
+        :param force: if True, force remove all the packages in the
+           given group from the transaction
+        """
         
         if not self.comps.has_group(grpid):
             raise Errors.GroupsError, _("No Group named %s exists") % to_unicode(grpid)
@@ -3008,7 +3985,8 @@ class YumBase(depsolve.Depsolve):
         thesegroups = self.comps.return_groups(grpid)
         if not thesegroups:
             raise Errors.GroupsError, _("No Group named %s exists") % to_unicode(grpid)
-        
+
+        # FIXME: Do something with groups as objects, and env. groups.
         for thisgroup in thesegroups:
             thisgroup.selected = False
             
@@ -3034,13 +4012,114 @@ class YumBase(depsolve.Depsolve):
                         for pkg in self.tsInfo.conditionals.get(txmbr.name, []):
                             self.tsInfo.remove(pkg.pkgtup)
         
+    def selectEnvironment(self, evgrpid, group_package_types=[],
+                          enable_group_conditionals=None, upgrade=False):
+        """Mark all the groups in the given environment group to be installed.
+
+        :param evgrpid: the name of the env. group containing the groups to
+           mark for installation
+        :param group_package_types: a list of the types of groups to
+           work with.  This overrides self.conf.group_package_types
+        :param enable_group_conditionals: overrides
+           self.conf.enable_group_conditionals
+        :return: a list of transaction members added to the
+           transaction set by this function
+        """
+        evgrps = self.comps.return_environments(evgrpid)
+        if not evgrps:
+            raise Errors.GroupsError, _("No Environment named %s exists") % to_unicode(evgrpid)
+
+        ret = []
+        for evgrp in evgrps:
+
+            ievgrp = None
+            if self.conf.group_command == 'compat':
+                grps = ",".join(sorted(evgrp.groups))
+            elif self.conf.group_command == 'simple':
+                if not upgrade:
+                    grps = ",".join(sorted(evgrp.groups))
+                else: # Only upgrade the installed groups...
+                    grps = []
+                    for grpid in evgrp.groups:
+                        grp = self.comps.return_group(grpid)
+                        if grp is None:
+                            continue
+                        if not grp.installed:
+                            continue
+                        grps.append(grpid)
+                    grps = ",".join(sorted(grps))
+            elif self.conf.group_command == 'objects':
+                igroup_data = self._groupInstalledEnvData(evgrp)
+ 
+                grps = set()
+                for grpid in evgrp.groups:
+                    if (grpid not in igroup_data or
+                        igroup_data[grpid].startswith('blacklisted')):
+                        msg = _('Skipping group %s from environment %s')
+                        self.verbose_logger.log(logginglevels.DEBUG_2,
+                                                msg, grpid, evgrp.environmentid)
+                        continue
+                    grps.add(grpid)
+                if evgrp.environmentid in self.igroups.environments:
+                    ievgrp = self.igroups.environments[evgrp.environmentid]
+                    #  Add groups from the installed evgrp, for Eg. installed
+                    # only evgrps.
+                    for grp_name in ievgrp.grp_names:
+                        if grp_name not in self.igroups.groups:
+                            continue
+                        grp_evgrpid = self.igroups.groups[grp_name].environment
+                        if grp_evgrpid != evgrp.environmentid:
+                            continue
+                        grps.add(grp_name)
+                else:
+                    ievgrp = self.igroups.add_environment(evgrp.environmentid,
+                                                          evgrp.allgroups)
+                grps = ",".join(sorted(grps))
+
+            try:
+                txs = self.selectGroup(grps,
+                                       group_package_types,
+                                       enable_group_conditionals, upgrade,
+                                       ievgrp=ievgrp)
+            except Errors.GroupsError:
+                continue
+            ret.extend(txs)
+        return ret
+
+    def deselectEnvironment(self, evgrpid, force=False):
+        """Unmark the groups in the given environment group from being
+        installed.
+
+        :param evgrpid: the name of the environment group containing the
+           groups to unmark from installation
+        :param force: if True, force remove all the packages in the
+           given groups from the transaction
+        """
+        evgrps = self.comps.return_environments(evgrpid)
+        if not thesegroups:
+            raise Errors.GroupsError, _("No Environment named %s exists") % to_unicode(evgrpid)
+
+        for evgrp in evgrps:
+            grps = ",".join(sorted(evgrp.groups))
+            self.deselectGroup(grps, force)
+            # FIXME: env. needs to be marked not-to-be-installed, etc.
+
     def getPackageObject(self, pkgtup, allow_missing=False):
-        """retrieves a packageObject from a pkgtuple - if we need
-           to pick and choose which one is best we better call out
-           to some method from here to pick the best pkgobj if there are
-           more than one response - right now it's more rudimentary."""
-           
-        
+        """Return a package object that corresponds to the given
+        package tuple.
+
+        :param pkgtup: the package tuple specifying the package object
+           to return
+
+        :param allow_missing: If no package corresponding to the given
+           package tuple can be found, None is returned if
+           *allow_missing* is True, and a :class:`yum.Errors.DepError` is
+           raised if *allow_missing* is False.
+        :return: a package object corresponding to the given package tuple
+        :raises: a :class:`yum.Errors.DepError` if no package
+           corresponding to the given package tuple can be found, and
+           *allow_missing* is False
+        """
         # look it up in the self.localPackages first:
         for po in self.localPackages:
             if po.pkgtup == pkgtup:
@@ -3049,7 +4128,7 @@ class YumBase(depsolve.Depsolve):
         pkgs = self.pkgSack.searchPkgTuple(pkgtup)
 
         if len(pkgs) == 0:
-            self._add_not_found_a(pkgs, pkgtup)
+            self._add_not_found_a(pkgs, pkgtup=pkgtup)
             if allow_missing: #  This can happen due to excludes after .up has
                 return None   # happened.
             raise Errors.DepError, _('Package tuple %s could not be found in packagesack') % str(pkgtup)
@@ -3065,13 +4144,21 @@ class YumBase(depsolve.Depsolve):
         return result
 
     def getInstalledPackageObject(self, pkgtup):
-        """ Returns a YumInstalledPackage object for the pkgtup specified, or
-            raises an exception. You should use this instead of
-            searchPkgTuple() if you are assuming there is a value. """
-
+        """Return a :class:`yum.packages.YumInstalledPackage` object that
+        corresponds to the given package tuple.  This function should
+        be used instead of :func:`searchPkgTuple` if you are assuming
+        that the package object exists.
+
+        :param pkgtup: the package tuple specifying the package object
+           to return
+        :return: a :class:`yum.packages.YumInstalledPackage` object corresponding
+           to the given package tuple
+        :raises: a :class:`yum.Errors.RpmDBError` if the specified package
+           object cannot be found
+        """
         pkgs = self.rpmdb.searchPkgTuple(pkgtup)
         if len(pkgs) == 0:
-            self._add_not_found_i(pkgs, pkgtup)
+            self._add_not_found_i(pkgs, pkgtup=pkgtup)
             raise Errors.RpmDBError, _('Package tuple %s could not be found in rpmdb') % str(pkgtup)
 
         # Dito. FIXME from getPackageObject() for len() > 1 ... :)
@@ -3079,9 +4166,11 @@ class YumBase(depsolve.Depsolve):
         return po
         
     def gpgKeyCheck(self):
-        """checks for the presence of gpg keys in the rpmdb
-           returns 0 if no keys returns 1 if keys"""
+        """Checks for the presence of GPG keys in the rpmdb.
 
+        :return: 0 if there are no GPG keys in the rpmdb, and 1 if
+           there are keys
+        """
         gpgkeyschecked = self.conf.cachedir + '/.gpgkeyschecked.yum'
         if os.path.exists(gpgkeyschecked):
             return 1
@@ -3106,9 +4195,13 @@ class YumBase(depsolve.Depsolve):
             return 1
 
     def returnPackagesByDep(self, depstring):
-        """Pass in a generic [build]require string and this function will 
-           pass back the packages it finds providing that dep."""
+        """Return a list of package objects that provide the given
+        dependencies. 
 
+        :param depstring: a string specifying the dependency to return
+           the packages that fulfil
+        :return: a list of packages that fulfil the given dependency
+        """
         if not depstring:
             return []
 
@@ -3132,12 +4225,23 @@ class YumBase(depsolve.Depsolve):
                         raise Errors.YumBaseError, _('Invalid version flag from: %s') % str(depstring)
                     depflags = SYMBOLFLAGS[flagsymbol]
 
+        if depflags is None: # This does wildcards...
+            return self.pkgSack.searchProvides(depstring)
+
+        # This does flags+versions, but no wildcards...
         return self.pkgSack.getProvides(depname, depflags, depver).keys()
 
     def returnPackageByDep(self, depstring):
-        """Pass in a generic [build]require string and this function will 
-           pass back the best(or first) package it finds providing that dep."""
-        
+        """Return the best, or first, package object that provides the
+        given dependencies.
+
+        :param depstring: a string specifying the dependency to return
+           the package that fulfils
+        :return: the best, or first, package that fulfils the given
+           dependency
+        :raises: a :class:`yum.Errors.YumBaseError` if no packages that
+           fulfil the given dependency can be found
+        """
         # we get all sorts of randomness here
         errstring = depstring
         if type(depstring) not in types.StringTypes:
@@ -3149,16 +4253,22 @@ class YumBase(depsolve.Depsolve):
             raise Errors.YumBaseError, _('No Package found for %s') % errstring
         
         ps = ListPackageSack(pkglist)
-        result = self._bestPackageFromList(ps.returnNewestByNameArch())
+        result = self._bestPackageFromList(ps.returnNewestByNameArch(),
+                                           req=errstring)
         if result is None:
             raise Errors.YumBaseError, _('No Package found for %s') % errstring
         
         return result
 
     def returnInstalledPackagesByDep(self, depstring):
-        """Pass in a generic [build]require string and this function will 
-           pass back the installed packages it finds providing that dep."""
-        
+        """Return a list of installed package objects that provide the
+        given dependencies.
+
+        :param depstring: a string specifying the dependency to return
+           the packages that fulfil
+        :return: a list of installed packages that fulfil the given
+           dependency
+        """
         if not depstring:
             return []
 
@@ -3182,14 +4292,53 @@ class YumBase(depsolve.Depsolve):
                         raise Errors.YumBaseError, _('Invalid version flag from: %s') % str(depstring)
                     depflags = SYMBOLFLAGS[flagsymbol]
 
+        if depflags is None: # This does wildcards...
+            return self.rpmdb.searchProvides(depstring)
+
+        # This does flags+versions, but no wildcards...
         return self.rpmdb.getProvides(depname, depflags, depver).keys()
 
-    def _bestPackageFromList(self, pkglist):
+    def returnInstalledPackageByDep(self, depstring):
+        """Return the best, or first, installed package object that provides the
+        given dependencies.
+
+        :param depstring: a string specifying the dependency to return
+           the package that fulfils
+        :return: the best, or first, installed package that fulfils the given
+           dependency
+        :raises: a :class:`yum.Errors.YumBaseError` if no packages that
+           fulfil the given dependency can be found
+        """
+        # we get all sorts of randomness here
+        errstring = depstring
+        if type(depstring) not in types.StringTypes:
+            errstring = str(depstring)
+        
+        try:
+            pkglist = self.returnInstalledPackagesByDep(depstring)
+        except Errors.YumBaseError:
+            raise Errors.YumBaseError, _('No Package found for %s') % errstring
+        
+        ps = ListPackageSack(pkglist)
+        result = self._bestPackageFromList(ps.returnNewestByNameArch(),
+                                           req=errstring)
+        if result is None:
+            raise Errors.YumBaseError, _('No Package found for %s') % errstring
+        
+        return result
+
+    def _bestPackageFromList(self, pkglist, req=None):
         """take list of package objects and return the best package object.
            If the list is empty, return None. 
            
            Note: this is not aware of multilib so make sure you're only
-           passing it packages of a single arch group."""
+           passing it packages of a single arch group.
+
+           :param pkglist: the list of packages to return the best
+             packages from
+           :param req: the requirement from the user
+           :return: a list of the best packages from *pkglist*
+        """
         
         
         if len(pkglist) == 0:
@@ -3198,14 +4347,23 @@ class YumBase(depsolve.Depsolve):
         if len(pkglist) == 1:
             return pkglist[0]
 
-        bestlist = self._compare_providers(pkglist, None)
+        bestlist = self._compare_providers(pkglist, reqpo=None, req=req)
         return bestlist[0][0]
 
-    def bestPackagesFromList(self, pkglist, arch=None, single_name=False):
-        """Takes a list of packages, returns the best packages.
-           This function is multilib aware so that it will not compare
-           multilib to singlelib packages""" 
-    
+    def bestPackagesFromList(self, pkglist, arch=None, single_name=False,
+                             req=None):
+        """Return the best packages from a list of packages.  This
+        function is multilib aware, so that it will not compare
+        multilib to singlelib packages.
+
+        :param pkglist: the list of packages to return the best
+           packages from
+        :param arch: packages will be selected that are compatible
+           with the architecture specified by *arch*
+        :param single_name: whether to return a single package name
+        :param req: the requirement from the user
+        :return: a list of the best packages from *pkglist*
+        """
         returnlist = []
         compatArchList = self.arch.get_arch_list(arch)
         multiLib = []
@@ -3222,9 +4380,9 @@ class YumBase(depsolve.Depsolve):
                 singleLib.append(po)
                 
         # we now have three lists.  find the best package(s) of each
-        multi = self._bestPackageFromList(multiLib)
-        single = self._bestPackageFromList(singleLib)
-        no = self._bestPackageFromList(noarch)
+        multi = self._bestPackageFromList(multiLib, req=req)
+        single = self._bestPackageFromList(singleLib, req=req)
+        no = self._bestPackageFromList(noarch, req=req)
 
         if single_name and multi and single and multi.name != single.name:
             # Sinlge _must_ match multi, if we want a single package name
@@ -3238,7 +4396,7 @@ class YumBase(depsolve.Depsolve):
         # if there's a noarch and it's newer than the multilib, we want
         # just the noarch.  otherwise, we want multi + single
         elif multi:
-            best = self._bestPackageFromList([multi,no])
+            best = self._bestPackageFromList([multi,no], req=req)
             if best.arch == "noarch":
                 returnlist.append(no)
             else:
@@ -3246,7 +4404,7 @@ class YumBase(depsolve.Depsolve):
                 if single: returnlist.append(single)
         # similar for the non-multilib case
         elif single:
-            best = self._bestPackageFromList([single,no])
+            best = self._bestPackageFromList([single,no], req=req)
             if best.arch == "noarch":
                 returnlist.append(no)
             else:
@@ -3350,28 +4508,71 @@ class YumBase(depsolve.Depsolve):
             done = True
 
             slow = next_func(slow)
-            if next == slow:
+            if node == slow:
                 return None
 
-    def _at_groupinstall(self, pattern):
-        " Do groupinstall via. leading @ on the cmd line, for install/update."
+    def _try_bold(self, string_):
+        """Attempt to make the string look bold in terminal."""
+        if hasattr(self, 'term'):
+            return '%s%s%s' % (self.term.MODE['bold'], string_, self.term.MODE['normal'])
+        return string_
+
+    def _at_groupinstall(self, pattern, upgrade=False):
+        " Do groupinstall via. leading @ on the cmd line, for install."
         assert pattern[0] == '@'
         group_string = pattern[1:]
         tx_return = []
-        for group in self.comps.return_groups(group_string):
-            try:
-                txmbrs = self.selectGroup(group.groupid)
+
+        try: comps = self.comps
+        except yum.Errors.GroupsError, e:
+            # No Groups Available in any repository?
+            # This also means no installed groups, when using objects.
+            self.logger.warning(e)
+            return tx_return
+
+        found = False
+        if group_string and group_string[0] == '^':
+            group_string = group_string[1:]
+            # Actually dealing with "environment groups".
+            for env_grp in comps.return_environments(group_string):
+                found = True
+                txmbrs = self.selectEnvironment(env_grp.environmentid,
+                                                upgrade=upgrade)
                 tx_return.extend(txmbrs)
-            except yum.Errors.GroupsError:
-                self.logger.critical(_('Warning: Group %s does not exist.'), group_string)
-                continue
+        else:
+            for group in comps.return_groups(group_string):
+                found = True
+                txmbrs = self.selectGroup(group.groupid, upgrade=upgrade)
+                tx_return.extend(txmbrs)
+        if not found:
+            raise Errors.GroupInstallError, _('Group %s does not exist.') % self._try_bold(group_string)
         return tx_return
-        
+
+    def _at_groupupgrade(self, pattern):
+        " Do group upgrade via. leading @ on the cmd line, for update."
+        try:
+            return self._at_groupinstall(pattern, upgrade=True)
+        except Errors.GroupInstallError, e:
+            self.logger.warning(_('Warning: %s'), e)
+            return []
+
     def _at_groupremove(self, pattern):
         " Do groupremove via. leading @ on the cmd line, for remove."
         assert pattern[0] == '@'
         group_string = pattern[1:]
         tx_return = []
+
+        if group_string and group_string[0] == '^':
+            group_string = group_string[1:]
+            # Actually dealing with "environment groups".
+            try:
+                txmbrs = self.environmentRemove(group_string)
+            except yum.Errors.GroupsError:
+                self.logger.critical(_('Warning: Environment Group %s does not exist.'), group_string)
+            else:
+                tx_return.extend(txmbrs)
+            return tx_return
+
         try:
             txmbrs = self.groupRemove(group_string)
         except yum.Errors.GroupsError:
@@ -3387,6 +4588,8 @@ class YumBase(depsolve.Depsolve):
         assert pattern[0] == '@'
         grpid = pattern[1:]
 
+        # FIXME: **** environment groups and groups as objects... ****
+
         thesegroups = self.comps.return_groups(grpid)
         if not thesegroups:
             raise Errors.GroupsError, _("No Group named %s exists") % to_unicode(grpid)
@@ -3398,7 +4601,11 @@ class YumBase(depsolve.Depsolve):
     def _minus_deselect(self, pattern):
         """ Remove things from the transaction, like kickstart. """
         assert pattern[0] == '-'
-        pat = pattern[1:]
+        pat = pattern[1:].strip()
+
+        if pat and pat.startswith('@^'):
+            pat = pat[2:]
+            return self.deselectEnvironment(pat)
 
         if pat and pat[0] == '@':
             pat = pat[1:]
@@ -3437,14 +4644,87 @@ class YumBase(depsolve.Depsolve):
             if flag not in self.tsInfo.probFilterFlags:
                 self.tsInfo.probFilterFlags.append(flag)
 
+    def _install_is_upgrade(self, po, ipkgs):
+        """ See if po is an upgradeable version of an installed pkg.
+        Non-compat. arch differences mean no. """
+
+        if False and self._up is not None:
+            #  This is the old code, not sure it's good to have two paths. And
+            # we don't want to create .up. (which requires init repos.) if we
+            # don't have to.
+            return po.pkgtup in self.up.updating_dict
+
+        for ipkg in ipkgs:
+            if po.verLE(ipkg):
+                continue
+            if po.arch == ipkg.arch: # always fine.
+                return True
+            if 'noarch' in (po.arch, ipkg.arch):
+                return True
+            if not self.arch.multilib:
+                return True
+            if canCoinstall(po.arch, ipkg.arch):
+                continue
+            return True
+
+        return False
+
+    def _valid_install_arch(self, po, ipkgs=None):
+        ''' See if we can install this arch of package, mainly for
+            i386 vs. i586 or ppc64 vs. ppc64 etc. '''
+        if not ipkgs:
+            ipkgs = self.rpmdb.searchNames([po.name])
+        else:
+            ipkgs = ipkgs[:]
+
+        # Add these anyway, just to be sure.
+        for txmbr in self.tsInfo.matchNaevr(po.name):
+            if txmbr.output_state not in TS_INSTALL_STATES:
+                continue
+            ipkgs.append(txmbr.po)
+
+        for ipkg in ipkgs:
+            if po.arch == ipkg.arch:
+                continue
+            if not po.verEQ(ipkg):
+                continue
+            if canCoinstall(po.arch, ipkg.arch):
+                continue
+            self.verbose_logger.log(logginglevels.INFO_2,
+                    _("Package: %s - can't co-install with %s"), po, ipkg)
+            return False
+        return True
+
     def install(self, po=None, **kwargs):
-        """try to mark for install the item specified. Uses provided package 
-           object, if available. If not it uses the kwargs and gets the best
-           packages from the keyword options provided 
-           returns the list of txmbr of the items it installs
-           
-           """
+        """Mark the specified item for installation.  If a package
+        object is given, mark it for installation.  Otherwise, mark
+        the best package specified by the key word arguments for
+        installation.
+
+        :param po: a package object to install
+        :param kwargs: if *po* is not specified, these keyword
+           arguments will be used to find the best package to install
+        :return: a list of the transaction members added to the
+           transaction set by this function
+        :raises: :class:`yum.Errors.InstallError` if there is a problem
+           installing the package
+        """
         
+
+        #  This is kind of hacky, we really need a better way to do errors than
+        # doing them directly from .install/etc. ... but this is easy. *sigh*.
+        #  We are only using this in "groupinstall" atm. ... so we don't have
+        # a long list of "blah already installed." messages when people run
+        # "groupinstall mygroup" in yum-cron etc.
+        pkg_warn = kwargs.get('pkg_warning_level', 'flibble')
+        def _dbg2(*args, **kwargs):
+            self.verbose_logger.log(logginglevels.DEBUG_2, *args, **kwargs)
+        level2func = {'debug2' : _dbg2,
+                      'warning' : self.verbose_logger.warning}
+        if pkg_warn not in level2func:
+            pkg_warn = 'warning'
+        pkg_warn = level2func[pkg_warn]
+
         pkgs = []
         was_pattern = False
         if po:
@@ -3464,9 +4744,14 @@ class YumBase(depsolve.Depsolve):
                 if kwargs['pattern'] and kwargs['pattern'][0] == '@':
                     return self._at_groupinstall(kwargs['pattern'])
 
+                repoid = None # All of them
+                if 'repoid' in kwargs:
+                    repoid = kwargs['repoid']
+
                 was_pattern = True
                 pats = [kwargs['pattern']]
                 mypkgs = self.pkgSack.returnPackages(patterns=pats,
+                                                     repoid=repoid,
                                                       ignore_case=False)
                 pkgs.extend(mypkgs)
                 # if we have anything left unmatched, let's take a look for it
@@ -3477,20 +4762,14 @@ class YumBase(depsolve.Depsolve):
                     self.verbose_logger.debug(_('Checking for virtual provide or file-provide for %s'), 
                         arg)
 
-                    try:
-                        mypkgs = self.returnPackagesByDep(arg)
-                    except yum.Errors.YumBaseError, e:
-                        self.logger.critical(_('No Match for argument: %s') % to_unicode(arg))
-                    else:
-                        # install MTA* == fail, because provides don't do globs
-                        # install /usr/kerberos/bin/* == success (and we want
-                        #                                all of the pkgs)
-                        if mypkgs and not misc.re_glob(arg):
-                            mypkgs = self.bestPackagesFromList(mypkgs,
-                                                               single_name=True)
-                        if mypkgs:
-                            pkgs.extend(mypkgs)
-                        
+                    mypkgs = self.returnPackagesByDep(arg)
+                    if repoid:
+                        mypkgs = misc.filter_pkgs_repoid(mypkgs, repoid)
+                    if not misc.re_glob(arg):
+                        mypkgs = self.bestPackagesFromList(mypkgs,
+                                                           single_name=True,
+                                                           req=arg)
+                    pkgs.extend(mypkgs)
             else:
                 nevra_dict = self._nevra_kwarg_parse(kwargs)
 
@@ -3499,6 +4778,8 @@ class YumBase(depsolve.Depsolve):
                      ver=nevra_dict['version'], rel=nevra_dict['release'])
                 self._add_not_found_a(pkgs, nevra_dict)
                 
+                pkgs = misc.filter_pkgs_repoid(pkgs, kwargs.get('repoid'))
+
             if pkgs:
                 # if was_pattern or nevra-dict['arch'] is none, take the list
                 # of arches based on our multilib_compat config and 
@@ -3577,17 +4858,21 @@ class YumBase(depsolve.Depsolve):
                     continue
             
             # make sure this shouldn't be passed to update:
-            if (self.rpmdb.searchNames([po.name]) and
-                po.pkgtup in self.up.updating_dict):
-                txmbrs = self.update(po=po)
+            ipkgs = self.rpmdb.searchNames([po.name])
+            if ipkgs and self._install_is_upgrade(po, ipkgs):
+                txmbrs = self.update(po=po, repoid=kwargs.get('repoid'))
                 tx_return.extend(txmbrs)
                 continue
+
+            if not self._valid_install_arch(po, ipkgs):
+                continue
             
             #  Make sure we're not installing a package which is obsoleted by
             # something else in the repo. Unless there is a obsoletion loop,
             # at which point ignore everything.
+            # NOTE: This is broken wrt. repoid...
             obsoleting_pkg = None
-            if self.conf.obsoletes:
+            if self.conf.obsoletes and not isinstance(po, YumLocalPackage):
                 obsoleting_pkg = self._test_loop(po, self._pkg2obspkg)
             if obsoleting_pkg is not None:
                 # this is not a definitive check but it'll make sure we don't
@@ -3600,23 +4885,23 @@ class YumBase(depsolve.Depsolve):
                     already_obs = pkgs[0]
 
                 if already_obs:
-                    self.verbose_logger.warning(_('Package %s is obsoleted by %s which is already installed'), 
-                                                po, already_obs)
+                    pkg_warn(_('Package %s is obsoleted by %s which is already installed'), 
+                             po, already_obs)
                 else:
                     if 'provides_for' in kwargs:
                         if not obsoleting_pkg.provides_for(kwargs['provides_for']):
-                            self.verbose_logger.warning(_('Package %s is obsoleted by %s, but obsoleting package does not provide for requirements'),
-                                                  po.name, obsoleting_pkg.name)
+                            pkg_warn(_('Package %s is obsoleted by %s, but obsoleting package does not provide for requirements'),
+                                     po.name, obsoleting_pkg.name)
                             continue
-                    self.verbose_logger.warning(_('Package %s is obsoleted by %s, trying to install %s instead'),
-                        po.name, obsoleting_pkg.name, obsoleting_pkg)
+                    pkg_warn(_('Package %s is obsoleted by %s, trying to install %s instead'),
+                             po.name, obsoleting_pkg.name, obsoleting_pkg)
                     tx_return.extend(self.install(po=obsoleting_pkg))
                 continue
             
             # make sure it's not already installed
             if self.rpmdb.contains(po=po):
                 if not self.tsInfo.getMembersWithState(po.pkgtup, TS_REMOVE_STATES):
-                    self.verbose_logger.warning(_('Package %s already installed and latest version'), po)
+                    pkg_warn(_('Package %s already installed and latest version'), po)
                     continue
 
             # make sure we don't have a name.arch of this already installed
@@ -3630,8 +4915,8 @@ class YumBase(depsolve.Depsolve):
                         found = True
                         break
                 if not found:
-                    self.verbose_logger.warning(_('Package matching %s already installed. Checking for update.'), po)            
-                    txmbrs = self.update(po=po)
+                    pkg_warn(_('Package matching %s already installed. Checking for update.'), po)            
+                    txmbrs = self.update(po=po, repoid=kwargs.get('repoid'))
                     tx_return.extend(txmbrs)
                     continue
 
@@ -3719,19 +5004,47 @@ class YumBase(depsolve.Depsolve):
         return txmbr
 
     def update(self, po=None, requiringPo=None, update_to=False, **kwargs):
-        """try to mark for update the item(s) specified. 
-            po is a package object - if that is there, mark it for update,
-            if possible
-            else use **kwargs to match the package needing update
-            if nothing is specified at all then attempt to update everything
+        """Mark the specified items to be updated.  If a package
+        object is given, mark it.  Else, if a package is specified by
+        the keyword arguments, mark it.  Finally, if nothing is given,
+        mark all installed packages to be updated.
+
+
+        :param po: the package object to be marked for updating
+        :param requiringPo: the package object that requires the
+           upgrade
+        :param update_to: if *update_to* is True, the update will only
+           be run if it will update the given package to the given
+           version.  For example, if the package foo-1-2 is installed,::
+
+             updatePkgs(["foo-1-2"], update_to=False)
+           will work identically to::
             
-            returns the list of txmbr of the items it marked for update"""
-        
+             updatePkgs(["foo"])
+           but::
+
+             updatePkgs(["foo-1-2"], update_to=True)
+           
+           will do nothing
+        :param kwargs: if *po* is not given, the names or wildcards in
+           *kwargs* will be used to find the packages to update
+        :return: a list of transaction members added to the
+           transaction set by this function
+        """
         # check for args - if no po nor kwargs, do them all
         # if po, do it, ignore all else
         # if no po do kwargs
         # uninstalled pkgs called for update get returned with errors in a list, maybe?
 
+        pkg_warn = kwargs.get('pkg_warning_level', 'flibble')
+        def _dbg2(*args, **kwargs):
+            self.verbose_logger.log(logginglevels.DEBUG_2, *args, **kwargs)
+        level2func = {'debug2' : _dbg2,
+                      'warning' : self.verbose_logger.warning}
+        if pkg_warn not in level2func:
+            pkg_warn = 'warning'
+        pkg_warn = level2func[pkg_warn]
+
         tx_return = []
         if not po and not kwargs: # update everything (the easy case)
             self.verbose_logger.log(logginglevels.DEBUG_2, _('Updating Everything'))
@@ -3765,7 +5078,15 @@ class YumBase(depsolve.Depsolve):
                     if new is None:
                         continue
                     tx_return.extend(self.update(po=new))
-            
+
+            # Upgrade the installed groups, as part of generic "yum upgrade"
+            if (self.conf.group_command == 'objects' and
+                self.conf.upgrade_group_objects_upgrade):
+                for ievgrp in self.igroups.environments:
+                    tx_return.extend(self._at_groupupgrade('@^' + ievgrp))
+                for igrp in self.igroups.groups:
+                    tx_return.extend(self._at_groupupgrade('@'  + igrp))
+
             return tx_return
 
         # complications
@@ -3787,13 +5108,16 @@ class YumBase(depsolve.Depsolve):
                 return self._minus_deselect(kwargs['pattern'])
 
             if kwargs['pattern'] and kwargs['pattern'][0] == '@':
-                return self._at_groupinstall(kwargs['pattern'])
+                return self._at_groupupgrade(kwargs['pattern'])
 
             arg = kwargs['pattern']
             if not update_to:
                 instpkgs  = self.rpmdb.returnPackages(patterns=[arg])
+                instpkgs  = misc.filter_pkgs_repoid(instpkgs,
+                                                    kwargs.get('repoid'))
             else:
-                availpkgs = self.pkgSack.returnPackages(patterns=[arg])
+                availpkgs = self.pkgSack.returnPackages(patterns=[arg],
+                                                        repoid=kwargs.get('repoid'))
 
             if not instpkgs and not availpkgs:
                 depmatches = []
@@ -3805,6 +5129,8 @@ class YumBase(depsolve.Depsolve):
                 except yum.Errors.YumBaseError, e:
                     self.logger.critical(_('%s') % e)
 
+                depmatches = misc.filter_pkgs_repoid(depmatches,
+                                                     kwargs.get('repoid'))
                 if update_to:
                     availpkgs.extend(depmatches)
                 else:
@@ -3816,9 +5142,12 @@ class YumBase(depsolve.Depsolve):
             try:
                 if update_to:
                     m = []
+                elif kwargs.get('repoid'):
+                    pats = [kwargs['pattern']]
+                    m = self.pkgSack.sacks[kwargs['repoid']]
+                    m = m.returnNewestByNameArch(patterns=pats)
                 else:
                     pats = [kwargs['pattern']]
-                    # pats += list(set([pkg.name for pkg in instpkgs]))
                     m = self.pkgSack.returnNewestByNameArch(patterns=pats)
             except Errors.PackageSackError:
                 m = []
@@ -3843,7 +5172,7 @@ class YumBase(depsolve.Depsolve):
                     availpkgs = self._compare_providers(availpkgs, requiringPo)
                     availpkgs = map(lambda x: x[0], availpkgs)
                 elif not availpkgs:
-                    self.logger.warning(_("No package matched to upgrade: %s"), self._ui_nevra_dict(nevra_dict))
+                    pkg_warn(_("No package matched to upgrade: %s"), self._ui_nevra_dict(nevra_dict))
        
         # for any thing specified
         # get the list of available pkgs matching it (or take the po)
@@ -3879,6 +5208,7 @@ class YumBase(depsolve.Depsolve):
                     if obsoleting_pkg is None:
                         continue
                     obs_pkgs.append(obsoleting_pkg)
+                # NOTE: Broekn wrt. repoid
                 for obsoleting_pkg in packagesNewestByName(obs_pkgs):
                     tx_return.extend(self.install(po=obsoleting_pkg))
             for available_pkg in availpkgs:
@@ -3920,11 +5250,29 @@ class YumBase(depsolve.Depsolve):
                     tx_return.append(txmbr)
                         
         for available_pkg in availpkgs:
+            if not self._valid_install_arch(available_pkg):
+                continue
+
+            # "Just do it" if it's a local pkg.
+            if isinstance(available_pkg, YumLocalPackage):
+                n = available_pkg.name
+                for updated_pkg in self.rpmdb.returnNewestByName(n):
+                    updated = updated_pkg.pkgtup
+                    if self.tsInfo.getMembersWithState(updated,
+                                                       TS_REMOVE_STATES):
+                        self.tsInfo.remove(updated)
+                    txmbr = self._add_up_txmbr(requiringPo,
+                                               available_pkg, updated_pkg)
+                    tx_return.append(txmbr)
+                continue
             #  Make sure we're not installing a package which is obsoleted by
             # something else in the repo. Unless there is a obsoletion loop,
             # at which point ignore everything.
             obsoleting_pkg = self._test_loop(available_pkg, self._pkg2obspkg)
             if obsoleting_pkg is not None:
+                if (kwargs.get('repoid') and
+                    obsoleting_pkg.repoid != kwargs.get('repoid')):
+                    continue # Meh.
                 self.verbose_logger.log(logginglevels.DEBUG_2, _('Not Updating Package that is obsoleted: %s'), available_pkg)
                 tx_return.extend(self.update(po=obsoleting_pkg))
                 continue
@@ -3985,11 +5333,18 @@ class YumBase(depsolve.Depsolve):
         return tx_return
         
     def remove(self, po=None, **kwargs):
-        """try to find and mark for remove the specified package(s) -
-            if po is specified then that package object (if it is installed) 
-            will be marked for removal.
-            if no po then look at kwargs, if neither then raise an exception"""
-
+        """Mark the specified packages for removal. If a package
+        object is given, mark it for removal.  Otherwise, mark the
+        package specified by the keyword arguments.
+
+        :param po: the package object to mark for installation
+        :param kwargs: If *po* is not given, the keyword arguments
+           will be used to specify a package to mark for installation
+        :return: a list of the transaction members that were added to
+           the transaction set by this method
+        :raises: :class:`yum.Errors.RemoveError` if nothing is specified
+           to mark for removal
+        """
         if not po and not kwargs:
             raise Errors.RemoveError, 'Nothing specified to remove'
         
@@ -4008,6 +5363,10 @@ class YumBase(depsolve.Depsolve):
                     return self._at_groupremove(kwargs['pattern'])
 
                 (e,m,u) = self.rpmdb.matchPackageNames([kwargs['pattern']])
+                if 'repoid' in kwargs:
+                    e = misc.filter_pkgs_repoid(e, kwargs['repoid'])
+                    m = misc.filter_pkgs_repoid(m, kwargs['repoid'])
+
                 pkgs.extend(e)
                 pkgs.extend(m)
                 if u:
@@ -4018,6 +5377,10 @@ class YumBase(depsolve.Depsolve):
                     except yum.Errors.YumBaseError, e:
                         self.logger.critical(_('%s') % e)
                     
+                    if 'repoid' in kwargs:
+                        depmatches = misc.filter_pkgs_repoid(depmatches,
+                                                             kwargs['repoid'])
+
                     if not depmatches:
                         arg = to_unicode(arg)
                         self.logger.critical(_('No Match for argument: %s') % to_unicode(arg))
@@ -4055,17 +5418,19 @@ class YumBase(depsolve.Depsolve):
         return tx_return
 
     def installLocal(self, pkg, po=None, updateonly=False):
+        """Mark a package on the local filesystem (i.e. not from a
+        repository) for installation. 
+        
+        :param pkg: a string specifying the path to an rpm file in the
+           local filesystem to be marked for installation
+        :param po: a :class:`yum.packages.YumLocalPackage` 
+        :param updateonly: if True, the given package will only be
+           marked for installation if it is an upgrade for a package
+           that is already installed.  If False, this restriction is
+           not enforced
+        :return: a list of the transaction members added to the
+           transaction set by this method
         """
-        handles installs/updates of rpms provided on the filesystem in a
-        local dir (ie: not from a repo)
-
-        Return the added transaction members.
-
-        @param pkg: a path to an rpm file on disk.
-        @param po: A YumLocalPackage
-        @param updateonly: Whether or not true installs are valid.
-        """
-
         # read in the package into a YumLocalPackage Object
         # append it to self.localPackages
         # check if it can be installed or updated based on nevra versus rpmdb
@@ -4183,16 +5548,15 @@ class YumBase(depsolve.Depsolve):
         return tx_return
 
     def reinstallLocal(self, pkg, po=None):
+        """Mark a package on the local filesystem (i.e. not from a
+        repository) for reinstallation. 
+        
+        :param pkg: a string specifying the path to an rpm file in the
+           local filesystem to be marked for reinstallation
+        :param po: a :class:`yum.packages.YumLocalPackage` 
+        :return: a list of the transaction members added to the
+           transaction set by this method
         """
-        handles reinstall of rpms provided on the filesystem in a
-        local dir (ie: not from a repo)
-
-        Return the added transaction members.
-
-        @param pkg: a path to an rpm file on disk.
-        @param po: A YumLocalPackage
-        """
-
         if not po:
             try:
                 po = YumUrlPackage(self, ts=self.rpmdb.readOnlyTS(), url=pkg,
@@ -4215,13 +5579,29 @@ class YumBase(depsolve.Depsolve):
         return self.reinstall(po=po)
 
     def reinstall(self, po=None, **kwargs):
-        """Setup the problem filters to allow a reinstall to work, then
-           pass everything off to install"""
-           
+        """Mark the given package for reinstallation.  This is
+        accomplished by setting problem filters to allow a reinstall
+        take place, then calling :func:`install`.
+
+        :param po: the package object to mark for reinstallation
+        :param kwargs: if po is not given, the keyword will be used to
+           specify a package for reinstallation
+        :return: a list of the transaction members added to the
+           transaction set by this method
+        :raises: :class:`yum.Errors.ReinstallRemoveError` or
+           :class:`yum.Errors.ReinstallInstallError` depending the nature
+           of the error that is encountered
+        """
         self._add_prob_flags(rpm.RPMPROB_FILTER_REPLACEPKG,
                              rpm.RPMPROB_FILTER_REPLACENEWFILES,
                              rpm.RPMPROB_FILTER_REPLACEOLDFILES)
 
+        # NOTE: For repoid=foo we could do two things:
+        # 1. Only do the "remove" op. with packages installed from "foo".
+        # 2. Only do the "install" op. with packages available from "foo".
+        # ...so repoid=foo means #1 and repoid_install=foo means #2. Can also
+        # combine them.
+
         tx_mbrs = []
         if po: # The po, is the "available" po ... we want the installed po
             tx_mbrs.extend(self.remove(pkgtup=po.pkgtup))
@@ -4240,10 +5620,11 @@ class YumBase(depsolve.Depsolve):
             # pkgs that are obsolete.
             old_conf_obs = self.conf.obsoletes
             self.conf.obsoletes = False
-            if isinstance(po, YumLocalPackage):
+            if isinstance(po, YumLocalPackage) and 'repoid' not in kwargs:
                 members = self.install(po=po)
             else:
-                members = self.install(pkgtup=item.pkgtup)
+                members = self.install(pkgtup=item.pkgtup,
+                                       repoid=kwargs.get('repoid_install'))
             self.conf.obsoletes = old_conf_obs
             if len(members) == 0:
                 self.tsInfo.remove(item.pkgtup)
@@ -4259,16 +5640,15 @@ class YumBase(depsolve.Depsolve):
         return tx_mbrs
         
     def downgradeLocal(self, pkg, po=None):
+        """Mark a package on the local filesystem (i.e. not from a
+        repository) to be downgraded.
+        
+        :param pkg: a string specifying the path to an rpm file in the
+           local filesystem to be marked to be downgraded
+        :param po: a :class:`yum.packages.YumLocalPackage` 
+        :return: a list of the transaction members added to the
+           transaction set by this method
         """
-        handles downgrades of rpms provided on the filesystem in a
-        local dir (ie: not from a repo)
-
-        Return the added transaction members.
-
-        @param pkg: a path to an rpm file on disk.
-        @param po: A YumLocalPackage
-        """
-
         if not po:
             try:
                 po = YumUrlPackage(self, ts=self.rpmdb.readOnlyTS(), url=pkg,
@@ -4309,13 +5689,19 @@ class YumBase(depsolve.Depsolve):
         return False
         
     def downgrade(self, po=None, **kwargs):
-        """ Try to downgrade a package. Works like:
-            % yum shell <<EOL
-            remove  abcd
-            install abcd-<old-version>
-            run
-            EOL """
-
+        """Mark a package to be downgraded.  This is equivalent to
+        first removing the currently installed package, and then
+        installing the older version.
+
+        :param po: the package object to be marked to be downgraded
+        :param kwargs: if a package object is not given, the keyword
+           arguments will be used to specify a package to be marked to
+           be downgraded
+        :return: a list of the transaction members added to the
+           transaction set by this method
+        :raises: :class:`yum.Errors.DowngradeError` if no packages are
+           specified or available for downgrade
+        """
         if not po and not kwargs:
             raise Errors.DowngradeError, 'Nothing specified to downgrade'
 
@@ -4397,6 +5783,10 @@ class YumBase(depsolve.Depsolve):
         # installed version. Indexed fromn the latest installed pkgtup.
         downgrade_apkgs = {}
         for pkg in sorted(apkgs):
+            # We are cleverer here, I think...
+            # if not self._valid_install_arch(pkg, ipkgs):
+            # continue
+
             na  = (pkg.name, pkg.arch)
 
             # Here we allow downgrades from .i386 => .noarch, or .i586 => .i386
@@ -4421,6 +5811,9 @@ class YumBase(depsolve.Depsolve):
                 warned_nas.add(na)
                 continue
 
+            if pkg.verEQ(lipkg):
+                continue
+
             if pkg.verGE(lipkg):
                 if na not in warned_nas:
                     msg = _('Only Upgrade available on package: %s') % pkg
@@ -4457,7 +5850,7 @@ class YumBase(depsolve.Depsolve):
         if e and v and r:
             evr = '%s:%s-%s' % (e, v, r)
         elif v and r:
-            evr = '%s-%s' % (e, v, r)
+            evr = '%s-%s' % (v, r)
         elif e and v:
             evr = '%s:%s' % (e, v)
         elif v: # e and r etc. is just too weird to print
@@ -4500,12 +5893,24 @@ class YumBase(depsolve.Depsolve):
 
         return returndict
 
-    def history_redo(self, transaction):
-        """ Given a valid historical transaction object, try and repeat
-            that transaction. """
+    def history_redo(self, transaction,
+                     force_reinstall=False, force_changed_removal=False):
+        """Repeat the transaction represented by the given
+        :class:`yum.history.YumHistoryTransaction` object.
+
+        :param transaction: a
+           :class:`yum.history.YumHistoryTransaction` object
+           representing the transaction to be repeated
+        :param force_reinstall: bool - do we want to reinstall anything that was
+           installed/updated/downgraded/etc.
+        :param force_changed_removal: bool - do we want to force remove anything
+           that was downgraded or upgraded.
+        :return: whether the transaction was repeated successfully
+        """
         # NOTE: This is somewhat basic atm. ... see comment in undo.
         #  Also note that redo doesn't force install Dep-Install packages,
         # which is probably what is wanted the majority of the time.
+
         old_conf_obs = self.conf.obsoletes
         self.conf.obsoletes = False
         done = False
@@ -4515,19 +5920,46 @@ class YumBase(depsolve.Depsolve):
                     done = True
         for pkg in transaction.trans_data:
             if pkg.state == 'Downgrade':
+                if force_reinstall and self.rpmdb.searchPkgTuple(pkg.pkgtup):
+                    if self.reinstall(pkgtup=pkg.pkgtup):
+                        done = True
+                    continue
+
                 try:
                     if self.downgrade(pkgtup=pkg.pkgtup):
                         done = True
                 except yum.Errors.DowngradeError:
                     self.logger.critical(_('Failed to downgrade: %s'), pkg)
         for pkg in transaction.trans_data:
+            if force_changed_removal and pkg.state == 'Downgraded':
+                if self.tsInfo.getMembers(pkg.pkgtup):
+                    continue
+                if self.remove(pkgtup=pkg.pkgtup, silence_warnings=True):
+                    done = True
+        for pkg in transaction.trans_data:
             if pkg.state == 'Update':
+                if force_reinstall and self.rpmdb.searchPkgTuple(pkg.pkgtup):
+                    if self.reinstall(pkgtup=pkg.pkgtup):
+                        done = True
+                    continue
+
                 if self.update(pkgtup=pkg.pkgtup):
                     done = True
                 else:
                     self.logger.critical(_('Failed to upgrade: %s'), pkg)
         for pkg in transaction.trans_data:
+            if force_changed_removal and pkg.state == 'Updated':
+                if self.tsInfo.getMembers(pkg.pkgtup):
+                    continue
+                if self.remove(pkgtup=pkg.pkgtup, silence_warnings=True):
+                    done = True
+        for pkg in transaction.trans_data:
             if pkg.state in ('Install', 'True-Install', 'Obsoleting'):
+                if force_reinstall and self.rpmdb.searchPkgTuple(pkg.pkgtup):
+                    if self.reinstall(pkgtup=pkg.pkgtup):
+                        done = True
+                    continue
+
                 if self.install(pkgtup=pkg.pkgtup):
                     done = True
         for pkg in transaction.trans_data:
@@ -4538,8 +5970,14 @@ class YumBase(depsolve.Depsolve):
         return done
 
     def history_undo(self, transaction):
-        """ Given a valid historical transaction object, try and undo
-            that transaction. """
+        """Undo the transaction represented by the given
+        :class:`yum.history.YumHistoryTransaction` object.
+
+        :param transaction: a
+           :class:`yum.history.YumHistoryTransaction` object
+           representing the transaction to be undone
+        :return: whether the transaction was undone successfully
+        """
         # NOTE: This is somewhat basic atm. ... for instance we don't check
         #       that we are going from the old new version. However it's still
         #       better than the RHN rollback code, and people pay for that :).
@@ -4616,7 +6054,7 @@ class YumBase(depsolve.Depsolve):
 
         except urlgrabber.grabber.URLGrabError, e:
             raise Errors.YumBaseError(_('GPG key retrieval failed: ') +
-                                      to_unicode(str(e)))
+                                      exception2msg(e))
                                       
         # check for a .asc file accompanying it - that's our gpg sig on the key
         # suck it down and do the check
@@ -4649,7 +6087,7 @@ class YumBase(depsolve.Depsolve):
             keys_info = misc.getgpgkeyinfo(rawkey, multiple=True)
         except ValueError, e:
             raise Errors.YumBaseError(_('Invalid GPG Key from %s: %s') % 
-                                      (url, to_unicode(str(e))))
+                                      (url, exception2msg(e)))
         keys = []
         for keyinfo in keys_info:
             thiskey = {}
@@ -4674,39 +6112,49 @@ class YumBase(depsolve.Depsolve):
             if pkgs:
                 pkgs = sorted(pkgs)[-1]
                 msg = (_('Importing %s key 0x%s:\n'
-                         ' Userid : %s\n'
-                         ' Package: %s (%s)\n'
-                         ' From   : %s') %
+                         ' Userid     : "%s"\n'
+                         ' Fingerprint: %s\n'
+                         ' Package    : %s (%s)\n'
+                         ' From       : %s') %
                        (keytype, info['hexkeyid'], to_unicode(info['userid']),
+                        misc.gpgkey_fingerprint_ascii(info),
                         pkgs, pkgs.ui_from_repo,
                         keyurl.replace("file://","")))
         if msg is None:
             msg = (_('Importing %s key 0x%s:\n'
-                     ' Userid: "%s"\n'
-                     ' From  : %s') %
+                     ' Userid     : "%s"\n'
+                     ' Fingerprint: %s\n'
+                     ' From       : %s') %
                    (keytype, info['hexkeyid'], to_unicode(info['userid']),
+                    misc.gpgkey_fingerprint_ascii(info),
                     keyurl.replace("file://","")))
         self.logger.critical("%s", msg)
 
     def getKeyForPackage(self, po, askcb = None, fullaskcb = None):
-        """
-        Retrieve a key for a package. If needed, prompt for if the key should
-        be imported using askcb.
-        
-        @param po: Package object to retrieve the key of.
-        @param askcb: Callback function to use for asking for permission to
-                      import a key. This is verification, but also "choice".
-                      Takes arguments of the po, the userid for the key, and
-                      the keyid.
-        @param fullaskcb: Callback function to use for asking for permission to
-                          import a key. This is verification, but also "choice".
-                          Differs from askcb in that it gets passed a
-                          dictionary so that we can expand the values passed.
+        """Retrieve a key for a package. If needed, use the given
+        callback to prompt whether the key should be imported.
+
+        :param po: the package object to retrieve the key of
+        :param askcb: Callback function to use to ask permission to
+           import a key.  The arguments *askck* should take are the
+           package object, the userid of the key, and the keyid
+        :param fullaskcb: Callback function to use to ask permission to
+           import a key.  This differs from *askcb* in that it gets
+           passed a dictionary so that we can expand the values passed.
+        :raises: :class:`yum.Errors.YumBaseError` if there are errors
+           retrieving the keys
         """
         repo = self.repos.getRepo(po.repoid)
         keyurls = repo.gpgkey
         key_installed = False
 
+        def _prov_key_data(msg):
+            msg += _('\n\n\n'
+                     ' Failing package is: %s\n'
+                     ' GPG Keys are configured as: %s\n'
+                     ) % (po, ", ".join(repo.gpgkey))
+            return msg
+
         user_cb_fail = False
         for keyurl in keyurls:
             keys = self._retrievePublicKey(keyurl, repo)
@@ -4725,7 +6173,9 @@ class YumBase(depsolve.Depsolve):
                     # Try installing/updating GPG key
                     self._getKeyImportMessage(info, keyurl)
                     rc = False
-                    if self.conf.assumeyes:
+                    if self.conf.assumeno:
+                        rc = False
+                    elif self.conf.assumeyes:
                         rc = True
                         
                     # grab the .sig/.asc for the keyurl, if it exists
@@ -4751,8 +6201,8 @@ class YumBase(depsolve.Depsolve):
                 ts = self.rpmdb.readOnlyTS()
                 result = ts.pgpImportPubkey(misc.procgpgkey(info['raw_key']))
                 if result != 0:
-                    raise Errors.YumBaseError, \
-                          _('Key import failed (code %d)') % result
+                    msg = _('Key import failed (code %d)') % result
+                    raise Errors.YumBaseError, _prov_key_data(msg)
                 self.logger.info(_('Key imported successfully'))
                 key_installed = True
 
@@ -4760,18 +6210,20 @@ class YumBase(depsolve.Depsolve):
             raise Errors.YumBaseError, _("Didn't install any keys")
 
         if not key_installed:
-            raise Errors.YumBaseError, \
-                  _('The GPG keys listed for the "%s" repository are ' \
+            msg = _('The GPG keys listed for the "%s" repository are ' \
                   'already installed but they are not correct for this ' \
                   'package.\n' \
                   'Check that the correct key URLs are configured for ' \
-                  'this repository.') % (repo.name)
+                  'this repository.') % repo.name
+            raise Errors.YumBaseError, _prov_key_data(msg)
 
         # Check if the newly installed keys helped
         result, errmsg = self.sigCheckPkg(po)
         if result != 0:
-            self.logger.info(_("Import of key(s) didn't help, wrong key(s)?"))
-            raise Errors.YumBaseError, errmsg
+            msg = _("Import of key(s) didn't help, wrong key(s)?")
+            self.logger.info(msg)
+            errmsg = to_unicode(errmsg)
+            raise Errors.YumBaseError, _prov_key_data(errmsg)
     
     def _getAnyKeyForRepo(self, repo, destdir, keyurl_list, is_cakey=False, callback=None):
         """
@@ -4788,6 +6240,18 @@ class YumBase(depsolve.Depsolve):
         """
 
         key_installed = False
+
+        def _prov_key_data(msg):
+            cakeytxt = _("No")
+            if is_cakey:
+                cakeytxt = _("Yes")
+            msg += _('\n\n\n'
+                     ' CA Key: %s\n'
+                     ' Failing repo is: %s\n'
+                     ' GPG Keys are configured as: %s\n'
+                     ) % (cakeytxt, repo, ", ".join(keyurl_list))
+            return msg
+
         user_cb_fail = False
         for keyurl in keyurl_list:
             keys = self._retrievePublicKey(keyurl, repo, getSig=not is_cakey)
@@ -4819,8 +6283,11 @@ class YumBase(depsolve.Depsolve):
                 if not key_installed:
                     self._getKeyImportMessage(info, keyurl, keytype)
                     rc = False
-                    if self.conf.assumeyes:
+                    if self.conf.assumeno:
+                        rc = False
+                    elif self.conf.assumeyes:
                         rc = True
+
                     elif callback:
                         rc = callback({"repo": repo, "userid": info['userid'],
                                         "hexkeyid": info['hexkeyid'], "keyurl": keyurl,
@@ -4835,7 +6302,8 @@ class YumBase(depsolve.Depsolve):
                 # Import the key
                 result = misc.import_key_to_pubring(info['raw_key'], info['hexkeyid'], gpgdir=destdir)
                 if not result:
-                    raise Errors.YumBaseError, _('Key import failed')
+                    msg = _('Key %s import failed') % info['hexkeyid']
+                    raise Errors.YumBaseError, _prov_key_data(msg)
                 self.logger.info(_('Key imported successfully'))
                 key_installed = True
                 # write out the key id to imported_cakeys in the repos basedir
@@ -4851,36 +6319,35 @@ class YumBase(depsolve.Depsolve):
                             pass
 
         if not key_installed and user_cb_fail:
-            raise Errors.YumBaseError, _("Didn't install any keys for repo %s") % repo
+            msg = _("Didn't install any keys for repo %s") % repo
+            raise Errors.YumBaseError, _prov_key_data(msg)
 
         if not key_installed:
-            raise Errors.YumBaseError, \
+            msg = \
                   _('The GPG keys listed for the "%s" repository are ' \
                   'already installed but they are not correct.\n' \
                   'Check that the correct key URLs are configured for ' \
                   'this repository.') % (repo.name)
+            raise Errors.YumBaseError, _prov_key_data(msg)
 
     def getKeyForRepo(self, repo, callback=None):
-        """
-        Retrieve a key for a repository If needed, prompt for if the key should
-        be imported using callback
-        
-        @param repo: Repository object to retrieve the key of.
-        @param callback: Callback function to use for asking for verification
-                          of a key. Takes a dictionary of key info.
+        """Retrieve a key for a repository.  If needed, use the given
+        callback to prompt whether the key should be imported.
+
+        :param repo: repository object to retrieve the key of
+        :param callback: callback function to use for asking for
+           verification of key information
         """
         self._getAnyKeyForRepo(repo, repo.gpgdir, repo.gpgkey, is_cakey=False, callback=callback)
 
     def getCAKeyForRepo(self, repo, callback=None):
-        """
-        Retrieve a key for a repository If needed, prompt for if the key should
-        be imported using callback
-        
-        @param repo: Repository object to retrieve the key of.
-        @param callback: Callback function to use for asking for verification
-                          of a key. Takes a dictionary of key info.
-        """
+        """Retrieve a key for a repository.  If needed, use the given
+        callback to prompt whether the key should be imported.
 
+        :param repo: repository object to retrieve the key of
+        :param callback: callback function to use for asking for
+           verification of key information
+        """
         self._getAnyKeyForRepo(repo, repo.gpgcadir, repo.gpgcakey, is_cakey=True, callback=callback)
 
     def _limit_installonly_pkgs(self):
@@ -4889,7 +6356,7 @@ class YumBase(depsolve.Depsolve):
             New in 3.2.24: Obey yumdb_info.installonly data. """
 
         def _sort_and_filter_installonly(pkgs):
-            """ Allow the admin to specify some overrides fo installonly pkgs.
+            """ Allow the admin to specify some overrides for installonly pkgs.
                 using the yumdb. """
             ret_beg = []
             ret_mid = []
@@ -4917,6 +6384,10 @@ class YumBase(depsolve.Depsolve):
 
         if self.conf.installonly_limit < 1 :
             return 
+
+        # We shouldn't alter the transaction if this is set...
+        if self.tsInfo._check_future_rpmdbv:
+            return
             
         toremove = []
         #  We "probably" want to use either self.ts or self.rpmdb.ts if either
@@ -4926,23 +6397,30 @@ class YumBase(depsolve.Depsolve):
         # so self.rpmdb.ts should be valid.
         ts = self.rpmdb.readOnlyTS()
         (cur_kernel_v, cur_kernel_r) = misc.get_running_kernel_version_release(ts)
-        install_only_names = set(self.conf.installonlypkgs)
+        found = {}
         for m in self.tsInfo.getMembers():
             if m.ts_state not in ('i', 'u'):
                 continue
             if m.reinstall:
                 continue
-
-            po_names = set([m.name] + m.po.provides_names)
-            if not po_names.intersection(install_only_names):
+            if not self.allowedMultipleInstalls(m.po):
                 continue
 
-            installed = self.rpmdb.searchNevra(name=m.name)
+            if m.name not in found:
+                found[m.name] = 1
+            else:
+                found[m.name] += 1
+
+        for name in found:
+            installed = self.rpmdb.searchNevra(name=name)
             installed = _sort_and_filter_installonly(installed)
-            if len(installed) < self.conf.installonly_limit - 1:
-                continue # we're adding one
 
-            numleft = len(installed) - self.conf.installonly_limit + 1
+            total = len(installed) + found[name]
+            if total <= self.conf.installonly_limit:
+                continue # Not adding enough to trigger.
+
+            # Number left to try and remove...
+            numleft = total - self.conf.installonly_limit
             for po in installed:
                 if (po.version, po.release) == (cur_kernel_v, cur_kernel_r): 
                     # don't remove running
@@ -4959,19 +6437,22 @@ class YumBase(depsolve.Depsolve):
             txmbr.depends_on.append(rel)
 
     def processTransaction(self, callback=None,rpmTestDisplay=None, rpmDisplay=None):
-        '''
-        Process the current Transaction
-        - Download Packages
-        - Check GPG Signatures.
-        - Run Test RPM Transaction
-        - Run RPM Transaction
-        
-        callback.event method is called at start/end of each process.
-        
-        @param callback: callback object (must have an event method)
-        @param rpmTestDisplay: Name of display class to use in RPM Test Transaction 
-        @param rpmDisplay: Name of display class to use in RPM Transaction 
-        '''
+        """Process the current transaction.  This involves the
+        following steps:
+          - Download the packages
+          - Check the GPG signatures of the packages
+          - Run the test RPM transaction
+          - Run the RPM Transaction
+        The *callback*.event method is called at the start, and
+        between each step.
+
+        :param callback: a callback object, which must have an event
+           method
+        :param rpmTestDisplay: name of the display class to use in the
+           RPM test transaction
+        :param rpmDisplay: name of the display class to use in the rpm
+           transaction
+        """
         
         if not callback:
             callback = callbacks.ProcessTransNoOutputCallback()
@@ -5062,8 +6543,8 @@ class YumBase(depsolve.Depsolve):
                 raise Errors.YumRPMCheckError, retmsgs
             retmsgs = [_('ERROR with transaction check vs depsolve:')]
             retmsgs.extend(msgs) 
-            retmsgs.append(_('Please report this error at %s') 
-                                         % self.conf.bugtracker_url)
+            # Don't encourage users to file a bug here, as this is probably
+            # pre-existing issue in dependendies of installed packages
             raise Errors.YumRPMCheckError,retmsgs
         
         tsConf = {}
@@ -5114,13 +6595,19 @@ class YumBase(depsolve.Depsolve):
         return results
 
     def add_enable_repo(self, repoid, baseurls=[], mirrorlist=None, **kwargs):
-        """add and enable a repo with just a baseurl/mirrorlist and repoid
-           requires repoid and at least one of baseurl and mirrorlist
-           additional optional kwargs are:
-           variable_convert=bool (defaults to true)
-           and any other attribute settable to the normal repo setup
-           ex: metadata_expire, enable_groups, gpgcheck, cachedir, etc
-           returns the repo object it added"""
+        """Add and enable a repository.
+
+        :param repoid: a string specifying the name of the repository
+        :param baseurls: a list of strings specifying the urls for
+           the repository.  At least one base url, or one mirror, must
+           be given
+        :param mirrorlist: a list of strings specifying a list of
+           mirrors for the repository.  At least one base url, or one
+           mirror must be given
+        :param kwargs: key word arguments to set any normal repository
+           attribute
+        :return: the new repository that has been added and enabled
+        """
         # out of place fixme - maybe we should make this the default repo addition
         # routine and use it from getReposFromConfigFile(), etc.
         newrepo = yumRepo.YumRepository(repoid)
@@ -5167,9 +6654,15 @@ class YumBase(depsolve.Depsolve):
 
     def setCacheDir(self, force=False, tmpdir=None, reuse=True,
                     suffix='/$basearch/$releasever'):
-        ''' Set a new cache dir, using misc.getCacheDir() and var. replace
-            on suffix. '''
-
+        """Set a new cache directory.
+
+        :param force: whether to force the cache directory to be
+           changed
+        :param tmpdir: a temporary directory
+        :param reuse: whether the temporary directory can be reused
+        :param suffix: suffix to attach to the directory name
+        :return: whether the new cache directory is successfully set
+        """
         if not force and os.geteuid() == 0:
             return True # We are root, not forced, so happy with the global dir.
         if tmpdir is None:
@@ -5179,7 +6672,7 @@ class YumBase(depsolve.Depsolve):
         try:
             cachedir = misc.getCacheDir(tmpdir, reuse)
         except (IOError, OSError), e:
-            self.logger.critical(_('Could not set cachedir: %s') % str(e))
+            self.logger.critical(_('Could not set cachedir: %s') % exception2msg(e))
             cachedir = None
             
         if cachedir is None:
@@ -5190,6 +6683,8 @@ class YumBase(depsolve.Depsolve):
             self.prerepoconf.cachedir = cachedir
         else:
             self.repos.setCacheDir(cachedir)
+        if not hasattr(self, '_old_cachedir'):
+            self._old_cachedir = self.conf.cachedir
         self.conf.cachedir = cachedir
         return True # We got a new cache dir
 
@@ -5220,13 +6715,24 @@ class YumBase(depsolve.Depsolve):
         self.history.write_addon_data('config-repos', myrepos)
         
     def verify_plugins_cb(self, verify_package):
-        """ Callback to call a plugin hook for pkg.verify(). """
+        """Callback to call a plugin hook for pkg.verify().
+
+        :param verify_package: a conduit for the callback
+        :return: *verify_package*
+        """
         self.plugins.run('verify_package', verify_package=verify_package)
         return verify_package
 
     def save_ts(self, filename=None, auto=False):
-        """saves out a transaction to .yumtx file to be loaded later"""
-        
+        """Save out a transaction to a .yumtx file to be loaded later.
+
+        :param filename: the name of the file to save the transaction
+           in.  If *filename* is not given, a name will be generated
+        :param auto: whether to output errors to the logger, rather
+           than raising exceptions
+        :raises: :class:`yum.Errors.YumBaseError` if there are errors
+           saving the transaction
+        """
         if self.tsInfo._unresolvedMembers:
             if auto:
                 self.logger.critical(_("Dependencies not solved. Will not save unresolved transaction."))
@@ -5234,7 +6740,7 @@ class YumBase(depsolve.Depsolve):
             raise Errors.YumBaseError(_("Dependencies not solved. Will not save unresolved transaction."))
         
         if not filename:
-            prefix = 'yum_save_tx-%s' % time.strftime('%Y-%m-%d-%H-%M')
+            prefix = 'yum_save_tx.%s' % time.strftime('%Y-%m-%d.%H-%M.')
             fd,filename = tempfile.mkstemp(suffix='.yumtx', prefix=prefix)
             f = os.fdopen(fd, 'w')
         else:
@@ -5244,13 +6750,17 @@ class YumBase(depsolve.Depsolve):
         
         msg = "%s\n" % self.rpmdb.simpleVersion(main_only=True)[0]
         msg += "%s\n" % self.ts.getTsFlags()
-        if self.tsInfo.pkgSack is None: # rm Transactions don't have pkgSack
-            msg += "0\n"
+
+        if self.tsInfo._pkgSack is None: # Transactions have pkgSack?
+            msg += "1\n"
         else:
-            msg += "%s\n" % len(self.repos.listEnabled())
+            msg += "%s\n" % (len(self.repos.listEnabled()) + 1)
             for r in self.repos.listEnabled():
                 msg += "%s:%s:%s\n" % (r.id, len(r.sack), r.repoXML.revision)
 
+        # Save what we think the future rpmdbv will be.
+        msg += "%s:%s\n" % ('installed', self.tsInfo.futureRpmDBVersion())
+
         msg += "%s\n" % len(self.tsInfo.getMembers())
         for txmbr in self.tsInfo.getMembers():
             msg += txmbr._dump()
@@ -5260,42 +6770,84 @@ class YumBase(depsolve.Depsolve):
         except (IOError, OSError), e:
             self._ts_save_file = None
             if auto:
-                self.logger.critical(_("Could not save transaction file %s: %s") % (filename, str(e)))
+                self.logger.critical(_("Could not save transaction file %s: %s") % (filename, exception2msg(e)))
             else:
-                raise Errors.YumBaseError(_("Could not save transaction file %s: %s") % (filename, str(e)))
+                raise Errors.YumBaseError(_("Could not save transaction file %s: %s") % (filename, exception2msg(e)))
 
-        
-    def load_ts(self, filename, ignorerpm=None, ignoremissing=None):
-        """loads a transaction from a .yumtx file"""
+    def _load_ts_data(self, filename):
+        """ Load the file into a simple data format. """
+        try:
+            data = open(filename, 'r').readlines()
+        except (IOError, OSError), e:
+            return (exception2msg(e), None)
+
+        if not data:
+            return (_("File is empty."), None)
+
+        if data[0] == 'saved_tx:\n':
+            #  Old versions of yum would put "saved_tx:" at the beginning and
+            # two blank lines at the end when you used:
+            # "yum -q history addon-info saved_tx".
+            if data[-1] == 'history addon-info\n':
+                # Might as well also DTRT if they hand removed the plugins line
+                data = data[1:-3]
+            else:
+                data = data[1:-2]
+
+        return (None, data)
+        
+    def load_ts(self, filename, ignorerpm=None, ignoremissing=None,
+                ignorenewrpm=None):
+        """Load a transaction from a .yumtx file.
+
+        :param filename: the name of the file to load the transaction
+           from
+        :param ignorerpm: whether to ignore starting rpmdb version mismatch.
+        :param ignoremissing: whether to ignore that there may be
+           transaction members missing
+        :param ignorenewrpm: whether to ignore ending rpmdb version mismatch.
+        :return: the members of the loaded transaction
+        :raises: :class:`yum.Errors.YumBaseError` if there are problems
+           loading the transaction
+        """
         # check rpmversion - if not match throw a fit
         # check repoversions  (and repos)- if not match throw a fit
         # load each txmbr - if pkgs being updated don't exist, bail w/error
         # setup any ts flags
         # setup cmds for history/yumdb to know about
         # return txmbrs loaded
-        try:
-            data = open(filename, 'r').readlines()
-        except (IOError, OSError), e:
-            raise Errors.YumBaseError(_("Could not access/read saved transaction %s : %s") % (filename, str(e)))
-            
+
+        data = self._load_ts_data(filename)
+        if data[0] is not None:
+            raise Errors.YumBaseError(_("Could not access/read saved transaction %s : %s") % (filename, data[0]))
+        data = data[1]
 
         if ignorerpm is None:
             ignorerpm = self.conf.loadts_ignorerpm
+        if ignorenewrpm is None:
+            ignorenewrpm = self.conf.loadts_ignorenewrpm
         if ignoremissing is None:
             ignoremissing = self.conf.loadts_ignoremissing
+
+        #  Inherit this, because for the ending version to match the starting
+        # version must match.
+        if ignorerpm:
+            ignorenewrpm = True
             
         # data format
         # 0 == rpmdb version
         # 1 == tsflags
         # 2 == numrepos
         # 3:numrepos = repos
+        #  -- post 3.2.29 update: 'installed' repo. added with the values as the
+        #                         new rpmdb version.
         # 3+numrepos = num pkgs
         # 3+numrepos+1 -> EOF= txmembers
-        
+
         # rpm db ver
         rpmv = data[0].strip()
         if rpmv != str(self.rpmdb.simpleVersion(main_only=True)[0]):
-            msg = _("rpmdb ver mismatched saved transaction version, ")
+            msg = _("rpmdb ver mismatched saved transaction version,")
             if ignorerpm:
                 msg += _(" ignoring, as requested.")
                 self.logger.critical(_(msg))
@@ -5318,8 +6870,17 @@ class YumBase(depsolve.Depsolve):
         numrepos = int(data[2].strip())
         repos = []
         rindex=3+numrepos
+        future_rpmdbv = None
         for r in data[3:rindex]:
-            repos.append(r.strip().split(':'))
+            repo = r.strip().split(':')
+
+            if repo and repo[0] == 'installed':
+                #  This is an update hack to list the _future_ rpmdb version.
+                # Doing it this way allows older yum's to load newer ts files.
+                future_rpmdbv = "%s:%s" % (repo[1], repo[2])
+                continue
+
+            repos.append(repo)
 
         # pkgs/txmbrs
         numpkgs = int(data[rindex].strip())
@@ -5329,6 +6890,7 @@ class YumBase(depsolve.Depsolve):
         pkgcount = 0
         pkgprob = False
         curpkg = None
+        missingany = False
         for l in data[pkgstart:]:
             l = l.rstrip()
             # our main txmbrs
@@ -5356,6 +6918,7 @@ class YumBase(depsolve.Depsolve):
                     if not ignoremissing:
                         raise Errors.YumBaseError(msg)
                     else:
+                        ignorenewrpm = True
                         self.logger.critical(msg)
                 else:
                     pkgcount += 1
@@ -5432,12 +6995,18 @@ class YumBase(depsolve.Depsolve):
         if pkgprob:
             msg = _("Transaction members, relations are missing or ts has been modified,")
             if ignoremissing:
+                ignorenewrpm = True
                 msg += _(" ignoring, as requested. You must redepsolve!")
                 self.logger.critical(msg)
             else:
                 msg += _(" aborting.")
                 raise Errors.YumBaseError(msg)
             
+        if len(self.tsInfo) != pkgcount:
+            future_rpmdbv = None
+        if future_rpmdbv is not None:
+            self.tsInfo._check_future_rpmdbv = (pkgcount, future_rpmdbv,
+                                                ignorenewrpm)
         return self.tsInfo.getMembers()
 
     def _remove_old_deps(self):
@@ -5470,18 +7039,6 @@ class YumBase(depsolve.Depsolve):
                     if requiring == required: # if they are self-requiring skip them
                         continue
                         
-                # go through the stuff in the ts to be installed - make sure none of that needs the required pkg, either.
-                for (provn,provf,provevr) in required.provides:
-                    if self.tsInfo.getNewRequires(provn, provf, provevr).keys():
-                        still_needed = True
-                        okay_to_remove[required] = False
-                        break
-                for fn in required.filelist + required.dirlist:
-                    if self.tsInfo.getNewRequires(fn, None,(None,None,None)).keys():
-                        okay_to_remove[required] = False
-                        still_needed = True
-                        break
-                            
                     #for tbi_pkg in self.tsInfo.getMembersWithState(output_states=TS_INSTALL_STATES):
                     #   for reqtuple in tbi_pkg.po.requires:
                     #        if required.provides_for(reqtuple):
@@ -5533,7 +7090,24 @@ class YumBase(depsolve.Depsolve):
                     # Debugging output
                     self.verbose_logger.log(logginglevels.DEBUG_2, _("%s has revdep %s which was user-installed."), pkg, curpkg)
                     ok_to_remove[pkg] = False
+                    ok_to_remove[curpkg] = False
                     return True
+
+                #  Go through the stuff in the ts to be installed - make sure
+                # none of that needs the required pkg, either.
+                for (provn,provf,provevr) in curpkg.provides:
+                    if self.tsInfo.getNewRequires(provn, provf, provevr).keys():
+                        ok_to_remove[pkg] = False
+                        ok_to_remove[curpkg] = False
+                        self.verbose_logger.log(logginglevels.DEBUG_2, _("%s is needed by a package to be installed."), curpkg)
+                        return True
+                for fn in curpkg.filelist + curpkg.dirlist:
+                    if self.tsInfo.getNewRequires(fn, None,(None,None,None)).keys():
+                        ok_to_remove[pkg] = False
+                        ok_to_remove[curpkg] = False
+                        self.verbose_logger.log(logginglevels.DEBUG_2, _("%s is needed by a package to be installed."), curpkg)
+                        return True
+
                 visited[curpkg] = True
             all_leaves_visited = True
             leaves = curpkg.requiring_packages()
@@ -5547,4 +7121,3 @@ class YumBase(depsolve.Depsolve):
         # Debugging output
         self.verbose_logger.log(logginglevels.DEBUG_2, _("%s has no user-installed revdeps."), pkg)
         return False
-
diff --git a/yum/callbacks.py b/yum/callbacks.py
index 7ad25ce..a9a8e53 100644
--- a/yum/callbacks.py
+++ b/yum/callbacks.py
@@ -13,6 +13,8 @@
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
+"""Classes for handling various callbacks."""
+
 # imports
 
 import logging 
@@ -35,59 +37,79 @@ PT_MESSAGES = { PT_DOWNLOAD    : "Downloading Packages",
 
 
 class ProcessTransBaseCallback:
-    
+    """A class to handle callbacks from
+    :func:`YumBase.processTransaction`.
+    """
     def __init__(self):
         self.logger = logging.getLogger('yum.verbose.ProcessTrasactionBaseCallback')
         
     def event(self,state,data=None):
+        """Handle an event by logging it.
+
+        :param state: a number indicating the type of callback
+        :param data: data associated with the callback
+        """
         if state in PT_MESSAGES.keys():
             self.logger.info(PT_MESSAGES[state])
 
 class ProcessTransNoOutputCallback:
+    """A class to handle callbacks from
+    :func:`YumBase.processTransaction`, without logging them.
+    """
     def __init__(self):
         pass
          
     def event(self,state,data=None):
+        """Handle an event.
+
+        :param state: a number indicating the type of callback
+        :param data: data associated with the callback
+        """
         pass
     
 class DownloadBaseCallback( BaseMeter ):
-    """ 
-    This is class is a base class to use by implement a download progress
-    handler to be used with YumBase.repos.setProgressBar.
+    """This is a base class that can be extended to implement a custom
+    download progress handler to be used with
+    :func:`YumBase.repos.setProgressBar`.
     
-    Example:
-    
-    from yum.callbacks import DownloadBaseCallback
-    
-    class MyDownloadCallback(  DownloadBaseCallback ):
-
-        def updateProgress(self,name,frac,fread,ftime):
-            '''
-            Update the progressbar
-            @param name: filename
-            @param frac: Progress fracment (0 -> 1)
-            @param fread: formated string containing BytesRead
-            @param ftime : formated string containing remaining or elapsed time
-            '''
-            pct = int( frac*100 )
-            print " %s : %s " % (name,pct)
-
-
-    if __name__ == '__main__':
-        my = YumBase()
-        my.doConfigSetup()
-        dnlcb = MyDownloadCallback()
-        my.repos.repos.setProgressBar( dnlcb )
-        for pkg in my.pkgSack:
-            print pkg.name
-
-    """
+    Example::
     
+       from yum.callbacks import DownloadBaseCallback
+       
+       class MyDownloadCallback(  DownloadBaseCallback ):
+   
+           def updateProgress(self,name,frac,fread,ftime):
+               '''
+               Update the progressbar
+               @param name: filename
+               @param frac: Progress fracment (0 -> 1)
+               @param fread: formated string containing BytesRead
+               @param ftime : formated string containing remaining or elapsed time
+               '''
+               pct = int( frac*100 )
+               print " %s : %s " % (name,pct)
+   
+   
+       if __name__ == '__main__':
+           my = YumBase()
+           my.doConfigSetup()
+           dnlcb = MyDownloadCallback()
+           my.repos.setProgressBar( dnlcb )
+           for pkg in my.pkgSack:
+               print pkg.name
+       """
     def __init__(self):
         BaseMeter.__init__( self )
         self.totSize = ""   # Total size to download in a formatted string (Kb, MB etc)
         
     def update( self, amount_read, now=None ):
+        """Update the status bar.
+
+        :param amount_read: the amount of data, in bytes, that has been read
+        :param now: the current time in seconds since the epoch.  If
+           *now* is not given, the output of :func:`time.time()` will
+           be used.
+        """
         BaseMeter.update( self, amount_read, now )
 
     def _do_start( self, now=None ):
@@ -130,12 +152,15 @@ class DownloadBaseCallback( BaseMeter ):
         return name
 
     def updateProgress(self,name,frac,fread,ftime):
-        '''
-         Update the progressbar (Overload in child class)
-        @param name: filename
-        @param frac: Progress fracment (0 -> 1)
-        @param fread: formated string containing BytesRead
-        @param ftime : formated string containing remaining or elapsed time
-        '''
+        """Update the progressbar.  This method should be overridden
+        by subclasses to implement the handler.
+
+        :param name: the name of the filed being downloaded
+        :param frac: number between 0 and 1 representing the fraction
+            fraction of the file that has been downloaded
+        :param fread: formatted string containing the number of bytes read
+        :param ftime: formatted string containing remaining or elapsed time
+
+        """
         pass
         
diff --git a/yum/comps.py b/yum/comps.py
index 65f6d5e..92e87ba 100755
--- a/yum/comps.py
+++ b/yum/comps.py
@@ -16,14 +16,14 @@
 
 import types
 import sys
-from constants import *
-from Errors import CompsException
+from yum.constants import *
+from yum.Errors import CompsException
 #FIXME - compsexception isn't caught ANYWHERE so it's pointless to raise it
 # switch all compsexceptions to grouperrors after api break
 import fnmatch
 import re
 from yum.i18n import to_unicode
-from misc import get_my_lang_code
+from yum.misc import get_my_lang_code
 from yum.misc import cElementTree_iterparse as iterparse 
 
 lang_attr = '{http://www.w3.org/XML/1998/namespace}lang'
@@ -43,6 +43,16 @@ class CompsObj(object):
         return self.name
 
     @property
+    def compsid(self):
+        """ Return the "id": categoryid, groupid, environmentid. """
+
+        for idT in ('categoryid', 'groupid', 'environmentid'):
+            if hasattr(self, idT):
+                return getattr(self, idT)
+
+        return None
+
+    @property
     def ui_name(self):
         """ Return the "name" of the object for the current locale. """
         return self.nameByLang(get_my_lang_code())
@@ -108,12 +118,14 @@ class Group(CompsObj):
         self.optional_packages = {}
         self.default_packages = {}
         self.conditional_packages = {}
-        self.langonly = None ## what the hell is this?
+        self.langonly = None
         self.groupid = None
         self.display_order = 1024
         self.installed = False
         self.toremove = False
 
+        self._weak = False
+
         if elem:
             self.parse(elem)
 
@@ -191,6 +203,10 @@ class Group(CompsObj):
                     continue
 
                 package = child.text
+                if not package:
+                    #  Ignore this too, or we end up doing:
+                    # .searchNevra(name=None)
+                    continue
                 if genre == 'mandatory':
                     self.mandatory_packages[package] = 1
                 elif genre == 'default':
@@ -271,6 +287,157 @@ class Group(CompsObj):
 
         return msg      
 
+class Environment(CompsObj):
+    """ Environment object parsed from group data in each repo, and merged """
+
+    def __init__(self, elem=None):
+        self.name = ""
+        self.environmentid = None
+        self.description = ""
+        self.translated_name = {}
+        self.translated_description = {}
+        self.display_order = 1024
+        self.langonly = None
+        self.installed = False
+        self._groups = {}
+        self._options = {}
+        self._defaultoptions = {}
+
+        self._weak = False
+
+        if elem:
+            self.parse(elem)
+
+    def _allgroupiter(self):
+        lst = self._groups.keys() + \
+              self._options.keys()
+        return lst
+
+    allgroups = property(_allgroupiter)
+
+    def _groupiter(self):
+        return self._groups.keys()
+
+    groups = property(_groupiter)
+
+    def _optioniter(self):
+        return self._options.keys()
+
+    options = property(_optioniter)
+
+    def _defaultoptioniter(self):
+        return self._defaultoptions.keys()
+
+    defaultoptions = property(_defaultoptioniter)
+
+    def parse(self, elem):
+        for child in elem:
+            if child.tag == 'id':
+                myid = child.text
+                if self.environmentid is not None:
+                    raise CompsException
+                self.environmentid = myid
+
+            elif child.tag == 'name':
+                text = child.text
+                if text:
+                    text = text.encode('utf8')
+
+                lang = child.attrib.get(lang_attr)
+                if lang:
+                    self.translated_name[lang] = text
+                else:
+                    self.name = text
+
+            elif child.tag == 'description':
+                text = child.text
+                if text:
+                    text = text.encode('utf8')
+
+                lang = child.attrib.get(lang_attr)
+                if lang:
+                    self.translated_description[lang] = text
+                else:
+                    self.description = text
+
+            elif child.tag == 'grouplist':
+                self.parse_group_list(child)
+
+            elif child.tag == 'optionlist':
+                self.parse_option_list(child)
+
+            elif child.tag == 'display_order':
+                self.display_order = parse_number(child.text)
+
+    def parse_group_list(self, grouplist_elem):
+        for child in grouplist_elem:
+            if child.tag == 'groupid':
+                groupid = child.text
+                self._groups[groupid] = 1
+
+    def parse_option_list(self, optionlist_elem):
+        for child in optionlist_elem:
+            if child.tag == 'groupid':
+                optionid = child.text
+                self._options[optionid] = 1
+                defopt = child.attrib.get('default')
+                if defopt:
+                    default = parse_boolean(defopt)
+                else:
+                    default = False
+                if default:
+                    self._defaultoptions[optionid] = 1
+
+    def add(self, obj):
+        """Add another environment object to this object"""
+
+        for grp in obj.groups:
+            self._groups[grp] = 1
+
+        for grp in obj.defaultoptions:
+            self._defaultoptions[grp] = 1
+
+        for grp in obj.options:
+            self._options[grp] = 1
+
+        # name and description translations
+        for lang in obj.translated_name:
+            if lang not in self.translated_name:
+                self.translated_name[lang] = obj.translated_name[lang]
+
+        for lang in obj.translated_description:
+            if lang not in self.translated_description:
+                self.translated_description[lang] = obj.translated_description[lang]
+
+    def xml(self):
+        """write out an xml stanza for the environment object"""
+        msg ="""
+  <environment>
+   <id>%s</id>
+   <display_order>%s</display_order>\n""" % (self.environmentid, self.display_order)
+
+        msg +="""   <name>%s</name>\n""" % self.name
+        for (lang, val) in self.translated_name.items():
+            msg += """   <name xml:lang="%s">%s</name>\n""" % (lang, val)
+
+        msg += """   <description>%s</description>\n""" % self.description
+        for (lang, val) in self.translated_description.items():
+            msg += """    <description xml:lang="%s">%s</description>\n""" % (lang, val)
+
+        msg += """    <grouplist>\n"""
+        for grp in self.groups:
+            msg += """     <groupid>%s</groupid>\n""" % grp
+        msg += """    </grouplist>\n"""
+        msg += """    <optionlist>\n"""
+        for grp in self.options:
+            if grp in self.defaultoptions:
+                msg += """     <groupid default="true">%s</groupid>\n""" % grp
+            else:
+                msg += """     <groupid>%s</groupid>\n""" % grp
+        msg += """    </optionlist>\n"""
+        msg += """  </environment>\n"""
+
+        return msg
 
 class Category(CompsObj):
     """ Category object parsed from group data in each repo. and merged. """
@@ -371,12 +538,61 @@ class Category(CompsObj):
         msg += """  </category>\n"""
 
         return msg                
-        
+
+class Langpacks(CompsObj):
+    def __init__(self, elem=None):
+        self.langpacks = []
+        self.name = "" # prevent CompsObj.__str__() throwing an AttributeError
+        if elem is not None:
+            self.parse(elem)
+
+    def __getitem__(self, indx):
+        return self.langpacks[indx]
+
+    def __iter__(self):
+        for i in self.langpacks:
+            yield i
+
+    def __len__(self):
+        return len(self.langpacks)
+
+    def add(self, name, install):
+        langpack = {
+            "name": name,
+            "install": install,
+        }
+        self.langpacks.append(langpack)
+
+    def parse(self, elem):
+        for child in elem:
+            if child.tag == "match":
+                langpack = {
+                    "name": child.attrib.get("name"),
+                    "install": child.attrib.get("install"),
+                }
+                self.langpacks.append(langpack)
+            else:
+                raise CompsException("Unexpected element in <langpacks>: %s" % child.tag)
+
+        self.name = elem.attrib.get("name")
+        self.install = elem.attrib.get("install")
+
+    def xml(self):
+        """write out an xml stanza for the Langpacks object"""
+        if not self.langpacks:
+            return ''
+        msg  = '  <langpacks>\n'
+        for i in self:
+            msg += '    <match name="%s" install="%s"/>\n' % (i["name"], i["install"])
+        msg += '  </langpacks>\n'
+        return msg
 
 class Comps(object):
     def __init__(self, overwrite_groups=False):
         self._groups = {}
+        self._environments = {}
         self._categories = {}
+        self._langpacks = Langpacks()
         self.compscount = 0
         self.overwrite_groups = overwrite_groups
         self.compiled = False # have groups been compiled into avail/installed 
@@ -387,14 +603,24 @@ class Comps(object):
         grps = self._groups.values()
         grps.sort(key=lambda x: (x.display_order, x.name))
         return grps
-        
+
+    def get_environments(self):
+        environments = self._environments.values()
+        environments.sort(key=lambda x: (x.display_order, x.name))
+        return environments
+
     def get_categories(self):
         cats = self._categories.values()
         cats.sort(key=lambda x: (x.display_order, x.name))
         return cats
+
+    def get_langpacks(self):
+        return self._langpacks
     
     groups = property(get_groups)
+    environments = property(get_environments)
     categories = property(get_categories)
+    langpacks = property(get_langpacks)
     
     def has_group(self, grpid):
         exists = self.return_groups(grpid)
@@ -416,6 +642,9 @@ class Comps(object):
         """return all groups which match either by glob or exact match"""
         returns = {}
 
+        if not group_pattern:
+            return []
+
         for item in group_pattern.split(','):
             item = item.strip()
             if item in self._groups:
@@ -447,6 +676,60 @@ class Comps(object):
 
         return returns.values()
 
+    def has_environment(self, environmentid):
+        exists = self.return_environments(environmentid)
+
+        if exists:
+            return True
+
+        return False
+
+    def return_environment(self, environmentid):
+        """Return the first group which matches"""
+        environments = self.return_environments(environmentid)
+        if environments:
+            return environments[0]
+
+        return None
+
+    def return_environments(self, env_pattern, case_sensitive=False):
+        """return all environments which match either by glob or exact match"""
+        returns = {}
+
+        if not env_pattern:
+            return []
+
+        for item in env_pattern.split(','):
+            item = item.strip()
+            if item in self._environments:
+                env = self._environments[item]
+                returns[env.environmentid] = env
+                continue
+
+            if case_sensitive:
+                match = re.compile(fnmatch.translate(item)).match
+            else:
+                match = re.compile(fnmatch.translate(item), flags=re.I).match
+
+            done = False
+            for env in self.environments:
+                for name in env.name, env.environmentid, env.ui_name:
+                    if match(name):
+                        done = True
+                        returns[env.environmentid] = env
+                        break
+            if done:
+                continue
+
+            # If we didn't match to anything in the current locale, try others
+            for env in self.environments:
+                for name in env.translated_name.values():
+                    if match(name):
+                        returns[env.environmentid] = env
+                        break
+
+        return returns.values()
+
     #  This is close to returnPackages() etc. API ... need to std. these names
     # the above return_groups uses different, but equal, API.
     def return_categories(self, pattern, ignore_case=True):
@@ -486,10 +769,27 @@ class Comps(object):
     def add_group(self, group):
         if group.groupid in self._groups:
             thatgroup = self._groups[group.groupid]
+            if thatgroup._weak:
+                # If what we had was weak, use this one and merge the weak one.
+                tmp = group
+                group = thatgroup
+                thatgroup = self._groups[group.groupid] = tmp
             thatgroup.add(group)
         else:
             self._groups[group.groupid] = group
 
+    def add_environment(self, environment):
+        if environment.environmentid in self._environments:
+            env = self._environments[environment.environmentid]
+            if env._weak:
+                # If what we had was weak, use this one and merge the weak one.
+                tmp = environment
+                environment = env
+                env = self._environments[environment.environmentid] = tmp
+            env.add(environment)
+        else:
+            self._environments[environment.environmentid] = environment
+
     def add_category(self, category):
         if category.categoryid in self._categories:
             thatcat = self._categories[category.categoryid]
@@ -497,6 +797,9 @@ class Comps(object):
         else:
             self._categories[category.categoryid] = category
 
+    def add_langpack(self, name, install):
+        self._langpacks.add(name, install)
+
     def add(self, srcfile = None):
         if not srcfile:
             raise CompsException
@@ -520,9 +823,14 @@ class Comps(object):
                 if elem.tag == "group":
                     group = Group(elem)
                     self.add_group(group)
+                if elem.tag == "environment":
+                    environment = Environment(elem)
+                    self.add_environment(environment)
                 if elem.tag == "category":
                     category = Category(elem)
                     self.add_category(category)
+                if elem.tag == "langpacks":
+                    self._langpacks.parse(elem)
         except SyntaxError, e:
             raise CompsException, "comps file is empty/damaged"
             
@@ -557,13 +865,32 @@ class Comps(object):
                     if pkgname in inst_pkg_names:
                         group.installed = True
                         break
+
+        # Now do basically the same thing for evgroups.
+        inst_grp_names = {}
+        for group in self.groups:
+            inst_grp_names[group.groupid] = group.installed
+        for evgroup in self.environments:
+            if evgroup.groups:
+                evgroup.installed = True
+                for grpname in evgroup.groups:
+                    if not inst_grp_names.get(grpname):
+                        evgroup.installed = False
+                        break
+            else:
+                evgroup.installed = False
+                for grpname in evgroup.options:
+                    if grpname in inst_grp_names:
+                        evgroup.installed = True
+                        break
         
         self.compiled = True
     
     def xml(self):
         """returns the xml of the comps files in this class, merged"""
 
-        if not self._groups and not self._categories:
+        if not self._groups and not self._categories and \
+            not self._environments and not len(self._langpacks):
             return ""
             
         msg = """<?xml version="1.0" encoding="UTF-8"?>
@@ -575,7 +902,9 @@ class Comps(object):
             msg += g.xml()
         for c in self.get_categories():
             msg += c.xml()
-
+        for e in self.get_environments():
+            msg += e.xml()
+        msg += self.get_langpacks().xml()
         msg += """\n</comps>\n"""
         
         return msg
@@ -590,16 +919,34 @@ def main():
         for srcfile in sys.argv[1:]:
             p.add(srcfile)
 
+        print
+        print "===== GROUPS ====="
         for group in p.groups:
-            print group
+            print "%s (id: %s)" % (group, group.groupid)
             for pkg in group.packages:
                 print '  ' + pkg
-        
+
+        print
+        print "===== ENVIRONMENTS ====="
+        for environment in p.environments:
+            print "%s (id: %s)" % (environment.name, environment.environmentid)
+            for group in environment.groups:
+                print '  ' + group
+            for group in environment.options:
+                print '  *' + group
+
+        print
+        print "===== CATEGORIES ====="
         for category in p.categories:
-            print category.name
+            print "%s (id: %s)" % (category.name, category.categoryid)
             for group in category.groups:
                 print '  ' + group
-                
+
+        print
+        print "===== LANGPACKS ====="
+        for langpack in p.langpacks:
+            print '  %s (%s)' % (langpack["name"], langpack["install"])
+
     except IOError:
         print >> sys.stderr, "newcomps.py: No such file:\'%s\'" % sys.argv[1]
         sys.exit(1)
diff --git a/yum/config.py b/yum/config.py
index d09511f..f0f4e96 100644
--- a/yum/config.py
+++ b/yum/config.py
@@ -38,22 +38,30 @@ if not _use_iniparse:
     from ConfigParser import NoSectionError, NoOptionError, ParsingError
     from ConfigParser import ConfigParser
 import rpmUtils.transaction
+import rpmUtils.miscutils
 import Errors
 import types
-from misc import get_uuid, read_in_items_from_dot_dir
+from misc import get_uuid_obj, read_in_items_from_dot_dir
 
 # Alter/patch these to change the default checking...
 __pkgs_gpgcheck_default__ = False
 __repo_gpgcheck_default__ = False
+__main_multilib_policy_default__ = 'all'
+__main_failovermethod_default__ = 'roundrobin'
+__main_installonly_limit_default__ = 0
+__group_command_default__ = 'compat'
+__exactarchlist_default__ = ['kernel', 'kernel-smp',
+                             'kernel-hugemem', 'kernel-enterprise',
+                             'kernel-bigmem',
+                             'kernel-devel', 'kernel-PAE', 'kernel-PAE-debug']
 
 class Option(object):
-    '''
+    """
     This class handles a single Yum configuration file option. Create
     subclasses for each type of supported configuration option.
-    
     Python descriptor foo (__get__ and __set__) is used to make option
-    definition easy and consise.
-    '''
+    definition easy and concise.
+    """
 
     def __init__(self, default=None, parse_default=False):
         self._setattrname()
@@ -63,19 +71,19 @@ class Option(object):
         self.default = default
 
     def _setattrname(self):
-        '''Calculate the internal attribute name used to store option state in
+        """Calculate the internal attribute name used to store option state in
         configuration instances.
-        '''
+        """
         self._attrname = '__opt%d' % id(self)
 
     def __get__(self, obj, objtype):
-        '''Called when the option is read (via the descriptor protocol). 
+        """Called when the option is read (via the descriptor protocol). 
 
-        @param obj: The configuration instance to modify.
-        @param objtype: The type of the config instance (not used).
-        @return: The parsed option value or the default value if the value
-            wasn't set in the configuration file.
-        '''
+        :param obj: The configuration instance to modify.
+        :param objtype: The type of the config instance (not used).
+        :return: The parsed option value or the default value if the value
+           wasn't set in the configuration file.
+        """
         # xemacs highlighting hack: '
         if obj is None:
             return self
@@ -83,12 +91,11 @@ class Option(object):
         return getattr(obj, self._attrname, None)
 
     def __set__(self, obj, value):
-        '''Called when the option is set (via the descriptor protocol). 
+        """Called when the option is set (via the descriptor protocol). 
 
-        @param obj: The configuration instance to modify.
-        @param value: The value to set the option to.
-        @return: Nothing.
-        '''
+        :param obj: The configuration instance to modify.
+        :param value: The value to set the option to.
+        """
         # Only try to parse if it's a string
         if isinstance(value, basestring):
             try:
@@ -100,62 +107,59 @@ class Option(object):
         setattr(obj, self._attrname, value)
 
     def setup(self, obj, name):
-        '''Initialise the option for a config instance. 
+        """Initialise the option for a config instance. 
         This must be called before the option can be set or retrieved. 
 
-        @param obj: BaseConfig (or subclass) instance.
-        @param name: Name of the option.
-        '''
+        :param obj: :class:`BaseConfig` (or subclass) instance.
+        :param name: Name of the option.
+        """
         self._optname = name
         setattr(obj, self._attrname, copy.copy(self.default))
 
     def clone(self):
-        '''Return a safe copy of this Option instance
-        '''
+        """Return a safe copy of this :class:`Option` instance.
+
+        :return: a safe copy of this :class:`Option` instance
+        """
         new = copy.copy(self)
         new._setattrname()
         return new
 
     def parse(self, s):
-        '''Parse the string value to the Option's native value.
+        """Parse the string value to the :class:`Option`'s native value.
 
-        @param s: Raw string value to parse.
-        @return: Validated native value.
-    
-        Will raise ValueError if there was a problem parsing the string.
-        Subclasses should override this.
-        '''
+        :param s: raw string value to parse
+        :return: validated native value
+        :raise: ValueError if there was a problem parsing the string.
+           Subclasses should override this
+        """
         return s
 
     def tostring(self, value):
-        '''Convert the Option's native value to a string value.
-
-        @param value: Native option value.
-        @return: String representation of input.
-
-        This does the opposite of the parse() method above.
+        """Convert the :class:`Option`'s native value to a string value.  This
+        does the opposite of the :func:`parse` method above.
         Subclasses should override this.
-        '''
+
+        :param value: native option value
+        :return: string representation of input
+        """
         return str(value)
 
 def Inherit(option_obj):
-    '''Clone an Option instance for the purposes of inheritance. The returned
-    instance has all the same properties as the input Option and shares items
+    """Clone an :class:`Option` instance for the purposes of inheritance. The returned
+    instance has all the same properties as the input :class:`Option` and shares items
     such as the default value. Use this to avoid redefinition of reused
     options.
 
-    @param option_obj: Option instance to inherit.
-    @return: New Option instance inherited from the input.
-    '''
+    :param option_obj: :class:`Option` instance to inherit
+    :return: New :class:`Option` instance inherited from the input
+    """
     new_option = option_obj.clone()
     new_option.inherit = True
     return new_option
 
 class ListOption(Option):
-
-    """
-    An option containing a list of strings.
-    """
+    """An option containing a list of strings."""
 
     def __init__(self, default=None, parse_default=False):
         if default is None:
@@ -163,10 +167,12 @@ class ListOption(Option):
         super(ListOption, self).__init__(default, parse_default)
 
     def parse(self, s):
-        """Converts a string from the config file to a workable list, parses
-           globdir: paths as foo.d-style dirs
+        """Convert a string from the config file to a workable list, parses
+        globdir: paths as foo.d-style dirs.
 
-        Commas and spaces are used as separators for the list
+        :param s: The string to be converted to a list. Commas and
+           whitespace are used as separators for the list
+        :return: *s* converted to a list
         """
         # we need to allow for the '\n[whitespace]' continuation - easier
         # to sub the \n with a space and then read the lines
@@ -183,12 +189,18 @@ class ListOption(Option):
         return results
 
     def tostring(self, value):
+        """Convert a list of to a string value.  This does the
+        opposite of the :func:`parse` method above.
+
+        :param value: a list of values
+        :return: string representation of input
+        """
         return '\n '.join(value)
 
 class UrlOption(Option):
-    '''
-    This option handles lists of URLs with validation of the URL scheme.
-    '''
+    """This option handles lists of URLs with validation of the URL
+    scheme.
+    """
 
     def __init__(self, default=None, schemes=('http', 'ftp', 'file', 'https'), 
             allow_none=False):
@@ -197,6 +209,13 @@ class UrlOption(Option):
         self.allow_none = allow_none
 
     def parse(self, url):
+        """Parse a url to make sure that it is valid, and in a scheme
+        that can be used.
+
+        :param url: a string containing the url to parse
+        :return: *url* if it is valid
+        :raises: :class:`ValueError` if there is an error parsing the url
+        """
         url = url.strip()
 
         # Handle the "_none_" special case
@@ -223,11 +242,18 @@ class UrlOption(Option):
         else:
             return '%s or %s' % (', '.join(self.schemes[:-1]), self.schemes[-1])
 
-class UrlListOption(ListOption):
-    '''
-    Option for handling lists of URLs with validation of the URL scheme.
-    '''
+class ProxyOption(UrlOption):
+    """ Just like URLOption but accept "libproxy" too.
+    """
+    def parse(self, proxy):
+        if proxy.strip().lower() == 'libproxy':
+            return 'libproxy'
+        return UrlOption.parse(self, proxy)
 
+class UrlListOption(ListOption):
+    """Option for handling lists of URLs with validation of the URL
+    scheme.
+    """
     def __init__(self, default=None, schemes=('http', 'ftp', 'file', 'https'),
                  parse_default=False):
         super(UrlListOption, self).__init__(default, parse_default)
@@ -236,6 +262,13 @@ class UrlListOption(ListOption):
         self._urloption = UrlOption(schemes=schemes)
         
     def parse(self, s):
+        """Parse a string containing multiple urls into a list, and
+        ensure that they are in a scheme that can be used.
+
+        :param s: the string to parse
+        :return: a list of strings containing the urls in *s*
+        :raises: :class:`ValueError` if there is an error parsing the urls
+        """
         out = []
         s = s.replace('\n', ' ')
         s = s.replace(',', ' ')
@@ -254,10 +287,7 @@ class UrlListOption(ListOption):
 
 
 class IntOption(Option):
-
-    """
-    An option representing an integer value.
-    """
+    """An option representing an integer value."""
 
     def __init__(self, default=None, range_min=None, range_max=None):
         super(IntOption, self).__init__(default)
@@ -265,6 +295,13 @@ class IntOption(Option):
         self._range_max = range_max
         
     def parse(self, s):
+        """Parse a string containing an integer.
+
+        :param s: the string to parse
+        :return: the integer in *s*
+        :raises: :class:`ValueError` if there is an error parsing the
+           integer
+        """
         try:
             val = int(s)
         except (ValueError, TypeError), e:
@@ -276,39 +313,56 @@ class IntOption(Option):
         return val
 
 class PositiveIntOption(IntOption):
-
+    """An option representing a positive integer value, where 0 can
+    have a special representation.
     """
-    An option representing a positive integer value, where 0 can have a special
-    represention.
-    """
-
     def __init__(self, default=None, range_min=0, range_max=None,
                  names_of_0=None):
         super(PositiveIntOption, self).__init__(default, range_min, range_max)
         self._names0 = names_of_0
 
     def parse(self, s):
+        """Parse a string containing a positive integer, where 0 can
+           have a special representation.
+
+        :param s: the string to parse
+        :return: the integer in *s*
+        :raises: :class:`ValueError` if there is an error parsing the
+           integer
+        """
         if s in self._names0:
             return 0
         return super(PositiveIntOption, self).parse(s)
 
 class SecondsOption(Option):
+    """An option representing an integer value of seconds, or a human
+    readable variation specifying days, hours, minutes or seconds
+    until something happens. Works like :class:`BytesOption`.  Note
+    that due to historical president -1 means "never", so this accepts
+    that and allows the word never, too.
 
-    """
-    An option representing an integer value of seconds, or a human readable
-    variation specifying days, hours, minutes or seconds until something
-    happens. Works like BytesOption.
-    Note that due to historical president -1 means "never", so this accepts
-    that and allows the word never too.
-
-    Valid inputs: 100, 1.5m, 90s, 1.2d, 1d, 0xF, 0.1, -1, never
-    Invalid inputs: -10, -0.1, 45.6Z, 1d6h, 1day, 1y
+    Valid inputs: 100, 1.5m, 90s, 1.2d, 1d, 0xF, 0.1, -1, never.
+    Invalid inputs: -10, -0.1, 45.6Z, 1d6h, 1day, 1y.
 
     Return value will always be an integer
     """
     MULTS = {'d': 60 * 60 * 24, 'h' : 60 * 60, 'm' : 60, 's': 1}
 
     def parse(self, s):
+        """Parse a string containing an integer value of seconds, or a human
+        readable variation specifying days, hours, minutes or seconds
+        until something happens. Works like :class:`BytesOption`.  Note
+        that due to historical president -1 means "never", so this accepts
+        that and allows the word never, too.
+    
+        Valid inputs: 100, 1.5m, 90s, 1.2d, 1d, 0xF, 0.1, -1, never.
+        Invalid inputs: -10, -0.1, 45.6Z, 1d6h, 1day, 1y.
+    
+        :param s: the string to parse
+        :return: an integer representing the number of seconds
+           specified by *s*
+        :raises: :class:`ValueError` if there is an error parsing the string
+        """
         if len(s) < 1:
             raise ValueError("no value specified")
 
@@ -335,14 +389,20 @@ class SecondsOption(Option):
         return int(n * mult)
 
 class BoolOption(Option):
-
-    """
-    An option representing a boolean value.
-
-    The value can be one of 0, 1, yes, no, true, or false.
+    """An option representing a boolean value.  The value can be one
+    of 0, 1, yes, no, true, or false.
     """
 
     def parse(self, s):
+        """Parse a string containing a boolean value.  1, yes, and
+        true will evaluate to True; and 0, no, and false will evaluate
+        to False.  Case is ignored.
+        
+        :param s: the string containing the boolean value
+        :return: the boolean value contained in *s*
+        :raises: :class:`ValueError` if there is an error in parsing
+           the boolean value
+        """
         s = s.lower()
         if s in ('0', 'no', 'false'):
             return False
@@ -352,30 +412,49 @@ class BoolOption(Option):
             raise ValueError('invalid boolean value')
 
     def tostring(self, value):
+        """Convert a boolean value to a string value.  This does the
+        opposite of the :func:`parse` method above.
+        
+        :param value: the boolean value to convert
+        :return: a string representation of *value*
+        """
         if value:
             return "1"
         else:
             return "0"
 
 class FloatOption(Option):
-    """
-    An option representing a numeric float value.
-    """
+    """An option representing a numeric float value."""
+
     def parse(self, s):
+        """Parse a string containing a numeric float value.
+
+        :param s: a string containing a numeric float value to parse
+        :return: the numeric float value contained in *s*
+        :raises: :class:`ValueError` if there is an error parsing
+           float value
+        """
         try:
             return float(s.strip())
         except (ValueError, TypeError):
             raise ValueError('invalid float value')
 
 class SelectionOption(Option):
-    '''Handles string values where only specific values are allowed
-    '''
+    """Handles string values where only specific values are
+    allowed.
+    """
     def __init__(self, default=None, allowed=(), mapper={}):
         super(SelectionOption, self).__init__(default)
         self._allowed = allowed
         self._mapper  = mapper
         
     def parse(self, s):
+        """Parse a string for specific values.
+
+        :param s: the string to parse
+        :return: *s* if it contains a valid value
+        :raises: :class:`ValueError` if there is an error parsing the values
+        """
         if s in self._mapper:
             s = self._mapper[s]
         if s not in self._allowed:
@@ -383,18 +462,21 @@ class SelectionOption(Option):
         return s
 
 class CaselessSelectionOption(SelectionOption):
-    ''' Mainly for compat. with BoolOption, works like SelectionOption but
-        lowers input case. '''
-
+    """Mainly for compatibility with :class:`BoolOption`, works like
+    :class:`SelectionOption` but lowers input case.
+    """
     def parse(self, s):
+        """Parse a string for specific values.
+
+        :param s: the string to parse
+        :return: *s* if it contains a valid value
+        :raises: :class:`ValueError` if there is an error parsing the values
+        """
         return super(CaselessSelectionOption, self).parse(s.lower())
 
 class BytesOption(Option):
-
-    """
-    An option representing a value in bytes.
-
-    The value may be given in bytes, kilobytes, megabytes, or gigabytes.
+    """An option representing a value in bytes. The value may be given
+    in bytes, kilobytes, megabytes, or gigabytes.
     """
     # Multipliers for unit symbols
     MULTS = {
@@ -404,20 +486,18 @@ class BytesOption(Option):
     }
 
     def parse(self, s):
-        """Parse a friendly bandwidth option to bytes
-
-        The input should be a string containing a (possibly floating point)
-        number followed by an optional single character unit. Valid units are
-        'k', 'M', 'G'. Case is ignored.
+        """Parse a friendly bandwidth option to bytes.  The input
+        should be a string containing a (possibly floating point)
+        number followed by an optional single character unit. Valid
+        units are 'k', 'M', 'G'. Case is ignored. The convention that
+        1k = 1024 bytes is used.
        
-        Valid inputs: 100, 123M, 45.6k, 12.4G, 100K, 786.3, 0
-        Invalid inputs: -10, -0.1, 45.6L, 123Mb
-
-        Return value will always be an integer
-
-        1k = 1024 bytes.
+        Valid inputs: 100, 123M, 45.6k, 12.4G, 100K, 786.3, 0.
+        Invalid inputs: -10, -0.1, 45.6L, 123Mb.
 
-        ValueError will be raised if the option couldn't be parsed.
+        :param s: the string to parse
+        :return: the number of bytes represented by *s*
+        :raises: :class:`ValueError` if the option can't be parsed
         """
         if len(s) < 1:
             raise ValueError("no value specified")
@@ -443,25 +523,23 @@ class BytesOption(Option):
         return int(n * mult)
 
 class ThrottleOption(BytesOption):
-
-    """
-    An option representing a bandwidth throttle value. See
-    ThrottleOption.parse for acceptable input values.
+    """An option representing a bandwidth throttle value. See
+    :func:`parse` for acceptable input values.
     """
 
     def parse(self, s):
-        """Get a throttle option. 
-
-        Input may either be a percentage or a "friendly bandwidth value" as
-        accepted by the BytesOption.
-
-        Valid inputs: 100, 50%, 80.5%, 123M, 45.6k, 12.4G, 100K, 786.0, 0
-        Invalid inputs: 100.1%, -4%, -500
-
-        Return value will be a int if a bandwidth value was specified or a
-        float if a percentage was given.
-
-        ValueError will be raised if input couldn't be parsed.
+        """Get a throttle option. Input may either be a percentage or
+        a "friendly bandwidth value" as accepted by the
+        :class:`BytesOption`.
+
+        Valid inputs: 100, 50%, 80.5%, 123M, 45.6k, 12.4G, 100K, 786.0, 0.
+        Invalid inputs: 100.1%, -4%, -500.
+
+        :param s: the string to parse
+        :return: the bandwidth represented by *s*. The return value
+           will be an int if a bandwidth value was specified, and a
+           float if a percentage was given
+        :raises: :class:`ValueError` if input can't be parsed
         """
         if len(s) < 1:
             raise ValueError("no value specified")
@@ -479,10 +557,9 @@ class ThrottleOption(BytesOption):
             return BytesOption.parse(self, s)
 
 class BaseConfig(object):
-    '''
-    Base class for storing configuration definitions. Subclass when creating
-    your own definitons.
-    '''
+    """Base class for storing configuration definitions. Subclass when
+    creating your own definitions.
+    """
 
     def __init__(self):
         self._section = None
@@ -499,13 +576,14 @@ class BaseConfig(object):
         return '\n'.join(out)
 
     def populate(self, parser, section, parent=None):
-        '''Set option values from a INI file section.
+        """Set option values from an INI file section.
 
-        @param parser: ConfParser instance (or subclass)
-        @param section: INI file section to read use.
-        @param parent: Optional parent BaseConfig (or subclass) instance to use
-            when doing option value inheritance.
-        '''
+        :param parser: :class:`ConfigParser` instance (or subclass)
+        :param section: INI file section to read use
+        :param parent: Optional parent :class:`BaseConfig` (or
+            subclass) instance to use when doing option value
+            inheritance
+        """
         self.cfg = parser
         self._section = section
 
@@ -527,8 +605,19 @@ class BaseConfig(object):
                 setattr(self, name, value)
 
     def optionobj(cls, name, exceptions=True):
-        '''Return the Option instance for the given name
-        '''
+        """Return the :class:`Option` instance for the given name.
+
+        :param cls: the class to return the :class:`Option` instance from
+        :param name: the name of the :class:`Option` instance to return
+        :param exceptions: defines what action to take if the
+           specified :class:`Option` instance does not exist. If *exceptions* is
+           True, a :class:`KeyError` will be raised. If *exceptions*
+           is False, None will be returned
+        :return: the :class:`Option` instance specified by *name*, or None if
+           it does not exist and *exceptions* is False
+        :raises: :class:`KeyError` if the specified :class:`Option` does not
+           exist, and *exceptions* is True
+        """
         obj = getattr(cls, name, None)
         if isinstance(obj, Option):
             return obj
@@ -539,37 +628,41 @@ class BaseConfig(object):
     optionobj = classmethod(optionobj)
 
     def isoption(cls, name):
-        '''Return True if the given name refers to a defined option 
-        '''
+        """Return True if the given name refers to a defined option.
+
+        :param cls: the class to find the option in
+        :param name: the name of the option to search for
+        :return: whether *name* specifies a defined option
+        """
         return cls.optionobj(name, exceptions=False) is not None
     isoption = classmethod(isoption)
 
     def iterkeys(self):
-        '''Yield the names of all defined options in the instance.
-        '''
+        """Yield the names of all defined options in the instance."""
+
         for name in dir(self):
             if self.isoption(name):
                 yield name
 
     def iteritems(self):
-        '''Yield (name, value) pairs for every option in the instance.
-
-        The value returned is the parsed, validated option value.
-        '''
+        """Yield (name, value) pairs for every option in the
+        instance. The value returned is the parsed, validated option
+        value.
+        """
         # Use dir() so that we see inherited options too
         for name in self.iterkeys():
             yield (name, getattr(self, name))
 
     def write(self, fileobj, section=None, always=()):
-        '''Write out the configuration to a file-like object
+        """Write out the configuration to a file-like object.
 
-        @param fileobj: File-like object to write to
-        @param section: Section name to use. If not-specified the section name
-            used during parsing will be used.
-        @param always: A sequence of option names to always write out.
+        :param fileobj: File-like object to write to
+        :param section: Section name to use. If not specified, the section name
+            used during parsing will be used
+        :param always: A sequence of option names to always write out.
             Options not listed here will only be written out if they are at
-            non-default values. Set to None to dump out all options.
-        '''
+            non-default values. Set to None to dump out all options
+        """
         # Write section heading
         if section is None:
             if self._section is None:
@@ -586,6 +679,14 @@ class BaseConfig(object):
         self.cfg.write(fileobj)
 
     def getConfigOption(self, option, default=None):
+        """Return the current value of the given option.
+
+        :param option: string specifying the option to return the
+           value of
+        :param default: the value to return if the option does not exist
+        :return: the value of the option specified by *option*, or
+           *default* if it does not exist
+        """
         warnings.warn('getConfigOption() will go away in a future version of Yum.\n'
                 'Please access option values as attributes or using getattr().',
                 DeprecationWarning)
@@ -594,6 +695,12 @@ class BaseConfig(object):
         return default
 
     def setConfigOption(self, option, value):
+        """Set the value of the given option to the given value.
+
+        :param option: string specifying the option to set the value
+           of
+        :param value: the value to set the option to
+        """        
         warnings.warn('setConfigOption() will go away in a future version of Yum.\n'
                 'Please set option values as attributes or using setattr().',
                 DeprecationWarning)
@@ -603,16 +710,15 @@ class BaseConfig(object):
             raise Errors.ConfigError, 'No such option %s' % option
 
 class StartupConf(BaseConfig):
-    '''
-    Configuration option definitions for yum.conf's [main] section that are
-    required early in the initialisation process or before the other [main]
-    options can be parsed. 
-    '''
+    """Configuration option definitions for yum.conf's [main] section
+    that are required early in the initialisation process or before
+    the other [main] options can be parsed.
+    """
     # xemacs highlighting hack: '
-    debuglevel = IntOption(2, 0, 10)
+    debuglevel = IntOption(2, -4, 10)
     errorlevel = IntOption(2, 0, 10)
 
-    distroverpkg = Option('redhat-release')
+    distroverpkg = ListOption(['system-release(releasever)', 'redhat-release'])
     installroot = Option('/')
     config_file_path = Option('/etc/yum/yum.conf')
     plugins = BoolOption(False)
@@ -625,13 +731,13 @@ class StartupConf(BaseConfig):
     persistdir = Option('/var/lib/yum')
     
 class YumConf(StartupConf):
-    '''
-    Configuration option definitions for yum.conf\'s [main] section.
+    """Configuration option definitions for yum.conf's [main] section.
 
-    Note: see also options inherited from StartupConf
-    '''
+    Note: see also options inherited from :class:`StartupConf`
+    """
     retries = PositiveIntOption(10, names_of_0=["<forever>"])
     recent = IntOption(7, range_min=0)
+    reset_nice = BoolOption(True)
 
     cachedir = Option('/var/cache/yum')
 
@@ -641,29 +747,33 @@ class YumConf(StartupConf):
 
     commands = ListOption()
     exclude = ListOption()
-    failovermethod = Option('roundrobin')
-    proxy = UrlOption(schemes=('http', 'ftp', 'https'), allow_none=True)
+    failovermethod = Option(__main_failovermethod_default__)
+    proxy = ProxyOption(default=False, schemes=('http', 'ftp', 'https',
+        'socks4', 'socks4a', 'socks5', 'socks5h'), allow_none=True)
     proxy_username = Option()
     proxy_password = Option()
     username = Option()
     password = Option()
-    installonlypkgs = ListOption(['kernel', 'kernel-bigmem',
-            'kernel-enterprise','kernel-smp', 'kernel-modules', 'kernel-debug',
-            'kernel-unsupported', 'kernel-source', 'kernel-devel', 'kernel-PAE',
-            'kernel-PAE-debug'])
+    installonlypkgs = ListOption(['kernel',
+                                  'kernel-devel',
+                                  'kernel-source',
+                                  'installonlypkg(kernel)',
+                                  'installonlypkg(kernel-module)',
+                                  'installonlypkg(vm)'])
     # NOTE: If you set this to 2, then because it keeps the current kernel it
     # means if you ever install an "old" kernel it'll get rid of the newest one
     # so you probably want to use 3 as a minimum ... if you turn it on.
-    installonly_limit = PositiveIntOption(0, range_min=2,
+    installonly_limit = PositiveIntOption(__main_installonly_limit_default__,
+                                          range_min=2,
                                           names_of_0=["0", "<off>"])
     kernelpkgnames = ListOption(['kernel','kernel-smp', 'kernel-enterprise',
             'kernel-bigmem', 'kernel-BOOT', 'kernel-PAE', 'kernel-PAE-debug'])
-    exactarchlist = ListOption(['kernel', 'kernel-smp',
-            'kernel-hugemem', 'kernel-enterprise', 'kernel-bigmem',
-            'kernel-devel', 'kernel-PAE', 'kernel-PAE-debug'])
+    exactarchlist = ListOption(__exactarchlist_default__)
     tsflags = ListOption()
+    override_install_langs = Option()
 
     assumeyes = BoolOption(False)
+    assumeno  = BoolOption(False)
     alwaysprompt = BoolOption(True)
     exactarch = BoolOption(True)
     tolerant = BoolOption(True)
@@ -677,18 +787,35 @@ class YumConf(StartupConf):
     obsoletes = BoolOption(True)
     showdupesfromrepos = BoolOption(False)
     enabled = BoolOption(True)
+    remove_leaf_only = BoolOption(False)
+    repopkgsremove_leaf_only = BoolOption(False)
     enablegroups = BoolOption(True)
     enable_group_conditionals = BoolOption(True)
     groupremove_leaf_only = BoolOption(False)
     group_package_types = ListOption(['mandatory', 'default'])
+    group_command = SelectionOption(__group_command_default__,
+                                    ('compat', 'objects', 'simple'))
+    upgrade_group_objects_upgrade = BoolOption(True)
     
     timeout = FloatOption(30.0) # FIXME: Should use variation of SecondsOption
 
+    minrate = IntOption(0)
     bandwidth = BytesOption(0)
     throttle = ThrottleOption(0)
+    ip_resolve = CaselessSelectionOption(
+            allowed = ('ipv4', 'ipv6', 'whatever'),
+            mapper  = {'4': 'ipv4', '6': 'ipv6'})
+    max_connections = IntOption(0, range_min=0)
+    deltarpm = IntOption(2, range_min=-16, range_max=128)
+    deltarpm_percentage = IntOption(75, range_min=0, range_max=100)
+    deltarpm_metadata_percentage = IntOption(100, range_min=0)
 
     http_caching = SelectionOption('all', ('none', 'packages', 'all'))
     metadata_expire = SecondsOption(60 * 60 * 6) # Time in seconds (6h).
+    metadata_expire_filter = SelectionOption('read-only:present',
+                                             ('never', 'read-only:future',
+                                              'read-only:present',
+                                              'read-only:past'))
     # Time in seconds (1 day). NOTE: This isn't used when using metalinks
     mirrorlist_expire = SecondsOption(60 * 60 * 24)
     # XXX rpm_check_debug is unused, left around for API compatibility for now
@@ -697,13 +824,15 @@ class YumConf(StartupConf):
     skip_broken = BoolOption(False)
     #  Note that "instant" is the old behaviour, but group:primary is very
     # similar but better :).
-    mdpolicy = ListOption(['group:primary'])
+    mdpolicy = ListOption(['group:small'])
+    mddownloadpolicy = SelectionOption('sqlite', ('sqlite', 'xml'))
     #  ('instant', 'group:all', 'group:main', 'group:small', 'group:primary'))
-    multilib_policy = SelectionOption('all',('best', 'all'))
+    multilib_policy = SelectionOption(__main_multilib_policy_default__,
+                                      ('best', 'all'))
                  # all == install any/all arches you can
                  # best == use the 'best  arch' for the system
                  
-    bugtracker_url = Option('http://yum.baseurl.org/report')
+    bugtracker_url = Option('https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=rawhide&component=yum')
 
     color = SelectionOption('auto', ('auto', 'never', 'always'),
                             mapper={'on' : 'always', 'yes' : 'always',
@@ -715,22 +844,27 @@ class YumConf(StartupConf):
     color_list_installed_newer = Option('bold,yellow')
     color_list_installed_reinstall = Option('normal')
     color_list_installed_extra = Option('bold,red')
+    color_list_installed_running_kernel = Option('bold,underline')
 
     color_list_available_upgrade = Option('bold,blue')
     color_list_available_downgrade = Option('dim,cyan')
     color_list_available_reinstall = Option('bold,underline,green')
     color_list_available_install = Option('normal')
+    color_list_available_running_kernel = Option('bold,underline')
 
     color_update_installed = Option('normal')
     color_update_local     = Option('bold')
     color_update_remote    = Option('normal')
 
     color_search_match = Option('bold')
+
+    ui_repoid_vars = ListOption(['releasever', 'basearch'])
     
     sslcacert = Option()
     sslverify = BoolOption(True)
     sslclientcert = Option()
     sslclientkey = Option()
+    ssl_check_cert_permissions = BoolOption(True)
 
     history_record = BoolOption(True)
     history_record_packages = ListOption(['yum', 'rpm'])
@@ -744,18 +878,45 @@ class YumConf(StartupConf):
     
     loadts_ignoremissing = BoolOption(False)
     loadts_ignorerpm = BoolOption(False)
+    loadts_ignorenewrpm = BoolOption(False)
     
     clean_requirements_on_remove = BoolOption(False)
 
+    upgrade_requirements_on_install = BoolOption(False)
 
     history_list_view = SelectionOption('single-user-commands',
                                         ('single-user-commands', 'users',
                                          'commands'),
                                      mapper={'cmds'          : 'commands',
                                              'default' :'single-user-commands'})
+
+    recheck_installed_requires = BoolOption(False)
+
+    fssnap_automatic_pre  = BoolOption(False)
+    fssnap_automatic_post = BoolOption(False)
+    fssnap_automatic_keep = IntOption(1)
+    fssnap_percentage = IntOption(100, range_min=1, range_max=100)
+    fssnap_devices = ListOption("!*/swap !*/lv_swap "
+                                "glob:/etc/yum/fssnap.d/*.conf",
+                                parse_default=True)
+
+    depsolve_loop_limit = PositiveIntOption(100, names_of_0=["<forever>"])
+
+    autocheck_running_kernel = BoolOption(True)
+
+    check_config_file_age = BoolOption(True)
+
+    usr_w_check = BoolOption(True)
+
     _reposlist = []
 
     def dump(self):
+        """Return a string representing the values of all the
+        configuration options.
+
+        :return: a string representing the values of all the
+           configuration options
+        """
         output = '[main]\n'
         # we exclude all vars which start with _ or are in this list:
         excluded_vars = ('cfg', 'uid', 'yumvar', 'progress_obj', 'failure_obj',
@@ -778,14 +939,12 @@ class YumConf(StartupConf):
         return output
 
 class RepoConf(BaseConfig):
-    '''
-    Option definitions for repository INI file sections.
-    '''
+    """Option definitions for repository INI file sections."""
 
     __cached_keys = set()
     def iterkeys(self):
-        '''Yield the names of all defined options in the instance.
-        '''
+        """Yield the names of all defined options in the instance."""
+
         ck = self.__cached_keys
         if not isinstance(self, RepoConf):
             ck = set()
@@ -797,6 +956,7 @@ class RepoConf(BaseConfig):
 
     name = Option()
     enabled = Inherit(YumConf.enabled)
+    keepcache = Inherit(YumConf.keepcache)
     baseurl = UrlListOption()
     mirrorlist = UrlOption()
     metalink   = UrlOption()
@@ -820,42 +980,60 @@ class RepoConf(BaseConfig):
     keepalive = Inherit(YumConf.keepalive)
     enablegroups = Inherit(YumConf.enablegroups)
 
+    minrate = Inherit(YumConf.minrate)
     bandwidth = Inherit(YumConf.bandwidth)
     throttle = Inherit(YumConf.throttle)
     timeout = Inherit(YumConf.timeout)
+    ip_resolve = Inherit(YumConf.ip_resolve)
+    #  This isn't inherited so that we can automatically disable file:// _only_
+    # repos. if they haven't set an explicit deltarpm_percentage for the repo.
+    deltarpm_percentage = IntOption(None, range_min=0, range_max=100)
+    #  Rely on the above config. to do automatic disabling, and thus. no hack
+    # needed here.
+    deltarpm_metadata_percentage = Inherit(YumConf.deltarpm_metadata_percentage)
+
     http_caching = Inherit(YumConf.http_caching)
     metadata_expire = Inherit(YumConf.metadata_expire)
+    metadata_expire_filter = Inherit(YumConf.metadata_expire_filter)
     mirrorlist_expire = Inherit(YumConf.mirrorlist_expire)
     # NOTE: metalink expire _must_ be the same as metadata_expire, due to the
     #       checksumming of the repomd.xml.
     mdpolicy = Inherit(YumConf.mdpolicy)
+    mddownloadpolicy = Inherit(YumConf.mddownloadpolicy)
     cost = IntOption(1000)
     
     sslcacert = Inherit(YumConf.sslcacert)
     sslverify = Inherit(YumConf.sslverify)
     sslclientcert = Inherit(YumConf.sslclientcert)
     sslclientkey = Inherit(YumConf.sslclientkey)
+    ssl_check_cert_permissions = Inherit(YumConf.ssl_check_cert_permissions)
 
     skip_if_unavailable = BoolOption(False)
+    async = BoolOption(True)
+
+    ui_repoid_vars = Inherit(YumConf.ui_repoid_vars)
+
+    check_config_file_age = Inherit(YumConf.check_config_file_age)
+
     
 class VersionGroupConf(BaseConfig):
+    """Option definitions for version groups."""
+
     pkglist = ListOption()
     run_with_packages = BoolOption(False)
 
 
-def readStartupConfig(configfile, root):
-    '''
-    Parse Yum's main configuration file and return a StartupConf instance.
-    
-    This is required in order to access configuration settings required as Yum
-    starts up.
+def readStartupConfig(configfile, root, releasever=None):
+    """Parse Yum's main configuration file and return a
+    :class:`StartupConf` instance.  This is required in order to
+    access configuration settings required as Yum starts up.
 
-    @param configfile: The path to yum.conf.
-    @param root: The base path to use for installation (typically '/')
-    @return: A StartupConf instance.
+    :param configfile: the path to yum.conf
+    :param root: the base path to use for installation (typically '/')
+    :return: A :class:`StartupConf` instance
 
-    May raise Errors.ConfigError if a problem is detected with while parsing.
-    '''
+    :raises: :class:`Errors.ConfigError` if a problem is detected with while parsing.
+    """
 
     # ' xemacs syntax hack
 
@@ -876,20 +1054,24 @@ def readStartupConfig(configfile, root):
             raise Errors.ConfigError("All plugin search paths must be absolute")
     # Stuff this here to avoid later re-parsing
     startupconf._parser = parser
+
     # setup the release ver here
-    startupconf.releasever = _getsysver(startupconf.installroot, startupconf.distroverpkg)
+    if releasever is None:
+        releasever = _getsysver(startupconf.installroot,
+                                startupconf.distroverpkg)
+    startupconf.releasever = releasever
+
     uuidfile = '%s/%s/uuid' % (startupconf.installroot, startupconf.persistdir)
-    startupconf.uuid = get_uuid(uuidfile)
+    startupconf.uuid = get_uuid_obj(uuidfile)
 
     return startupconf
 
 def readMainConfig(startupconf):
-    '''
-    Parse Yum's main configuration file
+    """Parse Yum's main configuration file
 
-    @param startupconf: StartupConf instance as returned by readStartupConfig()
-    @return: Populated YumConf instance.
-    '''
+    :param startupconf: :class:`StartupConf` instance as returned by readStartupConfig()
+    :return: Populated :class:`YumConf` instance
+    """
     
     # ' xemacs syntax hack
 
@@ -956,6 +1138,12 @@ def readMainConfig(startupconf):
     return yumconf
 
 def readVersionGroupsConfig(configfile="/etc/yum/version-groups.conf"):
+    """Parse the configuration file for version groups.
+    
+    :param configfile: the configuration file to read
+    :return: a dictionary containing the parsed options
+    """
+
     parser = ConfigParser()
     confpp_obj = ConfigPreProcessor(configfile)
     try:
@@ -970,17 +1158,16 @@ def readVersionGroupsConfig(configfile="/etc/yum/version-groups.conf"):
 
 
 def getOption(conf, section, name, option):
-    '''Convenience function to retrieve a parsed and converted value from a
-    ConfigParser.
-
-    @param conf: ConfigParser instance or similar
-    @param section: Section name
-    @param name: Option name
-    @param option: Option instance to use for conversion.
-    @return: The parsed value or default if value was not present.
-
-    Will raise ValueError if the option could not be parsed.
-    '''
+    """Convenience function to retrieve a parsed and converted value from a
+    :class:`ConfigParser`.
+
+    :param conf: ConfigParser instance or similar
+    :param section: Section name
+    :param name: :class:`Option` name
+    :param option: :class:`Option` instance to use for conversion
+    :return: The parsed value or default if value was not present
+    :raises: :class:`ValueError` if the option could not be parsed
+    """
     try: 
         val = conf.get(section, name)
     except (NoSectionError, NoOptionError):
@@ -1010,7 +1197,10 @@ def _getsysver(installroot, distroverpkg):
     ts = rpmUtils.transaction.initReadOnlyTransaction(root=installroot)
     ts.pushVSFlags(~(rpm._RPMVSF_NOSIGNATURES|rpm._RPMVSF_NODIGESTS))
     try:
-        idx = ts.dbMatch('provides', distroverpkg)
+        for distroverpkg_prov in distroverpkg:
+            idx = ts.dbMatch('provides', distroverpkg_prov)
+            if idx.count():
+                break
     except TypeError, e:
         # This is code for "cannot open rpmdb"
         # this is for pep 352 compliance on python 2.6 and above :(
@@ -1028,25 +1218,44 @@ def _getsysver(installroot, distroverpkg):
     if idx.count() == 0:
         releasever = '$releasever'
     else:
-        hdr = idx.next()
+        try:
+            hdr = idx.next()
+        except StopIteration:
+            raise Errors.YumBaseError("Error: rpmdb failed release provides. Try: rpm --rebuilddb")
         releasever = hdr['version']
+
+        off = hdr[getattr(rpm, 'RPMTAG_PROVIDENAME')].index(distroverpkg_prov)
+        flag = hdr[getattr(rpm, 'RPMTAG_PROVIDEFLAGS')][off]
+        flag = rpmUtils.miscutils.flagToString(flag)
+        ver  = hdr[getattr(rpm, 'RPMTAG_PROVIDEVERSION')][off]
+
+        #  Note that if distroverpkg is the name of the package, then we can't
+        # use the provide because rpm automatically adds a provide for the name
+        # of the package. So just use the version, to be compatible.
+        if hdr['name'] == distroverpkg_prov:
+            flag = None
+            ver  = None
+        if flag == 'EQ' and ver:
+            # override the package version
+            releasever = ver
+
         del hdr
     del idx
     del ts
     return releasever
 
-def writeRawRepoFile(repo,only=None):
-    """
-    Writes changes in a repo object back to a .repo file.
-    @param repo: Repo Object
-    @param only: List of attributes to work on (None = All)
-    It work by reading the repo file, changes the values there shall be changed and write it back to disk.
-    """
-
+def _readRawRepoFile(repo):
     if not _use_iniparse:
-        return
+        return None
+
+    if not hasattr(repo, 'repofile') or not repo.repofile:
+        return None
+
+    try:
+        ini = INIConfig(open(repo.repofile))
+    except:
+        return None
 
-    ini = INIConfig(open(repo.repofile))
     # b/c repoids can have $values in them we need to map both ways to figure
     # out which one is which
     section_id = repo.id
@@ -1054,6 +1263,22 @@ def writeRawRepoFile(repo,only=None):
         for sect in ini._sections.keys():
             if varReplace(sect, repo.yumvar) == repo.id:
                 section_id = sect
+                break
+        else:
+            return None
+    return ini, section_id
+
+def writeRawRepoFile(repo,only=None):
+    """Write changes in a repo object back to a .repo file.
+
+    :param repo: the Repo Object to write back out
+    :param only: list of attributes to work on. If *only* is None, all
+       options will be written out   
+    """
+    if not _use_iniparse:
+        return
+
+    ini, section_id = _readRawRepoFile(repo)
     
     # Updated the ConfigParser with the changed values    
     cfgOptions = repo.cfg.options(repo.id)
@@ -1069,7 +1294,7 @@ def writeRawRepoFile(repo,only=None):
         #  If the value is the same, but just interpreted ... when we don't want
         # to keep the interpreted values.
         if (name in ini[section_id] and
-            ovalue == varReplace(ini[section_id][name], yumvar)):
+            ovalue == varReplace(ini[section_id][name], repo.yumvar)):
             ovalue = ini[section_id][name]
 
         if name not in cfgOptions and option.default == value:
@@ -1080,6 +1305,48 @@ def writeRawRepoFile(repo,only=None):
     fp.write(str(ini))
     fp.close()
 
+# Copied from yum-config-manager ... how we alter yu.conf ... used in "yum fs"
+def _writeRawConfigFile(filename, section_id, yumvar,
+                        cfgoptions, items, optionobj,
+                        only=None):
+    """
+    From writeRawRepoFile, but so we can alter [main] too.
+    """
+    ini = INIConfig(open(filename))
+
+    osection_id = section_id
+    # b/c repoids can have $values in them we need to map both ways to figure
+    # out which one is which
+    if section_id not in ini._sections:
+        for sect in ini._sections.keys():
+            if varReplace(sect, yumvar) == section_id:
+                section_id = sect
+
+    # Updated the ConfigParser with the changed values
+    cfgOptions = cfgoptions(osection_id)
+    for name,value in items():
+        if value is None: # Proxy
+            continue
+
+        if only is not None and name not in only:
+            continue
+
+        option = optionobj(name)
+        ovalue = option.tostring(value)
+        #  If the value is the same, but just interpreted ... when we don't want
+        # to keep the interpreted values.
+        if (name in ini[section_id] and
+            ovalue == varReplace(ini[section_id][name], yumvar)):
+            ovalue = ini[section_id][name]
+
+        if name not in cfgOptions and option.default == value:
+            continue
+
+        ini[section_id][name] = ovalue
+    fp =file(filename, "w")
+    fp.write(str(ini))
+    fp.close()
+
 #def main():
 #    mainconf = readMainConfig(readStartupConfig('/etc/yum/yum.conf', '/'))
 #    print mainconf.cachedir
diff --git a/yum/depsolve.py b/yum/depsolve.py
index 6d744c0..cb0ebea 100644
--- a/yum/depsolve.py
+++ b/yum/depsolve.py
@@ -31,13 +31,15 @@ from transactioninfo import TransactionMember
 import rpm
 
 from packageSack import ListPackageSack
+from packages import PackageEVR
 from constants import *
-import packages
 import logginglevels
 import Errors
 import warnings
 warnings.simplefilter("ignore", Errors.YumFutureDeprecationWarning)
 
+from weakref import proxy as weakref
+
 from yum import _, _rpm_ver_atleast
 
 try:
@@ -58,12 +60,51 @@ flags = {"GT": rpm.RPMSENSE_GREATER,
          "LE": rpm.RPMSENSE_LESS | rpm.RPMSENSE_EQUAL,
          "EQ": rpm.RPMSENSE_EQUAL,
          None: 0 }
+_rflags = {}
+for f in flags:
+    _rflags[flags[f]] = f
+
+
+class _wrap_ayum_getPkgSack:
+    """ This is a wrapper for calling YumBase.pkgSack because
+        otherwise we take a real reference through the bound method and
+        that is d00m (this applies to YumBase and TransactionInfo, hence why
+        we have a separate class). """
+    def __init__(self, ayum):
+        self.ayum = weakref(ayum)
+    def __call__(self):
+        return self.ayum.pkgSack
+
+class _wrap_ayum_install:
+    """ This is a wrapper for calling YumBase.install because
+        otherwise we take a real reference through the bound method and
+        that is d00m (this applies to YumBase and TransactionInfo, hence why
+        we have a separate class). """
+    def __init__(self, ayum):
+        self.ayum = weakref(ayum)
+    def __call__(self, *args, **kwargs):
+        return self.ayum.install(*args, **kwargs)
+class _wrap_ayum_remove:
+    """ This is a wrapper for calling YumBase.remove because
+        otherwise we take a real reference through the bound method and
+        that is d00m (this applies to YumBase and TransactionInfo, hence why
+        we have a separate class). """
+    def __init__(self, ayum):
+        self.ayum = weakref(ayum)
+    def __call__(self, *args, **kwargs):
+        return self.ayum.remove(*args, **kwargs)
+class _wrap_ayum_update:
+    """ This is a wrapper for calling YumBase.update because
+        otherwise we take a real reference through the bound method and
+        that is d00m (this applies to YumBase and TransactionInfo, hence why
+        we have a separate class). """
+    def __init__(self, ayum):
+        self.ayum = weakref(ayum)
+    def __call__(self, *args, **kwargs):
+        return self.ayum.update(*args, **kwargs)
 
 class Depsolve(object):
-
-    """
-    Dependency resolving class.
-    """
+    """A class for resolving dependencies."""
 
     def __init__(self):
         self._ts = None
@@ -81,6 +122,8 @@ class Depsolve(object):
         self.installedUnresolvedFileRequires = None
 
     def doTsSetup(self):
+        """Sets up the transaction set before it is used."""
+
         warnings.warn(_('doTsSetup() will go away in a future version of Yum.\n'),
                 Errors.YumFutureDeprecationWarning, stacklevel=2)
         return self._getTs()
@@ -92,7 +135,8 @@ class Depsolve(object):
         
         if self._tsInfo != None and self._ts != None:
             if not remove_only and self._tsInfo.pkgSack is None:
-                self._tsInfo.setDatabases(self.rpmdb, self.pkgSack)
+                pkgSackCtor = _wrap_ayum_getPkgSack(self)
+                self._tsInfo.setDatabases(self.rpmdb, None, pkgSackCtor)
             return
             
         if not self.conf.installroot:
@@ -108,14 +152,17 @@ class Depsolve(object):
             self._tsInfo = self._transactionDataFactory()
             if remove_only:
                 pkgSack = None
+                pkgSackCtor = None
             else:
-                pkgSack = self.pkgSack
-            self._tsInfo.setDatabases(self.rpmdb, pkgSack)
+                # Don't instant setup, or things like localinstall are screwed.
+                pkgSack = None
+                pkgSackCtor = _wrap_ayum_getPkgSack(self)
+            self._tsInfo.setDatabases(self.rpmdb, pkgSack, pkgSackCtor)
             self._tsInfo.installonlypkgs = self.conf.installonlypkgs # this kinda sucks
             # this REALLY sucks, sadly (needed for group conditionals)
-            self._tsInfo.install_method = self.install
-            self._tsInfo.update_method = self.update
-            self._tsInfo.remove_method = self.remove
+            self._tsInfo.install_method = _wrap_ayum_install(self)
+            self._tsInfo.update_method = _wrap_ayum_update(self)
+            self._tsInfo.remove_method = _wrap_ayum_remove(self)
         return self._tsInfo
 
     def _setTsInfo(self, value):
@@ -131,8 +178,15 @@ class Depsolve(object):
         
 
     def initActionTs(self):
-        """sets up the ts we'll use for all the work"""
+        """Set up the transaction set that will be used for all the work."""
         
+        # LOL, override rpm transaction macro.
+        # Must be done before rpmtsCreate()
+        if self.conf.override_install_langs:
+            old_install_langs = rpm.expandMacro("%_install_langs")
+            rpm.expandMacro("%define _install_langs " +
+                            self.conf.override_install_langs)
+
         self._ts = rpmUtils.transaction.TransactionWrapper(self.conf.installroot)
         ts_flags_to_rpm = { 'noscripts': rpm.RPMTRANS_FLAG_NOSCRIPTS,
                             'notriggers': rpm.RPMTRANS_FLAG_NOTRIGGERS,
@@ -152,25 +206,41 @@ class Depsolve(object):
             else:
                 self.logger.critical(_('Invalid tsflag in config file: %s'), flag)
 
+        if not self.conf.diskspacecheck:
+            self._add_prob_flags(rpm.RPMPROB_FILTER_DISKSPACE,
+                                 rpm.RPMPROB_FILTER_DISKNODES)
+
         probfilter = 0
         for flag in self.tsInfo.probFilterFlags:
             probfilter |= flag
         self._ts.setProbFilter(probfilter)
 
     def whatProvides(self, name, flags, version):
-        """searches the packageSacks for what provides the arguments
-           returns a ListPackageSack of providing packages, possibly empty"""
-
+        """Search the packageSacks for what provides the specified
+        feature or file.
+      
+        :param name: a string specifying the file or feature to search
+           for
+        :param flags: flags related to the search
+        :param version: the version to search for
+        :return: a :class:`ListPackagaSack` containing the packages
+           that match the arguments, and may be empty
+        """
         self.verbose_logger.log(logginglevels.DEBUG_1, _('Searching pkgSack for dep: %s'),
             name)
         defSack = ListPackageSack(self.pkgSack.searchProvides((name, flags, version)))
         return defSack
         
     def allowedMultipleInstalls(self, po):
-        """takes a packageObject, returns 1 or 0 depending on if the package 
-           should/can be installed multiple times with different vers
-           like kernels and kernel modules, for example"""
-
+        """Return whether the given package object can be installed
+        multiple times with different versions.  For example, this
+        would be true of kernels and kernel modules.
+
+        :param po: the package object that this function will
+           determine whether can be install multiple times
+        :return: a boolean specifying whether *po* can be installed
+           multiple times
+        """
         iopkgs = set(self.conf.installonlypkgs)
         if po.name in iopkgs:
             return True
@@ -182,8 +252,11 @@ class Depsolve(object):
         return False
 
     def populateTs(self, test=0, keepold=1):
-        """take transactionData class and populate transaction set"""
+        """Populate the transaction set.
 
+        :param test: unused
+        :param keepold: whether to keep old packages
+        """
         if self.dsCallback: self.dsCallback.transactionPopulation()
         ts_elem = {}
         
@@ -393,9 +466,27 @@ class Depsolve(object):
             self.conf.obsoletes = 0
             txmbrs = self.update(po=requiringPo, requiringPo=requiringPo)
             self.conf.obsoletes = origobs
-            if not txmbrs:
+
+            def _check_update_worked(txmbrs, obs=False):
+                #  Old code assumed that if there was an update, we were good:
+                #    if txmbrs: return True
+                # ..however we have a problem when foo-1 and foo-2 both require
+                # bar-1, and bar-2 is being installed. If the req. is identical
+                # then we'll skip checking it in _checkInstall(), so we need to
+                # check it here.
+                for txmbr in txmbrs:
+                    if obs or txmbr.name == requiringPo.name:
+                        n,f,v = requirement
+                        creq = (n, _rflags[f],
+                                rpmUtils.miscutils.stringToVersion(v))
+                        # If it's identical ... checkInstall will skip it.
+                        if creq not in txmbr.po.requires:
+                            return True
+                return False
+
+            if not _check_update_worked(txmbrs):
                 txmbrs = self.update(po=requiringPo, requiringPo=requiringPo)
-                if not txmbrs:
+                if not _check_update_worked(txmbrs, obs=True):
                     msg = self._err_missing_requires(requiringPo, requirement)
                     self.verbose_logger.log(logginglevels.DEBUG_2, _('No update paths found for %s. Failure!'), requiringPo)
                     return self._requiringFromTransaction(requiringPo, requirement, errorlist)
@@ -405,12 +496,30 @@ class Depsolve(object):
             # try to update the requiring package in hopes that all this problem goes away :(
             self.verbose_logger.log(logginglevels.DEBUG_2, _('Trying to update %s to resolve dep'), requiringPo)
             txmbrs = self.update(po=requiringPo, requiringPo=requiringPo)
+            fixed = False
             if not txmbrs:
                 msg = self._err_missing_requires(requiringPo, requirement)
-                self.verbose_logger.log(logginglevels.DEBUG_2, _('No update paths found for %s. Failure!'), requiringPo)
+                self.verbose_logger.log(logginglevels.DEBUG_2, _('No update paths found for %s. Failure due to requirement: %s!'), requiringPo, msg)
+            else:
+                req_lookup = (needname, needflags,
+                              rpmUtils.miscutils.stringToVersion(needversion))
+
+            for txmbr in txmbrs:
+                #  This works for upgrades, and for obsoletes, on one side.
+                # Also catches upgrades that don't work on the other.
+                if txmbr.output_state in TS_INSTALL_STATES:
+                    if txmbr.po.checkPrco('requires', req_lookup):
+                        fixed = False
+                        break
+                    else:
+                        fixed = True
+            if txmbrs and not fixed:
+                msg = self._err_missing_requires(requiringPo, requirement)
+                self.verbose_logger.log(logginglevels.DEBUG_2, _("Update for %s. Doesn't fix requirement: %s!"), requiringPo, msg)
+
+            if not fixed:
                 return self._requiringFromTransaction(requiringPo, requirement, errorlist)
             checkdeps = 1
-
             
         if needmode in ['e']:
             self.verbose_logger.log(logginglevels.DEBUG_2, _('TSINFO: %s package requiring %s marked as erase'),
@@ -589,7 +698,7 @@ class Depsolve(object):
             #  Always do compare providers for multiple pkgs, it deals with
             # newest etc. ... so no need to do NewestNameArch() ... and it
             # stops compare_providers from being clever.
-            pkgresults = self._compare_providers(pkgs, requiringPo)
+            pkgresults = self._compare_providers(pkgs, requiringPo,req=needname)
             best = pkgresults[0][0]
         
         if self.rpmdb.contains(po=best): # is it already installed?
@@ -609,13 +718,31 @@ class Depsolve(object):
             # FIXME: we should probably handle updating multiple packages...
             txmbr = self.tsInfo.addUpdate(best, inst[0])
             txmbr.setAsDep(po=requiringPo)
-            txmbr.reason = "dep"
+            if 'reason' in inst[0].yumdb_info:
+                txmbr.reason = inst[0].yumdb_info.reason
+            else:
+                txmbr.reason = 'dep'
             checkdeps = True
             self._last_req = best
         else:
             self.verbose_logger.debug(_('TSINFO: Marking %s as install for %s'), best,
                 requiringPo)
-            reqtuple = misc.string_to_prco_tuple(needname + str(needflags) + needversion)
+            if requirement and not requirement[2]:
+                #  Stuff looks like: ('/foo', 0, '') ... might be just testing
+                # noise, but meh.
+                reqtuple = (requirement[0], requirement[1], (None, None, None))
+            elif len(requirement) == 3 and len(requirement[2]) == 3:
+                # Without the above check, we've hit this in mash:
+                #  File "/usr/.../yum/__init__.py", line 4862, in install
+                #    if not obsoleting_pkg.provides_for(kwargs['provides_for']):
+                #  File "/usr/.../yum/packages.py", line 594, in provides_for
+                #    if self.checkPrco('provides', reqtuple):
+                #   File "/usr/.../yum/packages.py", line 544, in checkPrco
+                #    (reqn, reqf, (reqe, reqv ,reqr)) = prcotuple
+                # ValueError: too many values to unpack
+                reqtuple = requirement
+            else:
+                reqtuple = misc.string_to_prco_tuple(needname + str(needflags) + needversion)
             txmbrs = self.install(best, provides_for=reqtuple)
             for txmbr in txmbrs:
                 txmbr.setAsDep(po=requiringPo)
@@ -696,6 +823,13 @@ class Depsolve(object):
                 self.tsInfo.remove(txmbr.pkgtup)
 
     def prof_resolveDeps(self):
+        """Call :func:`resolveDeps`, and profile the call using the
+        hotshot profiler.
+
+        :return: a tuple containing the result code and a list of
+           result strings.  This is simply the return value of
+           :func:`resolveDeps` being passed up.
+        """
         fn = "anaconda.prof.0"
         import hotshot, hotshot.stats
         prof = hotshot.Profile(fn)
@@ -709,6 +843,13 @@ class Depsolve(object):
         return rc
 
     def cprof_resolveDeps(self):
+        """Call :func:`resolveDeps`, and profile the call using the
+        cprof profiler.
+
+        :return: a tuple containing the result code and a list of
+           result strings.  This is simply the return value of
+           :func:`resolveDeps` being passed up.
+        """
         import cProfile, pstats
         prof = cProfile.Profile()
         rc = prof.runcall(self.resolveDeps)
@@ -722,7 +863,17 @@ class Depsolve(object):
         return rc
 
     def resolveDeps(self, full_check=True, skipping_broken=False):
-
+        """Resolve dependencies for the packages in the current
+        trasaction set.
+        
+        :param full_check: whether to also check removes and installs,
+           as well as dependencies
+        :param skipping_broken: if this is true, a message saying that
+           dependency solving has finished successfully will not be output.
+           This is useful since if there are broken packages that are
+           being skipped, :func:`resolveDeps` will need to be called
+           multiple times before dependency solving is completely finished
+        """
         if not len(self.tsInfo):
             return (0, [_('Success - empty transaction')])
 
@@ -740,7 +891,11 @@ class Depsolve(object):
 
         if self.dsCallback: self.dsCallback.start()
 
+        depsolve_loop_count = 0
         while True:
+            if depsolve_loop_count == (self.conf.depsolve_loop_limit or -1):
+                return (1, [_("Depsolving loop limit reached.")] + unique(errors))
+            depsolve_loop_count += 1
 
             CheckDeps = True
 
@@ -778,6 +933,12 @@ class Depsolve(object):
                     if checkdep:
                         break # The next conflict might be the same pkg
 
+                if True: # Always have to check obsoletes...
+                    if self._checkObsoletes():
+                        CheckDeps = True
+                        CheckRemoves = True
+                        self._last_req = None
+
                 if CheckDeps:
                     if self.dsCallback: self.dsCallback.restartLoop()
                     self.verbose_logger.log(logginglevels.DEBUG_1, _('Restarting Loop'))
@@ -920,9 +1081,12 @@ class Depsolve(object):
 
         # if this is an update, we should check what the old
         # requires were to make things faster
+        #  Note that if the rpmdb is broken, this gets annoying. So we provide
+        # a way to turn it off.
         oldreqs = []
-        for oldpo in txmbr.updates:
-            oldreqs.extend(oldpo.returnPrco('requires'))
+        if not self.conf.recheck_installed_requires:
+            for oldpo in txmbr.updates:
+                oldreqs.extend(oldpo.returnPrco('strong_requires'))
         oldreqs = set(oldreqs)
 
         ret = []
@@ -948,7 +1112,7 @@ class Depsolve(object):
                     continue
                 for member in self.tsInfo.getMembersWithState(
                     pkgtup=po.pkgtup, output_states=TS_INSTALL_STATES):
-                    member.relatedto.append((txmbr.po, 'dependson'))
+                    member.setAsDep(txmbr.po, relonly=True)
 
         return ret
 
@@ -974,12 +1138,36 @@ class Depsolve(object):
             # FIXME: This is probably the best place to fix the postfix rename
             # problem long term (post .21) ... see compare_providers.
             for pkg, hits in self.tsInfo.getRequires(*prov).iteritems():
-                # See the docs, this is to make groupremove "more useful".
+                # See the docs, this is to make remove* "more useful".
+                if (self.conf.repopkgsremove_leaf_only and txmbr.repopkg and
+                    txmbr.output_state == TS_ERASE):
+                    cb = self.dsCallback
+                    if cb and hasattr(cb, 'repoPkgRemoveReq'):
+                        cb.repoPkgRemoveReq(txmbr.po, hits)
+                    elif cb and hasattr(cb, 'removeReq'):
+                        cb.removeReq(txmbr.po, pkg, hits)
+                    #  We don't undo anything else here ... hopefully that's
+                    # fine.
+                    self.tsInfo.remove(txmbr.pkgtup)
+                    return []
+
                 if (self.conf.groupremove_leaf_only and txmbr.groups and
                     txmbr.output_state == TS_ERASE):
                     cb = self.dsCallback
                     if cb and hasattr(cb, 'groupRemoveReq'):
                         cb.groupRemoveReq(pkg, hits)
+                    elif cb and hasattr(cb, 'removeReq'):
+                        cb.removeReq(txmbr.po, pkg, hits)
+                    #  We don't undo anything else here ... hopefully that's
+                    # fine.
+                    self.tsInfo.remove(txmbr.pkgtup)
+                    return []
+
+                if (self.conf.remove_leaf_only and
+                    txmbr.output_state == TS_ERASE):
+                    cb = self.dsCallback
+                    if cb and hasattr(cb, 'removeReq'):
+                        cb.removeReq(txmbr.po, pkg, hits)
                     #  We don't undo anything else here ... hopefully that's
                     # fine.
                     self.tsInfo.remove(txmbr.pkgtup)
@@ -1033,10 +1221,10 @@ class Depsolve(object):
 
         # get file requirements from new packages
         for txmbr in self._tsInfo.getMembersWithState(output_states=TS_INSTALL_STATES):
+            files = []
             for name, flag, evr in txmbr.po.requires:
                 if name.startswith('/'):
-                    pt = txmbr.po.pkgtup
-                    self.installedFileRequires.setdefault(pt, []).append(name)
+                    files.append(name)
                     # check if file requires was already unresolved in update
                     if name in self.installedUnresolvedFileRequires:
                         already_broken = False
@@ -1050,6 +1238,7 @@ class Depsolve(object):
                         nfileRequires.add(name)
                     fileRequires.add(name)
                     reverselookup.setdefault(name, []).append(txmbr.po.pkgtup)
+            self.installedFileRequires[txmbr.po.pkgtup] = files
 
         todel = []
         for fname in self.installedFileProviders:
@@ -1149,7 +1338,74 @@ class Depsolve(object):
         self.rpmdb.transactionCacheConflictPackages(cpkgs)
         return ret
 
+    #  This is checking for installed / transaction members which
+    # obsolete each other. Because rpm will now auto. obs. those
+    # anyway (even if we have obsoletes turned off).
+    def _checkObsoletes(self):
+        opkgs = []
+
+        ret = False
+
+        def _do_obs(otxmbr):
+            self.tsInfo.remove(otxmbr.pkgtup)
+            #  We need to remove an obsoleted entry that
+            # was maybe used to resolve something ... ?
+            self.pkgSack.delPackage(otxmbr.po)
+            self.up.delPackage(otxmbr.pkgtup)
+            # Remove it from the installed file requires cache
+            (self.installedFileRequires or {}).pop(otxmbr.pkgtup, None)
+
+        for po in self.rpmdb.returnObsoletePackages():
+            if self.tsInfo.getMembersWithState(po.pkgtup, output_states=TS_REMOVE_STATES):
+                continue
+            obsoletes = po.returnPrco('obsoletes')
+            if not obsoletes: # We broke this due to dbMatch() usage.
+                continue
+            opkgs.append(po)
+            for obs_name,f,v in obsoletes:
+                for otxmbr in self.tsInfo.matchNaevr(name=obs_name):
+                    if not otxmbr.po.obsoletedBy([po]):
+                        continue
+                    if po.obsoletedBy([otxmbr.po]): # Loops, hope for rpm.
+                        continue
+                    msg = _('Removing %s due to obsoletes from installed %s')
+                    self.verbose_logger.warning(msg, otxmbr, po)
+                    _do_obs(otxmbr)
+                    ret = True
+
+        for txmbr in self.tsInfo.getMembersWithState(None, output_states=TS_INSTALL_STATES):
+            done = False
+            for obs_n in txmbr.po.obsoletes_names:
+                if not done:
+                    opkgs.append(txmbr.po)
+                    done = True
+
+                for otxmbr in self.tsInfo.matchNaevr(name=obs_n):
+                    if otxmbr.output_state not in TS_INSTALL_STATES:
+                        continue
+                    if otxmbr.po == txmbr.po:
+                        #  Not sure if we should just ignore this for
+                        # us, or for everyone...
+                        continue
+                    if not otxmbr.po.obsoletedBy([txmbr.po]):
+                        continue
+                    if txmbr.po.obsoletedBy([otxmbr.po]):
+                        # Have to deal with loops! Hope rpm behaves too.
+                        continue
+                    msg = _('Removing %s due to obsoletes from %s')
+                    self.verbose_logger.warning(msg, otxmbr, txmbr)
+                    _do_obs(otxmbr)
+                    ret = True
+
+        self.rpmdb.transactionCacheObsoletePackages(opkgs)
+        return ret
+
     def isPackageInstalled(self, pkgname):
+        """Return whether the given package in installed.
+
+        :param pkgname: the name of the package
+        :return: whether the package in installed
+        """
         lst = self.tsInfo.matchNaevr(name = pkgname)
         for txmbr in lst:
             if txmbr.output_state in TS_INSTALL_STATES:
@@ -1166,7 +1422,7 @@ class Depsolve(object):
         return True
     _isPackageInstalled = isPackageInstalled
 
-    def _compare_providers(self, pkgs, reqpo):
+    def _compare_providers(self, pkgs, reqpo, req=None):
         """take the list of pkgs and score them based on the requesting package
            return a dictionary of po=score"""
         self.verbose_logger.log(logginglevels.DEBUG_4,
@@ -1210,6 +1466,24 @@ class Depsolve(object):
                 return None
             return x
 
+        def _pkg2prov_version(pkg, provname):
+            ''' This converts a package into a specific version tuple for the
+            required provide. The provide _must_ be '=' and epoch=None and
+            release=None == '0'.
+               If there is 0 or 2+ matches, return None.
+               If the req does not == the provide name, return None. '''
+            ret = None
+            for prov in pkg.provides:
+                (n, f, (e, v, r)) = prov
+                if n != provname:
+                    continue
+                if f != 'EQ':
+                    continue
+                if ret is not None:
+                    return None
+                ret = (e or '0', v, r or '0')
+            return ret
+
         #  Actual start of _compare_providers().
 
         # Do a NameArch filtering, based on repo. __cmp__
@@ -1332,6 +1606,29 @@ class Depsolve(object):
                         _('common prefix of %s between %s and %s' % (cpl, po, reqpo)))
                 
                     pkgresults[po] += cpl*2
+
+        if req is not None:
+            bestnum = max(pkgresults.values())
+            prov_depsolve = {}
+            for po in pkgs:
+                if pkgresults[po] != bestnum:
+                    continue
+                evr = _pkg2prov_version(po, req)
+                if evr is None:
+                    prov_depsolve = {}
+                    break
+                prov_depsolve[po] = evr
+            if len(prov_depsolve) > 1:
+                self.verbose_logger.log(logginglevels.DEBUG_4,
+                                        _('provides vercmp: %s') % str(req))
+                newest = sorted(prov_depsolve,
+                                key = lambda x: PackageEVR(*prov_depsolve[x]))
+                for winner in reversed(newest):
+                    if prov_depsolve[winner] != prov_depsolve[newest[-1]]:
+                        break
+                    self.verbose_logger.log(logginglevels.DEBUG_4,
+                                            _(' Winner: %s') % winner)
+                    pkgresults[winner] += 1
                 
         #  If we have more than one "best", see what would happen if we picked
         # each package ... ie. what things do they require that _aren't_ already
@@ -1393,42 +1690,52 @@ class Depsolve(object):
 
 
 class DepCheck(object):
-    """object that YumDepsolver uses to see what things are needed to close
-       the transaction set. attributes: requires, conflicts are a list of 
-       requires are conflicts in the current transaction set. Each item in the
-       lists are a requires or conflicts object"""
+    """Object that :class:`YumDepsolver` uses to see what things are
+    needed to close the transaction set. The attributes requires and
+    conflicts are lists of requires and conflicts in the current
+    transaction set. Each item in the lists is a :class:`Requires` or
+    :class:`Conflicts` object.
+    """
     def __init__(self):
         self.requires = []
         self.conflicts = []
 
     def addRequires(self, po, req_tuple_list):
+        """Create and add a :class:`Requires` object to the list of
+        requires.
+
+        :param po: the package object involved in the requires
+        :param req_tuple_list: a list of required by *po* that are
+           un-closed in the transaction set
+        """
         # fixme - do checking for duplicates or additions in here to zip things along
         reqobj = Requires(po, req_tuple_list)
         self.requires.append(reqobj)
     
     def addConflicts(self, conflict_po_list, conflict_item):
+        """Create and add a :class:`Conflicts` object to the list of
+        conflicts.
+
+        :param conflict_po_list: a list of conflicting package objects
+        :param conflict_item: what the conflict between the members of
+           *conflict_po_list is.
+        """
         confobj = Conflicts(conflict_po_list, conflict_item)
         self.conflicts.append(confobj)
 
 class Requires(object):
-
-    """
-    A pure data class for holding a package and the list of things it
-    requires.
+    """A pure data class for holding a package and the list of things
+    it requires.
     """
-
     def __init__(self, pkg,requires):
         self.pkg = pkg # po of requiring pkg
         self.requires = requires # list of things it requires that are un-closed in the ts
 
 
 class Conflicts(object):
-
+    """A pure data class for holding a list packages and what the
+    conflict between them is.
     """
-    A pure data class for holding a package and the list of things it
-    conflicts.
-    """
-
     def __init__(self, pkglist, conflict):
         self.pkglist = pkglist # list of conflicting package objects
         self.conflict = conflict # what the conflict was between them
diff --git a/yum/drpm.py b/yum/drpm.py
new file mode 100644
index 0000000..cc680cd
--- /dev/null
+++ b/yum/drpm.py
@@ -0,0 +1,351 @@
+#  Integrated delta rpm support
+#  Copyright 2013 Zdenek Pavlas
+
+#   This library is free software; you can redistribute it and/or
+#   modify it under the terms of the GNU Lesser General Public
+#   License as published by the Free Software Foundation; either
+#   version 2.1 of the License, or (at your option) any later version.
+#
+#   This library 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
+#   Lesser General Public License for more details.
+#
+#   You should have received a copy of the GNU Lesser General Public
+#   License along with this library; if not, write to the
+#      Free Software Foundation, Inc.,
+#      59 Temple Place, Suite 330,
+#      Boston, MA  02111-1307  USA
+
+from yum.constants import TS_UPDATE
+from yum.Errors import RepoError, MiscError
+from yum.i18n import exception2msg, _
+from yum.Errors import MiscError
+from yum.misc import checksum, repo_gen_decompress, unlink_f
+from urlgrabber import grabber, progress
+async = hasattr(grabber, 'parallel_wait')
+from xml.etree.cElementTree import iterparse
+import os, re
+
+APPLYDELTA = '/usr/bin/applydeltarpm'
+
+class DeltaPackage:
+    def __init__(self, rpm, size, remote, csum, oldrpm):
+        # copy what needed
+        self.rpm = rpm
+        self.repo = rpm.repo
+        self.basepath = rpm.basepath
+        self.pkgtup = rpm.pkgtup
+        (self.name, self.arch, self.epoch,
+         self.version, self.release) = self.pkgtup
+        self._hash = None
+
+        # set up drpm attributes
+        self.size = size
+        self.relativepath = remote
+        self.localpath = os.path.dirname(rpm.localpath) +'/'+ os.path.basename(remote)
+        self.csum = csum
+        self.oldrpm = oldrpm
+
+    def __str__(self):
+        return 'Delta RPM of %s' % self.rpm
+
+    def __cmp__(self, other):
+        if other is None:
+            return 1
+
+        #  Not a PackageObject(), so do this ourselves the bad way:
+        return (cmp(self.name, other.name) or
+                cmp(self.epoch, other.epoch) or
+                cmp(self.version, other.version) or
+                cmp(self.release, other.release) or
+                cmp(self.arch, other.arch))
+
+    def __hash__(self): # C&P from PackageObject...
+        if self._hash is None:
+            mystr = '%s - %s:%s-%s-%s.%s' % (self.repo.id, self.epoch, self.name,
+                                         self.version, self.release, self.arch)
+            self._hash = hash(mystr)
+        return self._hash
+
+    def localPkg(self):
+        return self.localpath
+
+    def getDiscNum(self):
+        return None
+
+    def verifyLocalPkg(self):
+        # check file size first
+        try: fsize = os.path.getsize(self.localpath)
+        except OSError: return False
+        if fsize != self.size: return False
+
+        # checksum
+        ctype, csum = self.csum
+        try: fsum = checksum(ctype, self.localpath)
+        except MiscError: return False
+        if fsum != csum: return False
+
+        # hooray
+        return True
+
+    def returnIdSum(self):
+        return self.csum
+
+def _num_cpus_online(unknown=1):
+    if not hasattr(os, "sysconf"):
+        return unknown
+
+    if not os.sysconf_names.has_key("SC_NPROCESSORS_ONLN"):
+        return unknown
+
+    ncpus = os.sysconf("SC_NPROCESSORS_ONLN")
+    try:
+        if int(ncpus) > 0:
+            return ncpus
+    except:
+        pass
+
+    return unknown
+
+class DeltaInfo:
+    def __init__(self, ayum, pkgs, adderror):
+        self.verbose_logger = ayum.verbose_logger
+        self.adderror = adderror
+        self.jobs = {}
+        self._future_jobs = []
+        self.progress = None
+        self.limit = ayum.conf.deltarpm
+        if self.limit < 0:
+            nprocs = _num_cpus_online()
+            self.limit *= -nprocs
+
+        if not self.limit: # Turned off.
+            return
+
+        # calculate update sizes
+        oldrpms = {}
+        pinfo = {}
+        reposize = {}
+        for index, po in enumerate(pkgs):
+            perc = po.repo.deltarpm_percentage
+            if perc is None:
+                urls = po.repo.urls
+                perc = ayum.conf.deltarpm_percentage
+                if len(urls) == 1 and urls[0].startswith('file:'):
+                    perc = 0 # for local repos, default to off.
+            if perc == 0:
+                continue # Allow people to turn off a repo. (meh)
+            if po.state == TS_UPDATE: pass
+            elif po.name in ayum.conf.installonlypkgs: pass
+            else:
+                names = oldrpms.get(po.repo)
+                if names is None:
+                    # load all locally cached rpms
+                    names = oldrpms[po.repo] = {}
+                    for rpmfn in os.listdir(po.repo.pkgdir):
+                        m = re.match('^(.+)-(.+)-(.+)\.(.+)\.rpm$', rpmfn)
+                        if m:
+                            n, v, r, a = m.groups()
+                            names.setdefault((n, a), set()).add((v, r))
+                if (po.name, po.arch) not in names:
+                    continue
+            pinfo.setdefault(po.repo, {})[po.pkgtup] = index
+            reposize[po.repo] = reposize.get(po.repo, 0) + po.size
+
+        # don't use deltas when deltarpm not installed
+        if reposize and not os.access(APPLYDELTA, os.X_OK):
+            self.verbose_logger.info(_('Delta RPMs disabled because %s not installed.'), APPLYDELTA)
+            return
+
+        # download delta metadata
+        mdpath = {}
+        for repo in reposize:
+            for name in ('prestodelta', 'deltainfo'):
+                try: data = repo.repoXML.getData(name); break
+                except: pass
+            else:
+                self.verbose_logger.info(_('No Presto metadata available for %s'), repo)
+                continue
+            path = repo.cachedir +'/'+ os.path.basename(data.location[1])
+            perc = repo.deltarpm_metadata_percentage
+            data_size = int(data.size) * (perc / 100.0)
+            if perc and not os.path.exists(path) and data_size > reposize[repo]:
+                msg = _('Not downloading deltainfo for %s, MD is %s and rpms are %s')
+                self.verbose_logger.info(msg, repo,
+                                         progress.format_number(data_size),
+                                         progress.format_number(reposize[repo]))
+                continue
+
+            def failfunc(e, name=name, repo=repo):
+                mdpath.pop(repo, None)
+                if hasattr(e, 'exception'): e = e.exception
+                self.verbose_logger.warn(_('Failed to download %s for repository %s: %s'),
+                                         name, repo, exception2msg(e))
+            kwargs = {}
+            if async and repo._async:
+                kwargs['failfunc'] = failfunc
+                kwargs['async'] = True
+            try: mdpath[repo] = repo._retrieveMD(name, **kwargs)
+            except RepoError, e: failfunc(e)
+        if async:
+            grabber.parallel_wait()
+
+        # parse metadata, create DeltaPackage instances
+        for repo, cpath in mdpath.items():
+            pinfo_repo = pinfo[repo]
+            path = repo_gen_decompress(cpath, 'prestodelta.xml',
+                                       cached=repo.cache)
+            for ev, el in iterparse(path):
+                if el.tag != 'newpackage': continue
+                name = el.get('name')
+                arch = el.get('arch')
+                new = name, arch, el.get('epoch'), el.get('version'), el.get('release')
+                index = pinfo_repo.get(new)
+                if index is not None:
+                    po = pkgs[index]
+                    perc = repo.deltarpm_percentage
+                    if perc is None:
+                        perc = ayum.conf.deltarpm_percentage
+                    best = po.size * (perc / 100.0)
+                    have = oldrpms.get(repo, {}).get((name, arch), {})
+                    for el in el.findall('delta'):
+                        size = int(el.find('size').text)
+                        if size >= best:
+                            continue
+
+                        # can we use this delta?
+                        epoch = el.get('oldepoch')
+                        ver = el.get('oldversion')
+                        rel = el.get('oldrelease')
+                        if (ver, rel) in have:
+                            oldrpm = '%s/%s-%s-%s.%s.rpm' % (repo.pkgdir, name, ver, rel, arch)
+                        else:
+                            if not ayum.rpmdb.searchNevra(name, epoch, ver, rel, arch):
+                                continue
+                            oldrpm = None
+
+                        best = size
+                        remote = el.find('filename').text
+                        csum = el.find('checksum')
+                        csum = csum.get('type'), csum.text
+                        pkgs[index] = DeltaPackage(po, size, remote, csum, oldrpm)
+                el.clear()
+
+    def wait(self, num=None):
+        """ Wait for "num" number of jobs to finish, or all of them. Blocks. """
+        if num is None:
+            num = len(self.jobs)
+
+        # wait for some jobs, run callbacks
+        while num > 0:
+            if not self.jobs: # This is probably broken logic, which is bad.
+                return
+            num -= self._wait(block=True)
+
+    def _wait(self, block=False):
+        num = 0
+
+        while self.jobs:
+            if block:
+                pid, code = os.wait()
+            else:
+                pid, code = os.waitpid(-1, os.WNOHANG)
+                if not pid:
+                    break
+
+            # urlgrabber spawns child jobs, too.  But they exit synchronously,
+            # so we should never see an unknown pid here.
+            assert pid in self.jobs
+            po = self.jobs.pop(pid)
+            if self.progress:
+                self.done += po.rpm.size
+                self.progress.update(self.done)
+            if code != 0:
+                unlink_f(po.rpm.localpath)
+                self.adderror(po, _('Delta RPM rebuild failed'))
+            elif not po.rpm.verifyLocalPkg():
+                self.adderror(po, _('Checksum of the delta-rebuilt RPM failed'))
+            else:
+                # done with drpm file, unlink when local
+                if po.localpath.startswith(po.repo.pkgdir):
+                    os.unlink(po.localpath)
+                # rename the rpm if --downloadonly
+                if po.rpm.localpath.endswith('.tmp'):
+                    rpmfile = po.rpm.localpath.rsplit('.', 2)[0]
+                    os.rename(po.rpm.localpath, rpmfile)
+                    po.rpm.localpath = rpmfile
+            num += 1
+
+            # when blocking, one is enough
+            if block:
+                break
+        return num
+
+    def rebuild(self, po):
+        """ Turn a drpm into an rpm, by adding it to the queue and trying to
+            service the queue. """
+        self._future_jobs.append(po)
+        self.dequeue_max()
+
+    def dequeue_all(self):
+        """ De-Queue all delta rebuilds and spawn the rebuild processes. """
+
+        count = total = 0
+        for po in self.jobs.values() + self._future_jobs:
+            count += 1
+            total += po.rpm.size
+        if total:
+            self.verbose_logger.info(_('Finishing delta rebuilds of %d package(s) (%s)'),
+                                     count, progress.format_number(total))
+            if po.repo.callback:
+                if hasattr(progress, 'text_meter_total_size'):
+                    progress.text_meter_total_size(0)
+                self.progress = po.repo.callback
+                # default timescale 5s works fine with 0.3s dl updates.
+                # drpm rebuild jobs do not finish that often, so bump it
+                try: self.progress.re.timescale = 30
+                except: pass # accessing private api
+                self.progress.start(filename=None, url=None, # BZ 963023
+                                    text='<locally rebuilding deltarpms>', size=total)
+                self.done = 0
+        while self._future_jobs:
+            self.dequeue()
+
+    def dequeue_max(self):
+        """ De-Queue all delta rebuilds we can and spawn the rebuild
+            processes. """
+
+        if not self._future_jobs:
+            # Just trim the zombies...
+            self._wait()
+            return
+
+        while self._future_jobs:
+            if not self.dequeue(block=False):
+                break
+
+    def dequeue(self, block=True):
+        """ Try to De-Queue a delta rebuild and spawn the rebuild process. """
+        # Do this here, just to keep the zombies at bay...
+        self._wait()
+
+        if not self._future_jobs:
+            return False
+
+        if self.limit <= len(self.jobs):
+            if not block:
+                return False
+            self.wait(len(self.jobs) - self.limit + 1)
+
+        po = self._future_jobs.pop(0)
+        args = ('-a', po.arch)
+        if po.oldrpm: args += '-r', po.oldrpm
+        args += po.localpath, po.rpm.localpath
+
+        try:
+            pid = os.spawnl(os.P_NOWAIT, APPLYDELTA, APPLYDELTA, *args)
+        except OSError, e:
+            raise MiscError, _('Couldn\'t spawn %s: %s') % (APPLYDELTA, exception2msg(e))
+        self.jobs[pid] = po
+        return True
diff --git a/yum/failover.py b/yum/failover.py
index bca9651..00c17ad 100644
--- a/yum/failover.py
+++ b/yum/failover.py
@@ -19,51 +19,80 @@
 # worry about calling get_serverurl() and server_failed() and these classes will 
 # figure out which URL to cough up based on the failover method.
 
+"""Classes for handling failovers for server URLs."""
+
 import random
 
 class baseFailOverMethod:
-
+    """A base class to provide a failover to switch to a new server if
+    the current one fails.
+    """
     def __init__(self, repo):
         self.repo = repo
         self.failures = 0
     
     def get_serverurl(self, i=None):
-        """Returns a serverurl based on this failover method or None 
-           if complete failure.  If i is given it is a direct index
-           to pull a server URL from instead of using the failures 
-           counter."""
+        """Return a server URL based on this failover method, or None
+        if there is a complete failure.  This method should always be
+        used to translate an index into a URL, as this object may
+        change how indexes map.
+
+        :param i: if given, this is the index of the server URL to
+           return, instead of using the failures counter
+        :return: the next server URL
+        """
         return None
         
     def server_failed(self):
-        "Tells the failover method that the current server is failed."
+        """Notify the failover method that the current server has
+        failed.
+        """
         self.failures = self.failures + 1
         
     def reset(self, i=0):
-        "Reset the failures counter to a given index."
+        """Reset the failures counter to the given index.
+
+        :param i: the index to reset the failures counter to
+        """
         self.failures = i
 
     def get_index(self):
-        """Returns the current number of failures which is also the
-           index into the list this object represents.  ger_serverurl()
-           should always be used to translate an index into a URL
-           as this object may change how indexs map.  (See RoundRobin)"""
+        """Return the current number of failures, which is also the
+        current index into the list of URLs that this object
+        represents.  :fun:`get_serverurl` should always be used to
+        translate an index into a URL, as this object may change how
+        indexes map.
 
+        :return: the current number of failures, which is also the
+           current index   
+        """
         return self.failures
    
     def len(self):
-        """Returns the how many URLs we've got to cycle through."""
+        """Return the total number of URLs available to cycle through
+        in this object.
 
+        :return: the total number of URLs available
+        """
         return len(self.repo.urls)
         
             
 
 class priority(baseFailOverMethod):
-
-    """Chooses server based on the first success in the list."""
-    
+    """A class to provide a failover to switch to a new server
+    if the current one fails.  This classes chooses the next server
+    based on the first success in the list of servers.
+    """
     def get_serverurl(self, i=None):
-        "Returns a serverurl based on this failover method or None if complete failure."
-        
+        """Return the next successful server URL in the list, or None
+        if there is a complete failure.  This method should always be
+        used to translate an index into a URL, as this object may
+        change how indexes map.
+
+        :param i: if given, this is the index of the server URL to
+           return, instead of using the failures counter
+        :return: the next server URL
+        """
         if i == None:
             index = self.failures
         else:
@@ -77,17 +106,28 @@ class priority(baseFailOverMethod):
         
     
 class roundRobin(baseFailOverMethod):
-
-    """Chooses server based on a round robin."""
-    
+    """A class to provide a failover to switch to a new server
+    if the current one fails.  When an object of this class is
+    created, it selects a random place in the list of URLs to begin
+    with, then each time :func:`get_serveurl` is called, the next URL
+    in the list is returned, cycling back to the beginning of the list
+    after the end is reached.
+    """
     def __init__(self, repo):
         baseFailOverMethod.__init__(self, repo)
         random.seed()
         self.offset = random.randint(0, 37)
     
     def get_serverurl(self, i=None):
-        "Returns a serverurl based on this failover method or None if complete failure."
+        """Return the next successful server URL in the list, using
+        the round robin scheme, or None if there is a complete
+        failure.  This method should always be used to translate an
+        index into a URL, as this object may change how indexes map.
 
+        :param i: if given, this is the index of the server URL to
+           return, instead of using the failures counter
+        :return: the next server URL
+        """
         if i == None:
             index = self.failures
         else:
diff --git a/yum/fssnapshots.py b/yum/fssnapshots.py
new file mode 100755
index 0000000..e912ea1
--- /dev/null
+++ b/yum/fssnapshots.py
@@ -0,0 +1,347 @@
+
+
+import os
+import fnmatch
+import time
+
+import subprocess
+
+try:
+    import lvm
+
+    #  Check that lvm2 is at least 2.2.99... In theory hacked versions of
+    # .98 work, but meh.
+
+    _ver = lvm.getVersion()
+    # Looks liks: 2.02.84(2) (2011-02-09)
+    _ver = _ver.split()[0]
+    _ver = _ver.split('(')[0]
+    _ver = tuple(map(int, _ver.split('.')))
+    if _ver < (2, 2, 99):
+        lvm = None
+except:
+    lvm = None
+    _ver = None
+
+
+def _is_origin(lv):
+    snap = lv.getProperty("lv_attr")
+    # snap=(<value>, <is settable>)
+    if not snap[0]: # Broken??
+        return None
+    return snap[0][0] in ('o', 'O')
+
+def _is_snap(lv):
+    snap = lv.getProperty("lv_attr")
+    # snap=(<value>, <is settable>)
+    if not snap[0]: # Broken??
+        return None
+    return snap[0][0] in ('s', 'S')
+
+def _is_virt(lv):
+    snap = lv.getProperty("lv_attr")
+    # snap=(<value>, <is settable>)
+    if not snap[0]: # Broken??
+        return None
+    return snap[0][0] == 'v'
+
+def _vg_name2lv(vg, lvname):
+    try:
+        return vg.lvFromName(lvname)
+    except:
+        return None
+
+def _list_vg_names():
+    names = lvm.listVgNames()
+
+    if not names: # Could be just broken...
+        if not os.path.exists("/sbin/lvm"):
+            return [] # Minimal install etc.
+
+        p = subprocess.Popen(["/sbin/lvm", "vgs", "-o", "vg_name"],
+                             stdout=subprocess.PIPE, stderr=subprocess.PIPE)
+        err = p.wait()
+        if err:
+            return [] # Meh.
+
+        output = p.communicate()[0]
+        output = output.split('\n')
+        if not output:
+            return []
+        header = output[0].strip()
+        if header != 'VG':
+            return []
+        names = []
+        for name in output[1:]:
+            if not name:
+                break
+            names.append(name.strip())
+
+    return names
+
+def _z_off(z, ctime=0):
+    if len(z) == 5: # +0000 / -0130 / etc.
+        off = int(z[1:3]) * 60
+        off += int(z[3:5])
+        off *= 60
+        if z[0] == '+':
+            ctime -= off
+        if z[0] == '-':
+            ctime += off
+    return ctime
+
+def _lv_ctime2utc(ctime):
+    try: # Welcome to insanity ...
+        d,t,z = ctime.split()
+        ctime = time.strptime(d + ' ' + t, "%Y-%m-%d %H:%M:%S")
+
+        ctime = time.mktime(ctime)
+
+        if False: # Ignore the offset atm. ... we using this to delete older.
+            cur_z = time.strftime("%z")
+            if cur_z != z: # lol ...
+                cur_z = _z_off(cur_z)
+                z = _z_off(z)
+                ctime += (cur_z - z)
+
+    except:
+        ctime = 0
+
+    return ctime
+
+def _lv_data(vg, lv):
+    vgname = vg.getName()
+    lvname = lv.getName()
+
+    size = lv.getSize()
+    origin = lv.getProperty("origin")[0]
+    tags = lv.getTags()
+
+    ctime = _lv_ctime2utc(lv.getProperty("lv_time")[0])
+
+    used = lv.getProperty("snap_percent")[0]
+    used = float(used)
+    used = used / (1 * 1000 * 1000)
+
+    data = {'dev' : "%s/%s" % (vgname, lvname),
+            'ctime' : ctime,
+            'origin' : origin,
+            'origin_dev' : "%s/%s" % (vgname, origin),
+            'free' : vg.getFreeSize(),
+            'tags' : tags,
+            'size' : size,
+            'used' : used}
+
+    return data
+
+
+class _FSSnap(object):
+
+    # Old style was: vg/lv_root vg/lv_swap
+    # New style is: fedora/root fedora/swap
+    # New style is: redhat/root redhat/swap
+    def __init__(self, root="/", lookup_mounts=True,
+                 devices=('!*/swap', '!*/lv_swap')):
+        if not lvm or os.geteuid():
+            devices = []
+
+        self.version = _ver
+        self.available = bool(lvm)
+        self.postfix_static = "_yum_"
+        self._postfix = None
+        self._root = root
+        self._devs = devices
+        self._vgnames = []
+
+        if not self._devs:
+            return
+
+        self._vgnames = _list_vg_names()
+
+    def _use_dev(self, vgname, lv=None):
+
+        if lv is not None:
+            if _is_snap(lv) or _is_virt(lv): # Don't look at these.
+                return False
+
+        found_neg = False
+
+        for dev in self._devs:
+            if '/' not in dev: # Bad...
+                continue
+
+            neg = False
+            if dev[0] == '!':
+                found_neg = True
+                neg = True
+                dev = dev[1:]
+
+            vgn,lvn = dev.split('/', 1)
+            if '/' in lvn:
+                continue
+
+            if not fnmatch.fnmatch(vgname, vgn):
+                continue
+
+            if lvn == '*':
+                return not neg
+
+            if lv is None:
+                return None
+            lvname = lv.getName()
+
+            if not fnmatch.fnmatch(lvname, lvn):
+                continue
+
+            return not neg
+
+        return found_neg
+
+    def has_space(self, percentage=100):
+        """ See if we have enough space to try a snapshot. """
+
+        ret = False
+        for vgname in self._vgnames:
+            use = self._use_dev(vgname)
+            if use is not None and not use:
+                continue
+
+            vg = lvm.vgOpen(vgname, 'r')
+            if not vg:
+                return False
+
+            vgfsize = vg.getFreeSize()
+            lvssize = 0
+
+            for lv in vg.listLVs():
+                if not self._use_dev(vgname, lv):
+                    continue
+
+                lvssize += lv.getSize()
+
+            vg.close()
+
+            if not lvssize:
+                continue
+            ret = True
+
+            if (lvssize * percentage) > (100*vgfsize):
+                return False
+
+        return ret
+
+    def _get_postfix(self):
+        if self._postfix is None:
+            self._postfix = self.postfix_static
+            self._postfix += time.strftime("%Y%m%d%H%M%S")
+        return self._postfix
+
+    postfix = property(fget=lambda self: self._get_postfix(),
+                       fset=lambda self, value: setattr(self, "_postfix",value),
+                       fdel=lambda self: setattr(self, "_postfix", None),
+                       doc="postfix for snapshots")
+
+    def snapshot(self, percentage=100, prefix='', postfix=None, tags={}):
+        """ Attempt to take a snapshot, note that errors can happen after
+            this function succeeds. """
+
+        if postfix is None:
+            postfix = self.postfix
+
+        ret = []
+        for vgname in self._vgnames:
+            use = self._use_dev(vgname)
+            if use is not None and not use:
+                continue
+
+            vg = lvm.vgOpen(vgname, 'w')
+            if not vg:
+                return False
+
+            for lv in vg.listLVs():
+                lvname = lv.getName()
+
+                if not self._use_dev(vgname, lv):
+                    continue
+
+                nlvname = "%s%s%s" % (prefix, lvname, postfix)
+                nlv = lv.snapshot(nlvname, (lv.getSize() * percentage) / 100)
+                if not nlv: # Failed here ... continuing seems bad.
+                    vg.close()
+                    return None
+
+                odev = "%s/%s" % (vgname,  lvname)
+                ndev = "%s/%s" % (vgname, nlvname)
+
+                # FIXME: yum_fssnapshot_pre_lv_name=<blah>
+                eq_tags = set()
+                for val in (ndev, odev, '*'):
+                    for tag in tags.get(val, []):
+                        if '=' in tag:
+                            eq_tag_key,eq_tag_val = tag.split('=', 1)
+                            if eq_tag_key in eq_tags:
+                                continue
+                            eq_tags.add(eq_tag_key)
+
+                        nlv.addTag(tag)
+
+                ret.append((odev, ndev))
+
+            vg.close()
+
+        return ret
+
+    def old_snapshots(self):
+        """ List data for old snapshots. """
+
+        ret = []
+        for vgname in self._vgnames:
+            #  We could filter out the VGs using _use_dev() but this way we'll
+            # see stuff after changing config. options.
+
+            vg = lvm.vgOpen(vgname, 'w')
+
+            for lv in vg.listLVs():
+
+                if not _is_snap(lv): # No snapshot means, we don't care.
+                    continue
+
+                ret.append(_lv_data(vg, lv))
+            vg.close()
+
+        return ret
+
+    def del_snapshots(self, devices=[]):
+        """ Remove snapshots. """
+
+        if not lvm:
+            return []
+
+        ret = []
+
+        togo = {}
+        for dev in devices:
+            vgname,lvname = dev.split('/')
+            if vgname not in togo:
+                togo[vgname] = set([lvname])
+            else:
+                togo[vgname].add(lvname)
+
+        for vgname in togo:
+            vg = lvm.vgOpen(vgname, 'w')
+
+            for lvname in togo[vgname]:
+                lv = _vg_name2lv(vg, lvname)
+                if not lv:
+                    continue
+
+                if not _is_snap(lv): # No snapshot means don't try to delete!
+                    continue
+
+                ret.append(_lv_data(vg, lv))
+
+                lv.remove()
+
+            vg.close()
+
+        return ret
diff --git a/yum/history.py b/yum/history.py
index 5385bd1..2f423d9 100644
--- a/yum/history.py
+++ b/yum/history.py
@@ -97,9 +97,58 @@ def _setupHistorySearchSQL(patterns=None, ignore_case=False):
     return (need_full, patterns, fields, False)
 # ---- horrible Copy and paste from sqlitesack ----
 
+class _YumHistPackageYumDB:
+    """ Class to pretend to be yumdb_info for history packages. """
+
+    def __init__(self, pkg):
+        self._pkg = pkg
+
+    _valid_yumdb_keys = set(["command_line",
+                             "from_repo", "from_repo_revision",
+                             "from_repo_timestamp",
+                             "installed_by", "changed_by",
+                             "reason", "releasever"])
+    def __getattr__(self, attr):
+        """ Load yumdb attributes from the history sqlite. """
+        pkg = self._pkg
+        if attr.startswith('_'):
+            raise AttributeError, "%s has no yum attribute %s" % (pkg, attr)
+
+        if attr not in self._valid_yumdb_keys:
+            raise AttributeError, "%s has no yum attribute %s" % (pkg, attr)
+
+        val = pkg._history._load_yumdb_key(pkg, attr)
+        if False and val is None:
+            raise AttributeError, "%s has no yum attribute %s" % (pkg, attr)
+
+        if val is None:
+            return None
+
+        val = str(val) or ""
+        setattr(self, attr, val)
+
+        return val
+
+    def __contains__(self, attr):
+        #  This is faster than __iter__ and it makes things fail in a much more
+        # obvious way in weird FS corruption cases like: BZ 593436
+        x = self.get(attr)
+        return x is not None
+
+    def get(self, attr, default=None):
+        """retrieve an add'l data obj"""
+
+        try:
+            res = getattr(self, attr)
+        except AttributeError:
+            return default
+        return res
+
+
 class YumHistoryPackage(PackageObject):
 
-    def __init__(self, name, arch, epoch, version, release, checksum=None):
+    def __init__(self, name, arch, epoch, version, release, checksum=None,
+                 history=None):
         self.name    = name
         self.version = version
         self.release = release
@@ -111,21 +160,69 @@ class YumHistoryPackage(PackageObject):
             self._checksums = [] # (type, checksum, id(0,1)
         else:
             chk = checksum.split(':')
-            self._checksums = [(chk[0], chk[1], 0)] # (type, checksum, id(0,1))
+            self._checksums = [(chk[0], chk[1], 1)] # (type, checksum, id(0,1))
         # Needed for equality comparisons in PackageObject
         self.repoid = "<history>"
 
+        self._history = history
+        self.yumdb_info = _YumHistPackageYumDB(self)
+
+    _valid_rpmdb_keys = set(["buildtime", "buildhost",
+                             "license", "packager",
+                             "size", "sourcerpm", "url", "vendor",
+                             # ?
+                             "committer", "committime"])
+    def __getattr__(self, attr):
+        """ Load rpmdb attributes from the history sqlite. """
+        if attr.startswith('_'):
+            raise AttributeError, "%s has no attribute %s" % (self, attr)
+
+        if attr not in self._valid_rpmdb_keys:
+            raise AttributeError, "%s has no attribute %s" % (self, attr)
+
+        val = self._history._load_rpmdb_key(self, attr)
+        if False and val is None:
+            raise AttributeError, "%s has no attribute %s" % (self, attr)
+
+        if val is None:
+            return None
+
+        val = str(val) or ""
+        setattr(self, attr, val)
+
+        return val
+
+    def _ui_from_repo(self):
+        """ This reports the repo the package is from, we integrate YUMDB info.
+            for RPM packages so a package from "fedora" that is installed has a
+            ui_from_repo of "@fedora". Note that, esp. with the --releasever
+            option, "fedora" or "rawhide" isn't authoritative.
+            So we also check against the current releasever and if it is
+            different we also print the YUMDB releasever. This means that
+            installing from F12 fedora, while running F12, would report as
+            "@fedora/13". """
+        if 'from_repo' in self.yumdb_info:
+            self._history.releasever
+            end = ''
+            if (self._history.releasever is not None and
+                'releasever' in self.yumdb_info and
+                self.yumdb_info.releasever != self._history.releasever):
+                end = '/' + self.yumdb_info.releasever
+            return '@' + self.yumdb_info.from_repo + end
+        return self.repoid
+    ui_from_repo = property(fget=lambda self: self._ui_from_repo())
+
+
 class YumHistoryPackageState(YumHistoryPackage):
-    def __init__(self, name,arch, epoch,version,release, state, checksum=None):
+    def __init__(self, name,arch, epoch,version,release, state, checksum=None,
+                 history=None):
         YumHistoryPackage.__init__(self, name,arch, epoch,version,release,
-                                   checksum)
+                                   checksum, history)
         self.done  = None
         self.state = state
 
-        self.repoid = '<history>'
 
-
-class YumHistoryRpmdbProblem(PackageObject):
+class YumHistoryRpmdbProblem:
     """ Class representing an rpmdb problem that existed at the time of the
         transaction. """
 
@@ -328,7 +425,8 @@ class YumMergedHistoryTransaction(YumHistoryTransaction):
     @staticmethod
     def _conv_pkg_state(pkg, state):
         npkg = YumHistoryPackageState(pkg.name, pkg.arch,
-                                      pkg.epoch,pkg.version,pkg.release, state)
+                                      pkg.epoch,pkg.version,pkg.release, state,
+                                      history=pkg._history)
         npkg._checksums = pkg._checksums
         npkg.done = pkg.done
         if _sttxt2stcode[npkg.state] in TS_INSTALL_STATES:
@@ -557,7 +655,7 @@ class YumMergedHistoryTransaction(YumHistoryTransaction):
 class YumHistory:
     """ API for accessing the history sqlite data. """
 
-    def __init__(self, root='/', db_path=_history_dir):
+    def __init__(self, root='/', db_path=_history_dir, releasever=None):
         self._conn = None
         
         self.conf = yum.misc.GenericHolder()
@@ -568,6 +666,9 @@ class YumHistory:
         self.conf.writable = False
         self.conf.readable = True
 
+        self.releasever = releasever
+
+        self._db_file = None
         if not os.path.exists(self.conf.db_path):
             try:
                 os.makedirs(self.conf.db_path)
@@ -580,7 +681,6 @@ class YumHistory:
                 self.conf.writable = True
 
         DBs = glob.glob('%s/history-*-*-*.sqlite' % self.conf.db_path)
-        self._db_file = None
         for d in reversed(sorted(DBs)):
             fname = os.path.basename(d)
             fname = fname[len("history-"):-len(".sqlite")]
@@ -597,7 +697,9 @@ class YumHistory:
             break
 
         if self._db_file is None:
-            self._create_db_file()
+            if not self._create_db_file():
+                # Couldn't create a db file
+                return
         
         # make an addon path for where we're going to stick 
         # random additional history info - probably from plugins and what-not
@@ -638,13 +740,15 @@ class YumHistory:
         return self._conn.cursor()
     def _commit(self):
         return self._conn.commit()
+    def _rollback(self):
+        return self._conn.rollback()
 
     def close(self):
         if self._conn is not None:
             self._conn.close()
             self._conn = None
 
-    def _pkgtup2pid(self, pkgtup, checksum=None):
+    def _pkgtup2pid(self, pkgtup, checksum=None, create=True):
         cur = self._get_cursor()
         executeSQL(cur, """SELECT pkgtupid, checksum FROM pkgtups
                            WHERE name=? AND arch=? AND
@@ -659,6 +763,9 @@ class YumHistory:
             if checksum == sql_checksum:
                 return sql_pkgtupid
         
+        if not create:
+            return None
+
         (n,a,e,v,r) = pkgtup
         (n,a,e,v,r) = (to_unicode(n),to_unicode(a),
                        to_unicode(e),to_unicode(v),to_unicode(r))
@@ -674,23 +781,28 @@ class YumHistory:
                                 (name, arch, epoch, version, release)
                                 VALUES (?, ?, ?, ?, ?)""", (n,a,e,v,r))
         return cur.lastrowid
-    def _apkg2pid(self, po):
+    def _apkg2pid(self, po, create=True):
         csum = po.returnIdSum()
         if csum is not None:
             csum = "%s:%s" % (str(csum[0]), str(csum[1]))
-        return self._pkgtup2pid(po.pkgtup, csum)
-    def _ipkg2pid(self, po):
+        return self._pkgtup2pid(po.pkgtup, csum, create)
+    def _ipkg2pid(self, po, create=True):
         csum = None
         yumdb = po.yumdb_info
         if 'checksum_type' in yumdb and 'checksum_data' in yumdb:
             csum = "%s:%s" % (yumdb.checksum_type, yumdb.checksum_data)
-        return self._pkgtup2pid(po.pkgtup, csum)
-    def pkg2pid(self, po):
+        return self._pkgtup2pid(po.pkgtup, csum, create)
+    def _hpkg2pid(self, po, create=False):
+        return self._apkg2pid(po, create)
+
+    def pkg2pid(self, po, create=True):
         if isinstance(po, YumInstalledPackage):
-            return self._ipkg2pid(po)
+            return self._ipkg2pid(po, create)
         if isinstance(po, YumAvailablePackage):
-            return self._apkg2pid(po)
-        return self._pkgtup2pid(po.pkgtup, None)
+            return self._apkg2pid(po, create)
+        if isinstance(po, YumHistoryPackage):
+            return self._hpkg2pid(po, create)
+        return self._pkgtup2pid(po.pkgtup, None, create)
 
     @staticmethod
     def txmbr2state(txmbr):
@@ -984,7 +1096,8 @@ class YumHistory:
                       ORDER BY name ASC, epoch ASC""", (tid,))
         ret = []
         for row in cur:
-            obj = YumHistoryPackage(row[0],row[1],row[2],row[3],row[4], row[5])
+            obj = YumHistoryPackage(row[0],row[1],row[2],row[3],row[4], row[5],
+                                    history=self)
             ret.append(obj)
         return ret
     def _old_data_pkgs(self, tid):
@@ -998,7 +1111,7 @@ class YumHistory:
         ret = []
         for row in cur:
             obj = YumHistoryPackageState(row[0],row[1],row[2],row[3],row[4],
-                                         row[7], row[5])
+                                         row[7], row[5], history=self)
             obj.done     = row[6] == 'TRUE'
             obj.state_installed = None
             if _sttxt2stcode[obj.state] in TS_INSTALL_STATES:
@@ -1018,7 +1131,8 @@ class YumHistory:
                       ORDER BY name ASC, epoch ASC""", (tid,))
         ret = []
         for row in cur:
-            obj = YumHistoryPackage(row[0],row[1],row[2],row[3],row[4], row[5])
+            obj = YumHistoryPackage(row[0],row[1],row[2],row[3],row[4], row[5],
+                                    history=self)
             ret.append(obj)
         return ret
     def _old_prob_pkgs(self, rpid):
@@ -1032,7 +1146,8 @@ class YumHistory:
                       ORDER BY name ASC, epoch ASC""", (rpid,))
         ret = []
         for row in cur:
-            obj = YumHistoryPackage(row[0],row[1],row[2],row[3],row[4], row[5])
+            obj = YumHistoryPackage(row[0],row[1],row[2],row[3],row[4], row[5],
+                                    history=self)
             obj.main = row[6] == 'TRUE'
             ret.append(obj)
         return ret
@@ -1091,7 +1206,11 @@ class YumHistory:
         if tids and len(tids) <= yum.constants.PATTERNS_INDEXED_MAX:
             params = tids = list(set(tids))
             sql += " WHERE tid IN (%s)" % ", ".join(['?'] * len(tids))
-        sql += " ORDER BY beg_ts DESC, tid ASC"
+        #  This relies on the fact that the PRIMARY KEY in sqlite will always
+        # increase with each transaction. In theory we can use:
+        # ORDER BY beg_ts DESC ... except sometimes people do installs with a
+        # system clock that is very broken, and using that screws them forever.
+        sql += " ORDER BY tid DESC"
         if limit is not None:
             sql += " LIMIT " + str(limit)
         executeSQL(cur, sql, params)
@@ -1151,6 +1270,127 @@ class YumHistory:
         assert len(ret) == 1
         return ret[0]
 
+    def _load_anydb_key(self, pkg, db, attr):
+        cur = self._get_cursor()
+        if cur is None or not self._update_db_file_3():
+            return None
+
+        pid = self.pkg2pid(pkg, create=False)
+        if pid is None:
+            return None
+
+        sql = """SELECT %(db)sdb_val FROM pkg_%(db)sdb
+                  WHERE pkgtupid=? and %(db)sdb_key=? """ % {'db' : db}
+        executeSQL(cur, sql, (pid, attr))
+        for row in cur:
+            return row[0]
+
+        return None
+
+    def _load_rpmdb_key(self, pkg, attr):
+        return self._load_anydb_key(pkg, "rpm", attr)
+    def _load_yumdb_key(self, pkg, attr):
+        return self._load_anydb_key(pkg, "yum", attr)
+
+    def _save_anydb_key(self, pkg, db, attr, val):
+        cur = self._get_cursor()
+        if cur is None or not self._update_db_file_3():
+            return None
+
+        pid = self.pkg2pid(pkg, create=False)
+        if pid is None:
+            return None
+
+        sql = """INSERT INTO pkg_%(db)sdb (pkgtupid, %(db)sdb_key, %(db)sdb_val)
+                        VALUES (?, ?, ?)""" % {'db' : db}
+        executeSQL(cur, sql, (pid, attr, to_unicode(val)))
+
+        return cur.lastrowid
+
+    def _save_rpmdb_key(self, pkg, attr, val):
+        return self._save_anydb_key(pkg, "rpm", attr, val)
+    def _save_yumdb_key(self, pkg, attr, val):
+        return self._save_anydb_key(pkg, "yum", attr, val)
+
+    def _save_rpmdb(self, ipkg):
+        """ Save all the data for rpmdb for this installed pkg, assumes
+            there is no data currently. """
+        for attr in YumHistoryPackage._valid_rpmdb_keys:
+            val = getattr(ipkg, attr, None)
+            if val is None:
+                continue
+            if not self._save_anydb_key(ipkg, "rpm", attr, val):
+                return False
+        return True
+
+    def _save_yumdb(self, ipkg):
+        """ Save all the data for yumdb for this installed pkg, assumes
+            there is no data currently. """
+        for attr in _YumHistPackageYumDB._valid_yumdb_keys:
+            val = ipkg.yumdb_info.get(attr)
+            if val is None:
+                continue
+            if not self._save_anydb_key(ipkg, "yum", attr, val):
+                return False
+        return True
+
+    def _wipe_anydb(self, pkg, db):
+        """ Delete all the data for rpmdb/yumdb for this installed pkg. """
+        cur = self._get_cursor()
+        if cur is None or not self._update_db_file_3():
+            return False
+
+        pid = self.pkg2pid(pkg, create=False)
+        if pid is None:
+            return False
+
+        sql = """DELETE FROM pkg_%(db)sdb WHERE pkgtupid=?""" % {'db' : db}
+        executeSQL(cur, sql, (pid,))
+
+        return True
+
+    def sync_alldb(self, ipkg):
+        """ Sync. all the data for rpmdb/yumdb for this installed pkg. """
+        if not self._wipe_anydb(ipkg, "rpm"):
+            return False
+        if not (self._wipe_anydb(ipkg, "yum") and
+                self._save_rpmdb(ipkg) and
+                self._save_yumdb(ipkg)):
+            self._rollback()
+            return False
+
+        self._commit()
+        return True
+
+    def _pkg_stats(self):
+        """ Some stats about packages in the DB. """
+
+        ret = {'nevrac' : 0,
+               'nevra'  : 0,
+               'nevr'   : 0,
+               'na'     : 0,
+               'rpmdb'  : 0,
+               'yumdb'  : 0,
+               }
+        cur = self._get_cursor()
+        if cur is None or not self._update_db_file_3():
+            return False
+
+        data = (('nevrac', "COUNT(*)",                      "pkgtups"),
+                ('na',     "COUNT(DISTINCT(name || arch))", "pkgtups"),
+                ('nevra',"COUNT(DISTINCT(name||version||epoch||release||arch))",
+                 "pkgtups"),
+                ('nevr',   "COUNT(DISTINCT(name||version||epoch||release))",
+                 "pkgtups"),
+                ('rpmdb',  "COUNT(DISTINCT(pkgtupid))", "pkg_rpmdb"),
+                ('yumdb',  "COUNT(DISTINCT(pkgtupid))", "pkg_yumdb"))
+
+        for key, bsql, esql in data:
+            executeSQL(cur, "SELECT %s FROM %s" % (bsql, esql))
+            for row in cur:
+                ret[key] = row[0]
+        return ret
+
     def _yieldSQLDataList(self, patterns, fields, ignore_case):
         """Yields all the package data for the given params. """
 
@@ -1220,6 +1460,48 @@ class YumHistory:
             tids.add(row[0])
         return tids
 
+    _update_ops_3 = ['''\
+\
+ CREATE TABLE pkg_rpmdb (
+     pkgtupid INTEGER NOT NULL REFERENCES pkgtups,
+     rpmdb_key TEXT NOT NULL,
+     rpmdb_val TEXT NOT NULL);
+''', '''\
+ CREATE INDEX i_pkgkey_rpmdb ON pkg_rpmdb (pkgtupid, rpmdb_key);
+''', '''\
+ CREATE TABLE pkg_yumdb (
+     pkgtupid INTEGER NOT NULL REFERENCES pkgtups,
+     yumdb_key TEXT NOT NULL,
+     yumdb_val TEXT NOT NULL);
+''', '''\
+ CREATE INDEX i_pkgkey_yumdb ON pkg_yumdb (pkgtupid, yumdb_key);
+''']
+
+# pylint: disable-msg=E0203
+    def _update_db_file_3(self):
+        """ Update to version 3 of history, rpmdb/yumdb data. """
+        if not self._update_db_file_2():
+            return False
+
+        if hasattr(self, '_cached_updated_3'):
+            return self._cached_updated_3
+
+        cur = self._get_cursor()
+        if cur is None:
+            return False
+
+        executeSQL(cur, "PRAGMA table_info(pkg_yumdb)")
+        #  If we get anything, we're fine. There might be a better way of
+        # saying "anything" but this works.
+        for ob in cur:
+            break
+        else:
+            for op in self._update_ops_3:
+                cur.execute(op)
+            self._commit()
+        self._cached_updated_3 = True
+        return True
+
     _update_ops_2 = ['''\
 \
  CREATE TABLE trans_skip_pkgs (
@@ -1307,6 +1589,8 @@ class YumHistory:
         self._cached_updated_2 = True
         return True
 
+# pylint: enable-msg=E0203
+
     def _create_db_file(self):
         """ Create a new history DB file, populating tables etc. """
 
@@ -1321,8 +1605,10 @@ class YumHistory:
             if os.path.exists(_db_file + '-journal'):
                 os.rename(_db_file  + '-journal', _db_file + '-journal.old')
         self._db_file = _db_file
+        if not self.conf.writable:
+            return False
         
-        if self.conf.writable and not os.path.exists(self._db_file):
+        if not os.path.exists(self._db_file):
             # make them default to 0600 - sysadmin can change it later
             # if they want
             fo = os.open(self._db_file, os.O_CREAT, 0600)
@@ -1374,7 +1660,10 @@ class YumHistory:
             cur.execute(op)
         for op in self._update_ops_2:
             cur.execute(op)
+        for op in self._update_ops_3:
+            cur.execute(op)
         self._commit()
+        return True
 
 # Pasted from sqlitesack
 _FULL_PARSE_QUERY_BEG = """
diff --git a/yum/i18n.py b/yum/i18n.py
index 9889bf6..17267d6 100755
--- a/yum/i18n.py
+++ b/yum/i18n.py
@@ -462,6 +462,34 @@ def str_eq(a, b):
     
     return False
     
+def exception2msg(e):
+    """Convert an exception to a message.  This function will convert
+    the exception using to_unicode, unicode, or str, whichever works correctly.
+
+    :param e: an exception
+    :return: a string representation of the exception
+    """
+
+    # DIE python DIE! Which one works:
+    # to_unicode(e.value); unicode(e); str(e); 
+    # Call this so you don't have to care.
+    try:
+        return to_unicode(e.value)
+    except:
+        pass
+
+    try:
+        return unicode(e)
+    except:
+        pass
+
+    try:
+        return to_unicode(str(e))
+    except:
+        pass
+    return "<exception failed to convert to text>"
+
+
 try: 
     '''
     Setup the yum translation domain and make _() and P_() translation wrappers
@@ -472,6 +500,13 @@ try:
     t = gettext.translation('yum', fallback=True)
     _ = t.ugettext
     P_ = t.ungettext
+
+    # we describe yum commands and options with unicode but optparse
+    # mixes this with non-unicode translations so "yum --help" may fail.
+    # It's much easier to fix this in optparse than in yum. BZ 1033416
+    import optparse
+    if optparse._ is gettext.gettext:
+        optparse._ = gettext.translation('messages', fallback=True).ugettext
 except:
     '''
     Something went wrong so we make a dummy _() wrapper there is just
diff --git a/yum/igroups.py b/yum/igroups.py
new file mode 100644
index 0000000..104112d
--- /dev/null
+++ b/yum/igroups.py
@@ -0,0 +1,310 @@
+#! /usr/bin/python -tt
+# This program 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; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program 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 Library General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# Copyright 2010, 2012 Red Hat
+#
+# James Antill <james@fedoraproject.org>
+
+import os
+import fnmatch
+import re
+
+def _open_no_umask(*args):
+    """ Annoying people like to set umask's for root, which screws everything
+        up for user readable stuff. """
+    oumask = os.umask(022)
+    try:
+        ret = open(*args)
+    finally:
+        os.umask(oumask)
+
+    return ret
+
+def _makedirs_no_umask(*args):
+    """ Annoying people like to set umask's for root, which screws everything
+        up for user readable stuff. """
+    oumask = os.umask(022)
+    try:
+        ret = os.makedirs(*args)
+    finally:
+        os.umask(oumask)
+
+    return ret
+
+class InstalledGroup(object):
+    def __init__(self, gid):
+        self.gid       = gid
+        self.pkg_names = set()
+        self.environment = None
+
+    def __cmp__(self, other):
+        if other is None:
+            return 1
+        return cmp(self.gid, other.gid)
+
+    def _additions(self, pkg_names):
+        pkg_names = set(pkg_names)
+        return sorted(pkg_names.difference(self.pkg_names))
+
+    def _removals(self, pkg_names):
+        pkg_names = set(pkg_names)
+        return sorted(pkg_names.difference(self.pkg_names))
+
+    groupid = property(fget=lambda self: self.gid,
+                      fset=lambda self, value: setattr(self, "gid", value),
+                      fdel=lambda self: setattr(self, "gid", None),
+                      doc="Compat. to treat comps groups/igroups the same")
+
+
+
+class InstalledEnvironment(object):
+    def __init__(self, evgid):
+        self.evgid     = evgid
+        self.grp_names = set()
+
+    def __cmp__(self, other):
+        if other is None:
+            return 1
+        return cmp(self.evgid, other.evgid)
+
+    def _additions(self, grp_names):
+        grp_names = set(grp_names)
+        return sorted(grp_names.difference(self.grp_names))
+
+    def _removals(self, grp_names):
+        grp_names = set(grp_names)
+        return sorted(grp_names.difference(self.grp_names))
+
+    environmentid = property(fget=lambda self: self.evgid,
+                      fset=lambda self, value: setattr(self, "evgid", value),
+                      fdel=lambda self: setattr(self, "evgid", None),
+                      doc="Compat. to treat comps groups/igroups the same")
+
+
+class InstalledGroups(object):
+    def __init__(self, db_path):
+        self.groups   = {}
+        self.changed  = False
+        self.environments = {}
+
+        self._read_pkg_grps(db_path)
+        self._read_grp_grps(db_path)
+
+    def _read_pkg_grps(self, db_path):
+        self.filename = db_path + "/installed"
+        if not os.access(self.filename, os.R_OK):
+            return
+
+        def _read_str(fo):
+            return fo.readline()[:-1]
+
+        fo = open(self.filename)
+        try:
+            ver = int(_read_str(fo))
+        except ValueError:
+            return
+        if ver != 1:
+            return
+
+        groups_num = int(_read_str(fo))
+        while groups_num > 0:
+            groups_num -= 1
+
+            grp = InstalledGroup(_read_str(fo))
+            self.groups[grp.gid] = grp
+
+            num = int(_read_str(fo))
+            while num > 0:
+                num -= 1
+                grp.pkg_names.add(_read_str(fo))
+
+    def _read_grp_grps(self, db_path):
+        self.grp_filename = db_path + "/environment"
+        if not os.access(self.grp_filename, os.R_OK):
+            return
+
+        def _read_str(fo):
+            return fo.readline()[:-1]
+
+        fo = open(self.grp_filename)
+        ver = int(_read_str(fo))
+        if ver != 1:
+            return
+
+        groups_num = int(_read_str(fo))
+        while groups_num > 0:
+            groups_num -= 1
+
+            evgrp = InstalledEnvironment(_read_str(fo))
+            self.environments[evgrp.evgid] = evgrp
+
+            num = int(_read_str(fo))
+            while num > 0:
+                num -= 1
+                grpname = _read_str(fo)
+                memb = _read_str(fo)
+                evgrp.grp_names.add(grpname)
+                assert memb in ('true', 'false')
+                if memb == 'true':
+                    assert grpname in self.groups
+                    if grpname in self.groups:
+                        self.groups[grpname].environment = evgrp.evgid
+
+    def close(self):
+        pass
+
+    def save(self, force=False):
+        if not force and not self.changed:
+            return False
+
+        db_path = os.path.dirname(self.filename)
+        if not os.path.exists(db_path):
+            try:
+                _makedirs_no_umask(db_path)
+            except (IOError, OSError), e:
+                # some sort of useful thing here? A warning?
+                return False
+
+        if not os.access(db_path, os.W_OK):
+            return False
+
+        self._write_pkg_grps()
+        self._write_grp_grps()
+
+        self.changed = False
+
+    def _write_pkg_grps(self):
+        fo = _open_no_umask(self.filename + '.tmp', 'w')
+
+        fo.write("1\n") # version
+        fo.write("%u\n" % len(self.groups))
+        for grp in sorted(self.groups.values()):
+            fo.write("%s\n" % grp.gid)
+            fo.write("%u\n" % len(grp.pkg_names))
+            for pkgname in sorted(grp.pkg_names):
+                fo.write("%s\n" % pkgname)
+        fo.close()
+        os.rename(self.filename + '.tmp', self.filename)
+
+    def _write_grp_grps(self):
+        fo = _open_no_umask(self.grp_filename + '.tmp', 'w')
+
+        fo.write("1\n") # version
+        fo.write("%u\n" % len(self.environments))
+        for evgrp in sorted(self.environments.values()):
+            fo.write("%s\n" % evgrp.evgid)
+            fo.write("%u\n" % len(evgrp.grp_names))
+            for grpname in sorted(evgrp.grp_names):
+                fo.write("%s\n" % grpname)
+                if (grpname in self.groups and
+                    self.groups[grpname].environment == evgrp.evgid):
+                    fo.write("%s\n" % "true")
+                else:
+                    fo.write("%s\n" % "false")
+
+        fo.close()
+        os.rename(self.grp_filename + '.tmp', self.grp_filename)
+
+    def add_group(self, groupid, pkg_names, ievgrp=None):
+        self.changed = True
+
+        if groupid not in self.groups:
+            self.groups[groupid] = InstalledGroup(groupid)
+        grp = self.groups[groupid]
+
+        for pkg_name in pkg_names:
+            grp.pkg_names.add(pkg_name)
+
+        if ievgrp is not None:
+            grp.environment = ievgrp.evgid
+            ievgrp.grp_names.add(groupid)
+        return grp
+
+    def del_group(self, groupid):
+        self.changed = True
+
+        if groupid in self.groups:
+            del self.groups[groupid]
+
+    def return_groups(self, group_pattern, case_sensitive=False):
+        returns = {}
+
+        if not group_pattern:
+            return []
+
+        for item in group_pattern.split(','):
+            item = item.strip()
+            if item in self.groups:
+                thisgroup = self.groups[item]
+                returns[thisgroup.gid] = thisgroup
+                continue
+            
+            if case_sensitive:
+                match = re.compile(fnmatch.translate(item)).match
+            else:
+                match = re.compile(fnmatch.translate(item), flags=re.I).match
+
+            done = False
+            for group in self.groups.values():
+                if match(group.gid):
+                    done = True
+                    returns[group.gid] = group
+                    break
+
+        return returns.values()
+
+    def add_environment(self, evgroupid, grp_names):
+        self.changed = True
+
+        if evgroupid not in self.environments:
+            self.environments[evgroupid] = InstalledEnvironment(evgroupid)
+        grp = self.environments[evgroupid]
+
+        for grp_name in grp_names:
+            grp.grp_names.add(grp_name)
+        return grp
+
+    def del_environment(self, evgroupid):
+        self.changed = True
+
+        if evgroupid in self.environments:
+            del self.environments[evgroupid]
+
+    def return_environments(self, evgroup_pattern, case_sensitive=False):
+        returns = {}
+
+        if not evgroup_pattern:
+            return []
+
+        for item in evgroup_pattern.split(','):
+            item = item.strip()
+            if item in self.environments:
+                thisgroup = self.environments[item]
+                returns[thisgroup.evgid] = thisgroup
+                continue
+
+            if case_sensitive:
+                match = re.compile(fnmatch.translate(item)).match
+            else:
+                match = re.compile(fnmatch.translate(item), flags=re.I).match
+
+            done = False
+            for group in self.environments.values():
+                if match(group.evgid):
+                    done = True
+                    returns[group.evgid] = group
+                    break
+
+        return returns.values()
diff --git a/yum/logginglevels.py b/yum/logginglevels.py
index 14c5e73..f441eb9 100644
--- a/yum/logginglevels.py
+++ b/yum/logginglevels.py
@@ -42,7 +42,7 @@ logging.addLevelName(DEBUG_3, "DEBUG_3")
 logging.addLevelName(DEBUG_4, "DEBUG_4")
 
 # High level to effectively turn off logging.
-# For compatability with the old logging system.
+# For compatibility with the old logging system.
 __NO_LOGGING = 100
 logging.raiseExceptions = False
 
@@ -87,7 +87,9 @@ def logLevelFromErrorLevel(error_level):
 
 def logLevelFromDebugLevel(debug_level):
     """ Convert an old-style debug logging level to the new style. """
-    debug_table = {-1 : __NO_LOGGING, 0 : logging.INFO, 1 : INFO_1, 2 : INFO_2,
+    debug_table = {-5 : __NO_LOGGING,
+        -4 : logging.CRITICAL, -3 : logging.ERROR, -2 : logging.WARNING,
+        -1 : __NO_LOGGING, 0 : logging.INFO, 1 : INFO_1, 2 : INFO_2,
         3 : logging.DEBUG, 4 : DEBUG_1, 5 : DEBUG_2, 6 : DEBUG_3, 7 : DEBUG_4}
 
     return __convertLevel(debug_level, debug_table)
@@ -98,7 +100,7 @@ def __convertLevel(level, table):
     try:
         new_level = table[level]
     except KeyError:
-        keys = table.keys()
+        keys = sorted(table.keys())
         # We didn't find the level in the table, check if it's smaller
         # than the smallest level
         if level < keys[0]:
diff --git a/yum/mdparser.py b/yum/mdparser.py
index 8631f06..8d0c678 100644
--- a/yum/mdparser.py
+++ b/yum/mdparser.py
@@ -155,7 +155,8 @@ class PrimaryEntry(BaseEntry):
                 p[name] = child.text
 
             elif name in ('provides', 'requires', 'conflicts', 
-                          'obsoletes'):
+                          'obsoletes',
+                          'suggests', 'enhances', 'recommends', 'supplements'):
                 self.prco[name] = self.getPrco(child)
 
             elif name == 'header-range':
diff --git a/yum/metalink.py b/yum/metalink.py
index aaa4f25..a2c5135 100755
--- a/yum/metalink.py
+++ b/yum/metalink.py
@@ -180,6 +180,7 @@ class MetaLinkRepoMD:
         self.repomd = None
         self.old_repomds = []
         self.mirrors = []
+        self._host2mc = {}
         if not os.path.exists(filename):
             raise MetaLinkRepoErrorParseFail, "File %s does not exist" %filename
         try:
@@ -206,7 +207,7 @@ class MetaLinkRepoMD:
                 self.old_repomds.append(MetaLinkFile(celem))
 
             for celem in elem.findall(__ML_RESOURCES__):
-                max_connections = int(celem.get("maxconnections"))
+                max_connections = int(celem.get("maxconnections") or 2)
                 for uelem in celem:
                     if uelem.tag == "{%s}url"  % __XML_NS_ML__:
                         self.mirrors.append(MetaLinkURL(uelem, max_connections))
@@ -225,8 +226,6 @@ class MetaLinkRepoMD:
         # Get the hostname from a url, stripping away any usernames/passwords
         # Borrowd from fastestmirror
         url2host = lambda url: url.split('/')[2].split('@')[-1]
-        hosts = set() # Don't want multiple urls for one host in plain mode
-                      # The list of URLs is sorted, so http is before ftp
 
         for mirror in self.mirrors:
             url = mirror.url
@@ -237,9 +236,9 @@ class MetaLinkRepoMD:
             elif (url.startswith("http:") or url.startswith("ftp:") or
                   url.startswith("https:")):
                 host = url2host(url)
-                if host in hosts:
+                if host in self._host2mc:
                     continue
-                hosts.add(host)
+                self._host2mc[host] = mirror
             else:
                 continue
 
diff --git a/yum/misc.py b/yum/misc.py
index 2f6ddfe..6850ae2 100644
--- a/yum/misc.py
+++ b/yum/misc.py
@@ -5,9 +5,11 @@ Assorted utility functions for yum.
 
 import types
 import os
+import sys
 import os.path
 from cStringIO import StringIO
 import base64
+import binascii
 import struct
 import re
 import errno
@@ -21,6 +23,7 @@ import fnmatch
 import bz2
 import gzip
 import shutil
+import urllib
 _available_compression = ['gz', 'bz2']
 try:
     import lzma
@@ -38,13 +41,11 @@ except ImportError:
 try:
     import hashlib
     _available_checksums = set(['md5', 'sha1', 'sha256', 'sha384', 'sha512'])
-    _default_checksums = ['sha256']
 except ImportError:
     # Python-2.4.z ... gah!
     import sha
     import md5
     _available_checksums = set(['md5', 'sha1'])
-    _default_checksums = ['sha1']
     class hashlib:
 
         @staticmethod
@@ -55,6 +56,20 @@ except ImportError:
                 return sha.new()
             raise ValueError, "Bad checksum type"
 
+# some checksum types might be disabled
+for ctype in list(_available_checksums):
+    try:
+        hashlib.new(ctype)
+    except:
+        print >> sys.stderr, 'Checksum type %s disabled' % repr(ctype)
+        _available_checksums.remove(ctype)
+for ctype in 'sha256', 'sha1':
+    if ctype in _available_checksums:
+        _default_checksums = [ctype]
+        break
+else:
+    raise ImportError, 'broken hashlib'
+
 from Errors import MiscError
 # These are API things, so we can't remove them even if they aren't used here.
 # pylint: disable-msg=W0611
@@ -95,6 +110,19 @@ def re_glob(s):
         _re_compiled_glob_match = re.compile('[*?]|\[.+\]').search
     return _re_compiled_glob_match(s)
 
+def compile_pattern(pat, ignore_case=False):
+    """ Compile shell wildcards, return a 'match' function. """
+    if re_glob(pat):
+        try:
+            flags = ignore_case and re.I or 0
+            return re.compile(fnmatch.translate(pat), flags).match
+        except re.error:
+            pass # fall back to exact match
+    if ignore_case:
+        pat = pat.lower()
+        return lambda s: s.lower() == pat
+    return lambda s: s == pat
+
 _re_compiled_filename_match = None
 def re_filename(s):
     """ Tests if a string could be a filename. We still get negated character
@@ -106,8 +134,9 @@ def re_filename(s):
 
 def re_primary_filename(filename):
     """ Tests if a filename string, can be matched against just primary.
-        Note that this can produce false negatives (but not false
-        positives). Note that this is a superset of re_primary_dirname(). """
+        Note that this can produce false negatives (Eg. /b?n/zsh) but not false
+        positives (because the former is a perf hit, and the later is a
+        failure). Note that this is a superset of re_primary_dirname(). """
     if re_primary_dirname(filename):
         return True
     if filename == '/usr/lib/sendmail':
@@ -322,7 +351,7 @@ def checksum(sumtype, file, CHUNK=2**16, datasize=None):
         if type(file) not in types.StringTypes:
             fo = file # assume it's a file-like-object
         else:           
-            fo = open(file, 'r', CHUNK)
+            fo = open(file, 'r')
 
         data = Checksums([sumtype])
         while data.read(fo, CHUNK):
@@ -331,7 +360,6 @@ def checksum(sumtype, file, CHUNK=2**16, datasize=None):
 
         if type(file) is types.StringType:
             fo.close()
-            del fo
             
         # This screws up the length, but that shouldn't matter. We only care
         # if this checksum == what we expect.
@@ -410,6 +438,17 @@ def procgpgkey(rawkey):
     # Decode and return
     return base64.decodestring(block.getvalue())
 
+def gpgkey_fingerprint_ascii(info, chop=4):
+    ''' Given a key_info data from getgpgkeyinfo(), return an ascii
+    fingerprint. Chop every 4 ascii values, as that is what GPG does. '''
+    # First "duh" ... it's a method...
+    fp = info['fingerprint']()
+    fp = binascii.hexlify(fp)
+    if chop:
+        fp = [fp[i:i+chop] for i in range(0, len(fp), chop)]
+        fp = " ".join(fp)
+    return fp
+
 def getgpgkeyinfo(rawkey, multiple=False):
     '''Return a dict of info for the given ASCII armoured key text
 
@@ -611,6 +650,8 @@ def getCacheDir(tmpdir='/var/tmp', reuse=True, prefix='yum-'):
     try:
         usertup = pwd.getpwuid(uid)
         username = usertup[0]
+        # we prefer ascii-only paths
+        username = urllib.quote(username)
     except KeyError:
         return None # if it returns None then, well, it's bollocksed
 
@@ -744,8 +785,9 @@ def _decompress_chunked(source, dest, ztype):
     while True:
         try:
             data = s_fn.read(1024000)
-        except IOError:
-            break
+        except (OSError, IOError, EOFError), e:
+            msg = "Error reading from file %s: %s" % (source, str(e))
+            raise Errors.MiscError, msg
         
         if not data: break
 
@@ -868,67 +910,39 @@ def seq_max_split(seq, max_entries):
     ret.append(seq[beg:])
     return ret
 
-def _ugly_utf8_string_hack(item):
-    """hands back a unicoded string"""
-    # this is backward compat for handling non-utf8 filenames 
-    # and content inside packages. :(
-    # content that xml can cope with but isn't really kosher
+_deletechars = ''.join(chr(i) for i in range(32) if i not in (9, 10, 13))
 
-    # if we're anything obvious - do them first
-    if item is None:
-        return ''
-    elif isinstance(item, unicode):    
-        return item
-    
-    # this handles any bogon formats we see
-    du = False
-    try:
-        x = unicode(item, 'ascii')
-        du = True
-    except UnicodeError:
-        encodings = ['utf-8', 'iso-8859-1', 'iso-8859-15', 'iso-8859-2']
-        for enc in encodings:
-            try:
-                x = unicode(item, enc)
-            except UnicodeError:
-                pass
-                
-            else:
-                if x.encode(enc) == item:
-                    if enc != 'utf-8':
-                        print '\n%s encoding on %s\n' % (enc, item)
-                    return x.encode('utf-8')
-    
-    
-    # Kill bytes (or libxml will die) not in the small byte portion of:
-    #  http://www.w3.org/TR/REC-xml/#NT-Char
-    # we allow high bytes, if it passed the utf8 check above. Eg.
-    # good chars = #x9 | #xA | #xD | [#x20-...]
-    newitem = ''
-    bad_small_bytes = range(0, 8) + [11, 12] + range(14, 32)
-    for char in item:
-        if ord(char) in bad_small_bytes:
-            pass # Just ignore these bytes...
-        elif not du and ord(char) > 127:
-            newitem = newitem + '?' # byte by byte equiv of escape
-        else:
-            newitem = newitem + char
-    return newitem
-
-__cached_saxutils = None
 def to_xml(item, attrib=False):
-    global __cached_saxutils
-    if __cached_saxutils is None:
-        import xml.sax.saxutils
-        __cached_saxutils = xml.sax.saxutils
+    """ Returns xml-friendly utf-8 encoded string.
+        Accepts utf-8, iso-8859-1, or unicode.
+    """
+    if type(item) is str:
+        # check if valid utf8
+        try: unicode(item, 'utf-8')
+        except UnicodeDecodeError:
+            # assume iso-8859-1
+            item = unicode(item, 'iso-8859-1').encode('utf-8')
+    elif type(item) is unicode:
+        item = item.encode('utf-8')
+    elif item is None:
+        return ''
+    else:
+        raise ValueError, 'String expected, got %s' % repr(item)
 
-    item = _ugly_utf8_string_hack(item)
-    item = to_utf8(item)
+    # compat cruft...
     item = item.rstrip()
+
+    # kill ivalid low bytes
+    item = item.translate(None, _deletechars)
+
+    # quote reserved XML characters
+    item = item.replace('&', '&amp;')
+    item = item.replace('<', '&lt;')
+    item = item.replace('>', '&gt;')
     if attrib:
-        item = __cached_saxutils.escape(item, entities={'"':"&quot;"})
-    else:
-        item = __cached_saxutils.escape(item)
+        item = item.replace('"', '&quot;')
+        item = item.replace("'", '&apos;')
+
     return item
 
 def unlink_f(filename):
@@ -937,17 +951,19 @@ def unlink_f(filename):
     try:
         os.unlink(filename)
     except OSError, e:
-        if e.errno != errno.ENOENT:
+        if e.errno not in (errno.ENOENT, errno.EPERM, errno.EACCES, errno.EROFS):
             raise
 
-def stat_f(filename):
+def stat_f(filename, ignore_EACCES=False):
     """ Call os.stat(), but don't die if the file isn't there. Returns None. """
     try:
         return os.stat(filename)
     except OSError, e:
-        if e.errno not in (errno.ENOENT, errno.ENOTDIR):
-            raise
-        return None
+        if e.errno in (errno.ENOENT, errno.ENOTDIR):
+            return None
+        if ignore_EACCES and e.errno == errno.EACCES:
+            return None
+        raise
 
 def _getloginuid():
     """ Get the audit-uid/login-uid, if available. None is returned if there
@@ -976,7 +992,6 @@ def getloginuid():
 
 # ---------- i18n ----------
 import locale
-import sys
 def setup_locale(override_codecs=True, override_time=False):
     # This test needs to be before locale.getpreferredencoding() as that
     # does setlocale(LC_CTYPE, "")
@@ -992,9 +1007,17 @@ def setup_locale(override_codecs=True, override_time=False):
         locale.setlocale(locale.LC_ALL, 'C')
         
     if override_codecs:
-        import codecs
-        sys.stdout = codecs.getwriter(locale.getpreferredencoding())(sys.stdout)
-        sys.stdout.errors = 'replace'
+        class UnicodeStream:
+            def __init__(self, stream, encoding):
+                self.stream = stream
+                self.encoding = encoding
+            def write(self, s):
+                if isinstance(s, unicode):
+                    s = s.encode(self.encoding, 'replace')
+                self.stream.write(s)
+            def __getattr__(self, name):
+                return getattr(self.stream, name)
+        sys.stdout = UnicodeStream(sys.stdout, locale.getpreferredencoding())
 
 
 def get_my_lang_code():
@@ -1077,6 +1100,23 @@ def get_uuid(savepath):
             pass
         
         return myid
+
+class _Dynamic_UUID(object):
+    def __init__(self, filename):
+        self.filename = filename
+        self.uuid = None
+
+    def __str__(self):
+        if self.uuid is None:
+            self.uuid = get_uuid(self.filename)
+        return self.uuid
+
+    def __unicode__(self):
+        return to_unicode(self.__str__())
+
+def get_uuid_obj(savepath):
+    """ Like get_uuid() but doesn't create the uuid file until it's needed. """
+    return _Dynamic_UUID(savepath)
         
 def decompress(filename, dest=None, fn_only=False, check_timestamps=False):
     """take a filename and decompress it into the same relative location.
@@ -1105,17 +1145,28 @@ def decompress(filename, dest=None, fn_only=False, check_timestamps=False):
             out = filename.replace('.xz', '')
         
     else:
-        out = filename # returning the same file since it is not compressed
-        ztype = None
+        return filename # returning the same file since it is not compressed
     
-    if ztype and not fn_only:
-        if check_timestamps:
-            fi = stat_f(filename)
-            fo = stat_f(out)
-            if fi and fo and fo.st_mtime > fi.st_mtime:
+    if check_timestamps:
+        fi = stat_f(filename)
+        fo = stat_f(out)
+        if fi and fo:
+            # Eliminate sub second precision in mtime before comparison,
+            # see http://bugs.python.org/issue14127
+            if int(fo.st_mtime) == int(fi.st_mtime):
                 return out
+            if fn_only:
+                # out exists but not valid
+                return None
 
-        _decompress_chunked(filename, out, ztype)
+    if not fn_only:
+        try:
+            _decompress_chunked(filename, out, ztype)
+            if check_timestamps and fi:
+                os.utime(out, (fi.st_mtime, fi.st_mtime))
+        except:
+            unlink_f(out)
+            raise
         
     return out
     
@@ -1123,13 +1174,14 @@ def repo_gen_decompress(filename, generated_name, cached=False):
     """ This is a wrapper around decompress, where we work out a cached
         generated name, and use check_timestamps. filename _must_ be from
         a repo. and generated_name is the type of the file. """
-    dest = os.path.dirname(filename)
-    dest += '/gen'
-    if not os.path.exists(dest):
-        os.makedirs(dest, mode=0755)
-    dest += '/' + generated_name
-    return decompress(filename, dest=dest, check_timestamps=True,fn_only=cached)
-    
+    dest = os.path.dirname(filename) + '/gen/' + generated_name
+    try:
+        return decompress(filename, dest=dest, check_timestamps=True)
+    except (OSError, IOError), e:
+        if cached and e.errno == errno.EACCES:
+            return None
+        raise
+
 def read_in_items_from_dot_dir(thisglob, line_as_list=True):
     """takes a glob of a dir (like /etc/foo.d/*.foo)
        returns a list of all the lines in all the files matching
@@ -1175,3 +1227,22 @@ def cElementTree_xmlparse(filename):
     """ Lazily load/run: cElementTree.parse """
     _cElementTree_import()
     return __cached_cElementTree.parse(filename)
+
+def filter_pkgs_repoid(pkgs, repoid):
+    """ Given a list of packages, filter them for those "in" the repoid.
+    uses from_repo for installed packages, used by repo-pkgs commands. """
+
+    if repoid is None:
+        return pkgs
+
+    ret = []
+    for pkg in pkgs:
+        if pkg.repoid == 'installed':
+            if 'from_repo' not in pkg.yumdb_info:
+                continue
+            if pkg.yumdb_info.from_repo != repoid:
+                continue
+        elif pkg.repoid != repoid:
+            continue
+        ret.append(pkg)
+    return ret
diff --git a/yum/packageSack.py b/yum/packageSack.py
index 4af563a..a702ac1 100644
--- a/yum/packageSack.py
+++ b/yum/packageSack.py
@@ -282,11 +282,7 @@ class PackageSackBase(object):
 
         specs = {}
         for p in pkgspecs:
-            if misc.re_glob(p):
-                restring = fnmatch.translate(p)
-                specs[p] = re.compile(restring)
-            else:
-                specs[p] = p
+            specs[p] = misc.compile_pattern(p)
 
         #  We don't use simplePkgList() here because that loads all of the
         # rpmdb, if we are Eg. doing a "remove PackageKit".
@@ -304,13 +300,12 @@ class PackageSackBase(object):
                 ))
                 
             for (term,query) in specs.items():
-                if term == query:
-                    if query in names:
-                        exactmatch.append(self.searchPkgTuple(pkgtup)[0])
-                        unmatched.discard(term)
+                if term in names:
+                    exactmatch.append(self.searchPkgTuple(pkgtup)[0])
+                    unmatched.discard(term)
                 else:
                     for n in names:
-                        if query.match(n):
+                        if query(n):
                             matched.append(self.searchPkgTuple(pkgtup)[0])
                             unmatched.discard(term)
         return misc.unique(exactmatch), misc.unique(matched), list(unmatched)
@@ -445,6 +440,7 @@ class MetaSack(PackageSackBase):
         nobsdict = {}
         last_name = ''
         last_pkg = None
+        last_pkgtup = None
         #  It takes about 0.2 of a second to convert these into packages, just
         # so we can sort them, which is ~40% of this functions time. So we sort
         # the pkgtups "by hand".
@@ -624,6 +620,8 @@ class MetaSack(PackageSackBase):
 class PackageSack(PackageSackBase):
     """represents sets (sacks) of Package Objects"""
     def __init__(self):
+        PackageSackBase.__init__(self)
+
         self.nevra = {} #nevra[(Name, Epoch, Version, Release, Arch)] = []
         self.obsoletes = {} #obs[obsoletename] = [pkg1, pkg2, pkg3] 
                  #the package lists are packages that obsolete the key name
diff --git a/yum/packages.py b/yum/packages.py
index 5ef9951..eebeb9d 100644
--- a/yum/packages.py
+++ b/yum/packages.py
@@ -38,6 +38,7 @@ import struct
 from constants import *
 from operator import itemgetter
 
+import urllib
 import urlparse
 urlparse.uses_fragment.append("media")
 from urlgrabber.grabber import URLGrabber, URLGrabError
@@ -53,6 +54,9 @@ except ImportError:
 import pwd
 import grp
 
+# check if rpm has the new weakdeps tags
+_rpm_has_new_weakdeps = hasattr(rpm, 'RPMTAG_ENHANCENAME')
+
 def comparePoEVR(po1, po2):
     """
     Compare two Package or PackageEVR objects.
@@ -106,14 +110,16 @@ def buildPkgRefDict(pkgs, casematch=True):
     return pkgdict
        
 def parsePackages(pkgs, usercommands, casematch=0,
-                  unique='repo-epoch-name-version-release-arch'):
+                  unique='repo-epoch-name-version-release-arch',
+                  pkgdict=None):
     """matches up the user request versus a pkg list:
        for installs/updates available pkgs should be the 'others list' 
        for removes it should be the installed list of pkgs
        takes an optional casematch option to determine if case should be matched
        exactly. Defaults to not matching."""
 
-    pkgdict = buildPkgRefDict(pkgs, bool(casematch))
+    if pkgdict is None:
+        pkgdict = buildPkgRefDict(pkgs, bool(casematch))
     exactmatch = []
     matched = []
     unmatched = []
@@ -130,11 +136,10 @@ def parsePackages(pkgs, usercommands, casematch=0,
                 trylist = pkgdict.keys()
                 # command and pkgdict are already lowered if not casematch
                 # so case sensitive is always fine
-                restring = fnmatch.translate(command)
-                regex = re.compile(restring)
+                regex = misc.compile_pattern(command)
                 foundit = 0
                 for item in trylist:
-                    if regex.match(item):
+                    if regex(item):
                         matched.extend(pkgdict[item])
                         del pkgdict[item]
                         foundit = 1
@@ -223,6 +228,10 @@ class FakeRepository:
     def __str__(self):
         return self.id
 
+    def _ui_id(self):
+        return self.id
+    ui_id = property(fget=lambda self: self._ui_id())
+
 
 #  Goal for the below is to have a packageobject that can be used by generic
 # functions independent of the type of package - ie: installed or available
@@ -243,34 +252,87 @@ class PackageObject(object):
         
     def _ui_envra(self):
         if self.epoch == '0':
-            out = '%s-%s-%s.%s' % (self.name, 
-                                   self.version,
-                                   self.release, 
-                                   self.arch)
+            return self.nvra
         else:
-            out = '%s:%s-%s-%s.%s' % (self.epoch,
-                                      self.name,  
-                                      self.version, 
-                                      self.release, 
-                                      self.arch)
-        return out
+            return self.envra
     ui_envra = property(fget=lambda self: self._ui_envra())
 
     def _ui_nevra(self):
         if self.epoch == '0':
-            out = '%s-%s-%s.%s' % (self.name,
-                                   self.version,
-                                   self.release,
-                                   self.arch)
+            return self.nvra
         else:
-            out = '%s-%s:%s-%s.%s' % (self.name,
-                                      self.epoch,
-                                      self.version,
-                                      self.release,
-                                      self.arch)
-        return out
+            return self.nevra
     ui_nevra = property(fget=lambda self: self._ui_nevra())
 
+    def _ui_evr(self):
+        if self.epoch == '0':
+            return self.vr
+        else:
+            return self.evr
+    ui_evr = property(fget=lambda self: self._ui_evr())
+
+    def _ui_evra(self):
+        if self.epoch == '0':
+            return self.vra
+        else:
+            return self.evra
+    ui_evra = property(fget=lambda self: self._ui_evra())
+
+    def _ui_nevr(self):
+        if self.epoch == '0':
+            return self.nvr
+        else:
+            return self.nevr
+    ui_nevr = property(fget=lambda self: self._ui_nevr())
+
+    def _na(self):
+        return '%s.%s' % (self.name, self.arch)
+    na = property(fget=lambda self: self._na())
+
+    def _vr(self):
+        return '%s-%s' % (self.version, self.release)
+    vr = property(fget=lambda self: self._vr())
+
+    def _vra(self):
+        return '%s-%s.%s' % (self.version, self.release, self.arch)
+    vra = property(fget=lambda self: self._vra())
+
+    def _evr(self):
+        return '%s:%s-%s' % (self.epoch, self.version, self.release)
+    evr = property(fget=lambda self: self._evr())
+
+    def _evra(self):
+        return '%s:%s-%s.%s' % (self.epoch,self.version,self.release, self.arch)
+    evra = property(fget=lambda self: self._evra())
+
+    def _nvr(self):
+        return '%s-%s-%s' % (self.name, self.version, self.release)
+    nvr = property(fget=lambda self: self._nvr())
+
+    def _nvra(self):
+        return '%s-%s-%s.%s' % (self.name, self.version,self.release, self.arch)
+    nvra = property(fget=lambda self: self._nvra())
+
+    def _nevr(self):
+        return '%s-%s:%s-%s' % (self.name, self.epoch,self.version,self.release)
+    nevr = property(fget=lambda self: self._nevr())
+
+    def _nevra(self):
+        return '%s-%s:%s-%s.%s' % (self.name,
+                                   self.epoch, self.version, self.release,
+                                   self.arch)
+    nevra = property(fget=lambda self: self._nevra())
+
+    def _envr(self):
+        return '%s:%s-%s-%s' % (self.epoch,self.name, self.version,self.release)
+    envr = property(fget=lambda self: self._envr())
+
+    def _envra(self):
+        return '%s:%s-%s-%s.%s' % (self.epoch, self.name,
+                                   self.version, self.release,
+                                   self.arch)
+    envra = property(fget=lambda self: self._envra())
+
     def __str__(self):
         return self.ui_envra
 
@@ -411,6 +473,10 @@ class RpmBase(object):
         self.prco['conflicts'] = [] # (name, flag, (e,v,r))
         self.prco['requires'] = [] # (name, flag, (e,v,r))
         self.prco['provides'] = [] # (name, flag, (e,v,r))
+        self.prco['suggests'] = [] # (name, flag, (e,v,r))
+        self.prco['enhances'] = [] # (name, flag, (e,v,r))
+        self.prco['recommends'] = [] # (name, flag, (e,v,r))
+        self.prco['supplements'] = [] # (name, flag, (e,v,r))
         self.files = {}
         self.files['file'] = []
         self.files['dir'] = []
@@ -481,15 +547,14 @@ class RpmBase(object):
             if prcotuple in self._prco_lookup[prcotype]:
                 return 1
 
-        if True: # Keep indentation for patch smallness...
-            # make us look it up and compare
-            (reqn, reqf, (reqe, reqv ,reqr)) = prcotuple
-            if reqf is not None:
-                return self.inPrcoRange(prcotype, prcotuple)
-            else:
-                for (n, f, (e, v, r)) in self.returnPrco(prcotype):
-                    if i18n.str_eq(reqn, n):
-                        return 1
+        # make us look it up and compare
+        (reqn, reqf, (reqe, reqv ,reqr)) = prcotuple
+        if reqf is not None:
+            return self.inPrcoRange(prcotype, prcotuple)
+        else:
+            for (n, f, (e, v, r)) in self.returnPrco(prcotype):
+                if i18n.str_eq(reqn, n):
+                    return 1
 
         return 0
 
@@ -611,15 +676,20 @@ class RpmBase(object):
     dirlist = property(fget=lambda self: self.returnFileEntries(ftype='dir'))
     ghostlist = property(fget=lambda self: self.returnFileEntries(ftype='ghost'))
     requires = property(fget=lambda self: self.returnPrco('requires'))
+    strong_requires = property(fget=lambda self: self.returnPrco('strong_requires'))
     provides = property(fget=lambda self: self.returnPrco('provides'))
     obsoletes = property(fget=lambda self: self.returnPrco('obsoletes'))
     conflicts = property(fget=lambda self: self.returnPrco('conflicts'))
+    # weak_requires = property(fget=lambda self: self.returnPrco('recommends'))
+    # info_requires = property(fget=lambda self: self.returnPrco('suggests'))
     provides_names = property(fget=lambda self: self.returnPrcoNames('provides'))
     requires_names = property(fget=lambda self: self.returnPrcoNames('requires'))
+    strong_requires_names = property(fget=lambda self: self.returnPrcoNames('strong_requires'))
     conflicts_names = property(fget=lambda self: self.returnPrcoNames('conflicts'))
     obsoletes_names = property(fget=lambda self: self.returnPrcoNames('obsoletes'))
     provides_print = property(fget=lambda self: self.returnPrco('provides', True))
     requires_print = property(fget=lambda self: self.returnPrco('requires', True))
+    strong_requires_print = property(fget=lambda self: self.returnPrco('strong_requires', True))
     conflicts_print = property(fget=lambda self: self.returnPrco('conflicts', True))
     obsoletes_print = property(fget=lambda self: self.returnPrco('obsoletes', True))
     changelog = property(fget=lambda self: self.returnChangelog())
@@ -737,7 +807,7 @@ class YumAvailablePackage(PackageObject, RpmBase):
         """ This reports the repo the package is from, we integrate YUMDB info.
             for RPM packages so a package from "fedora" that is installed has a
             ui_from_repo of "@fedora". Note that, esp. with the --releasever
-            option, "fedora" or "rawhide" isn't authoritive.
+            option, "fedora" or "rawhide" isn't authoritative.
             So we also check against the current releasever and if it is
             different we also print the YUMDB releasever. This means that
             installing from F12 fedora, while running F12, would report as
@@ -789,7 +859,7 @@ class YumAvailablePackage(PackageObject, RpmBase):
 
     size = property(fget=lambda self: self._size())
     remote_path = property(_remote_path)
-    remote_url = property(_remote_url)
+    remote_url = property(lambda self: self._remote_url())
 
     def _committer(self):
         "Returns the name of the last person to do a commit to the changelog."
@@ -797,22 +867,14 @@ class YumAvailablePackage(PackageObject, RpmBase):
         if hasattr(self, '_committer_ret'):
             return self._committer_ret
 
-        def _nf2ascii(x):
-            """ does .encode("ascii", "replace") but it never fails. """
-            ret = []
-            for val in x:
-                if ord(val) >= 128:
-                    val = '?'
-                ret.append(val)
-            return "".join(ret)
-
         if not len(self.changelog): # Empty changelog is _possible_ I guess
             self._committer_ret = self.packager
             return self._committer_ret
         val = self.changelog[0][1]
         # Chagnelog data is in multiple locale's, so we convert to ascii
         # ignoring "bad" chars.
-        val = _nf2ascii(val)
+        val = misc.to_unicode(val, errors='replace')
+        val = val.encode('ascii', 'replace')
         # Hacky way to get rid of version numbers...
         ix = val.find('> ')
         if ix != -1:
@@ -859,7 +921,8 @@ class YumAvailablePackage(PackageObject, RpmBase):
         try:
             hdr = rpmUtils.miscutils.hdrFromPackage(ts, rpmfile)
         except rpmUtils.RpmUtilsError:
-            raise Errors.RepoError, 'Package Header %s: RPM Cannot open' % self
+            raise Errors.RepoError('Package Header %s: RPM Cannot open' % self,
+                                   repo=self.repo)
         return hdr
         
     def returnLocalHeader(self):
@@ -871,9 +934,11 @@ class YumAvailablePackage(PackageObject, RpmBase):
                 hlist = rpm.readHeaderListFromFile(self.localHdr())
                 hdr = hlist[0]
             except (rpm.error, IndexError):
-                raise Errors.RepoError, 'Package Header %s: Cannot open' % self
+                raise Errors.RepoError('Package Header %s: Cannot open' % self,
+                                       repo=self.repo)
         else:
-            raise Errors.RepoError, 'Package Header %s: Not Available' % self
+            raise Errors.RepoError('Package Header %s: Not Available' % self,
+                                   repo=self.repo)
 
         return hdr
 
@@ -1063,10 +1128,10 @@ class YumAvailablePackage(PackageObject, RpmBase):
         
         packager = url = ''
         if self.packager:
-            packager = misc.to_unicode(misc.to_xml(self.packager))
+            packager = misc.to_xml(self.packager)
         
         if self.url:
-            url = misc.to_unicode(misc.to_xml(self.url))
+            url = misc.to_xml(self.url)
         (csum_type, csum, csumid) = self.checksums[0]
         msg = """
   <name>%s</name>
@@ -1080,10 +1145,10 @@ class YumAvailablePackage(PackageObject, RpmBase):
   <time file="%s" build="%s"/>
   <size package="%s" installed="%s" archive="%s"/>\n""" % (self.name, 
          self.arch, self.epoch, self.ver, self.rel, csum_type, csum, 
-         misc.to_unicode(misc.to_xml(self.summary)), 
-         misc.to_unicode(misc.to_xml(self.description)), 
+         misc.to_xml(self.summary),
+         misc.to_xml(self.description),
          packager, url, self.filetime, 
-         self.buildtime, self.packagesize, self.size, self.archivesize)
+         self.buildtime, self.packagesize, self.installedsize, self.archivesize)
         
         msg += self._return_remote_location()
         return msg
@@ -1121,6 +1186,10 @@ class YumAvailablePackage(PackageObject, RpmBase):
         msg += self._dump_requires()
         msg += self._dump_pco('conflicts')         
         msg += self._dump_pco('obsoletes')         
+        msg += self._dump_pco('suggests')
+        msg += self._dump_pco('enhances')
+        msg += self._dump_pco('recommends')
+        msg += self._dump_pco('supplements')
         msg += self._dump_files(True)
         if msg[-1] != '\n':
             msg += """\n"""
@@ -1131,9 +1200,9 @@ class YumAvailablePackage(PackageObject, RpmBase):
     def _dump_pco(self, pcotype):
            
         msg = ""
-        mylist = getattr(self, pcotype)
+        mylist = self.returnPrco(pcotype)
         if mylist: msg = "\n    <rpm:%s>\n" % pcotype
-        for (name, flags, (e,v,r)) in mylist:
+        for (name, flags, (e,v,r)) in sorted(mylist):
             pcostring = '''      <rpm:entry name="%s"''' % misc.to_xml(name, attrib=True)
             if flags:
                 pcostring += ''' flags="%s"''' % misc.to_xml(flags, attrib=True)
@@ -1151,25 +1220,14 @@ class YumAvailablePackage(PackageObject, RpmBase):
         return msg
     
     def _dump_files(self, primary=False):
-        msg ="\n"
-        if not primary:
-            files = self.returnFileEntries('file')
-            dirs = self.returnFileEntries('dir')
-            ghosts = self.returnFileEntries('ghost')
-        else:
-            files = self.returnFileEntries('file', primary_only=True)
-            dirs = self.returnFileEntries('dir', primary_only=True)
-            ghosts = self.returnFileEntries('ghost', primary_only=True)
-                
-        for fn in files:
-            msg += """    <file>%s</file>\n""" % misc.to_xml(fn)
-        for fn in dirs:
-            msg += """    <file type="dir">%s</file>\n""" % misc.to_xml(fn)
-        for fn in ghosts:
-            msg += """    <file type="ghost">%s</file>\n""" % misc.to_xml(fn)
-        
-        return msg
-
+        msg = []
+        for fn in sorted(self.returnFileEntries('file', primary)):
+            msg.append('\n  <file>%s</file>' % misc.to_xml(fn))
+        for fn in sorted(self.returnFileEntries('dir', primary)):
+            msg.append('\n  <file type="dir">%s</file>' % misc.to_xml(fn))
+        for fn in sorted(self.returnFileEntries('ghost', primary)):
+            msg.append('\n  <file type="ghost">%s</file>' % misc.to_xml(fn))
+        return ''.join(msg)
 
     def _requires_with_pre(self):
         raise NotImplementedError()
@@ -1194,8 +1252,8 @@ class YumAvailablePackage(PackageObject, RpmBase):
                         continue
                     newlist.append(i)
                 mylist = newlist
-        
-        for (name, flags, (e,v,r),pre) in mylist:
+        used = 0
+        for (name, flags, (e,v,r),pre) in sorted(mylist):
             if name.startswith('rpmlib('):
                 continue
             # this drops out requires that the pkg provides for itself.
@@ -1217,19 +1275,22 @@ class YumAvailablePackage(PackageObject, RpmBase):
                     prcostring += ''' ver="%s"''' % misc.to_xml(v, attrib=True)
                 if r:
                     prcostring += ''' rel="%s"''' % misc.to_xml(r, attrib=True)
-            if pre:
+            if pre not in ("0", 0):
                 prcostring += ''' pre="%s"''' % pre
-                    
+
             prcostring += "/>\n"
             msg += prcostring
+            used += 1
             
         if mylist: msg += "    </rpm:requires>"
+        if used == 0:
+            return ""
         return msg
 
     def _dump_changelog(self, clog_limit):
         if not self.changelog:
             return ""
-        msg = "\n"
+        msg = []
         # We need to output them "backwards", so the oldest is first
         if not clog_limit:
             clogs = self.changelog
@@ -1244,34 +1305,46 @@ class YumAvailablePackage(PackageObject, RpmBase):
                 hack_ts += 1
             last_ts = ts
             ts += hack_ts
-            msg += """<changelog author="%s" date="%s">%s</changelog>\n""" % (
+            msg.append('\n  <changelog author="%s" date="%s">%s</changelog>' % (
                         misc.to_xml(author, attrib=True), misc.to_xml(str(ts)), 
-                        misc.to_xml(content))
-        return msg
+                        misc.to_xml(content)))
+        return ''.join(msg)
 
     def xml_dump_primary_metadata(self):
         msg = """\n<package type="rpm">"""
-        msg += misc.to_unicode(self._dump_base_items())
-        msg += misc.to_unicode(self._dump_format_items())
+        msg += self._dump_base_items()
+        msg += self._dump_format_items()
         msg += """\n</package>"""
-        return misc.to_utf8(msg)
+        assert type(msg) is str
+        return msg
 
     def xml_dump_filelists_metadata(self):
-        msg = """\n<package pkgid="%s" name="%s" arch="%s">
-    <version epoch="%s" ver="%s" rel="%s"/>\n""" % (self.checksum, self.name, 
-                                     self.arch, self.epoch, self.ver, self.rel)
-        msg += misc.to_unicode(self._dump_files())
-        msg += "</package>\n"
-        return misc.to_utf8(msg)
+        msg = """
+<package pkgid="%s" name="%s" arch="%s">
+  <version epoch="%s" ver="%s" rel="%s"/>%s
+</package>""" % (self.checksum, self.name, self.arch,
+                 self.epoch, self.ver, self.rel,
+                 self._dump_files())
+        assert type(msg) is str
+        return msg
 
     def xml_dump_other_metadata(self, clog_limit=0):
-        msg = """\n<package pkgid="%s" name="%s" arch="%s">
-    <version epoch="%s" ver="%s" rel="%s"/>\n""" % (self.checksum, self.name, 
-                                     self.arch, self.epoch, self.ver, self.rel)
-        msg += "%s\n</package>\n" % misc.to_unicode(self._dump_changelog(clog_limit))
-        return misc.to_utf8(msg)
-
+        msg = """
+<package pkgid="%s" name="%s" arch="%s">
+  <version epoch="%s" ver="%s" rel="%s"/>%s
+</package>""" % (self.checksum, self.name, self.arch,
+                 self.epoch, self.ver, self.rel,
+                 self._dump_changelog(clog_limit))
+        assert type(msg) is str
+        return msg
 
+# HACK: This is completely retarded. Don't blame me, someone just fix
+#       rpm-python already. This is almost certainly not all of the problems,
+#       but w/e.
+def _rpm_long_size_hack(hdr, size):
+    """ Rpm returns None, for certain sizes. And has a "longsize" for the real
+        values. """
+    return hdr[size] or hdr['long' + size]
 
 #  This is a tweak on YumAvailablePackage() and is a base class for packages
 # which are actual rpms.
@@ -1299,10 +1372,14 @@ class YumHeaderPackage(YumAvailablePackage):
         self.pkgid = self.hdr[rpm.RPMTAG_SHA1HEADER]
         if not self.pkgid:
             self.pkgid = "%s.%s" %(self.hdr['name'], self.hdr['buildtime'])
-        self.packagesize = self.hdr['size']
+        self.packagesize = _rpm_long_size_hack(self.hdr, 'archivesize')
+        self.installedsize = _rpm_long_size_hack(self.hdr, 'size')
         self.__mode_cache = {}
         self.__prcoPopulated = False
 
+    def _remote_url(self):
+        return 'file://' + urllib.quote(os.path.abspath(self.localPkg()))
+
     def _loadSummary(self):
         # Summaries "can be" empty, which rpm return [], see BZ 473239, *sigh*
         if self._loaded_summary is None:
@@ -1338,6 +1415,17 @@ class YumHeaderPackage(YumAvailablePackage):
     def _get_hdr(self):
         return self.hdr
 
+    def _filter_deps(self, name, flag, vers, andmask, resmask):
+        newname = []
+        newflag = []
+        newvers = []
+        for (n, f, v) in zip(name, flag, vers):
+            if f & andmask == resmask:
+                newname.append(n)
+                newflag.append(f)
+                newvers.append(v)
+        return (newname, newflag, newvers)
+
     def _populatePrco(self):
         "Populate the package object with the needed PRCO interface."
 
@@ -1345,6 +1433,17 @@ class YumHeaderPackage(YumAvailablePackage):
                      "CONFLICT": misc.share_data("conflicts"),
                      "REQUIRE":  misc.share_data("requires"),
                      "PROVIDE":  misc.share_data("provides") }
+
+        def _end_nfv(name, flag, vers):
+            flag = map(rpmUtils.miscutils.flagToString, flag)
+            flag = map(misc.share_data, flag)
+
+            vers = map(rpmUtils.miscutils.stringToVersion, vers)
+            vers = map(lambda x: (misc.share_data(x[0]), misc.share_data(x[1]),
+                                  misc.share_data(x[2])), vers)
+
+            return map(misc.share_data, zip(name,flag,vers))
+
         hdr = self._get_hdr()
         for tag in tag2prco:
             name = hdr[getattr(rpm, 'RPMTAG_%sNAME' % tag)]
@@ -1353,16 +1452,48 @@ class YumHeaderPackage(YumAvailablePackage):
                 continue
 
             lst = hdr[getattr(rpm, 'RPMTAG_%sFLAGS' % tag)]
-            flag = map(rpmUtils.miscutils.flagToString, lst)
-            flag = map(misc.share_data, flag)
-
-            lst = hdr[getattr(rpm, 'RPMTAG_%sVERSION' % tag)]
-            vers = map(rpmUtils.miscutils.stringToVersion, lst)
-            vers = map(lambda x: (misc.share_data(x[0]), misc.share_data(x[1]),
-                                  misc.share_data(x[2])), vers)
-
+            if tag == 'REQUIRE':
+                #  Rpm is a bit magic here, and if pkgA requires(pre/post): foo
+                # it will then let you remove foo _after_ pkgA has been
+                # installed. So we need to mark those deps. as "weak".
+                #  This is not the same as recommends/weak_requires.
+                bits = rpm.RPMSENSE_SCRIPT_PRE | rpm.RPMSENSE_SCRIPT_POST
+                weakreqs = [bool(flag & bits) for flag in lst]
+
+            vers = hdr[getattr(rpm, 'RPMTAG_%sVERSION' % tag)]
             prcotype = tag2prco[tag]
-            self.prco[prcotype] = map(misc.share_data, zip(name,flag,vers))
+            self.prco[prcotype] = _end_nfv(name, lst, vers)
+            if tag == 'REQUIRE':
+                weakreqs = zip(weakreqs, self.prco[prcotype])
+                strongreqs = [wreq[1] for wreq in weakreqs if not wreq[0]]
+                self.prco['strong_requires'] = strongreqs
+
+        # This looks horrific as we are supporting both the old and new formats:
+        tag2prco = { "SUGGEST":    ( misc.share_data("suggests"),
+                                     1156, 1157, 1158, 1 << 27, 0),
+                     "ENHANCE":    ( misc.share_data("enhances"),
+                                     1159, 1160, 1161, 1 << 27, 0),
+                     "RECOMMEND":  ( misc.share_data("recommends"),
+                                     1156, 1157, 1158, 1 << 27, 1 << 27),
+                     "SUPPLEMENT": ( misc.share_data("supplements"),
+                                     1159, 1160, 1161, 1 << 27, 1 << 27) }
+        for tag in tag2prco:
+            (prcotype, oldtagn, oldtagv, oldtagf, andmask, resmask) = tag2prco[tag]
+            name = None
+            if _rpm_has_new_weakdeps:
+                name = hdr[getattr(rpm, 'RPMTAG_%sNAME' % tag)]
+            if not name:
+                name = hdr[oldtagn]
+                if not name:
+                    continue
+                (name, flag, vers) = self._filter_deps(name, hdr[oldtagf], hdr[oldtagv], andmask, resmask)
+            else:
+                flag = hdr[getattr(rpm, 'RPMTAG_%sFLAGS' % tag)]
+                vers = hdr[getattr(rpm, 'RPMTAG_%sVERSION' % tag)]
+            name = map(misc.share_data, name)
+            if not name: # empty or none or whatever, doesn't matter
+                continue
+            self.prco[prcotype] = _end_nfv(name, flag, vers)
     
     def tagByName(self, tag):
         warnings.warn("tagByName() will go away in a furture version of Yum.\n",
@@ -1438,16 +1569,16 @@ class YumHeaderPackage(YumAvailablePackage):
         # then create a _loadChangelog() method to put them into the 
         # self._changelog attr
         if len(self.hdr['changelogname']) > 0:
-            return zip(misc.to_unicode(self.hdr['changelogtime'], errors='replace'),
-                       misc.to_unicode(self.hdr['changelogname'], errors='replace'),
-                       misc.to_unicode(self.hdr['changelogtext'], errors='replace'))
+            return zip(self.hdr['changelogtime'],
+                       self.hdr['changelogname'],
+                       self.hdr['changelogtext'])
         return []
 
     def returnChecksums(self):
         raise NotImplementedError()
 
     def _size(self):
-        return self.hdr['size']
+        return _rpm_long_size_hack(self.hdr, 'size')
 
     def _is_pre_req(self, flag):
         """check the flags for a requirement, return 1 or 0 whether or not requires
@@ -1708,6 +1839,7 @@ class YUMVerifyPackage:
         self._files = {}
 
 
+_last_fnmatch = {}
 class _RPMVerifyPackage(YUMVerifyPackage):
     def __init__(self, po, fi, def_csum_type, patterns, all):
         YUMVerifyPackage.__init__(self, po)
@@ -1720,18 +1852,30 @@ class _RPMVerifyPackage(YUMVerifyPackage):
         (fi, def_csum_type, patterns, all) = self._presetup
         del self._presetup
 
+        global _last_fnmatch
+        _this_fnmatch = {}
         for ft in fi:
             fn = ft[0]
             if patterns:
                 matched = False
                 for p in patterns:
-                    if fnmatch.fnmatch(fn, p):
+                    if p in _last_fnmatch:
+                        match = _last_fnmatch[p]
+                    elif p in _this_fnmatch:
+                        match = _this_fnmatch[p]
+                    else:
+                        match = misc.compile_pattern(p)
+                    _this_fnmatch[p] = match
+
+                    if match(fn):
                         matched = True
                         break
                 if not matched: 
                     continue
 
             self.add(_RPMVerifyPackageFile(fi, ft, def_csum_type, all))
+        if _this_fnmatch:
+            _last_fnmatch = _this_fnmatch
 
     def __contains__(self, *args, **kwargs):
         self._setup()
@@ -1763,7 +1907,8 @@ class YumInstalledPackage(YumHeaderPackage):
             self.yumdb_info = yumdb.get_package(self)
 
     def verify(self, patterns=[], deps=False, script=False,
-               fake_problems=True, all=False, fast=False, callback=None):
+               fake_problems=True, all=False, fast=False, callback=None,
+               failfast=False):
         """verify that the installed files match the packaged checksum
            optionally verify they match only if they are in the 'pattern' list
            returns a tuple """
@@ -1891,17 +2036,22 @@ class YumInstalledPackage(YumHeaderPackage):
                     problems.append(prob)
 
                 my_mode = my_st.st_mode
+                pf_mode = pf.mode
+                perm_mask = 0777
                 if 'ghost' in ftypes: #  This is what rpm does, although it
-                    my_mode &= 0777   # doesn't usually get here.
-                if check_perms and pf.verify_mode and my_mode != pf.mode:
+                    my_mode &= perm_mask   # doesn't usually get here.
+                    pf_mode &= perm_mask
+                if check_perms and pf.verify_mode and my_mode != pf_mode:
                     prob = _PkgVerifyProb('mode', 'mode does not match', ftypes)
-                    prob.database_value = pf.mode
+                    prob.database_value = pf_mode
                     prob.disk_value     = my_st.st_mode
                     problems.append(prob)
 
                 verify_digest = pf.verify_digest
                 if fast and not problems and (my_st_size == pf.size):
                     verify_digest = False
+                if failfast and problems:
+                    verify_digest = False
                 if not pf.digest:
                     verify_digest = False
 
@@ -1946,7 +2096,7 @@ class YumInstalledPackage(YumHeaderPackage):
                             my_csum = digest_type + ':' + my_csum
                             my_st_size = fp.read_size
 
-                    if pf.verify_digest and my_csum != csum:
+                    if pf.verify_digest and my_csum != csum and my_csum:
                         prob = _PkgVerifyProb('checksum',
                                               'checksum does not match', ftypes)
                         prob.database_value = csum
@@ -2120,11 +2270,11 @@ class YumLocalPackage(YumHeaderPackage):
             relpath = self.localpath
 
         if self._baseurl:
-            msg = """<location xml:base="%s" href="%s"/>\n""" % (
+            msg = """  <location xml:base="%s" href="%s"/>\n""" % (
                                      misc.to_xml(self._baseurl, attrib=True),
                                      misc.to_xml(relpath, attrib=True))
         else:
-            msg = """<location href="%s"/>\n""" % misc.to_xml(relpath, attrib=True)
+            msg = """  <location href="%s"/>\n""" % misc.to_xml(relpath, attrib=True)
 
         return msg
 
diff --git a/yum/parser.py b/yum/parser.py
index fccf528..5110cb5 100644
--- a/yum/parser.py
+++ b/yum/parser.py
@@ -18,6 +18,8 @@ def varReplace(raw, vars):
     @return: Input raw string with substituted values.
     '''
 
+    if not vars:
+        return raw
     done = []                      # Completed chunks to return
 
     while raw:
@@ -33,6 +35,7 @@ def varReplace(raw, vars):
 
         start, end = m.span()
         done.append(raw[:start])    # Keep stuff leading up to token
+        replacement = str(replacement) # Allow objects now.
         done.append(replacement)    # Append replacement value
         raw = raw[end:]             # Continue with remainder of string
 
@@ -73,7 +76,11 @@ class ConfigPreProcessor:
         if scheme == '':
             # check it to make sure it's not a relative file url
             if configfile[0] != '/':
-                configfile = os.getcwd() + '/' + configfile
+                try:
+                    rootdir = os.getcwd() + "/"
+                except:
+                    rootdir = "/"
+                configfile = rootdir + configfile
             url = 'file://' + configfile
         else:
             url = configfile
@@ -131,6 +138,7 @@ class ConfigPreProcessor:
                              'Error parsing config %s: include must specify file to include.' % (self.name)
                     else:
                         # whooohoo a valid include line.. push it on the stack
+                        url = varReplace(url, self._vars)
                         fo = self._pushfile( url )
                 else:
                     # check if the current line starts a new section
@@ -151,9 +159,7 @@ class ConfigPreProcessor:
             line = line.lstrip()
         # at this point we have a line from the topmost file on the stack
         # or EOF if the stack is empty
-        if self._vars:
-            return varReplace(line, self._vars)
-        return line
+        return varReplace(line, self._vars)
     
     
     def _absurl( self, url ):
diff --git a/yum/pgpmsg.py b/yum/pgpmsg.py
index ee825c6..dae60c9 100644
--- a/yum/pgpmsg.py
+++ b/yum/pgpmsg.py
@@ -934,7 +934,8 @@ class pgp_certificate(object):
         """load(pkts)
 Initialize the pgp_certificate with a list of OpenPGP packets. The list of packets will
 be scanned to make sure they are valid for a pgp certificate."""
-        
+
+
         # each certificate should begin with a public key packet
         if pkts[0].pkt_typ != CTB_PKT_PK_CERT :
             raise ValueError('first PGP packet should be a public-key packet, not %s' % map_to_str(ctb_pkt_to_str, pkts[0].pkt_typ))
@@ -1093,6 +1094,16 @@ be scanned to make sure they are valid for a pgp certificate."""
                         self.rvkd_subkeys.append(subkey)
                     else :
                         self.subkeys.append(subkey)
+                elif pkts[pkt_idx].pkt_typ == CTB_PKT_SIG :
+
+                    # ok, well at least the type is good, we'll assume the cert is
+                    # revoked
+                    self.revocations.append(pkts[pkt_idx])
+
+                    # increment the pkt_idx to go to the next one
+                    pkt_idx = pkt_idx + 1
+
+                
                 else :
                     break
 
@@ -1234,7 +1245,6 @@ a PGP "certificate" includes a public key, user id(s), and signature.
 
             # ok, the sum looks ok so we'll actually decode the thing
             pkt_list = decode(cert_msg)
-
             # turn it into a real cert
             cert_list = []
             while len(pkt_list) > 0 :
@@ -1283,5 +1293,5 @@ def decode_multiple_keys(msg):
 
 if __name__ == '__main__' :
     import sys
-    for pgp_cert in decode_msg(open(sys.argv[1]).read()) :
+    for pgp_cert in decode_multiple_keys(open(sys.argv[1]).read()) :
         print pgp_cert
diff --git a/yum/pkgtag_db.py b/yum/pkgtag_db.py
index afcc28d..934f246 100644
--- a/yum/pkgtag_db.py
+++ b/yum/pkgtag_db.py
@@ -46,6 +46,7 @@ def catchSqliteException(func):
 
 
 class PackageTagDB(object):
+    @catchSqliteException
     def __init__(self, repoid, sqlite_file):
         self.sqlite_file = sqlite_file
         self.repoid = repoid
diff --git a/yum/plugins.py b/yum/plugins.py
index bfc49b7..f34ea19 100644
--- a/yum/plugins.py
+++ b/yum/plugins.py
@@ -66,9 +66,9 @@ from yum.i18n import utf8_width
 API_VERSION = '2.6'
 
 class DeprecatedInt(int):
-    '''
-    A simple int subclass that used to check when a deprecated constant is used.
-    '''
+    """A simple int subclass that is used to check when a deprecated
+    constant is used.
+    """
 
 # Plugin types
 TYPE_CORE = 0
@@ -84,6 +84,7 @@ SLOT_TO_CONDUIT = {
     'args': 'ArgsPluginConduit',
     'predownload': 'DownloadPluginConduit',
     'postdownload': 'DownloadPluginConduit',
+    'prelistenabledrepos': 'PreRepoSetupPluginConduit',
     'prereposetup': 'PreRepoSetupPluginConduit',
     'postreposetup': 'PostRepoSetupPluginConduit',
     'close': 'PluginConduit',
@@ -105,8 +106,8 @@ SLOT_TO_CONDUIT = {
 SLOTS = sorted(SLOT_TO_CONDUIT.keys())
 
 class PluginYumExit(Exception):
-    '''Used by plugins to signal that yum should stop
-    '''
+    """Exception that can be raised by plugins to signal that yum should stop."""
+
     def __init__(self, value="", translation_domain=""):
         self.value = value
         self.translation_domain = translation_domain
@@ -117,9 +118,7 @@ class PluginYumExit(Exception):
             return self.value
     
 class YumPlugins:
-    '''
-    Manager class for Yum plugins.
-    '''
+    """Manager class for Yum plugins."""
 
     def __init__(self, base, searchpath, optparser=None, types=None, 
             pluginconfpath=None,disabled=None,enabled=None):
@@ -167,8 +166,13 @@ class YumPlugins:
         self.run('config')
 
     def run(self, slotname, **kwargs):
-        '''Run all plugin functions for the given slot.
-        '''
+        """Run all plugin functions for the given slot.
+
+        :param slotname: a string representing the name of the slot to
+           run the plugins for
+        :param kwargs: keyword arguments that will be simply passed on
+           to the plugins
+        """
         # Determine handler class to use
         conduitcls = SLOT_TO_CONDUIT.get(slotname, None)
         if conduitcls is None:
@@ -250,6 +254,16 @@ class YumPlugins:
         dir, modname = os.path.split(modulefile)
         modname = modname.split('.py')[0]
 
+        #  This should really work like enable/disable repo. and be based on the
+        # cmd line order ... but the API doesn't really allow that easily.
+        # FIXME: Fix for 4.* (lol)
+        # Do disabled cmd line checks before loading the module code.
+        if (self._plugin_cmdline_match(modname, self.disabledPlugins,
+                                       self._used_disable_plugin) and
+            not self._plugin_cmdline_match(modname, self.enabledPlugins,
+                                           self._used_enable_plugin)):
+            return
+
         conf = self._getpluginconf(modname)
         if (not conf or
             (not config.getOption(conf, 'main', 'enabled',
@@ -304,15 +318,6 @@ class YumPlugins:
             if plugintype not in types:
                 return
 
-        #  This should really work like enable/disable repo. and be based on the
-        # cmd line order ... but the API doesn't really allow that easily.
-        # FIXME: Fix for 4.*
-        if (self._plugin_cmdline_match(modname, self.disabledPlugins,
-                                       self._used_disable_plugin) and
-            not self._plugin_cmdline_match(modname, self.enabledPlugins,
-                                           self._used_enable_plugin)):
-            return
-
         self.verbose_logger.log(logginglevels.DEBUG_3, _('Loading "%s" plugin'),
                                 modname)
 
@@ -356,23 +361,35 @@ class YumPlugins:
         return parser
 
     def setCmdLine(self, opts, commands):
-        '''Set the parsed command line options so that plugins can access them
-        '''
+        """Set the parsed command line options so that plugins can
+        access them.
+
+        :param opts: a dictionary containing the values of the command
+           line options
+        :param commands: a list of command line arguments passed to yum
+        """
         self.cmdline = (opts, commands)
 
 
 class DummyYumPlugins:
-    '''
-    This class provides basic emulation of the YumPlugins class. It exists so
-    that calls to plugins.run() don't fail if plugins aren't in use.
-    '''
+    """This class provides basic emulation of the :class:`YumPlugins`
+    class. It exists so that calls to plugins.run() don't fail if
+    plugins aren't in use.
+    """
     def run(self, *args, **kwargs):
+        """Do nothing.  All arguments are unused."""
+
         pass
 
     def setCmdLine(self, *args, **kwargs):
+        """Do nothing.  All arguments are unused."""
+
         pass
 
 class PluginConduit:
+    """A conduit class to transfer information between yum and the
+    plugin.
+    """
     def __init__(self, parent, base, conf):
         self._parent = parent
         self._base = base
@@ -382,14 +399,30 @@ class PluginConduit:
         self.verbose_logger = logging.getLogger("yum.verbose.plugin")
 
     def info(self, level, msg):
+        """Send an info message to the logger.
+
+        :param level: the level of the message to send
+        :param msg: the message to send
+        """
         converted_level = logginglevels.logLevelFromDebugLevel(level)
         self.verbose_logger.log(converted_level, msg)
 
     def error(self, level, msg):
+        """Send an error message to the logger.
+
+        :param level: the level of the message to send
+        :param msg: the message to send
+        """
         converted_level = logginglevels.logLevelFromErrorLevel(level)
         self.logger.log(converted_level, msg)
 
     def promptYN(self, msg):
+        """Return a yes or no response, either from assumeyes already
+        being set, or from prompting the user.
+
+        :param msg: the message to prompt the user with
+        :return: 1 if the response is yes, and 0 if the response is no
+        """
         self.info(2, msg)
         if self._base.conf.assumeyes:
             return 1
@@ -397,88 +430,96 @@ class PluginConduit:
             return self._base.userconfirm()
 
     def getYumVersion(self):
+        """Return a string representing the current version of yum."""
+
         import yum
         return yum.__version__
 
     def getOptParser(self):
-        '''Return the optparse.OptionParser instance for this execution of Yum
-
-        In the "config" and "init" slots a plugin may add extra options to this
-        instance to extend the command line options that Yum exposes.
-
-        In all other slots a plugin may only read the OptionParser instance.
-        Any modification of the instance at this point will have no effect. 
-        
-        See the getCmdLine() method for details on how to retrieve the parsed
-        values of command line options.
-
-        @return: the global optparse.OptionParser instance used by Yum. May be
-            None if an OptionParser isn't in use.
-        '''
+        """Return the :class:`optparse.OptionParser` instance for this
+        execution of Yum.  In the "config" and "init" slots a plugin
+        may add extra options to this instance to extend the command
+        line options that Yum exposes.  In all other slots a plugin
+        may only read the :class:`OptionParser` instance.  Any
+        modification of the instance at this point will have no
+        effect.  See the
+        :func:`PreRepoSetupPluginConduit.getCmdLine` method for
+        details on how to retrieve the parsed values of command line
+        options.
+
+        :return: the global :class:`optparse.OptionParser` instance used by
+           Yum. May be None if an OptionParser isn't in use
+        """
         # ' xemacs highlighting hack
         # This isn't API compatible :(
         # return self._parent.optparser.plugin_option_group
         return self._parent.optparser
 
     def confString(self, section, opt, default=None):
-        '''Read a string value from the plugin's own configuration file
+        """Read a string value from the plugin's own configuration file.
 
-        @param section: Configuration file section to read.
-        @param opt: Option name to read.
-        @param default: Value to read if option is missing.
-        @return: String option value read, or default if option was missing.
-        '''
+        :param section: configuration file section to read
+        :param opt: option name to read
+        :param default: value to read if the option is missing
+        :return: string option value read, or default if option was missing
+        """
         # ' xemacs highlighting hack
         return config.getOption(self._conf, section, opt, config.Option(default))
 
     def confInt(self, section, opt, default=None):
-        '''Read an integer value from the plugin's own configuration file
+        """Read an integer value from the plugin's own configuration file.
 
-        @param section: Configuration file section to read.
-        @param opt: Option name to read.
-        @param default: Value to read if option is missing.
-        @return: Integer option value read, or default if option was missing or
-            could not be parsed.
-        '''
+        :param section: configuration file section to read
+        :param opt: option name to read
+        :param default: value to read if the option is missing
+
+        :return: the integer option value read, or *default* if the
+            option was missing or could not be parsed
+        """
         return config.getOption(self._conf, section, opt, config.IntOption(default))
 
     def confFloat(self, section, opt, default=None):
-        '''Read a float value from the plugin's own configuration file
-
-        @param section: Configuration file section to read.
-        @param opt: Option name to read.
-        @param default: Value to read if option is missing.
-        @return: Float option value read, or default if option was missing or
-            could not be parsed.
-        '''
+        """Read a float value from the plugin's own configuration file.
+
+        :param section: configuration file section to read
+        :param opt: option name to read
+        :param default: value to read if the option is missing
+        :return: float option value read, or *default* if the option was
+            missing or could not be parsed
+        """
         return config.getOption(self._conf, section, opt, config.FloatOption(default))
 
     def confBool(self, section, opt, default=None):
-        '''Read a boolean value from the plugin's own configuration file
-
-        @param section: Configuration file section to read.
-        @param opt: Option name to read.
-        @param default: Value to read if option is missing.
-        @return: Boolean option value read, or default if option was missing or
-            could not be parsed.
-        '''
+        """Read a boolean value from the plugin's own configuration file
+
+        :param section: configuration file section to read
+        :param opt: option name to read
+        :param default: value to read if the option is missing
+        :return: boolean option value read, or *default* if the option
+            was missing or could not be parsed
+        """
         return config.getOption(self._conf, section, opt, config.BoolOption(default))
 
     def registerPackageName(self, name):
+        """Register the name of a package to use.
+
+        :param name: the name of the package to register
+        """
         self._base.run_with_package_names.add(name)
 
 
 class ConfigPluginConduit(PluginConduit):
+    """A conduit for use in the config slot."""
 
     def registerOpt(self, name, valuetype, where, default):
-        '''Register a yum configuration file option.
-
-        @param name: Name of the new option.
-        @param valuetype: Option type (PLUG_OPT_BOOL, PLUG_OPT_STRING ...)
-        @param where: Where the option should be available in the config file.
-            (PLUG_OPT_WHERE_MAIN, PLUG_OPT_WHERE_REPO, ...)
-        @param default: Default value for the option if not set by the user.
-        '''
+        """Deprecated.  Register a yum configuration file option.
+
+        :param name: name of the new option
+        :param valuetype: option type (PLUG_OPT_BOOL, PLUG_OPT_STRING, etc.)
+        :param where: where the option should be available in the config file
+            (PLUG_OPT_WHERE_MAIN, PLUG_OPT_WHERE_REPO, etc)
+        :param default: default value for the option if it is not set by the user
+        """
         warnings.warn('registerOpt() will go away in a future version of Yum.\n'
                 'Please manipulate config.YumConf and config.RepoConf directly.',
                 DeprecationWarning)
@@ -502,64 +543,93 @@ class ConfigPluginConduit(PluginConduit):
             setattr(config.RepoConf, name, config.Inherit(option))
 
     def registerCommand(self, command):
+        """Register a new command.
+
+        :param command: the command to register
+        :raises: :class:`yum.Errors.ConfigError` if the registration
+           of commands is not supported
+        """
         if hasattr(self._base, 'registerCommand'):
             self._base.registerCommand(command)
         else:
             raise Errors.ConfigError(_('registration of commands not supported'))
 
 class PostConfigPluginConduit(ConfigPluginConduit):
+    """Conduit for use in the postconfig slot."""
 
     def getConf(self):
+        """Return a dictionary containing the values of the
+        configuration options.
+
+        :return: a dictionary containing the values of the
+           configuration options
+        """
         return self._base.conf
 
 class InitPluginConduit(PluginConduit):
+    """Conduit for use in the init slot."""
 
     def getConf(self):
+        """Return a dictionary containing the values of the
+        configuration options.
+
+        :return: a dictionary containing the values of the
+           configuration options
+        """
         return self._base.conf
 
     def getRepos(self):
-        '''Return Yum's container object for all configured repositories.
+        """Return Yum's container object for all configured repositories.
 
-        @return: Yum's RepoStorage instance
-        '''
+        :return: Yum's :class:`yum.repos.RepoStorage` instance
+        """
         return self._base.repos
 
 class ArgsPluginConduit(InitPluginConduit):
+    """Conduit for dealing with command line arguments."""
 
     def __init__(self, parent, base, conf, args):
         InitPluginConduit.__init__(self, parent, base, conf)
         self._args = args
 
     def getArgs(self):
+        """Return a list of the command line arguments passed to yum.
+
+        :return: a list of the command line arguments passed to yum
+        """
         return self._args
 
 class PreRepoSetupPluginConduit(InitPluginConduit):
+    """Conduit for use in the prererosetup slot."""
+
 
     def getCmdLine(self):
-        '''Return parsed command line options.
+        """Return parsed command line options.
 
-        @return: (options, commands) as returned by OptionParser.parse_args()
-        '''
+        :return: (options, commands) as returned by :class:`OptionParser.parse_args()`
+        """
         return self._parent.cmdline
 
     def getRpmDB(self):
-        '''Return a representation of local RPM database. This allows querying
-        of installed packages.
+        """Return a representation of the local RPM database. This
+        allows querying of installed packages.
 
-        @return: rpmUtils.RpmDBHolder instance
-        '''
+        :return: a :class:`yum.rpmUtils.RpmDBHolder` instance
+        """
         return self._base.rpmdb
 
 class PostRepoSetupPluginConduit(PreRepoSetupPluginConduit):
+    """Conduit for use in the postreposetup slot."""
 
     def getGroups(self):
-        '''Return group information.
+        """Return group information.
 
-        @return: yum.comps.Comps instance
-        '''
+        :return: :class:`yum.comps.Comps` instance
+        """
         return self._base.comps
 
 class DownloadPluginConduit(PostRepoSetupPluginConduit):
+    """Conduit for use in the download slots."""
 
     def __init__(self, parent, base, conf, pkglist, errors=None):
         PostRepoSetupPluginConduit.__init__(self, parent, base, conf)
@@ -567,24 +637,35 @@ class DownloadPluginConduit(PostRepoSetupPluginConduit):
         self._errors = errors
 
     def getDownloadPackages(self):
-        '''Return a list of package objects representing packages to be
+        """Return a list of package objects representing packages to be
         downloaded.
-        '''
+
+        :return: a list of package object representing packages to be
+           downloaded
+        """
         return self._pkglist
 
     def getErrors(self):
-        '''Return a dictionary of download errors. 
+        """Return a dictionary of download errors. 
         
-        The returned dictionary is indexed by package object. Each element is a
-        list of strings describing the error.
-        '''
+        :return: a dictionary of download errors. This dictionary is
+           indexed by package object. Each element is a list of
+           strings describing the error
+        """
         if not self._errors:
             return {}
         return self._errors
 
 class MainPluginConduit(PostRepoSetupPluginConduit):
-
+    """Main conduit class for plugins.  Many other conduit classes
+    will inherit from this class.
+    """
     def getPackages(self, repo=None):
+        """Return a list of packages.
+
+        :param repo: the repo to return a packages from
+        :return: a list of package objects
+        """
         if repo:
             arg = repo.id
         else:
@@ -592,50 +673,76 @@ class MainPluginConduit(PostRepoSetupPluginConduit):
         return self._base.pkgSack.returnPackages(arg)
 
     def getPackageByNevra(self, nevra):
-        '''Retrieve a package object from the packages loaded by Yum using
-        nevra information 
+        """Retrieve a package object from the packages loaded by Yum using
+        nevra information.
         
-        @param nevra: A tuple holding (name, epoch, version, release, arch)
+        :param nevra: a tuple holding (name, epoch, version, release, arch)
             for a package
-        @return: A PackageObject instance (or subclass)
-        '''
+        :return: a :class:`yum.packages.PackageObject` instance (or subclass)
+        """
         return self._base.getPackageObject(nevra)
 
     def delPackage(self, po):
+        """Delete the given package from the package sack.
+
+        :param po: the package object to delete
+        """
         po.repo.sack.delPackage(po)
 
     def getTsInfo(self):
+        """Return transaction set.
+
+        :return: the transaction set
+        """
         return self._base.tsInfo
 
 class DepsolvePluginConduit(MainPluginConduit):
+    """Conduit for use in solving dependencies."""
+
     def __init__(self, parent, base, conf, rescode=None, restring=[]):
         MainPluginConduit.__init__(self, parent, base, conf)
         self.resultcode = rescode
         self.resultstring = restring
 
 class CompareProvidersPluginConduit(MainPluginConduit):
+    """Conduit to compare different providers of packages."""
+
     def __init__(self, parent, base, conf, providers_dict={}, reqpo=None):
         MainPluginConduit.__init__(self, parent, base, conf)
         self.packages = providers_dict
         self.reqpo = reqpo
 
 class HistoryPluginConduit(MainPluginConduit):
+    """Conduit to access information about the yum history."""
+
     def __init__(self, parent, base, conf, rescode=None, restring=[]):
         MainPluginConduit.__init__(self, parent, base, conf)
         self.history = self._base.history
 
 class VerifyPluginConduit(MainPluginConduit):
+    """Conduit to verify packages."""
+
     def __init__(self, parent, base, conf, verify_package):
         MainPluginConduit.__init__(self, parent, base, conf)
         self.verify_package = verify_package
 
 def parsever(apiver):
+    """Parse a string representing an api version.
+
+    :param apiver: a string representing an api version
+    :return: a tuple containing the major and minor version numbers
+    """
     maj, min = apiver.split('.')
     return int(maj), int(min)
 
 def apiverok(a, b):
-    '''Return true if API version "a" supports API version "b"
-    '''
+    """Return true if API version "a" supports API version "b"
+
+    :param a: a string representing an api version
+    :param b: a string representing an api version
+
+    :return: whether version *a* supports version *b*
+    """
     a = parsever(a)
     b = parsever(b)
 
diff --git a/yum/repoMDObject.py b/yum/repoMDObject.py
index 31b1080..5055e64 100755
--- a/yum/repoMDObject.py
+++ b/yum/repoMDObject.py
@@ -15,6 +15,7 @@
 # Copyright 2006 Duke University
 
 from yum.misc import cElementTree_iterparse as iterparse 
+from yum.misc import _available_compression, stat_f
 from Errors import RepoMDError
 
 import sys
@@ -38,6 +39,7 @@ class RepoData:
         self.dbversion = None
         self.size      = None
         self.opensize  = None
+        self.deltas    = []
 
         if elem:
             self.parse(elem)
@@ -69,6 +71,10 @@ class RepoData:
                 self.size = child.text
             elif child_name == 'open-size':
                 self.opensize = child.text
+            elif child_name == 'delta':
+                delta = RepoData(child)
+                delta.type = self.type
+                self.deltas.append(delta)
 
     def dump_xml(self):
         msg = ""
@@ -102,10 +108,21 @@ class RepoData:
                                                  xmlname)
                 msg += d_xml
 
+        for delta in self.deltas:
+            # change tag to "delta" and increase indent
+            body = '\n  '.join(delta.dump_xml().split('\n')[1:-2])
+            msg += '  <delta>\n  %s\n  </delta>\n' % body
+
         bottom = """</data>\n"""
         msg += bottom
         return msg
         
+    def getDelta(self, old_timestamp):
+        old_timestamp = int(old_timestamp)
+        for deltamd in self.deltas:
+            if int(deltamd.timestamp) <= old_timestamp:
+                return deltamd
+
 class RepoMD:
     """represents the repomd xml file"""
     
@@ -133,6 +150,7 @@ class RepoMD:
         else:
             # srcfile is a file object
             infile = srcfile
+            srcfile = None
 
         # We trust any of these to mean the repomd.xml is valid.
         infile = AutoFileChecksums(infile, ['sha256', 'sha512'],
@@ -145,8 +163,18 @@ class RepoMD:
                 
                 if elem_name == "data":
                     thisdata = RepoData(elem=elem)
+                    old = self.repoData.get(thisdata.type)
+                    if (old and old.size and old.size < thisdata.size
+                        and old.location[1].rsplit('.', 1)[1] in _available_compression
+                        and srcfile and stat_f(srcfile.rsplit('/', 1)[0] +'/'+
+                                               thisdata.location[1].rsplit('/', 1)[1]) is None):
+                        # previous is smaller, can unzip it, and next is not cached
+                        thisdata = old
                     self.repoData[thisdata.type] = thisdata
                     try:
+                        # NOTE: This will fail on float timestamps, this is
+                        # required for compatibility. Fix is to not generate
+                        # float timestamps in repomd.xml.
                         nts = int(thisdata.timestamp)
                         if nts > self.timestamp: # max() not in old python
                             self.timestamp = nts
@@ -225,13 +253,19 @@ class RepoMD:
             for item in self.tags['repo']:
                 tag = """   <repo>%s</repo>\n""" % (to_xml(item))
                 tags += tag
-            for (cpeid, item) in self.tags['distro']:
-                itemlist = list(item) # frellingsets.
+            distro = self.tags['distro']
+            if isinstance(distro, dict):
+                lst = []
+                for cpeid in sorted(distro):
+                    for item in sorted(distro[cpeid]):
+                        lst.append((cpeid, item))
+                distro = lst
+            for (cpeid, item) in distro:
                 if cpeid:
                     tag = """   <distro cpeid="%s">%s</distro>\n""" % (
-                                to_xml(cpeid, attrib=True), to_xml(itemlist[0]))
+                                to_xml(cpeid, attrib=True), to_xml(item))
                 else:
-                    tag = """   <distro>%s</distro>\n""" % (to_xml(itemlist[0]))
+                    tag = """   <distro>%s</distro>\n""" % (to_xml(item))
                 tags += tag
             tags += """ </tags>\n"""
             msg += tags
diff --git a/yum/repos.py b/yum/repos.py
index 3793bad..d5e50ac 100644
--- a/yum/repos.py
+++ b/yum/repos.py
@@ -15,13 +15,14 @@
 # Copyright 2004 Duke University 
 
 import re
-import fnmatch
 import types
 import logging
 import misc
+import os
 
 import Errors
 from packageSack import MetaSack
+import urlgrabber.grabber
 
 from weakref import proxy as weakref
 
@@ -29,7 +30,7 @@ class _wrap_ayum_getKeyForRepo:
     """ This is a wrapper for calling YumBase.getKeyForRepo() because
         otherwise we take a real reference through the bound method and
         that is d00m (this applies to YumBase and RepoStorage, hence why
-        we have a seperate class).
+        we have a separate class).
         A "better" fix might be to explicitly pass the YumBase instance to
         the callback ... API change! """
     def __init__(self, ayum, ca=False):
@@ -67,8 +68,57 @@ class RepoStorage:
         self._cache_enabled_repos = []
         self.quick_enable_disable = {}
 
+        #  This allows plugins to setup a repo. just before the first
+        # listEnabled() call.
+        self._list_enabled_hasrun = False
+
+    def retrieveAllMD(self):
+        """ Download metadata for all enabled repositories,
+            based on mdpolicy.
+        """
+
+        if not hasattr(urlgrabber.grabber, 'parallel_wait'):
+            return
+
+        repos = []
+        for repo in self.listEnabled():
+            if repo.cache:
+                continue
+            try:
+                dl = repo._async and repo._commonLoadRepoXML(repo)
+            except Errors.RepoError, e:
+                if not repo.skip_if_unavailable:
+                    raise
+                self.disableRepo(repo.id)
+                dl = False
+            if dl:
+                mdtypes = repo._mdpolicy2mdtypes()
+                downloading = repo._commonRetrieveDataMD_list(mdtypes)
+                repos.append((repo, downloading, [False]))
+
+        # with sizes first, then without sizes..
+        for no_size in (False, True):
+            for repo, downloading, error in repos:
+                def failfunc(obj, error=error):
+                    error[0] = True
+                for (ndata, nmdtype) in downloading:
+                    if (ndata.size is None) == no_size:
+                        repo._retrieveMD(nmdtype, async=True, failfunc=failfunc)
+            urlgrabber.grabber.parallel_wait()
+
+        # done or revert
+        for repo, downloading, error in repos:
+            if error[0]: # some MD failed?
+                repo._revertOldRepoXML()
+            else:
+                repo._commonRetrieveDataMD_done(downloading)
+
     def doSetup(self, thisrepo = None):
         
+        if thisrepo is None:
+            # Just in case the prelistenabledrepos plugin point hasn't run.
+            self.listEnabled()
+
         self.ayum.plugins.run('prereposetup')
         
         if thisrepo is None:
@@ -79,6 +129,17 @@ class RepoStorage:
         if len(repos) < 1:
             self.logger.debug('No Repositories Available to Set Up')
 
+        if hasattr(urlgrabber.grabber, 'pycurl'):
+            # Must do basename checking, on cert. files...
+            cert_basenames = {}
+            for repo in self.listEnabled():
+                if repo.sslclientcert:
+                    bn = os.path.basename(repo.sslclientcert)
+                    other = cert_basenames.setdefault(bn, repo)
+                    if repo.sslclientcert != other.sslclientcert:
+                        msg = 'sslclientcert basename shared between %s and %s'
+                        raise Errors.ConfigError, msg % (repo, other)
+
         for repo in repos:
             repo.setup(self.ayum.conf.cache, self.ayum.mediagrabber,
                    gpg_import_func = self.gpg_import_func, confirm_func=self.confirm_func,
@@ -87,8 +148,13 @@ class RepoStorage:
             # so nothing else touches us
             if not repo.enabled:
                 self.disableRepo(repo.id)
+            else:
+                pkgdir = getattr(self.ayum.conf, 'downloaddir', None)
+                if pkgdir:
+                    repo.pkgdir = pkgdir
                 
         self._setup = True
+        self.retrieveAllMD()
         self.ayum.plugins.run('postreposetup')
         
     def __str__(self):
@@ -135,17 +201,25 @@ class RepoStorage:
             raise Errors.RepoError, \
                 'Error getting repository data for %s, repository not found' % (repoid)
 
-    def findRepos(self,pattern):
-        """find all repositories matching fnmatch `pattern`"""
+    def findRepos(self, pattern, name_match=False, ignore_case=False):
+        """ Find all repositories matching fnmatch `pattern` on the repo.id,
+            can also do case insensitive searches and/or search on the name."""
+
+        if pattern in self.repos: # Minor opt. as we do this a lot...
+            return [self.repos[pattern]]
 
         result = []
         
         for item in pattern.split(','):
             item = item.strip()
-            match = re.compile(fnmatch.translate(item)).match
+            match = misc.compile_pattern(item.strip(), ignore_case)
             for name,repo in self.repos.items():
-                if match(name):
+                assert name == repo.id
+                if match(name) or match(repo.ui_id):
+                    result.append(repo)
+                elif name_match and match(repo.name):
                     result.append(repo)
+
         return result
         
     def disableRepo(self, repoid):
@@ -187,6 +261,10 @@ class RepoStorage:
     def listEnabled(self):
         """return list of enabled repo objects"""
 
+        if not self._list_enabled_hasrun:
+            self.ayum.plugins.run('prelistenabledrepos')
+            self._list_enabled_hasrun = True
+
         if (self._cache_enabled_repos is not None and
             not self.quick_enable_disable):
             return self._cache_enabled_repos
@@ -223,15 +301,16 @@ class RepoStorage:
         
         self._cachedir = cachedir
         for repo in self.repos.values():
-            repo.old_base_cache_dir = repo.basecachedir
-            repo.basecachedir = cachedir
+            if cachedir != repo.basecachedir:
+                repo.old_base_cache_dir = repo.basecachedir
+                repo.basecachedir = cachedir
 
 
-    def setProgressBar(self, obj):
+    def setProgressBar(self, obj, multi_obj=None):
         """sets the progress bar for downloading files from repos"""
         
         for repo in self.repos.values():
-            repo.setCallback(obj)
+            repo.setCallback(obj, multi_obj)
 
     def setFailureCallback(self, obj):
         """sets the failure callback for all repos"""
@@ -288,6 +367,16 @@ class RepoStorage:
         else:
             data = [ mdtype ]
          
+        if hasattr(urlgrabber.grabber, 'parallel_wait'):
+            # download all metadata in parallel
+            for repo in myrepos:
+                if repo.cache:
+                    continue
+                if repo._async:
+                    sack = repo.getPackageSack()
+                    sack._retrieve_async(repo, data)
+            urlgrabber.grabber.parallel_wait()
+
         for repo in myrepos:
             sack = repo.getPackageSack()
             try:
@@ -329,6 +418,11 @@ class Repository:
     def __del__(self):
         self.close()
 
+    def _ui_id(self):
+        """ Show self.id, so we can use it and override it. """
+        return self.id
+    ui_id = property(_ui_id)
+
     def close(self):
         pass
 
diff --git a/yum/rpmsack.py b/yum/rpmsack.py
index e289a7a..138e53f 100644
--- a/yum/rpmsack.py
+++ b/yum/rpmsack.py
@@ -48,6 +48,17 @@ def _open_no_umask(*args):
 
     return ret
 
+def _makedirs_no_umask(*args):
+    """ Annoying people like to set umask's for root, which screws everything
+        up for user readable stuff. """
+    oumask = os.umask(022)
+    try:
+        ret = os.makedirs(*args)
+    finally:
+        os.umask(oumask)
+
+    return ret
+
 def _iopen(*args):
     """ IOError wrapper BS for open, stupid exceptions. """
     try:
@@ -119,7 +130,7 @@ class RPMInstalledPackage(YumInstalledPackage):
 
     def required_packages(self):
         pkgset = set()
-        for (reqn, reqf, reqevr) in self.requires:
+        for (reqn, reqf, reqevr) in self.strong_requires:
             for pkg in self.rpmdb.getProvides(reqn, reqf, reqevr):
                 if pkg != self:
                     pkgset.add(pkg)
@@ -222,6 +233,11 @@ class RPMDBPackageSack(PackageSackBase):
             self._persistdir = root +  '/' + persistdir
         else:
             self._persistdir = persistdir
+        if hasattr(rpm, 'expandMacro'):
+            dbpath = rpm.expandMacro('%_dbpath')
+        else:
+            dbpath = '/var/lib/rpm'
+        self._rpmdbpath = os.path.normpath(root + '/' + dbpath)
         self._have_cached_rpmdbv_data = None
         self._cached_conflicts_data = None
         # Store the result of what happens, if a transaction completes.
@@ -325,7 +341,7 @@ class RPMDBPackageSack(PackageSackBase):
 
         #  We are keeping some data from before, and sometimes (Eg. remove only)
         # we never open the rpmdb again ... so get the mtime now.
-        rpmdbfname  = self.root + "/var/lib/rpm/Packages"
+        rpmdbfname  = self._rpmdbpath + "/Packages"
         self._cached_rpmdb_mtime = os.path.getmtime(rpmdbfname)
 
         def _safe_del(x, y):
@@ -364,7 +380,8 @@ class RPMDBPackageSack(PackageSackBase):
             pkg = self.searchNevra(n, e, v, r, a)
             if not pkg:
                 # Wibble?
-                self._deal_with_bad_rpmdbcache("dCDPT(pkg checksums)")
+                self._deal_with_bad_rpmdbcache("dCDPT(pkg checksums): %s" %
+                                               txmbr)
                 continue
 
             pkg = pkg[0]
@@ -387,7 +404,7 @@ class RPMDBPackageSack(PackageSackBase):
         else:
             self._cachedir = '/' + cachedir
 
-        if hasattr(self, 'yumdb'): # Need to keep this upto date, after init.
+        if hasattr(self, 'yumdb'): # Need to keep this up to date, after init.
             version_path = os.path.normpath(self._cachedir + '/version')
             self.yumdb.conf.version_path = version_path
 
@@ -534,13 +551,11 @@ class RPMDBPackageSack(PackageSackBase):
             qpat = pat[0]
             if qpat in ('?', '*', '['):
                 qpat = None
-            if ignore_case:
-                if qpat is not None:
-                    qpat = qpat.lower()
-                ret.append((qpat, re.compile(fnmatch.translate(pat), re.I)))
-            else:
-                ret.append((qpat, re.compile(fnmatch.translate(pat))))
+            elif ignore_case:
+                qpat = qpat.lower()
+            ret.append((qpat, misc.compile_pattern(pat, ignore_case)))
         return ret
+
     @staticmethod
     def _match_repattern(repatterns, hdr, ignore_case):
         """ This is basically parsePackages() but for rpm hdr objects. """
@@ -558,20 +573,20 @@ class RPMDBPackageSack(PackageSackBase):
                 qname = qname.lower()
             if qpat is not None and qpat != qname and qpat != epoch[0]:
                 continue
-            if repat.match(hdr['name']):
+            if repat(hdr['name']):
                 return True
-            if repat.match("%(name)s-%(version)s-%(release)s.%(arch)s" % hdr):
+            if repat("%(name)s-%(version)s-%(release)s.%(arch)s" % hdr):
                 return True
-            if repat.match("%(name)s.%(arch)s" % hdr):
+            if repat("%(name)s.%(arch)s" % hdr):
                 return True
-            if repat.match("%(name)s-%(version)s" % hdr):
+            if repat("%(name)s-%(version)s" % hdr):
                 return True
-            if repat.match("%(name)s-%(version)s-%(release)s" % hdr):
+            if repat("%(name)s-%(version)s-%(release)s" % hdr):
                 return True
-            if repat.match(epoch + ":%(name)s-%(version)s-%(release)s.%(arch)s"
+            if repat(epoch + ":%(name)s-%(version)s-%(release)s.%(arch)s"
                            % hdr):
                 return True
-            if repat.match("%(name)s-%(epoch)s:%(version)s-%(release)s.%(arch)s"
+            if repat(("%(name)s-" + epoch + ":%(version)s-%(release)s.%(arch)s")
                            % hdr):
                 return True
         return False
@@ -592,7 +607,23 @@ class RPMDBPackageSack(PackageSackBase):
                 # will pick up any loads :)
                 pkgs = self.searchNames([pat])
                 if not pkgs:
-                    break
+                    # We need to do a big search for 'pkg*'
+                    if misc.re_glob(pat):
+                        break
+                    # We need to do a big search for 'pkg-1.2'
+                    if '-' in pat:
+                        break
+                    # We need to do a big search for 'pkg.noarch'
+                    if '.' in pat:
+                        break
+                    #  We don't need to do a big search for '0:pkg', because
+                    # <en> isn't possible ... and envra matches the above.
+                    # if ':' in pat:
+                    #    break
+
+                    #  At this point we have just found something that doesn't
+                    # match, like "yum list zzuf" ... we don't want this to take
+                    # the much slower path.
                 ret.extend(pkgs)
             else:
                 return ret
@@ -616,7 +647,7 @@ class RPMDBPackageSack(PackageSackBase):
             for hdr, idx in self._get_packages():
                 if self._match_repattern(rpats, hdr, ignore_case):
                     self._makePackageObject(hdr, idx)
-            self._completely_loaded = patterns is None
+            self._completely_loaded = rpats is None
 
         pkgobjlist = self._idx2pkg.values()
         # Remove gpg-pubkeys, as no sane callers expects/likes them...
@@ -680,11 +711,56 @@ class RPMDBPackageSack(PackageSackBase):
         rpmdbv = self.simpleVersion(main_only=True)[0]
         self._write_conflicts_new(pkgs, rpmdbv)
 
+    def _uncached_returnObsoletePackages(self):
+        """ Load the packages which have obsoletes from the rpmdb, this is
+            needed because newer rpm's have obsoletes imply conflicts. """
+
+        if self._cached_obsoletes_data is None:
+            result = {}
+
+            for hdr, idx in self._get_packages('obsoletename'):
+                if not hdr[rpm.RPMTAG_OBSOLETENAME]:
+                    # Pre. rpm-4.9.x the above dbMatch() does nothing.
+                    continue
+
+                po = self._makePackageObject(hdr, idx)
+                result[po.pkgid] = po
+                if po._has_hdr:
+                    continue # Unlikely, but, meh...
+
+                po.hdr = hdr
+                po._has_hdr = True
+                po.obsoletes
+                po._has_hdr = False
+                del po.hdr
+            self._cached_obsoletes_data = result.values()
+
+        return self._cached_obsoletes_data
+
+    def _write_obsoletes_new(self, pkgs, rpmdbv):
+        if not os.access(self._cachedir, os.W_OK):
+            return
+
+        obsoletes_fname = self._cachedir + '/obsoletes'
+        fo = _open_no_umask(obsoletes_fname + '.tmp', 'w')
+        fo.write("%s\n" % rpmdbv)
+        fo.write("%u\n" % len(pkgs))
+        for pkg in sorted(pkgs):
+            for var in pkg.pkgtup:
+                fo.write("%s\n" % var)
+        fo.close()
+        os.rename(obsoletes_fname + '.tmp', obsoletes_fname)
+
+    def _write_obsoletes(self, pkgs):
+        rpmdbv = self.simpleVersion(main_only=True)[0]
+        self._write_obsoletes_new(pkgs, rpmdbv)
+
     def _deal_with_bad_rpmdbcache(self, caller):
         """ This shouldn't be called, but people are hitting weird stuff so
             we want to deal with it so it doesn't stay broken "forever". """
         misc.unlink_f(self._cachedir + "/version")
         misc.unlink_f(self._cachedir + '/conflicts')
+        misc.unlink_f(self._cachedir + '/obsoletes')
         misc.unlink_f(self._cachedir + '/file-requires')
         misc.unlink_f(self._cachedir + '/pkgtups-checksums')
         #  We have a couple of options here, we can:
@@ -701,15 +777,15 @@ class RPMDBPackageSack(PackageSackBase):
         if __debug__:
             raise Errors.PackageSackError, 'Rpmdb checksum is invalid: %s' % caller
 
-    def _read_conflicts(self):
+    def _read_pkglist(self, fname):
         if not self.__cache_rpmdb__:
             return None
 
         def _read_str(fo):
             return fo.readline()[:-1]
 
-        conflict_fname = self._cachedir + '/conflicts'
-        fo, e = _iopen(conflict_fname)
+        full_fname = self._cachedir + '/' + fname
+        fo, e = _iopen(full_fname)
         if fo is None:
             return None
         frpmdbv = fo.readline()
@@ -719,7 +795,7 @@ class RPMDBPackageSack(PackageSackBase):
 
         ret = []
         try:
-            # Read the conflicts...
+            # Read the pkgs...
             pkgtups_num = int(_read_str(fo))
             while pkgtups_num > 0:
                 pkgtups_num -= 1
@@ -732,10 +808,13 @@ class RPMDBPackageSack(PackageSackBase):
             if fo.readline() != '': # Should be EOF
                 return None
         except ValueError:
-            self._deal_with_bad_rpmdbcache("conflicts")
+            self._deal_with_bad_rpmdbcache(fname)
             return None
 
-        self._cached_conflicts_data = ret
+        return ret
+
+    def _read_conflicts(self):
+        self._cached_conflicts_data = self._read_pkglist("conflicts")
         return self._cached_conflicts_data
 
     def transactionCacheConflictPackages(self, pkgs):
@@ -752,6 +831,24 @@ class RPMDBPackageSack(PackageSackBase):
 
         return pkgs
 
+    def transactionCacheObsoletePackages(self, pkgs):
+        if self.__cache_rpmdb__:
+            self._trans_cache_store['obsoletes'] = pkgs
+
+    def _read_obsoletes(self):
+        self._cached_obsoletes_data = self._read_pkglist("obsoletes")
+        return self._cached_obsoletes_data
+
+    def returnObsoletePackages(self):
+        """ Return a list of packages that have obsoletes. """
+        pkgs = self._read_obsoletes()
+        if pkgs is None:
+            pkgs = self._uncached_returnObsoletePackages()
+            if self.__cache_rpmdb__:
+                self._write_obsoletes(pkgs)
+
+        return pkgs
+
     def transactionResultVersion(self, rpmdbv):
         """ We are going to do a transaction, and the parameter will be the
             rpmdb version when we finish. The idea being we can update all
@@ -765,6 +862,10 @@ class RPMDBPackageSack(PackageSackBase):
             pkgs = self._trans_cache_store['conflicts']
             self._write_conflicts_new(pkgs, rpmdbv)
 
+        if 'obsoletes' in self._trans_cache_store:
+            pkgs = self._trans_cache_store['obsoletes']
+            self._write_obsoletes_new(pkgs, rpmdbv)
+
         if 'file-requires' in self._trans_cache_store:
             data = self._trans_cache_store['file-requires']
             self._write_file_requires(rpmdbv, data)
@@ -993,7 +1094,7 @@ class RPMDBPackageSack(PackageSackBase):
             return
 
         if not load_packages:
-             return checksum_data
+            return checksum_data
 
         for pkgtup in checksum_data:
             if checksum_data[pkgtup] is None:
@@ -1002,7 +1103,8 @@ class RPMDBPackageSack(PackageSackBase):
             (n, a, e, v, r) = pkgtup
             pkg = self.searchNevra(n, e, v, r, a)
             if not pkg:
-                self._deal_with_bad_rpmdbcache("pkg checksums")
+                self._deal_with_bad_rpmdbcache("pkg checksums: %s-%s:%s-%s.%s" %
+                                               (n, e, v, r, a))
                 continue
             pkg = pkg[0]
             (T, D) = checksum_data[pkgtup]
@@ -1049,7 +1151,7 @@ class RPMDBPackageSack(PackageSackBase):
         # http://lists.rpm.org/pipermail/rpm-maint/2007-November/001719.html
         # ...if anything gets implemented, we should change.
         rpmdbvfname = self._cachedir + "/version"
-        rpmdbfname  = self.root + "/var/lib/rpm/Packages"
+        rpmdbfname  = self._rpmdbpath + "/Packages"
 
         if os.path.exists(rpmdbvfname) and os.path.exists(rpmdbfname):
             # See if rpmdb has "changed" ...
@@ -1072,7 +1174,7 @@ class RPMDBPackageSack(PackageSackBase):
         if self._cached_rpmdb_mtime is None:
             return # We haven't loaded any packages!!!
 
-        rpmdbfname  = self.root + "/var/lib/rpm/Packages"
+        rpmdbfname  = self._rpmdbpath + "/Packages"
         if not os.path.exists(rpmdbfname):
             return # haha
 
@@ -1088,7 +1190,7 @@ class RPMDBPackageSack(PackageSackBase):
                 return
 
             try:
-                os.makedirs(self._cachedir)
+                _makedirs_no_umask(self._cachedir)
             except (IOError, OSError), e:
                 return
 
@@ -1223,7 +1325,7 @@ class RPMDBPackageSack(PackageSackBase):
                 if not pkgs:
                     self._pkgname_fails.add(name)
             else:
-                pkgs = self.returnPkgs()
+                pkgs = self.returnPackages()
             for po in pkgs:
                 for tag in ('arch', 'rel', 'ver', 'epoch'):
                     if loc[tag] is not None and loc[tag] != getattr(po, tag):
@@ -1268,7 +1370,7 @@ class RPMDBPackageSack(PackageSackBase):
         self._name2pkg.setdefault(po.name, []).append(po)
         self._tup2pkg[po.pkgtup] = po
         if self.__cache_rpmdb__ and self._cached_rpmdb_mtime is None:
-            rpmdbfname  = self.root + "/var/lib/rpm/Packages"
+            rpmdbfname  = self._rpmdbpath + "/Packages"
             self._cached_rpmdb_mtime = os.path.getmtime(rpmdbfname)
 
         return po
@@ -1456,7 +1558,7 @@ class RPMDBPackageSack(PackageSackBase):
         providers = set() # Speedup, as usual :)
         problems = []
         for pkg in sorted(pkgs): # The sort here is mainly for "UI"
-            for rreq in pkg.requires:
+            for rreq in pkg.strong_requires:
                 if rreq[0].startswith('rpmlib'): continue
                 if rreq in providers:            continue
 
@@ -1481,6 +1583,8 @@ class RPMDBPackageSack(PackageSackBase):
                 prob = RPMDBProblemDependency(pkg, "conflicts", found=found,
                                               conflicts=res)
                 problems.append(prob)
+
+            # Note that obsoletes are checked separately, and are name only.
         return problems
 
     def _iter_two_pkgs(self, ignore_provides):
@@ -1562,11 +1666,11 @@ class RPMDBAdditionalData(object):
         self._packages = {} # pkgid = dir
         if not os.path.exists(self.conf.db_path):
             try:
-                os.makedirs(self.conf.db_path)
+                _makedirs_no_umask(self.conf.db_path)
+                self.conf.writable = True
             except (IOError, OSError), e:
                 # some sort of useful thing here? A warning?
-                return
-            self.conf.writable = True
+                pass
         else:
             if os.access(self.conf.db_path, os.W_OK):
                 self.conf.writable = True
@@ -1622,6 +1726,7 @@ class RPMDBAdditionalDataPackage(object):
                                 'installed_by', 'changed_by',
                                 'from_repo', 'from_repo_revision',
                                 'from_repo_timestamp', 'releasever',
+                                'group_member',
                                 'command_line'])
 
     def __init__(self, conf, pkgdir, yumdb_cache=None):
@@ -1706,9 +1811,11 @@ class RPMDBAdditionalDataPackage(object):
         return os.path.normpath(self._mydir + '/' + attr)
 
     def _write(self, attr, value):
+        value = str(value)
+
         # check for self._conf.writable before going on?
         if not os.path.exists(self._mydir):
-            os.makedirs(self._mydir)
+            _makedirs_no_umask(self._mydir)
 
         attr = _sanitize(attr)
         if attr in self._read_cached_data:
@@ -1753,7 +1860,7 @@ class RPMDBAdditionalDataPackage(object):
         if attr.endswith('.tmp'):
             raise AttributeError, "%s has no attribute %s" % (self, attr)
 
-        info = misc.stat_f(fn)
+        info = misc.stat_f(fn, ignore_EACCES=True)
         if info is None:
             raise AttributeError, "%s has no attribute %s" % (self, attr)
 
diff --git a/yum/rpmtrans.py b/yum/rpmtrans.py
index 9b265f9..74a0f3f 100644
--- a/yum/rpmtrans.py
+++ b/yum/rpmtrans.py
@@ -119,7 +119,11 @@ class RPMBaseCallback:
         else:
             msg = '%s: %s' % (package, action)
         self.logger.info(msg)
-            
+
+    def verify_txmbr(self, base, txmbr, count):
+        " Callback for post transaction when we are in verifyTransaction(). "
+        pass
+
 
 class SimpleCliCallBack(RPMBaseCallback):
     def __init__(self):
@@ -140,6 +144,10 @@ class SimpleCliCallBack(RPMBaseCallback):
         if msgs:
             print msgs,
 
+    def verify_txmbr(self, base, txmbr, count):
+        " Callback for post transaction when we are in verifyTransaction(). "
+        print _("Verify: %u/%u: %s") % (count, len(base.tsInfo), txmbr)
+
 #  This is ugly, but atm. rpm can go insane and run the "cleanup" phase
 # without the "install" phase if it gets an exception in it's callback. The
 # following means that we don't really need to know/care about that in the
@@ -157,8 +165,12 @@ class _WrapNoExceptions:
         def newFunc(*args, **kwargs):
             try:
                 func(*args, **kwargs)
-            except:
-                pass
+            except Exception, e:
+                # It's impossible to debug stuff without this:
+                try:
+                    print "Error:", "display callback failed:", e
+                except:
+                    pass
 
         newFunc.__name__ = func.__name__
         newFunc.__doc__ = func.__doc__
@@ -463,6 +475,11 @@ class RPMTransaction:
         # SCRIPT_ERROR is only in rpm >= 4.6.0
         elif hasattr(rpm, "RPMCALLBACK_SCRIPT_ERROR") and what == rpm.RPMCALLBACK_SCRIPT_ERROR:
             self._scriptError(bytes, total, h)
+        # SCRIPT_START and SCRIPT_STOP are only in rpm >= 4.10
+        elif hasattr(rpm, "RPMCALLBACK_SCRIPT_START") and what == rpm.RPMCALLBACK_SCRIPT_START:
+            self._scriptStart(bytes, total, h);
+        elif hasattr(rpm, "RPMCALLBACK_SCRIPT_STOP") and what == rpm.RPMCALLBACK_SCRIPT_STOP:
+            self._scriptStop(bytes, total, h);
     
     
     def _transStart(self, bytes, total, h):
@@ -619,5 +636,19 @@ class RPMTransaction:
             msg = ("Non-fatal %s scriptlet failure in rpm package %s" % 
                    (scriptlet_name, package_name))
         self.display.errorlog(msg)
+        self._scriptout(package_name)
         # FIXME - what else should we do here? raise a failure and abort?
     
+    def _scriptStart(self, bytes, total, h):
+        pass
+
+    def _scriptStop(self, bytes, total, h):
+        name, txmbr = self._getTxmbr(h)
+        self._scriptout(txmbr or name)
+
+    def verify_txmbr(self, txmbr, count):
+        " Callback for post transaction when we are in verifyTransaction(). "
+        if not hasattr(self.display, 'verify_txmbr'):
+            return
+
+        self.display.verify_txmbr(self.base, txmbr, count)
diff --git a/yum/sqlitesack.py b/yum/sqlitesack.py
index 8a6f6f3..4d91774 100644
--- a/yum/sqlitesack.py
+++ b/yum/sqlitesack.py
@@ -52,6 +52,8 @@ def catchSqliteException(func):
                     raise Errors.RepoError, str(e.message)
                 else:
                     raise Errors.RepoError, str(e)
+            #  Note that we can't easily get "repo" here, AFAIK. So we can't
+            # tell what failed.
             raise Errors.RepoError, str(e)
 
     newFunc.__name__ = func.__name__
@@ -69,7 +71,7 @@ def _parse_pkg_n(match, regexp_match, n):
     if not regexp_match:
         return False
 
-    if (match and n and match[0] not in ('?', '*') and match[0] != n[0]):
+    if (match and n and match[0] not in ('?', '*', '[') and match[0] != n[0]):
         return False
     if regexp_match(n):
         return True
@@ -82,7 +84,7 @@ def _parse_pkg(match, regexp_match, data, e,v,r,a):
     # Worthless speed hacks?
     if match == n:
         return True
-    if (match and n and match[0] not in ('?', '*') and
+    if (match and n and match[0] not in ('?', '*', '[') and
         match[0] != n[0] and match[0] != e[0]):
         return False
 
@@ -179,7 +181,11 @@ class YumAvailablePackageSqlite(YumAvailablePackage, PackageObject, RpmBase):
         self.prco = { 'obsoletes': (),
                       'conflicts': (),
                       'requires': (),
-                      'provides': () }
+                      'provides': (),
+                      'suggests': (),
+                      'enhances': (),
+                      'recommends': (),
+                      'supplements': () }
         self.sack = repo.sack
         self.repoid = repo.id
         self.repo = repo
@@ -298,13 +304,14 @@ class YumAvailablePackageSqlite(YumAvailablePackage, PackageObject, RpmBase):
                            "WHERE  packages.pkgId = ?", (self.pkgId,))
         for ob in cur:
             dirname = ob['dirname']
+            if dirname == '.':
+                dirname = ''
+            elif dirname and dirname[-1] != '/':
+                dirname += '/'
             filetypes = decodefiletypelist(ob['filetypes'])
             filenames = decodefilenamelist(ob['filenames'])
             while(filetypes):
-                if dirname:
-                    filename = dirname+'/'+filenames.pop()
-                else:
-                    filename = filenames.pop()
+                filename = dirname + filenames.pop()
                 filetype = _share_data(filetypes.pop())
                 result.setdefault(filetype,[]).append(filename)
         self._loadedfiles = True
@@ -382,7 +389,21 @@ class YumAvailablePackageSqlite(YumAvailablePackage, PackageObject, RpmBase):
 
     def returnPrco(self, prcotype, printable=False):
         prcotype = _share_data(prcotype)
-        if isinstance(self.prco[prcotype], tuple):
+        if prcotype == 'strong_requires':
+            # pkg not installed so we don't know require flags yet
+            # returning all requires should work in most cases
+            prcotype = 'requires'
+
+        # Check for the new weak deps. tables...
+        sql_table_exists = True
+        if prcotype in ('suggests', 'enhances', 'recommends', 'supplements'):
+            cur = self._sql_MD('primary', "PRAGMA table_info(%s)" % prcotype)
+            for ob in cur:
+                break
+            else:
+                sql_table_exists = False
+
+        if sql_table_exists and isinstance(self.prco[prcotype], tuple):
             sql = "SELECT name, version, release, epoch, flags " \
                   "FROM %s WHERE pkgKey = ?" % prcotype
             cur = self._sql_MD('primary', sql, (self.pkgKey,))
@@ -406,7 +427,7 @@ class YumAvailablePackageSqlite(YumAvailablePackage, PackageObject, RpmBase):
         requires = []
         for ob in cur:
             pre = "0"
-            if ob['pre'].lower() in ['TRUE', 1]:
+            if ob['pre'].lower() in ['true', 1]:
                 pre = "1"
             prco_set = (_share_data(ob['name']), _share_data(ob['flags']),
                         (_share_data(ob['epoch']),
@@ -729,7 +750,7 @@ class YumSqlitePackageSack(yumRepo.YumPackageSack):
             data = self._sql_MD('primary', repo, sql, (pkgKey,)).fetchone()
             if data is None:
                 msg = "pkgKey %s doesn't exist in repo %s" % (pkgKey, repo)
-                raise Errors.RepoError, msg
+                raise Errors.RepoError(msg, repo=repo)
             if exclude and self._pkgExcludedRKD(repo, pkgKey, data):
                 return None
             po = self.pc(repo, data)
@@ -798,7 +819,8 @@ class YumSqlitePackageSack(yumRepo.YumPackageSack):
             self.excludes[repo] = {}
 
         if dataobj is None:
-            raise Errors.RepoError, "Tried to add None %s to %s" % (datatype, repo)
+            raise Errors.RepoError("Tried to add None %s to %s" % (datatype, repo),
+                                   repo=repo)
 
         if datatype == 'metadata':
             self.primarydb[repo] = dataobj
@@ -808,7 +830,8 @@ class YumSqlitePackageSack(yumRepo.YumPackageSack):
             self.otherdb[repo] = dataobj
         else:
             # We can not handle this yet...
-            raise Errors.RepoError, "Sorry sqlite does not support %s in %s" % (datatype, repo)
+            raise Errors.RepoError("Sorry sqlite does not support %s in %s" % (datatype, repo),
+                                   repo=repo)
     
         self.added[repo].append(datatype)
 
@@ -917,8 +940,7 @@ class YumSqlitePackageSack(yumRepo.YumPackageSack):
 
         # ultra simple optimization 
         if misc.re_primary_filename(name):
-            if not misc.re_glob(dirname): # is the dirname a glob?
-                return self._search_primary_files(name)
+            return self._search_primary_files(name)
         
         if len(self.filelistsdb) == 0:
             # grab repo object from primarydb and force filelists population in this sack using repo
@@ -938,7 +960,7 @@ class YumSqlitePackageSack(yumRepo.YumPackageSack):
             pri_pkgs = self._sql_MD_pkg_num('primary',   repo)
             fil_pkgs = self._sql_MD_pkg_num('filelists', repo)
             if pri_pkgs != fil_pkgs:
-                raise Errors.RepoError
+                raise Errors.RepoError('Check of Primary and Filelists sync. failed.', repo=repo)
             repo._checked_filelists_pkgs = True
 
         sql_params = []
@@ -1560,7 +1582,7 @@ class YumSqlitePackageSack(yumRepo.YumPackageSack):
             patterns = tmp
         return (need_full, patterns, fields, False)
 
-    @catchSqliteException
+    # @catchSqliteException has no effect on generators
     def _yieldSQLDataList(self, repoid, patterns, fields, ignore_case):
         """Yields all the package data for the given params. Excludes are done
            at this stage. """
@@ -1593,6 +1615,7 @@ class YumSqlitePackageSack(yumRepo.YumPackageSack):
                 for x in cur:
                     yield (repo, x)
 
+    @catchSqliteException
     def _buildPkgObjList(self, repoid=None, patterns=None, ignore_case=False):
         """Builds a list of packages, only containing nevra information.
            Excludes are done at this stage. """
@@ -1666,6 +1689,7 @@ class YumSqlitePackageSack(yumRepo.YumPackageSack):
 
         return returnList
 
+    @catchSqliteException
     def simplePkgList(self, patterns=None, ignore_case=False):
         """Returns a list of pkg tuples (n, a, e, v, r), optionally from a
            single repoid. Note that the packages are always filtered to those
diff --git a/yum/sqlutils.py b/yum/sqlutils.py
index 4d7e36e..826ad62 100644
--- a/yum/sqlutils.py
+++ b/yum/sqlutils.py
@@ -50,7 +50,7 @@ def Tokenize(str, whitespace=" \t\r\n", quotes="\"", escapes="\\"):
 
     @param        str: string to tokenize
     @type         str: string
-    @param whitespace: whitespace characters seperating tokens
+    @param whitespace: whitespace characters separating tokens
     @type  whitespace: string
     @param     quotes: legal quoting characters
     @type      quotes: string
diff --git a/yum/transactioninfo.py b/yum/transactioninfo.py
index 4d89d83..9ce5025 100644
--- a/yum/transactioninfo.py
+++ b/yum/transactioninfo.py
@@ -34,6 +34,8 @@ import Errors
 import warnings
 import misc
 
+import time
+
 class GetProvReqOnlyPackageSack(PackageSack):
     def __init__(self, need_files=False):
         PackageSack.__init__(self)
@@ -84,10 +86,13 @@ class TransactionData:
         self.changed = False
         self.installonlypkgs = []
         self.state_counter = 0
+        self.tm_created = time.time()
+        self.tm_changed = time.time()
         self.conditionals = {} # key = pkgname, val = list of pos to add
 
         self.rpmdb = None
-        self.pkgSack = None
+        self._pkgSack = None
+        self._pkgSackCtor = None
         self.pkgSackPackages = 0
         self.localSack = PackageSack()
         self._inSack = GetProvReqOnlyPackageSack()
@@ -95,6 +100,8 @@ class TransactionData:
         # lists of txmbrs in their states - just placeholders
         self.instgroups = []
         self.removedgroups = []
+        self.instenvironments = []
+        self.removedenvironments = []
         self.removed = []
         self.installed = []
         self.updated = []
@@ -105,6 +112,14 @@ class TransactionData:
         self.reinstalled = []
         self.downgraded = []
         self.failed = []
+
+        self._future_rpmdbv = None
+        self._check_future_rpmdbv = None
+
+    def _changed(self):
+        self.changed = True
+        self.state_counter += 1
+        self.tm_changed = time.time()
         
     def __len__(self):
         return len(self.pkgdict)
@@ -115,6 +130,18 @@ class TransactionData:
         else:
             return iter(self.getMembers())
 
+    def _getPkgSack(self):
+        if self._pkgSack is not None:
+            return self._pkgSack
+        if self._pkgSackCtor is not None:
+            self._pkgSack = self._pkgSackCtor()
+        return self._pkgSack
+
+    pkgSack = property(fget=lambda self: self._getPkgSack(),
+                       fset=lambda self, value: setattr(self, "_pkgSack",value),
+                       fdel=lambda self: setattr(self, "_pkgSack", None),
+                       doc="Package sack object")
+
     def debugprint(self, msg):
         if self.debug:
             print msg
@@ -208,7 +235,9 @@ class TransactionData:
                 txmbrs = self.matchNaevr(na[0], na[1])
 
         if not txmbrs:
-            if self.pkgSack is None:
+            if self._inSack is not None:
+                pkgs = self._inSack.returnPackages(patterns=[pattern])
+            elif self.pkgSack is None:
                 pkgs = []
             else:
                 pkgs = self.pkgSack.returnPackages(patterns=[pattern])
@@ -236,6 +265,8 @@ class TransactionData:
         # happens IRL.
         return txmember.ts_state in ('u', 'i') and not isinstance(txmember.po, (YumInstalledPackage, YumAvailablePackageSqlite))
 
+    # NOTE: This is a copy of Depsolve.allowedMultipleInstalls() because
+    #       we can't get to YumBase from here. Use that as the main/public API.
     def _allowedMultipleInstalls(self, po):
         """takes a packageObject, returns 1 or 0 depending on if the package 
            should/can be installed multiple times with different vers
@@ -266,8 +297,8 @@ class TransactionData:
                     return
         self.pkgdict[txmember.pkgtup].append(txmember)
         self._namedict.setdefault(txmember.name, []).append(txmember)
-        self.changed = True
-        self.state_counter += 1
+        self._changed()
+
         if self._isLocalPackage(txmember):
             self.localSack.addPackage(txmember.po)
         elif isinstance(txmember.po, YumAvailablePackageSqlite):
@@ -307,8 +338,7 @@ class TransactionData:
         del self.pkgdict[pkgtup]
         if not self._namedict[pkgtup[0]]:
             del self._namedict[pkgtup[0]]
-        self.changed = True        
-        self.state_counter += 1
+        self._changed()
     
     def exists(self, pkgtup):
         """tells if the pkg is in the class"""
@@ -334,6 +364,8 @@ class TransactionData:
            
         self.instgroups = []
         self.removedgroups = []
+        self.instenvironments = []
+        self.removedenvironments = []
         self.removed = []
         self.installed = []
         self.updated = []
@@ -365,7 +397,13 @@ class TransactionData:
                     for g in txmbr.groups:
                         if g not in self.instgroups:
                             self.instgroups.append(g)
-                if txmbr.isDep:
+                if txmbr.environments:
+                    for evg in txmbr.environments:
+                        if evg not in self.instenvironments:
+                            self.instenvironments.append(evg)
+                #  "user" here is kind of a hack ... we really shouldn't have
+                # .isDep == True, but this probably doesn't hurt.
+                if txmbr.isDep and txmbr.reason != 'user':
                     self.depinstalled.append(txmbr)
                 else:
                     self.installed.append(txmbr)
@@ -377,6 +415,9 @@ class TransactionData:
                 for g in txmbr.groups:
                     if g not in self.instgroups:
                         self.removedgroups.append(g)
+                for evg in txmbr.environments:
+                    if evg not in self.instenvironments:
+                        self.removedenvironments.append(evg)
                 if txmbr.isDep:
                     self.depremoved.append(txmbr)
                 else:
@@ -402,6 +443,8 @@ class TransactionData:
         self.depremoved.sort()
         self.instgroups.sort()
         self.removedgroups.sort()
+        self.instenvironments.sort()
+        self.removedenvironments.sort()
         self.reinstalled.sort()
         self.downgraded.sort()
         self.failed.sort()
@@ -418,7 +461,6 @@ class TransactionData:
         txmbr.output_state = TS_INSTALL
         txmbr.po.state = TS_INSTALL        
         txmbr.ts_state = 'u'
-        txmbr.reason = 'user'
 
         if self.rpmdb.contains(po=txmbr.po):
             txmbr.reinstall = True
@@ -436,7 +478,6 @@ class TransactionData:
         txmbr.output_state = TS_TRUEINSTALL
         txmbr.po.state = TS_INSTALL        
         txmbr.ts_state = 'i'
-        txmbr.reason = 'user'
 
         if self.rpmdb.contains(po=txmbr.po):
             txmbr.reinstall = True
@@ -478,7 +519,7 @@ class TransactionData:
         return txmbr
 
     def addDowngrade(self, po, oldpo):
-        """adds a package as an downgrade takes a packages object and returns
+        """adds a package as a downgrade takes a packages object and returns
            a pair of TransactionMember Objects"""
 
         itxmbr = self.addErase(oldpo)
@@ -489,6 +530,10 @@ class TransactionData:
         if not atxmbr: # Fail?
             self.remove(itxmbr.pkgtup)
             return None
+
+        if 'reason' in oldpo.yumdb_info:
+            atxmbr.reason = oldpo.yumdb_info.reason
+
         atxmbr.relatedto.append((oldpo, 'downgrades'))
         atxmbr.downgrades.append(oldpo)
 
@@ -505,6 +550,10 @@ class TransactionData:
         txmbr.ts_state = 'ud'
         txmbr.relatedto.append((updating_po, 'updatedby'))
         txmbr.updated_by.append(updating_po)
+
+        if 'reason' in po.yumdb_info: # Propbably worthless, but...
+            txmbr.reason = po.yumdb_info.reason
+
         self.add(txmbr)
         return txmbr
 
@@ -537,6 +586,10 @@ class TransactionData:
         txmbr.ts_state = 'od'
         txmbr.relatedto.append((obsoleting_po, 'obsoletedby'))
         txmbr.obsoleted_by.append(obsoleting_po)
+
+        if 'reason' in po.yumdb_info: # Propbably worthless, but...
+            txmbr.reason = po.yumdb_info.reason
+
         self.add(txmbr)
         for otxmbr in self.getMembersWithState(obsoleting_po.pkgtup,
                                                [TS_OBSOLETING]):
@@ -547,9 +600,10 @@ class TransactionData:
         return txmbr
 
 
-    def setDatabases(self, rpmdb, pkgSack):
+    def setDatabases(self, rpmdb, pkgSack, pkgSackCtor=None):
         self.rpmdb = rpmdb
-        self.pkgSack = pkgSack
+        self._pkgSack     = pkgSack
+        self._pkgSackCtor = pkgSackCtor
 
     def getNewProvides(self, name, flag=None, version=(None, None, None)):
         """return dict { packages -> list of matching provides }
@@ -619,6 +673,12 @@ class TransactionData:
         """ Return a simple version for the future rpmdb. Works like
             rpmdb.simpleVersion(main_only=True)[0], but for the state the rpmdb
             will be in after the transaction. """
+
+        if self._future_rpmdbv is not None:
+            sc, ret = self._future_rpmdbv
+            if sc == self.state_counter:
+                return ret
+
         pkgs = self.rpmdb.returnPackages()
         _reinstalled_pkgtups = {}
         for txmbr in self.getMembersWithState(None, TS_INSTALL_STATES):
@@ -658,6 +718,7 @@ class TransactionData:
 
         self.rpmdb.transactionCachePackageChecksums(pkg_checksum_tups)
 
+        self._future_rpmdbv = (self.state_counter, main)
         return main
     
     def findObsoletedByThisMember(self, txmbr):
@@ -752,6 +813,8 @@ class TransactionMember:
         self.downgraded_by = []
         self.reinstall = False
         self.groups = [] # groups it's in
+        self.environments = [] # Env. groups it's in
+        self.repopkg = None # repo pkg "group" it was removed/installed by
         self._poattr = ['pkgtup', 'repoid', 'name', 'arch', 'epoch', 'version',
                         'release']
 
@@ -767,15 +830,34 @@ class TransactionMember:
             po.yumdb_info.get('releasever')
             po.yumdb_info.get('changed_by')
 
-    def setAsDep(self, po=None):
+    def setAsDep(self, po=None, relonly=False):
         """sets the transaction member as a dependency and maps the dep into the
            relationship list attribute"""
-        
-        self.isDep = 1
+
+        if not relonly:
+            self.isDep = 1
         if po:
             self.relatedto.append((po, 'dependson'))
             self.depends_on.append(po)
 
+    def removeDep(self, po):
+        """sets the transaction member as a dependency and maps the dep into the
+           relationship list attribute"""
+
+        nrelto = []
+        for data in self.relatedto:
+            if data[0] == po:
+                continue
+            nrelto.append(data)
+        self.relatedto = nrelto
+
+        ndepon = []
+        for data in self.depends_on:
+            if data == po:
+                continue
+            ndepon.append(data)
+        self.depends_on = ndepon
+
     def __cmp__(self, other):
         return cmp(self.po, other.po)
 
@@ -825,5 +907,9 @@ class TransactionMember:
                 
         if self.groups:
             msg += "  groups: %s\n" % ' '.join(self.groups)
+        if self.environments:
+            msg += "  environments: %s\n" % ' '.join(self.environments)
+        if self.repopkg:
+            msg += "  repopkg: %s\n" % self.repopkg
 
         return msg
diff --git a/yum/update_md.py b/yum/update_md.py
index 2cb1acb..a62bc00 100644
--- a/yum/update_md.py
+++ b/yum/update_md.py
@@ -23,23 +23,28 @@ Update metadata (updateinfo.xml) parsing.
 
 import sys
 
-from yum.i18n import utf8_text_wrap, to_utf8, to_unicode
+from yum.i18n import utf8_text_wrap, to_utf8, to_unicode, _
 from yum.yumRepo import YumRepository
 from yum.packages import FakeRepository
 from yum.misc import to_xml, decompress, repo_gen_decompress
 from yum.misc import cElementTree_iterparse as iterparse 
 import Errors
 
+import logginglevels
+
 import rpmUtils.miscutils
 
 
-def safe_iterparse(filename):
+def safe_iterparse(filename, logger=None):
     """ Works like iterparse, but hides XML errors (prints a warning). """
     try:
         for event, elem in iterparse(filename):
             yield event, elem
     except SyntaxError: # Bad XML
-        print >> sys.stderr, "File is not valid XML:", filename
+        if logger:
+            logger.critical(_("Updateinfo file is not valid XML: %s"), filename)
+        else:
+            print >> sys.stderr, "Updateinfo file is not valid XML:", filename
 
 class UpdateNoticeException(Exception):
     """ An exception thrown for bad UpdateNotice data. """
@@ -79,11 +84,53 @@ class UpdateNotice(object):
 
     def __getitem__(self, item):
         """ Allows scriptable metadata access (ie: un['update_id']). """
-        return self._md.get(item) or None
+        if type(item) is int:
+            return sorted(self._md)[item]
+        ret = self._md.get(item)
+        if ret == '':
+            ret = None
+        return ret
+
+    def __contains__(self, item):
+        """ Allows quick tests for foo in blah. """
+        return item in self._md
 
     def __setitem__(self, item, val):
         self._md[item] = val
 
+    def __eq__(self, other):
+        #  Tests to see if it's "the same data", which means that the
+        # packages can be different (see add_notice).
+
+        if not other or not hasattr(other, '_md'):
+            return False
+
+        for data in ('type', 'update_id', 'status', 'rights',
+                     'severity', 'release',
+                     'issued', 'updated', 'version', 'pushcount',
+                     'from', 'title', 'summary', 'description', 'solution'):
+            if data == 'status': # FIXME: See below...
+                continue
+            if self._md[data] != other._md[data]:
+                return False
+        # FIXME: Massive hack, Fedora is really broken and gives status=stable
+        # and status=testing for updateinfo notices, just depending on which
+        # repo. they come from.
+        data = 'status'
+        if self._md[data] != other._md[data]:
+            if self._md[data]  not in ('stable', 'testing'):
+                return False
+            if other._md[data] not in ('stable', 'testing'):
+                return False
+            # They are both really "stable" ...
+            self._md[data]  = 'stable'
+            other._md[data] = 'stable'
+
+        return True
+
+    def __ne__(self, other):
+        return not (self == other)
+
     def text(self, skip_data=('files', 'summary', 'rights', 'solution')):
         head = """
 ===============================================================================
@@ -304,7 +351,9 @@ class UpdateNotice(object):
                 to_xml(self._md['title']), to_xml(self._md['release']),
                 to_xml(self._md['issued'], attrib=True),
                 to_xml(self._md['description']))
-
+        if self._md['updated']:
+            # include the updated date in the generated xml
+            msg += """ <updated date="%s"/>\n""" % (to_xml(self._md['updated'], attrib=True))
         if self._md['summary']:
             msg += """  <summary>%s</summary>\n""" % (to_xml(self._md['summary']))
         if self._md['solution']:
@@ -336,16 +385,17 @@ class UpdateNotice(object):
                       to_xml(coll['name']))
   
                 for pkg in coll['packages']:
-                    msg += """      <package arch="%s" name="%s" release="%s" src="%s" version="%s">
+                    msg += """      <package arch="%s" name="%s" release="%s" src="%s" version="%s" epoch="%s">
         <filename>%s</filename>
       </package>\n""" % (to_xml(pkg['arch'], attrib=True),
                                 to_xml(pkg['name'], attrib=True),
                                 to_xml(pkg['release'], attrib=True),
                                 to_xml(pkg['src'], attrib=True),
                                 to_xml(pkg['version'], attrib=True),
+                                to_xml(pkg['epoch'] or '0', attrib=True),
                                 to_xml(pkg['filename']))
                 msg += """    </collection>\n"""
-                msg += """  </pkglist>\n"""
+            msg += """  </pkglist>\n"""
         msg += """</update>\n"""
         return msg
 
@@ -360,11 +410,15 @@ class UpdateMetadata(object):
     The root update metadata object.
     """
 
-    def __init__(self, repos=[]):
+    def __init__(self, repos=[], logger=None, vlogger=None):
         self._notices = {}
         self._cache = {}    # a pkg nvr => notice cache for quick lookups
         self._no_cache = {}    # a pkg name only => notice list
         self._repos = []    # list of repo ids that we've parsed
+
+        self._logger  = logger
+        self._vlogger = vlogger
+
         for repo in repos:
             try: # attempt to grab the updateinfo.xml.gz from the repodata
                 self.add(repo)
@@ -423,8 +477,41 @@ class UpdateMetadata(object):
     def add_notice(self, un):
         """ Add an UpdateNotice object. This should be fully populated with
             data, esp. update_id and pkglist/packages. """
-        if not un or not un["update_id"] or un['update_id'] in self._notices:
-            return
+        if not un or not un["update_id"]:
+            return False
+
+        #  This is "special", the main thing we want to deal with here is
+        # having one errata that has multiple packages in it rpmA and rpmB, but
+        # the packages are in repos. repoA and repoB. So instead of doing a
+        # single errata pointing to both rpmA and rpmB and put the same thing
+        # in both repodata (which is legal, and works fine) people want to have
+        # just the packages from repoA in the repodata for repoA and vice versa.
+        if un['update_id'] in self._notices:
+            oun = self._notices[un['update_id']]
+            if oun != un:
+                return False
+
+            # Ok, main parts of errata are the same, so now merge references:
+            seen = set()
+            for ref in oun['references']:
+                seen.add(ref['id'])
+            for ref in un['references']:
+                if ref['id'] in seen:
+                    continue
+                seen.add(ref['id'])
+                oun['references'].append(ref)
+
+            # ...and pkglist (this assumes that a pkglist name XYZ is the same):
+            seen = set()
+            for pkg in oun['pkglist']:
+                seen.add(pkg['name'])
+            for pkg in un['pkglist']:
+                if pkg['name'] in seen:
+                    continue
+                seen.add(pkg['name'])
+                oun['pkglist'].append(pkg)
+
+            un = oun
 
         self._notices[un['update_id']] = un
         for pkg in un['pkglist']:
@@ -435,16 +522,26 @@ class UpdateMetadata(object):
                 no = self._no_cache.setdefault(filedata['name'], set())
                 no.add(un)
 
+        return True
+
     def add(self, obj, mdtype='updateinfo'):
         """ Parse a metadata from a given YumRepository, file, or filename. """
+
+        def _rid(repoid, fmt=_(' (from %s)')):
+            if not repoid:
+                return ''
+            return fmt % repoid
+
         if not obj:
             raise UpdateNoticeException
+        repoid = None
         if type(obj) in (type(''), type(u'')):
             unfile = decompress(obj)
             infile = open(unfile, 'rt')
 
         elif isinstance(obj, YumRepository):
             if obj.id not in self._repos:
+                repoid = obj.id
                 self._repos.append(obj.id)
                 md = obj.retrieveMD(mdtype)
                 if not md:
@@ -456,15 +553,28 @@ class UpdateMetadata(object):
         else:   # obj is a file object
             infile = obj
 
-        for event, elem in safe_iterparse(infile):
+        have_dup = False
+        for event, elem in safe_iterparse(infile, logger=self._logger):
             if elem.tag == 'update':
                 try:
                     un = UpdateNotice(elem)
                 except UpdateNoticeException, e:
-                    print >> sys.stderr, "An update notice is broken, skipping."
-                    # what else should we do?
+                    msg = _("An update notice%s is broken, skipping.") % _rid(repoid)
+                    if self._vlogger:
+                        self._vlogger.log(logginglevels.DEBUG_1, "%s", msg)
+                    else:
+                        print >> sys.stderr, msg
                     continue
-                self.add_notice(un)
+
+                if not self.add_notice(un):
+                    msg = _("Update notice %s%s is broken, or a bad duplicate, skipping.") % (un['update_id'], _rid(repoid))
+                    if not have_dup:
+                        msg += _('\nYou should report this problem to the owner of the %srepository.') % _rid(repoid, "%s ")
+                    have_dup = True
+                    if self._vlogger:
+                        self._vlogger.warn("%s", msg)
+                    else:
+                        print >> sys.stderr, msg
 
     def __unicode__(self):
         ret = u''
diff --git a/yum/updateinfo.py b/yum/updateinfo.py
new file mode 100644
index 0000000..8d91f88
--- /dev/null
+++ b/yum/updateinfo.py
@@ -0,0 +1,526 @@
+
+import os.path
+
+from yum.i18n import _, P_
+
+from yum.constants import *
+
+from yum.logginglevels import INFO_1
+
+import rpmUtils.miscutils
+
+import misc
+
+import fnmatch
+
+# newpackages is weird, in that we'll never display that because we filter to
+# things relevant to installed pkgs...
+_update_info_types_ = ("security", "bugfix", "enhancement",
+                       "recommended", "newpackage")
+
+def _rpm_tup_vercmp(tup1, tup2):
+    """ Compare two "std." tuples, (n, a, e, v, r). """
+    return rpmUtils.miscutils.compareEVR((tup1[2], tup1[3], tup1[4]),
+                                         (tup2[2], tup2[3], tup2[4]))
+
+
+def _ysp_safe_refs(refs):
+    """ Sometimes refs == None, if so return the empty list here. 
+        So we don't have to check everywhere. """
+    if not refs:
+        return []
+    return refs
+
+def _match_sec_cmd(sec_cmds, pkgname, notice):
+    for i in sec_cmds:
+        if fnmatch.fnmatch(pkgname, i):
+            return i
+        if fnmatch.fnmatch(notice['update_id'], i):
+            return i
+
+        cvei = i
+        if not (i.startswith("CVE-") or i.startswith("*")):
+            cvei = 'CVE-' + i
+        for ref in _ysp_safe_refs(notice['references']):
+            if ref['id'] is None:
+                continue
+            if fnmatch.fnmatch(ref['id'], i):
+                return i
+            if fnmatch.fnmatch(ref['id'], cvei):
+                return i
+    return None
+
+def _has_id(used_map, refs, ref_type, ref_ids):
+    ''' Check if the given ID is a match. '''
+    for ref in _ysp_safe_refs(refs):
+        if ref['type'] != ref_type:
+            continue
+        if ref['id'] not in ref_ids:
+            continue
+        used_map[ref_type][ref['id']] = True
+        return ref
+    return None
+    
+def _ysp_should_filter_pkg(opts, pkgname, notice, used_map):
+    """ Do the package filtering for should_show and should_keep. """
+    
+    rcmd = _match_sec_cmd(opts.sec_cmds, pkgname, notice)
+    if rcmd:
+        used_map['cmd'][rcmd] = True
+        return True
+    elif opts.advisory and notice['update_id'] in opts.advisory:
+        used_map['id'][notice['update_id']] = True
+        return True
+    elif (opts.severity and notice['type'] == 'security' and
+          notice['severity'] in opts.severity):
+        used_map['sev'][notice['severity']] = True
+        return True
+    elif opts.cve and _has_id(used_map, notice['references'], "cve", opts.cve):
+        return True
+    elif opts.bz and _has_id(used_map, notice['references'],"bugzilla",opts.bz):
+        return True
+    # FIXME: Add opts for enhancement/etc.? -- __update_info_types__
+    elif (opts.security and notice['type'] == 'security' and
+          (not opts.severity or 'severity' not in notice or
+           not notice['severity'])):
+        return True
+    elif opts.bugfixes and notice['type'] == 'bugfix':
+        return True
+    elif not (opts.advisory or opts.cve or opts.bz or
+              opts.security or opts.bugfixes or opts.sec_cmds or opts.severity):
+        return True # This is only possible from should_show_pkg
+
+    return False
+
+def _ysp_has_info_md(rname, md):
+    if rname in _update_info_types_:
+        if md['type'] == rname:
+            return md
+    for ref in _ysp_safe_refs(md['references']):
+        if ref['type'] != rname:
+            continue
+        return md
+
+def _no_options(opts):
+    return not (opts.security or opts.bugfixes or
+                opts.advisory or opts.bz or opts.cve or opts.severity)
+
+def _updateinfofilter2opts(updateinfo_filters):
+    opts = misc.GenericHolder()
+    opts.sec_cmds = []
+
+    opts.advisory = updateinfo_filters.get('advs', [])
+    opts.bz       = updateinfo_filters.get('bzs',  [])
+    opts.cve      = updateinfo_filters.get('cves', [])
+    opts.severity = updateinfo_filters.get('sevs', [])
+
+    opts.bugfixes = updateinfo_filters.get('bugfix', False)
+    opts.security = updateinfo_filters.get('security', False)
+
+    return opts
+
+def _args2filters(args):
+    # Basically allow args to turn into security filters, for shell command etc.
+
+    T_map = {'advs' : 'advs',
+             'advisory' : 'advs',
+             'advisories' : 'advs',
+
+             'bzs' : 'bzs',
+             'bz' : 'bzs',
+
+             'cves' : 'cves',
+             'cve' : 'cves',
+
+             'security-severity' : 'sevs',
+             'security-severities' : 'sevs',
+             'severity' : 'sevs',
+             'severities' : 'sevs',
+             'sevs' : 'sevs',
+             'sev' : 'sevs',
+
+             'security' : 'security',
+             'sec' : 'security',
+
+             'bugfix' : 'bugfix',
+             'bugfixes' : 'bugfix',
+             'bugs' : 'bugfix',
+
+             }
+
+    filters = {'security' : False, 'bugfix' : False}
+
+    for arg0 in args:
+        arg0 = arg0.replace(" ", ',')
+        T = 'advs'
+        if '=' in arg0:
+            T, arg1 = arg0.split('=', 1)
+        elif arg0 not in T_map:
+            arg1 = arg0
+        else:
+            T = arg0
+            arg1 = 'true'
+
+        if T not in T_map:
+            continue # Error message?
+
+        T = T_map[T]
+
+        if T in ('security', 'bugfix'):
+            filters[T] = not filters[T]
+        else:
+            filters[T] = filters.get(T, []) + arg1.split(',')
+        return filters
+
+def _ysp_gen_used_map(opts):
+    used_map = {'bugzilla' : {}, 'cve' : {}, 'id' : {}, 'cmd' : {}, 'sev' : {}}
+    if True:
+        return used_map
+    for i in opts.sec_cmds:
+        used_map['cmd'][i] = False
+    for i in opts.advisory:
+        used_map['id'][i] = False
+    for i in opts.bz:
+        used_map['bugzilla'][i] = False
+    for i in opts.cve:
+        used_map['cve'][i] = False
+    for i in opts.severity:
+        used_map['sev'][i] = False
+    return used_map
+
+def _ysp_chk_used_map(used_map, msg):
+    for i in used_map['cmd']:
+        if not used_map['cmd'][i]:
+            msg('No update information found for \"%s\"' % i)
+    for i in used_map['id']:
+        if not used_map['id'][i]:
+            msg('Advisory \"%s\" not found applicable for this system' % i)
+    for i in used_map['bugzilla']:
+        if not used_map['bugzilla'][i]:
+            msg('BZ \"%s\" not found applicable for this system' % i)
+    for i in used_map['cve']:
+        if not used_map['cve'][i]:
+            msg('CVE \"%s\" not found applicable for this system' % i)
+    for i in used_map['sev']:
+        if not used_map['sev'][i]:
+            msg('Severity \"%s\" not found applicable for this system' % i)
+
+
+def _get_name2pkgtup(base, pkgtups):
+    name2tup = {}
+    for pkgtup in pkgtups:
+        # Get the latest "old" pkgtups
+        if (pkgtup[0] in name2tup and
+            _rpm_tup_vercmp(name2tup[pkgtup[0]], pkgtup) > 0):
+            continue
+        name2tup[pkgtup[0]] = pkgtup
+    return name2tup
+def _get_name2oldpkgtup(base):
+    """ Get the pkgtups for all installed pkgs. which have an update. """
+    oupdates = map(lambda x: x[1], base.up.getUpdatesTuples())
+    return _get_name2pkgtup(base, oupdates)
+def _get_name2instpkgtup(base):
+    """ Get the pkgtups for all installed pkgs. """
+    return _get_name2pkgtup(base, base.rpmdb.simplePkgList())
+def _get_name2allpkgtup(base):
+    """ Get the pkgtups for all installed pkgs. and munge that to be the
+        first possible pkgtup. """
+    ofirst = [(pt[0], pt[1], '0','0','0') for pt in base.rpmdb.simplePkgList()]
+    return _get_name2pkgtup(base, ofirst)
+def _get_name2aallpkgtup(base):
+    """ Get the pkgtups for all available pkgs. and munge that to be the
+        first possible pkgtup. """
+    ofirst = [(pt[0], pt[1],'0','0','0') for pt in base.pkgSack.simplePkgList()]
+    return _get_name2pkgtup(base, ofirst)
+
+
+#  You might think we'd just call delPackage
+# and indeed that works for list updates etc.
+#
+# __but__ that doesn't work for dependancies on real updates
+#
+#  So to fix deps. we need to do it at the preresolve stage and take the
+# "transaction package list" and then remove packages from that.
+#
+# __but__ that doesn't work for lists ... so we do it two ways
+#
+def _ysp_should_keep_pkg(opts, pkgtup, md_info, used_map):
+    """ Do we want to keep this package to satisfy the security limits. """
+    name = pkgtup[0]
+    for (pkgtup, notice) in md_info.get_applicable_notices(pkgtup):
+        if _ysp_should_filter_pkg(opts, name, notice, used_map):
+            return True
+    return False
+
+def _repos_downloaded(repos):
+    dled = True
+    for repo in repos:
+        try:
+            data = repo.repoXML.getData('updateinfo');
+        except:
+            continue # No data is fine...
+
+        # Note that this doesn't check that it's decompressed...
+        path = repo.cachedir +'/'+ os.path.basename(data.location[1])
+        if not os.path.exists(path):
+            dled = False
+            break
+
+    return dled
+
+def _check_running_kernel(yb, md_info, msg):
+    kern_pkgtup = misc.get_running_kernel_pkgtup(yb.ts)
+    if kern_pkgtup[0] is None:
+        return
+
+    found_sec = False
+    for (pkgtup, notice) in md_info.get_applicable_notices(kern_pkgtup):
+        if found_sec or notice['type'] != 'security':
+            continue
+        found_sec = True
+        ipkg = yb.rpmdb.searchPkgTuple(pkgtup)
+        if not ipkg:
+            continue # Not installed
+        ipkg = ipkg[0]
+
+        e = ''
+        if kern_pkgtup[2] != '0':
+            e = '%s:' % kern_pkgtup[2]
+        rpkg = '%s-%s%s-%s.%s' % (kern_pkgtup[0], e,
+                                  kern_pkgtup[3], kern_pkgtup[4],
+                                  kern_pkgtup[1])
+
+        msg(_('Security: %s is an installed security update') % ipkg)
+        msg(_('Security: %s is the currently running version') % rpkg)
+        break
+
+def remove_txmbrs(base, filters=None):
+    '''
+    Remove packages from the transaction, using the updateinfo data.
+    '''
+
+    def ysp_del_pkg(tspkg):
+        """ Deletes a package within a transaction. """
+        base.verbose_logger.log(INFO_1,
+                                _(" --> %s from %s removed (updateinfo)") %
+                                (tspkg.po, tspkg.po.ui_from_repo))
+        tsinfo.remove(tspkg.pkgtup)
+
+    if filters is None:
+        filters = base.updateinfo_filters
+    opts = _updateinfofilter2opts(filters)
+
+    if _no_options(opts):
+        return 0, 0, 0
+
+    md_info = base.upinfo
+    tot = 0
+    cnt = 0
+    used_map = _ysp_gen_used_map(opts)
+    tsinfo = base.tsInfo
+    tspkgs = tsinfo.getMembers()
+    #  Ok, here we keep any pkgs that pass "ysp" tests, then we keep all
+    # related pkgs ... Ie. "installed" version marked for removal.
+    keep_pkgs = set()
+
+    count_states = set(TS_INSTALL_STATES + [TS_ERASE])
+    count_pkgs = set()
+    for tspkg in tspkgs:
+        if tspkg.output_state in count_states:
+            count_pkgs.add(tspkg.po)
+
+    name2tup = _get_name2oldpkgtup(base)
+    for tspkg in tspkgs:
+        if tspkg.output_state in count_states:
+            tot += 1
+        name = tspkg.po.name
+        if (name not in name2tup or
+            not _ysp_should_keep_pkg(opts, name2tup[name], md_info, used_map)):
+            continue
+        if tspkg.output_state in count_states:
+            cnt += 1
+        keep_pkgs.add(tspkg.po)
+
+    scnt = cnt
+    mini_depsolve_again = True
+    while mini_depsolve_again:
+        mini_depsolve_again = False
+
+        for tspkg in tspkgs:
+            if tspkg.po in keep_pkgs:
+                # Find any related pkgs, and add them:
+                for (rpkg, reason) in tspkg.relatedto:
+                    if rpkg not in keep_pkgs:
+                        if rpkg in count_pkgs:
+                            cnt += 1
+                        keep_pkgs.add(rpkg)
+                        mini_depsolve_again = True
+            else:
+                # If related to any keep pkgs, add us
+                for (rpkg, reason) in tspkg.relatedto:
+                    if rpkg in keep_pkgs:
+                        if rpkg in count_pkgs:
+                            cnt += 1
+                        keep_pkgs.add(tspkg.po)
+                        mini_depsolve_again = True
+                        break
+
+    for tspkg in tspkgs:
+        if tspkg.po not in keep_pkgs:
+            ysp_del_pkg(tspkg)
+
+    _ysp_chk_used_map(used_map, lambda x: base.verbose_logger.warn("%s", x))
+    
+    if cnt:
+        base.verbose_logger.log(INFO_1, _('%d package(s) needed (+%d related) for security, out of %d available') % (scnt, cnt - scnt, tot))
+    else:
+        base.verbose_logger.log(INFO_1, _('No packages needed for security; %d packages available') % tot)
+
+    return cnt, scnt, tot
+
+def exclude_updates(base, filters=None):
+    '''
+    Exclude all packages to do with updates, using the updateinfo data.
+    '''
+    
+    def ysp_del_pkg(pkg, reason="updateinfo"):
+        """ Deletes a package from all trees that yum knows about """
+        base.verbose_logger.log(INFO_1,
+                                _(" --> %s from %s excluded (%s)") %
+                                (pkg,pkg.repoid, reason))
+        pkg.repo.sack.delPackage(pkg)
+
+    if filters is None:
+        filters = base.updateinfo_filters
+    opts = _updateinfofilter2opts(filters)
+
+    if _no_options(opts):
+        return 0, 0
+
+    md_info = base.upinfo
+
+    used_map = _ysp_gen_used_map(opts)
+
+    # In theory the official API is:
+    #
+    # pkgs = base.pkgSack.returnPackages()
+    #
+    # ...however that is _extremely_ slow, deleting all packages. So we ask
+    # for the list of update packages, which is all we care about.    
+    upds = base.doPackageLists(pkgnarrow='updates')
+    pkgs = upds.updates
+    # In theory we don't need to do this in some cases, but meh.
+    upds = base.doPackageLists(pkgnarrow='obsoletes')
+    pkgs += upds.obsoletes
+
+    name2tup = _get_name2oldpkgtup(base)
+    
+    tot = 0
+    cnt = 0
+    for pkg in pkgs:
+        tot += 1
+        name = pkg.name
+        if (name not in name2tup or
+            not _ysp_should_keep_pkg(opts, name2tup[name], md_info, used_map)):
+            ysp_del_pkg(pkg)
+            continue
+        cnt += 1
+
+    _ysp_chk_used_map(used_map, lambda x: base.verbose_logger.warn("%s", x))
+
+    if cnt:
+        base.verbose_logger.log(INFO_1, _('%d package(s) needed for security, out of %d available') % (cnt, tot))
+    else:
+        base.verbose_logger.log(INFO_1, _('No packages needed for security; %d packages available' % tot))
+
+    return cnt, tot
+
+def exclude_all(base, filters=None):
+    '''
+    Exclude all packages, using the updateinfo data.
+    '''
+    
+    def ysp_del_pkg(pkg, reason="updateinfo"):
+        """ Deletes a package from all trees that yum knows about """
+        base.verbose_logger.log(INFO_1,
+                                _(" --> %s from %s excluded (%s)") %
+                                (pkg,pkg.repoid, reason))
+        pkg.repo.sack.delPackage(pkg)
+
+    if filters is None:
+        filters = base.updateinfo_filters
+    opts = _updateinfofilter2opts(filters)
+
+    if _no_options(opts):
+        return 0, 0
+
+    md_info = base.upinfo
+
+    used_map = _ysp_gen_used_map(opts)
+
+    pkgs = base.pkgSack.returnPackages()
+    name2tup = _get_name2aallpkgtup(base)
+    
+    tot = 0
+    cnt = 0
+    for pkg in pkgs:
+        tot += 1
+        name = pkg.name
+        if (name not in name2tup or
+            not _ysp_should_keep_pkg(opts, name2tup[name], md_info, used_map)):
+            ysp_del_pkg(pkg)
+            continue
+        cnt += 1
+
+    _ysp_chk_used_map(used_map, lambda x: base.verbose_logger.warn("%s", x))
+
+    if cnt:
+        base.verbose_logger.log(INFO_1, _('%d package(s) needed for security, out of %d available') % (cnt, tot))
+    else:
+        base.verbose_logger.log(INFO_1, _('No packages needed for security; %d packages available' % tot))
+
+    return cnt, tot
+
+def update_minimal(base, extcmds=[]):
+    """Mark the specified items to be updated, in the minimal way.
+    :param extcmds: the user specified arguments
+    :return: a list of transaction members added to the
+       transaction set by this function
+    """
+    txmbrs = []
+
+    used_map = _ysp_gen_used_map(base.updateinfo_filters)
+    opts     = _updateinfofilter2opts(base.updateinfo_filters)
+    ndata    = _no_options(opts)
+
+    # NOTE: Not doing obsoletes processing atm. ... maybe we should? --
+    # Also worth pointing out we don't go backwards for obsoletes in the:
+    # update --security case etc.
+
+    # obsoletes = base.up.getObsoletesTuples(newest=False)
+    # for (obsoleting, installed) in sorted(obsoletes, key=lambda x: x[0]):
+    #   pass
+
+    # Tuples == (n, a, e, v, r)
+    oupdates  = map(lambda x: x[1], base.up.getUpdatesTuples())
+    for oldpkgtup in sorted(oupdates):
+        data = base.upinfo.get_applicable_notices(oldpkgtup)
+        if ndata: # No options means pick the oldest update
+            data.reverse()
+
+        for (pkgtup, notice) in data:
+            name = pkgtup[0]
+            if extcmds and not _match_sec_cmd(extcmds, name, notice):
+                continue
+            if (not ndata and
+                not _ysp_should_filter_pkg(opts, name, notice, used_map)):
+                continue
+            txmbrs.extend(base.update(name=pkgtup[0], arch=pkgtup[1],
+                                      epoch=pkgtup[2],
+                                      version=pkgtup[3], release=pkgtup[4]))
+            break
+
+    # _ysp_chk_used_map(used_map, msg)
+
+    return txmbrs
+
diff --git a/yum/yumRepo.py b/yum/yumRepo.py
index e5e9ece..4d64dff 100644
--- a/yum/yumRepo.py
+++ b/yum/yumRepo.py
@@ -20,10 +20,12 @@ import time
 import types
 import urlparse
 urlparse.uses_fragment.append("media")
+import urllib
 
 import Errors
 from urlgrabber.grabber import URLGrabber
 from urlgrabber.grabber import default_grabber
+from urlgrabber.progress import format_number
 import urlgrabber.mirror
 from urlgrabber.grabber import URLGrabError
 import repoMDObject
@@ -35,6 +37,7 @@ import sqlitesack
 from yum import config
 from yum import misc
 from yum import comps
+from yum import _
 from constants import *
 import metalink
 
@@ -49,15 +52,54 @@ import stat
 import errno
 import tempfile
 
-#  If you want yum to _always_ check the MD .sqlite files then set this to
-# False (this doesn't affect .xml files or .sqilte files derived from them).
-# With this as True yum will only check when a new repomd.xml or
-# new MD is downloaded.
-#  Note that with atomic MD, we can't have old MD lying around anymore so
-# the only way we need this check is if someone does something like:
-#   cp primary.sqlite /var/cache/yum/blah
-# ...at which point you lose.
-skip_old_DBMD_check = True
+# This is unused now, probably nothing uses it but it was global/public.
+skip_old_DBMD_check = False
+
+try:
+    import xattr
+    if not hasattr(xattr, 'get') or not hasattr(xattr, 'set'):
+        xattr = None # This is a "newer" API.
+except ImportError:
+    xattr = None
+
+#  The problem we are trying to solve here is that:
+#
+# 1. We rarely want to be downloading MD/pkgs/etc.
+# 2. We want to check those files are valid (match checksums) when we do
+#    download them.
+# 3. We _really_ don't want to checksum all the files every time we
+#    run (100s of MBs).
+# 4. We can continue to download files from bad mirrors, or retry files due to
+#    C-c etc.
+#
+# ...we used to solve this by just checking the file size, and assuming the
+# files had been downloaded and checksumed as correct if that matched. But that
+# was error prone on bad mirrors, so now we store the checksum in an
+# xattr ... this does mean that if you can't store xattrs (Eg. NFS) you will
+# rechecksum everything constantly.
+
+def _xattr_get_chksum(filename, chktype):
+    if not xattr:
+        return None
+
+    try:
+        ret = xattr.get(filename, 'user.yum.checksum.' + chktype)
+    except: # Documented to be "EnvironmentError", but make sure
+        return None
+
+    return ret
+
+def _xattr_set_chksum(filename, chktype, chksum):
+    if not xattr:
+        return None
+
+    try:
+        xattr.set(filename, 'user.yum.checksum.' + chktype, chksum)
+    except:
+        return False # Data too long. = IOError ... ignore everything.
+
+    return True
+
 
 warnings.simplefilter("ignore", Errors.YumFutureDeprecationWarning)
 
@@ -103,8 +145,9 @@ class YumPackageSack(packageSack.PackageSack):
         elif datatype in ['filelists', 'otherdata']:
             if repo in self.added:
                 if 'metadata' not in self.added[repo]:
-                    raise Errors.RepoError, '%s md for %s imported before primary' \
-                           % (datatype, repo.id)
+                    raise Errors.RepoError('%s md for %s imported before primary' \
+                           % (datatype, repo.ui_id),
+                                           repo=self)
             current = 0
             for pkgid in dataobj:
                 current += 1
@@ -121,6 +164,26 @@ class YumPackageSack(packageSack.PackageSack):
             # umm, wtf?
             pass
 
+    def _retrieve_async(self, repo, data):
+        """ Just schedule the metadata downloads """
+
+        for item in data:
+            if item in self.added.get(repo, []):
+                continue
+            if item == 'metadata':
+                mydbtype = 'primary_db'
+            elif item == 'filelists':
+                mydbtype = 'filelists_db'
+            elif item == 'otherdata':
+                mydbtype = 'other_db'
+            else:
+                continue
+
+            if self._check_db_version(repo, mydbtype):
+                if not self._check_uncompressed_db_gen(repo, mydbtype):
+                    # NOTE: No failfunc.
+                    repo._retrieveMD(mydbtype, async=True, failfunc=None)
+
     def populate(self, repo, mdtype='metadata', callback=None, cacheonly=0):
         if mdtype == 'all':
             data = ['metadata', 'filelists', 'otherdata']
@@ -138,8 +201,6 @@ class YumPackageSack(packageSack.PackageSack):
                 if item in self.added[repo]:
                     continue
 
-            db_fn = None
-
             if item == 'metadata':
                 mydbtype = 'primary_db'
                 mymdtype = 'primary'
@@ -162,25 +223,41 @@ class YumPackageSack(packageSack.PackageSack):
                 continue
 
             if self._check_db_version(repo, mydbtype):
-                # see if we have the uncompressed db and check it's checksum vs the openchecksum
-                # if not download the compressed file
-                # decompress it
-                # unlink it
+                #  Use gen decompression on DB files. Keeps exactly what we
+                # downloaded in the download dir.
 
+                # Backwards compat. ... try the old uncompressed version first.
                 db_un_fn = self._check_uncompressed_db(repo, mydbtype)
                 if not db_un_fn:
+                    db_un_fn = self._check_uncompressed_db_gen(repo, mydbtype)
+
+                if not db_un_fn:
                     db_fn = repo._retrieveMD(mydbtype)
                     if db_fn:
-                        if not repo.cache:
-                            db_un_fn = misc.decompress(db_fn)
-                            misc.unlink_f(db_fn)
-                            db_un_fn = self._check_uncompressed_db(repo, mydbtype)
+                        # unlink the decompressed file, we know it's not valid
+                        misc.unlink_f(repo.cachedir +'/gen/%s.sqlite' % mydbtype)
+                        db_un_fn = self._check_uncompressed_db_gen(repo,
+                                                                   mydbtype)
+                    if not db_un_fn: # Shouldn't happen?
+                        raise Errors.RepoError('%s: Check uncompressed DB failed' % repo,
+                                               repo=self)
 
                 dobj = repo.cacheHandler.open_database(db_un_fn)
 
             else:
                 repo._xml2sqlite_local = True
+                # Download...
                 xml = repo_get_function()
+
+                #  Use generated dir. and handle compression types metadata
+                # parser doesn't understand.
+                gen = mymdtype + '.xml'
+                ret = misc.repo_gen_decompress(xml, gen, cached=repo.cache)
+                if not ret:
+                    raise Errors.RepoError('%s: Decompress DB failed' % repo,
+                                           repo=self)
+                xml = ret
+                # Convert XML => .sqlite
                 xmldata = repo.repoXML.getData(mymdtype)
                 (ctype, csum) = xmldata.checksum
                 dobj = repo_cache_function(xml, csum)
@@ -193,6 +270,25 @@ class YumPackageSack(packageSack.PackageSack):
         # get rid of all this stuff we don't need now
         del repo.cacheHandler
 
+    def _check_uncompressed_db_gen(self, repo, mdtype):
+        """return file name of db in gen/ dir if good, None if not"""
+
+        mydbdata         = repo.repoXML.getData(mdtype)
+        (r_base, remote) = mydbdata.location
+        fname            = os.path.basename(remote)
+        compressed_fn    = repo.cachedir + '/' + fname
+        db_un_fn         = mdtype + '.sqlite'
+
+        if not repo._checkMD(compressed_fn, mdtype, data=mydbdata,
+                             check_can_fail=True):
+            return None
+
+        ret = misc.repo_gen_decompress(compressed_fn, db_un_fn,
+                                       cached=repo.cache)
+        if ret:
+            return self._check_uncompressed_db_fn(repo, mdtype, ret)
+        return None
+
     def _check_uncompressed_db(self, repo, mdtype):
         """return file name of uncompressed db is good, None if not"""
         mydbdata = repo.repoXML.getData(mdtype)
@@ -201,12 +297,13 @@ class YumPackageSack(packageSack.PackageSack):
         compressed_fn = repo.cachedir + '/' + fname
         db_un_fn = misc.decompress(compressed_fn, fn_only=True)
 
+        return self._check_uncompressed_db_fn(repo, mdtype, db_un_fn)
+
+    def _check_uncompressed_db_fn(self, repo, mdtype, db_un_fn):
         result = None
 
-        repo._preload_md_from_system_cache(os.path.basename(db_un_fn))
         if os.path.exists(db_un_fn):
-            if skip_old_DBMD_check and repo._using_old_MD:
-                return db_un_fn
+
 
             try:
                 repo.checkMD(db_un_fn, mdtype, openchecksum=True)
@@ -240,7 +337,6 @@ class YumRepository(Repository, config.RepoConf):
                                               # eventually want
         self.repoMDFile = 'repodata/repomd.xml'
         self._repoXML = None
-        self._using_old_MD = None
         self._oldRepoMDData = {}
         self.cache = 0
         self.mirrorlistparsed = 0
@@ -260,10 +356,11 @@ class YumRepository(Repository, config.RepoConf):
         self.copy_local = 0
         # holder for stuff we've grabbed
         self.retrieved = { 'primary':0, 'filelists':0, 'other':0, 'group':0,
-                           'updateinfo':0, 'prestodelta' : 0}
+                           'updateinfo':0, 'prestodelta':0}
 
         # callbacks
         self.callback = None  # for the grabber
+        self.multi_callback = None
         self.failure_obj = None
         self.mirror_failure_obj = None
         self.interrupt_callback = None
@@ -285,6 +382,7 @@ class YumRepository(Repository, config.RepoConf):
 
         self._grabfunc = None
         self._grab = None
+        self._async = False
 
     def __cmp__(self, other):
         """ Sort yum repos. by cost, and then by alphanumeric on their id. """
@@ -311,6 +409,36 @@ class YumRepository(Repository, config.RepoConf):
         return self._sack
     sack = property(_getSack)
 
+    def _ui_id(self):
+        """ Show self.id, but include any $releasever/$basearch/etc. data. """
+        if hasattr(self, '__cached_ui_id'):
+            return getattr(self, '__cached_ui_id')
+
+        val = config._readRawRepoFile(self)
+        if not val:
+            val = ''
+        else:
+            ini, section_id = val
+            ini = ini[section_id]
+            if 'metalink' in ini:
+                val = ini['metalink']
+            elif 'mirrorlist' in ini:
+                val = ini['mirrorlist']
+            elif 'baseurl' in ini:
+                val = ini['baseurl']
+            else:
+                val = ''
+        ret = self.id
+
+        for var in self.ui_repoid_vars:
+            if '$'+var in val:
+                ret += '/'
+                ret += str(self.yumvar[var])
+
+        setattr(self, '__cached_ui_id', ret)
+        return ret
+    ui_id = property(_ui_id)
+
     def close(self):
         if self._sack is not None:
             self.sack.close()
@@ -350,6 +478,10 @@ class YumRepository(Repository, config.RepoConf):
         return thisdata.location
 
     def __str__(self):
+        # Note: You might expect this to be .ui_id, except people got used to
+        # the fact that str(repo) == repo.id and used the former instead of
+        # the later when they wanted just the .id. So we have to live with it
+        # and use .ui_id explicitly.
         return self.id
 
     def _checksum(self, sumtype, file, CHUNK=2**16, checksum_can_fail=False,
@@ -363,7 +495,8 @@ class YumRepository(Repository, config.RepoConf):
         except (Errors.MiscError, EnvironmentError), e:
             if checksum_can_fail:
                 return None
-            raise Errors.RepoError, 'Error opening file for checksum: %s' % e
+            raise Errors.RepoError('Error opening file for checksum: %s' % e,
+                                   repo=self)
 
     def dump(self):
         output = '[%s]\n' % self.id
@@ -378,7 +511,7 @@ class YumRepository(Repository, config.RepoConf):
                         'basecachedir', 'http_headers', 'metadata_cookie',
                         'metadata_cookie_fn', 'quick_enable_disable',
                         'repoMDFile', 'timestamp_check', 'urls', 'mirrorurls',
-                        'yumvar', 'repofile')
+                        'yumvar', 'repofile', 'multi_callback')
         for attr in dir(self):
             if attr.startswith('_'):
                 continue
@@ -421,8 +554,8 @@ class YumRepository(Repository, config.RepoConf):
         """self-check the repo information  - if we don't have enough to move
            on then raise a repo error"""
         if len(self._urls) < 1 and not self.mediaid:
-            raise Errors.RepoError, \
-             'Cannot find a valid baseurl for repo: %s' % self.id
+            raise Errors.RepoError('Cannot find a valid baseurl for repo: %s' %
+                                   self.ui_id, repo=self)
 
     def doProxyDict(self):
         if self._proxy_dict:
@@ -431,25 +564,18 @@ class YumRepository(Repository, config.RepoConf):
         self._proxy_dict = {} # zap it
         proxy_string = None
         empty = (None, '_none_', '')
-        if self.proxy not in empty:
+        if self.proxy is None:  # got 'proxy=_none_'
+            proxy_string = ''   # this disables default proxies
+        elif self.proxy:
             proxy_string = '%s' % self.proxy
             if self.proxy_username not in empty:
-                proxy_parsed = urlparse.urlsplit(self.proxy, allow_fragments=0)
-                proxy_proto = proxy_parsed[0]
-                proxy_host = proxy_parsed[1]
-                # http://foo:123 == ('http', 'foo:123', '', '', '')
-                # don't turn that into: http://foo:123? - bug#328121
-                if proxy_parsed[2] == '':
-                    proxy_rest = ''
-                else:
-                    proxy_rest = proxy_parsed[2] + '?' + proxy_parsed[3]
-                proxy_string = '%s://%s@%s%s' % (proxy_proto,
-                        self.proxy_username, proxy_host, proxy_rest)
 
+                auth = urllib.quote(self.proxy_username)
                 if self.proxy_password not in empty:
-                    proxy_string = '%s://%s:%s@%s%s' % (proxy_proto,
-                              self.proxy_username, self.proxy_password,
-                              proxy_host, proxy_rest)
+                    auth += ':' + urllib.quote(self.proxy_password)
+
+                proto, rest = re.match('(\w+://)(.+)', proxy_string).groups()
+                proxy_string = '%s%s@%s' % (proto, auth, rest)
 
         if proxy_string is not None:
             self._proxy_dict['http'] = proxy_string
@@ -483,22 +609,63 @@ class YumRepository(Repository, config.RepoConf):
 
         ugopts = self._default_grabopts()
         self._grabfunc = URLGrabber(progress_obj=self.callback,
+                                    multi_progress_obj=self.multi_callback,
                                     failure_callback=self.failure_obj,
                                     interrupt_callback=self.interrupt_callback,
                                     copy_local=self.copy_local,
                                     reget='simple',
                                     **ugopts)
-
-        self._grab = mgclass(self._grabfunc, self.urls,
-                             failure_callback=self.mirror_failure_obj)
+        def add_mc(url):
+            host = urlparse.urlsplit(url).netloc.split('@')[-1]
+            mc = self.metalink_data._host2mc.get(host)
+            if mc:
+                url = {
+                    'mirror': misc.to_utf8(url),
+                    'kwargs': {
+                        'max_connections': mc.max_connections,
+                        'preference': mc.preference,
+                        'private': mc.private,
+                    },
+                }
+            return url
+        urls = self.urls
+        if self.metalink:
+            urls = map(add_mc, urls)
+
+        def mirror_failure(obj):
+            action = {}
+
+            # timeout, refused connect, and HTTP 503 may retry
+            e = obj.exception
+            if e.errno == 12 or \
+               e.errno == 14 and getattr(e, 'code', 0) in (7, 503):
+                tries = getattr(obj, 'tries', self.retries)
+                if tries <= self.retries - len(self.urls):
+                    # don't remove this mirror yet
+                    action['remove'] = False
+            elif e.errno == -3:
+                # unsupported checksum type, fail now
+                action['fail'] = True
+
+            # No known user of this callback, but just in case...
+            cb = self.mirror_failure_obj
+            if cb:
+                fun, arg, karg = callable(cb) and (cb, (), {}) or cb
+                action.update(fun(obj, *arg, **karg))
+
+            return action
+
+        self._grab = mgclass(self._grabfunc, urls,
+                             failure_callback=mirror_failure)
 
     def _default_grabopts(self, cache=True):
         opts = { 'keepalive': self.keepalive,
                  'bandwidth': self.bandwidth,
                  'retry': self.retries,
                  'throttle': self.throttle,
-                 'proxies': self.proxy_dict,
                  'timeout': self.timeout,
+                 'minrate': self.minrate,
+                 'ip_resolve': self.ip_resolve,
                  'http_headers': tuple(self.__headersListFromDict(cache=cache)),
                  'ssl_verify_peer': self.sslverify,
                  'ssl_verify_host': self.sslverify,
@@ -509,6 +676,10 @@ class YumRepository(Repository, config.RepoConf):
                  'username': self.username,
                  'password': self.password,
                  }
+        if self.proxy == 'libproxy':
+            opts['libproxy'] = True
+        else:
+            opts['proxies'] = self.proxy_dict
         return opts
 
     def _getgrabfunc(self):
@@ -531,15 +702,12 @@ class YumRepository(Repository, config.RepoConf):
         if os.path.exists(dpath) and os.path.isdir(dpath):
             return
 
-        if self.cache:
-            raise Errors.RepoError, "Cannot access repository dir %s" % dpath
-
         try:
             os.makedirs(dpath, mode=0755)
         except OSError, e:
             msg = "%s: %s %s: %s" % ("Error making cache directory",
                                      dpath, "error was", e)
-            raise Errors.RepoError, msg
+            raise Errors.RepoError(msg, repo=self)
 
     def dirSetup(self):
         """make the necessary dirs, if possible, raise on failure"""
@@ -561,7 +729,7 @@ class YumRepository(Repository, config.RepoConf):
         cookie = self.cachedir + '/' + self.metadata_cookie_fn
         self.setAttribute('_dir_setup_metadata_cookie', cookie)
 
-        for dir in [self.cachedir, self.pkgdir]:
+        for dir in [self.cachedir, self.cachedir + '/gen', self.pkgdir]:
             self._dirSetupMkdir_p(dir)
 
         # persistdir is really root-only but try the make anyway and just
@@ -714,16 +882,16 @@ class YumRepository(Repository, config.RepoConf):
             local = self.metalink_filename + '.tmp'
             if not self._metalinkCurrent():
                 url = misc.to_utf8(self.metalink)
-                ugopts = self._default_grabopts()
+                ugopts = self._default_grabopts(cache=self.http_caching=='all')
                 try:
                     ug = URLGrabber(progress_obj = self.callback, **ugopts)
-                    result = ug.urlgrab(url, local, text=self.id + "/metalink")
+                    result = ug.urlgrab(url, local, text="%s/metalink" % self.ui_id)
 
-                except urlgrabber.grabber.URLGrabError, e:
+                except URLGrabError, e:
                     if not os.path.exists(self.metalink_filename):
                         msg = ("Cannot retrieve metalink for repository: %s. "
-                               "Please verify its path and try again" % self )
-                        raise Errors.RepoError, msg
+                               "Please verify its path and try again" % self.ui_id )
+                        raise Errors.RepoError(msg, repo=self)
                     #  Now, we have an old usable metalink, so we can't move to
                     # a newer repomd.xml ... or checksums won't match.
                     print "Could not get metalink %s error was\n%s: %s" % (url, e.args[0], misc.to_unicode(e.args[1]))                    
@@ -749,9 +917,22 @@ class YumRepository(Repository, config.RepoConf):
                                                               value),
                              fdel=lambda self: setattr(self, "_metalink", None))
 
+    def _all_urls_are_files(self, url):
+        if url:
+            return url.startswith("/") or url.startswith("file:")
+
+        if not self.urls: # WTF ... but whatever.
+            return False
+
+        # Not an explicit url ... so make sure all mirrors/etc. are file://
+        for url in self.urls:
+            if not self._all_urls_are_files(url):
+                return False
+        return True
+
     def _getFile(self, url=None, relative=None, local=None, start=None, end=None,
             copy_local=None, checkfunc=None, text=None, reget='simple', 
-            cache=True, size=None):
+            cache=True, size=None, **kwargs):
         """retrieve file from the mirrorgroup for the repo
            relative to local, optionally get range from
            start to end, also optionally retrieve from a specific baseurl"""
@@ -767,18 +948,16 @@ class YumRepository(Repository, config.RepoConf):
             copy_local = self.copy_local
 
         if local is None or relative is None:
-            raise Errors.RepoError, \
-                  "get request for Repo %s, gave no source or dest" % self.id
+            raise Errors.RepoError("get request for Repo %s, gave no source or dest" % self.ui_id,
+                                   repo=self)
 
         if self.cache == 1:
             if os.path.exists(local): # FIXME - we should figure out a way
                 return local          # to run the checkfunc from here
 
             else: # ain't there - raise
-                raise Errors.RepoError, \
-                    "Caching enabled but no local cache of %s from %s" % (local,
-
-                           self)
+                raise Errors.RepoError("Caching enabled but no local cache of %s from %s" % (local, self.ui_id),
+                                       repo=self)
 
         if url:
             (scheme, netloc, path, query, fragid) = urlparse.urlsplit(url)
@@ -796,6 +975,16 @@ class YumRepository(Repository, config.RepoConf):
             except Errors.MediaError, e:
                 verbose_logger.log(logginglevels.DEBUG_2, "Error getting package from media; falling back to url %s" %(e,))
 
+        if size and (copy_local or not self._all_urls_are_files(url)):
+            dirstat = os.statvfs(os.path.dirname(local))
+            avail = dirstat.f_bavail * dirstat.f_bsize
+            if avail < long(size):
+                raise Errors.RepoError(_('''\
+Insufficient space in download directory %s
+    * free   %s
+    * needed %s'''
+                ) % (os.path.dirname(local), format_number(avail), format_number(long(size))), repo=self)
+
         if url and scheme != "media":
             ugopts = self._default_grabopts(cache=cache)
             ug = URLGrabber(progress_obj = self.callback,
@@ -815,15 +1004,9 @@ class YumRepository(Repository, config.RepoConf):
                                     range=(start, end),
                                     )
             except URLGrabError, e:
-                errstr = "failed to retrieve %s from %s\nerror was %s" % (relative, self.id, e)
-                if self.mirrorurls:
-                    errstr +="\n  You could try running: yum clean expire-cache"
-                    errstr +="\n  To get a new set of mirrors."
-                if e.errno == 256:
-                    raise Errors.NoMoreMirrorsRepoError, errstr
-                else:
-                    raise Errors.RepoError, errstr
-
+                self._del_dl_file(local, size)
+                errstr = "failed to retrieve %s from %s\nerror was %s" % (relative, self, e)
+                raise Errors.RepoError(errstr, repo=self)
 
         else:
             headers = tuple(self.__headersListFromDict(cache=cache))
@@ -835,19 +1018,19 @@ class YumRepository(Repository, config.RepoConf):
                                            reget = reget,
                                            checkfunc=checkfunc,
                                            http_headers=headers,
-                                           size=size
+                                           size=size,
+                                           **kwargs
                                            )
             except URLGrabError, e:
-                errstr = "failure: %s from %s: %s" % (relative, self.id, e)
-                if e.errno == 256:
-                    raise Errors.NoMoreMirrorsRepoError, errstr
-                else:
-                    raise Errors.RepoError, errstr
+                self._del_dl_file(local, size)
+                errstr = "failure: %s from %s: %s" % (relative, self, e)
+                errors = getattr(e, 'errors', None)
+                raise Errors.NoMoreMirrorsRepoError(errstr, errors, repo=self)
 
         return result
     __get = _getFile
 
-    def getPackage(self, package, checkfunc=None, text=None, cache=True):
+    def getPackage(self, package, checkfunc=None, text=None, cache=True, **kwargs):
         remote = package.relativepath
         local = package.localPkg()
         basepath = package.basepath
@@ -857,15 +1040,30 @@ class YumRepository(Repository, config.RepoConf):
                 return local
             misc.unlink_f(local)
 
-        return self._getFile(url=basepath,
+        if checkfunc is None:
+            def checkfunc(obj):
+                if not package.verifyLocalPkg():
+                    misc.unlink_f(local)
+                    raise URLGrabError(-1, _('Package does not match intended download.'))
+
+        ret = self._getFile(url=basepath,
                         relative=remote,
                         local=local,
                         checkfunc=checkfunc,
                         text=text,
                         cache=cache,
                         size=package.size,
+                        **kwargs
                         )
 
+        if not kwargs.get('async') and not package.verifyLocalPkg():
+            # Don't return as "success" when bad.
+            msg = "Downloaded package %s, from %s, but it was invalid."
+            msg = msg % (package, package.repo.id)
+            raise Errors.RepoError(msg, repo=self)
+
+        return ret
+
     def getHeader(self, package, checkfunc = None, reget = 'simple',
             cache = True):
 
@@ -894,19 +1092,16 @@ class YumRepository(Repository, config.RepoConf):
 
         mC_def = self.withinCacheAge(self.metadata_cookie, self.metadata_expire)
         if not mC_def: # Normal path...
-            self._metadataCurrent = mC_def
             return mC_def
 
         # Edge cases, both repomd.xml and metalink (if used). Must exist.
         repomdfn = self.cachedir + '/' + 'repomd.xml'
         if not os.path.exists(repomdfn):
-            self._metadataCurrent = False
             return False
 
         self._hack_mirrorlist_for_anaconda()
         mlfn = self.cachedir + '/' + 'metalink.xml'
         if self.metalink and not os.path.exists(mlfn):
-            self._metadataCurrent = False
             return False
 
         self._metadataCurrent = True
@@ -921,7 +1116,8 @@ class YumRepository(Repository, config.RepoConf):
             return self._metadataCurrent
 
         if self.cache and not os.path.exists(self.metalink_filename):
-            raise Errors.RepoError, 'Cannot find metalink.xml file for %s' %self
+            raise Errors.RepoError('Cannot find metalink.xml file for %s' %self,
+                                   repo=self)
 
         if self.cache:
             self._metadataCurrent = True
@@ -933,7 +1129,7 @@ class YumRepository(Repository, config.RepoConf):
             self._metadataCurrent = False
         return self._metadataCurrent
 
-    def withinCacheAge(self, myfile, expiration_time):
+    def withinCacheAge(self, myfile, expiration_time, expire_req_filter=True):
         """check if any file is older than a certain amount of time. Used for
            the cachecookie and the mirrorlist
            return True if w/i the expiration time limit
@@ -943,6 +1139,24 @@ class YumRepository(Repository, config.RepoConf):
            file. If any of them are newer then invalidate the cache
            """
 
+        # Never/write means we just skip this...
+        if (expire_req_filter and hasattr(self, '_metadata_cache_req') and
+            self._metadata_cache_req.startswith("read-only:") and
+            self.metadata_expire_filter.startswith("read-only:")):
+
+            cache_filt = self.metadata_expire_filter[len("read-only:"):]
+            cache_req  = self._metadata_cache_req[len("read-only:"):]
+
+            if cache_filt == 'future':
+                assert cache_req in ('past', 'present', 'future')
+                expiration_time = -1
+            if cache_filt == 'present':
+                if cache_req in ('past', 'present'):
+                    expiration_time = -1
+            if cache_filt == 'past':
+                if cache_req == 'past':
+                    expiration_time = -1
+
         # -1 is special and should never get refreshed
         if expiration_time == -1 and os.path.exists(myfile):
             return True
@@ -955,6 +1169,9 @@ class YumRepository(Repository, config.RepoConf):
             elif cookie_info[8] > time.time():
                 val = False
 
+            if not self.check_config_file_age:
+                return val
+
             # make sure none of our config files for this repo are newer than
             # us
             if cookie_info[8] < int(self.repo_config_age):
@@ -991,7 +1208,8 @@ class YumRepository(Repository, config.RepoConf):
     def _cachingRepoXML(self, local):
         """ Should we cache the current repomd.xml """
         if self.cache and not os.path.exists(local):
-            raise Errors.RepoError, 'Cannot find repomd.xml file for %s' % self
+            raise Errors.RepoError('Cannot find repomd.xml file for %s' % self.ui_id,
+                                   repo=self)
         if self.cache or self.metadataCurrent():
             return True
         return False
@@ -1019,8 +1237,9 @@ class YumRepository(Repository, config.RepoConf):
             misc.unlink_f(tfname)
             if grab_can_fail:
                 return None
-            raise Errors.RepoError, 'Error downloading file %s: %s' % (local, e)
-        except (Errors.NoMoreMirrorsRepoError, Errors.RepoError):
+            raise Errors.RepoError('Error downloading file %s: %s' % (local, e),
+                                   repo=self)
+        except Errors.RepoError:
             misc.unlink_f(tfname)
             if grab_can_fail:
                 return None
@@ -1034,8 +1253,9 @@ class YumRepository(Repository, config.RepoConf):
             misc.unlink_f(tfname)
             if grab_can_fail:
                 return None
-            raise Errors.RepoError, 'Error renaming file %s to %s' % (result,
-                                                                      local)
+            raise Errors.RepoError('Error renaming file %s to %s' % (result,
+                                                                      local),
+                                   repo=self)
         return local
 
     def _parseRepoXML(self, local, parse_can_fail=None):
@@ -1047,7 +1267,8 @@ class YumRepository(Repository, config.RepoConf):
                 parse_can_fail = 'old_repo_XML' in self._oldRepoMDData
             if parse_can_fail:
                 return None
-            raise Errors.RepoError, 'Error importing repomd.xml from %s: %s' % (self, e)
+            raise Errors.RepoError('Error importing repomd.xml from %s: %s' % (self.ui_id, e),
+                                   repo=self)
 
     def _saveOldRepoXML(self, local):
         """ If we have an older repomd.xml file available, save it out. """
@@ -1074,7 +1295,8 @@ class YumRepository(Repository, config.RepoConf):
         #  We still want the old data, so we don't download twice. So we
         # pretend everything is good until the revert.
         if not self.timestamp_check:
-            raise Errors.RepoError, "Can't download or revert repomd.xml"
+            raise Errors.RepoError("Can't download or revert repomd.xml for %s" % self.ui_id,
+                                   repo=self)
 
         if 'old_repo_XML' not in self._oldRepoMDData:
             self._oldRepoMDData = {}
@@ -1250,7 +1472,6 @@ class YumRepository(Repository, config.RepoConf):
             self._revertOldRepoXML()
             return False
 
-        self._using_old_MD = caching
         if caching:
             return False # Skip any work.
 
@@ -1260,6 +1481,9 @@ class YumRepository(Repository, config.RepoConf):
         return True
 
     def _check_db_version(self, mdtype, repoXML=None):
+        if self.mddownloadpolicy == 'xml':
+            return False
+
         if repoXML is None:
             repoXML = self.repoXML
         if mdtype in repoXML.repoData:
@@ -1277,11 +1501,11 @@ class YumRepository(Repository, config.RepoConf):
             return None
 
         if not file_check:
-            compressed = dbmdtype.endswith("_db")
-            local = self._get_mdtype_fname(data, compressed)
+            compressed = False
+            local = self._get_mdtype_fname(data)
         else:
             compressed = False
-            local = self._get_mdtype_fname(data, False)
+            local = self._get_mdtype_fname(data)
             if not os.path.exists(local):
                 local = misc.decompress(local, fn_only=True)
                 compressed = True
@@ -1302,6 +1526,17 @@ class YumRepository(Repository, config.RepoConf):
             into the delete list, this means metadata can change filename
             without us leaking it. """
 
+        downloading = self._commonRetrieveDataMD_list(mdtypes)
+        for (ndata, nmdtype) in downloading:
+            if not self._retrieveMD(nmdtype, retrieve_can_fail=True):
+                self._revertOldRepoXML()
+                return False
+        self._commonRetrieveDataMD_done(downloading)
+        return True
+
+    def _commonRetrieveDataMD_list(self, mdtypes):
+        """ Return a list of metadata to be retrieved """
+
         def _mdtype_eq(omdtype, odata, nmdtype, ndata):
             """ Check if two returns from _get_mdtype_data() are equal. """
             if ndata is None:
@@ -1321,6 +1556,14 @@ class YumRepository(Repository, config.RepoConf):
             return True
 
         all_mdtypes = self.retrieved.keys()
+        # Add in any extra stuff we don't know about.
+        for mdtype in self.repoXML.fileTypes():
+            if mdtype in all_mdtypes:
+                continue
+            if mdtype in ('primary_db', 'filelists_db', 'other_db', 'group_gz'):
+                continue
+            all_mdtypes.append(mdtype)
+
         if mdtypes is None:
             mdtypes = all_mdtypes
 
@@ -1332,9 +1575,8 @@ class YumRepository(Repository, config.RepoConf):
             self._oldRepoMDData['old_MD_files'] = reverts
 
         # Inited twice atm. ... sue me
-        self._oldRepoMDData['new_MD_files'] = []
-        downloading_with_size = []
-        downloading_no_size   = []
+        newmdfiles = self._oldRepoMDData['new_MD_files'] = []
+        downloading = []
         for mdtype in all_mdtypes:
             (nmdtype, ndata) = self._get_mdtype_data(mdtype)
 
@@ -1371,43 +1613,16 @@ class YumRepository(Repository, config.RepoConf):
             # No old repomd data, but we might still have uncompressed MD
             if self._groupCheckDataMDValid(ndata, nmdtype, mdtype):
                 continue
+            downloading.append((ndata, nmdtype))
+            newmdfiles.append(self._get_mdtype_fname(ndata, False))
+        return downloading
 
-            if ndata.size is None:
-                downloading_no_size.append((ndata, nmdtype))
-            else:
-                downloading_with_size.append((ndata, nmdtype))
-
-        if len(downloading_with_size) == 1:
-            downloading_no_size.extend(downloading_with_size)
-            downloading_with_size = []
-
-        remote_size = 0
-        local_size  = 0
-        for (ndata, nmdtype) in downloading_with_size: # Get total size...
-            remote_size += int(ndata.size)
+    def _commonRetrieveDataMD_done(self, downloading):
+        """ Uncompress the downloaded metadata """
 
-        for (ndata, nmdtype) in downloading_with_size:
-            urlgrabber.progress.text_meter_total_size(remote_size, local_size)
-            if not self._retrieveMD(nmdtype, retrieve_can_fail=True):
-                self._revertOldRepoXML()
-                return False
-            local_size += int(ndata.size)
-        urlgrabber.progress.text_meter_total_size(0)
-        for (ndata, nmdtype) in downloading_no_size:
-            if not self._retrieveMD(nmdtype, retrieve_can_fail=True):
-                self._revertOldRepoXML()
-                return False
-
-        for (ndata, nmdtype) in downloading_with_size + downloading_no_size:
+        for (ndata, nmdtype) in downloading:
             local = self._get_mdtype_fname(ndata, False)
-            if nmdtype.endswith("_db"): # Uncompress any compressed files
-                dl_local = local
-                local = misc.decompress(dl_local)
-                misc.unlink_f(dl_local)
-            self._oldRepoMDData['new_MD_files'].append(local)
-
         self._doneOldRepoXML()
-        return True
 
     def _groupLoadRepoXML(self, text=None, mdtypes=None):
         """ Retrieve the new repomd.xml from the repository, then check it
@@ -1421,11 +1636,11 @@ class YumRepository(Repository, config.RepoConf):
             self._commonRetrieveDataMD(mdtypes)
 
     def _mdpolicy2mdtypes(self):
-        md_groups = {'instant'       : [],
+        md_groups = {'instant'       : ['__None__'],
                      'group:primary' : ['primary'],
-                     'group:small'   : ["primary", "updateinfo"],
-                     'group:main'    : ["primary", "group", "filelists",
-                                        "updateinfo", "prestodelta"]}
+                     'group:small'   : ["primary", "updateinfo", "group", "pkgtags"],
+                     'group:main'    : ["primary", "updateinfo", "group", "pkgtags",
+                                        "filelists", "prestodelta"]}
         mdtypes = set()
         if type(self.mdpolicy) in types.StringTypes:
             mdtypes.update(md_groups.get(self.mdpolicy, [self.mdpolicy]))
@@ -1436,6 +1651,7 @@ class YumRepository(Repository, config.RepoConf):
         if not mdtypes or 'group:all' in mdtypes:
             mdtypes = None
         else:
+            mdtypes.discard("__None__")
             mdtypes = sorted(list(mdtypes))
         return mdtypes
 
@@ -1446,17 +1662,13 @@ class YumRepository(Repository, config.RepoConf):
         except KeyboardInterrupt:
             self._revertOldRepoXML() # Undo metadata cookie?
             raise
-        raise Errors.RepoError, 'Bad loadRepoXML policy: %s' % (self.mdpolicy)
+        raise Errors.RepoError('Bad loadRepoXML policy (for %s): %s' % (self.ui_id, self.mdpolicy),
+                               repo=self)
 
     def _getRepoXML(self):
         if self._repoXML:
             return self._repoXML
-        try:
-            self._loadRepoXML(text=self)
-        except Errors.RepoError, e:
-            msg = ("Cannot retrieve repository metadata (repomd.xml) for repository: %s. "
-                  "Please verify its path and try again" % self )
-            raise Errors.RepoError, msg
+        self._loadRepoXML(text=self.ui_id)
         return self._repoXML
 
 
@@ -1480,7 +1692,7 @@ class YumRepository(Repository, config.RepoConf):
                 result = self._getFile(relative='repodata/repomd.xml.asc',
                                        copy_local=1,
                                        local = sigfile,
-                                       text='%s/signature' % self.id,
+                                       text='%s/signature' % self.ui_id,
                                        reget=None,
                                        checkfunc=None,
                                        cache=self.http_caching == 'all',
@@ -1508,6 +1720,18 @@ class YumRepository(Repository, config.RepoConf):
             raise URLGrabError(-1, 'repomd.xml does not match metalink for %s' %
                                self)
 
+    def _del_dl_file(self, local, size):
+        """ Delete a downloaded file if it's the correct size. """
+
+        sd = misc.stat_f(local)
+        if not sd: # File doesn't exist...
+            return
+
+        if size and sd.st_size < size:
+            return # Still more to get...
+
+        # Is the correct size, or too big ... delete it so we'll try again.
+        misc.unlink_f(local)
 
     def checkMD(self, fn, mdtype, openchecksum=False):
         """check the metadata type against its checksum"""
@@ -1537,6 +1761,16 @@ class YumRepository(Repository, config.RepoConf):
         if size is not None:
             size = int(size)
 
+        l_csum = _xattr_get_chksum(file, r_ctype)
+        if l_csum:
+            fsize = misc.stat_f(file)
+            if fsize is not None: # We just got an xattr, so it should be there
+                if size is None and l_csum == r_csum and fsize.st_size > 0:
+                    return 1
+                if size == fsize.st_size and l_csum == r_csum:
+                    return 1
+            # Anything goes wrong, run the checksums as normal...
+
         try: # get the local checksum
             l_csum = self._checksum(r_ctype, file, datasize=size)
         except Errors.RepoError, e:
@@ -1545,21 +1779,20 @@ class YumRepository(Repository, config.RepoConf):
             raise URLGrabError(-3, 'Error performing checksum')
 
         if l_csum == r_csum:
+            _xattr_set_chksum(file, r_ctype, l_csum)
             return 1
         else:
             if check_can_fail:
                 return None
             raise URLGrabError(-1, 'Metadata file does not match checksum')
 
-
-
     def retrieveMD(self, mdtype):
         """base function to retrieve metadata files from the remote url
            returns the path to the local metadata file of a 'mdtype'
            mdtype can be 'primary', 'filelists', 'other' or 'group'."""
         return self._retrieveMD(mdtype)
 
-    def _retrieveMD(self, mdtype, retrieve_can_fail=False):
+    def _retrieveMD(self, mdtype, retrieve_can_fail=False, **kwargs):
         """ Internal function, use .retrieveMD() from outside yum. """
         #  Note that this can raise Errors.RepoMDError if mdtype doesn't exist
         # for this repo.
@@ -1575,37 +1808,38 @@ class YumRepository(Repository, config.RepoConf):
             # got it, move along
             return local
 
-        if self.cache == 1:
-            if os.path.exists(local):
-                try:
-                    self.checkMD(local, mdtype)
-                except URLGrabError, e:
-                    raise Errors.RepoError, \
-                        "Caching enabled and local cache: %s does not match checksum" % local
-                else:
-                    return local
-
-            else: # ain't there - raise
-                raise Errors.RepoError, \
-                    "Caching enabled but no local cache of %s from %s" % (local,
-                           self)
-
         if (os.path.exists(local) or
             self._preload_md_from_system_cache(os.path.basename(local))):
             if self._checkMD(local, mdtype, check_can_fail=True):
                 self.retrieved[mdtype] = 1
                 return local # it's the same return the local one
 
+        if self.cache == 1:
+            if retrieve_can_fail:
+                return None
+            if os.path.exists(local):
+                msg = "Caching enabled and local cache: %s does not match checksum" % local
+            else:
+                msg = "Caching enabled but no local cache of %s from %s" % (local, self.ui_id)
+            raise Errors.RepoError(msg, repo=self)
+
         try:
-            checkfunc = (self.checkMD, (mdtype,), {})
-            text = "%s/%s" % (self.id, mdtype)
+            def checkfunc(obj):
+                try:
+                    self.checkMD(obj, mdtype)
+                except URLGrabError:
+                    #  Don't share MD among mirrors, in theory we could use:
+                    #     self._del_dl_file(local, int(thisdata.size))
+                    # ...but this is safer.
+                    misc.unlink_f(obj.filename)
+                    raise
+                self.retrieved[mdtype] = 1
+            text = "%s/%s" % (self.ui_id, mdtype)
             if thisdata.size is None:
                 reget = None
             else:
                 reget = 'simple'
-                if os.path.exists(local):
-                    if os.stat(local).st_size >= int(thisdata.size):
-                        misc.unlink_f(local)
+                self._del_dl_file(local, int(thisdata.size))
             local = self._getFile(relative=remote,
                                   local=local, 
                                   copy_local=1,
@@ -1613,18 +1847,18 @@ class YumRepository(Repository, config.RepoConf):
                                   checkfunc=checkfunc, 
                                   text=text,
                                   cache=self.http_caching == 'all',
-                                  size=thisdata.size)
-        except (Errors.NoMoreMirrorsRepoError, Errors.RepoError):
+                                  size=thisdata.size,
+                                  **kwargs)
+        except Errors.RepoError:
             if retrieve_can_fail:
                 return None
             raise
         except URLGrabError, e:
             if retrieve_can_fail:
                 return None
-            raise Errors.RepoError, \
-                "Could not retrieve %s matching remote checksum from %s" % (local, self)
+            raise Errors.RepoError("Could not retrieve %s matching remote checksum from %s" % (local, self.ui_id),
+                                   repo=self)
         else:
-            self.retrieved[mdtype] = 1
             return local
 
 
@@ -1646,13 +1880,21 @@ class YumRepository(Repository, config.RepoConf):
 
     def getGroups(self):
         """gets groups and returns group file path for the repository, if there
-           is none it returns None"""
+           is none or retrieve/decompress fails, it returns None"""
         if 'group_gz' in self.repoXML.fileTypes():
-            return self._retrieveMD('group_gz', retrieve_can_fail=True)
+            fn = self._retrieveMD('group_gz', retrieve_can_fail=True)
+            if fn:
+                try:
+                    fn = misc.repo_gen_decompress(fn, 'comps.xml', cached=self.cache)
+                except IOError, e:
+                    logger.warning(e)
+                    fn = None
+            return fn
         return self._retrieveMD('group', retrieve_can_fail=True)
 
-    def setCallback(self, callback):
+    def setCallback(self, callback, multi_callback=None):
         self.callback = callback
+        self.multi_callback = multi_callback
         self._callbacks_changed = True
 
     def setFailureObj(self, failure_obj):
@@ -1681,7 +1923,7 @@ class YumRepository(Repository, config.RepoConf):
                 print "Could not read mirrorlist %s, error was \n%s" %(url, e)
                 content = []
             for line in content:
-                if re.match('\s*(#|$)', line):
+                if not re.match('\w+://\S+\s*$', line):
                     continue
                 mirror = line.rstrip() # no more trailing \n's
                 mirror = mirror.replace('$ARCH', '$BASEARCH')
@@ -1701,7 +1943,8 @@ class YumRepository(Repository, config.RepoConf):
         fo = None
 
         cacheok = False
-        if self.withinCacheAge(self.mirrorlist_file, self.mirrorlist_expire):
+        if self.withinCacheAge(self.mirrorlist_file, self.mirrorlist_expire,
+                               expire_req_filter=False):
             cacheok = True
             fo = open(self.mirrorlist_file, 'r')
             url = 'file://' + self.mirrorlist_file # just to keep self._readMirrorList(fo,url) happy
@@ -1713,7 +1956,7 @@ class YumRepository(Repository, config.RepoConf):
             ugopts = self._default_grabopts()
             try:
                 fo = urlgrabber.grabber.urlopen(url, **ugopts)
-            except urlgrabber.grabber.URLGrabError, e:
+            except URLGrabError, e:
                 print "Could not retrieve mirrorlist %s error was\n%s: %s" % (url, e.args[0], misc.to_unicode(e.args[1]))
                 fo = None
 
@@ -1740,7 +1983,11 @@ class YumRepository(Repository, config.RepoConf):
         if os.path.exists(destfn):
             if os.stat(fn)[stat.ST_CTIME] <= os.stat(destfn)[stat.ST_CTIME]:
                 return False
-        shutil.copy2(fn, destfn)
+        try:
+            # IOError is the main culprit, with mode=600. But ignore everything.
+            shutil.copy2(fn, destfn)
+        except:
+            return False
         return True
 
     def _preload_file_from_system_cache(self, filename, subdir='',
@@ -1877,7 +2124,7 @@ def getMirrorList(mirrorlist, pdict = None):
 
     try:
         fo = urlresolver.urlopen(url, proxies=pdict)
-    except urlgrabber.grabber.URLGrabError, e:
+    except URLGrabError, e:
         print "Could not retrieve mirrorlist %s error was\n%s: %s" % (url, e.args[0], misc.to_unicode(e.args[1]))
         fo = None
 
diff --git a/yumcommands.py b/yumcommands.py
index 4dcbea7..b610f3a 100644
--- a/yumcommands.py
+++ b/yumcommands.py
@@ -13,6 +13,7 @@
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 # Copyright 2006 Duke University 
+# Copyright 2013 Red Hat
 # Written by Seth Vidal
 
 """
@@ -20,18 +21,26 @@ Classes for subcommands of the yum command line interface.
 """
 
 import os
+import sys
 import cli
+import rpm
 from yum import logginglevels
-from yum import _
+from yum import _, P_
 from yum import misc
 import yum.Errors
 import operator
 import locale
 import fnmatch
 import time
-from yum.i18n import utf8_width, utf8_width_fill, to_unicode
+from yum.i18n import utf8_width, utf8_width_fill, to_unicode, exception2msg
+import tempfile
+import shutil
+import distutils.spawn
+import glob
+import errno
 
 import yum.config
+from yum import updateinfo
 
 def _err_mini_usage(base, basecmd):
     if basecmd not in base.yum_cli_commands:
@@ -43,16 +52,24 @@ def _err_mini_usage(base, basecmd):
     base.logger.critical(txt)
 
 def checkRootUID(base):
-    """
-    Verify that the program is being run by the root user.
+    """Verify that the program is being run by the root user.
 
-    @param base: a YumBase object.
+    :param base: a :class:`yum.Yumbase` object.
+    :raises: :class:`cli.CliError`
     """
     if base.conf.uid != 0:
         base.logger.critical(_('You need to be root to perform this command.'))
         raise cli.CliError
 
 def checkGPGKey(base):
+    """Verify that there are gpg keys for the enabled repositories in the
+    rpm database.
+
+    :param base: a :class:`yum.Yumbase` object.
+    :raises: :class:`cli.CliError`
+    """
+    if base._override_sigchecks:
+        return
     if not base.gpgKeyCheck():
         for repo in base.repos.listEnabled():
             if (repo.gpgcheck or repo.repo_gpgcheck) and not repo.gpgkey:
@@ -75,31 +92,117 @@ For more information contact your distribution or package provider.
                 raise cli.CliError
 
 def checkPackageArg(base, basecmd, extcmds):
+    """Verify that *extcmds* contains the name of at least one package for
+    *basecmd* to act on.
+
+    :param base: a :class:`yum.Yumbase` object.
+    :param basecmd: the name of the command being checked for
+    :param extcmds: a list of arguments passed to *basecmd*
+    :raises: :class:`cli.CliError`
+    """
     if len(extcmds) == 0:
         base.logger.critical(
                 _('Error: Need to pass a list of pkgs to %s') % basecmd)
         _err_mini_usage(base, basecmd)
         raise cli.CliError
 
+def checkSwapPackageArg(base, basecmd, extcmds):
+    """Verify that *extcmds* contains the name of at least two packages for
+    *basecmd* to act on.
+
+    :param base: a :class:`yum.Yumbase` object.
+    :param basecmd: the name of the command being checked for
+    :param extcmds: a list of arguments passed to *basecmd*
+    :raises: :class:`cli.CliError`
+    """
+    min_args = 2
+    if '--' in extcmds:
+        min_args = 3
+    if len(extcmds) < min_args:
+        base.logger.critical(
+                _('Error: Need at least two packages to %s') % basecmd)
+        _err_mini_usage(base, basecmd)
+        raise cli.CliError
+
+def checkRepoPackageArg(base, basecmd, extcmds):
+    """Verify that *extcmds* contains the name of at least one package for
+    *basecmd* to act on.
+
+    :param base: a :class:`yum.Yumbase` object.
+    :param basecmd: the name of the command being checked for
+    :param extcmds: a list of arguments passed to *basecmd*
+    :raises: :class:`cli.CliError`
+    """
+    repos = base.repos.findRepos(extcmds[0], name_match=True, ignore_case=True)
+    if not repos:
+        base.logger.critical(
+                _('Error: Need to pass a single valid repoid. to %s') % basecmd)
+        _err_mini_usage(base, basecmd)
+        raise cli.CliError
+
+    if len(repos) > 1:
+        repos = [r for r in repos if r.isEnabled()]
+
+    if len(repos) > 1:
+        repos = ", ".join([r.ui_id for r in repos])
+        base.logger.critical(
+                _('Error: Need to pass only a single valid repoid. to %s, passed: %s') % (basecmd, repos))
+        _err_mini_usage(base, basecmd)
+        raise cli.CliError
+    if not repos[0].isEnabled():
+        # Might as well just fix this...
+        base.repos.enableRepo(repos[0].id)
+        base.verbose_logger.info(
+                _('Repo %s has been automatically enabled.') % repos[0].ui_id)
+    return repos[0].id
+
+
 def checkItemArg(base, basecmd, extcmds):
+    """Verify that *extcmds* contains the name of at least one item for
+    *basecmd* to act on.  Generally, the items are command-line
+    arguments that are not the name of a package, such as a file name
+    passed to provides.
+
+    :param base: a :class:`yum.Yumbase` object.
+    :param basecmd: the name of the command being checked for
+    :param extcmds: a list of arguments passed to *basecmd*
+    :raises: :class:`cli.CliError`
+    """
     if len(extcmds) == 0:
         base.logger.critical(_('Error: Need an item to match'))
         _err_mini_usage(base, basecmd)
         raise cli.CliError
 
 def checkGroupArg(base, basecmd, extcmds):
+    """Verify that *extcmds* contains the name of at least one group for
+    *basecmd* to act on.
+
+    :param base: a :class:`yum.Yumbase` object.
+    :param basecmd: the name of the command being checked for
+    :param extcmds: a list of arguments passed to *basecmd*
+    :raises: :class:`cli.CliError`
+    """
     if len(extcmds) == 0:
         base.logger.critical(_('Error: Need a group or list of groups'))
         _err_mini_usage(base, basecmd)
         raise cli.CliError    
 
 def checkCleanArg(base, basecmd, extcmds):
+    """Verify that *extcmds* contains at least one argument, and that all
+    arguments in *extcmds* are valid options for clean.
+
+    :param base: a :class:`yum.Yumbase` object
+    :param basecmd: the name of the command being checked for
+    :param extcmds: a list of arguments passed to *basecmd*
+    :raises: :class:`cli.CliError`
+    """
     VALID_ARGS = ('headers', 'packages', 'metadata', 'dbcache', 'plugins',
                   'expire-cache', 'rpmdb', 'all')
 
     if len(extcmds) == 0:
         base.logger.critical(_('Error: clean requires an option: %s') % (
             ", ".join(VALID_ARGS)))
+        raise cli.CliError
 
     for cmd in extcmds:
         if cmd not in VALID_ARGS:
@@ -108,12 +211,14 @@ def checkCleanArg(base, basecmd, extcmds):
             raise cli.CliError
 
 def checkShellArg(base, basecmd, extcmds):
-    """
-    Verify that the arguments given to 'yum shell' are valid.
-
-    yum shell can be given either no args, or exactly one argument,
-    which is the name of a file. If these are not met,
-    raise cli.CliError.
+    """Verify that the arguments given to 'yum shell' are valid.  yum
+    shell can be given either no argument, or exactly one argument,
+    which is the name of a file.
+
+    :param base: a :class:`yum.Yumbase` object.
+    :param basecmd: the name of the command being checked for
+    :param extcmds: a list of arguments passed to *basecmd*
+    :raises: :class:`cli.CliError`
     """
     if len(extcmds) == 0:
         base.verbose_logger.debug(_("No argument to shell"))
@@ -133,10 +238,12 @@ def checkShellArg(base, basecmd, extcmds):
         raise cli.CliError
 
 def checkEnabledRepo(base, possible_local_files=[]):
-    """
-    Verify that there is at least one enabled repo.
+    """Verify that there is at least one enabled repo.
 
-    @param base: a YumBase object.
+    :param base: a :class:`yum.Yumbase` object.
+    :param basecmd: the name of the command being checked for
+    :param extcmds: a list of arguments passed to *basecmd*
+    :raises: :class:`cli.CliError`:
     """
     if base.repos.listEnabled():
         return
@@ -145,6 +252,11 @@ def checkEnabledRepo(base, possible_local_files=[]):
         if lfile.endswith(".rpm") and os.path.exists(lfile):
             return
 
+    # runs prereposetup (which "most" plugins currently use to add repos.)
+    base.pkgSack
+    if base.repos.listEnabled():
+        return
+
     msg = _('There are no enabled repos.\n'
             ' Run "yum repolist all" to see the repos you have.\n'
             ' You can enable repos with yum-config-manager --enable <repo>')
@@ -152,113 +264,296 @@ def checkEnabledRepo(base, possible_local_files=[]):
     raise cli.CliError
 
 class YumCommand:
-        
+    """An abstract base class that defines the methods needed by the cli
+    to execute a specific command.  Subclasses must override at least
+    :func:`getUsage` and :func:`getSummary`.
+    """
+
     def __init__(self):
         self.done_command_once = False
         self.hidden = False
 
     def doneCommand(self, base, msg, *args):
+        """ Output *msg* the first time that this method is called, and do
+        nothing on subsequent calls.  This is to prevent duplicate
+        messages from being printed for the same command.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param msg: the message to be output
+        :param *args: additional arguments associated with the message
+        """
         if not self.done_command_once:
-            base.verbose_logger.info(msg, *args)
+            base.verbose_logger.info(logginglevels.INFO_2, msg, *args)
         self.done_command_once = True
 
     def getNames(self):
+        """Return a list of strings that are the names of the command.
+        The command can be called from the command line by using any
+        of these names.
+
+        :return: a list containing the names of the command
+        """
         return []
 
     def getUsage(self):
-        """
-        @return: A usage string for the command, including arguments.
+        """Return a usage string for the command, including arguments.
+
+        :return: a usage string for the command
         """
         raise NotImplementedError
 
     def getSummary(self):
-        """
-        @return: A one line summary of what the command does.
+        """Return a one line summary of what the command does.
+
+        :return: a one line summary of what the command does
         """
         raise NotImplementedError
     
     def doCheck(self, base, basecmd, extcmds):
+        """Verify that various conditions are met so that the command
+        can run.
+
+        :param base: a :class:`yum.Yumbase` object.
+        :param basecmd: the name of the command being checked for
+        :param extcmds: a list of arguments passed to *basecmd*
+        """
         pass
 
     def doCommand(self, base, basecmd, extcmds):
-        """
-        @return: (exit_code, [ errors ]) where exit_code is:
-           0 = we're done, exit
-           1 = we've errored, exit with error string
-           2 = we've got work yet to do, onto the next stage
+        """Execute the command
+
+        :param base: a :class:`yum.Yumbase` object.
+        :param basecmd: the name of the command being executed
+        :param extcmds: a list of arguments passed to *basecmd*
+        :return: (exit_code, [ errors ])
+
+        exit_code is::
+
+            0 = we're done, exit
+            1 = we've errored, exit with error string
+            2 = we've got work yet to do, onto the next stage
         """
         return 0, [_('Nothing to do')]
     
     def needTs(self, base, basecmd, extcmds):
+        """Return whether a transaction set must be set up before the
+        command can run
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: a list of arguments passed to *basecmd*
+        :return: True if a transaction set is needed, False otherwise
+        """
         return True
+
+    #  Some of this is subjective, esp. between past/present, but roughly use:
+    #
+    # write = I'm using package data to alter the rpmdb in anyway.
+    # read-only:future  = I'm providing data that is likely to result in a
+    #                     future write, so we might as well do it now.
+    #                     Eg. yum check-update && yum update -q -y
+    # read-only:present = I'm providing data about the present state of
+    #                     packages in the repo.
+    #                     Eg. yum list yum
+    # read-only:past    = I'm providing context data about past writes, or just
+    #                     anything that is available is good enough for me
+    #                     (speed is much better than quality).
+    #                     Eg. yum history info
+    #                     Eg. TAB completion
+    #
+    # ...default is write, which does the same thing we always did (obey
+    # metadata_expire and live with it).
+    def cacheRequirement(self, base, basecmd, extcmds):
+        """Return the cache requirements for the remote repos.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: a list of arguments passed to *basecmd*
+        :return: Type of requirement: read-only:past, read-only:present, read-only:future, write
+        """
+        return 'write'
         
+
 class InstallCommand(YumCommand):
+    """A class containing methods needed by the cli to execute the
+    install command.
+    """
+
     def getNames(self):
-        return ['install']
+        """Return a list containing the names of this command.  This
+        command can be called from the command line by using any of
+        these names.
+
+        :return: a list containing the names of this command
+        """
+        return ['install', 'install-n', 'install-na', 'install-nevra']
 
     def getUsage(self):
+        """Return a usage string for this command.
+
+        :return: a usage string for this command
+        """
         return _("PACKAGE...")
 
     def getSummary(self):
+        """Return a one line summary of this command.
+
+        :return: a one line summary of this command
+        """
         return _("Install a package or packages on your system")
     
     def doCheck(self, base, basecmd, extcmds):
+        """Verify that conditions are met so that this command can run.
+        These include that the program is being run by the root user,
+        that there are enabled repositories with gpg keys, and that
+        this command is called with appropriate arguments.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: the command line arguments passed to *basecmd*
+        """
         checkRootUID(base)
         checkGPGKey(base)
         checkPackageArg(base, basecmd, extcmds)
         checkEnabledRepo(base, extcmds)
 
     def doCommand(self, base, basecmd, extcmds):
+        """Execute this command.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: the command line arguments passed to *basecmd*
+        :return: (exit_code, [ errors ])
+
+        exit_code is::
+
+            0 = we're done, exit
+            1 = we've errored, exit with error string
+            2 = we've got work yet to do, onto the next stage
+        """
         self.doneCommand(base, _("Setting up Install Process"))
-        try:
-            return base.installPkgs(extcmds)
-        except yum.Errors.YumBaseError, e:
-            return 1, [str(e)]
+        return base.installPkgs(extcmds, basecmd=basecmd)
+
 
 class UpdateCommand(YumCommand):
+    """A class containing methods needed by the cli to execute the
+    update command.
+    """
+
     def getNames(self):
+        """Return a list containing the names of this command.  This
+        command can by called from the command line by using any of
+        these names.
+
+        :return: a list containing the names of this command
+        """
         return ['update', 'update-to']
 
     def getUsage(self):
+        """Return a usage string for this command.
+
+        :return: a usage string for this command
+        """
         return _("[PACKAGE...]")
 
     def getSummary(self):
+        """Return a one line summary of this command.
+
+        :return: a one line summary of this command
+        """
         return _("Update a package or packages on your system")
 
     def doCheck(self, base, basecmd, extcmds):
+        """Verify that conditions are met so that this command can run.
+        These include that there are enabled repositories with gpg
+        keys, and that this command is being run by the root user.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: the command line arguments passed to *basecmd*
+        """
         checkRootUID(base)
         checkGPGKey(base)
         checkEnabledRepo(base, extcmds)
 
     def doCommand(self, base, basecmd, extcmds):
+        """Execute this command.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: the command line arguments passed to *basecmd*
+        :return: (exit_code, [ errors ])
+
+        exit_code is::
+
+            0 = we're done, exit
+            1 = we've errored, exit with error string
+            2 = we've got work yet to do, onto the next stage
+        """
         self.doneCommand(base, _("Setting up Update Process"))
-        try:
-            return base.updatePkgs(extcmds, update_to=(basecmd == 'update-to'))
-        except yum.Errors.YumBaseError, e:
-            return 1, [str(e)]
+        ret = base.updatePkgs(extcmds, update_to=(basecmd == 'update-to'))
+        updateinfo.remove_txmbrs(base)
+        return ret
 
 class DistroSyncCommand(YumCommand):
+    """A class containing methods needed by the cli to execute the
+    distro-synch command.
+    """
+
     def getNames(self):
-        return ['distribution-synchronization', 'distro-sync']
+        """Return a list containing the names of this command.  This
+        command can be called from the command line by using any of these names.
+
+        :return: a list containing the names of this command
+        """
+        return ['distribution-synchronization', 'distro-sync', 'distupgrade']
 
     def getUsage(self):
+        """Return a usage string for this command.
+
+        :return: a usage string for this command
+        """
         return _("[PACKAGE...]")
 
     def getSummary(self):
+        """Return a one line summary of this command.
+
+        :return: a one line summary of this command
+        """
         return _("Synchronize installed packages to the latest available versions")
 
     def doCheck(self, base, basecmd, extcmds):
+        """Verify that conditions are met so that this command can run.
+        These include that the program is being run by the root user,
+        and that there are enabled repositories with gpg keys.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: the command line arguments passed to *basecmd*
+        """
         checkRootUID(base)
         checkGPGKey(base)
         checkEnabledRepo(base, extcmds)
 
     def doCommand(self, base, basecmd, extcmds):
+        """Execute this command.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: the command line arguments passed to *basecmd*
+        :return: (exit_code, [ errors ])
+
+        exit_code is::
+
+            0 = we're done, exit
+            1 = we've errored, exit with error string
+            2 = we've got work yet to do, onto the next stage
+        """
         self.doneCommand(base, _("Setting up Distribution Synchronization Process"))
-        try:
-            base.conf.obsoletes = 1
-            return base.distroSyncPkgs(extcmds)
-        except yum.Errors.YumBaseError, e:
-            return 1, [str(e)]
+        base.conf.obsoletes = 1
+        ret = base.distroSyncPkgs(extcmds)
+        updateinfo.remove_txmbrs(base)
+        return ret
 
 def _add_pkg_simple_list_lens(data, pkg, indent=''):
     """ Get the length of each pkg's column. Add that to data.
@@ -289,22 +584,62 @@ def _list_cmd_calc_columns(base, ypl):
     return (-columns[0], -columns[1], -columns[2])
 
 class InfoCommand(YumCommand):
+    """A class containing methods needed by the cli to execute the
+    info command.
+    """
+
     def getNames(self):
+        """Return a list containing the names of this command.  This
+        command can be called from the command line by using any of these names.
+
+        :return: a list containing the names of this command
+        """
         return ['info']
 
     def getUsage(self):
-        return "[PACKAGE|all|available|installed|updates|extras|obsoletes|recent]"
+        """Return a usage string for this command.
+
+        :return: a usage string for this command
+        """
+        return "[PACKAGE|all|available|installed|updates|distro-extras|extras|obsoletes|recent]"
 
     def getSummary(self):
+        """Return a one line summary of this command.
+
+        :return: a one line summary of this command
+        """
         return _("Display details about a package or group of packages")
 
-    def doCommand(self, base, basecmd, extcmds):
-        try:
-            highlight = base.term.MODE['bold']
-            ypl = base.returnPkgLists(extcmds, installed_available=highlight)
-        except yum.Errors.YumBaseError, e:
-            return 1, [str(e)]
+    def doCommand(self, base, basecmd, extcmds, repoid=None):
+        """Execute this command.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: the command line arguments passed to *basecmd*
+        :return: (exit_code, [ errors ])
+
+        exit_code is::
+
+            0 = we're done, exit
+            1 = we've errored, exit with error string
+            2 = we've got work yet to do, onto the next stage
+        """
+
+        if extcmds and extcmds[0] in ('updates', 'obsoletes'):
+            updateinfo.exclude_updates(base)
         else:
+            updateinfo.exclude_all(base)
+
+        if True: # Try, YumBase...
+            highlight = base.term.MODE['bold']
+            #  If we are doing: "yum info installed blah" don't do the highlight
+            # because the usability of not accessing the repos. is still higher
+            # than providing colour for a single line. Usable updatesd/etc. FTW.
+            if basecmd == 'info' and extcmds and extcmds[0] == 'installed':
+                highlight = False
+            ypl = base.returnPkgLists(extcmds, installed_available=highlight,
+                                      repoid=repoid)
+
             update_pkgs = {}
             inst_pkgs   = {}
             local_pkgs  = {}
@@ -341,6 +676,7 @@ class InfoCommand(YumCommand):
                         local_pkgs[(po.name, po.arch)] = po
 
             # Output the packages:
+            kern = base.conf.color_list_installed_running_kernel
             clio = base.conf.color_list_installed_older
             clin = base.conf.color_list_installed_newer
             clir = base.conf.color_list_installed_reinstall
@@ -348,7 +684,9 @@ class InfoCommand(YumCommand):
             rip = base.listPkgs(ypl.installed, _('Installed Packages'), basecmd,
                                 highlight_na=update_pkgs, columns=columns,
                                 highlight_modes={'>' : clio, '<' : clin,
+                                                 'kern' : kern,
                                                  '=' : clir, 'not in' : clie})
+            kern = base.conf.color_list_available_running_kernel
             clau = base.conf.color_list_available_upgrade
             clad = base.conf.color_list_available_downgrade
             clar = base.conf.color_list_available_reinstall
@@ -356,6 +694,7 @@ class InfoCommand(YumCommand):
             rap = base.listPkgs(ypl.available, _('Available Packages'), basecmd,
                                 highlight_na=inst_pkgs, columns=columns,
                                 highlight_modes={'<' : clau, '>' : clad,
+                                                 'kern' : kern,
                                                  '=' : clar, 'not in' : clai})
             rep = base.listPkgs(ypl.extras, _('Extra Packages'), basecmd,
                                 columns=columns)
@@ -374,7 +713,7 @@ class InfoCommand(YumCommand):
                 for obtup in sorted(ypl.obsoletesTuples,
                                     key=operator.itemgetter(0)):
                     base.updatesObsoletesList(obtup, 'obsoletes',
-                                              columns=columns)
+                                              columns=columns, repoid=repoid)
             else:
                 rop = base.listPkgs(ypl.obsoletes, _('Obsoleting Packages'),
                                     basecmd, columns=columns)
@@ -389,65 +728,212 @@ class InfoCommand(YumCommand):
             return 0, []
 
     def needTs(self, base, basecmd, extcmds):
+        """Return whether a transaction set must be set up before this
+        command can run.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: a list of arguments passed to *basecmd*
+        :return: True if a transaction set is needed, False otherwise
+        """
         if len(extcmds) and extcmds[0] == 'installed':
             return False
         
         return True
 
+    def cacheRequirement(self, base, basecmd, extcmds):
+        """Return the cache requirements for the remote repos.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: a list of arguments passed to *basecmd*
+        :return: Type of requirement: read-only:past, read-only:present, read-only:future, write
+        """
+        if len(extcmds) and extcmds[0] in ('updates', 'obsoletes'):
+            return 'read-only:future'
+        if len(extcmds) and extcmds[0] in ('installed', 'distro-extras', 'extras', 'recent'):
+            return 'read-only:past'
+        # available/all
+        return 'read-only:present'
+
+
 class ListCommand(InfoCommand):
+    """A class containing methods needed by the cli to execute the
+    list command.
+    """
+
     def getNames(self):
+        """Return a list containing the names of this command.  This
+        command can be called from the command line by using any of these names.
+
+        :return: a list containing the names of this command
+        """
         return ['list']
 
     def getSummary(self):
+        """Return a one line summary of this command.
+
+        :return: a one line summary of this command
+        """
         return _("List a package or groups of packages")
 
 
 class EraseCommand(YumCommand):
+    """A class containing methods needed by the cli to execute the
+    erase command.
+    """
+
         
     def getNames(self):
-        return ['erase', 'remove']
+        """Return a list containing the names of this command.  This
+        command can be called from the command line by using any of these names.
+
+        :return: a list containing the names of this command
+        """
+        return ['erase', 'remove',
+                'erase-n', 'erase-na', 'erase-nevra',
+                'remove-n', 'remove-na', 'remove-nevra']
 
     def getUsage(self):
+        """Return a usage string for this command.
+
+        :return: a usage string for this command
+        """
         return "PACKAGE..."
 
     def getSummary(self):
+        """Return a one line summary of this command.
+
+        :return: a one line summary of this command
+        """
         return _("Remove a package or packages from your system")
 
     def doCheck(self, base, basecmd, extcmds):
+        """Verify that conditions are met so that this command can
+        run.  These include that the program is being run by the root
+        user, and that this command is called with appropriate
+        arguments.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: the command line arguments passed to *basecmd*
+        """
         checkRootUID(base)
+        if basecmd == 'autoremove':
+            return
         checkPackageArg(base, basecmd, extcmds)
 
     def doCommand(self, base, basecmd, extcmds):
+        """Execute this command.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: the command line arguments passed to *basecmd*
+        :return: (exit_code, [ errors ])
+
+        exit_code is::
+
+            0 = we're done, exit
+            1 = we've errored, exit with error string
+            2 = we've got work yet to do, onto the next stage
+        """
+
+        pos = False
+        if basecmd.startswith('autoremove'):
+            #  We have to alter this, as it's used in resolving stage. Which
+            # sucks. Just be careful in "yum shell".
+            base.conf.clean_requirements_on_remove = True
+
+            basecmd = basecmd[len('auto'):] # pretend it's just remove...
+
+            if not extcmds:
+                pos = True
+                extcmds = []
+                for pkg in sorted(base.rpmdb.returnLeafNodes()):
+                    if 'reason' not in pkg.yumdb_info:
+                        continue
+                    if pkg.yumdb_info.reason != 'dep':
+                        continue
+                    extcmds.append(pkg)
+
         self.doneCommand(base, _("Setting up Remove Process"))
-        try:
-            return base.erasePkgs(extcmds)
-        except yum.Errors.YumBaseError, e:
-            return 1, [str(e)]
+        ret = base.erasePkgs(extcmds, pos=pos, basecmd=basecmd)
+
+        return ret
 
     def needTs(self, base, basecmd, extcmds):
+        """Return whether a transaction set must be set up before this
+        command can run.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: a list of arguments passed to *basecmd*
+        :return: True if a transaction set is needed, False otherwise
+        """
         return False
 
     def needTsRemove(self, base, basecmd, extcmds):
+        """Return whether a transaction set for removal only must be
+        set up before this command can run.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: a list of arguments passed to *basecmd*
+        :return: True if a remove-only transaction set is needed, False otherwise
+        """
         return True
 
+
+class AutoremoveCommand(EraseCommand):
+    """A class containing methods needed by the cli to execute the
+    autremove command.
+    """
+    def getNames(self):
+        """Return a list containing the names of this command.  This
+        command can be called from the command line by using any of these names.
+
+        :return: a list containing the names of this command
+        """
+        return [ 'autoremove', 'autoremove-n', 'autoremove-na', 'autoremove-nevra']
+
+    def getSummary(self):
+        """Return a one line summary of this command.
+
+        :return: a one line summary of this command
+        """
+        return _("Remove leaf packages")
+
  
 class GroupsCommand(YumCommand):
     """ Single sub-command interface for most groups interaction. """
 
     direct_commands = {'grouplist'    : 'list',
                        'groupinstall' : 'install',
-                       'groupupdate'  : 'install',
+                       'groupupdate'  : 'update',
                        'groupremove'  : 'remove',
                        'grouperase'   : 'remove',
                        'groupinfo'    : 'info'}
 
     def getNames(self):
+        """Return a list containing the names of this command.  This
+        command can be called from the command line by using any of these names.
+
+        :return: a list containing the names of this command
+        """
         return ['groups', 'group'] + self.direct_commands.keys()
 
     def getUsage(self):
+        """Return a usage string for this command.
+
+        :return: a usage string for this command
+        """
         return "[list|info|summary|install|upgrade|remove|mark] [GROUP]"
 
     def getSummary(self):
+        """Return a one line summary of this command.
+
+        :return: a one line summary of this command
+        """
         return _("Display, or use, the groups information")
     
     def _grp_setup_doCommand(self, base):
@@ -459,7 +945,7 @@ class GroupsCommand(YumCommand):
         except yum.Errors.GroupsError:
             return 1, [_('No Groups on which to run command')]
         except yum.Errors.YumBaseError, e:
-            return 1, [str(e)]
+            raise
 
     def _grp_cmd(self, basecmd, extcmds):
         if basecmd in self.direct_commands:
@@ -470,6 +956,10 @@ class GroupsCommand(YumCommand):
         else:
             cmd = 'summary'
 
+        if cmd in ('mark', 'unmark') and extcmds:
+            cmd = "%s-%s" % (cmd, extcmds[0])
+            extcmds = extcmds[1:]
+
         remap = {'update' : 'upgrade',
                  'erase' : 'remove',
                  'mark-erase' : 'mark-remove',
@@ -479,32 +969,86 @@ class GroupsCommand(YumCommand):
         return cmd, extcmds
 
     def doCheck(self, base, basecmd, extcmds):
+        """Verify that conditions are met so that this command can run.
+        The exact conditions checked will vary depending on the
+        subcommand that is being called.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: the command line arguments passed to *basecmd*
+        """
         cmd, extcmds = self._grp_cmd(basecmd, extcmds)
 
         checkEnabledRepo(base)
-
-        if cmd in ('install', 'remove',
-                   'mark-install', 'mark-remove',
-                   'mark-members', 'info', 'mark-members-sync'):
+        ocmds_all = []
+        ocmds_arg = []
+        if base.conf.group_command == 'objects':
+            ocmds_arg = ('mark-install', 'mark-remove',
+                         'mark-blacklist',
+                         'mark-packages', 'mark-packages-force',
+                         'unmark-packages',
+                         'mark-packages-sync', 'mark-packages-sync-force',
+                         'mark-groups', 'mark-groups-force',
+                         'unmark-groups',
+                         'mark-groups-sync', 'mark-groups-sync-force')
+
+            ocmds_all = ('mark-install', 'mark-remove', 'mark-convert',
+                         'mark-convert-whitelist', 'mark-convert-blacklist',
+                         'mark-blacklist',
+                         'mark-packages', 'mark-packages-force',
+                         'unmark-packages',
+                         'mark-packages-sync', 'mark-packages-sync-force',
+                         'mark-groups', 'mark-groups-force',
+                         'unmark-groups',
+                         'mark-groups-sync', 'mark-groups-sync-force')
+
+        if cmd in ('install', 'remove', 'info') or cmd in ocmds_arg:
             checkGroupArg(base, cmd, extcmds)
 
-        if cmd in ('install', 'remove', 'upgrade',
-                   'mark-install', 'mark-remove',
-                   'mark-members', 'mark-members-sync'):
+        if cmd in ('install', 'remove', 'upgrade') or cmd in ocmds_all:
             checkRootUID(base)
 
         if cmd in ('install', 'upgrade'):
             checkGPGKey(base)
 
-        cmds = ('list', 'info', 'remove', 'install', 'upgrade', 'summary',
-                'mark-install', 'mark-remove',
-                'mark-members', 'mark-members-sync')
+        cmds = set(('list', 'info', 'remove', 'install', 'upgrade', 'summary'))
+        if base.conf.group_command == 'objects':
+            cmds.update(ocmds_all)
+
         if cmd not in cmds:
             base.logger.critical(_('Invalid groups sub-command, use: %s.'),
                                  ", ".join(cmds))
             raise cli.CliError
 
+        if base.conf.group_command != 'objects':
+            pass
+        elif not os.path.exists(os.path.dirname(base.igroups.filename)):
+            base.logger.critical(_("There is no installed groups file."))
+            base.logger.critical(_("Maybe run: yum groups mark convert (see man yum)"))
+        elif not os.access(os.path.dirname(base.igroups.filename), os.R_OK):
+            base.logger.critical(_("You don't have access to the groups DBs."))
+            raise cli.CliError
+        elif not os.path.exists(base.igroups.filename):
+            base.logger.critical(_("There is no installed groups file."))
+            base.logger.critical(_("Maybe run: yum groups mark convert (see man yum)"))
+        elif not os.access(base.igroups.filename, os.R_OK):
+            base.logger.critical(_("You don't have access to the groups DB."))
+            raise cli.CliError
+
     def doCommand(self, base, basecmd, extcmds):
+        """Execute this command.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: the command line arguments passed to *basecmd*
+        :return: (exit_code, [ errors ])
+
+        exit_code is::
+
+            0 = we're done, exit
+            1 = we've errored, exit with error string
+            2 = we've got work yet to do, onto the next stage
+        """
         cmd, extcmds = self._grp_cmd(basecmd, extcmds)
 
         self._grp_setup_doCommand(base)
@@ -514,140 +1058,573 @@ class GroupsCommand(YumCommand):
         if cmd == 'list':
             return base.returnGroupLists(extcmds)
 
-        try:
+        if True: # Try, YumBase...
             if cmd == 'info':
                 return base.returnGroupInfo(extcmds)
             if cmd == 'install':
                 return base.installGroups(extcmds)
             if cmd == 'upgrade':
-                return base.installGroups(extcmds, upgrade=True)
+                ret = base.installGroups(extcmds, upgrade=True)
+                updateinfo.remove_txmbrs(base)
+                return ret
             if cmd == 'remove':
                 return base.removeGroups(extcmds)
 
-        except yum.Errors.YumBaseError, e:
-            return 1, [str(e)]
+            if cmd == 'mark-install':
+                gRG = base._groupReturnGroups(extcmds,ignore_case=False)
+                igrps, grps, ievgrps, evgrps = gRG
+                for evgrp in evgrps:
+                    base.igroups.add_environment(evgrp.environmentid,
+                                                 evgrp.allgroups)
+                for grp in grps:
+                    pkg_names = set() # Only see names that are installed.
+                    for pkg in base.rpmdb.searchNames(grp.packages):
+                        pkg_names.add(pkg.name)
+                    base.igroups.add_group(grp.groupid, pkg_names)
+                base.igroups.save()
+                return 0, ['Marked install: ' + ','.join(extcmds)]
+
+            if cmd == 'mark-blacklist':
+                gRG = base._groupReturnGroups(extcmds,ignore_case=False)
+                igrps, grps, ievgrps, evgrps = gRG
+                for ievgrp in ievgrps:
+                    evgrp = base.comps.return_environment(igrp.evgid)
+                    if not evgrp:
+                        continue
+                    base.igroups.changed = True
+                    ievgrp.grp_names.update(grp.groups)
+                for igrp in igrps:
+                    grp = base.comps.return_group(igrp.gid)
+                    if not grp:
+                        continue
+                    base.igroups.changed = True
+                    igrp.pkg_names.update(grp.packages)
+                base.igroups.save()
+                return 0, ['Marked upgrade blacklist: ' + ','.join(extcmds)]
+
+            if cmd in ('mark-packages', 'mark-packages-force'):
+                if len(extcmds) < 2:
+                    return 1, ['No group or package given']
+                gRG = base._groupReturnGroups([extcmds[0]],
+                                              ignore_case=False)
+                igrps, grps, ievgrps, evgrps = gRG
+                if igrps is None or len(igrps) != 1:
+                    return 1, ['No group matched']
+                grp = igrps[0]
+                force = cmd == 'mark-packages-force'
+                for pkg in base.rpmdb.returnPackages(patterns=extcmds[1:]):
+                    if not force and 'group_member' in pkg.yumdb_info:
+                        continue
+                    pkg.yumdb_info.group_member = grp.gid
+                    grp.pkg_names.add(pkg.name)
+                    base.igroups.changed = True
+                base.igroups.save()
+                return 0, ['Marked packages: ' + ','.join(extcmds[1:])]
+
+            if cmd == 'unmark-packages':
+                for pkg in base.rpmdb.returnPackages(patterns=extcmds):
+                    if 'group_member' in pkg.yumdb_info:
+                        del pkg.yumdb_info.group_member
+                return 0, ['UnMarked packages: ' + ','.join(extcmds)]
+
+            if cmd in ('mark-packages-sync', 'mark-packages-sync-force'):
+                gRG = base._groupReturnGroups(extcmds,ignore_case=False)
+                igrps, grps, ievgrps, evgrps = gRG
+                if not igrps:
+                    return 1, ['No group matched']
+                force = cmd == 'mark-packages-sync-force'
+                for grp in igrps:
+                    for pkg in base.rpmdb.searchNames(grp.pkg_names):
+                        if not force and 'group_member' in pkg.yumdb_info:
+                            continue
+                        pkg.yumdb_info.group_member = grp.gid
+                if force:
+                    return 0, ['Marked packages-sync-force: '+','.join(extcmds)]
+                else:
+                    return 0, ['Marked packages-sync: ' + ','.join(extcmds)]
+
+            if cmd in ('mark-groups', 'mark-groups-force'):
+                if len(extcmds) < 2:
+                    return 1, ['No environment or group given']
+                gRG = base._groupReturnGroups([extcmds[0]],
+                                              ignore_case=False)
+                igrps, grps, ievgrps, evgrps = gRG
+                if ievgrps is None or len(ievgrps) != 1:
+                    return 1, ['No environment matched']
+                evgrp = ievgrps[0]
+                force = cmd == 'mark-groups-force'
+                gRG = base._groupReturnGroups(extcmds[1:], ignore_case=False)
+                for grp in gRG[1]:
+                    # Packages full or empty?
+                    self.igroups.add_group(grp.groupid,
+                                           grp.packages, ievgrp)
+                if force:
+                    for grp in gRG[0]:
+                        grp.environment = evgrp.evgid
+                        base.igroups.changed = True
+                base.igroups.save()
+                return 0, ['Marked groups: ' + ','.join(extcmds[1:])]
+
+            if cmd == 'unmark-groups':
+                gRG = base._groupReturnGroups([extcmds[0]],
+                                              ignore_case=False)
+                igrps, grps, ievgrps, evgrps = gRG
+                if igrps is None:
+                    return 1, ['No groups matched']
+                for grp in igrps:
+                    grp.environment = None
+                    base.igroups.changed = True
+                base.igroups.save()
+                return 0, ['UnMarked groups: ' + ','.join(extcmds)]
+
+            if cmd in ('mark-groups-sync', 'mark-groups-sync-force'):
+                gRG = base._groupReturnGroups(extcmds,ignore_case=False)
+                igrps, grps, ievgrps, evgrps = gRG
+                if not ievgrps:
+                    return 1, ['No environment matched']
+                force = cmd == 'mark-groups-sync-force'
+                for evgrp in ievgrps:
+                    grp_names = ",".join(sorted(evgrp.grp_names))
+                    for grp in base.igroups.return_groups(grp_names):
+                        if not force and grp.environment is not None:
+                            continue
+                        grp.environment = evgrp.evgid
+                        base.igroups.changed = True
+                base.igroups.save()
+                if force:
+                    return 0, ['Marked groups-sync-force: '+','.join(extcmds)]
+                else:
+                    return 0, ['Marked groups-sync: ' + ','.join(extcmds)]
+
+            # FIXME: This doesn't do environment groups atm.
+            if cmd in ('mark-convert',
+                       'mark-convert-whitelist', 'mark-convert-blacklist'):
+                # Convert old style info. into groups as objects.
+
+                def _convert_grp(grp):
+                    if not grp.installed:
+                        return
+                    pkg_names = []
+                    for pkg in base.rpmdb.searchNames(grp.packages):
+                        if 'group_member' in pkg.yumdb_info:
+                            continue
+                        pkg.yumdb_info.group_member = grp.groupid
+                        pkg_names.append(pkg.name)
+
+                    #  We only mark the packages installed as a known part of
+                    # the group. This way "group update" will work and install
+                    # any remaining packages, as it would before the conversion.
+                    if cmd == 'mark-convert-whitelist':
+                        base.igroups.add_group(grp.groupid, pkg_names)
+                    else:
+                        base.igroups.add_group(grp.groupid, grp.packages)
+
+                # Blank everything.
+                for gid in base.igroups.groups.keys():
+                    base.igroups.del_group(gid)
+                for pkg in base.rpmdb:
+                    if 'group_member' in pkg.yumdb_info:
+                        del pkg.yumdb_info.group_member
+
+                #  Need to do this by hand, when using objects, to setup the
+                # .installed attribute in comps.
+                base.comps.compile(base.rpmdb.simplePkgList())
+
+                #  This is kind of a hack, to work around the biggest problem
+                # with having pkgs in more than one group. Treat Fedora/EL/etc.
+                # base/core special. Maybe other groups?
+
+                #  Not 100% we want to force install "core", as that's then
+                # "different", but it is better ... so, meh.
+                special_gids = (('core', True),
+                                ('base', False))
+                for gid, force_installed in special_gids:
+                    grp = base.comps.return_group(gid)
+                    if grp is None:
+                        continue
+                    if force_installed:
+                        grp.installed = True
+                    _convert_grp(grp)
+                for grp in base.comps.get_groups():
+                    if grp.groupid in special_gids:
+                        continue
+                    _convert_grp(grp)
+                    
+                base.igroups.save()
+                return 0, ['Converted old style groups to objects.']
+
+            if cmd == 'mark-remove':
+                gRG = base._groupReturnGroups(extcmds,ignore_case=False)
+                igrps, grps, ievgrps, evgrps = gRG
+                for evgrp in ievgrps:
+                    base.igroups.del_environment(evgrp.evgid)
+                for grp in igrps:
+                    base.igroups.del_group(grp.gid)
+                base.igroups.save()
+                return 0, ['Marked remove: ' + ','.join(extcmds)]
 
 
     def needTs(self, base, basecmd, extcmds):
+        """Return whether a transaction set must be set up before this
+        command can run.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: a list of arguments passed to *basecmd*
+        :return: True if a transaction set is needed, False otherwise
+        """
         cmd, extcmds = self._grp_cmd(basecmd, extcmds)
 
         if cmd in ('list', 'info', 'remove', 'summary'):
             return False
+        if cmd.startswith('mark') or cmd.startswith('unmark'):
+            return False
         return True
 
     def needTsRemove(self, base, basecmd, extcmds):
+        """Return whether a transaction set for removal only must be
+        set up before this command can run.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: a list of arguments passed to *basecmd*
+        :return: True if a remove-only transaction set is needed, False otherwise
+        """
         cmd, extcmds = self._grp_cmd(basecmd, extcmds)
 
         if cmd in ('remove',):
-           return True
+            return True
         return False
 
+    def cacheRequirement(self, base, basecmd, extcmds):
+        """Return the cache requirements for the remote repos.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: a list of arguments passed to *basecmd*
+        :return: Type of requirement: read-only:past, read-only:present, read-only:future, write
+        """
+        cmd, extcmds = self._grp_cmd(basecmd, extcmds)
+
+        if cmd in ('list', 'info', 'summary'):
+            return 'read-only:past'
+        if cmd.startswith('mark') or cmd.startswith('unmark'):
+            return 'read-only:past'
+        return 'write'
+
+
 class MakeCacheCommand(YumCommand):
+    """A class containing methods needed by the cli to execute the
+    makecache command.
+    """
 
     def getNames(self):
+        """Return a list containing the names of this command.  This
+        command can be called from the command line by using any of these names.
+
+        :return: a list containing the names of this command
+        """
         return ['makecache']
 
     def getUsage(self):
+        """Return a usage string for this command.
+
+        :return: a usage string for this command
+        """
         return ""
 
     def getSummary(self):
+        """Return a one line summary of this command.
+
+        :return: a one line summary of this command
+        """
         return _("Generate the metadata cache")
 
     def doCheck(self, base, basecmd, extcmds):
+        """Verify that conditions are met so that this command can
+        run; namely that there is an enabled repository.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: the command line arguments passed to *basecmd*
+        """
         checkEnabledRepo(base)
 
     def doCommand(self, base, basecmd, extcmds):
+        """Execute this command.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: the command line arguments passed to *basecmd*
+        :return: (exit_code, [ errors ])
+
+        exit_code is::
+
+            0 = we're done, exit
+            1 = we've errored, exit with error string
+            2 = we've got work yet to do, onto the next stage
+        """
         base.logger.debug(_("Making cache files for all metadata files."))
         base.logger.debug(_("This may take a while depending on the speed of this computer"))
-        try:
-            for repo in base.repos.findRepos('*'):
+
+        # Fast == don't download any extra MD
+        fast = False
+        if extcmds and extcmds[0] == 'fast':
+            fast = True
+
+        if True: # Try, YumBase...
+            for repo in base.repos.sort():
                 repo.metadata_expire = 0
-                repo.mdpolicy = "group:all"
+                if not fast:
+                    repo.mdpolicy = "group:all"
             base.doRepoSetup(dosack=0)
             base.repos.doSetup()
-            for repo in base.repos.listEnabled():
-                repo.repoXML
             
             # These convert the downloaded data into usable data,
             # we can't remove them until *LoadRepo() can do:
             # 1. Download a .sqlite.bz2 and convert to .sqlite
             # 2. Download a .xml.gz and convert to .xml.gz.sqlite
-            base.repos.populateSack(mdtype='metadata', cacheonly=1)
-            base.repos.populateSack(mdtype='filelists', cacheonly=1)
-            base.repos.populateSack(mdtype='otherdata', cacheonly=1)
-
+            if fast:
+                #  Can't easily tell which other metadata each repo. has, so
+                # just do primary.
+                base.repos.populateSack(mdtype='metadata', cacheonly=1)
+            else:
+                base.repos.populateSack(mdtype='all', cacheonly=1)
+
+            # Now decompress stuff, so that -C works, sigh.
+            fname_map = {'group_gz'   : 'groups.xml',
+                         'pkgtags'    : 'pkgtags.sqlite',
+                         'updateinfo' : 'updateinfo.xml',
+                         'prestodelta': 'prestodelta.xml',
+                         }
+            for repo in base.repos.listEnabled():
+                for MD in repo.repoXML.fileTypes():
+                    if MD not in fname_map:
+                        continue
+                    if MD not in repo.retrieved or not repo.retrieved[MD]:
+                        continue # For fast mode.
+                    misc.repo_gen_decompress(repo.retrieveMD(MD),
+                                             fname_map[MD],
+                                             cached=repo.cache)
 
-        except yum.Errors.YumBaseError, e:
-            return 1, [str(e)]
         return 0, [_('Metadata Cache Created')]
 
     def needTs(self, base, basecmd, extcmds):
+        """Return whether a transaction set must be set up before this
+        command can run.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: a list of arguments passed to *basecmd*
+        :return: True if a transaction set is needed, False otherwise
+        """
         return False
 
 class CleanCommand(YumCommand):
+    """A class containing methods needed by the cli to execute the
+    clean command.
+    """
     
     def getNames(self):
+        """Return a list containing the names of this command.  This
+        command can be called from the command line by using any of these names.
+
+        :return: a list containing the names of this command
+        """
         return ['clean']
 
     def getUsage(self):
+        """Return a usage string for this command.
+
+        :return: a usage string for this command
+        """
         return "[headers|packages|metadata|dbcache|plugins|expire-cache|all]"
 
     def getSummary(self):
+        """Return a one line summary of this command.
+
+        :return: a one line summary of this command
+        """
         return _("Remove cached data")
 
     def doCheck(self, base, basecmd, extcmds):
+        """Verify that conditions are met so that this command can run.
+        These include that there is at least one enabled repository,
+        and that this command is called with appropriate arguments.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: the command line arguments passed to *basecmd*
+        """
         checkCleanArg(base, basecmd, extcmds)
         checkEnabledRepo(base)
         
     def doCommand(self, base, basecmd, extcmds):
+        """Execute this command.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: the command line arguments passed to *basecmd*
+        :return: (exit_code, [ errors ])
+
+        exit_code is::
+
+            0 = we're done, exit
+            1 = we've errored, exit with error string
+            2 = we've got work yet to do, onto the next stage
+        """
         base.conf.cache = 1
         return base.cleanCli(extcmds)
 
     def needTs(self, base, basecmd, extcmds):
+        """Return whether a transaction set must be set up before this
+        command can run.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: a list of arguments passed to *basecmd*
+        :return: True if a transaction set is needed, False otherwise
+        """
         return False
 
+    def cacheRequirement(self, base, basecmd, extcmds):
+        """Return the cache requirements for the remote repos.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: a list of arguments passed to *basecmd*
+        :return: Type of requirement: read-only:past, read-only:present, read-only:future, write
+        """
+        return 'read-only:past'
+
+
 class ProvidesCommand(YumCommand):
+    """A class containing methods needed by the cli to execute the
+    provides command.
+    """
+
     def getNames(self):
+        """Return a list containing the names of this command.  This
+        command can be called from the command line by using any of these names.
+
+        :return: a list containing the names of this command
+        """
         return ['provides', 'whatprovides']
 
     def getUsage(self):
+        """Return a usage string for this command.
+
+        :return: a usage string for this command
+        """
         return "SOME_STRING"
     
     def getSummary(self):
+        """Return a one line summary of this command.
+
+        :return: a one line summary of this command
+        """
         return _("Find what package provides the given value")
 
     def doCheck(self, base, basecmd, extcmds):
+        """Verify that conditions are met so that this command can
+        run; namely that this command is called with appropriate arguments.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: the command line arguments passed to *basecmd*
+        """
         checkItemArg(base, basecmd, extcmds)
 
     def doCommand(self, base, basecmd, extcmds):
+        """Execute this command.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: the command line arguments passed to *basecmd*
+        :return: (exit_code, [ errors ])
+
+        exit_code is::
+
+            0 = we're done, exit
+            1 = we've errored, exit with error string
+            2 = we've got work yet to do, onto the next stage
+        """
         base.logger.debug("Searching Packages: ")
-        try:
-            return base.provides(extcmds)
-        except yum.Errors.YumBaseError, e:
-            return 1, [str(e)]
+        updateinfo.exclude_updates(base)
+        return base.provides(extcmds)
+
+    def cacheRequirement(self, base, basecmd, extcmds):
+        """Return the cache requirements for the remote repos.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: a list of arguments passed to *basecmd*
+        :return: Type of requirement: read-only:past, read-only:present, read-only:future, write
+        """
+        return 'read-only:past'
+
 
 class CheckUpdateCommand(YumCommand):
+    """A class containing methods needed by the cli to execute the
+    check-update command.
+    """
+
     def getNames(self):
-        return ['check-update']
+        """Return a list containing the names of this command.  This
+        command can be called from the command line by using any of these names.
+
+        :return: a list containing the names of this command
+        """
+        return ['check-update',  'check-updates',
+                'check-upgrade', 'check-upgrades']
 
     def getUsage(self):
+        """Return a usage string for this command.
+
+        :return: a usage string for this command
+        """
         return "[PACKAGE...]"
 
     def getSummary(self):
+        """Return a one line summary of this command.
+
+        :return: a one line summary of this command
+        """
         return _("Check for available package updates")
 
     def doCheck(self, base, basecmd, extcmds):
+        """Verify that conditions are met so that this command can
+        run; namely that there is at least one enabled repository.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: the command line arguments passed to *basecmd*
+        """
         checkEnabledRepo(base)
 
-    def doCommand(self, base, basecmd, extcmds):
+    def doCommand(self, base, basecmd, extcmds, repoid=None):
+        """Execute this command.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: the command line arguments passed to *basecmd*
+        :return: (exit_code, [ errors ])
+
+        exit_code is::
+
+            0 = we're done, exit
+            1 = we've errored, exit with error string
+            2 = we've got work yet to do, onto the next stage
+        """
+        updateinfo.exclude_updates(base)
         obscmds = ['obsoletes'] + extcmds
-        base.extcmds.insert(0, 'updates')
+        extcmds.insert(0, 'updates')
         result = 0
-        try:
-            ypl = base.returnPkgLists(extcmds)
+        if True:
+            ypl = base.returnPkgLists(extcmds, repoid=repoid)
             if (base.conf.obsoletes or
                 base.verbose_logger.isEnabledFor(logginglevels.DEBUG_3)):
-                typl = base.returnPkgLists(obscmds)
+                typl = base.returnPkgLists(obscmds, repoid=repoid)
                 ypl.obsoletes = typl.obsoletes
                 ypl.obsoletesTuples = typl.obsoletesTuples
 
@@ -673,164 +1650,474 @@ class CheckUpdateCommand(YumCommand):
                 for obtup in sorted(ypl.obsoletesTuples,
                                     key=operator.itemgetter(0)):
                     base.updatesObsoletesList(obtup, 'obsoletes',
-                                              columns=columns)
+                                              columns=columns, repoid=repoid)
                 result = 100
-        except yum.Errors.YumBaseError, e:
-            return 1, [str(e)]
-        else:
-            return result, []
+
+            # Add check_running_kernel call, if updateinfo is available.
+            if (base.conf.autocheck_running_kernel and
+                updateinfo._repos_downloaded(base.repos.listEnabled())):
+                def _msg(x):
+                    base.verbose_logger.info("%s", x)
+                updateinfo._check_running_kernel(base, base.upinfo, _msg)
+        return result, []
+
+    def cacheRequirement(self, base, basecmd, extcmds):
+        """Return the cache requirements for the remote repos.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: a list of arguments passed to *basecmd*
+        :return: Type of requirement: read-only:past, read-only:present, read-only:future, write
+        """
+        return 'read-only:future'
+
 
 class SearchCommand(YumCommand):
+    """A class containing methods needed by the cli to execute the
+    search command.
+    """
+
     def getNames(self):
+        """Return a list containing the names of this command.  This
+        command can be called from the command line by using any of these names.
+
+        :return: a list containing the names of this command
+        """
         return ['search']
 
     def getUsage(self):
+        """Return a usage string for this command.
+
+        :return: a usage string for this command
+        """
         return "SOME_STRING"
 
     def getSummary(self):
+        """Return a one line summary of this command.
+
+        :return: a one line summary of this command
+        """
         return _("Search package details for the given string")
 
     def doCheck(self, base, basecmd, extcmds):
+        """Verify that conditions are met so that this command can
+        run; namely that this command is called with appropriate arguments.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: the command line arguments passed to *basecmd*
+        """
         checkItemArg(base, basecmd, extcmds)
 
     def doCommand(self, base, basecmd, extcmds):
+        """Execute this command.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: the command line arguments passed to *basecmd*
+        :return: (exit_code, [ errors ])
+
+        exit_code is::
+
+            0 = we're done, exit
+            1 = we've errored, exit with error string
+            2 = we've got work yet to do, onto the next stage
+        """
         base.logger.debug(_("Searching Packages: "))
-        try:
-            return base.search(extcmds)
-        except yum.Errors.YumBaseError, e:
-            return 1, [str(e)]
+        updateinfo.exclude_updates(base)
+        return base.search(extcmds)
 
     def needTs(self, base, basecmd, extcmds):
+        """Return whether a transaction set must be set up before this
+        command can run.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: a list of arguments passed to *basecmd*
+        :return: True if a transaction set is needed, False otherwise
+        """
         return False
 
+    def cacheRequirement(self, base, basecmd, extcmds):
+        """Return the cache requirements for the remote repos.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: a list of arguments passed to *basecmd*
+        :return: Type of requirement: read-only:past, read-only:present, read-only:future, write
+        """
+        return 'read-only:present'
+
+
 class UpgradeCommand(YumCommand):
+    """A class containing methods needed by the cli to execute the
+    upgrade command.
+    """
+
     def getNames(self):
+        """Return a list containing the names of this command.  This
+        command can be called from the command line by using any of these names.
+
+        :return: a list containing the names of this command
+        """
         return ['upgrade', 'upgrade-to']
 
     def getUsage(self):
+        """Return a usage string for this command.
+
+        :return: a usage string for this command
+        """
         return 'PACKAGE...'
 
     def getSummary(self):
+        """Return a one line summary of this command.
+
+        :return: a one line summary of this command
+        """
         return _("Update packages taking obsoletes into account")
 
     def doCheck(self, base, basecmd, extcmds):
+        """Verify that conditions are met so that this command can
+         run.  These include that the program is being run by the root
+         user, and that there are enabled repositories with gpg.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: the command line arguments passed to *basecmd*
+        """
         checkRootUID(base)
         checkGPGKey(base)
         checkEnabledRepo(base, extcmds)
 
     def doCommand(self, base, basecmd, extcmds):
+        """Execute this command.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: the command line arguments passed to *basecmd*
+        :return: (exit_code, [ errors ])
+
+        exit_code is::
+
+            0 = we're done, exit
+            1 = we've errored, exit with error string
+            2 = we've got work yet to do, onto the next stage
+        """
         base.conf.obsoletes = 1
         self.doneCommand(base, _("Setting up Upgrade Process"))
-        try:
-            return base.updatePkgs(extcmds, update_to=(basecmd == 'upgrade-to'))
-        except yum.Errors.YumBaseError, e:
-            return 1, [str(e)]
+        ret = base.updatePkgs(extcmds, update_to=(basecmd == 'upgrade-to'))
+        updateinfo.remove_txmbrs(base)
+        return ret
 
 class LocalInstallCommand(YumCommand):
+    """A class containing methods needed by the cli to execute the
+    localinstall command.
+    """
+
     def __init__(self):
         YumCommand.__init__(self)
         self.hidden = True
 
     def getNames(self):
+        """Return a list containing the names of this command.  This
+        command can be called from the command line by using any of these names.
+
+        :return: a list containing the names of this command
+        """
         return ['localinstall', 'localupdate']
 
     def getUsage(self):
+        """Return a usage string for this command.
+
+        :return: a usage string for this command
+        """
         return "FILE"
 
     def getSummary(self):
+        """Return a one line summary of this command.
+
+        :return: a one line summary of this command
+        """
         return _("Install a local RPM")
 
     def doCheck(self, base, basecmd, extcmds):
+        """Verify that conditions are met so that this command can
+        run.  These include that there are enabled repositories with
+        gpg keys, and that this command is called with appropriate
+        arguments.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: the command line arguments passed to *basecmd*
+        """
         checkRootUID(base)
         checkGPGKey(base)
         checkPackageArg(base, basecmd, extcmds)
         
     def doCommand(self, base, basecmd, extcmds):
+        """Execute this command.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: the command line arguments passed to *basecmd*
+        :return: (exit_code, [ errors ])
+
+        exit_code is:
+
+            0 = we're done, exit
+            1 = we've errored, exit with error string
+            2 = we've got work yet to do, onto the next stage
+        """
         self.doneCommand(base, _("Setting up Local Package Process"))
 
         updateonly = basecmd == 'localupdate'
-        try:
-            return base.localInstall(filelist=extcmds, updateonly=updateonly)
-        except yum.Errors.YumBaseError, e:
-            return 1, [str(e)]
+        return base.localInstall(filelist=extcmds, updateonly=updateonly)
 
     def needTs(self, base, basecmd, extcmds):
+        """Return whether a transaction set must be set up before this
+        command can run.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: a list of arguments passed to *basecmd*
+        :return: True if a transaction set is needed, False otherwise
+        """
         return False
 
 class ResolveDepCommand(YumCommand):
+    """A class containing methods needed by the cli to execute the
+    resolvedep command.
+    """
+
+    def __init__(self):
+        YumCommand.__init__(self)
+        self.hidden = True
+
     def getNames(self):
+        """Return a list containing the names of this command.  This
+        command can be called from the command line by using any of these names.
+
+        :return: a list containing the names of this command
+        """
         return ['resolvedep']
 
     def getUsage(self):
+        """Return a usage string for this command.
+
+        :return: a usage string for this command
+        """
         return "DEPENDENCY"
 
     def getSummary(self):
-        return _("Determine which package provides the given dependency")
+        """Return a one line summary of this command.
+
+        :return: a one line summary of this command
+        """
+        return "repoquery --pkgnarrow=all --whatprovides --qf '%{envra} %{ui_from_repo}'"
 
     def doCommand(self, base, basecmd, extcmds):
+        """Execute this command.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: the command line arguments passed to *basecmd*
+        :return: (exit_code, [ errors ])
+
+        exit_code is::
+
+            0 = we're done, exit
+            1 = we've errored, exit with error string
+            2 = we've got work yet to do, onto the next stage
+        """
         base.logger.debug(_("Searching Packages for Dependency:"))
-        try:
-            return base.resolveDepCli(extcmds)
-        except yum.Errors.YumBaseError, e:
-            return 1, [str(e)]
+        updateinfo.exclude_updates(base)
+        return base.resolveDepCli(extcmds)
+
+    def cacheRequirement(self, base, basecmd, extcmds):
+        """Return the cache requirements for the remote repos.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: a list of arguments passed to *basecmd*
+        :return: Type of requirement: read-only:past, read-only:present, read-only:future, write
+        """
+        return 'read-only:past'
+
 
 class ShellCommand(YumCommand):
+    """A class containing methods needed by the cli to execute the
+    shell command.
+    """
+
     def getNames(self):
+        """Return a list containing the names of this command.  This
+        command can be called from the command line by using any of these names.
+
+        :return: a list containing the names of this command
+        """
         return ['shell']
 
     def getUsage(self):
+        """Return a usage string for this command.
+
+        :return: a usage string for this command
+        """
         return "[FILENAME]"
 
     def getSummary(self):
+        """Return a one line summary of this command.
+
+        :return: a one line summary of this command
+        """
         return _("Run an interactive yum shell")
 
     def doCheck(self, base, basecmd, extcmds):
+        """Verify that conditions are met so that this command can
+        run; namely that this command is called with appropriate arguments.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: the command line arguments passed to *basecmd*
+        """
         checkShellArg(base, basecmd, extcmds)
 
     def doCommand(self, base, basecmd, extcmds):
+        """Execute this command.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: the command line arguments passed to *basecmd*
+        :return: (exit_code, [ errors ])
+
+        exit_code is::
+
+            0 = we're done, exit
+            1 = we've errored, exit with error string
+            2 = we've got work yet to do, onto the next stage
+        """
         self.doneCommand(base, _('Setting up Yum Shell'))
-        try:
-            return base.doShell()
-        except yum.Errors.YumBaseError, e:
-            return 1, [str(e)]
+        return base.doShell()
 
     def needTs(self, base, basecmd, extcmds):
+        """Return whether a transaction set must be set up before this
+        command can run.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: a list of arguments passed to *basecmd*
+        :return: True if a transaction set is needed, False otherwise
+        """
         return False
 
 
 class DepListCommand(YumCommand):
+    """A class containing methods needed by the cli to execute the
+    deplist command.
+    """
+
     def getNames(self):
+        """Return a list containing the names of this command.  This
+        command can be called from the command line by using any of these names.
+
+        :return: a list containing the names of this command
+        """
         return ['deplist']
 
     def getUsage(self):
+        """Return a usage string for this command.
+
+        :return: a usage string for this command
+        """
         return 'PACKAGE...'
 
     def getSummary(self):
+        """Return a one line summary of this command.
+
+        :return: a one line summary of this command
+        """
         return _("List a package's dependencies")
 
     def doCheck(self, base, basecmd, extcmds):
+        """Verify that conditions are met so that this command can
+        run; namely that this command is called with appropriate
+        arguments.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: the command line arguments passed to *basecmd*
+        """
         checkPackageArg(base, basecmd, extcmds)
 
     def doCommand(self, base, basecmd, extcmds):
+        """Execute this command.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: the command line arguments passed to *basecmd*
+        :return: (exit_code, [ errors ])
+
+        exit_code is::
+
+            0 = we're done, exit
+            1 = we've errored, exit with error string
+            2 = we've got work yet to do, onto the next stage
+        """
         self.doneCommand(base, _("Finding dependencies: "))
-        try:
-            return base.deplist(extcmds)
-        except yum.Errors.YumBaseError, e:
-            return 1, [str(e)]
+        updateinfo.exclude_updates(base)
+        return base.deplist(extcmds)
+
+    def cacheRequirement(self, base, basecmd, extcmds):
+        """Return the cache requirements for the remote repos.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: a list of arguments passed to *basecmd*
+        :return: Type of requirement: read-only:past, read-only:present, read-only:future, write
+        """
+        return 'read-only:past' # read-only ?
 
 
 class RepoListCommand(YumCommand):
+    """A class containing methods needed by the cli to execute the
+    repolist command.
+    """
     
     def getNames(self):
-        return ('repolist',)
+        """Return a list containing the names of this command.  This
+        command can be called from the command line by using any of these names.
+
+        :return: a list containing the names of this command
+        """
+        return ('repolist', 'repoinfo')
 
     def getUsage(self):
+        """Return a usage string for this command.
+
+        :return: a usage string for this command
+        """
         return '[all|enabled|disabled]'
 
     def getSummary(self):
+        """Return a one line summary of this command.
+
+        :return: a one line summary of this command
+        """
         return _('Display the configured software repositories')
 
     def doCommand(self, base, basecmd, extcmds):
+        """Execute this command.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: the command line arguments passed to *basecmd*
+        :return: (exit_code, [ errors ])
+
+        exit_code is::
+
+            0 = we're done, exit
+            1 = we've errored, exit with error string
+            2 = we've got work yet to do, onto the next stage
+        """
         def _repo_size(repo):
             ret = 0
             for pkg in repo.sack.returnPackages():
@@ -838,12 +2125,9 @@ class RepoListCommand(YumCommand):
             return base.format_number(ret)
 
         def _repo_match(repo, patterns):
-            rid = repo.id.lower()
-            rnm = repo.name.lower()
             for pat in patterns:
-                if fnmatch.fnmatch(rid, pat):
-                    return True
-                if fnmatch.fnmatch(rnm, pat):
+                if repo in base.repos.findRepos(pat, name_match=True,
+                                                ignore_case=True):
                     return True
             return False
 
@@ -857,7 +2141,10 @@ class RepoListCommand(YumCommand):
             arg = 'enabled'
         extcmds = map(lambda x: x.lower(), extcmds)
 
-        verbose = base.verbose_logger.isEnabledFor(logginglevels.DEBUG_3)
+        if basecmd == 'repoinfo':
+            verbose = True
+        else:
+            verbose = base.verbose_logger.isEnabledFor(logginglevels.DEBUG_3)
         if arg != 'disabled' or extcmds:
             try:
                 # Setup so len(repo.sack) is correct
@@ -866,6 +2153,13 @@ class RepoListCommand(YumCommand):
             except yum.Errors.RepoError:
                 if verbose:
                     raise
+                #  populate them by hand, so one failure doesn't kill everything
+                # after it.
+                for repo in base.repos.listEnabled():
+                    try:
+                        base.repos.populateSack(repo.id)
+                    except yum.Errors.RepoError:
+                        pass
 
         repos = base.repos.repos.values()
         repos.sort()
@@ -924,111 +2218,113 @@ class RepoListCommand(YumCommand):
                 ui_enabled = dhibeg + _('disabled') + hiend
                 ui_endis_wid = utf8_width(_('disabled'))
 
-            if True: # Here to make patch smaller, TODO: rm
-                if not verbose:
-                    rid = str(repo)
-                    if enabled and repo.metalink:
-                        mdts = repo.metalink_data.repomd.timestamp
-                        if mdts > repo.repoXML.timestamp:
-                            rid = '*' + rid
-                    cols.append((rid, repo.name,
-                                 (ui_enabled, ui_endis_wid), ui_num))
+            if not verbose:
+                rid = repo.ui_id # can't use str()
+                if repo.metadata_expire >= 0:
+                    if os.path.exists(repo.metadata_cookie):
+                        last = os.stat(repo.metadata_cookie).st_mtime
+                        if last + repo.metadata_expire < time.time():
+                            rid = '!' + rid
+                if enabled and repo.metalink:
+                    mdts = repo.metalink_data.repomd.timestamp
+                    if mdts > repo.repoXML.timestamp:
+                        rid = '*' + rid
+                cols.append((rid, repo.name,
+                             (ui_enabled, ui_endis_wid), ui_num))
+            else:
+                if enabled:
+                    md = repo.repoXML
                 else:
+                    md = None
+                out = [base.fmtKeyValFill(_("Repo-id      : "), repo.ui_id),
+                       base.fmtKeyValFill(_("Repo-name    : "), repo.name)]
+
+                if force_show or extcmds:
+                    out += [base.fmtKeyValFill(_("Repo-status  : "),
+                                               ui_enabled)]
+                if md and md.revision is not None:
+                    out += [base.fmtKeyValFill(_("Repo-revision: "),
+                                               md.revision)]
+                if md and md.tags['content']:
+                    tags = md.tags['content']
+                    out += [base.fmtKeyValFill(_("Repo-tags    : "),
+                                               ", ".join(sorted(tags)))]
+
+                if md and md.tags['distro']:
+                    for distro in sorted(md.tags['distro']):
+                        tags = md.tags['distro'][distro]
+                        out += [base.fmtKeyValFill(_("Repo-distro-tags: "),
+                                                   "[%s]: %s" % (distro,
+                                                   ", ".join(sorted(tags))))]
+
+                if md:
+                    out += [base.fmtKeyValFill(_("Repo-updated : "),
+                                               time.ctime(md.timestamp)),
+                            base.fmtKeyValFill(_("Repo-pkgs    : "),ui_num),
+                            base.fmtKeyValFill(_("Repo-size    : "),ui_size)]
+
+                if hasattr(repo, '_orig_baseurl'):
+                    baseurls = repo._orig_baseurl
+                else:
+                    baseurls = repo.baseurl
+                if baseurls:
+                    out += [base.fmtKeyValFill(_("Repo-baseurl : "),
+                                               ", ".join(baseurls))]
+
+                if enabled:
+                    # This needs to be here due to the mirrorlists are
+                    # metalinks hack.
+                    repo.urls
+                if repo.metalink:
+                    out += [base.fmtKeyValFill(_("Repo-metalink: "),
+                                               repo.metalink)]
                     if enabled:
-                        md = repo.repoXML
-                    else:
-                        md = None
-                    out = [base.fmtKeyValFill(_("Repo-id      : "), repo),
-                           base.fmtKeyValFill(_("Repo-name    : "), repo.name)]
-
-                    if force_show or extcmds:
-                        out += [base.fmtKeyValFill(_("Repo-status  : "),
-                                                   ui_enabled)]
-                    if md and md.revision is not None:
-                        out += [base.fmtKeyValFill(_("Repo-revision: "),
-                                                   md.revision)]
-                    if md and md.tags['content']:
-                        tags = md.tags['content']
-                        out += [base.fmtKeyValFill(_("Repo-tags    : "),
-                                                   ", ".join(sorted(tags)))]
-
-                    if md and md.tags['distro']:
-                        for distro in sorted(md.tags['distro']):
-                            tags = md.tags['distro'][distro]
-                            out += [base.fmtKeyValFill(_("Repo-distro-tags: "),
-                                                       "[%s]: %s" % (distro,
-                                                       ", ".join(sorted(tags))))]
-
-                    if md:
-                        out += [base.fmtKeyValFill(_("Repo-updated : "),
-                                                   time.ctime(md.timestamp)),
-                                base.fmtKeyValFill(_("Repo-pkgs    : "),ui_num),
-                                base.fmtKeyValFill(_("Repo-size    : "),ui_size)]
-
-                    if hasattr(repo, '_orig_baseurl'):
-                        baseurls = repo._orig_baseurl
-                    else:
-                        baseurls = repo.baseurl
-                    if baseurls:
-                        out += [base.fmtKeyValFill(_("Repo-baseurl : "),
-                                                   ", ".join(baseurls))]
-
-                    if enabled:
-                        #  This needs to be here due to the mirrorlists are
-                        # metalinks hack.
-                        repo.urls
-                    if repo.metalink:
-                        out += [base.fmtKeyValFill(_("Repo-metalink: "),
-                                                   repo.metalink)]
-                        if enabled:
-                            ts = repo.metalink_data.repomd.timestamp
-                            out += [base.fmtKeyValFill(_("  Updated    : "),
-                                                       time.ctime(ts))]
-                    elif repo.mirrorlist:
-                        out += [base.fmtKeyValFill(_("Repo-mirrors : "),
-                                                   repo.mirrorlist)]
-                    if enabled and repo.urls and not baseurls:
-                        url = repo.urls[0]
-                        if len(repo.urls) > 1:
-                            url += ' (%d more)' % (len(repo.urls) - 1)
-                        out += [base.fmtKeyValFill(_("Repo-baseurl : "),
-                                                   url)]
-
-                    if not os.path.exists(repo.metadata_cookie):
-                        last = _("Unknown")
-                    else:
-                        last = os.stat(repo.metadata_cookie).st_mtime
-                        last = time.ctime(last)
+                        ts = repo.metalink_data.repomd.timestamp
+                        out += [base.fmtKeyValFill(_("  Updated    : "),
+                                                   time.ctime(ts))]
+                elif repo.mirrorlist:
+                    out += [base.fmtKeyValFill(_("Repo-mirrors : "),
+                                               repo.mirrorlist)]
+                if enabled and repo.urls and not baseurls:
+                    url = repo.urls[0]
+                    if len(repo.urls) > 1:
+                        url += ' (%d more)' % (len(repo.urls) - 1)
+                    out += [base.fmtKeyValFill(_("Repo-baseurl : "), url)]
+
+                if not os.path.exists(repo.metadata_cookie):
+                    last = _("Unknown")
+                else:
+                    last = os.stat(repo.metadata_cookie).st_mtime
+                    last = time.ctime(last)
 
-                    if repo.metadata_expire <= -1:
-                        num = _("Never (last: %s)") % last
-                    elif not repo.metadata_expire:
-                        num = _("Instant (last: %s)") % last
-                    else:
-                        num = _num2ui_num(repo.metadata_expire)
-                        num = _("%s second(s) (last: %s)") % (num, last)
+                if repo.metadata_expire <= -1:
+                    num = _("Never (last: %s)") % last
+                elif not repo.metadata_expire:
+                    num = _("Instant (last: %s)") % last
+                else:
+                    num = _num2ui_num(repo.metadata_expire)
+                    num = _("%s second(s) (last: %s)") % (num, last)
 
-                    out += [base.fmtKeyValFill(_("Repo-expire  : "), num)]
+                out += [base.fmtKeyValFill(_("Repo-expire  : "), num)]
 
-                    if repo.exclude:
-                        out += [base.fmtKeyValFill(_("Repo-exclude : "),
-                                                   ", ".join(repo.exclude))]
+                if repo.exclude:
+                    out += [base.fmtKeyValFill(_("Repo-exclude : "),
+                                               ", ".join(repo.exclude))]
 
-                    if repo.includepkgs:
-                        out += [base.fmtKeyValFill(_("Repo-include : "),
-                                                   ", ".join(repo.includepkgs))]
+                if repo.includepkgs:
+                    out += [base.fmtKeyValFill(_("Repo-include : "),
+                                               ", ".join(repo.includepkgs))]
 
-                    if ui_excludes_num:
-                        out += [base.fmtKeyValFill(_("Repo-excluded: "),
-                                                   ui_excludes_num)]
+                if ui_excludes_num:
+                    out += [base.fmtKeyValFill(_("Repo-excluded: "),
+                                               ui_excludes_num)]
 
-                    if repo.repofile:
-                        out += [base.fmtKeyValFill(_("Repo-filename: "),
-                                                   repo.repofile)]
+                if repo.repofile:
+                    out += [base.fmtKeyValFill(_("Repo-filename: "),
+                                               repo.repofile)]
 
-                    base.verbose_logger.log(logginglevels.DEBUG_3,
-                                            "%s\n",
-                                            "\n".join(map(misc.to_unicode, out)))
+                base.verbose_logger.info("%s\n",
+                                        "\n".join(map(misc.to_unicode, out)))
 
         if not verbose and cols:
             #  Work out the first (id) and last (enabled/disalbed/count),
@@ -1088,21 +2384,64 @@ class RepoListCommand(YumCommand):
         return 0, ['repolist: ' +to_unicode(locale.format("%d", tot_num, True))]
 
     def needTs(self, base, basecmd, extcmds):
+        """Return whether a transaction set must be set up before this
+        command can run.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: a list of arguments passed to *basecmd*
+        :return: True if a transaction set is needed, False otherwise
+        """
         return False
 
+    def cacheRequirement(self, base, basecmd, extcmds):
+        """Return the cache requirements for the remote repos.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: a list of arguments passed to *basecmd*
+        :return: Type of requirement: read-only:past, read-only:present, read-only:future, write
+        """
+        return 'read-only:past'
+
 
 class HelpCommand(YumCommand):
+    """A class containing methods needed by the cli to execute the
+    help command.
+    """
+
 
     def getNames(self):
+        """Return a list containing the names of this command.  This
+        command can be called from the command line by using any of these names.
+
+        :return: a list containing the names of this command
+        """
         return ['help']
 
     def getUsage(self):
+        """Return a usage string for this command.
+
+        :return: a usage string for this command
+        """
         return "COMMAND"
 
     def getSummary(self):
+        """Return a one line summary of this command.
+
+        :return: a one line summary of this command
+        """
         return _("Display a helpful usage message")
 
     def doCheck(self, base, basecmd, extcmds):
+        """Verify that conditions are met so that this command can
+        run; namely that this command is called with appropriate
+        arguments.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: the command line arguments passed to *basecmd*
+        """
         if len(extcmds) == 0:
             base.usage()
             raise cli.CliError
@@ -1147,82 +2486,230 @@ class HelpCommand(YumCommand):
         return help_output
 
     def doCommand(self, base, basecmd, extcmds):
+        """Execute this command.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: the command line arguments passed to *basecmd*
+        :return: (exit_code, [ errors ])
+
+        exit_code is::
+
+            0 = we're done, exit
+            1 = we've errored, exit with error string
+            2 = we've got work yet to do, onto the next stage
+        """
         if extcmds[0] in base.yum_cli_commands:
             command = base.yum_cli_commands[extcmds[0]]
             base.verbose_logger.info(self._makeOutput(command))
         return 0, []
 
     def needTs(self, base, basecmd, extcmds):
+        """Return whether a transaction set must be set up before this
+        command can run.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: a list of arguments passed to *basecmd*
+        :return: True if a transaction set is needed, False otherwise
+        """
         return False
 
 class ReInstallCommand(YumCommand):
+    """A class containing methods needed by the cli to execute the
+    reinstall command.
+    """
+
     def getNames(self):
+        """Return a list containing the names of this command.  This
+        command can be called from the command line by using any of these names.
+
+        :return: a list containing the names of this command
+        """
         return ['reinstall']
 
     def getUsage(self):
+        """Return a usage string for this command.
+
+        :return: a usage string for this command
+        """
         return "PACKAGE..."
 
     def doCheck(self, base, basecmd, extcmds):
+        """Verify that conditions are met so that this command can
+        run.  These include that the program is being run by the root
+        user, that there are enabled repositories with gpg keys, and
+        that this command is called with appropriate arguments.
+
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: the command line arguments passed to *basecmd*
+        """
         checkRootUID(base)
         checkGPGKey(base)
         checkPackageArg(base, basecmd, extcmds)
         checkEnabledRepo(base, extcmds)
 
     def doCommand(self, base, basecmd, extcmds):
+        """Execute this command.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: the command line arguments passed to *basecmd*
+        :return: (exit_code, [ errors ])
+
+        exit_code is::
+
+            0 = we're done, exit
+            1 = we've errored, exit with error string
+            2 = we've got work yet to do, onto the next stage
+        """
         self.doneCommand(base, _("Setting up Reinstall Process"))
-        try:
-            return base.reinstallPkgs(extcmds)
-            
-        except yum.Errors.YumBaseError, e:
-            return 1, [to_unicode(e)]
+        return base.reinstallPkgs(extcmds)
 
     def getSummary(self):
+        """Return a one line summary of this command.
+
+        :return: a one line summary of this command
+        """
         return _("reinstall a package")
 
     def needTs(self, base, basecmd, extcmds):
+        """Return whether a transaction set must be set up before this
+        command can run.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: a list of arguments passed to *basecmd*
+        :return: True if a transaction set is needed, False otherwise
+        """
         return False
         
 class DowngradeCommand(YumCommand):
+    """A class containing methods needed by the cli to execute the
+    downgrade command.
+    """
+
     def getNames(self):
+        """Return a list containing the names of this command.  This
+        command can be called from the command line by using any of these names.
+
+        :return: a list containing the names of this command
+        """
         return ['downgrade']
 
     def getUsage(self):
+        """Return a usage string for this command.
+
+        :return: a usage string for this command
+        """
         return "PACKAGE..."
 
     def doCheck(self, base, basecmd, extcmds):
+        """Verify that conditions are met so that this command can
+        run.  These include that the program is being run by the root
+        user, that there are enabled repositories with gpg keys, and
+        that this command is called with appropriate arguments.
+
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: the command line arguments passed to *basecmd*
+        """
         checkRootUID(base)
         checkGPGKey(base)
         checkPackageArg(base, basecmd, extcmds)
         checkEnabledRepo(base, extcmds)
 
     def doCommand(self, base, basecmd, extcmds):
+        """Execute this command.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: the command line arguments passed to *basecmd*
+        :return: (exit_code, [ errors ])
+
+        exit_code is::
+
+            0 = we're done, exit
+            1 = we've errored, exit with error string
+            2 = we've got work yet to do, onto the next stage
+        """
         self.doneCommand(base, _("Setting up Downgrade Process"))
-        try:
-            return base.downgradePkgs(extcmds)
-        except yum.Errors.YumBaseError, e:
-            return 1, [str(e)]
+        return base.downgradePkgs(extcmds)
 
     def getSummary(self):
+        """Return a one line summary of this command.
+
+        :return: a one line summary of this command
+        """
         return _("downgrade a package")
 
     def needTs(self, base, basecmd, extcmds):
+        """Return whether a transaction set must be set up before this
+        command can run.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: a list of arguments passed to *basecmd*
+        :return: True if a transaction set is needed, False otherwise
+        """
         return False
 
 
 class VersionCommand(YumCommand):
+    """A class containing methods needed by the cli to execute the
+    version command.
+    """
+
     def getNames(self):
-        return ['version']
+        """Return a list containing the names of this command.  This
+        command can be called from the command line by using any of these names.
+
+        :return: a list containing the names of this command
+        """
+        return ['version']
 
     def getUsage(self):
+        """Return a usage string for this command.
+
+        :return: a usage string for this command
+        """
         return "[all|installed|available]"
 
     def getSummary(self):
+        """Return a one line summary of this command.
+
+        :return: a one line summary of this command
+        """
         return _("Display a version for the machine and/or available repos.")
 
     def doCommand(self, base, basecmd, extcmds):
+        """Execute this command.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: the command line arguments passed to *basecmd*
+        :return: (exit_code, [ errors ])
+
+        exit_code is::
+
+            0 = we're done, exit
+            1 = we've errored, exit with error string
+            2 = we've got work yet to do, onto the next stage
+        """
         vcmd = 'installed'
         if extcmds:
             vcmd = extcmds[0]
+        if vcmd in ('grouplist', 'groupinfo',
+                    'nogroups', 'nogroups-installed', 'nogroups-available',
+                    'nogroups-all',
+                    'installed', 'all', 'group-installed', 'group-all',
+                    'available', 'all', 'group-available', 'group-all'):
+            extcmds = extcmds[1:]
+        else:
+            vcmd = 'installed'
 
         def _append_repos(cols, repo_data):
             for repoid in sorted(repo_data):
@@ -1264,7 +2751,7 @@ class VersionCommand(YumCommand):
 
         if vcmd == 'groupinfo':
             for group in groups:
-                if group not in extcmds[1:]:
+                if group not in extcmds:
                     continue
                 print _(" Group   :"), group
                 print _(" Packages:")
@@ -1284,11 +2771,35 @@ class VersionCommand(YumCommand):
 
             return 0, ['version groupinfo']
 
+        # Have a way to manually specify a dynamic group of packages, whee.
+        if not vcmd.startswith("group-") and extcmds:
+            for dgrp in extcmds:
+                if '/' not in dgrp:
+                    # It's a package name, add it to the cmd line group...
+                    if '<cmd line>' not in groups:
+                        groups['<cmd line>'] = set()
+                    groups['<cmd line>'].add(dgrp)
+                else: # It's a file containing a list of packages...
+                    if not os.path.exists(dgrp):
+                        base.logger.warn(_(" File doesn't exist: %s"), dgrp)
+                    else:
+                        pkg_names = open(dgrp).readlines()
+                        pkg_names = set(n.strip() for n in pkg_names)
+                        dgrp = os.path.basename(dgrp)
+                        if dgrp in groups:
+                            for num in range(1, 100):
+                                ndgrp = dgrp + str(num)
+                                if ndgrp in groups:
+                                    continue
+                                dgrp = ndgrp
+                                break
+                        groups[dgrp] = pkg_names
+
         rel = base.conf.yumvar['releasever']
         ba  = base.conf.yumvar['basearch']
         cols = []
         if vcmd in ('installed', 'all', 'group-installed', 'group-all'):
-            try:
+            if True: # Try, YumBase...
                 data = base.rpmdb.simpleVersion(not verbose, groups=groups)
                 lastdbv = base.history.last()
                 if lastdbv is not None:
@@ -1302,15 +2813,14 @@ class VersionCommand(YumCommand):
                 if groups:
                     for grp in sorted(data[2]):
                         if (vcmd.startswith("group-") and
-                            len(extcmds) > 1 and grp not in extcmds[1:]):
+                            extcmds and grp not in extcmds):
                             continue
                         cols.append(("%s %s" % (_("Group-Installed:"), grp),
                                      str(data[2][grp])))
                         _append_repos(cols, data[3][grp])
-            except yum.Errors.YumBaseError, e:
-                return 1, [str(e)]
+
         if vcmd in ('available', 'all', 'group-available', 'group-all'):
-            try:
+            if True: # Try, YumBase...
                 data = base.pkgSack.simpleVersion(not verbose, groups=groups)
                 if vcmd not in ('group-available', 'group-all'):
                     cols.append(("%s %s/%s" % (_("Available:"), rel, ba),
@@ -1320,14 +2830,12 @@ class VersionCommand(YumCommand):
                 if groups:
                     for grp in sorted(data[2]):
                         if (vcmd.startswith("group-") and
-                            len(extcmds) > 1 and grp not in extcmds[1:]):
+                            extcmds and grp not in extcmds):
                             continue
                         cols.append(("%s %s" % (_("Group-Available:"), grp),
                                      str(data[2][grp])))
                         if verbose:
                             _append_repos(cols, data[3][grp])
-            except yum.Errors.YumBaseError, e:
-                return 1, [str(e)]
 
         data = {'rid' : {}, 'ver' : {}}
         for (rid, ver) in cols:
@@ -1344,6 +2852,14 @@ class VersionCommand(YumCommand):
         return 0, ['version']
 
     def needTs(self, base, basecmd, extcmds):
+        """Return whether a transaction set must be set up before this
+        command can run.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: a list of arguments passed to *basecmd*
+        :return: True if a transaction set is needed, False otherwise
+        """
         vcmd = 'installed'
         if extcmds:
             vcmd = extcmds[0]
@@ -1352,25 +2868,74 @@ class VersionCommand(YumCommand):
             return True
         return vcmd in ('available', 'all', 'group-available', 'group-all')
 
+    def cacheRequirement(self, base, basecmd, extcmds):
+        """Return the cache requirements for the remote repos.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: a list of arguments passed to *basecmd*
+        :return: Type of requirement: read-only:past, read-only:present, read-only:future, write
+        """
+        return 'read-only:present'
+
 
 class HistoryCommand(YumCommand):
+    """A class containing methods needed by the cli to execute the
+    history command.
+    """
+
     def getNames(self):
+        """Return a list containing the names of this command.  This
+        command can be called from the command line by using any of these names.
+
+        :return: a list containing the names of this command
+        """
         return ['history']
 
     def getUsage(self):
+        """Return a usage string for this command.
+
+        :return: a usage string for this command
+        """
         return "[info|list|packages-list|summary|addon-info|redo|undo|rollback|new]"
 
     def getSummary(self):
+        """Return a one line summary of this command.
+
+        :return: a one line summary of this command
+        """
         return _("Display, or use, the transaction history")
 
     def _hcmd_redo(self, base, extcmds):
+        kwargs = {'force_reinstall' : False,
+                  'force_changed_removal' : False,
+                  }
+        kwargs_map = {'reinstall' : 'force_reinstall',
+                      'force-reinstall' : 'force_reinstall',
+                      'remove' : 'force_changed_removal',
+                      'force-remove' : 'force_changed_removal',
+                      }
+        while len(extcmds) > 1:
+            done = False
+            for arg in extcmds[1].replace(' ', ',').split(','):
+                if arg not in kwargs_map:
+                    continue
+
+                done = True
+                key = kwargs_map[extcmds[1]]
+                kwargs[key] = not kwargs[key]
+
+            if not done:
+                break
+            extcmds = [extcmds[0]] + extcmds[2:]
+
         old = base._history_get_transaction(extcmds)
         if old is None:
             return 1, ['Failed history redo']
         tm = time.ctime(old.beg_timestamp)
         print "Repeating transaction %u, from %s" % (old.tid, tm)
         base.historyInfoCmdPkgsAltered(old)
-        if base.history_redo(old):
+        if base.history_redo(old, **kwargs):
             return 2, ["Repeating transaction %u" % (old.tid,)]
 
     def _hcmd_undo(self, base, extcmds):
@@ -1426,12 +2991,60 @@ class HistoryCommand(YumCommand):
     def _hcmd_new(self, base, extcmds):
         base.history._create_db_file()
 
+    def _hcmd_stats(self, base, extcmds):
+        print "File        :", base.history._db_file
+        num = os.stat(base.history._db_file).st_size
+        print "Size        :", locale.format("%d", num, True)
+        trans_N = base.history.last()
+        if trans_N is None:
+            print _("Transactions:"), 0
+            return
+        counts = base.history._pkg_stats()
+        if not counts:
+            msg = _("could not open history file: %s") % base.history._db_file
+            raise yum.Errors.MiscError, msg
+        trans_1 = base.history.old("1")[0]
+        print _("Transactions:"), trans_N.tid
+        print _("Begin time  :"), time.ctime(trans_1.beg_timestamp)
+        print _("End time    :"), time.ctime(trans_N.end_timestamp)
+        print _("Counts      :")
+        print _("  NEVRAC :"), locale.format("%6d", counts['nevrac'], True)
+        print _("  NEVRA  :"), locale.format("%6d", counts['nevra'],  True)
+        print _("  NA     :"), locale.format("%6d", counts['na'],     True)
+        print _("  NEVR   :"), locale.format("%6d", counts['nevr'],   True)
+        print _("  rpm DB :"), locale.format("%6d", counts['rpmdb'],  True)
+        print _("  yum DB :"), locale.format("%6d", counts['yumdb'],  True)
+
+    def _hcmd_sync(self, base, extcmds):
+        extcmds = extcmds[1:]
+        if not extcmds:
+            extcmds = None
+        for ipkg in sorted(base.rpmdb.returnPackages(patterns=extcmds)):
+            if base.history.pkg2pid(ipkg, create=False) is None:
+                continue
+
+            print "Syncing rpm/yum DB data for:", ipkg, "...",
+            if base.history.sync_alldb(ipkg):
+                print "Done."
+            else:
+                print "FAILED."
+
     def doCheck(self, base, basecmd, extcmds):
+        """Verify that conditions are met so that this command can
+        run.  The exact conditions checked will vary depending on the
+        subcommand that is being called.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: the command line arguments passed to *basecmd*
+        """
         cmds = ('list', 'info', 'summary', 'repeat', 'redo', 'undo', 'new',
                 'rollback',
                 'addon', 'addon-info',
+                'stats', 'statistics', 'sync', 'synchronize'
                 'pkg', 'pkgs', 'pkg-list', 'pkgs-list',
-                'package', 'package-list', 'packages', 'packages-list')
+                'package', 'package-list', 'packages', 'packages-list',
+                'pkg-info', 'pkgs-info', 'package-info', 'packages-info')
         if extcmds and extcmds[0] not in cmds:
             base.logger.critical(_('Invalid history sub-command, use: %s.'),
                                  ", ".join(cmds))
@@ -1439,11 +3052,24 @@ class HistoryCommand(YumCommand):
         if extcmds and extcmds[0] in ('repeat', 'redo', 'undo', 'rollback', 'new'):
             checkRootUID(base)
             checkGPGKey(base)
-        elif not os.access(base.history._db_file, os.R_OK):
+        elif not (base.history._db_file and os.access(base.history._db_file, os.R_OK)):
             base.logger.critical(_("You don't have access to the history DB."))
             raise cli.CliError
 
     def doCommand(self, base, basecmd, extcmds):
+        """Execute this command.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: the command line arguments passed to *basecmd*
+        :return: (exit_code, [ errors ])
+
+        exit_code is::
+
+            0 = we're done, exit
+            1 = we've errored, exit with error string
+            2 = we've got work yet to do, onto the next stage
+        """
         vcmd = 'list'
         if extcmds:
             vcmd = extcmds[0]
@@ -1468,29 +3094,88 @@ class HistoryCommand(YumCommand):
             ret = self._hcmd_rollback(base, extcmds)
         elif vcmd == 'new':
             ret = self._hcmd_new(base, extcmds)
+        elif vcmd in ('stats', 'statistics'):
+            ret = self._hcmd_stats(base, extcmds)
+        elif vcmd in ('sync', 'synchronize'):
+            ret = self._hcmd_sync(base, extcmds)
+        elif vcmd in ('pkg-info', 'pkgs-info', 'package-info', 'packages-info'):
+            ret = base.historyPackageInfoCmd(extcmds)
 
         if ret is None:
             return 0, ['history %s' % (vcmd,)]
         return ret
 
     def needTs(self, base, basecmd, extcmds):
+        """Return whether a transaction set must be set up before this
+        command can run.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: a list of arguments passed to *basecmd*
+        :return: True if a transaction set is needed, False otherwise
+        """
         vcmd = 'list'
         if extcmds:
             vcmd = extcmds[0]
         return vcmd in ('repeat', 'redo', 'undo', 'rollback')
 
+    def cacheRequirement(self, base, basecmd, extcmds):
+        """Return the cache requirements for the remote repos.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: a list of arguments passed to *basecmd*
+        :return: Type of requirement: read-only:past, read-only:present, read-only:future, write
+        """
+        vcmd = 'list'
+        if extcmds:
+            vcmd = extcmds[0]
+        if vcmd in ('repeat', 'redo', 'undo', 'rollback'):
+            return 'write'
+        return 'read-only:past'
+
 
 class CheckRpmdbCommand(YumCommand):
+    """A class containing methods needed by the cli to execute the
+    check-rpmdb command.
+    """
+
     def getNames(self):
+        """Return a list containing the names of this command.  This
+        command can be called from the command line by using any of these names.
+
+        :return: a list containing the names of this command
+        """
         return ['check', 'check-rpmdb']
 
     def getUsage(self):
+        """Return a usage string for this command.
+
+        :return: a usage string for this command
+        """
         return "[dependencies|duplicates|all]"
 
     def getSummary(self):
+        """Return a one line summary of this command.
+
+        :return: a one line summary of this command
+        """
         return _("Check for problems in the rpmdb")
 
     def doCommand(self, base, basecmd, extcmds):
+        """Execute this command.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: the command line arguments passed to *basecmd*
+        :return: (exit_code, [ errors ])
+
+        exit_code is::
+
+            0 = we're done, exit
+            1 = we've errored, exit with error string
+            2 = we've got work yet to do, onto the next stage
+        """
         chkcmd = 'all'
         if extcmds:
             chkcmd = extcmds
@@ -1505,33 +3190,1745 @@ class CheckRpmdbCommand(YumCommand):
         return rc, ['%s %s' % (basecmd, chkcmd)]
 
     def needTs(self, base, basecmd, extcmds):
+        """Return whether a transaction set must be set up before this
+        command can run.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: a list of arguments passed to *basecmd*
+        :return: True if a transaction set is needed, False otherwise
+        """
         return False
 
+    def cacheRequirement(self, base, basecmd, extcmds):
+        """Return the cache requirements for the remote repos.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: a list of arguments passed to *basecmd*
+        :return: Type of requirement: read-only:past, read-only:present, read-only:future, write
+        """
+        return 'read-only:past'
+
+
 class LoadTransactionCommand(YumCommand):
+    """A class containing methods needed by the cli to execute the
+    load-transaction command.
+    """
+
     def getNames(self):
-        return ['load-transaction', 'load-ts']
+        """Return a list containing the names of this command.  This
+        command can be called from the command line by using any of these names.
+
+        :return: a list containing the names of this command
+        """
+        return ['load-transaction', 'load-ts', 'ts-load']
 
     def getUsage(self):
+        """Return a usage string for this command.
+
+        :return: a usage string for this command
+        """
         return "filename"
 
     def getSummary(self):
+        """Return a one line summary of this command.
+
+        :return: a one line summary of this command
+        """
         return _("load a saved transaction from filename")
 
     def doCommand(self, base, basecmd, extcmds):
+        """Execute this command.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: the command line arguments passed to *basecmd*
+        :return: (exit_code, [ errors ])
+
+        exit_code is::
+
+            0 = we're done, exit
+            1 = we've errored, exit with error string
+            2 = we've got work yet to do, onto the next stage
+        """
+        def _pkg_avail(l):
+            if not l.startswith('mbr:'):
+                return True # Kind of ... 
+
+            try:
+                pkgtup, current_state = l.split(':')[1].strip().split(' ')
+                current_state = int(current_state.strip())
+                pkgtup = tuple(pkgtup.strip().split(','))
+                if current_state == yum.TS_INSTALL:
+                    po = base.getInstalledPackageObject(pkgtup)
+                elif current_state == yum.TS_AVAILABLE:
+                    po = base.getPackageObject(pkgtup)
+                else:
+                    return False # Bad...
+            except:
+                return False # Bad...
+
+            return True
+        def _pkg_counts(l, counts):
+            if not l.startswith('  ts_state: '):
+                return
+            state = l[len('  ts_state: '):]
+            if state in ('e', 'od', 'ud'):
+                counts['remove'] += 1
+            elif state in ('i', 'u'):
+                counts['install'] += 1
+
         if not extcmds:
-            base.logger.critical(_("No saved transaction file specified."))
-            raise cli.CliError
+            extcmds = [tempfile.gettempdir()]
         
         load_file = extcmds[0]
+
+        if os.path.isdir(load_file):
+            self.doneCommand(base, _("showing transaction files from %s") %
+                             load_file)
+            yumtxs = sorted(glob.glob("%s/*.yumtx" % load_file))
+            currpmv = None
+            done = False
+            for yumtx in yumtxs:
+                data = base._load_ts_data(yumtx)
+                if data[0] is not None:
+                    continue # Bad file...
+                data = data[1]
+
+                rpmv = data[0].strip()
+                if currpmv is None:
+                    currpmv = str(base.rpmdb.simpleVersion(main_only=True)[0])
+                if rpmv == currpmv:
+                    current = _('y')
+                else:
+                    current = ' ' # Not usable is the most common
+
+                # See load_ts() for data ...
+                try:
+                    numrepos = int(data[2].strip())
+                    pkgstart = 3+numrepos
+                    numpkgs  = int(data[pkgstart].strip())
+                    pkgstart += 1
+                except:
+                    continue
+
+                counts = {'install' : 0, 'remove' : 0}
+                for l in data[pkgstart:]:
+                    l = l.rstrip()
+                    _pkg_counts(l, counts)
+
+                # Check to see if all the packages are available..
+                bad = ' '
+                for l in data[pkgstart:]:
+                    l = l.rstrip()
+                    if _pkg_avail(l):
+                        continue
+
+                    bad = '*'
+                    break
+
+                # assert (counts['install'] + counts['remove']) == numpkgs
+                current = '%s%s' % (bad, current)
+                if not done:
+                    pkgititle = _("Install")
+                    pkgilen = utf8_width(pkgititle)
+                    if pkgilen < 6:
+                        pkgilen = 6
+                    pkgititle = utf8_width_fill(pkgititle, pkgilen)
+
+                    pkgetitle = _("Remove")
+                    pkgelen = utf8_width(pkgetitle)
+                    if pkgelen < 6:
+                        pkgelen = 6
+                    pkgetitle = utf8_width_fill(pkgetitle, pkgelen)
+                    print "?? |", pkgititle, "|", pkgetitle, "|", _("Filename")
+                    
+                    done = True
+
+                numipkgs = locale.format("%d", counts['install'], True)
+                numipkgs = "%*s" % (pkgilen, numipkgs)
+                numepkgs = locale.format("%d", counts['remove'], True)
+                numepkgs = "%*s" % (pkgelen, numepkgs)
+                print "%s | %s | %s | %s" % (current, numipkgs, numepkgs,
+                                             os.path.basename(yumtx))
+            return 0, [_('Saved transactions from %s; looked at %u files') %
+                       (load_file, len(yumtxs))]
+
         self.doneCommand(base, _("loading transaction from %s") % load_file)
         
-        try:
-            base.load_ts(load_file)
-        except yum.Errors.YumBaseError, e:
-            return 1, [to_unicode(e)]
+        base.load_ts(load_file)
         return 2, [_('Transaction loaded from %s with %s members') % (load_file, len(base.tsInfo.getMembers()))]
 
 
     def needTs(self, base, basecmd, extcmds):
+        """Return whether a transaction set must be set up before this
+        command can run.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: a list of arguments passed to *basecmd*
+        :return: True if a transaction set is needed, False otherwise
+        """
+        if not extcmds or os.path.isdir(extcmds[0]):
+            return False
+
+        return True
+
+    def cacheRequirement(self, base, basecmd, extcmds):
+        """Return the cache requirements for the remote repos.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: a list of arguments passed to *basecmd*
+        :return: Type of requirement: read-only:past, read-only:present, read-only:future, write
+        """
+        if not extcmds or os.path.isdir(extcmds[0]):
+            return 'read-only:past'
+
+        return 'write'
+
+
+class SwapCommand(YumCommand):
+    """A class containing methods needed by the cli to execute the
+    swap command.
+    """
+
+    def getNames(self):
+        """Return a list containing the names of this command.  This
+        command can be called from the command line by using any of these names.
+
+        :return: a list containing the names of this command
+        """
+        return ['swap']
+
+    def getUsage(self):
+        """Return a usage string for this command.
+
+        :return: a usage string for this command
+        """
+        return "[remove|cmd] <pkg|arg(s)> [-- install|cmd] <pkg|arg(s)>"
+
+    def getSummary(self):
+        """Return a one line summary of this command.
+
+        :return: a one line summary of this command
+        """
+        return _("Simple way to swap packages, instead of using shell")
+
+    def doCheck(self, base, basecmd, extcmds):
+        """Verify that conditions are met so that this command can run.
+        These include that the program is being run by the root user,
+        that there are enabled repositories with gpg keys, and that
+        this command is called with appropriate arguments.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: the command line arguments passed to *basecmd*
+        """
+        checkRootUID(base)
+        checkGPGKey(base)
+        checkSwapPackageArg(base, basecmd, extcmds)
+        checkEnabledRepo(base, extcmds)
+
+    def doCommand(self, base, basecmd, extcmds):
+        """Execute this command.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: the command line arguments passed to *basecmd*
+        :return: (exit_code, [ errors ])
+
+        exit_code is::
+
+            0 = we're done, exit
+            1 = we've errored, exit with error string
+            2 = we've got work yet to do, onto the next stage
+        """
+
+        if '--' in extcmds:
+            off = extcmds.index('--')
+            rextcmds = extcmds[:off]
+            iextcmds = extcmds[off+1:]
+        else:
+            rextcmds = extcmds[:1]
+            iextcmds = extcmds[1:]
+
+        if not (rextcmds and iextcmds):
+            return 1, ['swap'] # impossible
+
+        if rextcmds[0] not in base.yum_cli_commands:
+            rextcmds = ['remove'] + rextcmds
+        if iextcmds[0] not in base.yum_cli_commands:
+            iextcmds = ['install'] + iextcmds
+
+        # Very similar to what the shell command does...
+        ocmds = base.cmds
+        oline = base.cmdstring
+        for cmds in (rextcmds, iextcmds):
+            base.cmdstring = " ".join(cmds)
+            base.cmds = cmds
+            #  Don't call this atm. as the line has gone through it already,
+            # also makes it hard to do the "is ?extcmds[0] a cmd" check.
+            # base.plugins.run('args', args=base.cmds)
+
+            # We don't catch exceptions, just pass them up and fail...
+            base.parseCommands()
+            cmdret = base.doCommands()
+            if cmdret[0] != 2:
+                return cmdret[0], ['%s %s' % (basecmd, " ".join(cmds))]
+        base.cmds      = ocmds
+        base.cmdstring = oline
+
+        return 2, ['%s %s' % (basecmd, " ".join(extcmds))]
+
+
+class RepoPkgsCommand(YumCommand):
+    """A class containing methods needed by the cli to execute the
+    repo command.
+    """
+
+    def getNames(self):
+        """Return a list containing the names of this command.  This
+        command can be called from the command line by using any of these names.
+
+        :return: a list containing the names of this command
+        """
+        return ['repo-pkgs',
+                'repo-packages', 'repository-pkgs', 'repository-packages']
+
+    def getUsage(self):
+        """Return a usage string for this command.
+
+        :return: a usage string for this command
+        """
+        return "<repoid> <list|info|install|remove|upgrade|reinstall*|remove-or-*> [pkg(s)]"
+
+    def getSummary(self):
+        """Return a one line summary of this command.
+
+        :return: a one line summary of this command
+        """
+        return _("Treat a repo. as a group of packages, so we can install/remove all of them")
+
+    def doCheck(self, base, basecmd, extcmds):
+        """Verify that conditions are met so that this command can run.
+        These include that the program is being run by the root user,
+        that there are enabled repositories with gpg keys, and that
+        this command is called with appropriate arguments.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: the command line arguments passed to *basecmd*
+        """
+        if len(extcmds) < 2: # <repoid> install|remove [pkgs]
+            base.logger.critical(
+                    _('Error: Need to pass a repoid. and command to %s') % basecmd)
+            _err_mini_usage(base, basecmd)
+            raise cli.CliError
+        if extcmds[1] not in ('info', 'list'):
+            checkRootUID(base)
+        checkGPGKey(base)
+        self.repoid = checkRepoPackageArg(base, basecmd, extcmds)
+
+    def doCommand(self, base, basecmd, extcmds):
+        """Execute this command.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: the command line arguments passed to *basecmd*
+        :return: (exit_code, [ errors ])
+
+        exit_code is::
+
+            0 = we're done, exit
+            1 = we've errored, exit with error string
+            2 = we've got work yet to do, onto the next stage
+        """
+
+        def _add_repopkg2txmbrs(txmbrs, repoid):
+            for txmbr in txmbrs:
+                txmbr.repopkg = repoid
+
+        repoid = self.repoid
+        cmd = extcmds[1]
+        args = extcmds[2:]
+        noargs = False
+        if not args:
+            noargs = True
+            args = ['*']
+        num = 0
+
+        remap = {'erase' : 'remove',
+                 'erase-or-reinstall' : 'remove-or-reinstall',
+                 'erase-or-sync' : 'remove-or-sync',
+                 'erase-or-distro-sync' : 'remove-or-sync',
+                 'remove-or-distro-sync' : 'remove-or-sync',
+                 'erase-or-distribution-synchronization' : 'remove-or-sync',
+                 'remove-or-distribution-synchronization' : 'remove-or-sync',
+                 'upgrade' : 'update', # Hack, but meh.
+                 'upgrade-to' : 'update-to', # Hack, but meh.
+                 'check-upgrade' : 'check-update', # Hack, but meh.
+                 'check-upgrades' : 'check-update', # Hack, but meh.
+                 'check-updates' : 'check-update', # Hack, but meh.
+                 }
+        cmd = remap.get(cmd, cmd)
+
+        if False: pass
+        elif cmd == 'list': # list/info is easiest...
+            return ListCommand().doCommand(base, cmd, args, repoid=repoid)
+        elif cmd == 'info':
+            return InfoCommand().doCommand(base, cmd, args, repoid=repoid)
+        elif cmd == 'check-update':
+            return CheckUpdateCommand().doCommand(base, cmd, args,repoid=repoid)
+
+        elif cmd == 'install': # install is simpler version of installPkgs...
+            for arg in args:
+                txmbrs = base.install(pattern=arg, repoid=repoid)
+                _add_repopkg2txmbrs(txmbrs, repoid)
+                num += len(txmbrs)
+
+            if num:
+                return 2, P_('%d package to install', '%d packages to install',
+                             num)
+
+        elif cmd == 'update': # update is basically the same as install...
+            for arg in args:
+                txmbrs = base.update(pattern=arg, repoid=repoid)
+                _add_repopkg2txmbrs(txmbrs, repoid)
+                num += len(txmbrs)
+
+            if num:
+                updateinfo.remove_txmbrs(base)
+                return 2, P_('%d package to update', '%d packages to update',
+                             num)
+
+        elif cmd == 'update-to': # update is basically the same as install...
+            for arg in args:
+                txmbrs = base.update(pattern=arg, update_to=True, repoid=repoid)
+                _add_repopkg2txmbrs(txmbrs, repoid)
+                num += len(txmbrs)
+
+            if num:
+                updateinfo.remove_txmbrs(base)
+                return 2, P_('%d package to update', '%d packages to update',
+                             num)
+
+        elif cmd in ('reinstall-old', 'reinstall-installed'):
+            #  We have to choose for reinstall, for "reinstall foo" do we mean:
+            # 1. reinstall the packages that are currently installed from "foo".
+            # 2. reinstall the packages specified to the ones from "foo"
+
+            # This is for installed.from_repo=foo
+            if noargs:
+                onot_found_a = base._not_found_a.copy()
+            for arg in args:
+                txmbrs = base.reinstall(pattern=arg,
+                                        repoid=repoid, repoid_install=repoid)
+                _add_repopkg2txmbrs(txmbrs, repoid)
+                num += len(txmbrs)
+            if noargs:
+                base._not_found_a = onot_found_a
+
+            if num:
+                return 2, P_('%d package to reinstall',
+                             '%d packages to reinstall', num)
+
+        elif cmd in ('reinstall-new', 'reinstall-available', 'move-to'):
+            # This is for move-to the packages from this repo.
+            if noargs:
+                onot_found_a = base._not_found_a.copy()
+            for arg in args:
+                txmbrs = base.reinstall(pattern=arg, repoid_install=repoid)
+                _add_repopkg2txmbrs(txmbrs, repoid)
+                num += len(txmbrs)
+            if noargs:
+                base._not_found_a = onot_found_a
+
+            if num:
+                return 2, P_('%d package to move to',
+                             '%d packages to move to', num)
+
+        elif cmd == 'reinstall':
+            #  This means "guess", so doing the old version unless it produces
+            # nothing, in which case try switching.
+            if noargs:
+                onot_found_a = base._not_found_a.copy()
+            for arg in args:
+                try:
+                    txmbrs = base.reinstall(pattern=arg,
+                                            repoid=repoid,repoid_install=repoid)
+                except yum.Errors.ReinstallRemoveError:
+                    continue
+                _add_repopkg2txmbrs(txmbrs, repoid)
+                num += len(txmbrs)
+            if noargs:
+                base._not_found_a = onot_found_a.copy()
+
+            if num:
+                return 2, P_('%d package to reinstall',
+                             '%d packages to reinstall', num)
+
+            for arg in args:
+                txmbrs = base.reinstall(pattern=arg, repoid_install=repoid)
+                _add_repopkg2txmbrs(txmbrs, repoid)
+                num += len(txmbrs)
+            if noargs:
+                base._not_found_a = onot_found_a
+
+            if num:
+                return 2, P_('%d package to move to',
+                             '%d packages to move to', num)
+
+        elif cmd == 'remove': # Also mostly the same...
+            for arg in args:
+                txmbrs = base.remove(pattern=arg, repoid=repoid)
+                _add_repopkg2txmbrs(txmbrs, repoid)
+                num += len(txmbrs)
+
+            if num:
+                return 2, P_('%d package to remove', '%d packages to remove',
+                             num)
+
+        elif cmd == 'remove-or-reinstall': # More complicated...
+            for arg in args:
+                txmbrs = base.remove(pattern=arg, repoid=repoid)
+                # Add an install() if it's in another repo.
+                for txmbr in txmbrs[:]:
+                    pkgs = base.pkgSack.searchPkgTuple(txmbr.pkgtup)
+                    for pkg in sorted(pkgs):
+                        if pkg.repoid == repoid:
+                            continue
+                        txmbrs += base.install(po=pkg)
+                        break
+
+                _add_repopkg2txmbrs(txmbrs, repoid)
+                num += len(txmbrs)
+
+            if num:
+                return 2, P_('%d package to remove/reinstall',
+                             '%d packages to remove/reinstall', num)
+
+        elif cmd == 'remove-or-sync': # Even more complicated...
+            for arg in args:
+                txmbrs = base.remove(pattern=arg, repoid=repoid)
+                #  Add an install/upgrade/downgrade if a version is in another
+                # repo.
+                for txmbr in txmbrs[:]:
+                    pkgs = base.pkgSack.searchNames([txmbr.name])
+                    apkgs = []
+                    for pkg in sorted(pkgs):
+                        if pkg.repoid == repoid: # Backwards filter_pkgs_repoid
+                            continue
+                        if apkgs and pkg.verEQ(apkgs[0]):
+                            apkgs.append(pkg)
+                        else:
+                            apkgs = [pkg]
+
+                    if apkgs:
+                        for pkg in apkgs:
+                            if pkg.arch != txmbr.arch:
+                                continue
+                            apkgs = [pkg]
+                            break
+                        if len(apkgs) != 1:
+                            apkgs = base.bestPackagesFromList(apkgs)
+
+                    for toinst in apkgs:
+                        n,a,e,v,r = toinst.pkgtup
+                        if toinst.verEQ(txmbr.po):
+                            txmbrs += base.install(po=toinst)
+                        elif toinst.verGT(txmbr.po):
+                            txmbrs += base.update(po=toinst)
+                        else:
+                            base.tsInfo.remove(txmbr.pkgtup)
+                            txmbrs.remove(txmbr)
+                            txmbrs += base.downgrade(po=toinst)
+
+                _add_repopkg2txmbrs(txmbrs, repoid)
+                num += len(txmbrs)
+
+            if num:
+                return 2, P_('%d package to remove/sync',
+                             '%d packages to remove/sync', num)
+
+        else:
+            return 1, [_('Not a valid sub-command of %s') % basecmd]
+
+        return 0, [_('Nothing to do')]
+
+    def needTs(self, base, basecmd, extcmds):
+        """Return whether a transaction set must be set up before this
+        command can run.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: a list of arguments passed to *basecmd*
+        :return: True if a transaction set is needed, False otherwise
+        """
+        cmd = 'install'
+        if len(extcmds) > 1:
+            cmd = extcmds[1]
+        if cmd in ('info', 'list'):
+            return InfoCommand().needTs(base, cmd, extcmds[2:])
+
         return True
 
+    def cacheRequirement(self, base, basecmd, extcmds):
+        """Return the cache requirements for the remote repos.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: a list of arguments passed to *basecmd*
+        :return: Type of requirement: read-only:past, read-only:present, read-only:future, write
+        """
+        cmd = 'install'
+        if len(extcmds) > 1:
+            cmd = extcmds[1]
+        if cmd in ('info', 'list'):
+            return InfoCommand().cacheRequirement(base, cmd, extcmds[2:])
+        if cmd in ('check-update', 'check-upgrade',
+                   'check-updates', 'check-upgrades'):
+            return CheckUpdateCommand().cacheRequirement(base, cmd, extcmds[2:])
+        return 'write'
+
+# Using this a lot, so make it easier...
+_upi = updateinfo
+class UpdateinfoCommand(YumCommand):
+    # Old command names...
+    direct_cmds = {'list-updateinfo'    : 'list',
+                   'list-security'      : 'list',
+                   'list-sec'           : 'list',
+                   'info-updateinfo'    : 'info',
+                   'info-security'      : 'info',
+                   'info-sec'           : 'info',
+                   'summary-updateinfo' : 'summary'}
+
+    #  Note that this code (instead of using inheritance and multiple
+    # cmd classes) means that "yum help" only displays the updateinfo command.
+    # Which is what we want, because the other commands are just backwards
+    # compatible gunk we don't want the user using).
+    def getNames(self):
+        return ['updateinfo'] + sorted(self.direct_cmds.keys())
+
+    def getUsage(self):
+        return "[info|list|...] [security|...] [installed|available|all] [pkgs|id]"
+
+    def getSummary(self):
+        return "Acts on repository update information"
+
+    def doCheck(self, base, basecmd, extcmds):
+        pass
+
+    def list_show_pkgs(self, base, md_info, list_type, show_type,
+                       iname2tup, data, msg):
+        n_maxsize = 0
+        r_maxsize = 0
+        t_maxsize = 0
+        for (notice, pkgtup, pkg) in data:
+            n_maxsize = max(len(notice['update_id']), n_maxsize)
+            tn = notice['type']
+            if tn == 'security' and notice['severity']:
+                tn = notice['severity'] + '/Sec.'
+            t_maxsize = max(len(tn),                  t_maxsize)
+            if show_type:
+                for ref in _upi._ysp_safe_refs(notice['references']):
+                    if ref['type'] != show_type:
+                        continue
+                    r_maxsize = max(len(str(ref['id'])), r_maxsize)
+
+        for (notice, pkgtup, pkg) in data:
+            mark = ''
+            if list_type == 'all':
+                mark = '  '
+                if pkgtup[0] in iname2tup and _upi._rpm_tup_vercmp(iname2tup[pkgtup[0]], pkgtup) >= 0:
+                    mark = 'i '
+            tn = notice['type']
+            if tn == 'security' and notice['severity']:
+                tn = notice['severity'] + '/Sec.'
+
+            if show_type and _upi._ysp_has_info_md(show_type, notice):
+                for ref in _upi._ysp_safe_refs(notice['references']):
+                    if ref['type'] != show_type:
+                        continue
+                    msg("%s %-*s %-*s %s" % (mark, r_maxsize, str(ref['id']),
+                                             t_maxsize, tn, pkg))
+            elif hasattr(pkg, 'name'):
+                print base.fmtKeyValFill("%s: " % pkg.name,
+                                         base._enc(pkg.summary))
+            else:
+                msg("%s%-*s %-*s %s" % (mark, n_maxsize, notice['update_id'],
+                                        t_maxsize, tn, pkg))
+
+    def info_show_pkgs(self, base, md_info, list_type, show_type,
+                       iname2tup, data, msg):
+        show_pkg_info_done = {}
+        for (notice, pkgtup, pkg) in data:
+            if notice['update_id'] in show_pkg_info_done:
+                continue
+            show_pkg_info_done[notice['update_id']] = notice
+
+            if hasattr(notice, 'text'):
+                debug_log_lvl = yum.logginglevels.DEBUG_3
+                vlog = base.verbose_logger
+                if vlog.isEnabledFor(debug_log_lvl):
+                    obj = notice.text(skip_data=[])
+                else:
+                    obj = notice.text()
+            else:
+                # Python-2.4.* doesn't understand str(x) returning unicode
+                obj = notice.__str__()
+
+            if list_type == 'all':
+                if pkgtup[0] in iname2tup and _upi._rpm_tup_vercmp(iname2tup[pkgtup[0]], pkgtup) >= 0:
+                    obj = obj + "\n  Installed : true"
+                else:
+                    obj = obj + "\n  Installed : false"
+            msg(obj)
+
+    def summary_show_pkgs(self, base, md_info, list_type, show_type,
+                          iname2tup, data, msg):
+        def _msg(x):
+            base.verbose_logger.info("%s", x)
+        counts = {}
+        sev_counts = {}
+        show_pkg_info_done = {}
+        for (notice, pkgtup, pkg) in data:
+            if notice['update_id'] in show_pkg_info_done:
+                continue
+            show_pkg_info_done[notice['update_id']] = notice
+            counts[notice['type']] = counts.get(notice['type'], 0) + 1
+            if notice['type'] == 'security':
+                sev = notice['severity']
+                if sev is None:
+                    sev = ''
+                sev_counts[sev] = sev_counts.get(sev, 0) + 1
+
+        maxsize = 0
+        for T in ('newpackage', 'security', 'bugfix', 'enhancement'):
+            if T not in counts:
+                continue
+            size = len(str(counts[T]))
+            if maxsize < size:
+                maxsize = size
+        if not maxsize:
+            if base.conf.autocheck_running_kernel:
+                _upi._check_running_kernel(base, md_info, _msg)
+            return
+
+        outT = {'newpackage' : 'New Package',
+                'security' : 'Security',
+                'bugfix' : 'Bugfix',
+                'enhancement' : 'Enhancement'}
+        print "Updates Information Summary:", list_type
+        for T in ('newpackage', 'security', 'bugfix', 'enhancement'):
+            if T not in counts:
+                continue
+            n = outT[T]
+            if T == 'security' and len(sev_counts) == 1:
+                sn = sev_counts.keys()[0]
+                if sn != '':
+                    n = sn + " " + n
+            print "    %*u %s notice(s)" % (maxsize, counts[T], n)
+            if T == 'security' and len(sev_counts) != 1:
+                def _sev_sort_key(key):
+                    # We want these in order, from "highest" to "lowest".
+                    # Anything unknown is "higher". meh.
+                    return {'Critical' : "zz1",
+                            'Important': "zz2",
+                            'Moderate' : "zz3",
+                            'Low'      : "zz4",
+                            }.get(key, key)
+
+                for sn in sorted(sev_counts, key=_sev_sort_key):
+                    args = (maxsize, sev_counts[sn],sn or '?', outT['security'])
+                    print "        %*u %s %s notice(s)" % args
+        if base.conf.autocheck_running_kernel:
+            _upi._check_running_kernel(base, md_info, _msg)
+        self.show_pkg_info_done = {}
+
+    def _get_new_pkgs(self, md_info):
+        for notice in md_info.notices:
+            if notice['type'] != "newpackage":
+                continue
+            for upkg in notice['pkglist']:
+                for pkg in upkg['packages']:
+                    pkgtup = (pkg['name'], pkg['arch'], pkg['epoch'] or '0',
+                              pkg['version'], pkg['release'])
+                    yield (notice, pkgtup)
+
+    _cmd2filt = {"bugzillas" : "bugzilla",
+                 "bugzilla" : "bugzilla",
+                 "bzs" : "bugzilla",
+                 "bz" : "bugzilla",
+
+                 "sec" : "security",
+
+                 "cves" : "cve",
+                 "cve" : "cve",
+
+                 "newpackages" : "newpackage",
+                 "new-packages" : "newpackage",
+                 "newpackage" : "newpackage",
+                 "new-package" : "newpackage",
+                 "new" : "newpackage"}
+    for filt_type in _upi._update_info_types_:
+        _cmd2filt[filt_type] = filt_type
+
+    def doCommand(self, base, basecmd, extcmds):
+        if basecmd in self.direct_cmds:
+            subcommand = self.direct_cmds[basecmd]
+        elif extcmds and extcmds[0] in ('list', 'info', 'summary',
+                                        'remove-pkgs-ts', 'exclude-updates',
+                                        'exclude-all',
+                                        'check-running-kernel'):
+            subcommand = extcmds[0]
+            extcmds = extcmds[1:]
+        elif extcmds and extcmds[0] in self._cmd2filt:
+            subcommand = 'list'
+        elif extcmds:
+            subcommand = 'info'
+        else:
+            subcommand = 'summary'
+
+        if subcommand == 'list':
+            return self.doCommand_li(base, 'updateinfo list', extcmds,
+                                     self.list_show_pkgs)
+        if subcommand == 'info':
+            return self.doCommand_li(base, 'updateinfo info', extcmds,
+                                     self.info_show_pkgs)
+
+        if subcommand == 'summary':
+            return self.doCommand_li(base, 'updateinfo summary', extcmds,
+                                     self.summary_show_pkgs)
+
+        if subcommand == 'remove-pkgs-ts':
+            filters = None
+            if extcmds:
+                filters = updateinfo._args2filters(extcmds)
+            updateinfo.remove_txmbrs(base, filters)
+            return 0, [basecmd + ' ' + subcommand + ' done']
+
+        if subcommand == 'exclude-all':
+            filters = None
+            if extcmds:
+                filters = updateinfo._args2filters(extcmds)
+            updateinfo.exclude_all(base, filters)
+            return 0, [basecmd + ' ' + subcommand + ' done']
+
+        if subcommand == 'exclude-updates':
+            filters = None
+            if extcmds:
+                filters = updateinfo._args2filters(extcmds)
+            updateinfo.exclude_updates(base, filters)
+            return 0, [basecmd + ' ' + subcommand + ' done']
+
+        if subcommand == 'check-running-kernel':
+            def _msg(x):
+                base.verbose_logger.info("%s", x)
+            updateinfo._check_running_kernel(base, base.upinfo, _msg)
+            return 0, [basecmd + ' ' + subcommand + ' done']
+
+    def doCommand_li_new(self, base, list_type, extcmds, md_info, msg,
+                         show_pkgs, iname2tup):
+        done_pkgs = set()
+        data = []
+        for (notice, pkgtup) in sorted(self._get_new_pkgs(md_info),
+                                       key=lambda x: x[1][0]):
+            if extcmds and not _upi._match_sec_cmd(extcmds, pkgtup[0], notice):
+                continue
+            n = pkgtup[0]
+            if n in done_pkgs:
+                continue
+            ipkgs = list(reversed(sorted(base.rpmdb.searchNames([n]))))
+            if list_type in ('installed', 'updates') and not ipkgs:
+                done_pkgs.add(n)
+                continue
+            if list_type == 'available' and ipkgs:
+                done_pkgs.add(n)
+                continue
+
+            pkgs = base.pkgSack.searchPkgTuple(pkgtup)
+            if not pkgs:
+                continue
+            if list_type == "updates" and pkgs[0].verLE(ipkgs[0]):
+                done_pkgs.add(n)
+                continue
+            done_pkgs.add(n)
+            data.append((notice, pkgtup, pkgs[0]))
+        show_pkgs(base, md_info, list_type, None, iname2tup, data, msg)
+
+    def _parse_extcmds(self, extcmds):
+        filt_type = None
+        show_type = None
+        if len(extcmds) >= 1:
+            filt_type = None
+            
+            if extcmds[0] in self._cmd2filt:
+                filt_type = self._cmd2filt[extcmds.pop(0)]
+            show_type = filt_type
+            if filt_type and filt_type in _upi._update_info_types_:
+                show_type = None
+        return extcmds, show_type, filt_type
+
+    def doCommand_li(self, base, basecmd, extcmds, show_pkgs):
+        md_info = base.upinfo
+        def msg(x):
+            #  Don't use: logger.log(logginglevels.INFO_2, x)
+            # or -q deletes everything.
+            print x
+
+        opts = _upi._updateinfofilter2opts(base.updateinfo_filters)
+        extcmds, show_type, filt_type = self._parse_extcmds(extcmds)
+
+        list_type = "available"
+        if extcmds and extcmds[0] in ("updates","available","installed", "all"):
+            list_type = extcmds.pop(0)
+            if filt_type is None:
+                extcmds, show_type, filt_type = self._parse_extcmds(extcmds)
+
+        opts.sec_cmds = extcmds
+        used_map = _upi._ysp_gen_used_map(base.updateinfo_filters)
+        iname2tup = {}
+        if False: pass
+        elif list_type in ('installed', 'all'):
+            name2tup = _upi._get_name2allpkgtup(base)
+            iname2tup = _upi._get_name2instpkgtup(base)
+        elif list_type == 'updates':
+            name2tup = _upi._get_name2oldpkgtup(base)
+        elif list_type == 'available':
+            name2tup = _upi._get_name2instpkgtup(base)
+
+        if filt_type == "newpackage":
+            self.doCommand_li_new(base, list_type, extcmds, md_info, msg,
+                                  show_pkgs, iname2tup)
+            return 0, [basecmd + ' new done']
+
+        def _show_pkgtup(pkgtup):
+            name = pkgtup[0]
+            notices = reversed(md_info.get_applicable_notices(pkgtup))
+            for (pkgtup, notice) in notices:
+                if filt_type and not _upi._ysp_has_info_md(filt_type, notice):
+                    continue
+
+                if list_type == 'installed':
+                    # Remove any that are newer than what we have installed
+                    if _upi._rpm_tup_vercmp(iname2tup[name], pkgtup) < 0:
+                        continue
+
+                if _upi._ysp_should_filter_pkg(opts, name, notice, used_map):
+                    yield (pkgtup, notice)
+
+        data = []
+        for pkgname in sorted(name2tup):
+            for (pkgtup, notice) in _show_pkgtup(name2tup[pkgname]):
+                d = {}
+                (d['n'], d['a'], d['e'], d['v'], d['r']) = pkgtup
+                if d['e'] == '0':
+                    d['epoch'] = ''
+                else:
+                    d['epoch'] = "%s:" % d['e']
+                data.append((notice, pkgtup,
+                            "%(n)s-%(epoch)s%(v)s-%(r)s.%(a)s" % d))
+        show_pkgs(base, md_info, list_type, show_type, iname2tup, data, msg)
+
+        _upi._ysp_chk_used_map(used_map, msg)
+
+        return 0, [basecmd + ' done']
+
+
+class UpdateMinimalCommand(YumCommand):
+    def getNames(self):
+        return ['update-minimal', 'upgrade-minimal',
+                'minimal-update', 'minimal-upgrade']
+
+    def getUsage(self):
+        return "[PACKAGE-wildcard]"
+
+    def getSummary(self):
+        return _("Works like upgrade, but goes to the 'newest' package match which fixes a problem that affects your system")
+
+    def doCheck(self, base, basecmd, extcmds):
+        """Verify that conditions are met so that this command can run.
+        These include that the program is being run by the root user,
+        that there are enabled repositories with gpg keys, and that
+        this command is called with appropriate arguments.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: the command line arguments passed to *basecmd*
+        """
+        checkRootUID(base)
+        checkGPGKey(base)
+
+    def doCommand(self, base, basecmd, extcmds):
+        """Execute this command.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: the command line arguments passed to *basecmd*
+        :return: (exit_code, [ errors ])
+
+        exit_code is::
+
+            0 = we're done, exit
+            1 = we've errored, exit with error string
+            2 = we've got work yet to do, onto the next stage
+        """
+
+        num = len(base.tsInfo)
+        _upi.update_minimal(base, extcmds)
+        num = len(base.tsInfo) - num
+        
+        if num > 0:
+            msg = '%d packages marked for minimal Update' % num
+            return 2, [msg]
+        else:
+            return 0, ['No Packages marked for minimal Update']
+
+
+class FSSnapshotCommand(YumCommand):
+    def getNames(self):
+        return ['fssnapshot', 'fssnap']
+
+    def getUsage(self):
+        return "[]"
+
+    def getSummary(self):
+        return _("Creates filesystem snapshots, or lists/deletes current snapshots.")
+
+    def doCheck(self, base, basecmd, extcmds):
+        """Verify that conditions are met so that this command can run.
+        These include that the program is being run by the root user,
+        that there are enabled repositories with gpg keys, and that
+        this command is called with appropriate arguments.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: the command line arguments passed to *basecmd*
+        """
+        checkRootUID(base)
+
+    @staticmethod
+    def _li_snaps(base, snaps):
+        snaps = sorted(snaps, key=lambda x: x['dev'])
+
+        max_dev = utf8_width(_('Snapshot'))
+        max_ori = utf8_width(_('Origin'))
+        for data in snaps:
+            max_dev = max(max_dev, len(data['dev']))
+            max_ori = max(max_ori, len(data['origin']))
+
+        done = False
+        for data in snaps:
+            if not done:
+                print ("%s %s %s %s %s %s" %
+                       (utf8_width_fill(_('Snapshot'), max_dev),
+                        utf8_width_fill(_('Size'), 6, left=False),
+                        utf8_width_fill(_('Used'), 6, left=False),
+                        utf8_width_fill(_('Free'), 6, left=False),
+                        utf8_width_fill(_('Origin'), max_ori), _('Tags')))
+                done = True
+            print ("%*s %6s %5.1f%% %6s %*s %s" %
+                   (max_dev, data['dev'], base.format_number(data['size']),
+                    data['used'],
+                    base.format_number(data['free']),
+                    max_ori, data['origin'], ",".join(data['tags'])))
+
+    def doCommand(self, base, basecmd, extcmds):
+        """Execute this command.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: the command line arguments passed to *basecmd*
+        :return: (exit_code, [ errors ])
+
+        exit_code is::
+
+            0 = we're done, exit
+            1 = we've errored, exit with error string
+            2 = we've got work yet to do, onto the next stage
+        """
+        if extcmds and extcmds[0] in ('list', 'delete', 'create', 'summary',
+                                      'have-space', 'has-space'):
+            subcommand = extcmds[0]
+            extcmds = extcmds[1:]
+        else:
+            subcommand = 'summary'
+
+        if not base.fssnap.available:
+            if not base.rpmdb.searchNames(['python-lvm']):
+                print _("Snapshot support not available, no python-lvm package installed.")
+            else:
+                print _("Snapshot support not available, python-lvm is old/broken.")
+            return 0, [basecmd + ' ' + subcommand + ' done']
+
+        if subcommand == 'list':
+            snaps = base.fssnap.old_snapshots()
+            print _("List of %u snapshosts:") % len(snaps)
+            self._li_snaps(base, snaps)
+
+        if subcommand == 'delete':
+            snaps = base.fssnap.old_snapshots()
+            devs = [x['dev'] for x in snaps]
+            snaps = set()
+            for dev in devs:
+                if dev in snaps:
+                    continue
+
+                for extcmd in extcmds:
+                    if dev == extcmd or fnmatch.fnmatch(dev, extcmd):
+                        snaps.add(dev)
+                        break
+            snaps = base.fssnap.del_snapshots(devices=snaps)
+            print _("Deleted %u snapshosts:") % len(snaps)
+            self._li_snaps(base, snaps)
+
+        if subcommand in ('have-space', 'has-space'):
+            pc = base.conf.fssnap_percentage
+            if base.fssnap.has_space(pc):
+                print _("Space available to take a snapshot.")
+            else:
+                print _("Not enough space available to take a snapshot.")
+
+        if subcommand == 'create':
+            tags = {'*': ['reason=manual']}
+            pc = base.conf.fssnap_percentage
+            for (odev, ndev) in base.fssnap.snapshot(pc, tags=tags):
+                print _("Created snapshot from %s, results is: %s") %(odev,ndev)
+            else:
+                print _("Failed to create snapshots")
+
+        if subcommand == 'summary':
+            snaps = base.fssnap.old_snapshots()
+            if not snaps:
+                print _("No snapshots, LVM version:"), base.fssnap.version
+                return 0, [basecmd + ' ' + subcommand + ' done']
+
+            used = 0
+            dev_oris = set()
+            for snap in snaps:
+                used += snap['used']
+                dev_oris.add(snap['origin_dev'])
+
+            msg = _("Have %u snapshots, using %s space, from %u origins.")
+            print msg % (len(snaps), base.format_number(used), len(dev_oris))
+
+        return 0, [basecmd + ' ' + subcommand + ' done']
+
+
+class FSCommand(YumCommand):
+    def getNames(self):
+        return ['fs']
+
+    def getUsage(self):
+        return "[]"
+
+    def getSummary(self):
+        return _("Acts on the filesystem data of the host, mainly for removing docs/lanuages for minimal hosts.")
+
+    def doCheck(self, base, basecmd, extcmds):
+        """Verify that conditions are met so that this command can run.
+        These include that the program is being run by the root user,
+        that there are enabled repositories with gpg keys, and that
+        this command is called with appropriate arguments.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: the command line arguments passed to *basecmd*
+        """
+        if extcmds and extcmds[0] in ('du', 'status', 'diff'):
+            # Anyone can go for it...
+            return
+
+        if len(extcmds) == 1 and extcmds[0] in ('filters', 'filter'):
+            # Can look, but not touch.
+            return
+
+        checkRootUID(base)
+
+    def _fs_pkg_walk(self, pkgs, prefix, modified=False, verbose=False):
+
+        pfr = {'norm' : {},
+               'mod' : {},
+               'ghost' : {},
+               'miss' : {},
+               'not' : {}
+               }
+
+        def quick_match(pkgs):
+            for pkg in pkgs:
+                for fname in pkg.filelist + pkg.dirlist:
+                    if not fname.startswith(prefix):
+                        continue
+                    pfr['norm'][fname] = pkg
+                for fname in pkg.ghostlist:
+                    if not fname.startswith(prefix):
+                        continue
+                    pfr['ghost'][fname] = pkg
+            return pfr
+
+        def _quick_match_iter(pkgs):
+            # Walking the fi information is much slower than filelist/dirlist
+            for pkg in pkgs:
+                found = False
+                for fname in pkg.dirlist:
+                    if fname.startswith(prefix):
+                        yield pkg
+                        found = True
+                        break
+                if found:
+                    continue
+                for fname in pkg.filelist:
+                    if fname.startswith(prefix):
+                        yield pkg
+                        found = True
+                        break
+                if found:
+                    continue
+                for fname in pkg.ghostlist:
+                    if fname.startswith(prefix):
+                        yield pkg
+                        break
+
+        def verify_match(pkgs):
+            _pfs = []
+            def scoop_pfs(pfs):
+                _pfs.append(pfs)
+
+                if not modified:
+                    return []
+
+                return pfs
+
+            if prefix != '/':
+                pkgs = _quick_match_iter(pkgs)
+            for pkg in pkgs:
+                _pfs = []
+                probs = pkg.verify(patterns=[prefix+'*'], fake_problems=False,
+                                   callback=scoop_pfs, failfast=True)
+
+                for pf in _pfs[0]:
+                    if pf.filename in probs:
+                        pfr['mod'][pf.filename] = pkg
+                    elif pf.rpmfile_state == 'not installed':
+                        pfr['not'][pf.filename] = pkg
+                    elif 'ghost' in pf.rpmfile_types:
+                        pfr['ghost'][pf.filename] = pkg
+                    elif 'missing ok' in pf.rpmfile_types:
+                        pfr['miss'][pf.filename] = pkg
+                    else:
+                        pfr['norm'][pf.filename] = pkg
+            return pfr
+
+        # return quick_match(pkgs)
+        return verify_match(pkgs)
+
+    def _fs_du(self, base, extcmds):
+        def _dir_prefixes(path):
+            while path != '/':
+                path = os.path.dirname(path)
+                yield path
+
+        def loc_num(x):
+            """ String of a number in the readable "locale" format. """
+            return locale.format("%d", int(x), True)
+
+        data = {'pkgs_size' : {},
+                'pkgs_not_size' : {},
+                'pkgs_ghost_size' : {},
+                'pkgs_miss_size' : {},
+                'pkgs_mod_size' : {},
+
+                'pres_size' : {},
+                'data_size' : {},
+                'data_not_size' : {},
+
+                'pkgs_count' : 0,
+                'pkgs_not_count' : 0,
+                'pkgs_ghost_count' : 0,
+                'pkgs_miss_count' : 0,
+                'pkgs_mod_count' : 0,
+
+                'data_count' : 0} # data_not_count == pkgs_not_count
+
+        def _add_size(d, v, size):
+            if v not in d:
+                d[v] = 0
+            d[v] += size
+
+        def deal_with_file(fpath, need_prefix=True):
+            size = os.path.getsize(fpath)
+            if fpath in pfr['norm']:
+                data['pkgs_count'] += size
+                _add_size(data['pkgs_size'], pfr['norm'][fpath], size)
+            elif fpath in pfr['ghost']:
+                data['pkgs_ghost_count'] += size
+                _add_size(data['pkgs_ghost_size'], pfr['ghost'][fpath], size)
+            elif fpath in pfr['not']:
+                data['pkgs_not_count'] += size
+                _add_size(data['pkgs_not_size'], pfr['not'][fpath], size)
+                data['data_not_size'][fpath] = size
+            elif fpath in pfr['miss']:
+                data['pkgs_miss_count'] += size
+                _add_size(data['pkgs_miss_size'], pfr['miss'][fpath], size)
+            elif fpath in pfr['mod']:
+                data['pkgs_mod_count'] += size
+                _add_size(data['pkgs_mod_size'], pfr['mod'][fpath], size)
+            elif need_prefix and False:
+                for fpre_path in _dir_prefixes(fpath):
+                    if fpre_path not in pkg_files:
+                        continue
+                    _add_size(data['pres_size'], pkg_files[fpre_path], size)
+                    break
+                data['data_count'] += size
+                data['data_size'][fpath] = size
+            else:
+                data['data_count'] += size
+                data['data_size'][fpath] = size
+
+        prefix = "."
+        if extcmds:
+            prefix = extcmds[0]
+            extcmds = extcmds[1:]
+
+        if not os.path.exists(prefix):
+            return 1, [_('No such file or directory: ' + prefix)]
+
+        max_show_len = 4
+        if extcmds:
+            try:
+                max_show_len = int(extcmds[0])
+            except:
+                pass
+
+        verbose = base.verbose_logger.isEnabledFor(logginglevels.DEBUG_3)
+
+        pfr = self._fs_pkg_walk(base.rpmdb, prefix, verbose=verbose)
+
+        base.closeRpmDB() # C-c ftw.
+
+        num = 0
+        if os.path.isfile(prefix):
+            num += 1
+            deal_with_file(prefix)
+
+        for root, dirs, files in os.walk(prefix):
+            for fname in files:
+                num += 1
+                fpath = os.path.normpath(root + '/' + fname)
+                if os.path.islink(fpath):
+                    continue
+
+                deal_with_file(fpath, need_prefix=verbose)
+
+        # output
+        print "Files            :", loc_num(num)
+        tot = 0
+        tot += data['pkgs_count']
+        tot += data['pkgs_ghost_count']
+        tot += data['pkgs_not_count']
+        tot += data['pkgs_miss_count']
+        tot += data['pkgs_mod_count']
+        tot += data['data_count']
+        print "Total size       :", base.format_number(tot)
+        if not tot:
+            return
+
+        num = data['pkgs_count']
+        if not verbose:
+            num += data['pkgs_ghost_count']
+            num += data['pkgs_miss_count']
+            num += data['pkgs_mod_count']
+        print "       Pkgs size :", "%-5s" % base.format_number(num),
+        print "(%3.0f%%)" % ((num * 100.0) / tot)
+        if verbose:
+            for (title, num) in ((_(" Ghost pkgs size :"),
+                                  data['pkgs_ghost_count']),
+                                 (_(" Not pkgs size :"),
+                                  data['pkgs_not_count']),
+                                 (_(" Miss pkgs size :"),
+                                  data['pkgs_miss_count']),
+                                 (_(" Mod. pkgs size :"),
+                                  data['pkgs_mod_count'])):
+                if not num:
+                    continue
+                print title, "%-5s" % base.format_number(num),
+                print "(%3.0f%%)" % ((num * 100.0) / tot)
+        num = data['data_count']
+        if not verbose:
+            num += data['pkgs_not_count']
+        print _("       Data size :"), "%-5s" % base.format_number(num),
+        print "(%3.0f%%)" % ((num * 100.0) / tot)
+        if verbose:
+            print ''
+            print _("Pkgs       :"), loc_num(len(data['pkgs_size']))
+            print _("Ghost Pkgs :"), loc_num(len(data['pkgs_ghost_size']))
+            print _("Not Pkgs   :"), loc_num(len(data['pkgs_not_size']))
+            print _("Miss. Pkgs :"), loc_num(len(data['pkgs_miss_size']))
+            print _("Mod. Pkgs  :"), loc_num(len(data['pkgs_mod_size']))
+
+        def _pkgs(p_size, msg):
+            tot = min(max_show_len, len(p_size))
+            if tot:
+                print ''
+                print msg % tot
+            num = 0
+            for pkg in sorted(p_size, key=lambda x: p_size[x], reverse=True):
+                num += 1
+                print _("%*d. %60s %-5s") % (len(str(tot)), num, pkg,
+                                             base.format_number(p_size[pkg]))
+                if num >= tot:
+                    break
+
+        if verbose:
+            _pkgs(data['pkgs_size'], _('Top %d packages:'))
+            _pkgs(data['pkgs_ghost_size'], _('Top %d ghost packages:'))
+            _pkgs(data['pkgs_not_size'], _('Top %d not. packages:'))
+            _pkgs(data['pkgs_miss_size'], _('Top %d miss packages:'))
+            _pkgs(data['pkgs_mod_size'], _('Top %d mod. packages:'))
+            _pkgs(data['pres_size'], _('Top %d prefix packages:'))
+        else:
+            tmp = {}
+            tmp.update(data['pkgs_size'])
+            for d in data['pkgs_ghost_size']:
+                _add_size(tmp, d, data['pkgs_ghost_size'][d])
+            for d in data['pkgs_miss_size']:
+                _add_size(tmp, d, data['pkgs_miss_size'][d])
+            for d in data['pkgs_mod_size']:
+                _add_size(tmp, d, data['pkgs_mod_size'][d])
+            _pkgs(tmp, _('Top %d packages:'))
+
+        print ''
+        if verbose:
+            data_size = data['data_size']
+        else:
+            data_size = {}
+            data_size.update(data['data_size'])
+            data_size.update(data['data_not_size'])
+
+        tot = min(max_show_len, len(data_size))
+        if tot:
+            print _('Top %d non-package files:') % tot
+        num = 0
+        for fname in sorted(data_size,
+                            key=lambda x: data_size[x],
+                            reverse=True):
+            num += 1
+            dsznum = data_size[fname]
+            print _("%*d. %60s %-5s") % (len(str(tot)), num, fname,
+                                         base.format_number(dsznum))
+            if num >= tot:
+                break
+
+    def _fs_filters(self, base, extcmds):
+        def _save(confkey):
+            writeRawConfigFile = yum.config._writeRawConfigFile
+
+            # Always create installroot, so we can change it.
+            if not os.path.exists(base.conf.installroot + '/etc/yum'):
+                os.makedirs(base.conf.installroot + '/etc/yum')
+
+            fn = base.conf.installroot+'/etc/yum/yum.conf'
+            if not os.path.exists(fn):
+                # Try the old default
+                nfn = base.conf.installroot+'/etc/yum.conf'
+                if os.path.exists(nfn):
+                    fn = nfn
+                else:
+                    shutil.copy2(base.conf.config_file_path, fn)
+            ybc = base.conf
+            writeRawConfigFile(fn, 'main', ybc.yumvar,
+                               ybc.cfg.options, ybc.iteritems,
+                               ybc.optionobj,
+                               only=[confkey])
+
+        if not extcmds:
+            oil = base.conf.override_install_langs
+            if not oil:
+                oil = "rpm: " + rpm.expandMacro("%_install_langs")
+            print _("File system filters:")
+            print _("  Nodocs:"), 'nodocs' in base.conf.tsflags
+            print _("  Languages:"), oil
+        elif extcmds[0] in ('docs', 'nodocs',
+                            'documentation', 'nodocumentation'):
+            c_f = 'nodocs' in base.conf.tsflags
+            n_f = not extcmds[0].startswith('no')
+            if n_f == c_f:
+                if n_f:
+                    print _("Already enabled documentation filter.")
+                else:
+                    print _("Already disabled documentation filter.")
+                return
+
+            if n_f:
+                print _("Enabling documentation filter.")
+            else:
+                print _("Disabling documentation filter.")
+
+            nts = base.conf.tsflags
+            if n_f:
+                nts = nts + ['nodocs']
+            else:
+                nts = [x for x in nts if x != 'nodocs']
+            base.conf.tsflags = " ".join(nts)
+
+            _save('tsflags')
+
+        elif extcmds[0] in ('langs', 'nolangs', 'lang', 'nolang',
+                            'languages', 'nolanguages',
+                            'language', 'nolanguage'):
+            if extcmds[0].startswith('no') or len(extcmds) < 2 or 'all' in extcmds:
+                val = 'all'
+            else:
+                val = ":".join(extcmds[1:])
+
+            if val == base.conf.override_install_langs:
+                if val:
+                    print _("Already filtering languages to: %s") % val
+                else:
+                    print _("Already disabled language filter.")
+                return
+
+            if val:
+                print _("Setting language filter to: %s") % val
+            else:
+                print _("Disabling language filter.")
+
+            base.conf.override_install_langs = val
+
+            _save('override_install_langs')
+
+        else:
+            return 1, [_('Not a valid sub-command of fs filter')]
+
+    def _fs_refilter(self, base, extcmds):
+        c_f = 'nodocs' in base.conf.tsflags
+        # FIXME: C&P from init.
+        oil = base.conf.override_install_langs
+        if not oil:
+            oil = rpm.expandMacro("%_install_langs")
+        if oil == 'all':
+            oil = ''
+        elif oil:
+            oil = ":".join(sorted(oil.split(':')))
+
+        found = False
+        num = 0
+        for pkg in base.rpmdb.returnPackages(patterns=extcmds):
+            if False: pass
+            elif oil != pkg.yumdb_info.get('ts_install_langs', ''):
+                txmbrs = base.reinstall(po=pkg)
+                num += len(txmbrs)
+            elif c_f != ('true' == pkg.yumdb_info.get('tsflag_nodocs')):
+                txmbrs = base.reinstall(po=pkg)
+                num += len(txmbrs)
+            else:
+                found = True
+
+        if num:
+            return 2,P_('%d package to reinstall','%d packages to reinstall',
+                        num)
+
+        if not found:
+            return 1, [_('No valid packages: %s') % " ".join(extcmds)]
+
+    def _fs_refilter_cleanup(self, base, extcmds):
+        pkgs = base.rpmdb.returnPackages(patterns=extcmds)
+
+        verbose = base.verbose_logger.isEnabledFor(logginglevels.DEBUG_3)
+
+        pfr = self._fs_pkg_walk(pkgs, "/", verbose=verbose, modified=True)
+
+        base.closeRpmDB() # C-c ftw.
+
+        for fname in sorted(pfr['not']):
+            print _('Removing:'), fname
+            try: # Ignore everything, unlink_f() doesn't.
+                os.unlink(fname)
+            except OSError, e:
+                if e.errno == errno.EISDIR:
+                    try:
+                        os.rmdir(fname)
+                    except:
+                        pass
+            except:
+                pass
+
+    def _fs_diff(self, base, extcmds):
+        def deal_with_file(fpath):
+            if fpath in pfr['norm']:
+                pass
+            elif fpath in pfr['ghost']:
+                pass
+            elif fpath in pfr['not']:
+                print >>sys.stderr, _('Not installed:'), fpath
+            elif fpath in pfr['miss']:
+                pass
+            elif fpath in pfr['mod']:
+                pkg = apkgs[pfr['mod'][fpath].pkgtup]
+                # Hacky ... but works.
+                sys.stdout.flush()
+                extract_cmd = "cd %s; rpm2cpio %s | cpio --quiet -id .%s"
+                extract_cmd =  extract_cmd % (tmpdir, pkg.localPkg(), fpath)
+                os.system(extract_cmd)
+                diff_cmd = "diff -ru %s %s" % (tmpdir + fpath, fpath)
+                print diff_cmd
+                sys.stdout.flush()
+                os.system(diff_cmd)
+            else:
+                print >>sys.stderr, _('Not packaged?:'), fpath
+
+        if not distutils.spawn.find_executable("diff"):
+            raise yum.Errors.YumBaseError, _("Can't find diff command")
+        # These just shouldn't happen...
+        if not distutils.spawn.find_executable("cpio"):
+            raise yum.Errors.YumBaseError, _("Can't find cpio command")
+        if not distutils.spawn.find_executable("rpm2cpio"):
+            raise yum.Errors.YumBaseError, _("Can't find rpm2cpio command")
+
+        prefix = "."
+        if extcmds:
+            prefix = extcmds[0]
+            extcmds = extcmds[1:]
+
+        pkgs = base.rpmdb.returnPackages(patterns=extcmds)
+
+        verbose = base.verbose_logger.isEnabledFor(logginglevels.DEBUG_3)
+
+        pfr = self._fs_pkg_walk(pkgs, prefix, verbose=verbose, modified=True)
+
+        base.closeRpmDB() # C-c ftw.
+
+        apkgs = {}
+        downloadpkgs = []
+        for ipkg in set(pfr['mod'].values()):
+            iyi = ipkg.yumdb_info
+            if 'from_repo' in iyi: # Updates-testing etc.
+                if iyi.from_repo in base.repos.repos:
+                    repo = base.repos.getRepo(iyi.from_repo)
+                    if not repo.isEnabled():
+                        base.repos.enableRepo(repo.id)
+
+            for apkg in base.pkgSack.searchPkgTuple(ipkg.pkgtup):
+                if ('checksum_type' in iyi and
+                    'checksum_data' in iyi and
+                    iyi.checksum_type == apkg.checksum_type and
+                    iyi.checksum_data == apkg.pkgId):
+                    apkgs[ipkg.pkgtup] = apkg
+                    downloadpkgs.append(apkg)
+                    break
+            if ipkg.pkgtup not in apkgs:
+                raise yum.Errors.YumBaseError, _("Can't find package: %s") %ipkg
+
+        if downloadpkgs:
+            tmpdir = tempfile.mkdtemp()
+            problems = base.downloadPkgs(downloadpkgs, callback_total=base.download_callback_total_cb) 
+            if len(problems) > 0:
+                errstring = ''
+                errstring += _('Error downloading packages:\n')
+                for key in problems:
+                    errors = yum.misc.unique(problems[key])
+                    for error in errors:
+                        errstring += '  %s: %s\n' % (key, error)
+                raise yum.Errors.YumBaseError, errstring
+
+        for root, dirs, files in os.walk(prefix):
+            for fname in files:
+                fpath = os.path.normpath(root + '/' + fname)
+                if os.path.islink(fpath):
+                    continue
+
+                deal_with_file(fpath)
+
+        if downloadpkgs:
+            shutil.rmtree(tmpdir)
+
+    def _fs_status(self, base, extcmds):
+        def deal_with_file(fpath):
+            if fpath in pfr['norm']:
+                pass
+            elif fpath in pfr['ghost']:
+                pass
+            elif fpath in pfr['not']:
+                print _('Not installed:'), fpath
+            elif fpath in pfr['miss']:
+                pass
+            elif fpath in pfr['mod']:
+                print _('Modified:'), fpath
+            else:
+                print _('Not packaged?:'), fpath
+
+        prefix = "."
+        if extcmds:
+            prefix = extcmds[0]
+            extcmds = extcmds[1:]
+
+        pkgs = base.rpmdb.returnPackages(patterns=extcmds)
+
+        verbose = base.verbose_logger.isEnabledFor(logginglevels.DEBUG_3)
+
+        pfr = self._fs_pkg_walk(pkgs, prefix, verbose=verbose, modified=True)
+
+        base.closeRpmDB() # C-c ftw.
+
+        for root, dirs, files in os.walk(prefix):
+            for fname in files:
+                fpath = os.path.normpath(root + '/' + fname)
+                if os.path.islink(fpath):
+                    continue
+
+                deal_with_file(fpath)
+
+    def doCommand(self, base, basecmd, extcmds):
+        """Execute this command.
+
+        :param base: a :class:`yum.Yumbase` object
+        :param basecmd: the name of the command
+        :param extcmds: the command line arguments passed to *basecmd*
+        :return: (exit_code, [ errors ])
+
+        exit_code is::
+
+            0 = we're done, exit
+            1 = we've errored, exit with error string
+            2 = we've got work yet to do, onto the next stage
+        """
+        if extcmds and extcmds[0] in ('filters', 'filter',
+                                      'refilter', 'refilter-cleanup',
+                                      'du', 'status', 'diff', 'snap'):
+            subcommand = extcmds[0]
+            extcmds = extcmds[1:]
+        else:
+            subcommand = 'filters'
+
+        if False: pass
+
+        elif subcommand == 'du':
+            ret = self._fs_du(base, extcmds)
+
+        elif subcommand in ('filter', 'filters'):
+            ret = self._fs_filters(base, extcmds)
+
+        elif subcommand == 'refilter':
+            ret = self._fs_refilter(base, extcmds)
+
+        elif subcommand == 'refilter-cleanup':
+            ret = self._fs_refilter_cleanup(base, extcmds)
+
+        elif subcommand == 'diff':
+            ret = self._fs_diff(base, extcmds)
+
+        elif subcommand == 'status':
+            ret = self._fs_status(base, extcmds)
+
+        elif subcommand == 'snap':
+            ret = FSSnapshotCommand().doCommand(base, 'fs snap', args)
+
+        else:
+            return 1, [_('Not a valid sub-command of %s') % basecmd]
+
+        if ret is not None:
+            return ret
+
+        return 0, [basecmd + ' ' + subcommand + ' done']
diff --git a/yummain.py b/yummain.py
index 9f79f4f..24bbe6c 100755
--- a/yummain.py
+++ b/yummain.py
@@ -29,13 +29,13 @@ from yum import Errors
 from yum import plugins
 from yum import logginglevels
 from yum import _
-from yum.i18n import to_unicode, utf8_width
+from yum.i18n import utf8_width, exception2msg
 import yum.misc
 import cli
-from utils import suppress_keyboard_interrupt_message, show_lock_owner, exception2msg
+from utils import suppress_keyboard_interrupt_message
 
 def main(args):
-    """This does all the real work"""
+    """Run the yum program from a command line interface."""
 
     yum.misc.setup_locale(override_time=True)
 
@@ -68,6 +68,51 @@ def main(args):
         if unlock(): return 200
         return 1
 
+    def exRepoError(e):
+        # For RepoErrors ... help out by forcing new repodata next time.
+        # XXX: clean only the repo that has failed?
+        base.cleanExpireCache()
+
+        msg = _("""\
+ One of the configured repositories failed (%(repo)s),
+ and yum doesn't have enough cached data to continue. At this point the only
+ safe thing yum can do is fail. There are a few ways to work "fix" this:
+
+     1. Contact the upstream for the repository and get them to fix the problem.
+
+     2. Reconfigure the baseurl/etc. for the repository, to point to a working
+        upstream. This is most often useful if you are using a newer
+        distribution release than is supported by the repository (and the
+        packages for the previous distribution release still work).
+
+     3. Disable the repository, so yum won't use it by default. Yum will then
+        just ignore the repository until you permanently enable it again or use
+        --enablerepo for temporary usage:
+
+            yum-config-manager --disable %(repoid)s
+
+     4. Configure the failing repository to be skipped, if it is unavailable.
+        Note that yum will try to contact the repo. when it runs most commands,
+        so will have to try and fail each time (and thus. yum will be be much
+        slower). If it is a very temporary problem though, this is often a nice
+        compromise:
+
+            yum-config-manager --save --setopt=%(repoid)s.skip_if_unavailable=true
+""")
+
+        repoui = _('Unknown')
+        repoid = _('<repoid>')
+        if hasattr(e, 'repo'):
+            repoid = e.repo.id
+            repoui = e.repo.name
+
+        msg = msg % {'repoid' : repoid, 'repo' : repoui}
+
+        logger.critical('\n\n%s\n%s', msg, exception2msg(e))
+
+        if unlock(): return 200
+        return 1
+
     def unlock():
         try:
             base.closeRpmDB()
@@ -89,6 +134,23 @@ def main(args):
     logger = logging.getLogger("yum.main")
     verbose_logger = logging.getLogger("yum.verbose.main")
 
+    # Try to open the current directory to see if we have 
+    # read and execute access. If not, chdir to /
+    try:
+        f = open(".")
+    except IOError, e:
+        if e.errno == errno.EACCES:
+            logger.critical(_('No read/execute access in current directory, moving to /'))
+            os.chdir("/")
+    else:
+        f.close()
+    try:
+        os.getcwd()
+    except OSError, e:
+        if e.errno == errno.ENOENT:
+            logger.critical(_('No getcwd() access in current directory, moving to /'))
+            os.chdir("/")
+
     # our core object for the cli
     base = cli.YumBaseCli()
 
@@ -100,46 +162,20 @@ def main(args):
         return exPluginExit(e)
     except Errors.YumBaseError, e:
         return exFatal(e)
+    except (OSError, IOError), e:
+        return exIOError(e)
 
-    # Try to open the current directory to see if we have 
-    # read and write access. If not, chdir to /
     try:
-        f = open(".")
-    except IOError, e:
-        if e.errno == errno.EACCES:
-            logger.critical(_('No read/write access in current directory, moving to /'))
-            os.chdir("/")
-    else:
-        close(f)
-
-    lockerr = ""
-    while True:
-        try:
-            base.doLock()
-        except Errors.LockError, e:
-            if exception2msg(e) != lockerr:
-                lockerr = exception2msg(e)
-                logger.critical(lockerr)
-            if (e.errno not in (errno.EPERM, errno.EACCES) and
-                not base.conf.exit_on_lock):
-                logger.critical(_("Another app is currently holding the yum lock; waiting for it to exit..."))
-                tm = 0.1
-                if show_lock_owner(e.pid, logger):
-                    tm = 2
-                time.sleep(tm)
-            elif e.errno in (errno.EPERM, errno.EACCES):
-                logger.critical(_("Can't create lock file; exiting"))
-                return 1
-            else:
-                logger.critical(_("Another app is currently holding the yum lock; exiting as configured by exit_on_lock"))
-                return 1
-        else:
-            break
+        base.waitForLock()
+    except Errors.YumBaseError, e:
+        return exFatal(e)
 
     try:
         result, resultmsgs = base.doCommands()
     except plugins.PluginYumExit, e:
         return exPluginExit(e)
+    except Errors.RepoError, e:
+        return exRepoError(e)
     except Errors.YumBaseError, e:
         result = 1
         resultmsgs = [exception2msg(e)]
@@ -154,7 +190,7 @@ def main(args):
         for msg in resultmsgs:
             verbose_logger.log(logginglevels.INFO_2, '%s', msg)
         if unlock(): return 200
-        return 0
+        return base.exit_code
     elif result == 1:
         # Fatal error
         for msg in resultmsgs:
@@ -173,6 +209,18 @@ def main(args):
             logger.critical(msg)
         if unlock(): return 200
         return 3
+
+    # Mainly for ostree, but might be useful for others.
+    if base.conf.usr_w_check:
+        usrinstpath = base.conf.installroot + "/usr"
+        usrinstpath = usrinstpath.replace('//', '/')
+        if (os.path.exists(usrinstpath) and
+            not os.access(usrinstpath, os.W_OK)):
+            logger.critical(_('No write access to %s directory') % usrinstpath)
+            logger.critical(_('  Maybe this is an ostree image?'))
+            logger.critical(_('  To disable you can use --setopt=usr_w_check=false'))
+            if unlock(): return 200
+            return 1
             
     # Depsolve stage
     verbose_logger.log(logginglevels.INFO_2, _('Resolving Dependencies'))
@@ -181,6 +229,8 @@ def main(args):
         (result, resultmsgs) = base.buildTransaction() 
     except plugins.PluginYumExit, e:
         return exPluginExit(e)
+    except Errors.RepoError, e:
+        return exRepoError(e)
     except Errors.YumBaseError, e:
         result = 1
         resultmsgs = [exception2msg(e)]
@@ -193,7 +243,7 @@ def main(args):
     if result == 0:
         # Normal exit
         if unlock(): return 200
-        return 0
+        return base.exit_code
     elif result == 1:
         # Fatal error
         for msg in resultmsgs:
@@ -223,6 +273,8 @@ def main(args):
         return_code = base.doTransaction()
     except plugins.PluginYumExit, e:
         return exPluginExit(e)
+    except Errors.RepoError, e:
+        return exRepoError(e)
     except Errors.YumBaseError, e:
         return exFatal(e)
     except KeyboardInterrupt:
@@ -238,16 +290,27 @@ def main(args):
         rpmdb_warn_checks()
         return_code = result
         if base._ts_save_file:
-            verbose_logger.info(_("Your transaction was saved, rerun it with: yum load-transaction %s") % base._ts_save_file)
+            verbose_logger.info(_("Your transaction was saved, rerun it with:\n yum load-transaction %s") % base._ts_save_file)
     elif return_code < 0:
         return_code = 1 # Means the pre-transaction checks failed...
+        #  This includes:
+        # . No packages.
+        # . Hitting N at the prompt.
+        # . GPG check failures.
+        if base._ts_save_file:
+            verbose_logger.info(_("Your transaction was saved, rerun it with:\n yum load-transaction %s") % base._ts_save_file)
     else:
         verbose_logger.log(logginglevels.INFO_2, _('Complete!'))
 
     if unlock(): return 200
-    return return_code
+    return return_code or base.exit_code
 
 def hotshot(func, *args, **kwargs):
+    """Profile the given function using the hotshot profiler.
+
+    :param func: the function to profile
+    :return: the return code given by the hotshot profiler
+    """
     import hotshot.stats
     fn = os.path.expanduser("~/yum.prof")
     prof = hotshot.Profile(fn)
@@ -257,6 +320,11 @@ def hotshot(func, *args, **kwargs):
     return rc
 
 def cprof(func, *args, **kwargs):
+    """Profile the given function using the cprof profiler.
+
+    :param func: the function to profile
+    :return: the return code given by the cprof profiler
+    """
     import cProfile, pstats
     fn = os.path.expanduser("~/yum.prof")
     prof = cProfile.Profile()
@@ -266,6 +334,10 @@ def cprof(func, *args, **kwargs):
     return rc
 
 def print_stats(stats):
+    """Print out information from a :class:`Stats` object.
+
+    :param stats: the :class:`Stats` object to print information from
+    """
     stats.strip_dirs()
     stats.sort_stats('time', 'calls')
     stats.print_stats(20)
@@ -273,7 +345,14 @@ def print_stats(stats):
     stats.print_stats(40)
 
 def user_main(args, exit_code=False):
-    """ This calls one of the multiple main() functions based on env. vars """
+    """Call one of the multiple main() functions based on environment variables.
+
+    :param args: command line arguments passed into yum
+    :param exit_code: if *exit_code* is True, this function will exit
+       python with its exit code when it has finished executing.
+       Otherwise, it will return its exit code.
+    :return: the exit code from yum execution
+    """
     errcode = None
     if 'YUM_PROF' in os.environ:
         if os.environ['YUM_PROF'] == 'cprof':
