Merge lp:~kelemeng/aptdaemon/bug640972 into lp:aptdaemon/0.3

Proposed by Sebastian Heinlein
Status: Needs review
Proposed branch: lp:~kelemeng/aptdaemon/bug640972
Merge into: lp:aptdaemon/0.3
Diff against target: 116200 lines (+115042/-0) (has conflicts)
196 files modified
.pc/.version (+1/-0)
.pc/05_sources_list_password.patch/aptdaemon/worker.py (+1010/-0)
.pc/06_rosetta_po_update.patch/po/am.po (+577/-0)
.pc/06_rosetta_po_update.patch/po/ar.po (+558/-0)
.pc/06_rosetta_po_update.patch/po/ast.po (+617/-0)
.pc/06_rosetta_po_update.patch/po/be.po (+594/-0)
.pc/06_rosetta_po_update.patch/po/bg.po (+606/-0)
.pc/06_rosetta_po_update.patch/po/bn.po (+558/-0)
.pc/06_rosetta_po_update.patch/po/ca.po (+598/-0)
.pc/06_rosetta_po_update.patch/po/crh.po (+558/-0)
.pc/06_rosetta_po_update.patch/po/cs.po (+583/-0)
.pc/06_rosetta_po_update.patch/po/da.po (+592/-0)
.pc/06_rosetta_po_update.patch/po/de.po (+634/-0)
.pc/06_rosetta_po_update.patch/po/el.po (+597/-0)
.pc/06_rosetta_po_update.patch/po/en_AU.po (+613/-0)
.pc/06_rosetta_po_update.patch/po/en_CA.po (+611/-0)
.pc/06_rosetta_po_update.patch/po/en_GB.po (+613/-0)
.pc/06_rosetta_po_update.patch/po/eo.po (+610/-0)
.pc/06_rosetta_po_update.patch/po/es.po (+620/-0)
.pc/06_rosetta_po_update.patch/po/eu.po (+615/-0)
.pc/06_rosetta_po_update.patch/po/fi.po (+617/-0)
.pc/06_rosetta_po_update.patch/po/fr.po (+629/-0)
.pc/06_rosetta_po_update.patch/po/gl.po (+618/-0)
.pc/06_rosetta_po_update.patch/po/he.po (+594/-0)
.pc/06_rosetta_po_update.patch/po/hu.po (+609/-0)
.pc/06_rosetta_po_update.patch/po/id.po (+608/-0)
.pc/06_rosetta_po_update.patch/po/is.po (+562/-0)
.pc/06_rosetta_po_update.patch/po/it.po (+625/-0)
.pc/06_rosetta_po_update.patch/po/ja.po (+571/-0)
.pc/06_rosetta_po_update.patch/po/kk.po (+611/-0)
.pc/06_rosetta_po_update.patch/po/ko.po (+566/-0)
.pc/06_rosetta_po_update.patch/po/lt.po (+610/-0)
.pc/06_rosetta_po_update.patch/po/ms.po (+596/-0)
.pc/06_rosetta_po_update.patch/po/nb.po (+609/-0)
.pc/06_rosetta_po_update.patch/po/nds.po (+561/-0)
.pc/06_rosetta_po_update.patch/po/ne.po (+562/-0)
.pc/06_rosetta_po_update.patch/po/nl.po (+622/-0)
.pc/06_rosetta_po_update.patch/po/oc.po (+624/-0)
.pc/06_rosetta_po_update.patch/po/pl.po (+609/-0)
.pc/06_rosetta_po_update.patch/po/pt.po (+618/-0)
.pc/06_rosetta_po_update.patch/po/pt_BR.po (+616/-0)
.pc/06_rosetta_po_update.patch/po/ro.po (+618/-0)
.pc/06_rosetta_po_update.patch/po/ru.po (+610/-0)
.pc/06_rosetta_po_update.patch/po/sk.po (+586/-0)
.pc/06_rosetta_po_update.patch/po/sl.po (+610/-0)
.pc/06_rosetta_po_update.patch/po/sq.po (+619/-0)
.pc/06_rosetta_po_update.patch/po/sv.po (+614/-0)
.pc/06_rosetta_po_update.patch/po/tr.po (+611/-0)
.pc/06_rosetta_po_update.patch/po/uk.po (+612/-0)
.pc/06_rosetta_po_update.patch/po/vi.po (+585/-0)
.pc/06_rosetta_po_update.patch/po/zh_CN.po (+582/-0)
.pc/06_rosetta_po_update.patch/po/zh_TW.po (+583/-0)
.pc/applied-patches (+2/-0)
AUTHORS (+9/-0)
COPYRIGHT (+339/-0)
NEWS (+322/-0)
README (+7/-0)
README.plugins (+50/-0)
README.tests (+3/-0)
TODO (+26/-0)
applet.py (+131/-0)
aptd (+30/-0)
aptdaemon/__init__.py (+28/-0)
aptdaemon/client.py (+1039/-0)
aptdaemon/console.py (+614/-0)
aptdaemon/core.py (+1526/-0)
aptdaemon/debconf.py (+180/-0)
aptdaemon/defer.py (+664/-0)
aptdaemon/enums.py (+366/-0)
aptdaemon/errors.py (+176/-0)
aptdaemon/gtkwidgets.py (+1088/-0)
aptdaemon/lock.py (+114/-0)
aptdaemon/loop.py (+32/-0)
aptdaemon/policykit1.py (+147/-0)
aptdaemon/progress.py (+539/-0)
aptdaemon/test/debconf/aptdaemon.config (+10/-0)
aptdaemon/test/debconf/aptdaemon.templates (+5/-0)
aptdaemon/test/test_debconf.py (+127/-0)
aptdaemon/test/test_defer.py (+160/-0)
aptdaemon/test/test_dpkg_journal.py (+53/-0)
aptdaemon/test/test_future_status.py (+89/-0)
aptdaemon/test/test_trans_chain.py (+60/-0)
aptdaemon/utils.py (+51/-0)
aptdaemon/worker.py (+1025/-0)
aptdcon (+30/-0)
data/20dbus (+2/-0)
data/icons/clean_svg_icons.sh (+11/-0)
data/icons/generate_16x16_icons.sh (+14/-0)
data/icons/generate_24x24_icons.sh (+14/-0)
data/icons/generate_48x48_icons.sh (+13/-0)
data/icons/scalable/status/aptdaemon-add.svg (+350/-0)
data/icons/scalable/status/aptdaemon-cleanup.svg (+550/-0)
data/icons/scalable/status/aptdaemon-delete.svg (+554/-0)
data/icons/scalable/status/aptdaemon-download.svg (+357/-0)
data/icons/scalable/status/aptdaemon-resolve.svg (+471/-0)
data/icons/scalable/status/aptdaemon-setup.svg (+344/-0)
data/icons/scalable/status/aptdaemon-update-cache.svg (+1100/-0)
data/icons/scalable/status/aptdaemon-upgrade.svg (+551/-0)
data/icons/scalable/status/aptdaemon-wait.svg (+439/-0)
data/org.debian.apt.conf (+17/-0)
data/org.debian.apt.policy.in (+144/-0)
data/org.debian.apt.service (+5/-0)
debian/README.Debian (+9/-0)
debian/aptdaemon.install (+8/-0)
debian/changelog (+477/-0)
debian/compat (+1/-0)
debian/control (+81/-0)
debian/copyright (+34/-0)
debian/patches/05_sources_list_password.patch (+48/-0)
debian/patches/06_rosetta_po_update.patch (+20993/-0)
debian/patches/series (+3/-0)
debian/python-aptdaemon-gtk.examples (+1/-0)
debian/python-aptdaemon-gtk.install (+2/-0)
debian/python-aptdaemon.install (+13/-0)
debian/rules (+10/-0)
debian/source/format (+1/-0)
debian/watch (+2/-0)
doc/aptd.1 (+54/-0)
doc/aptdcon.1 (+95/-0)
doc/examples/chained.py (+47/-0)
doc/org.debian.apt.7 (+221/-0)
doc/org.debian.apt.transaction.7 (+217/-0)
gtk-demo.py (+165/-0)
po/POTFILES.in (+7/-0)
po/af.po (+599/-0)
po/am.po (+709/-0)
po/ar.po (+699/-0)
po/ast.po (+763/-0)
po/be.po (+746/-0)
po/bg.po (+750/-0)
po/bn.po (+703/-0)
po/br.po (+596/-0)
po/bs.po (+558/-0)
po/ca.po (+755/-0)
po/crh.po (+698/-0)
po/cs.po (+740/-0)
po/da.po (+749/-0)
po/de.po (+768/-0)
po/dv.po (+560/-0)
po/el.po (+754/-0)
po/en_AU.po (+748/-0)
po/en_CA.po (+746/-0)
po/en_GB.po (+760/-0)
po/eo.po (+745/-0)
po/es.po (+766/-0)
po/et.po (+582/-0)
po/eu.po (+750/-0)
po/fa.po (+558/-0)
po/fi.po (+758/-0)
po/fr.po (+766/-0)
po/gl.po (+765/-0)
po/he.po (+735/-0)
po/hi.po (+588/-0)
po/hr.po (+558/-0)
po/hu.po (+748/-0)
po/id.po (+742/-0)
po/is.po (+702/-0)
po/it.po (+758/-0)
po/ja.po (+721/-0)
po/kk.po (+746/-0)
po/ko.po (+723/-0)
po/ku.po (+563/-0)
po/lt.po (+746/-0)
po/lv.po (+588/-0)
po/ml.po (+568/-0)
po/ms.po (+753/-0)
po/nb.po (+752/-0)
po/nds.po (+701/-0)
po/ne.po (+707/-0)
po/nl.po (+767/-0)
po/nn.po (+558/-0)
po/oc.po (+757/-0)
po/pl.po (+745/-0)
po/pt.po (+753/-0)
po/pt_BR.po (+762/-0)
po/ro.po (+767/-0)
po/ru.po (+758/-0)
po/si.po (+558/-0)
po/sk.po (+743/-0)
po/sl.po (+760/-0)
po/sq.po (+754/-0)
po/sr.po (+587/-0)
po/sv.po (+760/-0)
po/ta.po (+558/-0)
po/th.po (+562/-0)
po/tr.po (+756/-0)
po/ug.po (+588/-0)
po/uk.po (+748/-0)
po/vi.po (+742/-0)
po/zh_CN.po (+718/-0)
po/zh_HK.po (+561/-0)
po/zh_TW.po (+719/-0)
pylintrc (+8/-0)
release.sh (+21/-0)
setup.cfg (+17/-0)
setup.py (+26/-0)
Conflict adding file AUTHORS.  Moved existing file to AUTHORS.moved.
Conflict adding file COPYRIGHT.  Moved existing file to COPYRIGHT.moved.
Conflict adding file NEWS.  Moved existing file to NEWS.moved.
Conflict adding file README.  Moved existing file to README.moved.
Conflict adding file README.plugins.  Moved existing file to README.plugins.moved.
Conflict adding file README.tests.  Moved existing file to README.tests.moved.
Conflict adding file TODO.  Moved existing file to TODO.moved.
Conflict adding file applet.py.  Moved existing file to applet.py.moved.
Conflict adding file aptd.  Moved existing file to aptd.moved.
Conflict adding file aptdaemon.  Moved existing file to aptdaemon.moved.
Conflict adding file aptdcon.  Moved existing file to aptdcon.moved.
Conflict adding file data.  Moved existing file to data.moved.
Conflict adding file doc.  Moved existing file to doc.moved.
Conflict adding file gtk-demo.py.  Moved existing file to gtk-demo.py.moved.
Conflict adding file po.  Moved existing file to po.moved.
Conflict adding file pylintrc.  Moved existing file to pylintrc.moved.
Conflict adding file release.sh.  Moved existing file to release.sh.moved.
Conflict adding file setup.cfg.  Moved existing file to setup.cfg.moved.
Conflict adding file setup.py.  Moved existing file to setup.py.moved.
To merge this branch: bzr merge lp:~kelemeng/aptdaemon/bug640972
Reviewer Review Type Date Requested Status
Sebastian Heinlein Disapprove
Review via email: mp+35920@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Sebastian Heinlein (glatzor) wrote :

Thanks!

review: Approve
Revision history for this message
Sebastian Heinlein (glatzor) wrote :

It is against the wrong branch

review: Disapprove

Unmerged revisions

45. By Gabor Kelemen

Correct misplaced parentheses, so that l10n of strings will work. Fixes LP: 640972

44. By Michael Vogt

* merge fixes from bzr:
  - fix for aptdaemon.client.get_transaction()
  - autodetect if "defer" is needed

43. By Michael Vogt

* new bzr snapshot:
  - makes 03_auth_me_less.patch no longer needed (applied upstream)
  - improvements to the policykit privs

42. By Michael Vogt

* new bzr snapshot:
  - makes 07_i18n_fixes.patch no longer needed (applied upstream)
  - supports partial cache update (important fix for the buy-something
    use case)
  - fix missing (untranslated) role strings
* debian/control:
  - depend on the right python-apt version

41. By Michael Vogt

* debian/patches/07_i18n_fixes.patch:
  - use dgettext to not clobber the clients gettext.textdomain
    on import (LP: #631675)
* debian/patches/05_sources_list_password.patch:
  - when adding a sources.list entry with a password protect
    the file via mode 0640 and root.admin ownership

40. By Michael Vogt

new bzr snapshot that fixes missing i18n in the policykit
descriptions (LP: #625409)

39. By Michael Vogt

* new bzr snapshot that fixes some locking issues (LP: #616470)
* debian/python-aptdaemon.install:
  - add lock.py to the installed files

38. By Michael Vogt

new bzr snapshot that fixes authentication timeout problem
(LP: #623424), big thanks to Sebastian Heinlein

37. By Michael Vogt

* .bzr-builddeb/default.conf:
  - switch to lp:~aptdaemon-developers/aptdaemon/0.3
* new bzr snapshot from the 0.3 stable branch:
  - simplify/improved policykit priviligies

36. By Michael Vogt

* debian/patches/06_rosetta_po_update.patch:
  - updated translations from rosetta for the policy.in
    file (LP: #44560)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== added directory '.pc'
2=== added file '.pc/.version'
3--- .pc/.version 1970-01-01 00:00:00 +0000
4+++ .pc/.version 2010-09-18 12:31:06 +0000
5@@ -0,0 +1,1 @@
6+2
7
8=== added directory '.pc/05_sources_list_password.patch'
9=== added directory '.pc/05_sources_list_password.patch/aptdaemon'
10=== added file '.pc/05_sources_list_password.patch/aptdaemon/worker.py'
11--- .pc/05_sources_list_password.patch/aptdaemon/worker.py 1970-01-01 00:00:00 +0000
12+++ .pc/05_sources_list_password.patch/aptdaemon/worker.py 2010-09-18 12:31:06 +0000
13@@ -0,0 +1,1010 @@
14+#!/usr/bin/env python
15+# -*- coding: utf-8 -*-
16+"""Provides AptWorker which processes transactions."""
17+# Copyright (C) 2008-2009 Sebastian Heinlein <devel@glatzor.de>
18+#
19+# This program is free software; you can redistribute it and/or modify
20+# it under the terms of the GNU General Public License as published by
21+# the Free Software Foundation; either version 2 of the License, or
22+# any later version.
23+#
24+# This program is distributed in the hope that it will be useful,
25+# but WITHOUT ANY WARRANTY; without even the implied warranty of
26+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
27+# GNU General Public License for more details.
28+#
29+# You should have received a copy of the GNU General Public License along
30+# with this program; if not, write to the Free Software Foundation, Inc.,
31+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
32+
33+__author__ = "Sebastian Heinlein <devel@glatzor.de>"
34+
35+__all__ = ("AptWorker", "DummyWorker")
36+
37+import logging
38+import os
39+import sys
40+import time
41+import traceback
42+
43+import apt
44+import apt.cache
45+import apt.debfile
46+import apt_pkg
47+import aptsources
48+import aptsources.distro
49+from aptsources.sourceslist import SourcesList
50+from gettext import gettext as _
51+import gobject
52+import pkg_resources
53+from softwareproperties.AptAuth import AptAuth
54+import subprocess
55+
56+from enums import *
57+from errors import *
58+import lock
59+from progress import DaemonOpenProgress, \
60+ DaemonInstallProgress, \
61+ DaemonAcquireProgress, \
62+ DaemonDpkgInstallProgress, \
63+ DaemonDpkgRecoverProgress
64+
65+log = logging.getLogger("AptDaemon.Worker")
66+
67+
68+class AptWorker(gobject.GObject):
69+
70+ """Worker which processes transactions from the queue."""
71+
72+ __gsignals__ = {"transaction-done":(gobject.SIGNAL_RUN_FIRST,
73+ gobject.TYPE_NONE,
74+ (gobject.TYPE_PYOBJECT,))}
75+
76+ def __init__(self):
77+ """Initialize a new AptWorker instance."""
78+ gobject.GObject.__init__(self)
79+ self.trans = None
80+ self.last_action_timestamp = time.time()
81+ self._cache = None
82+ self._status_orig = apt_pkg.config.find_file("Dir::State::status")
83+ self.plugins = {}
84+ self._load_plugins()
85+
86+ def _load_plugins(self):
87+ """Load the plugins from setuptools' entry points."""
88+ plugin_dirs = [os.path.join(os.path.dirname(__file__), "plugins")]
89+ env = pkg_resources.Environment(plugin_dirs)
90+ dists, errors = pkg_resources.working_set.find_plugins(env)
91+ for dist in dists:
92+ pkg_resources.working_set.add(dist)
93+ for name in ["modify_cache_after", "modify_cache_before"]:
94+ for ept in pkg_resources.iter_entry_points("aptdaemon.plugins",
95+ name):
96+ try:
97+ self.plugins.setdefault(name, []).append(ept.load())
98+ except:
99+ log.critical("Failed to load %s plugin: "
100+ "%s" % (name, ept.dist))
101+ else:
102+ log.debug("Loaded %s plugin: %s", name, ept.dist)
103+
104+ def _call_plugins(self, name, resolver=None):
105+ """Call all plugins of a given type."""
106+ if not resolver:
107+ # If the resolver of the original task isn't available we create
108+ # a new one and protect the already marked changes
109+ resolver = apt.cache.ProblemResolver(self._cache)
110+ for pkg in self._cache.get_changes():
111+ resolver.clear(pkg)
112+ resolver.protect(pkg)
113+ if pkg.marked_delete:
114+ resolver.remove(pkg)
115+ if not name in self.plugins:
116+ log.debug("There isn't any registered %s plugin" % name)
117+ return False
118+ for plugin in self.plugins[name]:
119+ log.debug("Calling %s plugin: %s", name, plugin)
120+ try:
121+ plugin(resolver, self._cache)
122+ except Exception, error:
123+ log.critical("Failed to call %s plugin:\n%s" % (plugin, error))
124+ return True
125+
126+ def run(self, transaction):
127+ """Process the given transaction in the background.
128+
129+ Keyword argument:
130+ transaction -- core.Transcation instance to run
131+ """
132+ log.info("Processing transaction %s", transaction.tid)
133+ if self.trans:
134+ raise Exception("There is already a running transaction")
135+ self.trans = transaction
136+ gobject.idle_add(self._process_transaction)
137+
138+ def _emit_transaction_done(self, trans):
139+ """Emit the transaction-done signal.
140+
141+ Keyword argument:
142+ trans -- the finished transaction
143+ """
144+ log.debug("Emitting transaction-done: %s", trans.tid)
145+ self.emit("transaction-done", trans)
146+
147+ def _process_transaction(self):
148+ """Run the worker"""
149+ self.last_action_timestamp = time.time()
150+ self.trans.status = STATUS_RUNNING
151+ self.trans.progress = 0
152+ try:
153+ self._lock_cache()
154+ # Prepare the package cache
155+ if self.trans.role == ROLE_FIX_INCOMPLETE_INSTALL or \
156+ not self.is_dpkg_journal_clean():
157+ self.fix_incomplete_install()
158+ # Process transaction which don't require a cache
159+ if self.trans.role == ROLE_ADD_VENDOR_KEY_FILE:
160+ self.add_vendor_key_from_file(**self.trans.kwargs)
161+ elif self.trans.role == ROLE_ADD_VENDOR_KEY_FROM_KEYSERVER:
162+ self.add_vendor_key_from_keyserver(**self.trans.kwargs)
163+ elif self.trans.role == ROLE_REMOVE_VENDOR_KEY:
164+ self.remove_vendor_key(**self.trans.kwargs)
165+ elif self.trans.role == ROLE_ADD_REPOSITORY:
166+ self.add_repository(**self.trans.kwargs)
167+ elif self.trans.role == ROLE_ENABLE_DISTRO_COMP:
168+ self.enable_distro_comp(**self.trans.kwargs)
169+ else:
170+ self._open_cache()
171+ # Process transaction which can handle a broken dep cache
172+ if self.trans.role == ROLE_FIX_BROKEN_DEPENDS:
173+ self.fix_broken_depends()
174+ elif self.trans.role == ROLE_UPDATE_CACHE:
175+ self.update_cache(**self.trans.kwargs)
176+ # Process the transactions which require a consistent cache
177+ elif self._cache and self._cache.broken_count:
178+ broken = [pkg.name for pkg in self._cache if pkg.is_now_broken]
179+ raise TransactionFailed(ERROR_CACHE_BROKEN, " ".join(broken))
180+ elif self.trans.role == ROLE_INSTALL_PACKAGES:
181+ self.install_packages(self.trans.packages[0])
182+ elif self.trans.role == ROLE_INSTALL_FILE:
183+ self.install_file(**self.trans.kwargs)
184+ elif self.trans.role == ROLE_REMOVE_PACKAGES:
185+ self.remove_packages(self.trans.packages[2])
186+ elif self.trans.role == ROLE_UPGRADE_SYSTEM:
187+ self.upgrade_system(**self.trans.kwargs)
188+ elif self.trans.role == ROLE_UPGRADE_PACKAGES:
189+ self.upgrade_packages(self.trans.packages[4])
190+ elif self.trans.role == ROLE_COMMIT_PACKAGES:
191+ self.commit_packages(*self.trans.packages)
192+ except TransactionCancelled:
193+ self.trans.exit = EXIT_CANCELLED
194+ except TransactionFailed, excep:
195+ self.trans.error = excep
196+ self.trans.exit = EXIT_FAILED
197+ except (KeyboardInterrupt, SystemExit):
198+ self.trans.exit = EXIT_CANCELLED
199+ except Exception, excep:
200+ self.trans.error = TransactionFailed(ERROR_UNKNOWN,
201+ traceback.format_exc())
202+ self.trans.exit = EXIT_FAILED
203+ else:
204+ self.trans.exit = EXIT_SUCCESS
205+ finally:
206+ self.trans.progress = 100
207+ self.last_action_timestamp = time.time()
208+ tid = self.trans.tid[:]
209+ trans = self.trans
210+ self.trans = None
211+ self._emit_transaction_done(trans)
212+ lock.system.release()
213+ log.info("Finished transaction %s", tid)
214+ return False
215+
216+ def commit_packages(self, install, reinstall, remove, purge, upgrade):
217+ """Perform a complex package operation.
218+
219+ Keyword arguments:
220+ install - list of package names to install
221+ reinstall - list of package names to reinstall
222+ remove - list of package names to remove
223+ purge - list of package names to purge including configuration files
224+ upgrade - list of package names to upgrade
225+ """
226+ log.info("Committing packages: %s, %s, %s, %s, %s",
227+ install, reinstall, remove, purge, upgrade)
228+ #FIXME python-apt 0.8 introduced a with statement
229+ ac = self._cache.actiongroup()
230+ resolver = apt.cache.ProblemResolver(self._cache)
231+ self._mark_packages_for_installation(install, resolver)
232+ self._mark_packages_for_installation(reinstall, resolver,
233+ reinstall=True)
234+ self._mark_packages_for_removal(remove, resolver)
235+ self._mark_packages_for_removal(purge, resolver, purge=True)
236+ self._mark_packages_for_upgrade(upgrade, resolver)
237+ self._resolve_depends(resolver)
238+ ac.release()
239+ self._commit_changes()
240+
241+ def _resolve_depends(self, resolver):
242+ """Resolve the dependencies using the given ProblemResolver."""
243+ self._call_plugins("modify_cache_before", resolver)
244+ resolver.install_protect()
245+ try:
246+ resolver.resolve()
247+ except SystemError:
248+ broken = [pkg.name for pkg in self._cache if pkg.is_inst_broken]
249+ raise TransactionFailed(ERROR_DEP_RESOLUTION_FAILED,
250+ " ".join(broken))
251+ if self._call_plugins("modify_cache_after", resolver):
252+ try:
253+ resolver.resolve()
254+ except SystemError:
255+ broken = [pkg.name for pkg in self._cache if pkg.is_inst_broken]
256+ raise TransactionFailed(ERROR_DEP_RESOLUTION_FAILED,
257+ " ".join(broken))
258+
259+ def install_packages(self, package_names):
260+ """Install packages.
261+
262+ Keyword argument:
263+ package_names -- list of package name which should be installed
264+ """
265+ log.debug("Installing packages: %s", package_names)
266+ self.trans.status = STATUS_RESOLVING_DEP
267+ ac = self._cache.actiongroup()
268+ resolver = apt.cache.ProblemResolver(self._cache)
269+ self._mark_packages_for_installation(package_names, resolver)
270+ self._resolve_depends(resolver)
271+ ac.release()
272+ self._commit_changes()
273+
274+ def _check_unauthenticated(self):
275+ """Check if any of the cache changes get installed from an
276+ unauthenticated repository"""
277+ if self.trans.allow_unauthenticated:
278+ return
279+ unauthenticated = []
280+ for pkg in self._cache:
281+ if (pkg.marked_install or
282+ pkg.marked_downgrade or
283+ pkg.marked_upgrade or
284+ pkg.marked_reinstall):
285+ trusted = False
286+ for origin in pkg.candidate.origins:
287+ trusted |= origin.trusted
288+ if not trusted:
289+ unauthenticated.append(pkg.name)
290+ if unauthenticated:
291+ raise TransactionFailed(ERROR_PACKAGE_UNAUTHENTICATED,
292+ " ".join(sorted(unauthenticated)))
293+
294+ def _mark_packages_for_installation(self, package_names, resolver,
295+ reinstall=False):
296+ """Mark packages for installation."""
297+ for pkg_name in package_names:
298+ try:
299+ pkg = self._cache[pkg_name]
300+ except KeyError:
301+ raise TransactionFailed(ERROR_NO_PACKAGE,
302+ "Package %s isn't available" % pkg_name)
303+ if reinstall:
304+ if not pkg.is_installed:
305+ raise TransactionFailed(ERROR_PACKAGE_NOT_INSTALLED,
306+ "Package %s isn't installed" % \
307+ pkg.name)
308+ else:
309+ #FIXME: Turn this into a non-critical message
310+ if pkg.is_installed:
311+ raise TransactionFailed(ERROR_PACKAGE_ALREADY_INSTALLED,
312+ "Package %s is already installed" %\
313+ pkg_name)
314+ pkg.mark_install(False, True, True)
315+ resolver.clear(pkg)
316+ resolver.protect(pkg)
317+
318+ def enable_distro_comp(self, component):
319+ """Enable given component in the sources list.
320+
321+ Keyword arguments:
322+ component -- a component, e.g. main or universe
323+ """
324+ old_umask = os.umask(0022)
325+ try:
326+ sourceslist = SourcesList()
327+ distro = aptsources.distro.get_distro()
328+ distro.get_sources(sourceslist)
329+ distro.enable_component(component)
330+ sourceslist.save()
331+ finally:
332+ os.umask(old_umask)
333+
334+ def add_repository(self, rtype, uri, dist, comps, comment, sourcesfile):
335+ """Add given repository to the sources list.
336+
337+ Keyword arguments:
338+ rtype -- the type of the entry (deb, deb-src)
339+ uri -- the main repository uri (e.g. http://archive.ubuntu.com/ubuntu)
340+ dist -- the distribution to use (e.g. karmic, "/")
341+ comps -- a (possible empty) list of components (main, restricted)
342+ comment -- an (optional) comment
343+ sourcesfile -- an (optinal) filename in sources.list.d
344+ """
345+ if sourcesfile:
346+ if not sourcesfile.endswith(".list"):
347+ sourcesfile += ".list"
348+ d = apt_pkg.config.find_dir("Dir::Etc::sourceparts")
349+ sourcesfile = os.path.join(d, os.path.basename(sourcesfile))
350+ else:
351+ sourcesfile = None
352+ old_umask = os.umask(0022)
353+ try:
354+ sources = SourcesList()
355+ entry = sources.add(rtype, uri, dist, comps, comment,
356+ file=sourcesfile)
357+ if entry.invalid:
358+ #FIXME: Introduce new error codes
359+ raise RepositoryInvalidError()
360+ except:
361+ raise
362+ else:
363+ sources.save()
364+ finally:
365+ os.umask(old_umask)
366+
367+ def add_vendor_key_from_keyserver(self, keyid, keyserver):
368+ """Add the signing key from the given (keyid, keyserver) to the
369+ trusted vendors.
370+
371+ Keyword argument:
372+ keyid - the keyid of the key (e.g. 0x0EB12F05)
373+ keyserver - the keyserver (e.g. keyserver.ubuntu.com)
374+ """
375+ log.info("Adding vendor key from keyserver: %s %s", keyid, keyserver)
376+ self.trans.status = STATUS_DOWNLOADING
377+ self.trans.progress = 101
378+ last_pulse = time.time()
379+ #FIXME: Use gobject.spawn_async and deferreds in the worker
380+ # Alternatively we could use python-pyme directly for a better
381+ # error handling. Or the --status-fd of gpg
382+ proc = subprocess.Popen(["/usr/bin/apt-key", "adv",
383+ "--keyserver", keyserver,
384+ "--recv", keyid], stderr=subprocess.STDOUT,
385+ stdout=subprocess.PIPE, close_fds=True)
386+ while proc.poll() is None:
387+ while gobject.main_context_default().pending():
388+ gobject.main_context_default().iteration()
389+ time.sleep(0.05)
390+ if time.time() - last_pulse > 0.3:
391+ self.trans.progress = 101
392+ last_pulse = time.time()
393+ if proc.returncode != 0:
394+ stdout = unicode(proc.stdout.read(), sys.stdin.encoding,
395+ errors="replace")
396+ #TRANSLATORS: The first %s is the key id and the second the server
397+ raise TransactionFailed(ERROR_KEY_NOT_INSTALLED,
398+ _("Failed to download and install the key "
399+ "%s from %s:\n%s") % (keyid, keyserver,
400+ stdout))
401+
402+ def add_vendor_key_from_file(self, path):
403+ """Add the signing key from the given file to the trusted vendors.
404+
405+ Keyword argument:
406+ path -- absolute path to the key file
407+ """
408+ log.info("Adding vendor key from file: %s", path)
409+ self.trans.progress = 101
410+ self.trans.status = STATUS_COMMITTING
411+ try:
412+ #FIXME: use gobject.spawn_async or reactor.spawn
413+ #FIXME: use --dry-run before?
414+ auth = AptAuth()
415+ auth.add(os.path.expanduser(path))
416+ except Exception, error:
417+ raise TransactionFailed(ERROR_KEY_NOT_INSTALLED,
418+ "Key file %s couldn't be installed: %s" % \
419+ (path, error))
420+
421+ def remove_vendor_key(self, fingerprint):
422+ """Remove repository key.
423+
424+ Keyword argument:
425+ fingerprint -- fingerprint of the key to remove
426+ """
427+ log.info("Removing vendor key: %s", fingerprint)
428+ self.trans.progress = 101
429+ self.trans.status = STATUS_COMMITTING
430+ try:
431+ #FIXME: use gobject.spawn_async or reactor.spawn
432+ #FIXME: use --dry-run before?
433+ auth = AptAuth()
434+ auth.rm(fingerprint)
435+ except Exception, error:
436+ raise TransactionFailed(ERROR_KEY_NOT_REMOVED,
437+ "Key with fingerprint %s couldn't be "
438+ "removed: %s" % (fingerprint, error))
439+
440+ def install_file(self, path):
441+ """Install local package file.
442+
443+ Keyword argument:
444+ path -- absolute path to the package file
445+ """
446+ log.info("Installing local package file: %s", path)
447+ # Check if the dpkg can be installed at all
448+ self.trans.status = STATUS_RESOLVING_DEP
449+ deb = apt.debfile.DebPackage(path, self._cache)
450+ if not deb.check():
451+ raise TransactionFailed(ERROR_DEP_RESOLUTION_FAILED,
452+ deb._failure_string)
453+ # Check for required changes and apply them before
454+ (install, remove, unauth) = deb.required_changes
455+ self._call_plugins("modify_cache_after")
456+ if len(install) > 0 or len(remove) > 0:
457+ dpkg_range = (64, 99)
458+ self._commit_changes(fetch_range=(5, 33),
459+ install_range=(34, 63))
460+ lock.system.release()
461+ # Install the dpkg file
462+ if deb.install(DaemonDpkgInstallProgress(self.trans,
463+ begin=64, end=95)):
464+ raise TransactionFailed(ERROR_UNKNOWN, deb._failure_string)
465+
466+ def remove_packages(self, package_names):
467+ """Remove packages.
468+
469+ Keyword argument:
470+ package_names -- list of package name which should be installed
471+ """
472+ log.info("Removing packages: '%s'", package_names)
473+ self.trans.status = STATUS_RESOLVING_DEP
474+ ac = self._cache.actiongroup()
475+ resolver = apt.cache.ProblemResolver(self._cache)
476+ self._mark_packages_for_removal(package_names, resolver)
477+ self._resolve_depends(resolver)
478+ ac.release()
479+ self._commit_changes(fetch_range=(10, 10), install_range=(10, 90))
480+ #FIXME: should we use a persistant cache? make a check?
481+ #self._open_cache(prange=(90,99))
482+ #for p in pkgs:
483+ # if self._cache.has_key(p) and self._cache[p].is_installed:
484+ # self.ErrorCode(ERROR_UNKNOWN, "%s is still installed" % p)
485+ # self.Finished(EXIT_FAILED)
486+ # return
487+
488+ def _mark_packages_for_removal(self, package_names, resolver, purge=False):
489+ """Mark packages for installation."""
490+ for pkg_name in package_names:
491+ try:
492+ pkg = self._cache[pkg_name]
493+ except KeyError:
494+ raise TransactionFailed(ERROR_NO_PACKAGE,
495+ "Package %s isn't available" % pkg_name)
496+ if not pkg.is_installed:
497+ raise TransactionFailed(ERROR_PACKAGE_NOT_INSTALLED,
498+ "Package %s isn't installed" % pkg_name)
499+ if pkg.essential == True:
500+ raise TransactionFailed(ERROR_NOT_REMOVE_ESSENTIAL_PACKAGE,
501+ "Package %s cannot be removed." % \
502+ pkg_name)
503+ pkg.mark_delete(False, purge=purge)
504+ resolver.clear(pkg)
505+ resolver.protect(pkg)
506+ resolver.remove(pkg)
507+
508+ def _check_obsoleted_dependencies(self):
509+ """Mark obsoleted dependencies of to be removed packages for removal."""
510+ if not self.trans.remove_obsoleted_depends:
511+ return
512+ installed_deps = set()
513+ ac = self._cache.actiongroup()
514+ for pkg in self._cache:
515+ if pkg.marked_delete:
516+ installed_deps = self._installed_dependencies(pkg.name,
517+ installed_deps)
518+ for dep_name in installed_deps:
519+ if dep_name in self._cache:
520+ pkg = self._cache[dep_name]
521+ if pkg.is_installed and pkg.is_auto_removable:
522+ pkg.mark_delete(False)
523+ ac.release()
524+
525+ def _installed_dependencies(self, pkg_name, all_deps=None):
526+ """Recursively return all installed dependencies of a given package."""
527+ #FIXME: Should be part of python-apt, since it makes use of non-public
528+ # API. Perhaps by adding a recursive argument to
529+ # apt.package.Version.get_dependencies()
530+ if not all_deps:
531+ all_deps = set()
532+ if not pkg_name in self._cache:
533+ return all_deps
534+ cur = self._cache[pkg_name]._pkg.current_ver
535+ if not cur:
536+ return all_deps
537+ for t in ("PreDepends", "Depends", "Recommends"):
538+ try:
539+ for dep in cur.depends_list[t]:
540+ dep_name = dep[0].target_pkg.name
541+ if not dep_name in all_deps:
542+ all_deps.add(dep_name)
543+ all_deps |= self._installed_dependencies(dep_name,
544+ all_deps)
545+ except KeyError:
546+ pass
547+ return all_deps
548+
549+ def upgrade_packages(self, package_names):
550+ """Upgrade packages.
551+
552+ Keyword argument:
553+ package_names -- list of package name which should be upgraded
554+ """
555+ log.info("Upgrading packages: %s", package_names)
556+ self.trans.status = STATUS_RESOLVING_DEP
557+ ac = self._cache.actiongroup()
558+ resolver = apt.cache.ProblemResolver(self._cache)
559+ self._mark_packages_for_upgrade(package_names, resolver)
560+ self._resolve_depends(resolver)
561+ ac.release()
562+ self._commit_changes()
563+
564+ def _mark_packages_for_upgrade(self, package_names, resolver):
565+ """Mark packages for upgrade."""
566+ for pkg_name in package_names:
567+ try:
568+ pkg = self._cache[pkg_name]
569+ except KeyError:
570+ raise TransactionFailed(ERROR_NO_PACKAGE,
571+ "Package %s isn't available" % pkg_name)
572+ if not pkg.is_installed:
573+ raise TransactionFailed(ERROR_PACKAGE_NOT_INSTALLED,
574+ "Package %s isn't installed" % pkg_name)
575+ pkg.mark_install(False, True, pkg.is_auto_installed)
576+ resolver.clear(pkg)
577+ resolver.protect(pkg)
578+
579+ def update_cache(self, sources_list):
580+ """Update the cache."""
581+ log.info("Updating cache")
582+ progress = DaemonAcquireProgress(self.trans, begin=10, end=95)
583+ if sources_list and not sources_list.startswith("/"):
584+ d = apt_pkg.config.find_dir("Dir::Etc::sourceparts")
585+ sources_list = os.path.join(d, sources_list)
586+ try:
587+ self._cache.update(progress, sources_list=sources_list)
588+ except apt.cache.FetchFailedException, error:
589+ raise TransactionFailed(ERROR_REPO_DOWNLOAD_FAILED,
590+ str(error.message))
591+ except apt.cache.FetchCancelledException:
592+ raise TransactionCancelled()
593+
594+ def upgrade_system(self, safe_mode=True):
595+ """Upgrade the system.
596+
597+ Keyword argument:
598+ safe_mode -- if additional software should be installed or removed to
599+ satisfy the dependencies the an updates
600+ """
601+ log.info("Upgrade system with safe mode: %s" % safe_mode)
602+ # Check for available updates
603+ self.trans.status = STATUS_RESOLVING_DEP
604+ updates = filter(lambda p: p.is_upgradable,
605+ self._cache)
606+ #FIXME: What to do if already uptotdate? Add error code?
607+ self._cache.upgrade(dist_upgrade=not safe_mode)
608+ self._call_plugins("modify_cache_after")
609+ # Check for blocked updates
610+ outstanding = []
611+ changes = self._cache.get_changes()
612+ for pkg in updates:
613+ if not pkg in changes or not pkg.marked_upgrade:
614+ outstanding.append(pkg)
615+ #FIXME: Add error state if system could not be fully updated
616+ self._commit_changes()
617+
618+ def fix_incomplete_install(self):
619+ """Run dpkg --configure -a to recover from a failed installation."""
620+ log.info("Fixing incomplete installs")
621+ self.trans.status = STATUS_CLEANING_UP
622+ progress = DaemonDpkgRecoverProgress(self.trans)
623+ progress.start_update()
624+ progress.run()
625+ progress.finish_update()
626+ if progress._child_exit != 0:
627+ raise TransactionFailed(ERROR_PACKAGE_MANAGER_FAILED,
628+ progress.output)
629+
630+ def fix_broken_depends(self):
631+ """Try to fix broken dependencies."""
632+ log.info("Fixing broken depends")
633+ self.trans.status = STATUS_RESOLVING_DEP
634+ try:
635+ self._cache._depcache.fix_broken()
636+ except SystemError:
637+ broken = [pkg.name for pkg in self._cache if pkg.is_inst_broken]
638+ raise TransactionFailed(ERROR_DEP_RESOLUTION_FAILED,
639+ " ".join(broken))
640+ self._commit_changes()
641+
642+ def _open_cache(self, begin=0, end=5, quiet=False):
643+ """Open the APT cache.
644+
645+ Keyword arguments:
646+ start -- the begin of the progress range
647+ end -- the end of the the progress range
648+ quiet -- if True do no report any progress
649+ """
650+ self.trans.status = STATUS_LOADING_CACHE
651+ apt_pkg.config.set("Dir::State::status", self._status_orig)
652+ apt_pkg.init_system()
653+ try:
654+ progress = DaemonOpenProgress(self.trans, begin=begin, end=end,
655+ quiet=quiet)
656+ if not isinstance(self._cache, apt.cache.Cache):
657+ self._cache = apt.cache.Cache(progress)
658+ else:
659+ self._cache.open(progress)
660+ except Exception, excep:
661+ raise TransactionFailed(ERROR_NO_CACHE, excep.message)
662+
663+ def _lock_cache(self):
664+ """Lock the APT cache."""
665+ try:
666+ lock.system.acquire()
667+ except lock.LockFailedError, error:
668+ logging.error("Failed to lock the cache")
669+ self.trans.paused = True
670+ self.trans.status = STATUS_WAITING_LOCK
671+ if error.process:
672+ #TRANSLATORS: %s is the name of a package manager
673+ msg = "Waiting for %s to exit" % error.process
674+ self.trans.status_details = msg
675+ lock_watch = gobject.timeout_add_seconds(3, self._watch_lock)
676+ while self.trans.paused and not self.trans.cancelled:
677+ gobject.main_context_default().iteration()
678+ gobject.source_remove(lock_watch)
679+ if self.trans.cancelled:
680+ raise TransactionCancelled()
681+
682+ def _watch_lock(self):
683+ """Unpause the transaction if the lock can be obtained."""
684+ try:
685+ lock.system.acquire()
686+ except lock.LockFailedError:
687+ return True
688+ self.trans.paused = False
689+ return False
690+
691+ def is_dpkg_journal_clean(self):
692+ """Return False if there are traces of incomplete dpkg status
693+ updates."""
694+ status_updates = os.path.join(os.path.dirname(self._status_orig),
695+ "updates/")
696+ for dentry in os.listdir(status_updates):
697+ if dentry.isdigit():
698+ return False
699+ return True
700+
701+ def _commit_changes(self, fetch_range=(5, 50), install_range=(50, 90)):
702+ """Commit previously marked changes to the cache.
703+
704+ Keyword arguments:
705+ fetch_range -- tuple containing the start and end point of the
706+ download progress
707+ install_range -- tuple containing the start and end point of the
708+ install progress
709+ """
710+ changes = self._cache.get_changes()
711+ if not changes:
712+ return
713+ # Do not allow to remove essential packages
714+ for pkg in changes:
715+ if pkg.marked_delete and (pkg.essential == True or \
716+ pkg.installed.priority == "required" or \
717+ pkg.name == "aptdaemon"):
718+ raise TransactionFailed(ERROR_NOT_REMOVE_ESSENTIAL_PACKAGE,
719+ "Package %s cannot be removed." % \
720+ pkg.name)
721+ self._check_obsoleted_dependencies()
722+ self._check_unauthenticated()
723+ if self.trans.cancelled:
724+ raise TransactionCancelled()
725+ self.trans.cancellable = False
726+ fetch_progress = DaemonAcquireProgress(self.trans,
727+ begin=fetch_range[0],
728+ end=fetch_range[1])
729+ inst_progress = DaemonInstallProgress(self.trans,
730+ begin=install_range[0],
731+ end=install_range[1])
732+ try:
733+ self._cache.commit(fetch_progress, inst_progress)
734+ except apt.cache.FetchFailedException, error:
735+ raise TransactionFailed(ERROR_PACKAGE_DOWNLOAD_FAILED,
736+ str(error.message))
737+ except apt.cache.FetchCancelledException:
738+ raise TransactionCancelled()
739+ except SystemError, excep:
740+ # Run dpkg --configure -a to recover from a failed transaction
741+ self.trans.status = STATUS_CLEANING_UP
742+ progress = DaemonDpkgRecoverProgress(self.trans, begin=90, end=95)
743+ progress.start_update()
744+ progress.run()
745+ progress.finish_update()
746+ output = inst_progress.output + progress.output
747+ raise TransactionFailed(ERROR_PACKAGE_MANAGER_FAILED,
748+ "%s: %s" % (excep, output))
749+
750+ def simulate(self, trans, status_path=None):
751+ """Return the dependencies which will be installed by the transaction,
752+ the content of the dpkg status file after the transaction would have
753+ been applied, the download size and the required disk space.
754+
755+ Keyword arguments:
756+ trans -- the transaction which should be simulated
757+ status_path -- the path to a dpkg status file on which the transaction
758+ should be applied
759+ """
760+ log.info("Simulating trans: %s" % trans.tid)
761+ trans.status = STATUS_RESOLVING_DEP
762+ try:
763+ return self._simulate_helper(trans, status_path)
764+ except TransactionFailed, excep:
765+ trans.error = excep
766+ except Exception, excep:
767+ trans.error = TransactionFailed(ERROR_UNKNOWN,
768+ traceback.format_exc())
769+ finally:
770+ trans.status = STATUS_SETTING_UP
771+ trans.exit = EXIT_FAILED
772+ trans.progress = 100
773+ self.last_action_timestamp = time.time()
774+ raise trans.error
775+
776+ def _simulate_helper(self, trans, status_path):
777+ #FIXME: A lot of redundancy
778+ #FIXME: Add checks for obsolete dependencies and unauthenticated
779+ def get_base_records(sec, additional=None):
780+ records = ["Priority", "Installed-Size", "Architecture",
781+ "Version", "Replaces", "Depends", "Conflicts",
782+ "Breaks", "Recommends", "Suggests", "Provides",
783+ "Pre-Depends", "Essential"]
784+ if additional:
785+ records.extend(additional)
786+ ret = ""
787+ for record in records:
788+ try:
789+ ret += "%s: %s\n" % (record, sec[record])
790+ except KeyError:
791+ pass
792+ return ret
793+
794+ status = ""
795+ depends = [[], [], [], [], [], [], []]
796+ skip_pkgs = []
797+ size = 0
798+ installs = reinstalls = removals = purges = upgrades = downgrades = \
799+ kepts = upgradables = []
800+
801+ # Only handle transaction which change packages
802+ #FIXME: Add support for ROLE_FIX_INCOMPLETE_INSTALL,
803+ # ROLE_FIX_BROKEN_DEPENDS
804+ if trans.role not in [ROLE_INSTALL_PACKAGES, ROLE_UPGRADE_PACKAGES,
805+ ROLE_UPGRADE_SYSTEM, ROLE_REMOVE_PACKAGES,
806+ ROLE_COMMIT_PACKAGES, ROLE_INSTALL_FILE]:
807+ return depends, status, 0, 0
808+
809+ # Fast forward the cache
810+ if not status_path:
811+ status_path = self._status_orig
812+ apt_pkg.config.set("Dir::State::status", status_path)
813+ apt_pkg.init_system()
814+ #FIXME: open cache in background after startup
815+ if not self._cache:
816+ self._cache = apt.cache.Cache()
817+ else:
818+ self._cache.open()
819+
820+ if self._cache.broken_count:
821+ broken = [pkg.name for pkg in self._cache if pkg.is_now_broken]
822+ raise TransactionFailed(ERROR_CACHE_BROKEN, " ".join(broken))
823+
824+ # Mark the changes and apply
825+ if trans.role == ROLE_UPGRADE_SYSTEM:
826+ #FIXME: Should be part of python-apt to avoid using private API
827+ upgradables = [self._cache[pkgname] \
828+ for pkgname in self._cache._set \
829+ if self._cache._depcache.is_upgradable(\
830+ self._cache._cache[pkgname])]
831+ upgradables = [pkg for pkg in self._cache if pkg.is_upgradable]
832+ self._cache.upgrade(not trans.kwargs["safe_mode"])
833+ self._call_plugins("modify_cache_after")
834+ elif trans.role == ROLE_INSTALL_FILE:
835+ deb = apt.debfile.DebPackage(trans.kwargs["path"], self._cache)
836+ if not deb.check():
837+ raise TransactionFailed(ERROR_DEP_RESOLUTION_FAILED,
838+ deb._failure_string)
839+ status += "Package: %s\n" % deb.pkgname
840+ status += "Status: install ok installed\n"
841+ status += get_base_records(deb)
842+ status += "\n"
843+ skip_pkgs.append(deb.pkgname)
844+ try:
845+ size = int(deb["Installed-Size"]) * 1024
846+ except (KeyError, AttributeError):
847+ pass
848+ try:
849+ pkg = self._cache[deb.pkgname]
850+ except KeyError:
851+ trans.packages[PKGS_INSTALL] = [deb.pkgname]
852+ else:
853+ if pkg.is_installed:
854+ # if we failed to get the size from the deb file do nor
855+ # try to get the delta
856+ if size != 0:
857+ size -= pkg.installed.installed_size
858+ trans.packages[PKGS_REINSTALL] = [deb.pkgname]
859+ else:
860+ trans.packages[PKGS_INSTALL] = [deb.pkgname]
861+ installs, reinstalls, removal, purges, upgrades = trans.packages
862+ self._call_plugins("modify_cache_after")
863+ else:
864+ ac = self._cache.actiongroup()
865+ installs, reinstalls, removals, purges, upgrades = trans.packages
866+ resolver = apt.cache.ProblemResolver(self._cache)
867+ self._mark_packages_for_installation(installs, resolver)
868+ self._mark_packages_for_installation(reinstalls, resolver,
869+ reinstall=True)
870+ self._mark_packages_for_removal(removals, resolver)
871+ self._mark_packages_for_removal(purges, resolver, purge=True)
872+ self._mark_packages_for_upgrade(upgrades, resolver)
873+ self._resolve_depends(resolver)
874+ ac.release()
875+ changes = self._cache.get_changes()
876+ changes_names = []
877+
878+ # get the additional dependencies
879+ for pkg in changes:
880+ if pkg.marked_upgrade and pkg.is_installed and \
881+ not pkg.name in upgrades:
882+ depends[PKGS_UPGRADE].append(pkg.name)
883+ elif pkg.marked_reinstall and not pkg.name in reinstalls:
884+ depends[PKGS_REINSTALL].append(pkg.name)
885+ elif pkg.marked_downgrade and not pkg.name in downgrades:
886+ depends[PKGS_DOWNGRADE].append(pkg.name)
887+ elif pkg.marked_install and not pkg.name in installs:
888+ depends[PKGS_INSTALL].append(pkg.name)
889+ elif pkg.marked_delete and not pkg.name in removals:
890+ depends[PKGS_REMOVE].append(pkg.name)
891+ #FIXME: add support for purges
892+ changes_names.append(pkg.name)
893+ # Check for skipped upgrades
894+ for pkg in upgradables:
895+ if not pkg in changes or not pkg.marked_upgrade:
896+ depends[PKGS_KEEP].append(pkg.name)
897+
898+ # merge the changes into the dpkg status
899+ for sec in apt_pkg.TagFile(open(status_path)):
900+ pkg_name = sec["Package"]
901+ if pkg_name in skip_pkgs:
902+ continue
903+ status += "Package: %s\n" % pkg_name
904+ if pkg_name in changes_names:
905+ pkg = self._cache[sec["Package"]]
906+ if pkg.marked_delete:
907+ status += "Status: deinstall ok config-files\n"
908+ version = pkg.installed
909+ else:
910+ # Install, Upgrade, downgrade and reinstall all use the
911+ # candidate version
912+ version = pkg.candidate
913+ status += "Status: install ok installed\n"
914+ status += get_base_records(version.record)
915+ changes.remove(pkg)
916+ else:
917+ status += get_base_records(sec, ["Status"])
918+ status += "\n"
919+ # Add changed and not yet known (installed) packages to the status
920+ for pkg in changes:
921+ version = pkg.candidate
922+ status += "Package: %s\n" % pkg.name
923+ status += "Status: install ok installed\n"
924+ status += get_base_records(pkg.candidate.record)
925+ status += "\n"
926+
927+ return depends, status, self._cache.required_download, \
928+ size + self._cache.required_space
929+
930+
931+class DummyWorker(AptWorker):
932+
933+ """Allows to test the daemon without making any changes to the system."""
934+
935+ def run(self, transaction):
936+ """Process the given transaction in the background.
937+
938+ Keyword argument:
939+ transaction -- core.Transcation instance to run
940+ """
941+ log.info("Processing transaction %s", transaction.tid)
942+ if self.trans:
943+ raise Exception("There is already a running transaction")
944+ self.trans = transaction
945+ self.last_action_timestamp = time.time()
946+ self.trans.status = STATUS_RUNNING
947+ self.trans.progress = 0
948+ self.trans.cancellable = True
949+ gobject.timeout_add(200, self._process_transaction, transaction)
950+
951+ def _process_transaction(self, trans):
952+ """Run the worker"""
953+ if trans.cancelled:
954+ trans.exit = EXIT_CANCELLED
955+ elif trans.progress == 100:
956+ trans.exit = EXIT_SUCCESS
957+ elif trans.role == ROLE_UPDATE_CACHE:
958+ trans.exit = EXIT_FAILED
959+ elif trans.role == ROLE_UPGRADE_PACKAGES:
960+ trans.exit = EXIT_SUCCESS
961+ elif trans.role == ROLE_UPGRADE_SYSTEM:
962+ trans.exit = EXIT_CANCELLE
963+ else:
964+ if trans.role == ROLE_INSTALL_PACKAGES:
965+ if trans.progress == 1:
966+ trans.status = STATUS_RESOLVING_DEP
967+ elif trans.progress == 5:
968+ trans.status = STATUS_DOWNLOADING
969+ elif trans.progress == 50:
970+ trans.status = STATUS_COMMITTING
971+ trans.status_details = "Heyas!"
972+ elif trans.progress == 55:
973+ trans.paused = True
974+ trans.status = STATUS_WAITING_CONFIG_FILE_PROMPT
975+ trans.config_file_conflict = "/etc/fstab", "/etc/mtab"
976+ while trans.paused:
977+ gobject.main_context_default().iteration()
978+ trans.config_file_conflict_resolution = None
979+ trans.config_file_conflict = None
980+ trans.status = STATUS_COMMITTING
981+ elif trans.progress == 60:
982+ trans.required_medium = ("Debian Lenny 5.0 CD 1",
983+ "USB CD-ROM")
984+ trans.paused = True
985+ trans.status = STATUS_WAITING_MEDIUM
986+ while trans.paused:
987+ gobject.main_context_default().iteration()
988+ trans.status = STATUS_DOWNLOADING
989+ elif trans.progress == 70:
990+ trans.status_details = "Servus!"
991+ elif trans.progress == 90:
992+ trans.status_deatils = ""
993+ trans.status = STATUS_CLEANING_UP
994+ elif trans.role == ROLE_REMOVE_PACKAGES:
995+ if trans.progress == 1:
996+ trans.status = STATUS_RESOLVING_DEP
997+ elif trans.progress == 5:
998+ trans.status = STATUS_COMMITTING
999+ trans.status_details = "Heyas!"
1000+ elif trans.progress == 50:
1001+ trans.status_details = "Hola!"
1002+ elif trans.progress == 70:
1003+ trans.status_details = "Servus!"
1004+ elif trans.progress == 90:
1005+ trans.status_deatils = ""
1006+ trans.status = STATUS_CLEANING_UP
1007+ trans.progress += 1
1008+ return True
1009+ trans.status = STATUS_FINISHED
1010+ self.last_action_timestamp = time.time()
1011+ tid = self.trans.tid[:]
1012+ trans = self.trans
1013+ self.trans = None
1014+ self._emit_transaction_done(trans)
1015+ log.info("Finished transaction %s", tid)
1016+ return False
1017+
1018+ def simulate(self, trans, status_path=None):
1019+ depends = [[], [], [], [], [], [], []]
1020+ return depends, "", 0, 0
1021+
1022+
1023+# vim:ts=4:sw=4:et
1024
1025=== added directory '.pc/06_rosetta_po_update.patch'
1026=== added directory '.pc/06_rosetta_po_update.patch/po'
1027=== added file '.pc/06_rosetta_po_update.patch/po/am.po'
1028--- .pc/06_rosetta_po_update.patch/po/am.po 1970-01-01 00:00:00 +0000
1029+++ .pc/06_rosetta_po_update.patch/po/am.po 2010-09-18 12:31:06 +0000
1030@@ -0,0 +1,577 @@
1031+# Amharic translation for aptdaemon
1032+# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009
1033+# This file is distributed under the same license as the aptdaemon package.
1034+# FIRST AUTHOR <EMAIL@ADDRESS>, 2009.
1035+#
1036+msgid ""
1037+msgstr ""
1038+"Project-Id-Version: aptdaemon\n"
1039+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
1040+"POT-Creation-Date: 2010-04-17 06:42+0000\n"
1041+"PO-Revision-Date: 2010-02-11 23:23+0000\n"
1042+"Last-Translator: samson <Unknown>\n"
1043+"Language-Team: Amharic <am@li.org>\n"
1044+"MIME-Version: 1.0\n"
1045+"Content-Type: text/plain; charset=UTF-8\n"
1046+"Content-Transfer-Encoding: 8bit\n"
1047+"X-Launchpad-Export-Date: 2010-07-15 07:12+0000\n"
1048+"X-Generator: Launchpad (build Unknown)\n"
1049+
1050+#: ../data/org.debian.apt.policy.in.h:1
1051+msgid ""
1052+"Authentication is required to cancel the package management taks of another "
1053+"user."
1054+msgstr "ማረጋገጫ ያስፈልጋል የጥቅል አስተዳዳሪን የሌሎች ተጠቃሚዎችን ስራዎች ለመሰረዝ"
1055+
1056+#: ../data/org.debian.apt.policy.in.h:2
1057+msgid "Authentication is required to install a local package file."
1058+msgstr "ማረጋገጫ ያስፈልጋል የአካባቢ ጥቅል ፋይልን ለመግጠም"
1059+
1060+#: ../data/org.debian.apt.policy.in.h:3
1061+msgid "Authentication is required to install software packages"
1062+msgstr "ማረጋገጫ ያስፈልጋል የሶፍትዌር ጥቅሎችን ለመግጠም"
1063+
1064+#: ../data/org.debian.apt.policy.in.h:4
1065+msgid ""
1066+"Authentication is required to query the software repositories for "
1067+"installable packages"
1068+msgstr "ማረጋገጫ ያስፈልጋል ለጥያቄው በሶፍትዌር ማስቀመጫ ለሚገጠሙት ጥቅሎች"
1069+
1070+#: ../data/org.debian.apt.policy.in.h:5
1071+msgid "Authentication is required to remove software packages"
1072+msgstr "ማረጋገጫ ያስፈልጋል የሶፍትዌር ጥቅሎችን ለማስወገድ"
1073+
1074+#: ../data/org.debian.apt.policy.in.h:6
1075+msgid "Authentication is required to repair broken installations"
1076+msgstr ""
1077+
1078+#: ../data/org.debian.apt.policy.in.h:7
1079+msgid "Authentication is required to upgrade software packages"
1080+msgstr "ማረጋገጫ ያስፈልጋል የሶፍትዌር ጥቅሎችን ለማሻሻል"
1081+
1082+#: ../data/org.debian.apt.policy.in.h:8
1083+msgid "Authentication is required to upgrade the system"
1084+msgstr "ማረጋገጫ ያስፈልጋል ስርአቱን ለማሻሻል"
1085+
1086+#: ../data/org.debian.apt.policy.in.h:9
1087+msgid "Cancel the task of another user"
1088+msgstr "መሰረዝ የሌላ ተጠቃሚን ስራዎች"
1089+
1090+#: ../data/org.debian.apt.policy.in.h:10
1091+msgid "Install package file"
1092+msgstr "የጥቅል ፋይልን መግጠም"
1093+
1094+#: ../data/org.debian.apt.policy.in.h:11
1095+msgid "Install packages"
1096+msgstr "ጥቅሎችን መግጠም"
1097+
1098+#: ../data/org.debian.apt.policy.in.h:12
1099+msgid "Remove packages"
1100+msgstr "ጥቅሎችን ማስወገድ"
1101+
1102+#: ../data/org.debian.apt.policy.in.h:13
1103+msgid "Repair broken installations"
1104+msgstr ""
1105+
1106+#: ../data/org.debian.apt.policy.in.h:14
1107+msgid "Update package information"
1108+msgstr "የጥቅል መረጃዎችን ማሻሻል"
1109+
1110+#: ../data/org.debian.apt.policy.in.h:15
1111+msgid "Upgrade packages"
1112+msgstr "ጥቅሎችን ማሻሻል"
1113+
1114+#: ../data/org.debian.apt.policy.in.h:16
1115+msgid "Upgrade system"
1116+msgstr "ስርአቱን ማሻሻል"
1117+
1118+#: ../aptdaemon/core.py:1426
1119+msgid "Do not shutdown the daemon because of inactivity"
1120+msgstr ""
1121+
1122+#: ../aptdaemon/core.py:1431
1123+msgid "Show internal processing information"
1124+msgstr "የውስጥ ሂደቱን መረጃ ማሳያ"
1125+
1126+#: ../aptdaemon/core.py:1435
1127+msgid "Quit and replace an already running daemon"
1128+msgstr ""
1129+
1130+#: ../aptdaemon/core.py:1439
1131+msgid "Store profile stats in the specified file"
1132+msgstr ""
1133+
1134+#: ../aptdaemon/core.py:1443
1135+msgid "Do not make any changes to the system (Only of use to developers)"
1136+msgstr ""
1137+
1138+#: ../aptdaemon/enums.py:147
1139+msgid "Installed file"
1140+msgstr "የተገጠመው ፋይል"
1141+
1142+#: ../aptdaemon/enums.py:148
1143+msgid "Installed packages"
1144+msgstr "የተገጠሙት ጥቅሎች"
1145+
1146+#: ../aptdaemon/enums.py:149
1147+msgid "Added key from file"
1148+msgstr "ከፋይል የተጨመረ ቁልፍ"
1149+
1150+#: ../aptdaemon/enums.py:150
1151+msgid "Updated cache"
1152+msgstr ""
1153+
1154+#: ../aptdaemon/enums.py:151
1155+msgid "Removed trusted key"
1156+msgstr ""
1157+
1158+#: ../aptdaemon/enums.py:152
1159+msgid "Removed packages"
1160+msgstr "የተወገዱ ጥቅሎች"
1161+
1162+#: ../aptdaemon/enums.py:153
1163+msgid "Updated packages"
1164+msgstr "ጥቅሎችን ማሻሻል"
1165+
1166+#: ../aptdaemon/enums.py:154
1167+msgid "Upgraded system"
1168+msgstr "ስርአቱን ማሻሻል"
1169+
1170+#: ../aptdaemon/enums.py:155
1171+msgid "Applied changes"
1172+msgstr "የተተገበሩ ለውጦች"
1173+
1174+#: ../aptdaemon/enums.py:156
1175+msgid "Repaired incomplete installation"
1176+msgstr ""
1177+
1178+#: ../aptdaemon/enums.py:157
1179+msgid "Repaired broken dependencies"
1180+msgstr ""
1181+
1182+#: ../aptdaemon/enums.py:168
1183+msgid "Successful"
1184+msgstr "ተሳክቷል"
1185+
1186+#: ../aptdaemon/enums.py:169
1187+msgid "Canceled"
1188+msgstr "የተሰረዘ"
1189+
1190+#: ../aptdaemon/enums.py:170 ../aptdaemon/enums.py:344
1191+msgid "Failed"
1192+msgstr "ወድቋል"
1193+
1194+#: ../aptdaemon/enums.py:180
1195+msgid "Installing file"
1196+msgstr "ፋይል በመግጠም ላይ"
1197+
1198+#: ../aptdaemon/enums.py:181
1199+msgid "Installing packages"
1200+msgstr "ጥቅሎችን በመግጠም ላይ"
1201+
1202+#: ../aptdaemon/enums.py:182
1203+msgid "Adding key from file"
1204+msgstr "ከፋይል ቁልፍ በመጨመር ላይ"
1205+
1206+#: ../aptdaemon/enums.py:183
1207+msgid "Updating cache"
1208+msgstr ""
1209+
1210+#: ../aptdaemon/enums.py:184
1211+msgid "Removing trusted key"
1212+msgstr ""
1213+
1214+#: ../aptdaemon/enums.py:185
1215+msgid "Removing packages"
1216+msgstr "ጥቅሎችን በማስወገድ ላይ"
1217+
1218+#: ../aptdaemon/enums.py:186
1219+msgid "Updating packages"
1220+msgstr "ጥቅሎችን በማሻሻል ላይ"
1221+
1222+#: ../aptdaemon/enums.py:187
1223+msgid "Upgrading system"
1224+msgstr "ስርአቱን በማሻሻል ላይ"
1225+
1226+#: ../aptdaemon/enums.py:188 ../aptdaemon/enums.py:323
1227+msgid "Applying changes"
1228+msgstr "ለውጦችን በመተግበር ላይ"
1229+
1230+#: ../aptdaemon/enums.py:189
1231+msgid "Repairing incomplete installation"
1232+msgstr ""
1233+
1234+#: ../aptdaemon/enums.py:190
1235+msgid "Repairing broken deps"
1236+msgstr ""
1237+
1238+#: ../aptdaemon/enums.py:201
1239+msgid "Installation of the package file failed"
1240+msgstr "የጥቅሉን ፋይል መግጠም አልተሳካም"
1241+
1242+#: ../aptdaemon/enums.py:202
1243+msgid "Installation of software failed"
1244+msgstr "ሶፍትዌሩን መግጠም አልተሳካም"
1245+
1246+#: ../aptdaemon/enums.py:203
1247+msgid "Adding the key to the list of trused software vendors failed"
1248+msgstr ""
1249+
1250+#: ../aptdaemon/enums.py:205
1251+msgid "Refreshing the software list failed"
1252+msgstr "ሶፍትዌሩን ማነቃቃት አልተሳካም"
1253+
1254+#: ../aptdaemon/enums.py:206
1255+msgid "Removing the vendor from the list of trusted ones failed"
1256+msgstr ""
1257+
1258+#: ../aptdaemon/enums.py:208
1259+msgid "Removing software failed"
1260+msgstr "ሶፍትዌሩን ማስወገድ አልተሳካም"
1261+
1262+#: ../aptdaemon/enums.py:209
1263+msgid "Updating software failed"
1264+msgstr "ሶፍትዌሩን ማሻሻል አልተሳካም"
1265+
1266+#: ../aptdaemon/enums.py:210
1267+msgid "Upgrading the system failed"
1268+msgstr "ስርአቱን ማሻሻል አልተሳካም"
1269+
1270+#: ../aptdaemon/enums.py:211
1271+msgid "Applying software changes failed"
1272+msgstr "የሶፍትዌር ለውጦቹን መተግበር አልተሳካም"
1273+
1274+#: ../aptdaemon/enums.py:212
1275+msgid "Repairing incomplete installation failed"
1276+msgstr ""
1277+
1278+#: ../aptdaemon/enums.py:213
1279+msgid "Repairing broken dependencies failed"
1280+msgstr ""
1281+
1282+#: ../aptdaemon/enums.py:224 ../aptdaemon/enums.py:225
1283+msgid "Check your Internet connection."
1284+msgstr "የኢንተርኔት ግንኙነቶን ይመርምሩ"
1285+
1286+#: ../aptdaemon/enums.py:226
1287+msgid ""
1288+"Check if you are using third party repositories. If so disable them, since "
1289+"they are a common source of problems.\n"
1290+"Furthermore run the following command in a Terminal: apt-get install -f"
1291+msgstr ""
1292+
1293+#: ../aptdaemon/enums.py:231
1294+msgid "The selected file may not be a GPG key file or it might be corrupt."
1295+msgstr "የተመረጠው ፋይል ምናልባት የጂፒጂ ቁልፍ ፋይል አይደለም ወይም የተበከለ ነው"
1296+
1297+#: ../aptdaemon/enums.py:233
1298+msgid ""
1299+"The selected key couldn't be removed Check if you provided a valid "
1300+"fingerprint."
1301+msgstr ""
1302+
1303+#: ../aptdaemon/enums.py:235
1304+msgid ""
1305+"Check if you are currently running another software management tool, e.g. "
1306+"Synaptic or aptitude. Only one tool is allowed to make changes at the same "
1307+"time."
1308+msgstr ""
1309+
1310+#: ../aptdaemon/enums.py:239
1311+msgid ""
1312+"This is a serious problem. Try again later. If this problem appears again, "
1313+"please report an error to the developers."
1314+msgstr ""
1315+
1316+#: ../aptdaemon/enums.py:242
1317+msgid ""
1318+"Check the spelling of the package name and if you have got enabled the "
1319+"corresponding repository."
1320+msgstr ""
1321+
1322+#: ../aptdaemon/enums.py:244
1323+msgid "There isn't any need for an update."
1324+msgstr "ማሻሻል አይስፈልጎትም"
1325+
1326+#: ../aptdaemon/enums.py:245
1327+msgid "There isn't any need for an installation"
1328+msgstr "መግጠም አይስፈልጎትም"
1329+
1330+#: ../aptdaemon/enums.py:247
1331+msgid "There isn't any need for a removal."
1332+msgstr "ማስወገድ አይስፈልጎትም"
1333+
1334+#: ../aptdaemon/enums.py:248
1335+msgid ""
1336+"You requested to remove a package which is an essential part of your system."
1337+msgstr ""
1338+
1339+#: ../aptdaemon/enums.py:251
1340+msgid ""
1341+"The connection to the daemon was lost. Most likely the background daemon "
1342+"crashed."
1343+msgstr ""
1344+
1345+#: ../aptdaemon/enums.py:253
1346+msgid "The installation or removal of a software package failed."
1347+msgstr "የሶፍትዌር ጥቅል መግጠም ወይም ማስወገድ ወድቋል"
1348+
1349+#: ../aptdaemon/enums.py:244
1350+msgid "This should not happen."
1351+msgstr "ይህ መሆን የለበትም"
1352+
1353+#: ../aptdaemon/enums.py:245
1354+msgid ""
1355+"This error could be caused by required additional software packages which "
1356+"are missing or not installable. Futhermore there could be a conflict between "
1357+"software packages which are not allowed to be installed at the same time."
1358+msgstr ""
1359+
1360+#: ../aptdaemon/enums.py:266
1361+msgid ""
1362+"The action would require the installation of packages from not authenticated "
1363+"sources."
1364+msgstr ""
1365+
1366+#: ../aptdaemon/enums.py:269
1367+msgid ""
1368+"The installation could have failed because of an error in the corresponding "
1369+"software package or it was cancelled in an unfriendly way. You have to "
1370+"repair this before you can install or remove any further software."
1371+msgstr ""
1372+
1373+#: ../aptdaemon/enums.py:284
1374+msgid "Failed to download package files"
1375+msgstr "የጥቅል ፋይሎችን ማውረድ ወድቋል"
1376+
1377+#: ../aptdaemon/enums.py:285
1378+msgid "Failed to download repository information"
1379+msgstr "የማስቀመጫ መረጃ ማውረድ ወድቋል"
1380+
1381+#: ../aptdaemon/enums.py:286
1382+msgid "Package dependencies cannot be resolved"
1383+msgstr ""
1384+
1385+#: ../aptdaemon/enums.py:287
1386+msgid "The package system is broken"
1387+msgstr ""
1388+
1389+#: ../aptdaemon/enums.py:288
1390+msgid "Key was not installed"
1391+msgstr "ቁልፍ አልተገጠመም"
1392+
1393+#: ../aptdaemon/enums.py:289
1394+msgid "Key was not removed"
1395+msgstr "ቅልፍ አልተወገደም"
1396+
1397+#: ../aptdaemon/enums.py:290
1398+msgid "Failed to lock the package manager"
1399+msgstr "የጥቅል አስተዳዳሪውን መቆለፍ ወድቋል"
1400+
1401+#: ../aptdaemon/enums.py:291
1402+msgid "Failed to load the package list"
1403+msgstr "የጥቅል ዝርዝር መጫን ወድቋል"
1404+
1405+#: ../aptdaemon/enums.py:292
1406+msgid "Package does not exist"
1407+msgstr "ጥቅሉ አልተገኘም"
1408+
1409+#: ../aptdaemon/enums.py:293
1410+msgid "Package is already up-to-date"
1411+msgstr "ጥቅሉ ዘመናዊ ነው"
1412+
1413+#: ../aptdaemon/enums.py:294
1414+msgid "Package is already installed"
1415+msgstr "ጥቅሉ ቀደም ብሎ ተገጥሟል"
1416+
1417+#: ../aptdaemon/enums.py:295
1418+msgid "Package isn't installed"
1419+msgstr "ጥቅሉ አልተገጠመም"
1420+
1421+#: ../aptdaemon/enums.py:296
1422+msgid "Failed to remove essential system package"
1423+msgstr ""
1424+
1425+#: ../aptdaemon/enums.py:298
1426+msgid "Task cannot be monitored or controlled"
1427+msgstr "ስራዎቹን መመልከት ወይም መቆጣጠር አልተቻለም"
1428+
1429+#: ../aptdaemon/enums.py:299
1430+msgid "Package operation failed"
1431+msgstr ""
1432+
1433+#: ../aptdaemon/enums.py:300
1434+msgid "Requires installation of untrusted packages"
1435+msgstr "ያልታመኑ ጥቅሎችን መግጠም ያስፈልጋል"
1436+
1437+#: ../aptdaemon/enums.py:302
1438+msgid "Previous installation hasn't been completed"
1439+msgstr ""
1440+
1441+#: ../aptdaemon/enums.py:288
1442+msgid "An unknown error occurred"
1443+msgstr "ያልታወቀ ስህተት ተፈጥሯል"
1444+
1445+#: ../aptdaemon/enums.py:313
1446+msgid "Waiting for service to start"
1447+msgstr "ግልጋሎቱን ለመጀመር በመጠበቅ ላይ"
1448+
1449+#: ../aptdaemon/enums.py:314
1450+msgid "Waiting"
1451+msgstr ""
1452+
1453+#: ../aptdaemon/enums.py:315
1454+msgid "Waiting for required medium"
1455+msgstr ""
1456+
1457+#: ../aptdaemon/enums.py:316
1458+msgid "Waiting for other software managers to quit"
1459+msgstr ""
1460+
1461+#: ../aptdaemon/enums.py:317
1462+msgid "Waiting for configuration file prompt"
1463+msgstr ""
1464+
1465+#: ../aptdaemon/enums.py:319
1466+msgid "Running task"
1467+msgstr "ስራዎችን በማስኬድ ላይ"
1468+
1469+#: ../aptdaemon/enums.py:320
1470+msgid "Downloading"
1471+msgstr "በማውረድ ላይ"
1472+
1473+#: ../aptdaemon/enums.py:321
1474+msgid "Cleaning up"
1475+msgstr "በማጽዳት ላይ"
1476+
1477+#: ../aptdaemon/enums.py:322
1478+msgid "Resolving dependencies"
1479+msgstr ""
1480+
1481+#: ../aptdaemon/enums.py:324
1482+msgid "Finished"
1483+msgstr "ጨርሷል"
1484+
1485+#: ../aptdaemon/enums.py:325
1486+msgid "Cancelling"
1487+msgstr "በመሰረዝ ላይ"
1488+
1489+#: ../aptdaemon/enums.py:326
1490+msgid "Loading software list"
1491+msgstr "የሶፍትዌር ዝርዝሮችን በመጫን ላይ"
1492+
1493+#: ../aptdaemon/gtkwidgets.py:297
1494+#, python-format
1495+msgid "Downloaded %sB of %sB at %sB/s"
1496+msgstr "ወርዷል %sB of %sB at %sB/s"
1497+
1498+#: ../aptdaemon/gtkwidgets.py:302 ../aptdaemon/gtkwidgets.py:491
1499+#, python-format
1500+msgid "Downloaded %sB of %sB"
1501+msgstr "ወርዷል %sB of %sB"
1502+
1503+#: ../aptdaemon/gtkwidgets.py:314
1504+msgid "Details"
1505+msgstr "ዝርዝሮች"
1506+
1507+#. TRANSLATORS: %s represents the name of a CD or DVD
1508+#: ../aptdaemon/gtkwidgets.py:776
1509+#, python-format
1510+msgid "CD/DVD '%s' is required"
1511+msgstr "ሲዲ/ዲቪዲ '%s' ያስፈልጋል"
1512+
1513+#. TRANSLATORS: %s is the name of the CD/DVD drive
1514+#: ../aptdaemon/gtkwidgets.py:778
1515+#, python-format
1516+msgid ""
1517+"Please insert the above CD/DVD into the drive '%s' to install software "
1518+"packages from the medium."
1519+msgstr ""
1520+
1521+#: ../aptdaemon/gtkwidgets.py:782 ../aptdaemon/gtkwidgets.py:802
1522+msgid "C_ontinue"
1523+msgstr ""
1524+
1525+#. TRANSLATORS: %s is a file path
1526+#: ../aptdaemon/gtkwidgets.py:966
1527+#, python-format
1528+msgid ""
1529+"Replace your changes in '%s' with a later version of the configuration file?"
1530+msgstr ""
1531+
1532+#: ../aptdaemon/gtkwidgets.py:968
1533+msgid ""
1534+"If you don't know why the file is there already, it is usually safe to "
1535+"replace it."
1536+msgstr ""
1537+
1538+#: ../aptdaemon/gtkwidgets.py:977
1539+msgid "_Changes"
1540+msgstr ""
1541+
1542+#: ../aptdaemon/gtkwidgets.py:980
1543+msgid "_Keep"
1544+msgstr "_ማስቀመጥ"
1545+
1546+#: ../aptdaemon/gtkwidgets.py:981
1547+msgid "_Replace"
1548+msgstr "_መተካት"
1549+
1550+#. TRANSLATORS: expander label in the error dialog
1551+#: ../aptdaemon/gtkwidgets.py:1072
1552+msgid "_Details"
1553+msgstr "_ዝርዝሮች"
1554+
1555+#: ../aptdaemon/progress.py:46
1556+#, python-format
1557+msgid "Installing %s"
1558+msgstr "በመግጠም ላይ %s"
1559+
1560+#: ../aptdaemon/progress.py:47
1561+#, python-format
1562+msgid "Configuring %s"
1563+msgstr "በማዋቀር ላይ %s"
1564+
1565+#: ../aptdaemon/progress.py:48
1566+#, python-format
1567+msgid "Removing %s"
1568+msgstr "በማስወገድ ላይ %s"
1569+
1570+#: ../aptdaemon/progress.py:49
1571+#, python-format
1572+msgid "Running post-installation trigger %s"
1573+msgstr ""
1574+
1575+#: ../aptdaemon/progress.py:50
1576+#, python-format
1577+msgid "Purging %s"
1578+msgstr ""
1579+
1580+#: ../aptdaemon/progress.py:51
1581+#, python-format
1582+msgid "Upgrading %s"
1583+msgstr "በማሻሻል ላይ %s"
1584+
1585+#: ../aptdaemon/progress.py:142
1586+#, python-format
1587+msgid "Downloading %s"
1588+msgstr "በማውረድ ላይ %s"
1589+
1590+#~ msgid "Waiting for other tasks"
1591+#~ msgstr "ሌሎች ስራዎችን በመጠበቅ ላይ"
1592+
1593+#~ msgid "System is already up-to-date"
1594+#~ msgstr "ስርአቱ ዘመናዊ ነው"
1595+
1596+#~ msgid "There isn't any need for a system update"
1597+#~ msgstr "ስርአቱን ማሻሻል አያስፈልግም"
1598+
1599+#~ msgid "System is not up-to-date"
1600+#~ msgstr "ስርአቱ ዘመናዊ አይደለም"
1601+
1602+#, python-format
1603+#~ msgid "Configuration file '%s' changed"
1604+#~ msgstr "ማዋቀሪያ ፋይሉ '%s' ተቀይሯል"
1605+
1606+#~ msgid "Do you want to use the new version?"
1607+#~ msgstr "አዲሱን እትም መጠቀም ይፈልጋሉ?"
1608
1609=== added file '.pc/06_rosetta_po_update.patch/po/ar.po'
1610--- .pc/06_rosetta_po_update.patch/po/ar.po 1970-01-01 00:00:00 +0000
1611+++ .pc/06_rosetta_po_update.patch/po/ar.po 2010-09-18 12:31:06 +0000
1612@@ -0,0 +1,558 @@
1613+# Arabic translation for aptdaemon
1614+# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009
1615+# This file is distributed under the same license as the aptdaemon package.
1616+# FIRST AUTHOR <EMAIL@ADDRESS>, 2009.
1617+#
1618+msgid ""
1619+msgstr ""
1620+"Project-Id-Version: aptdaemon\n"
1621+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
1622+"POT-Creation-Date: 2010-04-17 06:42+0000\n"
1623+"PO-Revision-Date: 2009-12-08 09:25+0000\n"
1624+"Last-Translator: Khaled Hosny <khaledhosny@eglug.org>\n"
1625+"Language-Team: Arabic <ar@li.org>\n"
1626+"MIME-Version: 1.0\n"
1627+"Content-Type: text/plain; charset=UTF-8\n"
1628+"Content-Transfer-Encoding: 8bit\n"
1629+"X-Launchpad-Export-Date: 2010-07-15 07:12+0000\n"
1630+"X-Generator: Launchpad (build Unknown)\n"
1631+
1632+#: ../data/org.debian.apt.policy.in.h:1
1633+msgid ""
1634+"Authentication is required to cancel the package management taks of another "
1635+"user."
1636+msgstr ""
1637+
1638+#: ../data/org.debian.apt.policy.in.h:2
1639+msgid "Authentication is required to install a local package file."
1640+msgstr ""
1641+
1642+#: ../data/org.debian.apt.policy.in.h:3
1643+msgid "Authentication is required to install software packages"
1644+msgstr ""
1645+
1646+#: ../data/org.debian.apt.policy.in.h:4
1647+msgid ""
1648+"Authentication is required to query the software repositories for "
1649+"installable packages"
1650+msgstr ""
1651+
1652+#: ../data/org.debian.apt.policy.in.h:5
1653+msgid "Authentication is required to remove software packages"
1654+msgstr ""
1655+
1656+#: ../data/org.debian.apt.policy.in.h:6
1657+msgid "Authentication is required to repair broken installations"
1658+msgstr ""
1659+
1660+#: ../data/org.debian.apt.policy.in.h:7
1661+msgid "Authentication is required to upgrade software packages"
1662+msgstr ""
1663+
1664+#: ../data/org.debian.apt.policy.in.h:8
1665+msgid "Authentication is required to upgrade the system"
1666+msgstr ""
1667+
1668+#: ../data/org.debian.apt.policy.in.h:9
1669+msgid "Cancel the task of another user"
1670+msgstr ""
1671+
1672+#: ../data/org.debian.apt.policy.in.h:10
1673+msgid "Install package file"
1674+msgstr ""
1675+
1676+#: ../data/org.debian.apt.policy.in.h:11
1677+msgid "Install packages"
1678+msgstr ""
1679+
1680+#: ../data/org.debian.apt.policy.in.h:12
1681+msgid "Remove packages"
1682+msgstr ""
1683+
1684+#: ../data/org.debian.apt.policy.in.h:13
1685+msgid "Repair broken installations"
1686+msgstr ""
1687+
1688+#: ../data/org.debian.apt.policy.in.h:14
1689+msgid "Update package information"
1690+msgstr ""
1691+
1692+#: ../data/org.debian.apt.policy.in.h:15
1693+msgid "Upgrade packages"
1694+msgstr ""
1695+
1696+#: ../data/org.debian.apt.policy.in.h:16
1697+msgid "Upgrade system"
1698+msgstr ""
1699+
1700+#: ../aptdaemon/core.py:1426
1701+msgid "Do not shutdown the daemon because of inactivity"
1702+msgstr ""
1703+
1704+#: ../aptdaemon/core.py:1431
1705+msgid "Show internal processing information"
1706+msgstr ""
1707+
1708+#: ../aptdaemon/core.py:1435
1709+msgid "Quit and replace an already running daemon"
1710+msgstr ""
1711+
1712+#: ../aptdaemon/core.py:1439
1713+msgid "Store profile stats in the specified file"
1714+msgstr ""
1715+
1716+#: ../aptdaemon/core.py:1443
1717+msgid "Do not make any changes to the system (Only of use to developers)"
1718+msgstr ""
1719+
1720+#: ../aptdaemon/enums.py:147
1721+msgid "Installed file"
1722+msgstr "ملف مُثبّت"
1723+
1724+#: ../aptdaemon/enums.py:148
1725+msgid "Installed packages"
1726+msgstr "حزم مُثبّتة"
1727+
1728+#: ../aptdaemon/enums.py:149
1729+msgid "Added key from file"
1730+msgstr "أضف مفتاحا من ملف"
1731+
1732+#: ../aptdaemon/enums.py:150
1733+msgid "Updated cache"
1734+msgstr "حدّث الخبيئة"
1735+
1736+#: ../aptdaemon/enums.py:151
1737+msgid "Removed trusted key"
1738+msgstr "احذف مفتاحا غير موثوق"
1739+
1740+#: ../aptdaemon/enums.py:152
1741+msgid "Removed packages"
1742+msgstr "حزم محذوفة"
1743+
1744+#: ../aptdaemon/enums.py:153
1745+msgid "Updated packages"
1746+msgstr "حزم مُحدّثة"
1747+
1748+#: ../aptdaemon/enums.py:154
1749+msgid "Upgraded system"
1750+msgstr "نظام مرقّى"
1751+
1752+#: ../aptdaemon/enums.py:155
1753+msgid "Applied changes"
1754+msgstr ""
1755+
1756+#: ../aptdaemon/enums.py:156
1757+msgid "Repaired incomplete installation"
1758+msgstr ""
1759+
1760+#: ../aptdaemon/enums.py:157
1761+msgid "Repaired broken dependencies"
1762+msgstr ""
1763+
1764+#: ../aptdaemon/enums.py:168
1765+msgid "Successful"
1766+msgstr "ناجح"
1767+
1768+#: ../aptdaemon/enums.py:169
1769+msgid "Canceled"
1770+msgstr "ملغى"
1771+
1772+#: ../aptdaemon/enums.py:170 ../aptdaemon/enums.py:344
1773+msgid "Failed"
1774+msgstr "فشل"
1775+
1776+#: ../aptdaemon/enums.py:180
1777+msgid "Installing file"
1778+msgstr ""
1779+
1780+#: ../aptdaemon/enums.py:181
1781+msgid "Installing packages"
1782+msgstr ""
1783+
1784+#: ../aptdaemon/enums.py:182
1785+msgid "Adding key from file"
1786+msgstr ""
1787+
1788+#: ../aptdaemon/enums.py:183
1789+msgid "Updating cache"
1790+msgstr ""
1791+
1792+#: ../aptdaemon/enums.py:184
1793+msgid "Removing trusted key"
1794+msgstr ""
1795+
1796+#: ../aptdaemon/enums.py:185
1797+msgid "Removing packages"
1798+msgstr ""
1799+
1800+#: ../aptdaemon/enums.py:186
1801+msgid "Updating packages"
1802+msgstr ""
1803+
1804+#: ../aptdaemon/enums.py:187
1805+msgid "Upgrading system"
1806+msgstr ""
1807+
1808+#: ../aptdaemon/enums.py:188 ../aptdaemon/enums.py:323
1809+msgid "Applying changes"
1810+msgstr ""
1811+
1812+#: ../aptdaemon/enums.py:189
1813+msgid "Repairing incomplete installation"
1814+msgstr ""
1815+
1816+#: ../aptdaemon/enums.py:190
1817+msgid "Repairing broken deps"
1818+msgstr ""
1819+
1820+#: ../aptdaemon/enums.py:201
1821+msgid "Installation of the package file failed"
1822+msgstr ""
1823+
1824+#: ../aptdaemon/enums.py:202
1825+msgid "Installation of software failed"
1826+msgstr ""
1827+
1828+#: ../aptdaemon/enums.py:203
1829+msgid "Adding the key to the list of trused software vendors failed"
1830+msgstr ""
1831+
1832+#: ../aptdaemon/enums.py:205
1833+msgid "Refreshing the software list failed"
1834+msgstr ""
1835+
1836+#: ../aptdaemon/enums.py:206
1837+msgid "Removing the vendor from the list of trusted ones failed"
1838+msgstr ""
1839+
1840+#: ../aptdaemon/enums.py:208
1841+msgid "Removing software failed"
1842+msgstr ""
1843+
1844+#: ../aptdaemon/enums.py:209
1845+msgid "Updating software failed"
1846+msgstr ""
1847+
1848+#: ../aptdaemon/enums.py:210
1849+msgid "Upgrading the system failed"
1850+msgstr ""
1851+
1852+#: ../aptdaemon/enums.py:211
1853+msgid "Applying software changes failed"
1854+msgstr ""
1855+
1856+#: ../aptdaemon/enums.py:212
1857+msgid "Repairing incomplete installation failed"
1858+msgstr ""
1859+
1860+#: ../aptdaemon/enums.py:213
1861+msgid "Repairing broken dependencies failed"
1862+msgstr ""
1863+
1864+#: ../aptdaemon/enums.py:224 ../aptdaemon/enums.py:225
1865+msgid "Check your Internet connection."
1866+msgstr ""
1867+
1868+#: ../aptdaemon/enums.py:226
1869+msgid ""
1870+"Check if you are using third party repositories. If so disable them, since "
1871+"they are a common source of problems.\n"
1872+"Furthermore run the following command in a Terminal: apt-get install -f"
1873+msgstr ""
1874+
1875+#: ../aptdaemon/enums.py:231
1876+msgid "The selected file may not be a GPG key file or it might be corrupt."
1877+msgstr ""
1878+
1879+#: ../aptdaemon/enums.py:233
1880+msgid ""
1881+"The selected key couldn't be removed Check if you provided a valid "
1882+"fingerprint."
1883+msgstr ""
1884+
1885+#: ../aptdaemon/enums.py:235
1886+msgid ""
1887+"Check if you are currently running another software management tool, e.g. "
1888+"Synaptic or aptitude. Only one tool is allowed to make changes at the same "
1889+"time."
1890+msgstr ""
1891+
1892+#: ../aptdaemon/enums.py:239
1893+msgid ""
1894+"This is a serious problem. Try again later. If this problem appears again, "
1895+"please report an error to the developers."
1896+msgstr ""
1897+
1898+#: ../aptdaemon/enums.py:242
1899+msgid ""
1900+"Check the spelling of the package name and if you have got enabled the "
1901+"corresponding repository."
1902+msgstr ""
1903+
1904+#: ../aptdaemon/enums.py:244
1905+msgid "There isn't any need for an update."
1906+msgstr ""
1907+
1908+#: ../aptdaemon/enums.py:245
1909+msgid "There isn't any need for an installation"
1910+msgstr ""
1911+
1912+#: ../aptdaemon/enums.py:247
1913+msgid "There isn't any need for a removal."
1914+msgstr ""
1915+
1916+#: ../aptdaemon/enums.py:248
1917+msgid ""
1918+"You requested to remove a package which is an essential part of your system."
1919+msgstr ""
1920+
1921+#: ../aptdaemon/enums.py:251
1922+msgid ""
1923+"The connection to the daemon was lost. Most likely the background daemon "
1924+"crashed."
1925+msgstr ""
1926+
1927+#: ../aptdaemon/enums.py:253
1928+msgid "The installation or removal of a software package failed."
1929+msgstr ""
1930+
1931+#: ../aptdaemon/enums.py:244
1932+msgid "This should not happen."
1933+msgstr ""
1934+
1935+#: ../aptdaemon/enums.py:245
1936+msgid ""
1937+"This error could be caused by required additional software packages which "
1938+"are missing or not installable. Futhermore there could be a conflict between "
1939+"software packages which are not allowed to be installed at the same time."
1940+msgstr ""
1941+
1942+#: ../aptdaemon/enums.py:266
1943+msgid ""
1944+"The action would require the installation of packages from not authenticated "
1945+"sources."
1946+msgstr ""
1947+
1948+#: ../aptdaemon/enums.py:269
1949+msgid ""
1950+"The installation could have failed because of an error in the corresponding "
1951+"software package or it was cancelled in an unfriendly way. You have to "
1952+"repair this before you can install or remove any further software."
1953+msgstr ""
1954+
1955+#: ../aptdaemon/enums.py:284
1956+msgid "Failed to download package files"
1957+msgstr ""
1958+
1959+#: ../aptdaemon/enums.py:285
1960+msgid "Failed to download repository information"
1961+msgstr ""
1962+
1963+#: ../aptdaemon/enums.py:286
1964+msgid "Package dependencies cannot be resolved"
1965+msgstr ""
1966+
1967+#: ../aptdaemon/enums.py:287
1968+msgid "The package system is broken"
1969+msgstr ""
1970+
1971+#: ../aptdaemon/enums.py:288
1972+msgid "Key was not installed"
1973+msgstr ""
1974+
1975+#: ../aptdaemon/enums.py:289
1976+msgid "Key was not removed"
1977+msgstr ""
1978+
1979+#: ../aptdaemon/enums.py:290
1980+msgid "Failed to lock the package manager"
1981+msgstr ""
1982+
1983+#: ../aptdaemon/enums.py:291
1984+msgid "Failed to load the package list"
1985+msgstr ""
1986+
1987+#: ../aptdaemon/enums.py:292
1988+msgid "Package does not exist"
1989+msgstr ""
1990+
1991+#: ../aptdaemon/enums.py:293
1992+msgid "Package is already up-to-date"
1993+msgstr ""
1994+
1995+#: ../aptdaemon/enums.py:294
1996+msgid "Package is already installed"
1997+msgstr ""
1998+
1999+#: ../aptdaemon/enums.py:295
2000+msgid "Package isn't installed"
2001+msgstr ""
2002+
2003+#: ../aptdaemon/enums.py:296
2004+msgid "Failed to remove essential system package"
2005+msgstr ""
2006+
2007+#: ../aptdaemon/enums.py:298
2008+msgid "Task cannot be monitored or controlled"
2009+msgstr ""
2010+
2011+#: ../aptdaemon/enums.py:299
2012+msgid "Package operation failed"
2013+msgstr ""
2014+
2015+#: ../aptdaemon/enums.py:300
2016+msgid "Requires installation of untrusted packages"
2017+msgstr ""
2018+
2019+#: ../aptdaemon/enums.py:302
2020+msgid "Previous installation hasn't been completed"
2021+msgstr ""
2022+
2023+#: ../aptdaemon/enums.py:288
2024+msgid "An unknown error occurred"
2025+msgstr ""
2026+
2027+#: ../aptdaemon/enums.py:313
2028+msgid "Waiting for service to start"
2029+msgstr ""
2030+
2031+#: ../aptdaemon/enums.py:314
2032+msgid "Waiting"
2033+msgstr ""
2034+
2035+#: ../aptdaemon/enums.py:315
2036+msgid "Waiting for required medium"
2037+msgstr ""
2038+
2039+#: ../aptdaemon/enums.py:316
2040+msgid "Waiting for other software managers to quit"
2041+msgstr ""
2042+
2043+#: ../aptdaemon/enums.py:317
2044+msgid "Waiting for configuration file prompt"
2045+msgstr ""
2046+
2047+#: ../aptdaemon/enums.py:319
2048+msgid "Running task"
2049+msgstr ""
2050+
2051+#: ../aptdaemon/enums.py:320
2052+msgid "Downloading"
2053+msgstr ""
2054+
2055+#: ../aptdaemon/enums.py:321
2056+msgid "Cleaning up"
2057+msgstr ""
2058+
2059+#: ../aptdaemon/enums.py:322
2060+msgid "Resolving dependencies"
2061+msgstr ""
2062+
2063+#: ../aptdaemon/enums.py:324
2064+msgid "Finished"
2065+msgstr ""
2066+
2067+#: ../aptdaemon/enums.py:325
2068+msgid "Cancelling"
2069+msgstr ""
2070+
2071+#: ../aptdaemon/enums.py:326
2072+msgid "Loading software list"
2073+msgstr ""
2074+
2075+#: ../aptdaemon/gtkwidgets.py:297
2076+#, python-format
2077+msgid "Downloaded %sB of %sB at %sB/s"
2078+msgstr ""
2079+
2080+#: ../aptdaemon/gtkwidgets.py:302 ../aptdaemon/gtkwidgets.py:491
2081+#, python-format
2082+msgid "Downloaded %sB of %sB"
2083+msgstr ""
2084+
2085+#: ../aptdaemon/gtkwidgets.py:314
2086+msgid "Details"
2087+msgstr ""
2088+
2089+#. TRANSLATORS: %s represents the name of a CD or DVD
2090+#: ../aptdaemon/gtkwidgets.py:776
2091+#, python-format
2092+msgid "CD/DVD '%s' is required"
2093+msgstr ""
2094+
2095+#. TRANSLATORS: %s is the name of the CD/DVD drive
2096+#: ../aptdaemon/gtkwidgets.py:778
2097+#, python-format
2098+msgid ""
2099+"Please insert the above CD/DVD into the drive '%s' to install software "
2100+"packages from the medium."
2101+msgstr ""
2102+
2103+#: ../aptdaemon/gtkwidgets.py:782 ../aptdaemon/gtkwidgets.py:802
2104+msgid "C_ontinue"
2105+msgstr ""
2106+
2107+#. TRANSLATORS: %s is a file path
2108+#: ../aptdaemon/gtkwidgets.py:966
2109+#, python-format
2110+msgid ""
2111+"Replace your changes in '%s' with a later version of the configuration file?"
2112+msgstr ""
2113+
2114+#: ../aptdaemon/gtkwidgets.py:968
2115+msgid ""
2116+"If you don't know why the file is there already, it is usually safe to "
2117+"replace it."
2118+msgstr ""
2119+
2120+#: ../aptdaemon/gtkwidgets.py:977
2121+msgid "_Changes"
2122+msgstr ""
2123+
2124+#: ../aptdaemon/gtkwidgets.py:980
2125+msgid "_Keep"
2126+msgstr ""
2127+
2128+#: ../aptdaemon/gtkwidgets.py:981
2129+msgid "_Replace"
2130+msgstr ""
2131+
2132+#. TRANSLATORS: expander label in the error dialog
2133+#: ../aptdaemon/gtkwidgets.py:1072
2134+msgid "_Details"
2135+msgstr ""
2136+
2137+#: ../aptdaemon/progress.py:46
2138+#, python-format
2139+msgid "Installing %s"
2140+msgstr ""
2141+
2142+#: ../aptdaemon/progress.py:47
2143+#, python-format
2144+msgid "Configuring %s"
2145+msgstr ""
2146+
2147+#: ../aptdaemon/progress.py:48
2148+#, python-format
2149+msgid "Removing %s"
2150+msgstr ""
2151+
2152+#: ../aptdaemon/progress.py:49
2153+#, python-format
2154+msgid "Running post-installation trigger %s"
2155+msgstr ""
2156+
2157+#: ../aptdaemon/progress.py:50
2158+#, python-format
2159+msgid "Purging %s"
2160+msgstr ""
2161+
2162+#: ../aptdaemon/progress.py:51
2163+#, python-format
2164+msgid "Upgrading %s"
2165+msgstr ""
2166+
2167+#: ../aptdaemon/progress.py:142
2168+#, python-format
2169+msgid "Downloading %s"
2170+msgstr ""
2171
2172=== added file '.pc/06_rosetta_po_update.patch/po/ast.po'
2173--- .pc/06_rosetta_po_update.patch/po/ast.po 1970-01-01 00:00:00 +0000
2174+++ .pc/06_rosetta_po_update.patch/po/ast.po 2010-09-18 12:31:06 +0000
2175@@ -0,0 +1,617 @@
2176+# Asturian translation for aptdaemon
2177+# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009
2178+# This file is distributed under the same license as the aptdaemon package.
2179+# FIRST AUTHOR <EMAIL@ADDRESS>, 2009.
2180+#
2181+msgid ""
2182+msgstr ""
2183+"Project-Id-Version: aptdaemon\n"
2184+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
2185+"POT-Creation-Date: 2010-04-17 06:42+0000\n"
2186+"PO-Revision-Date: 2010-03-29 11:59+0000\n"
2187+"Last-Translator: Iñigo Varela <malditoastur@gmail.com>\n"
2188+"Language-Team: Asturian <ast@li.org>\n"
2189+"MIME-Version: 1.0\n"
2190+"Content-Type: text/plain; charset=UTF-8\n"
2191+"Content-Transfer-Encoding: 8bit\n"
2192+"X-Launchpad-Export-Date: 2010-07-15 07:12+0000\n"
2193+"X-Generator: Launchpad (build Unknown)\n"
2194+
2195+#: ../data/org.debian.apt.policy.in.h:1
2196+msgid ""
2197+"Authentication is required to cancel the package management taks of another "
2198+"user."
2199+msgstr ""
2200+"Necesítase autentificación pa encaboxar les xeres de xestión de paquetes "
2201+"d'otru usuariu."
2202+
2203+#: ../data/org.debian.apt.policy.in.h:2
2204+msgid "Authentication is required to install a local package file."
2205+msgstr "Necesítase autentificación pa instalar un ficheru de paquete llocal."
2206+
2207+#: ../data/org.debian.apt.policy.in.h:3
2208+msgid "Authentication is required to install software packages"
2209+msgstr "Necesítase autentificación pa instalar paquetes de software"
2210+
2211+#: ../data/org.debian.apt.policy.in.h:4
2212+msgid ""
2213+"Authentication is required to query the software repositories for "
2214+"installable packages"
2215+msgstr ""
2216+"Necesítase autentificación pa consultar los repositorios de paquetes "
2217+"instalables"
2218+
2219+#: ../data/org.debian.apt.policy.in.h:5
2220+msgid "Authentication is required to remove software packages"
2221+msgstr "Necesítase autentificación pa desinstalar paquetes de software"
2222+
2223+#: ../data/org.debian.apt.policy.in.h:6
2224+msgid "Authentication is required to repair broken installations"
2225+msgstr "Requierse autenticación pa poder iguar instalaciones frañaes"
2226+
2227+#: ../data/org.debian.apt.policy.in.h:7
2228+msgid "Authentication is required to upgrade software packages"
2229+msgstr "Necesítase autentificación pa anovar paquetes de software"
2230+
2231+#: ../data/org.debian.apt.policy.in.h:8
2232+msgid "Authentication is required to upgrade the system"
2233+msgstr "Necesítase autentificación pa anovar el sistema"
2234+
2235+#: ../data/org.debian.apt.policy.in.h:9
2236+msgid "Cancel the task of another user"
2237+msgstr "Encaboxar la xera d'otru usuariu"
2238+
2239+#: ../data/org.debian.apt.policy.in.h:10
2240+msgid "Install package file"
2241+msgstr "Instalar ficheru de paquete"
2242+
2243+#: ../data/org.debian.apt.policy.in.h:11
2244+msgid "Install packages"
2245+msgstr "Instalar paquetes"
2246+
2247+#: ../data/org.debian.apt.policy.in.h:12
2248+msgid "Remove packages"
2249+msgstr "Desinstalar paquetes"
2250+
2251+#: ../data/org.debian.apt.policy.in.h:13
2252+msgid "Repair broken installations"
2253+msgstr "Iguar instalaciones frañaes"
2254+
2255+#: ../data/org.debian.apt.policy.in.h:14
2256+msgid "Update package information"
2257+msgstr "Anovar información de paquetes"
2258+
2259+#: ../data/org.debian.apt.policy.in.h:15
2260+msgid "Upgrade packages"
2261+msgstr "Anovar paquetes"
2262+
2263+#: ../data/org.debian.apt.policy.in.h:16
2264+msgid "Upgrade system"
2265+msgstr "Anovar sistema"
2266+
2267+#: ../aptdaemon/core.py:1426
2268+msgid "Do not shutdown the daemon because of inactivity"
2269+msgstr "Nun parar el degorriu en casu d'inactividá"
2270+
2271+#: ../aptdaemon/core.py:1431
2272+msgid "Show internal processing information"
2273+msgstr "Amosar información del procesamientu internu"
2274+
2275+#: ../aptdaemon/core.py:1435
2276+msgid "Quit and replace an already running daemon"
2277+msgstr "Salir y camudar un degorriu que yá tea executándose"
2278+
2279+#: ../aptdaemon/core.py:1439
2280+msgid "Store profile stats in the specified file"
2281+msgstr "Guardar estadístiques de perfil nel ficheru especificáu"
2282+
2283+#: ../aptdaemon/core.py:1443
2284+msgid "Do not make any changes to the system (Only of use to developers)"
2285+msgstr "Nun facer cambeos al sistema (Namái pa usu de desendolcadores)"
2286+
2287+#: ../aptdaemon/enums.py:147
2288+msgid "Installed file"
2289+msgstr "Ficheru instaláu"
2290+
2291+#: ../aptdaemon/enums.py:148
2292+msgid "Installed packages"
2293+msgstr "Paquetes instalaos"
2294+
2295+#: ../aptdaemon/enums.py:149
2296+msgid "Added key from file"
2297+msgstr "Clave amestada dende ficheru"
2298+
2299+#: ../aptdaemon/enums.py:150
2300+msgid "Updated cache"
2301+msgstr "Caché anovada"
2302+
2303+#: ../aptdaemon/enums.py:151
2304+msgid "Removed trusted key"
2305+msgstr "Clave de confianza desaniciada"
2306+
2307+#: ../aptdaemon/enums.py:152
2308+msgid "Removed packages"
2309+msgstr "Paquetes desaniciaos"
2310+
2311+#: ../aptdaemon/enums.py:153
2312+msgid "Updated packages"
2313+msgstr "Paquetes anovaos"
2314+
2315+#: ../aptdaemon/enums.py:154
2316+msgid "Upgraded system"
2317+msgstr "Sistema anováu"
2318+
2319+#: ../aptdaemon/enums.py:155
2320+msgid "Applied changes"
2321+msgstr "Cambeos aplicaos"
2322+
2323+#: ../aptdaemon/enums.py:156
2324+msgid "Repaired incomplete installation"
2325+msgstr "Instalación incompleta iguada"
2326+
2327+#: ../aptdaemon/enums.py:157
2328+msgid "Repaired broken dependencies"
2329+msgstr "Dependencies frañaes iguaes"
2330+
2331+#: ../aptdaemon/enums.py:168
2332+msgid "Successful"
2333+msgstr "Completáu"
2334+
2335+#: ../aptdaemon/enums.py:169
2336+msgid "Canceled"
2337+msgstr "Encaboxáu"
2338+
2339+#: ../aptdaemon/enums.py:170 ../aptdaemon/enums.py:344
2340+msgid "Failed"
2341+msgstr "Falló"
2342+
2343+#: ../aptdaemon/enums.py:180
2344+msgid "Installing file"
2345+msgstr "Instalando ficheru"
2346+
2347+#: ../aptdaemon/enums.py:181
2348+msgid "Installing packages"
2349+msgstr "Instalando paquetes"
2350+
2351+#: ../aptdaemon/enums.py:182
2352+msgid "Adding key from file"
2353+msgstr "Amestando clave dende ficheru"
2354+
2355+#: ../aptdaemon/enums.py:183
2356+msgid "Updating cache"
2357+msgstr "Anovando caché"
2358+
2359+#: ../aptdaemon/enums.py:184
2360+msgid "Removing trusted key"
2361+msgstr "Desaniciando clave de confianza"
2362+
2363+#: ../aptdaemon/enums.py:185
2364+msgid "Removing packages"
2365+msgstr "Desaniciando paquetes"
2366+
2367+#: ../aptdaemon/enums.py:186
2368+msgid "Updating packages"
2369+msgstr "Anovando paquetes"
2370+
2371+#: ../aptdaemon/enums.py:187
2372+msgid "Upgrading system"
2373+msgstr "Anovando sistema"
2374+
2375+#: ../aptdaemon/enums.py:188 ../aptdaemon/enums.py:323
2376+msgid "Applying changes"
2377+msgstr "Aplicando cambeos"
2378+
2379+#: ../aptdaemon/enums.py:189
2380+msgid "Repairing incomplete installation"
2381+msgstr "Iguando instalación incompleta"
2382+
2383+#: ../aptdaemon/enums.py:190
2384+msgid "Repairing broken deps"
2385+msgstr "Iguando dependencies frañaes"
2386+
2387+#: ../aptdaemon/enums.py:201
2388+msgid "Installation of the package file failed"
2389+msgstr "Falló la instalación del ficheru de paquete"
2390+
2391+#: ../aptdaemon/enums.py:202
2392+msgid "Installation of software failed"
2393+msgstr "Falló la instalación de software"
2394+
2395+#: ../aptdaemon/enums.py:203
2396+msgid "Adding the key to the list of trused software vendors failed"
2397+msgstr ""
2398+"Hebo un fallu al amestar la clave a la llista de fornidores de software de "
2399+"confianza"
2400+
2401+#: ../aptdaemon/enums.py:205
2402+msgid "Refreshing the software list failed"
2403+msgstr "Falló l'anovamientu de la llista de software"
2404+
2405+#: ../aptdaemon/enums.py:206
2406+msgid "Removing the vendor from the list of trusted ones failed"
2407+msgstr "Hebo un fallu al desaniciar el fornidor de la llista de confianza"
2408+
2409+#: ../aptdaemon/enums.py:208
2410+msgid "Removing software failed"
2411+msgstr "Falló el desaniciu de software"
2412+
2413+#: ../aptdaemon/enums.py:209
2414+msgid "Updating software failed"
2415+msgstr "Falló l'anovamientu de software"
2416+
2417+#: ../aptdaemon/enums.py:210
2418+msgid "Upgrading the system failed"
2419+msgstr "Falló l'anovamientu del sistema"
2420+
2421+#: ../aptdaemon/enums.py:211
2422+msgid "Applying software changes failed"
2423+msgstr "Falló l'aplicación de cambeos de software"
2424+
2425+#: ../aptdaemon/enums.py:212
2426+msgid "Repairing incomplete installation failed"
2427+msgstr "Falló la igua de la instalación incompleta"
2428+
2429+#: ../aptdaemon/enums.py:213
2430+msgid "Repairing broken dependencies failed"
2431+msgstr "Falló la igua de les dependencies frañaes"
2432+
2433+#: ../aptdaemon/enums.py:224 ../aptdaemon/enums.py:225
2434+msgid "Check your Internet connection."
2435+msgstr "Compruebe la so conexón a Internet."
2436+
2437+#: ../aptdaemon/enums.py:226
2438+msgid ""
2439+"Check if you are using third party repositories. If so disable them, since "
2440+"they are a common source of problems.\n"
2441+"Furthermore run the following command in a Terminal: apt-get install -f"
2442+msgstr ""
2443+"Mire a ver si ta usando repositorios de terceros. Nesi casu, desactívelos, "
2444+"porque son fonte de problemes.\n"
2445+"Darréu, executel siguiente comandu nun terminal: apt-get install -f"
2446+
2447+#: ../aptdaemon/enums.py:231
2448+msgid "The selected file may not be a GPG key file or it might be corrupt."
2449+msgstr ""
2450+"El ficheru esbilláu puede que nun seya una clave de ficheru GPG o puede que "
2451+"tea frañáu."
2452+
2453+#: ../aptdaemon/enums.py:233
2454+msgid ""
2455+"The selected key couldn't be removed Check if you provided a valid "
2456+"fingerprint."
2457+msgstr ""
2458+"Nun pudo desaniciase la clave esbillada. Compruebe si proporcionó una buelga "
2459+"dixital válida."
2460+
2461+#: ../aptdaemon/enums.py:235
2462+msgid ""
2463+"Check if you are currently running another software management tool, e.g. "
2464+"Synaptic or aptitude. Only one tool is allowed to make changes at the same "
2465+"time."
2466+msgstr ""
2467+"Compruebe si ta executando anguaño otra ferramienta de xestión de paquetes, "
2468+"p.ex. Synaptic o aptitude. Namái se permite usar una ferramienta al mesmu "
2469+"tiempu a la hora de facer cambeos."
2470+
2471+#: ../aptdaemon/enums.py:239
2472+msgid ""
2473+"This is a serious problem. Try again later. If this problem appears again, "
2474+"please report an error to the developers."
2475+msgstr ""
2476+"Esti ye un problema seriu. Inténtelo otra vegada más sero. Si'l problema "
2477+"sigui apareciendo, informe del fallu a los desendolcadores."
2478+
2479+#: ../aptdaemon/enums.py:242
2480+msgid ""
2481+"Check the spelling of the package name and if you have got enabled the "
2482+"corresponding repository."
2483+msgstr ""
2484+"Compruebe'l nome del paquete y si tien activáu el repositoriu "
2485+"correspondiente."
2486+
2487+#: ../aptdaemon/enums.py:244
2488+msgid "There isn't any need for an update."
2489+msgstr "Nun fai falta dengún anovamientu."
2490+
2491+#: ../aptdaemon/enums.py:245
2492+msgid "There isn't any need for an installation"
2493+msgstr "Nun hai necesidá d'anovar"
2494+
2495+#: ../aptdaemon/enums.py:247
2496+msgid "There isn't any need for a removal."
2497+msgstr "Nun hai necesidá d'una desinstalación."
2498+
2499+#: ../aptdaemon/enums.py:248
2500+msgid ""
2501+"You requested to remove a package which is an essential part of your system."
2502+msgstr ""
2503+"Solicitasti desinstalar un paquete que ye parte esencial del sistema."
2504+
2505+#: ../aptdaemon/enums.py:251
2506+msgid ""
2507+"The connection to the daemon was lost. Most likely the background daemon "
2508+"crashed."
2509+msgstr ""
2510+"Perdióse la conexón col degorriu. Dablemente'l degorriu de segundu planu "
2511+"dexó de furrular."
2512+
2513+#: ../aptdaemon/enums.py:253
2514+msgid "The installation or removal of a software package failed."
2515+msgstr "Falló al instalar o desinstalar un paquete de software."
2516+
2517+#: ../aptdaemon/enums.py:244
2518+msgid "This should not happen."
2519+msgstr "Esto nun tendría d'asoceder."
2520+
2521+#: ../aptdaemon/enums.py:245
2522+msgid ""
2523+"This error could be caused by required additional software packages which "
2524+"are missing or not installable. Futhermore there could be a conflict between "
2525+"software packages which are not allowed to be installed at the same time."
2526+msgstr ""
2527+"Dellos paquetes de software adicionales necesarios que falten o nun se "
2528+"pueden instalar pueden tar causando esti fallu. Amás, podría haber un "
2529+"conflictu entre los paquetes de software a los que nun se-yos permite "
2530+"instalase al tiempu."
2531+
2532+#: ../aptdaemon/enums.py:266
2533+msgid ""
2534+"The action would require the installation of packages from not authenticated "
2535+"sources."
2536+msgstr ""
2537+"La aición puede necesitar la instalación de paquetes de fontes ensin "
2538+"autenticar."
2539+
2540+#: ../aptdaemon/enums.py:269
2541+msgid ""
2542+"The installation could have failed because of an error in the corresponding "
2543+"software package or it was cancelled in an unfriendly way. You have to "
2544+"repair this before you can install or remove any further software."
2545+msgstr ""
2546+"La instalación pudo tener fallao por un fallu nos paquetes correspondientes "
2547+"de software o encaboxóse d'un mou incorreutu. Tienes d'iguar esto enantes de "
2548+"poder instalar o desaniciar cualesquier otru software."
2549+
2550+#: ../aptdaemon/enums.py:284
2551+msgid "Failed to download package files"
2552+msgstr "Falló al descargar los ficheros de paquetes"
2553+
2554+#: ../aptdaemon/enums.py:285
2555+msgid "Failed to download repository information"
2556+msgstr "Falló al descargar la información del repositoriu"
2557+
2558+#: ../aptdaemon/enums.py:286
2559+msgid "Package dependencies cannot be resolved"
2560+msgstr "Les dependencies del paquete nun pudieron iguase"
2561+
2562+#: ../aptdaemon/enums.py:287
2563+msgid "The package system is broken"
2564+msgstr "El paquete de sistema ta frañáu"
2565+
2566+#: ../aptdaemon/enums.py:288
2567+msgid "Key was not installed"
2568+msgstr "La clave nun s'instaló"
2569+
2570+#: ../aptdaemon/enums.py:289
2571+msgid "Key was not removed"
2572+msgstr "La clave nun se desanició"
2573+
2574+#: ../aptdaemon/enums.py:290
2575+msgid "Failed to lock the package manager"
2576+msgstr "Falló al bloquiar el xestor de paquetes"
2577+
2578+#: ../aptdaemon/enums.py:291
2579+msgid "Failed to load the package list"
2580+msgstr "Falló al cargar la llista de paquetes"
2581+
2582+#: ../aptdaemon/enums.py:292
2583+msgid "Package does not exist"
2584+msgstr "El paquete nun existe"
2585+
2586+#: ../aptdaemon/enums.py:293
2587+msgid "Package is already up-to-date"
2588+msgstr "El paquete yá s'anovó"
2589+
2590+#: ../aptdaemon/enums.py:294
2591+msgid "Package is already installed"
2592+msgstr "El paquete yá ta instaláu"
2593+
2594+#: ../aptdaemon/enums.py:295
2595+msgid "Package isn't installed"
2596+msgstr "El paquete nun s'instaló"
2597+
2598+#: ../aptdaemon/enums.py:296
2599+msgid "Failed to remove essential system package"
2600+msgstr "Falló al desinstalar un paquete esencial del sistema"
2601+
2602+#: ../aptdaemon/enums.py:298
2603+msgid "Task cannot be monitored or controlled"
2604+msgstr "La xera nun pudo monitorizase o controlase"
2605+
2606+#: ../aptdaemon/enums.py:299
2607+msgid "Package operation failed"
2608+msgstr "Falló la operación col paquete"
2609+
2610+#: ../aptdaemon/enums.py:300
2611+msgid "Requires installation of untrusted packages"
2612+msgstr "Requierse la instalación de paquetes non confiables"
2613+
2614+#: ../aptdaemon/enums.py:302
2615+msgid "Previous installation hasn't been completed"
2616+msgstr "Una instalación previa nun se completó"
2617+
2618+#: ../aptdaemon/enums.py:288
2619+msgid "An unknown error occurred"
2620+msgstr "Hebo un fallu desconocíu"
2621+
2622+#: ../aptdaemon/enums.py:313
2623+msgid "Waiting for service to start"
2624+msgstr "Esperando l'aniciu del serviciu"
2625+
2626+#: ../aptdaemon/enums.py:314
2627+msgid "Waiting"
2628+msgstr "Aguardando"
2629+
2630+#: ../aptdaemon/enums.py:315
2631+msgid "Waiting for required medium"
2632+msgstr "Esperando'l soporte requeríu"
2633+
2634+#: ../aptdaemon/enums.py:316
2635+msgid "Waiting for other software managers to quit"
2636+msgstr "Esperando que los demás xestores de paquetes se zarren"
2637+
2638+#: ../aptdaemon/enums.py:317
2639+msgid "Waiting for configuration file prompt"
2640+msgstr "Esperando la solicitú del ficheru de configuración"
2641+
2642+#: ../aptdaemon/enums.py:319
2643+msgid "Running task"
2644+msgstr "Executando xera"
2645+
2646+#: ../aptdaemon/enums.py:320
2647+msgid "Downloading"
2648+msgstr "Baxando"
2649+
2650+#: ../aptdaemon/enums.py:321
2651+msgid "Cleaning up"
2652+msgstr "Llimpiando"
2653+
2654+#: ../aptdaemon/enums.py:322
2655+msgid "Resolving dependencies"
2656+msgstr "Iguando dependencies"
2657+
2658+#: ../aptdaemon/enums.py:324
2659+msgid "Finished"
2660+msgstr "Fináu"
2661+
2662+#: ../aptdaemon/enums.py:325
2663+msgid "Cancelling"
2664+msgstr "Encaboxando"
2665+
2666+#: ../aptdaemon/enums.py:326
2667+msgid "Loading software list"
2668+msgstr "Cargando la llista de software"
2669+
2670+#: ../aptdaemon/gtkwidgets.py:297
2671+#, python-format
2672+msgid "Downloaded %sB of %sB at %sB/s"
2673+msgstr "Descargando %sB de %sB a %sB/s"
2674+
2675+#: ../aptdaemon/gtkwidgets.py:302 ../aptdaemon/gtkwidgets.py:491
2676+#, python-format
2677+msgid "Downloaded %sB of %sB"
2678+msgstr "Descargando %sB de %sB"
2679+
2680+#: ../aptdaemon/gtkwidgets.py:314
2681+msgid "Details"
2682+msgstr "Detalles"
2683+
2684+#. TRANSLATORS: %s represents the name of a CD or DVD
2685+#: ../aptdaemon/gtkwidgets.py:776
2686+#, python-format
2687+msgid "CD/DVD '%s' is required"
2688+msgstr "Necesítase'l CD/DVD «%s»"
2689+
2690+#. TRANSLATORS: %s is the name of the CD/DVD drive
2691+#: ../aptdaemon/gtkwidgets.py:778
2692+#, python-format
2693+msgid ""
2694+"Please insert the above CD/DVD into the drive '%s' to install software "
2695+"packages from the medium."
2696+msgstr ""
2697+"Meti'l CD/DVD anterior na unidá «%s» pa instalar paquetes de software "
2698+"dende'l sofitu."
2699+
2700+#: ../aptdaemon/gtkwidgets.py:782 ../aptdaemon/gtkwidgets.py:802
2701+msgid "C_ontinue"
2702+msgstr "_Continuar"
2703+
2704+#. TRANSLATORS: %s is a file path
2705+#: ../aptdaemon/gtkwidgets.py:966
2706+#, python-format
2707+msgid ""
2708+"Replace your changes in '%s' with a later version of the configuration file?"
2709+msgstr ""
2710+"¿Trocar los tos cambeos en «%s» cola cabera versión del ficheru de "
2711+"configuración?"
2712+
2713+#: ../aptdaemon/gtkwidgets.py:968
2714+msgid ""
2715+"If you don't know why the file is there already, it is usually safe to "
2716+"replace it."
2717+msgstr ""
2718+"Si nun sabes por qué'l ficheru yá ta ellí, xeneralmente ye seguro trocalu."
2719+
2720+#: ../aptdaemon/gtkwidgets.py:977
2721+msgid "_Changes"
2722+msgstr "_Cambeos"
2723+
2724+#: ../aptdaemon/gtkwidgets.py:980
2725+msgid "_Keep"
2726+msgstr "_Caltener"
2727+
2728+#: ../aptdaemon/gtkwidgets.py:981
2729+msgid "_Replace"
2730+msgstr "_Trocar"
2731+
2732+#. TRANSLATORS: expander label in the error dialog
2733+#: ../aptdaemon/gtkwidgets.py:1072
2734+msgid "_Details"
2735+msgstr "_Detalles"
2736+
2737+#: ../aptdaemon/progress.py:46
2738+#, python-format
2739+msgid "Installing %s"
2740+msgstr "Instalando %s"
2741+
2742+#: ../aptdaemon/progress.py:47
2743+#, python-format
2744+msgid "Configuring %s"
2745+msgstr "Configurando %s"
2746+
2747+#: ../aptdaemon/progress.py:48
2748+#, python-format
2749+msgid "Removing %s"
2750+msgstr "Desaniciando %s"
2751+
2752+#: ../aptdaemon/progress.py:49
2753+#, python-format
2754+msgid "Running post-installation trigger %s"
2755+msgstr "Executando activador de post-instalación de %s"
2756+
2757+#: ../aptdaemon/progress.py:50
2758+#, python-format
2759+msgid "Purging %s"
2760+msgstr "Purgando %s"
2761+
2762+#: ../aptdaemon/progress.py:51
2763+#, python-format
2764+msgid "Upgrading %s"
2765+msgstr "Anovando %s"
2766+
2767+#: ../aptdaemon/progress.py:142
2768+#, python-format
2769+msgid "Downloading %s"
2770+msgstr "Descargando %s"
2771+
2772+#~ msgid "There isn't any need for a system update"
2773+#~ msgstr "Nun hai necesidá d'un anovamientu del sistema"
2774+
2775+#~ msgid "It was not possible to install the latest for all packages."
2776+#~ msgstr "Nun se pudo instalar lo último pa tolos paquetes."
2777+
2778+#~ msgid "Waiting for other tasks"
2779+#~ msgstr "Esperando a otres xeres"
2780+
2781+#~ msgid "System is already up-to-date"
2782+#~ msgstr "El sistema yá ta anováu"
2783+
2784+#~ msgid "System is not up-to-date"
2785+#~ msgstr "El sistema nun ta anováu"
2786+
2787+#, python-format
2788+#~ msgid "Configuration file '%s' changed"
2789+#~ msgstr "Cambióse'l ficheru de configuración «%s»"
2790+
2791+#~ msgid "Do you want to use the new version?"
2792+#~ msgstr "¿Quier usar la nueva versión?"
2793
2794=== added file '.pc/06_rosetta_po_update.patch/po/be.po'
2795--- .pc/06_rosetta_po_update.patch/po/be.po 1970-01-01 00:00:00 +0000
2796+++ .pc/06_rosetta_po_update.patch/po/be.po 2010-09-18 12:31:06 +0000
2797@@ -0,0 +1,594 @@
2798+# Belarusian translation for aptdaemon
2799+# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009
2800+# This file is distributed under the same license as the aptdaemon package.
2801+# FIRST AUTHOR <EMAIL@ADDRESS>, 2009.
2802+#
2803+msgid ""
2804+msgstr ""
2805+"Project-Id-Version: aptdaemon\n"
2806+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
2807+"POT-Creation-Date: 2010-04-17 06:42+0000\n"
2808+"PO-Revision-Date: 2010-07-03 15:36+0000\n"
2809+"Last-Translator: Iryna Nikanchuk <defragbrain@gmail.com>\n"
2810+"Language-Team: Belarusian <be@li.org>\n"
2811+"MIME-Version: 1.0\n"
2812+"Content-Type: text/plain; charset=UTF-8\n"
2813+"Content-Transfer-Encoding: 8bit\n"
2814+"X-Launchpad-Export-Date: 2010-07-15 07:12+0000\n"
2815+"X-Generator: Launchpad (build Unknown)\n"
2816+
2817+#: ../data/org.debian.apt.policy.in.h:1
2818+msgid ""
2819+"Authentication is required to cancel the package management taks of another "
2820+"user."
2821+msgstr ""
2822+"Для адмены задач кіраваньня пакетамі іншага карыстальніка патрэбна "
2823+"аўтарызацыя."
2824+
2825+#: ../data/org.debian.apt.policy.in.h:2
2826+msgid "Authentication is required to install a local package file."
2827+msgstr "Для ўсталёўкі лякальнага пакета патрэбна аўтарызацыя."
2828+
2829+#: ../data/org.debian.apt.policy.in.h:3
2830+msgid "Authentication is required to install software packages"
2831+msgstr "Патрабуецца аўтарызацыя, каб усталяваць праграмнае забесьпячэньне"
2832+
2833+#: ../data/org.debian.apt.policy.in.h:4
2834+msgid ""
2835+"Authentication is required to query the software repositories for "
2836+"installable packages"
2837+msgstr ""
2838+"Для запыта рэпазыторыя аб наяўнасьці ўсталёўваемых пакетаў патрабуецца "
2839+"аўтарызацыя."
2840+
2841+#: ../data/org.debian.apt.policy.in.h:5
2842+msgid "Authentication is required to remove software packages"
2843+msgstr "Патрабуецца аўтарызацыя, каб выдаліць праграмнае забесьпячэньне"
2844+
2845+#: ../data/org.debian.apt.policy.in.h:6
2846+msgid "Authentication is required to repair broken installations"
2847+msgstr "Неабходна аўтэнтыфікацыя для выпраўленьня няўдалай усталёўкі"
2848+
2849+#: ../data/org.debian.apt.policy.in.h:7
2850+msgid "Authentication is required to upgrade software packages"
2851+msgstr "Патрабуецца аўтарызацыя, каб абнавіць праграмнае забесьпячэньне"
2852+
2853+#: ../data/org.debian.apt.policy.in.h:8
2854+msgid "Authentication is required to upgrade the system"
2855+msgstr "Патрабуецца аўтарызацыя, каб абнавіць сыстэму"
2856+
2857+#: ../data/org.debian.apt.policy.in.h:9
2858+msgid "Cancel the task of another user"
2859+msgstr "Скасаваць заданьне іншага карыстальніка"
2860+
2861+#: ../data/org.debian.apt.policy.in.h:10
2862+msgid "Install package file"
2863+msgstr "Усталёўка файла пакета"
2864+
2865+#: ../data/org.debian.apt.policy.in.h:11
2866+msgid "Install packages"
2867+msgstr "Усталяваць пакеты"
2868+
2869+#: ../data/org.debian.apt.policy.in.h:12
2870+msgid "Remove packages"
2871+msgstr "Выдаліць пакеты"
2872+
2873+#: ../data/org.debian.apt.policy.in.h:13
2874+msgid "Repair broken installations"
2875+msgstr "Выправіць няўдалыя ўсталёўкі"
2876+
2877+#: ../data/org.debian.apt.policy.in.h:14
2878+msgid "Update package information"
2879+msgstr "Зьвесткі пра абнаўленьне"
2880+
2881+#: ../data/org.debian.apt.policy.in.h:15
2882+msgid "Upgrade packages"
2883+msgstr "Абнаўленьне пакетаў"
2884+
2885+#: ../data/org.debian.apt.policy.in.h:16
2886+msgid "Upgrade system"
2887+msgstr "Абнавіць сыстэму"
2888+
2889+#: ../aptdaemon/core.py:1426
2890+msgid "Do not shutdown the daemon because of inactivity"
2891+msgstr "Ня выключайце дэмана з-за яго неактыўнасьці"
2892+
2893+#: ../aptdaemon/core.py:1431
2894+msgid "Show internal processing information"
2895+msgstr "Паказваць інфармацыю аб унутранай апрацоўке"
2896+
2897+#: ../aptdaemon/core.py:1435
2898+msgid "Quit and replace an already running daemon"
2899+msgstr "Выйсьці і замяніць ужо запушчаны дэман"
2900+
2901+#: ../aptdaemon/core.py:1439
2902+msgid "Store profile stats in the specified file"
2903+msgstr "Захоўваць статыстыку ў пазначаным файле"
2904+
2905+#: ../aptdaemon/core.py:1443
2906+msgid "Do not make any changes to the system (Only of use to developers)"
2907+msgstr ""
2908+"Не рабіце ніякіх зьменаў у сыстэме (Толькі для выкарыстаньня "
2909+"распрацоўшчыкамі)"
2910+
2911+#: ../aptdaemon/enums.py:147
2912+msgid "Installed file"
2913+msgstr "Усталяваны файл"
2914+
2915+#: ../aptdaemon/enums.py:148
2916+msgid "Installed packages"
2917+msgstr "Усталяваныя пакеты"
2918+
2919+#: ../aptdaemon/enums.py:149
2920+msgid "Added key from file"
2921+msgstr "Дададзены ключ з файла"
2922+
2923+#: ../aptdaemon/enums.py:150
2924+msgid "Updated cache"
2925+msgstr "Кэш абноўлены"
2926+
2927+#: ../aptdaemon/enums.py:151
2928+msgid "Removed trusted key"
2929+msgstr "Давяральны ключ выдалены"
2930+
2931+#: ../aptdaemon/enums.py:152
2932+msgid "Removed packages"
2933+msgstr "Выдаленыя пакеты"
2934+
2935+#: ../aptdaemon/enums.py:153
2936+msgid "Updated packages"
2937+msgstr "Абноўленыя пакеты"
2938+
2939+#: ../aptdaemon/enums.py:154
2940+msgid "Upgraded system"
2941+msgstr "Абноўленая сыстэма"
2942+
2943+#: ../aptdaemon/enums.py:155
2944+msgid "Applied changes"
2945+msgstr "Ужытыя зьмены"
2946+
2947+#: ../aptdaemon/enums.py:156
2948+msgid "Repaired incomplete installation"
2949+msgstr "Выпраўлена няскончаная ўсталёўка"
2950+
2951+#: ../aptdaemon/enums.py:157
2952+msgid "Repaired broken dependencies"
2953+msgstr "Выпраўлены зламаныя залежнасьці"
2954+
2955+#: ../aptdaemon/enums.py:168
2956+msgid "Successful"
2957+msgstr "Пасьпяхова"
2958+
2959+#: ../aptdaemon/enums.py:169
2960+msgid "Canceled"
2961+msgstr "Скасавана"
2962+
2963+#: ../aptdaemon/enums.py:170 ../aptdaemon/enums.py:344
2964+msgid "Failed"
2965+msgstr "Памылка"
2966+
2967+#: ../aptdaemon/enums.py:180
2968+msgid "Installing file"
2969+msgstr "Усталёўка файла"
2970+
2971+#: ../aptdaemon/enums.py:181
2972+msgid "Installing packages"
2973+msgstr "Усталёўка пакетаў"
2974+
2975+#: ../aptdaemon/enums.py:182
2976+msgid "Adding key from file"
2977+msgstr "Дабаўленьне ключа з файлу"
2978+
2979+#: ../aptdaemon/enums.py:183
2980+msgid "Updating cache"
2981+msgstr "Абнаўленьне кэша"
2982+
2983+#: ../aptdaemon/enums.py:184
2984+msgid "Removing trusted key"
2985+msgstr "Выдаленьне даверанага ключа"
2986+
2987+#: ../aptdaemon/enums.py:185
2988+msgid "Removing packages"
2989+msgstr "Выдаленьне пакетаў"
2990+
2991+#: ../aptdaemon/enums.py:186
2992+msgid "Updating packages"
2993+msgstr "Абнаўленьне пакетаў"
2994+
2995+#: ../aptdaemon/enums.py:187
2996+msgid "Upgrading system"
2997+msgstr "Абнаўленьне сыстэмы"
2998+
2999+#: ../aptdaemon/enums.py:188 ../aptdaemon/enums.py:323
3000+msgid "Applying changes"
3001+msgstr "Зьдзяйсьненьне зьменаў"
3002+
3003+#: ../aptdaemon/enums.py:189
3004+msgid "Repairing incomplete installation"
3005+msgstr "Выпраўленьне няскончанай усталёўкі"
3006+
3007+#: ../aptdaemon/enums.py:190
3008+msgid "Repairing broken deps"
3009+msgstr "Выпраўленьне зламаных залежнасьцяў"
3010+
3011+#: ../aptdaemon/enums.py:201
3012+msgid "Installation of the package file failed"
3013+msgstr "Усталёўка пакета схібіла"
3014+
3015+#: ../aptdaemon/enums.py:202
3016+msgid "Installation of software failed"
3017+msgstr "Усталёўка дастасаваньня схібіла"
3018+
3019+#: ../aptdaemon/enums.py:203
3020+msgid "Adding the key to the list of trused software vendors failed"
3021+msgstr "Дадаваньне ключа да сьпісу давераных пастаўшчыкоў праграм схібіла"
3022+
3023+#: ../aptdaemon/enums.py:205
3024+msgid "Refreshing the software list failed"
3025+msgstr "Абнаўленьне сьпіса дастасаваньняў схібіла"
3026+
3027+#: ../aptdaemon/enums.py:206
3028+msgid "Removing the vendor from the list of trusted ones failed"
3029+msgstr "Выдаленьне пастаўшчыка са сьпісу давераных схібіла"
3030+
3031+#: ../aptdaemon/enums.py:208
3032+msgid "Removing software failed"
3033+msgstr "Выдаленьне дастасаваньня схібіла"
3034+
3035+#: ../aptdaemon/enums.py:209
3036+msgid "Updating software failed"
3037+msgstr "Абнаўленьне дастасаваньня схібіла"
3038+
3039+#: ../aptdaemon/enums.py:210
3040+msgid "Upgrading the system failed"
3041+msgstr "Абнаўленьне сыстэмы схібіла"
3042+
3043+#: ../aptdaemon/enums.py:211
3044+msgid "Applying software changes failed"
3045+msgstr "Ужываньне зьменаў дастасаваньня схібіла"
3046+
3047+#: ../aptdaemon/enums.py:212
3048+msgid "Repairing incomplete installation failed"
3049+msgstr "Выправіць няскончаную ўсталёўку не атрымалася"
3050+
3051+#: ../aptdaemon/enums.py:213
3052+msgid "Repairing broken dependencies failed"
3053+msgstr "Выправіць зламаныя залежнасьці не атрымалася"
3054+
3055+#: ../aptdaemon/enums.py:224 ../aptdaemon/enums.py:225
3056+msgid "Check your Internet connection."
3057+msgstr "Праверце вашае спалучэньне з Інтэрнэтам."
3058+
3059+#: ../aptdaemon/enums.py:226
3060+msgid ""
3061+"Check if you are using third party repositories. If so disable them, since "
3062+"they are a common source of problems.\n"
3063+"Furthermore run the following command in a Terminal: apt-get install -f"
3064+msgstr ""
3065+"Калі Вы выкарыстоўваеце пабочныя крыніцы дастасаваньняў, адключыце іх, бо "
3066+"яны з'яўляюцца частай\n"
3067+"крыніцай праблем. Пасьля гэтага выканайце ў тэрмінале наступную каманду: apt-"
3068+"get install -f"
3069+
3070+#: ../aptdaemon/enums.py:231
3071+msgid "The selected file may not be a GPG key file or it might be corrupt."
3072+msgstr "Выбраны файл можа быць пашкоджаны, альбо не зьяўляецца ключом PGP."
3073+
3074+#: ../aptdaemon/enums.py:233
3075+msgid ""
3076+"The selected key couldn't be removed Check if you provided a valid "
3077+"fingerprint."
3078+msgstr ""
3079+"Абраны ключ ня можа быць выдалены. Праверце, калі ласка, правільнасьць "
3080+"прадастаўленага адбітка ключа."
3081+
3082+#: ../aptdaemon/enums.py:235
3083+msgid ""
3084+"Check if you are currently running another software management tool, e.g. "
3085+"Synaptic or aptitude. Only one tool is allowed to make changes at the same "
3086+"time."
3087+msgstr ""
3088+"Упэўніцеся, што не запушчаны іншыя сродкі кіраваньня дастасаваньнямі, такія "
3089+"як Synaptic або aptitude. Адначасова можа працаваць толькі адна прылада."
3090+
3091+#: ../aptdaemon/enums.py:239
3092+msgid ""
3093+"This is a serious problem. Try again later. If this problem appears again, "
3094+"please report an error to the developers."
3095+msgstr ""
3096+"Гэта сур'ёзная праблема. Паспрабуйце паўтарыць пазьней. Калі праблема "
3097+"ўзьнікае зноў, калі ласка, адпраўце справаздачу аб памылке распрацоўшчыкам."
3098+
3099+#: ../aptdaemon/enums.py:242
3100+msgid ""
3101+"Check the spelling of the package name and if you have got enabled the "
3102+"corresponding repository."
3103+msgstr ""
3104+"Праверце правільнасьць напісаньня назвы пакета і наяўнасьць яго ў адпаведным "
3105+"рэпазыторыі."
3106+
3107+#: ../aptdaemon/enums.py:244
3108+msgid "There isn't any need for an update."
3109+msgstr "Няма неабходнасьці абнаўленьня."
3110+
3111+#: ../aptdaemon/enums.py:245
3112+msgid "There isn't any need for an installation"
3113+msgstr "Няма неабходнасьці ўсталёўкі."
3114+
3115+#: ../aptdaemon/enums.py:247
3116+msgid "There isn't any need for a removal."
3117+msgstr "Няма неабходнасьці выдаленьня."
3118+
3119+#: ../aptdaemon/enums.py:248
3120+msgid ""
3121+"You requested to remove a package which is an essential part of your system."
3122+msgstr ""
3123+"Вы запыталі выдаленьне пакета, які з'яўляецца неад'емнай часткай вашае "
3124+"сыстэмы."
3125+
3126+#: ../aptdaemon/enums.py:251
3127+msgid ""
3128+"The connection to the daemon was lost. Most likely the background daemon "
3129+"crashed."
3130+msgstr ""
3131+"Сувязь з дэманам страчана. Хутчэй за ўсё, яго праца нечакана скончылася."
3132+
3133+#: ../aptdaemon/enums.py:253
3134+msgid "The installation or removal of a software package failed."
3135+msgstr "Усталёўка або выдаленьне пакетаў схібіла."
3136+
3137+#: ../aptdaemon/enums.py:244
3138+msgid "This should not happen."
3139+msgstr "Гэта не павінна здарацца."
3140+
3141+#: ../aptdaemon/enums.py:245
3142+msgid ""
3143+"This error could be caused by required additional software packages which "
3144+"are missing or not installable. Futhermore there could be a conflict between "
3145+"software packages which are not allowed to be installed at the same time."
3146+msgstr ""
3147+"Гэта памылка здараецца ў выпадку неабходнасьці ва ўсталёўке дадатковых "
3148+"пакетаў, якія не існуюць, альбо іх немагчыма ўсталяваць. Таксама, гэта можа "
3149+"быць канфлікт паміж пакетамі, якія ня могуць быць усталяваны адначасова."
3150+
3151+#: ../aptdaemon/enums.py:266
3152+msgid ""
3153+"The action would require the installation of packages from not authenticated "
3154+"sources."
3155+msgstr "Дзеяньне патрабуе ўсталёўкі пакетаў з недавераных крыніц."
3156+
3157+#: ../aptdaemon/enums.py:269
3158+msgid ""
3159+"The installation could have failed because of an error in the corresponding "
3160+"software package or it was cancelled in an unfriendly way. You have to "
3161+"repair this before you can install or remove any further software."
3162+msgstr ""
3163+"Усталёўка магла прайсьці няўдала з-за памылкі ў адпаведным праграмным "
3164+"пакеце, альбо была няправільна спыненая. Вам варта выправіць гэта перш чым "
3165+"усталёўваць ці выдаляць іншыя праграмы."
3166+
3167+#: ../aptdaemon/enums.py:284
3168+msgid "Failed to download package files"
3169+msgstr "Памылка загрузкі файлаў пакета"
3170+
3171+#: ../aptdaemon/enums.py:285
3172+msgid "Failed to download repository information"
3173+msgstr "Памылка пры загрузке інфармацыі аб крыніцах дастасаваньняў."
3174+
3175+#: ../aptdaemon/enums.py:286
3176+msgid "Package dependencies cannot be resolved"
3177+msgstr "Залежнасьці пакета ня могуць быць задаволены."
3178+
3179+#: ../aptdaemon/enums.py:287
3180+msgid "The package system is broken"
3181+msgstr "Сыстэма пакетаў пашкоджана."
3182+
3183+#: ../aptdaemon/enums.py:288
3184+msgid "Key was not installed"
3185+msgstr "Ключ ня быў усталяваны"
3186+
3187+#: ../aptdaemon/enums.py:289
3188+msgid "Key was not removed"
3189+msgstr "Ключ быў ня выдалены"
3190+
3191+#: ../aptdaemon/enums.py:290
3192+msgid "Failed to lock the package manager"
3193+msgstr "Немагчыма заблякаваць кіраўнік пакетаў."
3194+
3195+#: ../aptdaemon/enums.py:291
3196+msgid "Failed to load the package list"
3197+msgstr "Ня ўдалося загрузіць сьпіс пакетаў"
3198+
3199+#: ../aptdaemon/enums.py:292
3200+msgid "Package does not exist"
3201+msgstr "Пакет не існуе"
3202+
3203+#: ../aptdaemon/enums.py:293
3204+msgid "Package is already up-to-date"
3205+msgstr "Пакет ужо абноўлены"
3206+
3207+#: ../aptdaemon/enums.py:294
3208+msgid "Package is already installed"
3209+msgstr "Пакет ужо ўсталяваны"
3210+
3211+#: ../aptdaemon/enums.py:295
3212+msgid "Package isn't installed"
3213+msgstr "Пакет не ўсталяваны"
3214+
3215+#: ../aptdaemon/enums.py:296
3216+msgid "Failed to remove essential system package"
3217+msgstr "Памылка пры выдаленьні важнага сыстэмнага пакета"
3218+
3219+#: ../aptdaemon/enums.py:298
3220+msgid "Task cannot be monitored or controlled"
3221+msgstr "Заданьне ня можа быць пракантралявана"
3222+
3223+#: ../aptdaemon/enums.py:299
3224+msgid "Package operation failed"
3225+msgstr "Памылка пакетнай апэрацыі"
3226+
3227+#: ../aptdaemon/enums.py:300
3228+msgid "Requires installation of untrusted packages"
3229+msgstr "Патрабуецца ўсталёўка ненадзейных пакетаў"
3230+
3231+#: ../aptdaemon/enums.py:302
3232+msgid "Previous installation hasn't been completed"
3233+msgstr "Папярэдняя ўстаноўка не была скончаная"
3234+
3235+#: ../aptdaemon/enums.py:288
3236+msgid "An unknown error occurred"
3237+msgstr "Узьнікла невядомая памылка"
3238+
3239+#: ../aptdaemon/enums.py:313
3240+msgid "Waiting for service to start"
3241+msgstr "Чаканьне запуска службы"
3242+
3243+#: ../aptdaemon/enums.py:314
3244+msgid "Waiting"
3245+msgstr "Чаканьне"
3246+
3247+#: ../aptdaemon/enums.py:315
3248+msgid "Waiting for required medium"
3249+msgstr "Чаканьне патрабуемага носьбіта інфармацыі"
3250+
3251+#: ../aptdaemon/enums.py:316
3252+msgid "Waiting for other software managers to quit"
3253+msgstr ""
3254+"Чаканьне сканчэньня працы іншых кіраўнікоў праграмнага забесьпячэньня"
3255+
3256+#: ../aptdaemon/enums.py:317
3257+msgid "Waiting for configuration file prompt"
3258+msgstr "Чаканьне запыта канфігурацыйнага файла"
3259+
3260+#: ../aptdaemon/enums.py:319
3261+msgid "Running task"
3262+msgstr "Запуск заданьня"
3263+
3264+#: ../aptdaemon/enums.py:320
3265+msgid "Downloading"
3266+msgstr "Сьцягваньне"
3267+
3268+#: ../aptdaemon/enums.py:321
3269+msgid "Cleaning up"
3270+msgstr "Ачышчэньне"
3271+
3272+#: ../aptdaemon/enums.py:322
3273+msgid "Resolving dependencies"
3274+msgstr "Вырашэньне залежнасьцей"
3275+
3276+#: ../aptdaemon/enums.py:324
3277+msgid "Finished"
3278+msgstr "Скончана"
3279+
3280+#: ../aptdaemon/enums.py:325
3281+msgid "Cancelling"
3282+msgstr "Скасавана"
3283+
3284+#: ../aptdaemon/enums.py:326
3285+msgid "Loading software list"
3286+msgstr "Загрузка сьпіса дастасаваньняў"
3287+
3288+#: ../aptdaemon/gtkwidgets.py:297
3289+#, python-format
3290+msgid "Downloaded %sB of %sB at %sB/s"
3291+msgstr "Загружана %sB з %sB на хуткасьці %sB/s"
3292+
3293+#: ../aptdaemon/gtkwidgets.py:302 ../aptdaemon/gtkwidgets.py:491
3294+#, python-format
3295+msgid "Downloaded %sB of %sB"
3296+msgstr "Загружана %sB з %sB"
3297+
3298+#: ../aptdaemon/gtkwidgets.py:314
3299+msgid "Details"
3300+msgstr "Падрабязнасьці"
3301+
3302+#. TRANSLATORS: %s represents the name of a CD or DVD
3303+#: ../aptdaemon/gtkwidgets.py:776
3304+#, python-format
3305+msgid "CD/DVD '%s' is required"
3306+msgstr "Патрабуецца наяўнасьць CD/DVD «%s»"
3307+
3308+#. TRANSLATORS: %s is the name of the CD/DVD drive
3309+#: ../aptdaemon/gtkwidgets.py:778
3310+#, python-format
3311+msgid ""
3312+"Please insert the above CD/DVD into the drive '%s' to install software "
3313+"packages from the medium."
3314+msgstr "Калі ласка, устаўце ў дыскавод CD/DVD «%s» для ўсталёўкі пакетаў"
3315+
3316+#: ../aptdaemon/gtkwidgets.py:782 ../aptdaemon/gtkwidgets.py:802
3317+msgid "C_ontinue"
3318+msgstr "Пра_цягнуць"
3319+
3320+#. TRANSLATORS: %s is a file path
3321+#: ../aptdaemon/gtkwidgets.py:966
3322+#, python-format
3323+msgid ""
3324+"Replace your changes in '%s' with a later version of the configuration file?"
3325+msgstr "Замяніць файл «%s» з унесенымі Вамі зьменамі больш позьняй вэрсыяй?"
3326+
3327+#: ../aptdaemon/gtkwidgets.py:968
3328+msgid ""
3329+"If you don't know why the file is there already, it is usually safe to "
3330+"replace it."
3331+msgstr ""
3332+"Калі Вы ня ведаеце, навошта быў створаны гэты файл, то хутчэй за ўсё яго "
3333+"можна будзе бясьпечна замяніць."
3334+
3335+#: ../aptdaemon/gtkwidgets.py:977
3336+msgid "_Changes"
3337+msgstr "_Зьмены"
3338+
3339+#: ../aptdaemon/gtkwidgets.py:980
3340+msgid "_Keep"
3341+msgstr "_Пакінуць"
3342+
3343+#: ../aptdaemon/gtkwidgets.py:981
3344+msgid "_Replace"
3345+msgstr "_Замяніць"
3346+
3347+#. TRANSLATORS: expander label in the error dialog
3348+#: ../aptdaemon/gtkwidgets.py:1072
3349+msgid "_Details"
3350+msgstr "_Падрабязнасьці"
3351+
3352+#: ../aptdaemon/progress.py:46
3353+#, python-format
3354+msgid "Installing %s"
3355+msgstr "Устаноўка %s"
3356+
3357+#: ../aptdaemon/progress.py:47
3358+#, python-format
3359+msgid "Configuring %s"
3360+msgstr "Канфігураваньне %s"
3361+
3362+#: ../aptdaemon/progress.py:48
3363+#, python-format
3364+msgid "Removing %s"
3365+msgstr "Выдаленьне %s"
3366+
3367+#: ../aptdaemon/progress.py:49
3368+#, python-format
3369+msgid "Running post-installation trigger %s"
3370+msgstr "Выконваецца пасьляўсталёвачны трыгер %s"
3371+
3372+#: ../aptdaemon/progress.py:50
3373+#, python-format
3374+msgid "Purging %s"
3375+msgstr "Ачыстка %s"
3376+
3377+#: ../aptdaemon/progress.py:51
3378+#, python-format
3379+msgid "Upgrading %s"
3380+msgstr "Абнаўленьне %s"
3381+
3382+#: ../aptdaemon/progress.py:142
3383+#, python-format
3384+msgid "Downloading %s"
3385+msgstr "Сьцягваньне %s"
3386+
3387+#~ msgid "System is already up-to-date"
3388+#~ msgstr "Сыстэма ўжо абноўленая"
3389+
3390+#~ msgid "System is not up-to-date"
3391+#~ msgstr "Сыстэма не абноўленая"
3392
3393=== added file '.pc/06_rosetta_po_update.patch/po/bg.po'
3394--- .pc/06_rosetta_po_update.patch/po/bg.po 1970-01-01 00:00:00 +0000
3395+++ .pc/06_rosetta_po_update.patch/po/bg.po 2010-09-18 12:31:06 +0000
3396@@ -0,0 +1,606 @@
3397+# Bulgarian translation for aptdaemon
3398+# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009
3399+# This file is distributed under the same license as the aptdaemon package.
3400+# FIRST AUTHOR <EMAIL@ADDRESS>, 2009.
3401+#
3402+msgid ""
3403+msgstr ""
3404+"Project-Id-Version: aptdaemon\n"
3405+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
3406+"POT-Creation-Date: 2010-04-17 06:42+0000\n"
3407+"PO-Revision-Date: 2010-03-29 21:21+0000\n"
3408+"Last-Translator: Boyan Sotirov <lz1dsb@abv.bg>\n"
3409+"Language-Team: Bulgarian <bg@li.org>\n"
3410+"MIME-Version: 1.0\n"
3411+"Content-Type: text/plain; charset=UTF-8\n"
3412+"Content-Transfer-Encoding: 8bit\n"
3413+"X-Launchpad-Export-Date: 2010-07-15 07:12+0000\n"
3414+"X-Generator: Launchpad (build Unknown)\n"
3415+
3416+#: ../data/org.debian.apt.policy.in.h:1
3417+msgid ""
3418+"Authentication is required to cancel the package management taks of another "
3419+"user."
3420+msgstr ""
3421+"Необходимо е да се идентифицирате, за да откажете управлението на пакети на "
3422+"друг потребител."
3423+
3424+#: ../data/org.debian.apt.policy.in.h:2
3425+msgid "Authentication is required to install a local package file."
3426+msgstr ""
3427+"За инсталирането на локален файл пакет е необходимо да се идентифицирате."
3428+
3429+#: ../data/org.debian.apt.policy.in.h:3
3430+msgid "Authentication is required to install software packages"
3431+msgstr "За инсталиране на пакети е необходимо идентифициране"
3432+
3433+#: ../data/org.debian.apt.policy.in.h:4
3434+msgid ""
3435+"Authentication is required to query the software repositories for "
3436+"installable packages"
3437+msgstr ""
3438+"За проверка на хранилищата за пакети е необходимо да се идентифицирате"
3439+
3440+#: ../data/org.debian.apt.policy.in.h:5
3441+msgid "Authentication is required to remove software packages"
3442+msgstr "За премахване на пакети е необходимо да се идентифицирате"
3443+
3444+#: ../data/org.debian.apt.policy.in.h:6
3445+msgid "Authentication is required to repair broken installations"
3446+msgstr "Идентификация е необходима за поправка на повредени инсталации"
3447+
3448+#: ../data/org.debian.apt.policy.in.h:7
3449+msgid "Authentication is required to upgrade software packages"
3450+msgstr "За надграждане на софтуерни пакети е необходимо да се идентифицирате"
3451+
3452+#: ../data/org.debian.apt.policy.in.h:8
3453+msgid "Authentication is required to upgrade the system"
3454+msgstr "За надграждане на системата е необходимо да се идентифициране"
3455+
3456+#: ../data/org.debian.apt.policy.in.h:9
3457+msgid "Cancel the task of another user"
3458+msgstr "Отказване на задачата на друг потребител"
3459+
3460+#: ../data/org.debian.apt.policy.in.h:10
3461+msgid "Install package file"
3462+msgstr "Инсталиране на файл пакет"
3463+
3464+#: ../data/org.debian.apt.policy.in.h:11
3465+msgid "Install packages"
3466+msgstr "Инсталиране на пакети"
3467+
3468+#: ../data/org.debian.apt.policy.in.h:12
3469+msgid "Remove packages"
3470+msgstr "Премахване на пакети"
3471+
3472+#: ../data/org.debian.apt.policy.in.h:13
3473+msgid "Repair broken installations"
3474+msgstr "Поправка на повредени инсталации"
3475+
3476+#: ../data/org.debian.apt.policy.in.h:14
3477+msgid "Update package information"
3478+msgstr "Актуализиране на информацията за пакетите"
3479+
3480+#: ../data/org.debian.apt.policy.in.h:15
3481+msgid "Upgrade packages"
3482+msgstr "Пакети за надграждане"
3483+
3484+#: ../data/org.debian.apt.policy.in.h:16
3485+msgid "Upgrade system"
3486+msgstr "Надграждане на системата"
3487+
3488+#: ../aptdaemon/core.py:1426
3489+msgid "Do not shutdown the daemon because of inactivity"
3490+msgstr "Не спирайте демона заради неактивност"
3491+
3492+#: ../aptdaemon/core.py:1431
3493+msgid "Show internal processing information"
3494+msgstr "Показване на вътрешна информация за обработка"
3495+
3496+#: ../aptdaemon/core.py:1435
3497+msgid "Quit and replace an already running daemon"
3498+msgstr "Спиране и заменяне на вече работещ демон"
3499+
3500+#: ../aptdaemon/core.py:1439
3501+msgid "Store profile stats in the specified file"
3502+msgstr "Запазване на статистики за профила в упоменатия файл"
3503+
3504+#: ../aptdaemon/core.py:1443
3505+msgid "Do not make any changes to the system (Only of use to developers)"
3506+msgstr "Без промени по системата (От полза само за разработчици)"
3507+
3508+#: ../aptdaemon/enums.py:147
3509+msgid "Installed file"
3510+msgstr "Инсталиран файл"
3511+
3512+#: ../aptdaemon/enums.py:148
3513+msgid "Installed packages"
3514+msgstr "Инсталирани пакети"
3515+
3516+#: ../aptdaemon/enums.py:149
3517+msgid "Added key from file"
3518+msgstr "Добавен ключ от файл"
3519+
3520+#: ../aptdaemon/enums.py:150
3521+msgid "Updated cache"
3522+msgstr "Актуализиран кеш"
3523+
3524+#: ../aptdaemon/enums.py:151
3525+msgid "Removed trusted key"
3526+msgstr "Премахнат доверен ключ"
3527+
3528+#: ../aptdaemon/enums.py:152
3529+msgid "Removed packages"
3530+msgstr "Премахнати пакети"
3531+
3532+#: ../aptdaemon/enums.py:153
3533+msgid "Updated packages"
3534+msgstr "Обновени пакети"
3535+
3536+#: ../aptdaemon/enums.py:154
3537+msgid "Upgraded system"
3538+msgstr "Надградена система"
3539+
3540+#: ../aptdaemon/enums.py:155
3541+msgid "Applied changes"
3542+msgstr "Приложени промени"
3543+
3544+#: ../aptdaemon/enums.py:156
3545+msgid "Repaired incomplete installation"
3546+msgstr "Поправена непълна инсталация"
3547+
3548+#: ../aptdaemon/enums.py:157
3549+msgid "Repaired broken dependencies"
3550+msgstr "Поправени повредени зависимости"
3551+
3552+#: ../aptdaemon/enums.py:168
3553+msgid "Successful"
3554+msgstr "Успешно"
3555+
3556+#: ../aptdaemon/enums.py:169
3557+msgid "Canceled"
3558+msgstr "Отменено"
3559+
3560+#: ../aptdaemon/enums.py:170 ../aptdaemon/enums.py:344
3561+msgid "Failed"
3562+msgstr "Неуспешно"
3563+
3564+#: ../aptdaemon/enums.py:180
3565+msgid "Installing file"
3566+msgstr "Инсталиране на файл"
3567+
3568+#: ../aptdaemon/enums.py:181
3569+msgid "Installing packages"
3570+msgstr "Инсталиране на пакети"
3571+
3572+#: ../aptdaemon/enums.py:182
3573+msgid "Adding key from file"
3574+msgstr "Добавяне на ключ от файл"
3575+
3576+#: ../aptdaemon/enums.py:183
3577+msgid "Updating cache"
3578+msgstr "Актуализиране на кеша"
3579+
3580+#: ../aptdaemon/enums.py:184
3581+msgid "Removing trusted key"
3582+msgstr "Премахване на доверен ключ"
3583+
3584+#: ../aptdaemon/enums.py:185
3585+msgid "Removing packages"
3586+msgstr "Премахване на пакети"
3587+
3588+#: ../aptdaemon/enums.py:186
3589+msgid "Updating packages"
3590+msgstr "Актуализиране на пакети"
3591+
3592+#: ../aptdaemon/enums.py:187
3593+msgid "Upgrading system"
3594+msgstr "Надграждане на системата"
3595+
3596+#: ../aptdaemon/enums.py:188 ../aptdaemon/enums.py:323
3597+msgid "Applying changes"
3598+msgstr "Прилагане на промените"
3599+
3600+#: ../aptdaemon/enums.py:189
3601+msgid "Repairing incomplete installation"
3602+msgstr "Поправяне на непълна инсталация"
3603+
3604+#: ../aptdaemon/enums.py:190
3605+msgid "Repairing broken deps"
3606+msgstr "Поправяне на повредени зависимости"
3607+
3608+#: ../aptdaemon/enums.py:201
3609+msgid "Installation of the package file failed"
3610+msgstr "Инсталирането на пакета неуспешно"
3611+
3612+#: ../aptdaemon/enums.py:202
3613+msgid "Installation of software failed"
3614+msgstr "Инсталирането на софтуера неуспешно"
3615+
3616+#: ../aptdaemon/enums.py:203
3617+msgid "Adding the key to the list of trused software vendors failed"
3618+msgstr ""
3619+"Добавянето на ключа към списъка с доверени софтуерни доставчици неуспешно"
3620+
3621+#: ../aptdaemon/enums.py:205
3622+msgid "Refreshing the software list failed"
3623+msgstr "Опресняването на софтуерния списък неуспешно"
3624+
3625+#: ../aptdaemon/enums.py:206
3626+msgid "Removing the vendor from the list of trusted ones failed"
3627+msgstr ""
3628+"Премахването на софтуерния доставчик от списъка със софтуерни доставчици "
3629+"неуспешно"
3630+
3631+#: ../aptdaemon/enums.py:208
3632+msgid "Removing software failed"
3633+msgstr "Премахването на софтуера неуспешно"
3634+
3635+#: ../aptdaemon/enums.py:209
3636+msgid "Updating software failed"
3637+msgstr "Обновяването на софтуер неуспешно"
3638+
3639+#: ../aptdaemon/enums.py:210
3640+msgid "Upgrading the system failed"
3641+msgstr "Надграждането на системата неуспешно"
3642+
3643+#: ../aptdaemon/enums.py:211
3644+msgid "Applying software changes failed"
3645+msgstr "Прилагането на софтуерните промени неуспешно"
3646+
3647+#: ../aptdaemon/enums.py:212
3648+msgid "Repairing incomplete installation failed"
3649+msgstr "Поправянето на непълна инсталация неуспешно"
3650+
3651+#: ../aptdaemon/enums.py:213
3652+msgid "Repairing broken dependencies failed"
3653+msgstr "Поправянето на повредени зависимости неуспешно"
3654+
3655+#: ../aptdaemon/enums.py:224 ../aptdaemon/enums.py:225
3656+msgid "Check your Internet connection."
3657+msgstr "Проверете Интернет връзката."
3658+
3659+#: ../aptdaemon/enums.py:226
3660+msgid ""
3661+"Check if you are using third party repositories. If so disable them, since "
3662+"they are a common source of problems.\n"
3663+"Furthermore run the following command in a Terminal: apt-get install -f"
3664+msgstr ""
3665+"Проверете дали използвате софтуерни хранилища на трети страни. Ако това е "
3666+"така, деактивирайте ги, защото те често са източник на проблеми.\n"
3667+"Допълнително изпълнете следната команда в Терминал: apt-get install -f"
3668+
3669+#: ../aptdaemon/enums.py:231
3670+msgid "The selected file may not be a GPG key file or it might be corrupt."
3671+msgstr "Избраният файл може да не е GPG файл ключ или може да е повреден."
3672+
3673+#: ../aptdaemon/enums.py:233
3674+msgid ""
3675+"The selected key couldn't be removed Check if you provided a valid "
3676+"fingerprint."
3677+msgstr ""
3678+"Избраният ключ не може да бъде премахнат. Проверете дали сте предоставили "
3679+"валиден пръстов отпечатък."
3680+
3681+#: ../aptdaemon/enums.py:235
3682+msgid ""
3683+"Check if you are currently running another software management tool, e.g. "
3684+"Synaptic or aptitude. Only one tool is allowed to make changes at the same "
3685+"time."
3686+msgstr ""
3687+"Порверете дали в момента не използвате друг мениджър за софтуер, като "
3688+"например Synaptic или aptitude. Позволено е само един такъв инструмент да "
3689+"извършва промени по едно и също време."
3690+
3691+#: ../aptdaemon/enums.py:239
3692+msgid ""
3693+"This is a serious problem. Try again later. If this problem appears again, "
3694+"please report an error to the developers."
3695+msgstr ""
3696+"Това е сериозен проблем. Опитайте отново по-късно. Ако проблемът се появи "
3697+"отново, съобщете го на разработчиците."
3698+
3699+#: ../aptdaemon/enums.py:242
3700+msgid ""
3701+"Check the spelling of the package name and if you have got enabled the "
3702+"corresponding repository."
3703+msgstr ""
3704+"Проверете дали правилно сте написали името на пакета и дали сте разрешили "
3705+"съответното софтуерно хранилище."
3706+
3707+#: ../aptdaemon/enums.py:244
3708+msgid "There isn't any need for an update."
3709+msgstr "Няма необходимост от обновяване."
3710+
3711+#: ../aptdaemon/enums.py:245
3712+msgid "There isn't any need for an installation"
3713+msgstr "Няма необходимост от инсталация"
3714+
3715+#: ../aptdaemon/enums.py:247
3716+msgid "There isn't any need for a removal."
3717+msgstr "Няма необходимост от премахване."
3718+
3719+#: ../aptdaemon/enums.py:248
3720+msgid ""
3721+"You requested to remove a package which is an essential part of your system."
3722+msgstr ""
3723+"Поискахте да премахнете пакет който е основна част от вашата система."
3724+
3725+#: ../aptdaemon/enums.py:251
3726+msgid ""
3727+"The connection to the daemon was lost. Most likely the background daemon "
3728+"crashed."
3729+msgstr ""
3730+"Връзката с демона беше изгубена. Най-вероятно демонът, работещ във фонов "
3731+"режим е блокирал."
3732+
3733+#: ../aptdaemon/enums.py:253
3734+msgid "The installation or removal of a software package failed."
3735+msgstr "Инсталация или премахване на софтуерен пакет неуспешна."
3736+
3737+#: ../aptdaemon/enums.py:244
3738+msgid "This should not happen."
3739+msgstr "Това не би трябвало да се случва."
3740+
3741+#: ../aptdaemon/enums.py:245
3742+msgid ""
3743+"This error could be caused by required additional software packages which "
3744+"are missing or not installable. Futhermore there could be a conflict between "
3745+"software packages which are not allowed to be installed at the same time."
3746+msgstr ""
3747+"Тази грешка може да бъде предизвикана от допълнителни софтуерни пакети, "
3748+"които липсват или не могат да бъдат инсталирани. А също така това може да "
3749+"бъде и конфликт между софтуерни пакети, които не е позволено да бъдат "
3750+"инсталирани по едно и също време."
3751+
3752+#: ../aptdaemon/enums.py:266
3753+msgid ""
3754+"The action would require the installation of packages from not authenticated "
3755+"sources."
3756+msgstr ""
3757+"Това действие ще изисква инсталацията на пакет от непотвърдени източници."
3758+
3759+#: ../aptdaemon/enums.py:269
3760+msgid ""
3761+"The installation could have failed because of an error in the corresponding "
3762+"software package or it was cancelled in an unfriendly way. You have to "
3763+"repair this before you can install or remove any further software."
3764+msgstr ""
3765+"Инсталацията може да се е провалила, заради грешка в съответните софтуерни "
3766+"пакети или ако е била прекъсната по некоректен начин. Трябва да отстраните "
3767+"това преди да инсталирате или премахнете друг софтуер."
3768+
3769+#: ../aptdaemon/enums.py:284
3770+msgid "Failed to download package files"
3771+msgstr "Неуспех при изтегляне на файловете от пакета"
3772+
3773+#: ../aptdaemon/enums.py:285
3774+msgid "Failed to download repository information"
3775+msgstr "Неуспех при изтегляне на информацията от хранилището"
3776+
3777+#: ../aptdaemon/enums.py:286
3778+msgid "Package dependencies cannot be resolved"
3779+msgstr "Пакетните зависимости не могат да бъдат установени"
3780+
3781+#: ../aptdaemon/enums.py:287
3782+msgid "The package system is broken"
3783+msgstr "Пакетната система е повредена"
3784+
3785+#: ../aptdaemon/enums.py:288
3786+msgid "Key was not installed"
3787+msgstr "Ключът не беше инсталиран"
3788+
3789+#: ../aptdaemon/enums.py:289
3790+msgid "Key was not removed"
3791+msgstr "Ключът не беше премахнат"
3792+
3793+#: ../aptdaemon/enums.py:290
3794+msgid "Failed to lock the package manager"
3795+msgstr "Неуспех при заключването на пакетния мениджър"
3796+
3797+#: ../aptdaemon/enums.py:291
3798+msgid "Failed to load the package list"
3799+msgstr "Неуспех при зареждане на списъка с пакети"
3800+
3801+#: ../aptdaemon/enums.py:292
3802+msgid "Package does not exist"
3803+msgstr "Пакетът не съществува"
3804+
3805+#: ../aptdaemon/enums.py:293
3806+msgid "Package is already up-to-date"
3807+msgstr "Пакетът вече е актуализиран"
3808+
3809+#: ../aptdaemon/enums.py:294
3810+msgid "Package is already installed"
3811+msgstr "Пакетът вече е инсталиран"
3812+
3813+#: ../aptdaemon/enums.py:295
3814+msgid "Package isn't installed"
3815+msgstr "Пакетът не е инсталиран"
3816+
3817+#: ../aptdaemon/enums.py:296
3818+msgid "Failed to remove essential system package"
3819+msgstr "Неуспех при премахването на основнен системен пакет"
3820+
3821+#: ../aptdaemon/enums.py:298
3822+msgid "Task cannot be monitored or controlled"
3823+msgstr "Задачата не може да бъде наблюдавана или контролирана"
3824+
3825+#: ../aptdaemon/enums.py:299
3826+msgid "Package operation failed"
3827+msgstr "Пакетната операция неуспешна"
3828+
3829+#: ../aptdaemon/enums.py:300
3830+msgid "Requires installation of untrusted packages"
3831+msgstr "Изисква инсталация на недоверени пакети"
3832+
3833+#: ../aptdaemon/enums.py:302
3834+msgid "Previous installation hasn't been completed"
3835+msgstr "Предишната инсталация не е завършена"
3836+
3837+#: ../aptdaemon/enums.py:288
3838+msgid "An unknown error occurred"
3839+msgstr "Възникна неизвестна грешка"
3840+
3841+#: ../aptdaemon/enums.py:313
3842+msgid "Waiting for service to start"
3843+msgstr "Изчакване услугата да стартира"
3844+
3845+#: ../aptdaemon/enums.py:314
3846+msgid "Waiting"
3847+msgstr "Изчакване"
3848+
3849+#: ../aptdaemon/enums.py:315
3850+msgid "Waiting for required medium"
3851+msgstr "Изчакване на необходимата среда"
3852+
3853+#: ../aptdaemon/enums.py:316
3854+msgid "Waiting for other software managers to quit"
3855+msgstr "Изчакване на други софтуерни мениджъри да приключат работа"
3856+
3857+#: ../aptdaemon/enums.py:317
3858+msgid "Waiting for configuration file prompt"
3859+msgstr "Изчакване промпта на конфигурационния файл"
3860+
3861+#: ../aptdaemon/enums.py:319
3862+msgid "Running task"
3863+msgstr "Текуща задача"
3864+
3865+#: ../aptdaemon/enums.py:320
3866+msgid "Downloading"
3867+msgstr "Изтегляне"
3868+
3869+#: ../aptdaemon/enums.py:321
3870+msgid "Cleaning up"
3871+msgstr "Почистване"
3872+
3873+#: ../aptdaemon/enums.py:322
3874+msgid "Resolving dependencies"
3875+msgstr "Изчисляване на зависимостите"
3876+
3877+#: ../aptdaemon/enums.py:324
3878+msgid "Finished"
3879+msgstr "Завърши"
3880+
3881+#: ../aptdaemon/enums.py:325
3882+msgid "Cancelling"
3883+msgstr "Отменяне"
3884+
3885+#: ../aptdaemon/enums.py:326
3886+msgid "Loading software list"
3887+msgstr "Зареждане на списъка със софтуер"
3888+
3889+#: ../aptdaemon/gtkwidgets.py:297
3890+#, python-format
3891+msgid "Downloaded %sB of %sB at %sB/s"
3892+msgstr "Изтегляне на %sB от %sB с %sB/с"
3893+
3894+#: ../aptdaemon/gtkwidgets.py:302 ../aptdaemon/gtkwidgets.py:491
3895+#, python-format
3896+msgid "Downloaded %sB of %sB"
3897+msgstr "Изтеглени %sB от %sB"
3898+
3899+#: ../aptdaemon/gtkwidgets.py:314
3900+msgid "Details"
3901+msgstr "Подробности"
3902+
3903+#. TRANSLATORS: %s represents the name of a CD or DVD
3904+#: ../aptdaemon/gtkwidgets.py:776
3905+#, python-format
3906+msgid "CD/DVD '%s' is required"
3907+msgstr "Необходим е CD/DVD '%s'"
3908+
3909+#. TRANSLATORS: %s is the name of the CD/DVD drive
3910+#: ../aptdaemon/gtkwidgets.py:778
3911+#, python-format
3912+msgid ""
3913+"Please insert the above CD/DVD into the drive '%s' to install software "
3914+"packages from the medium."
3915+msgstr ""
3916+"Моля поставете гореспоменатия CD/DVD диск в устройство '%s', за да се "
3917+"инсталират пакети от носителя."
3918+
3919+#: ../aptdaemon/gtkwidgets.py:782 ../aptdaemon/gtkwidgets.py:802
3920+msgid "C_ontinue"
3921+msgstr "Пр_одължаване"
3922+
3923+#. TRANSLATORS: %s is a file path
3924+#: ../aptdaemon/gtkwidgets.py:966
3925+#, python-format
3926+msgid ""
3927+"Replace your changes in '%s' with a later version of the configuration file?"
3928+msgstr ""
3929+"Замяна на вашите промени в '%s' с по-скорошна версия на конфигурационния "
3930+"файл?"
3931+
3932+#: ../aptdaemon/gtkwidgets.py:968
3933+msgid ""
3934+"If you don't know why the file is there already, it is usually safe to "
3935+"replace it."
3936+msgstr ""
3937+"Ако не знаете защо файла е там, обикновенно е безопасно да го смените."
3938+
3939+#: ../aptdaemon/gtkwidgets.py:977
3940+msgid "_Changes"
3941+msgstr "_Промени"
3942+
3943+#: ../aptdaemon/gtkwidgets.py:980
3944+msgid "_Keep"
3945+msgstr "_Запазване"
3946+
3947+#: ../aptdaemon/gtkwidgets.py:981
3948+msgid "_Replace"
3949+msgstr "_Замяна"
3950+
3951+#. TRANSLATORS: expander label in the error dialog
3952+#: ../aptdaemon/gtkwidgets.py:1072
3953+msgid "_Details"
3954+msgstr "_Подробности"
3955+
3956+#: ../aptdaemon/progress.py:46
3957+#, python-format
3958+msgid "Installing %s"
3959+msgstr "Инсталиране на %s"
3960+
3961+#: ../aptdaemon/progress.py:47
3962+#, python-format
3963+msgid "Configuring %s"
3964+msgstr "Конфигуриране на %s"
3965+
3966+#: ../aptdaemon/progress.py:48
3967+#, python-format
3968+msgid "Removing %s"
3969+msgstr "Премахване на %s"
3970+
3971+#: ../aptdaemon/progress.py:49
3972+#, python-format
3973+msgid "Running post-installation trigger %s"
3974+msgstr "Изпълнение на тригер след инсталиране %s"
3975+
3976+#: ../aptdaemon/progress.py:50
3977+#, python-format
3978+msgid "Purging %s"
3979+msgstr "Почистване на %s"
3980+
3981+#: ../aptdaemon/progress.py:51
3982+#, python-format
3983+msgid "Upgrading %s"
3984+msgstr "Надграждане на %s"
3985+
3986+#: ../aptdaemon/progress.py:142
3987+#, python-format
3988+msgid "Downloading %s"
3989+msgstr "Изтегляне на %s"
3990+
3991+#~ msgid "System is not up-to-date"
3992+#~ msgstr "Системата не е актуализирана"
3993+
3994+#~ msgid "System is already up-to-date"
3995+#~ msgstr "Системата вече е актуализирана"
3996+
3997+#, python-format
3998+#~ msgid "Configuration file '%s' changed"
3999+#~ msgstr "Конфигурационният файл '%s' е променен"
4000+
4001+#~ msgid "Do you want to use the new version?"
4002+#~ msgstr "Искате ли да се използва новата версия?"
4003
4004=== added file '.pc/06_rosetta_po_update.patch/po/bn.po'
4005--- .pc/06_rosetta_po_update.patch/po/bn.po 1970-01-01 00:00:00 +0000
4006+++ .pc/06_rosetta_po_update.patch/po/bn.po 2010-09-18 12:31:06 +0000
4007@@ -0,0 +1,558 @@
4008+# Bengali translation for aptdaemon
4009+# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009
4010+# This file is distributed under the same license as the aptdaemon package.
4011+# FIRST AUTHOR <EMAIL@ADDRESS>, 2009.
4012+#
4013+msgid ""
4014+msgstr ""
4015+"Project-Id-Version: aptdaemon\n"
4016+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
4017+"POT-Creation-Date: 2010-04-17 06:42+0000\n"
4018+"PO-Revision-Date: 2010-04-05 05:57+0000\n"
4019+"Last-Translator: nasir khan saikat <nasir8891@gmail.com>\n"
4020+"Language-Team: Bengali <bn@li.org>\n"
4021+"MIME-Version: 1.0\n"
4022+"Content-Type: text/plain; charset=UTF-8\n"
4023+"Content-Transfer-Encoding: 8bit\n"
4024+"X-Launchpad-Export-Date: 2010-07-15 07:12+0000\n"
4025+"X-Generator: Launchpad (build Unknown)\n"
4026+
4027+#: ../data/org.debian.apt.policy.in.h:1
4028+msgid ""
4029+"Authentication is required to cancel the package management taks of another "
4030+"user."
4031+msgstr "অন্য ব্যবহারকারীর প্যাকেজ ম্যানেজমেন্ট কাজ বন্ধ করতে অনুমতি প্রয়োজন।"
4032+
4033+#: ../data/org.debian.apt.policy.in.h:2
4034+msgid "Authentication is required to install a local package file."
4035+msgstr "লোকাল প্যাকেজ ফাইল ইন্সটল করতে অনুমতি প্রয়োজন।"
4036+
4037+#: ../data/org.debian.apt.policy.in.h:3
4038+msgid "Authentication is required to install software packages"
4039+msgstr "সফটওয়্যার প্যাকেজ ইন্সটল করতে অনুমতি প্রয়োজন"
4040+
4041+#: ../data/org.debian.apt.policy.in.h:4
4042+msgid ""
4043+"Authentication is required to query the software repositories for "
4044+"installable packages"
4045+msgstr "সফটওয়্যার আধারসমুহে ইনস্টল যোগ্য প্যাকেজের খোঁজ নিতে অনুমতি প্রয়োজন"
4046+
4047+#: ../data/org.debian.apt.policy.in.h:5
4048+msgid "Authentication is required to remove software packages"
4049+msgstr "সফটওয়্যার প্যাকেজ মুছে ফেলতে অনুমতি প্রয়োজন"
4050+
4051+#: ../data/org.debian.apt.policy.in.h:6
4052+msgid "Authentication is required to repair broken installations"
4053+msgstr ""
4054+
4055+#: ../data/org.debian.apt.policy.in.h:7
4056+msgid "Authentication is required to upgrade software packages"
4057+msgstr "সফটওয়্যার প্যাকেজ উন্নত করতে অনুমতি প্রয়োজন"
4058+
4059+#: ../data/org.debian.apt.policy.in.h:8
4060+msgid "Authentication is required to upgrade the system"
4061+msgstr "সিস্টেম উন্নত করতে অনুমতি প্রয়োজন"
4062+
4063+#: ../data/org.debian.apt.policy.in.h:9
4064+msgid "Cancel the task of another user"
4065+msgstr "অন্য ব্যবহারকারির কাজ বন্ধ করুন"
4066+
4067+#: ../data/org.debian.apt.policy.in.h:10
4068+msgid "Install package file"
4069+msgstr "প্যাকেজ ফাইল ইন্সটল করুন"
4070+
4071+#: ../data/org.debian.apt.policy.in.h:11
4072+msgid "Install packages"
4073+msgstr "প্যাকেজসমূহ ইন্সটল করুন"
4074+
4075+#: ../data/org.debian.apt.policy.in.h:12
4076+msgid "Remove packages"
4077+msgstr "প্যাকেজ মুছে ফেলো"
4078+
4079+#: ../data/org.debian.apt.policy.in.h:13
4080+msgid "Repair broken installations"
4081+msgstr ""
4082+
4083+#: ../data/org.debian.apt.policy.in.h:14
4084+msgid "Update package information"
4085+msgstr "প্যাকেজের তথ্য আপডেট করো"
4086+
4087+#: ../data/org.debian.apt.policy.in.h:15
4088+msgid "Upgrade packages"
4089+msgstr "প্যাকেজ সমূহ আপগ্রেড করো"
4090+
4091+#: ../data/org.debian.apt.policy.in.h:16
4092+msgid "Upgrade system"
4093+msgstr "সিস্টেম আপগ্রেড করো"
4094+
4095+#: ../aptdaemon/core.py:1426
4096+msgid "Do not shutdown the daemon because of inactivity"
4097+msgstr ""
4098+
4099+#: ../aptdaemon/core.py:1431
4100+msgid "Show internal processing information"
4101+msgstr "অভ্যন্তরীন প্রসেসিং তথ্য দেখাও"
4102+
4103+#: ../aptdaemon/core.py:1435
4104+msgid "Quit and replace an already running daemon"
4105+msgstr "বন্ধ করে কোন চালু থাকা ডিমন প্রতিস্থাপন করুন"
4106+
4107+#: ../aptdaemon/core.py:1439
4108+msgid "Store profile stats in the specified file"
4109+msgstr "প্রোফাইল-এর তথ্য নির্দিষ্ট ফাইলে রাখুন"
4110+
4111+#: ../aptdaemon/core.py:1443
4112+msgid "Do not make any changes to the system (Only of use to developers)"
4113+msgstr ""
4114+
4115+#: ../aptdaemon/enums.py:147
4116+msgid "Installed file"
4117+msgstr "ইনস্টল করা ফাইল সমূহ"
4118+
4119+#: ../aptdaemon/enums.py:148
4120+msgid "Installed packages"
4121+msgstr "ইন্সটল করা প্যাকেজসমুহ"
4122+
4123+#: ../aptdaemon/enums.py:149
4124+msgid "Added key from file"
4125+msgstr "ফাইল থেকে চাবি (key) যোগ করুন"
4126+
4127+#: ../aptdaemon/enums.py:150
4128+msgid "Updated cache"
4129+msgstr "ক্যাশ আপগ্রেড করুন"
4130+
4131+#: ../aptdaemon/enums.py:151
4132+msgid "Removed trusted key"
4133+msgstr "বিশ্বস্ত চাবি(key) মুছে ফেলুন"
4134+
4135+#: ../aptdaemon/enums.py:152
4136+msgid "Removed packages"
4137+msgstr "মুছে ফেলা হয়েছে এমন প্যাকেজসমূহ"
4138+
4139+#: ../aptdaemon/enums.py:153
4140+msgid "Updated packages"
4141+msgstr "আপগ্রেড করা প্যাকেজসমূহ"
4142+
4143+#: ../aptdaemon/enums.py:154
4144+msgid "Upgraded system"
4145+msgstr "আপগ্রেড করা সিস্টেম"
4146+
4147+#: ../aptdaemon/enums.py:155
4148+msgid "Applied changes"
4149+msgstr "পরিবর্তন সমূহ প্রয়োগ করা হয়েছে"
4150+
4151+#: ../aptdaemon/enums.py:156
4152+msgid "Repaired incomplete installation"
4153+msgstr ""
4154+
4155+#: ../aptdaemon/enums.py:157
4156+msgid "Repaired broken dependencies"
4157+msgstr ""
4158+
4159+#: ../aptdaemon/enums.py:168
4160+msgid "Successful"
4161+msgstr "সফল"
4162+
4163+#: ../aptdaemon/enums.py:169
4164+msgid "Canceled"
4165+msgstr "বাতিল করা হয়েছে"
4166+
4167+#: ../aptdaemon/enums.py:170 ../aptdaemon/enums.py:344
4168+msgid "Failed"
4169+msgstr "ব্যর্থ হয়েছে"
4170+
4171+#: ../aptdaemon/enums.py:180
4172+msgid "Installing file"
4173+msgstr ""
4174+
4175+#: ../aptdaemon/enums.py:181
4176+msgid "Installing packages"
4177+msgstr "প্যাকেজ ইনস্টল করা হচ্ছে"
4178+
4179+#: ../aptdaemon/enums.py:182
4180+msgid "Adding key from file"
4181+msgstr ""
4182+
4183+#: ../aptdaemon/enums.py:183
4184+msgid "Updating cache"
4185+msgstr ""
4186+
4187+#: ../aptdaemon/enums.py:184
4188+msgid "Removing trusted key"
4189+msgstr ""
4190+
4191+#: ../aptdaemon/enums.py:185
4192+msgid "Removing packages"
4193+msgstr ""
4194+
4195+#: ../aptdaemon/enums.py:186
4196+msgid "Updating packages"
4197+msgstr ""
4198+
4199+#: ../aptdaemon/enums.py:187
4200+msgid "Upgrading system"
4201+msgstr ""
4202+
4203+#: ../aptdaemon/enums.py:188 ../aptdaemon/enums.py:323
4204+msgid "Applying changes"
4205+msgstr "পরিবর্তনসমূহ প্রয়োগ করা হচ্ছে"
4206+
4207+#: ../aptdaemon/enums.py:189
4208+msgid "Repairing incomplete installation"
4209+msgstr ""
4210+
4211+#: ../aptdaemon/enums.py:190
4212+msgid "Repairing broken deps"
4213+msgstr ""
4214+
4215+#: ../aptdaemon/enums.py:201
4216+msgid "Installation of the package file failed"
4217+msgstr ""
4218+
4219+#: ../aptdaemon/enums.py:202
4220+msgid "Installation of software failed"
4221+msgstr ""
4222+
4223+#: ../aptdaemon/enums.py:203
4224+msgid "Adding the key to the list of trused software vendors failed"
4225+msgstr ""
4226+
4227+#: ../aptdaemon/enums.py:205
4228+msgid "Refreshing the software list failed"
4229+msgstr ""
4230+
4231+#: ../aptdaemon/enums.py:206
4232+msgid "Removing the vendor from the list of trusted ones failed"
4233+msgstr ""
4234+
4235+#: ../aptdaemon/enums.py:208
4236+msgid "Removing software failed"
4237+msgstr ""
4238+
4239+#: ../aptdaemon/enums.py:209
4240+msgid "Updating software failed"
4241+msgstr ""
4242+
4243+#: ../aptdaemon/enums.py:210
4244+msgid "Upgrading the system failed"
4245+msgstr ""
4246+
4247+#: ../aptdaemon/enums.py:211
4248+msgid "Applying software changes failed"
4249+msgstr ""
4250+
4251+#: ../aptdaemon/enums.py:212
4252+msgid "Repairing incomplete installation failed"
4253+msgstr ""
4254+
4255+#: ../aptdaemon/enums.py:213
4256+msgid "Repairing broken dependencies failed"
4257+msgstr ""
4258+
4259+#: ../aptdaemon/enums.py:224 ../aptdaemon/enums.py:225
4260+msgid "Check your Internet connection."
4261+msgstr ""
4262+
4263+#: ../aptdaemon/enums.py:226
4264+msgid ""
4265+"Check if you are using third party repositories. If so disable them, since "
4266+"they are a common source of problems.\n"
4267+"Furthermore run the following command in a Terminal: apt-get install -f"
4268+msgstr ""
4269+
4270+#: ../aptdaemon/enums.py:231
4271+msgid "The selected file may not be a GPG key file or it might be corrupt."
4272+msgstr "বেছে নেয়া ফাইলটি GPG কী ফাইল নয় অথবা এটি ত্রুটিপূর্ন।"
4273+
4274+#: ../aptdaemon/enums.py:233
4275+msgid ""
4276+"The selected key couldn't be removed Check if you provided a valid "
4277+"fingerprint."
4278+msgstr ""
4279+
4280+#: ../aptdaemon/enums.py:235
4281+msgid ""
4282+"Check if you are currently running another software management tool, e.g. "
4283+"Synaptic or aptitude. Only one tool is allowed to make changes at the same "
4284+"time."
4285+msgstr ""
4286+
4287+#: ../aptdaemon/enums.py:239
4288+msgid ""
4289+"This is a serious problem. Try again later. If this problem appears again, "
4290+"please report an error to the developers."
4291+msgstr ""
4292+
4293+#: ../aptdaemon/enums.py:242
4294+msgid ""
4295+"Check the spelling of the package name and if you have got enabled the "
4296+"corresponding repository."
4297+msgstr ""
4298+
4299+#: ../aptdaemon/enums.py:244
4300+msgid "There isn't any need for an update."
4301+msgstr ""
4302+
4303+#: ../aptdaemon/enums.py:245
4304+msgid "There isn't any need for an installation"
4305+msgstr ""
4306+
4307+#: ../aptdaemon/enums.py:247
4308+msgid "There isn't any need for a removal."
4309+msgstr ""
4310+
4311+#: ../aptdaemon/enums.py:248
4312+msgid ""
4313+"You requested to remove a package which is an essential part of your system."
4314+msgstr ""
4315+
4316+#: ../aptdaemon/enums.py:251
4317+msgid ""
4318+"The connection to the daemon was lost. Most likely the background daemon "
4319+"crashed."
4320+msgstr ""
4321+
4322+#: ../aptdaemon/enums.py:253
4323+msgid "The installation or removal of a software package failed."
4324+msgstr ""
4325+
4326+#: ../aptdaemon/enums.py:244
4327+msgid "This should not happen."
4328+msgstr ""
4329+
4330+#: ../aptdaemon/enums.py:245
4331+msgid ""
4332+"This error could be caused by required additional software packages which "
4333+"are missing or not installable. Futhermore there could be a conflict between "
4334+"software packages which are not allowed to be installed at the same time."
4335+msgstr ""
4336+
4337+#: ../aptdaemon/enums.py:266
4338+msgid ""
4339+"The action would require the installation of packages from not authenticated "
4340+"sources."
4341+msgstr ""
4342+
4343+#: ../aptdaemon/enums.py:269
4344+msgid ""
4345+"The installation could have failed because of an error in the corresponding "
4346+"software package or it was cancelled in an unfriendly way. You have to "
4347+"repair this before you can install or remove any further software."
4348+msgstr ""
4349+
4350+#: ../aptdaemon/enums.py:284
4351+msgid "Failed to download package files"
4352+msgstr ""
4353+
4354+#: ../aptdaemon/enums.py:285
4355+msgid "Failed to download repository information"
4356+msgstr ""
4357+
4358+#: ../aptdaemon/enums.py:286
4359+msgid "Package dependencies cannot be resolved"
4360+msgstr ""
4361+
4362+#: ../aptdaemon/enums.py:287
4363+msgid "The package system is broken"
4364+msgstr ""
4365+
4366+#: ../aptdaemon/enums.py:288
4367+msgid "Key was not installed"
4368+msgstr ""
4369+
4370+#: ../aptdaemon/enums.py:289
4371+msgid "Key was not removed"
4372+msgstr ""
4373+
4374+#: ../aptdaemon/enums.py:290
4375+msgid "Failed to lock the package manager"
4376+msgstr ""
4377+
4378+#: ../aptdaemon/enums.py:291
4379+msgid "Failed to load the package list"
4380+msgstr ""
4381+
4382+#: ../aptdaemon/enums.py:292
4383+msgid "Package does not exist"
4384+msgstr ""
4385+
4386+#: ../aptdaemon/enums.py:293
4387+msgid "Package is already up-to-date"
4388+msgstr ""
4389+
4390+#: ../aptdaemon/enums.py:294
4391+msgid "Package is already installed"
4392+msgstr ""
4393+
4394+#: ../aptdaemon/enums.py:295
4395+msgid "Package isn't installed"
4396+msgstr ""
4397+
4398+#: ../aptdaemon/enums.py:296
4399+msgid "Failed to remove essential system package"
4400+msgstr ""
4401+
4402+#: ../aptdaemon/enums.py:298
4403+msgid "Task cannot be monitored or controlled"
4404+msgstr ""
4405+
4406+#: ../aptdaemon/enums.py:299
4407+msgid "Package operation failed"
4408+msgstr ""
4409+
4410+#: ../aptdaemon/enums.py:300
4411+msgid "Requires installation of untrusted packages"
4412+msgstr ""
4413+
4414+#: ../aptdaemon/enums.py:302
4415+msgid "Previous installation hasn't been completed"
4416+msgstr ""
4417+
4418+#: ../aptdaemon/enums.py:288
4419+msgid "An unknown error occurred"
4420+msgstr ""
4421+
4422+#: ../aptdaemon/enums.py:313
4423+msgid "Waiting for service to start"
4424+msgstr ""
4425+
4426+#: ../aptdaemon/enums.py:314
4427+msgid "Waiting"
4428+msgstr ""
4429+
4430+#: ../aptdaemon/enums.py:315
4431+msgid "Waiting for required medium"
4432+msgstr ""
4433+
4434+#: ../aptdaemon/enums.py:316
4435+msgid "Waiting for other software managers to quit"
4436+msgstr ""
4437+
4438+#: ../aptdaemon/enums.py:317
4439+msgid "Waiting for configuration file prompt"
4440+msgstr ""
4441+
4442+#: ../aptdaemon/enums.py:319
4443+msgid "Running task"
4444+msgstr ""
4445+
4446+#: ../aptdaemon/enums.py:320
4447+msgid "Downloading"
4448+msgstr ""
4449+
4450+#: ../aptdaemon/enums.py:321
4451+msgid "Cleaning up"
4452+msgstr ""
4453+
4454+#: ../aptdaemon/enums.py:322
4455+msgid "Resolving dependencies"
4456+msgstr ""
4457+
4458+#: ../aptdaemon/enums.py:324
4459+msgid "Finished"
4460+msgstr ""
4461+
4462+#: ../aptdaemon/enums.py:325
4463+msgid "Cancelling"
4464+msgstr ""
4465+
4466+#: ../aptdaemon/enums.py:326
4467+msgid "Loading software list"
4468+msgstr ""
4469+
4470+#: ../aptdaemon/gtkwidgets.py:297
4471+#, python-format
4472+msgid "Downloaded %sB of %sB at %sB/s"
4473+msgstr ""
4474+
4475+#: ../aptdaemon/gtkwidgets.py:302 ../aptdaemon/gtkwidgets.py:491
4476+#, python-format
4477+msgid "Downloaded %sB of %sB"
4478+msgstr ""
4479+
4480+#: ../aptdaemon/gtkwidgets.py:314
4481+msgid "Details"
4482+msgstr ""
4483+
4484+#. TRANSLATORS: %s represents the name of a CD or DVD
4485+#: ../aptdaemon/gtkwidgets.py:776
4486+#, python-format
4487+msgid "CD/DVD '%s' is required"
4488+msgstr ""
4489+
4490+#. TRANSLATORS: %s is the name of the CD/DVD drive
4491+#: ../aptdaemon/gtkwidgets.py:778
4492+#, python-format
4493+msgid ""
4494+"Please insert the above CD/DVD into the drive '%s' to install software "
4495+"packages from the medium."
4496+msgstr ""
4497+
4498+#: ../aptdaemon/gtkwidgets.py:782 ../aptdaemon/gtkwidgets.py:802
4499+msgid "C_ontinue"
4500+msgstr ""
4501+
4502+#. TRANSLATORS: %s is a file path
4503+#: ../aptdaemon/gtkwidgets.py:966
4504+#, python-format
4505+msgid ""
4506+"Replace your changes in '%s' with a later version of the configuration file?"
4507+msgstr ""
4508+
4509+#: ../aptdaemon/gtkwidgets.py:968
4510+msgid ""
4511+"If you don't know why the file is there already, it is usually safe to "
4512+"replace it."
4513+msgstr ""
4514+
4515+#: ../aptdaemon/gtkwidgets.py:977
4516+msgid "_Changes"
4517+msgstr ""
4518+
4519+#: ../aptdaemon/gtkwidgets.py:980
4520+msgid "_Keep"
4521+msgstr ""
4522+
4523+#: ../aptdaemon/gtkwidgets.py:981
4524+msgid "_Replace"
4525+msgstr ""
4526+
4527+#. TRANSLATORS: expander label in the error dialog
4528+#: ../aptdaemon/gtkwidgets.py:1072
4529+msgid "_Details"
4530+msgstr ""
4531+
4532+#: ../aptdaemon/progress.py:46
4533+#, python-format
4534+msgid "Installing %s"
4535+msgstr ""
4536+
4537+#: ../aptdaemon/progress.py:47
4538+#, python-format
4539+msgid "Configuring %s"
4540+msgstr ""
4541+
4542+#: ../aptdaemon/progress.py:48
4543+#, python-format
4544+msgid "Removing %s"
4545+msgstr ""
4546+
4547+#: ../aptdaemon/progress.py:49
4548+#, python-format
4549+msgid "Running post-installation trigger %s"
4550+msgstr ""
4551+
4552+#: ../aptdaemon/progress.py:50
4553+#, python-format
4554+msgid "Purging %s"
4555+msgstr ""
4556+
4557+#: ../aptdaemon/progress.py:51
4558+#, python-format
4559+msgid "Upgrading %s"
4560+msgstr ""
4561+
4562+#: ../aptdaemon/progress.py:142
4563+#, python-format
4564+msgid "Downloading %s"
4565+msgstr ""
4566
4567=== added file '.pc/06_rosetta_po_update.patch/po/ca.po'
4568--- .pc/06_rosetta_po_update.patch/po/ca.po 1970-01-01 00:00:00 +0000
4569+++ .pc/06_rosetta_po_update.patch/po/ca.po 2010-09-18 12:31:06 +0000
4570@@ -0,0 +1,598 @@
4571+# Catalan translation for aptdaemon
4572+# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009
4573+# This file is distributed under the same license as the aptdaemon package.
4574+# FIRST AUTHOR <EMAIL@ADDRESS>, 2009.
4575+#
4576+msgid ""
4577+msgstr ""
4578+"Project-Id-Version: aptdaemon\n"
4579+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
4580+"POT-Creation-Date: 2010-04-17 06:42+0000\n"
4581+"PO-Revision-Date: 2010-06-10 21:32+0000\n"
4582+"Last-Translator: Joan Duran <jodufi@gmail.com>\n"
4583+"Language-Team: Catalan <ca@li.org>\n"
4584+"MIME-Version: 1.0\n"
4585+"Content-Type: text/plain; charset=UTF-8\n"
4586+"Content-Transfer-Encoding: 8bit\n"
4587+"X-Launchpad-Export-Date: 2010-07-15 07:12+0000\n"
4588+"X-Generator: Launchpad (build Unknown)\n"
4589+
4590+#: ../data/org.debian.apt.policy.in.h:1
4591+msgid ""
4592+"Authentication is required to cancel the package management taks of another "
4593+"user."
4594+msgstr ""
4595+"Cal autenticació per a cancel·lar les tasques de gestió de paquets d'un "
4596+"altre usuari."
4597+
4598+#: ../data/org.debian.apt.policy.in.h:2
4599+msgid "Authentication is required to install a local package file."
4600+msgstr "Cal autenticació per a instal·lar un fitxer de paquet local."
4601+
4602+#: ../data/org.debian.apt.policy.in.h:3
4603+msgid "Authentication is required to install software packages"
4604+msgstr "Cal autenticació per a instal·lar paquets de programari"
4605+
4606+#: ../data/org.debian.apt.policy.in.h:4
4607+msgid ""
4608+"Authentication is required to query the software repositories for "
4609+"installable packages"
4610+msgstr ""
4611+"Cal autenticació per a consultar els dipòsits de paquets instal·lables"
4612+
4613+#: ../data/org.debian.apt.policy.in.h:5
4614+msgid "Authentication is required to remove software packages"
4615+msgstr "Cal autenticació per a suprimir paquets de programari"
4616+
4617+#: ../data/org.debian.apt.policy.in.h:6
4618+msgid "Authentication is required to repair broken installations"
4619+msgstr "Cal autenticació per poder reparar les instal·lacions no vàlides"
4620+
4621+#: ../data/org.debian.apt.policy.in.h:7
4622+msgid "Authentication is required to upgrade software packages"
4623+msgstr "Cal autenticació per a actualizar paquets de programari"
4624+
4625+#: ../data/org.debian.apt.policy.in.h:8
4626+msgid "Authentication is required to upgrade the system"
4627+msgstr "Cal autenticació per a actualizar el sistema"
4628+
4629+#: ../data/org.debian.apt.policy.in.h:9
4630+msgid "Cancel the task of another user"
4631+msgstr "Cancel·lació de la tasca d'un altre usuari"
4632+
4633+#: ../data/org.debian.apt.policy.in.h:10
4634+msgid "Install package file"
4635+msgstr "Instal·lació d'un fitxer de paquet"
4636+
4637+#: ../data/org.debian.apt.policy.in.h:11
4638+msgid "Install packages"
4639+msgstr "Instal·lació de paquets"
4640+
4641+#: ../data/org.debian.apt.policy.in.h:12
4642+msgid "Remove packages"
4643+msgstr "Supressió de paquets"
4644+
4645+#: ../data/org.debian.apt.policy.in.h:13
4646+msgid "Repair broken installations"
4647+msgstr "Repara les instal·lacions no vàlides"
4648+
4649+#: ../data/org.debian.apt.policy.in.h:14
4650+msgid "Update package information"
4651+msgstr "Actualització de la informació dels paquets"
4652+
4653+#: ../data/org.debian.apt.policy.in.h:15
4654+msgid "Upgrade packages"
4655+msgstr "Actualització dels paquets"
4656+
4657+#: ../data/org.debian.apt.policy.in.h:16
4658+msgid "Upgrade system"
4659+msgstr "Actualització del sistema"
4660+
4661+#: ../aptdaemon/core.py:1426
4662+msgid "Do not shutdown the daemon because of inactivity"
4663+msgstr "No aturis el dimoni per inactivitat"
4664+
4665+#: ../aptdaemon/core.py:1431
4666+msgid "Show internal processing information"
4667+msgstr "Mostra la informació interna de processament"
4668+
4669+#: ../aptdaemon/core.py:1435
4670+msgid "Quit and replace an already running daemon"
4671+msgstr "Surt i reemplaça un dimoni que s'estigui executant"
4672+
4673+#: ../aptdaemon/core.py:1439
4674+msgid "Store profile stats in the specified file"
4675+msgstr "Desa estadístiques de perfil en el fitxer especificat"
4676+
4677+#: ../aptdaemon/core.py:1443
4678+msgid "Do not make any changes to the system (Only of use to developers)"
4679+msgstr "No facis cap canvi al sistema (només útil per als desenvolupadors)"
4680+
4681+#: ../aptdaemon/enums.py:147
4682+msgid "Installed file"
4683+msgstr "Fitxer instal·lat"
4684+
4685+#: ../aptdaemon/enums.py:148
4686+msgid "Installed packages"
4687+msgstr "Paquets instal·lats"
4688+
4689+#: ../aptdaemon/enums.py:149
4690+msgid "Added key from file"
4691+msgstr "S'ha afegit la clau des d'un fitxer"
4692+
4693+#: ../aptdaemon/enums.py:150
4694+msgid "Updated cache"
4695+msgstr "S'ha actualitzat la memòria cau"
4696+
4697+#: ../aptdaemon/enums.py:151
4698+msgid "Removed trusted key"
4699+msgstr "S'ha suprimit la clau de confiança"
4700+
4701+#: ../aptdaemon/enums.py:152
4702+msgid "Removed packages"
4703+msgstr "S'han suprimit els paquets"
4704+
4705+#: ../aptdaemon/enums.py:153
4706+msgid "Updated packages"
4707+msgstr "S'han actualitzat els paquets"
4708+
4709+#: ../aptdaemon/enums.py:154
4710+msgid "Upgraded system"
4711+msgstr "S'ha actualitzat el sistema"
4712+
4713+#: ../aptdaemon/enums.py:155
4714+msgid "Applied changes"
4715+msgstr "Canvis aplicats"
4716+
4717+#: ../aptdaemon/enums.py:156
4718+msgid "Repaired incomplete installation"
4719+msgstr "Instal·lació incompleta reparada"
4720+
4721+#: ../aptdaemon/enums.py:157
4722+msgid "Repaired broken dependencies"
4723+msgstr "Dependències no vàlides reparades"
4724+
4725+#: ../aptdaemon/enums.py:168
4726+msgid "Successful"
4727+msgstr "Correcte"
4728+
4729+#: ../aptdaemon/enums.py:169
4730+msgid "Canceled"
4731+msgstr "S'ha cancel·lat"
4732+
4733+#: ../aptdaemon/enums.py:170 ../aptdaemon/enums.py:344
4734+msgid "Failed"
4735+msgstr "Ha fallat"
4736+
4737+#: ../aptdaemon/enums.py:180
4738+msgid "Installing file"
4739+msgstr "S'està instal·lant un fitxer"
4740+
4741+#: ../aptdaemon/enums.py:181
4742+msgid "Installing packages"
4743+msgstr "S'estan instal·lant els paquets"
4744+
4745+#: ../aptdaemon/enums.py:182
4746+msgid "Adding key from file"
4747+msgstr "S'està afegint la clau des del fitxer"
4748+
4749+#: ../aptdaemon/enums.py:183
4750+msgid "Updating cache"
4751+msgstr "S'està actualitzant la memòria cau"
4752+
4753+#: ../aptdaemon/enums.py:184
4754+msgid "Removing trusted key"
4755+msgstr "S'està suprimint la clau de confiança"
4756+
4757+#: ../aptdaemon/enums.py:185
4758+msgid "Removing packages"
4759+msgstr "S'estan suprimint els paquets"
4760+
4761+#: ../aptdaemon/enums.py:186
4762+msgid "Updating packages"
4763+msgstr "S'estan actualitzant els paquets"
4764+
4765+#: ../aptdaemon/enums.py:187
4766+msgid "Upgrading system"
4767+msgstr "S'està actualitzant el sistema"
4768+
4769+#: ../aptdaemon/enums.py:188 ../aptdaemon/enums.py:323
4770+msgid "Applying changes"
4771+msgstr "S'estan aplicant els canvis"
4772+
4773+#: ../aptdaemon/enums.py:189
4774+msgid "Repairing incomplete installation"
4775+msgstr "S'està reparant la instal·lació incompleta"
4776+
4777+#: ../aptdaemon/enums.py:190
4778+msgid "Repairing broken deps"
4779+msgstr "S'estan reparant les dependències no vàlides"
4780+
4781+#: ../aptdaemon/enums.py:201
4782+msgid "Installation of the package file failed"
4783+msgstr "Ha fallat la instal·lació del paquet"
4784+
4785+#: ../aptdaemon/enums.py:202
4786+msgid "Installation of software failed"
4787+msgstr "Ha fallat la instal·lació del programari"
4788+
4789+#: ../aptdaemon/enums.py:203
4790+msgid "Adding the key to the list of trused software vendors failed"
4791+msgstr ""
4792+"S'ha produït un error en afegir la clau a la llista de proveïdors de "
4793+"programari de confiança"
4794+
4795+#: ../aptdaemon/enums.py:205
4796+msgid "Refreshing the software list failed"
4797+msgstr "Ha fallat l'actualització de la llista de programari"
4798+
4799+#: ../aptdaemon/enums.py:206
4800+msgid "Removing the vendor from the list of trusted ones failed"
4801+msgstr ""
4802+"S'ha produït un error en eliminar el proveïdor de la llista de confiança"
4803+
4804+#: ../aptdaemon/enums.py:208
4805+msgid "Removing software failed"
4806+msgstr "Ha fallat la supressió del programari"
4807+
4808+#: ../aptdaemon/enums.py:209
4809+msgid "Updating software failed"
4810+msgstr "Ha fallat l'actualització del programari"
4811+
4812+#: ../aptdaemon/enums.py:210
4813+msgid "Upgrading the system failed"
4814+msgstr "Ha fallat l'actualització del sistema"
4815+
4816+#: ../aptdaemon/enums.py:211
4817+msgid "Applying software changes failed"
4818+msgstr "Ha fallat l'aplicació de canvis de programari"
4819+
4820+#: ../aptdaemon/enums.py:212
4821+msgid "Repairing incomplete installation failed"
4822+msgstr "Ha fallat la reparació de la instal·lació incompleta"
4823+
4824+#: ../aptdaemon/enums.py:213
4825+msgid "Repairing broken dependencies failed"
4826+msgstr "Ha fallat la reparació de dels dependències no vàlides"
4827+
4828+#: ../aptdaemon/enums.py:224 ../aptdaemon/enums.py:225
4829+msgid "Check your Internet connection."
4830+msgstr "Comproveu la connexió a Internet."
4831+
4832+#: ../aptdaemon/enums.py:226
4833+msgid ""
4834+"Check if you are using third party repositories. If so disable them, since "
4835+"they are a common source of problems.\n"
4836+"Furthermore run the following command in a Terminal: apt-get install -f"
4837+msgstr ""
4838+"Comproveu si esteu utilitzant dipòsits de tercers. Si aquest és el cas, és "
4839+"recomanable que els inhabiliteu, ja que són una font habitual de problemes.\n"
4840+"Addicionalment, hauríeu d'executar l'ordre següent en un terminal: apt-get "
4841+"install -f"
4842+
4843+#: ../aptdaemon/enums.py:231
4844+msgid "The selected file may not be a GPG key file or it might be corrupt."
4845+msgstr ""
4846+"Pot ser que el fitxer que heu seleccionat no sigui un fitxer de clau GPG o "
4847+"que estigui malmès."
4848+
4849+#: ../aptdaemon/enums.py:233
4850+msgid ""
4851+"The selected key couldn't be removed Check if you provided a valid "
4852+"fingerprint."
4853+msgstr ""
4854+"No s'ha pogut suprimir la clau seleccionada. Comproveu si heu proporcionat "
4855+"una empremta digital vàlida."
4856+
4857+#: ../aptdaemon/enums.py:235
4858+msgid ""
4859+"Check if you are currently running another software management tool, e.g. "
4860+"Synaptic or aptitude. Only one tool is allowed to make changes at the same "
4861+"time."
4862+msgstr ""
4863+"Comproveu si esteu executant una altra eina de gestió de programari, com ara "
4864+"el Synaptic o l'Aptitude. Només es permet que una eina faci canvis al mateix "
4865+"temps."
4866+
4867+#: ../aptdaemon/enums.py:239
4868+msgid ""
4869+"This is a serious problem. Try again later. If this problem appears again, "
4870+"please report an error to the developers."
4871+msgstr ""
4872+"Aquest es un problema seriós. Torneu a intentar-ho més tard. Si el problema "
4873+"reapareix, informeu-ne els desenvolupadors."
4874+
4875+#: ../aptdaemon/enums.py:242
4876+msgid ""
4877+"Check the spelling of the package name and if you have got enabled the "
4878+"corresponding repository."
4879+msgstr ""
4880+"Comproveu que hàgiu escrit correctament el nom del paquet i si teniu activat "
4881+"el dipòsit corresponent."
4882+
4883+#: ../aptdaemon/enums.py:244
4884+msgid "There isn't any need for an update."
4885+msgstr "No cal fer cap actualització."
4886+
4887+#: ../aptdaemon/enums.py:245
4888+msgid "There isn't any need for an installation"
4889+msgstr "No cal fer cap instal·lació."
4890+
4891+#: ../aptdaemon/enums.py:247
4892+msgid "There isn't any need for a removal."
4893+msgstr "No cal fer cap supressió."
4894+
4895+#: ../aptdaemon/enums.py:248
4896+msgid ""
4897+"You requested to remove a package which is an essential part of your system."
4898+msgstr ""
4899+"Heu sol·licitat la supressió d'un paquet que és una part essencial del "
4900+"sistema."
4901+
4902+#: ../aptdaemon/enums.py:251
4903+msgid ""
4904+"The connection to the daemon was lost. Most likely the background daemon "
4905+"crashed."
4906+msgstr ""
4907+"S'ha perdut la connexió amb el dimoni. Segurament el dimoni en segon pla ha "
4908+"tingut una fallada."
4909+
4910+#: ../aptdaemon/enums.py:253
4911+msgid "The installation or removal of a software package failed."
4912+msgstr "Ha fallat la instal·lació o supressió d'un paquet de programari."
4913+
4914+#: ../aptdaemon/enums.py:244
4915+msgid "This should not happen."
4916+msgstr "Això no hauria de passar."
4917+
4918+#: ../aptdaemon/enums.py:245
4919+msgid ""
4920+"This error could be caused by required additional software packages which "
4921+"are missing or not installable. Futhermore there could be a conflict between "
4922+"software packages which are not allowed to be installed at the same time."
4923+msgstr ""
4924+"Pot ser que aquest error sigui causat per paquets addicionals de programari "
4925+"necessaris que manquen o no són instal·lables. També pot ser que hi hagi un "
4926+"conflicte entre paquets de programari que no es puguin instal·lar al mateix "
4927+"temps."
4928+
4929+#: ../aptdaemon/enums.py:266
4930+msgid ""
4931+"The action would require the installation of packages from not authenticated "
4932+"sources."
4933+msgstr ""
4934+"Aquesta acció requereix la instal·lació de paquets de fonts no autenticades."
4935+
4936+#: ../aptdaemon/enums.py:269
4937+msgid ""
4938+"The installation could have failed because of an error in the corresponding "
4939+"software package or it was cancelled in an unfriendly way. You have to "
4940+"repair this before you can install or remove any further software."
4941+msgstr ""
4942+"Pot ser que la instal·lació hagi fallat degut a un error en el paquet de "
4943+"programari corresponent o que fou cancel·lada d'una manera incorrecta. "
4944+"Haureu de reparar-ho abans de poder instal·lar o eliminar qualsevol "
4945+"programari."
4946+
4947+#: ../aptdaemon/enums.py:284
4948+msgid "Failed to download package files"
4949+msgstr "Ha fallat la baixada de fitxers de paquets"
4950+
4951+#: ../aptdaemon/enums.py:285
4952+msgid "Failed to download repository information"
4953+msgstr "Ha fallat la baixada de la informació del dipòsit"
4954+
4955+#: ../aptdaemon/enums.py:286
4956+msgid "Package dependencies cannot be resolved"
4957+msgstr "No es poden resoldre les dependències dels paquets"
4958+
4959+#: ../aptdaemon/enums.py:287
4960+msgid "The package system is broken"
4961+msgstr "El sistema de paquets està malmès"
4962+
4963+#: ../aptdaemon/enums.py:288
4964+msgid "Key was not installed"
4965+msgstr "No s'ha instal·lat la clau"
4966+
4967+#: ../aptdaemon/enums.py:289
4968+msgid "Key was not removed"
4969+msgstr "No s'ha suprimit la clau"
4970+
4971+#: ../aptdaemon/enums.py:290
4972+msgid "Failed to lock the package manager"
4973+msgstr "Ha fallat el blocatge del gestor de paquets"
4974+
4975+#: ../aptdaemon/enums.py:291
4976+msgid "Failed to load the package list"
4977+msgstr "Ha fallat la càrrega de la llista de paquets"
4978+
4979+#: ../aptdaemon/enums.py:292
4980+msgid "Package does not exist"
4981+msgstr "El paquet no existeix"
4982+
4983+#: ../aptdaemon/enums.py:293
4984+msgid "Package is already up-to-date"
4985+msgstr "El paquet ja està actualitzat"
4986+
4987+#: ../aptdaemon/enums.py:294
4988+msgid "Package is already installed"
4989+msgstr "El paquet ja està instal·lat"
4990+
4991+#: ../aptdaemon/enums.py:295
4992+msgid "Package isn't installed"
4993+msgstr "El paquet no està instal·lat"
4994+
4995+#: ../aptdaemon/enums.py:296
4996+msgid "Failed to remove essential system package"
4997+msgstr "Ha fallat la supressió d'un paquet essencial del sistema"
4998+
4999+#: ../aptdaemon/enums.py:298
5000+msgid "Task cannot be monitored or controlled"
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches